移动系统liao
2025-03-07 8c92db325f7c801d2df095763a17673fa6c92085
cylsg/cylsg.Application/CyOS/CyOSSettingController.cs
@@ -1,6 +1,7 @@
using cylsg.Model.ECTEModel;
using ECTESTOA;
using EzCoreNet.Redis;
using Models;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -12,14 +13,16 @@
    /// <summary>
    /// 川印通用信息获取
    /// </summary>
    public class CYOSSettingController: IDynamicApiController
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CYOSSettingController : IDynamicApiController
    {
        private readonly ISqlSugarClient _client;
        private readonly IOAServices _oAServices;
        private readonly IEzCoreNetRedisService _eZCoreNetRedisService;
        public CYOSSettingController( ISqlSugarClient client,IOAServices oAServices,IEzCoreNetRedisService netRedisService )
        public CYOSSettingController(ISqlSugarClient client, IOAServices oAServices, IEzCoreNetRedisService netRedisService)
        {
            _client = client.AsTenant().GetConnection("ECTESTOADB");
            _oAServices = oAServices;
@@ -31,13 +34,13 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task< List<OaDepartment>> GetDepartLstt()
        public async Task<List<OaDepartment>> GetDepartLstt()
        {
            return await _client.Queryable<OaDepartment>().Where(x=>x.Status== "启用"&&x.FirmId== _oAServices.firmId).Select(x=>new OaDepartment
            return await _client.Queryable<OaDepartment>().Where(x => x.Status == "启用" && x.FirmId == _oAServices.firmId).Select(x => new OaDepartment
            {
                  Name=x.Name,
                    Keyid=x.Keyid,
                     Remark=x.Remark,
                Name = x.Name,
                Keyid = x.Keyid,
                Remark = x.Remark,
            }).WithCache(3600).ToListAsync();
        }
        /// <summary>
@@ -45,9 +48,10 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<List<OaSubjectSet>> getKeMuList()
        {
            return await _client.Queryable<OaSubjectSet>().Where(x => x.Status == true && x.FirmId == _oAServices.firmId&& x.SubjectType=="贷").Select(x => new OaSubjectSet
            return await _client.Queryable<OaSubjectSet>().Where(x => x.Status == true && x.FirmId == _oAServices.firmId && x.SubjectType == "贷").Select(x => new OaSubjectSet
            {
                SubjectName = x.SubjectName,
                Keyid = x.Keyid,
@@ -59,9 +63,86 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public  string GetShowID()
        [AllowAnonymous]
        public string GetShowID()
        {
          return   _eZCoreNetRedisService.GetYYYMMddAnd4sn();
            return _eZCoreNetRedisService.GetYYYMMddAnd4sn();
        }
    }
        /// <summary>
        /// 获取客户列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        [AllowAnonymous]
        public async Task<object> GeCorporateClients()
        {
             return  await _client.Queryable<OA_CorporateClients>()
                .LeftJoin<OA_CustomerCommunications>((Co,Cu)=>Co.Keyid==Cu.Keyid)
                .Where((Co, Cu) => Co.Shifouwanjie != 1 && Co.FirmId == _oAServices.firmId).Select((Co, Cu) => new
            {
                 Co.Keyid,
                    Co.CompanyName,
                  adder=Cu.Province+Cu.City+Cu.County+Cu.DetailedAddress,
                  Cu.CompanyPhone,
                  Cu.BusinessManagers,
            }).MergeTable().OrderBy(Co => Co.CompanyName).WithCache(1800).ToListAsync();
        }
        /// <summary>
        /// 获取司机列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<List<OaStaff>> Getdrivers()
        {
            return await _client.Queryable<OaStaff>().Where(x => x.Status == "在职" && x.FirmId == _oAServices.firmId && x.BF_IsDriver).Select(x => new OaStaff
            {
                Name = x.Name,
                MemberId = x.MemberId,
                Keyid = x.Keyid,
            }).WithCache(1800).ToListAsync();
        }
        /// <summary>
        /// 获取7天内司机列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        [AllowAnonymous]
        public async Task<List<OaStaff>> GetDriversOfWithin7days()
        {
            var list = await _client.Queryable<OA_DeliverPlan>().Where(x => SqlFunc.ToDate(x.DeliverTime) < DateTime.Now.AddDays(8).Date && SqlFunc.ToDate(x.DeliverTime) >= DateTime.Now.Date).GroupBy(x => x.DriverId).Select(x => x.DriverId).ToListAsync();
            return await _client.Queryable<OaStaff>().In(list).Where(x => x.Status == "在职" && x.FirmId == _oAServices.firmId && x.BF_IsDriver).Select(x => new OaStaff
            {
                Name = x.Name,
                MemberId = x.MemberId,
                Keyid = x.Keyid,
            }).WithCache(1800).ToListAsync();
            ////      return await _client.Queryable<OA_DeliverPlan>()
            ////.LeftJoin<OaStaff>((dp, os) => dp.DriverId == os.Keyid)
            ////.Where((dp, os) => SqlFunc.ToDate(dp.DeliverTime) < DateTime.Now.AddDays(8).Date
            ////    && SqlFunc.ToDate(dp.DeliverTime) >= DateTime.Now.Date
            ////    && os.Status == "在职"
            ////    && os.FirmId == _oAServices.firmId
            ////    )
            ////.GroupBy((dp, os) => dp.DriverId)
            ////.Select((dp, os) => new OaStaff
            ////{
            ////    Name = SqlFunc.AggregateMax(os.Name),
            ////    MemberId = SqlFunc.AggregateMax(os.MemberId),
            ////    Keyid = SqlFunc.AggregateMax(os.Keyid),
            ////})
            ////.WithCache(1800)
            ////.ToListAsync();
             }
        }
}