Jason 1 年之前
父节点
当前提交
60e52d6777

+ 2 - 2
src/Hotline.Api/Controllers/FileController.cs

@@ -22,13 +22,13 @@ namespace Hotline.Api.Controllers
 	{
 		private readonly ISessionContext _sessionContext;
 		private readonly IMapper _mapper;
-		private readonly ISysDicDataCacheManager _sysDicDataCacheManager;
+		private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
 		private readonly IRepository<File.File> _fileRepository;
 
 		public FileController(
 			ISessionContext sessionContext,
 			IMapper mapper,
-			ISysDicDataCacheManager sysDicDataCacheManager,
+			ISystemDicDataCacheManager sysDicDataCacheManager,
 			IRepository<File.File> fileRepository
 			)
 		{

+ 2 - 2
src/Hotline.Api/Controllers/HotSpotController.cs

@@ -26,11 +26,11 @@ namespace Hotline.Api.Controllers
         private readonly IMapper _mapper;
         private readonly ITimeLimitDomainService _timeLimitDomainService;
         private readonly ITimeLimitRepository _timeLimitRepository;
-        private readonly ISysDicDataCacheManager _sysDicDataCacheManager;
+        private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
         private readonly ISystemDomainService _systemDomainService;
 
         public HotspotController(IRepository<Hotspot> hotspotTypeRepository,
-            IMapper mapper, ITimeLimitDomainService timeLimitDomainService, ITimeLimitRepository timeLimitRepository,ISysDicDataCacheManager sysDicDataCacheManager,
+            IMapper mapper, ITimeLimitDomainService timeLimitDomainService, ITimeLimitRepository timeLimitRepository,ISystemDicDataCacheManager sysDicDataCacheManager,
             ISystemDomainService systemDomainService)
         {
             _hotspotTypeRepository = hotspotTypeRepository;

+ 12 - 3
src/Hotline.Api/Controllers/OrderController.cs

@@ -49,7 +49,7 @@ public class OrderController : BaseController
     private readonly ISystemDomainService _systemDomainService;
     private readonly ISystemOrganizeRepository _organizeRepository;
     private readonly IDefinitionDomainService _definitionDomainService;
-    private readonly ISysDicDataCacheManager _sysDicDataCacheManager;
+    private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
     private readonly ISessionContext _sessionContext;
     private readonly IMapper _mapper;
     private readonly IMediator _mediator;
@@ -78,7 +78,7 @@ public class OrderController : BaseController
         ISystemDomainService systemDomainService,
         ISystemOrganizeRepository organizeRepository,
         IDefinitionDomainService definitionDomainService,
-        ISysDicDataCacheManager sysDicDataCacheManager,
+        ISystemDicDataCacheManager sysDicDataCacheManager,
         ISessionContext sessionContext,
         IMapper mapper,
         IMediator mediator,
@@ -464,7 +464,16 @@ public class OrderController : BaseController
             {
                 visit.Order.Visited(first.OrgProcessingResults.Id, first.OrgProcessingResults.Name);
             }
-            _mapper.Map(dto.VisitDetails,visit.OrderVisitDetails);
+            //_mapper.Map(dto.VisitDetails,visit.OrderVisitDetails);
+            for (int i = 0; i < visit.OrderVisitDetails.Count; i++)
+            {
+                var detail = visit.OrderVisitDetails[i];
+                var detaildto = dto.VisitDetails.FirstOrDefault(x => x.Id == detail.Id);
+                if (detaildto!=null)
+                {
+                    _mapper.Map(detaildto, visit.OrderVisitDetails[i]);
+                }
+            }
             await _orderVisitRepository.UpdateAsync(visit,HttpContext.RequestAborted);
             await _orderVisitedDetailRepository.UpdateRangeAsync(visit.OrderVisitDetails, HttpContext.RequestAborted);
             await _orderRepository.UpdateAsync(visit.Order, HttpContext.RequestAborted);

+ 11 - 11
src/Hotline.Api/Controllers/SysController.cs

@@ -24,8 +24,8 @@ namespace Hotline.Api.Controllers
         private readonly IMapper _mapper;
         private readonly IRepository<SystemSetting> _systemSettingsRepository;
         private readonly ISystemMenuRepository _systemMenuRepository;
-        private readonly IRepository<SysDicType> _sysDicTypeRepository;
-        private readonly IRepository<SysDicData> _sysDicDataRepository;
+        private readonly IRepository<SystemDicType> _sysDicTypeRepository;
+        private readonly IRepository<SystemDicData> _sysDicDataRepository;
         private readonly ISystemAreaDomainService _systemAreaDomainService;
         private readonly IRepository<SystemArea> _systemAreaRepository;
 
@@ -42,8 +42,8 @@ namespace Hotline.Api.Controllers
             IMapper mapper,
             IRepository<SystemSetting> systemSettingsRepository,
             ISystemMenuRepository systemMenuRepository,
-            IRepository<SysDicType> sysDicTypeRepository,
-            IRepository<SysDicData> sysDicDataRepository,
+            IRepository<SystemDicType> sysDicTypeRepository,
+            IRepository<SystemDicData> sysDicDataRepository,
             ISystemAreaDomainService systemAreaDomainService,
             IRepository<SystemArea> systemAreaRepository
             )
@@ -225,7 +225,7 @@ namespace Hotline.Api.Controllers
         /// <returns></returns>
         [Permission(EPermission.GetSysDicType)]
         [HttpPost("dictype-list")]
-        public async Task<List<SysDicType>> GetSysDicType()
+        public async Task<List<SystemDicType>> GetSysDicType()
         {
             return await _sysDicTypeRepository.Queryable().ToListAsync();
         }
@@ -237,9 +237,9 @@ namespace Hotline.Api.Controllers
         /// <returns></returns>
         [Permission(EPermission.GetSysDicData)]
         [HttpGet("dictdata-type")]
-        public async Task<List<SysDicData>> GetSysDicData([FromQuery] GetSysDicDataDto dto)
+        public async Task<List<SystemDicData>> GetSysDicData([FromQuery] GetSysDicDataDto dto)
         {
-            return await _sysDicDataRepository.Queryable().Where(x => x.DicTypeId == dto.typeid)/*.WhereIF(!string.IsNullOrEmpty(dto.datavalue),x=>x.DicDataValue.Contains(dto.datavalue))*/.ToTreeAsync(x=>x.Children,x=>x.ParentId,"");
+            return await _sysDicDataRepository.Queryable().Where(x => x.DicTypeId == dto.typeid).OrderBy(x=>x.Sort)/*.WhereIF(!string.IsNullOrEmpty(dto.datavalue),x=>x.DicDataValue.Contains(dto.datavalue))*/.ToTreeAsync(x=>x.Children,x=>x.ParentId,"");
             //return await _sysDicDataRepository.Queryable().Where(x => x.DicTypeId == dto.typeid).WhereIF(!string.IsNullOrEmpty(dto.datavalue), x => x.DicDataValue.Contains(dto.datavalue)).WhereIF(!string.IsNullOrEmpty(dto.ParentId), x => x.ParentId == dto.ParentId).ToListAsync();
         }
 
@@ -249,9 +249,9 @@ namespace Hotline.Api.Controllers
         /// <param name="code"></param>
         /// <returns></returns>
         [HttpGet("dictdata-code/{code}")]
-        public async Task<List<SysDicData>> GetSysDicDataByCode(string code)
+        public async Task<List<SystemDicData>> GetSysDicDataByCode(string code)
         {
-            return await _sysDicDataRepository.Queryable().Where(x => x.DicTypeCode == code).ToListAsync();
+            return await _sysDicDataRepository.Queryable().Where(x => x.DicTypeCode == code).OrderBy(x=>x.Sort).ToListAsync();
         }
          
         /// <summary>
@@ -261,7 +261,7 @@ namespace Hotline.Api.Controllers
         /// <returns></returns>
         [Permission(EPermission.SysDicDataModel)]
         [HttpGet("dicdata/{id}")]
-        public async Task<SysDicData> SysDicDataModel(string id)
+        public async Task<SystemDicData> SysDicDataModel(string id)
         {
             var dicData = await _sysDicDataRepository.GetAsync(id, HttpContext.RequestAborted);
             if (dicData is null)
@@ -281,7 +281,7 @@ namespace Hotline.Api.Controllers
             var dicType = await _sysDicTypeRepository.GetAsync(dto.DicTypeId, HttpContext.RequestAborted);
             if (dicType is null)
                 throw UserFriendlyException.SameMessage("无效字典类型");
-            var dicData = _mapper.Map<SysDicData>(dto);
+            var dicData = _mapper.Map<SystemDicData>(dto);
             dicData.DicTypeCode = dicType.DicTypeCode;
             await _sysDicDataRepository.AddAsync(dicData);
         }

+ 6 - 2
src/Hotline.Api/Controllers/TestController.cs

@@ -61,6 +61,8 @@ public class TestController : BaseController
     private readonly IRepositoryTextSearch<OrderTs> _repositoryts;
     private readonly IGroupManager _goupManager;
 
+    private readonly ITimeLimitDomainService _timeLimitDomainService;
+
     //private readonly ITypedCache<List<User>> _cache;
     //private readonly ICacheManager<User> _cache;
 
@@ -86,7 +88,8 @@ public class TestController : BaseController
         IWexClient wexClient,
         ISugarUnitOfWork<WexDbContext> uowWex,
         IRepository<OrderUrge> orderUrgeRepository,
-        IRepositoryTextSearch<OrderTs> repositoryts)
+        IRepositoryTextSearch<OrderTs> repositoryts,
+        ITimeLimitDomainService timeLimitDomainService)
     {
         _logger = logger;
         _authorizeGenerator = authorizeGenerator;
@@ -106,6 +109,7 @@ public class TestController : BaseController
         _uowWex = uowWex;
         _orderUrgeRepository = orderUrgeRepository;
         _repositoryts = repositoryts;
+        _timeLimitDomainService = timeLimitDomainService;
     }
 
     [HttpGet("time")]
