TANG JIANG 1 gadu atpakaļ
vecāks
revīzija
563ccfdff8

+ 47 - 8
src/DataSharing.Application/Receivers/ProvinceReceiver.cs

@@ -420,10 +420,12 @@ namespace DataSharing.Application.Receivers
             //推送当前办理信息
             await SubmitCaseProcessFlowAsync(new OrderFlowDto { Order = pushdto.Order, WorkflowTrace = pushdto.WorkflowTrace, ExpiredTimeChanged = false }, cancellationToken);
 
-            //本地保存工单基础数据
-            if (!await _dsOrderRepository.AnyAsync(p => p.OrderId == dto.Id, cancellationToken))
+            var dataOrder = await _dsOrderRepository.GetAsync(p => p.OrderId == dto.Id, cancellationToken);
+
+            //本地保存工单基础数据---存在修改,不存在新增
+            if (dataOrder == null)
             {
-                DsOrder dataOrder = new()
+                dataOrder = new()
                 {
                     OrderId = dto.Id,
                     OrderNo = dto.No,
@@ -454,6 +456,34 @@ namespace DataSharing.Application.Receivers
 
                 await _dsOrderRepository.AddAsync(dataOrder, cancellationToken);
             }
+            else
+            {
+                dataOrder.ProvinceNo = dto.ProvinceNo;
+                dataOrder.WorkflowId = dto.WorkflowId;
+                dataOrder.Password = dto.Password;
+                dataOrder.Title = dto.Title;
+                dataOrder.FromName = dto.FromName;
+                dataOrder.Contact = dto.Contact;
+                dataOrder.Content = dto.Content;
+                dataOrder.CaseDate = Convert.ToDateTime(dto.CreationTime);
+                dataOrder.Source = dto.Source.ToString();
+                dataOrder.CaseSource = dto.SourceChannel;
+                dataOrder.CaseSourceCode = dto.SourceChannelCode;
+                dataOrder.HotspotId = dto.HotspotId;
+                dataOrder.HotspotName = dto.HotspotName;
+                dataOrder.HotspotSpliceName = dto.HotspotSpliceName;
+                dataOrder.ExpiredTime = dto.ExpiredTime;
+                dataOrder.CaseType = dto.AcceptType;
+                dataOrder.CaseTypeCode = dto.AcceptTypeCode;
+                dataOrder.AllDuration = 0;
+                dataOrder.IsProvince = dto.IsProvince;
+                dataOrder.HandleState = "办理中";
+                dataOrder.StartTime = dto.StartTime;
+                dataOrder.CallId = dto.CallId;
+                dataOrder.FileJson = _mapper.Map<List<FileJson>>(dto.FileJson);
+
+                await _dsOrderRepository.UpdateAsync(dataOrder, cancellationToken);
+            }
         }
 
         /// <summary>
@@ -647,14 +677,11 @@ namespace DataSharing.Application.Receivers
             if (dataOrder != null)
             {
                 dataOrder.HandleState = "办理完成";
-                //dataOrder.ActualHandleOrgName = dto.WorkflowTrace.HandlerOrgName;
-                //dataOrder.ActualHandleOrgCode = dto.WorkflowTrace.HandlerOrgAreaCode;
-                //dataOrder.ActualOpinion = string.IsNullOrEmpty(dto.WorkflowTrace.Opinion) == true ? dto.Order.ActualOpinion : dto.WorkflowTrace.Opinion;
-                //dataOrder.ActualHandleTime = dto.WorkflowTrace.HandleTime;
                 dataOrder.ActualHandleOrgName = dto.Order.ActualHandleOrgName;
                 dataOrder.ActualHandleOrgCode = dto.Order.ActualHandleOrgCode;
                 dataOrder.ActualOpinion = string.IsNullOrEmpty(dto.Order.ActualOpinion) == false ? dto.Order.ActualOpinion : dto.WorkflowTrace.Opinion;
                 dataOrder.ActualHandleTime = dto.Order.FiledTime;
+                dataOrder.AllDuration = dto.Order.AllDuration;
                 await _dsOrderRepository.UpdateAsync(dataOrder, cancellationToken);
             }
             else
@@ -681,7 +708,7 @@ namespace DataSharing.Application.Receivers
                     ExpiredTime = order.ExpiredTime,
                     CaseType = order.AcceptType,
                     CaseTypeCode = order.AcceptTypeCode,
-                    AllDuration = 0,
+                    AllDuration = dto.Order.AllDuration,
                     IsProvince = order.IsProvince,
                     HandleState = "办理完成",
                     ActualHandleOrgName = order.ActualHandleOrgName,
@@ -984,6 +1011,18 @@ namespace DataSharing.Application.Receivers
             if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight || dto.Order.AreaCode.Contains("519"))
                 dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
+            //修改工单基础数据
+            var dataOrder = await _dsOrderRepository.GetAsync(p => p.OrderId == dto.Order.Id, cancellationToken);
+            if (dataOrder != null)
+            {
+                dataOrder.IsPublish = dto.PublishState == true ? EDsPublishState.Open : EDsPublishState.NotPublic;
+                dataOrder.PublishDate = dto.CreationTime;
+                dataOrder.ArrangeTitle = dto.ArrangeTitle;
+                dataOrder.ArrangeContent = dto.ArrangeContent;
+                dataOrder.ArrangeOpinion = dto.ArrangeOpinion;
+                await _dsOrderRepository.UpdateAsync(dataOrder, cancellationToken);
+            }
+
             //政民互动提交公开数据验证
             if (dto.Order.SourceChannelCode == "SZMHD" && dto.ProPublishState == true)
             {