Parcourir la source

修改泸州在工单归档时推送延期申请信息

tangjiang il y a 3 mois
Parent
commit
66f52c5a20

+ 13 - 3
src/Hotline.Application/Handlers/FlowEngine/WorkflowEndHandler.cs

@@ -50,7 +50,7 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
     private readonly ICalcExpireTime _expireTime;
     private readonly IRepository<OrderTerminate> _orderTerminateRepository;
 
-	public WorkflowEndHandler(
+    public WorkflowEndHandler(
         IMapper mapper,
         IKnowledgeDomainService knowledgeDomainService,
         IOrderDomainService orderDomainService,
@@ -106,8 +106,8 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
                 case WorkflowModuleConsts.KnowledgeUpdate://修改知识库
                 case WorkflowModuleConsts.KnowledgeDelete://删除知识库
                 case WorkflowModuleConsts.KnowledgeOffshelf: //下架知识库
-					//var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
-					var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
+                                                             //var knowledgeWork = await _knowledgeWorkFlowRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
+                    var knowledge = await _knowledgeRepository.Queryable().Where(x => x.Id == workflow.ExternalId).FirstAsync(cancellationToken);
                     knowledge.Flowed(workflow.FlowedUserIds, workflow.FlowedOrgIds, workflow.HandlerUsers, workflow.HandlerOrgs);
                     await _knowledgeRepository.UpdateAsync(knowledge, cancellationToken);
                     if (isReviewPass)
@@ -230,6 +230,16 @@ public class WorkflowEndHandler : INotificationHandler<EndWorkflowNotify>
 
                     //这里需要判断是否是警情退回
                     orderFlowDto.IsNonPoliceReturn = notification.Dto.External == null ? false : notification.Dto.External.IsPoliceReturn;
+
+                    //如果是泸州,这里需要查询是否有工单延期
+                    if (_appOptions.Value.IsLuZhou)
+                    {
+                        var orderDelay = await _orderDelayRepository.Queryable().Where(p => p.OrderId == order.Id && p.DelayState == EDelayState.Pass)
+                                .OrderByDescending(p => p.ApplyDelayTime)
+                                .FirstAsync();
+                        orderFlowDto.OrderSearchDelay = _mapper.Map<OrderSearchDelayDto>(orderDelay);
+                    }
+
                     await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderFiled, orderFlowDto, cancellationToken: cancellationToken);
                     await _publisher.PublishAsync(new SnapshotOrderFiledNotification(order.Id), PublishStrategy.ParallelWhenAll, cancellationToken);
                     await _orderDomainService.OrderAutomaticPublishAsync(order, cancellationToken);

+ 51 - 0
src/Hotline.Share/Dtos/Order/OrderFlowDto.cs

@@ -5,6 +5,7 @@ using System.Text;
 using System.Threading.Tasks;
 using Hotline.Share.Dtos.FlowEngine.Workflow;
 using Hotline.Share.Dtos.TrCallCenter;
+using Hotline.Share.Enums.Settings;
 
 namespace Hotline.Share.Dtos.Order
 {
@@ -39,5 +40,55 @@ namespace Hotline.Share.Dtos.Order
         /// 非警情退回
         /// </summary>
         public bool IsNonPoliceReturn { get; set; }
+
+        /// <summary>
+        /// 是否存在延期申请
+        /// </summary>
+        public OrderSearchDelayDto? OrderSearchDelay { get; set; }
+    }
+
+    public class OrderSearchDelayDto
+    {
+        public string OrderId { get; set; }
+
+        /// <summary>
+        /// 申请部门Code
+        /// </summary>
+        public string ApplyOrgCode { get; set; }
+
+        /// <summary>
+        /// 申请部门名称
+        /// </summary>
+        public string ApplyOrgName { get; set; }
+
+        /// <summary>
+        /// 申请人
+        /// </summary>
+        public string EmployeeId { get; set; }
+
+        /// <summary>
+        /// 申请人名称
+        /// </summary>
+        public string? EmployeeName { get; set; }
+
+        /// <summary>
+        /// 延期申请时限
+        /// </summary>
+        public int DelayNum { get; set; }
+
+        /// <summary>
+        /// 延期申请单位
+        /// </summary>
+        public ETimeType DelayUnit { get; set; }
+
+        /// <summary>
+        /// 延期申请理由
+        /// </summary>
+        public string DelayReason { get; set; }
+
+        /// <summary>
+        /// 延期申请时间
+        /// </summary>
+        public DateTime ApplyDelayTime { get; set; }
     }
 }

+ 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.114</Version>
+    <Version>1.0.115</Version>
   </PropertyGroup>
 
   <ItemGroup>