@@ -126,7 +130,7 @@ public class TestController : BaseController
         //var rsp = await _wexClient.QueryTelsAsync(new QueryTelRequest {  }, HttpContext.RequestAborted);
 
         //int a = _timeLimitDomainService.CalcWorkTime(DateTime.Now, DateTime.Parse("2023-09-11 16:21:00"));
-
+        int m = _timeLimitDomainService.CalcWorkTime(DateTime.Parse("2023-09-19 12:00:00"), DateTime.Parse("2023-09-20 10:00:00"), true);
 
         return OpenResponse.Ok(DateTime.Now.ToString("F"));
 

+ 2 - 2
src/Hotline.Application/CallCenter/Calls/CallRecordManager.cs

@@ -182,9 +182,9 @@
 //                        }
 //                    }
 //                    //推省上
-//                    if (list.Count>0)
+//                    if (list.Count > 0)
 //                    {
-//                        await _capPublisher.PublishAsync(EventNames.HotlineCallConnectWithOrder, list);
+//                        await _capPublisher.PublishAsync(EventNames.HotlineCallBye, list);
 //                    }
 //                }
 //                else

+ 2 - 0
src/Hotline.Share/Dtos/Dic/DicDto.cs

@@ -14,6 +14,8 @@ namespace Hotline.Share.Dtos.Dic
         public string DicDataValue { get; set; }
 
         public string? ParentId { get; set; }
+
+        public int Sort { get; set; }
     }
     public record UpdateDicDataDto: AddDicDataDto
     {

+ 1 - 1
src/Hotline.Share/Hotline.Share.csproj

@@ -7,7 +7,7 @@
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
     <NoWarn>$(NoWarn);1591;8618;</NoWarn>
     <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
-    <Version>1.0.17</Version>
+    <Version>1.0.18</Version>
   </PropertyGroup>
 
   <ItemGroup>

+ 2 - 2
src/Hotline/Caching/Interfaces/ISysDicDataCacheManager.cs

@@ -7,8 +7,8 @@ using System.Threading.Tasks;
 
 namespace Hotline.Caching.Interfaces
 {
-    public interface ISysDicDataCacheManager
+    public interface ISystemDicDataCacheManager
     {
-        IReadOnlyList<SysDicData> GetSysDicDataCache(string code);
+        IReadOnlyList<SystemDicData> GetSysDicDataCache(string code);
     }
 }

+ 5 - 5
src/Hotline/Caching/Services/SysDicDataCacheManager.cs

@@ -6,18 +6,18 @@ using XF.Domain.Repository;
 
 namespace Hotline.Caching.Services
 {
-    public class SysDicDataCacheManager : ISysDicDataCacheManager, IScopeDependency
+    public class SysDicDataCacheManager : ISystemDicDataCacheManager, IScopeDependency
     {
-        private readonly IRepository<SysDicData> _sysDicDataRepository;
-        private readonly ITypedCache<IReadOnlyList<SysDicData>> _cacheSysDicData;
+        private readonly IRepository<SystemDicData> _sysDicDataRepository;
+        private readonly ITypedCache<IReadOnlyList<SystemDicData>> _cacheSysDicData;
 
-        public SysDicDataCacheManager(IRepository<SysDicData> sysDicDataRepository, ITypedCache<IReadOnlyList<SysDicData>> cacheSysDicData)
+        public SysDicDataCacheManager(IRepository<SystemDicData> sysDicDataRepository, ITypedCache<IReadOnlyList<SystemDicData>> cacheSysDicData)
         {
             _sysDicDataRepository = sysDicDataRepository;
             _cacheSysDicData = cacheSysDicData;
         }
 
-        public IReadOnlyList<SysDicData> GetSysDicDataCache(string code)
+        public IReadOnlyList<SystemDicData> GetSysDicDataCache(string code)
         {
             var sysDicDataList = _cacheSysDicData.GetOrSet(code, k =>
             {

+ 1 - 1
src/Hotline/Settings/ISystemDomainService.cs

@@ -16,7 +16,7 @@ namespace Hotline.Settings
         Task<IEnumerable<KeyValuePair<int, string>>> QueryOrgLevelOptionsAsync(CancellationToken cancellationToken);
         Task<IEnumerable<KeyValuePair<string, string>>> QueryOrgLevelStringOptionsAsync(CancellationToken cancellationToken);
 
-        Task<IReadOnlyList<SysDicData>> GetSysDicDataByCodeAsync(string code, CancellationToken cancellationToken = default);
+        Task<IReadOnlyList<SystemDicData>> GetSysDicDataByCodeAsync(string code, CancellationToken cancellationToken = default);
 
         /// <summary>
         /// 生成新的部门编码

+ 7 - 2
src/Hotline/Settings/SysDicData.cs → src/Hotline/Settings/SystemDicData.cs

@@ -5,7 +5,7 @@ using XF.Domain.Repository;
 namespace Hotline.Settings
 {
     [Description("字典表")]
-    public class SysDicData: CreationEntity
+    public class SystemDicData: CreationEntity
     {
         /// <summary>
         /// 字典类型Id
@@ -27,6 +27,11 @@ namespace Hotline.Settings
         /// </summary>
         public string DicDataValue { get; set; }
 
+        /// <summary>
+        /// 排序
+        /// </summary>
+        [SugarColumn(DefaultValue = "0")]
+        public int Sort { get; set; }
         /// <summary>
         /// 上级ID
         /// </summary>
@@ -34,6 +39,6 @@ namespace Hotline.Settings
         public string? ParentId { get; set; }
 
         [SugarColumn(IsIgnore = true)]
-        public List<SysDicData> Children { get; set; }
+        public List<SystemDicData> Children { get; set; }
     }
 }

+ 3 - 3
src/Hotline/Settings/SysDicType.cs → src/Hotline/Settings/SystemDicType.cs

@@ -5,7 +5,7 @@ using XF.Domain.Repository;
 namespace Hotline.Settings
 {
     [Description("字典类型表")]
-    public class SysDicType: CreationEntity
+    public class SystemDicType: CreationEntity
     {
         /// <summary>
         /// 字典类型名称
@@ -18,7 +18,7 @@ namespace Hotline.Settings
         public string DicTypeCode { get; set; }
 
 
-        [Navigate(NavigateType.OneToMany, nameof(SysDicData.DicTypeId))]
-        public List<SysDicData> SysDicDatas { get; set; }
+        [Navigate(NavigateType.OneToMany, nameof(SystemDicData.DicTypeId))]
+        public List<SystemDicData> SysDicDatas { get; set; }
     }
 }

+ 3 - 3
src/Hotline/Settings/SystemDomainService.cs

@@ -7,11 +7,11 @@ namespace Hotline.Settings;
 public class SystemDomainService : ISystemDomainService, IScopeDependency
 {
     private readonly ISystemOrganizeRepository _organizeRepository;
-    private readonly IRepository<SysDicData> _sysDicDataRepository;
+    private readonly IRepository<SystemDicData> _sysDicDataRepository;
 
     public SystemDomainService(
         ISystemOrganizeRepository organizeRepository,
-        IRepository<SysDicData> sysDicDataRepository)
+        IRepository<SystemDicData> sysDicDataRepository)
     {
         _organizeRepository = organizeRepository;
         _sysDicDataRepository = sysDicDataRepository;
@@ -37,7 +37,7 @@ public class SystemDomainService : ISystemDomainService, IScopeDependency
         return rsp.Select(d => new KeyValuePair<string, string>(d.Key.ToString(), d.Value));
     }
 
-    public async Task<IReadOnlyList<SysDicData>> GetSysDicDataByCodeAsync(string code, CancellationToken cancellationToken = default)
+    public async Task<IReadOnlyList<SystemDicData>> GetSysDicDataByCodeAsync(string code, CancellationToken cancellationToken = default)
     {
         return await _sysDicDataRepository.Queryable().Where(x => x.DicTypeCode == code).ToTreeAsync(x => x.Children, x => x.ParentId, "");
     }

+ 1 - 25
src/Hotline/Settings/TimeLimits/TimeLimitDomainService.cs

@@ -137,31 +137,7 @@ namespace Hotline.Settings.TimeLimits
                     }
 
                     int minutes = 0;
-                    while (true)
-                    {
-                        if (IsWorkDay(beginTime))
-                        {
-                            if(endTime.Date == WorkEndTime.Date)
-                            {
-                                if (endTime>WorkEndTime)
-                                {
-                                    endTime = WorkEndTime;
-                                }
-                                TimeSpan sp = new TimeSpan(endTime.Ticks - WorkEndTime.Ticks);
-                                minutes += (int)sp.TotalMinutes;
-                                return minutes;
-                            }
-                            else
-                            {
-
-                            }
-                        }
-                        else
-                        {
-                            beginTime = beginTime.AddDays(1);
-                            WorkEndTime = WorkEndTime.AddDays(1);
-                        }
-                    }
+                   
                 }
                 return 0;
             }