TANG JIANG 1 年間 前
コミット
ec416a2197

+ 4 - 5
src/DataSharing.Application/Mappers/MapperConfigs.cs

@@ -76,9 +76,8 @@ namespace DataSharing.Application.Mappers
             .Map(d => d.ProcessTime, x => x.WorkflowTrace.HandleTime)
             .Map(d => d.ProcessName, x => x.WorkflowTrace.HandlerName)
             .Map(d => d.ProcessNote, x => string.IsNullOrEmpty(x.WorkflowTrace.Opinion) == false ? x.WorkflowTrace.Opinion : x.Order.ActualOpinion)
-            .Map(d => d.EndAreaCode, x => string.IsNullOrEmpty(x.WorkflowTrace.HandlerOrgAreaCode) == false ? x.WorkflowTrace.HandlerOrgAreaCode : x.Order.AreaCode.Substring(0, 6))
+            .Map(d => d.EndAreaCode, x => x.WorkflowTrace.HandlerOrgAreaCode)
             .Map(d => d.EndAreaName, x => string.IsNullOrEmpty(x.WorkflowTrace.HandlerOrgAreaName) == false ? x.WorkflowTrace.HandlerOrgAreaName : "宜宾市")// x.WorkflowTrace.HandlerOrgAreaName
-
             .Map(d => d.CaseId, x => x.WorkflowTrace.Id)
             .Map(d => d.AreaCode, x => x.Order.AreaCode.Length > 6 ? x.Order.AreaCode.Substring(0, 6) : x.Order.AreaCode)
             .Map(d => d.CliengGuid, x => x.WorkflowTrace.Id)
@@ -91,7 +90,7 @@ namespace DataSharing.Application.Mappers
             .Map(d => d.ProcessTime, x => x.WorkflowTrace.HandleTime)
             .Map(d => d.ProcessName, x => x.WorkflowTrace.HandlerName)
             .Map(d => d.ProcessNote, x => string.IsNullOrEmpty(x.WorkflowTrace.Opinion) == false ? x.WorkflowTrace.Opinion : x.Order.ActualOpinion)
-            .Map(d => d.EndAreaCode, x => string.IsNullOrEmpty(x.WorkflowTrace.HandlerOrgAreaCode) == false ? x.WorkflowTrace.HandlerOrgAreaCode : x.Order.AreaCode.Substring(0, 6))
+            .Map(d => d.EndAreaCode, x => x.WorkflowTrace.HandlerOrgAreaCode)
             .Map(d => d.EndAreaName, x => string.IsNullOrEmpty(x.WorkflowTrace.HandlerOrgAreaName) == false ? x.WorkflowTrace.HandlerOrgAreaName : "宜宾市")// x.WorkflowTrace.HandlerOrgAreaName
            .Map(d => d.TrowGuid, x => x.WorkflowTrace.Id)
            .Map(d => d.AreaCode, x => x.Order.AreaCode.Length > 6 ? x.Order.AreaCode.Substring(0, 6) : x.Order.AreaCode)
@@ -159,7 +158,7 @@ namespace DataSharing.Application.Mappers
            .Map(d => d.SendTime, x => x.Order.ActualHandleStepCreateTime)
            .Map(d => d.FdBack, x => x.Order.ActualOpinion)
            .Map(d => d.AreaCode, x => x.Order.AreaCode.Length > 6 ? x.Order.AreaCode.Substring(0, 6) : x.Order.AreaCode)
-           .Map(d => d.EndAreaCode, x => string.IsNullOrEmpty(x.Order.ActualHandleOrgAreaCode) == false ? x.Order.ActualHandleOrgAreaCode : x.Order.AreaCode.Substring(0, 6))
+           .Map(d => d.EndAreaCode, x => x.Order.ActualHandleOrgAreaCode)
            .Map(d => d.EndAreaName, x => string.IsNullOrEmpty(x.Order.ActualHandleOrgAreaName) == false ? x.Order.ActualHandleOrgAreaName : "宜宾市")
            .Map(d => d.SignTimeBf, x => x.Order.ExpiredTime)
            .Map(d => d.SignTime, x => x.Order.ActualHandleStepAcceptTime)
@@ -180,7 +179,7 @@ namespace DataSharing.Application.Mappers
            .Map(d => d.SendTime, x => x.ActualHandleStepCreateTime)//CenterToOrgTime
            .Map(d => d.FdBack, x => x.ActualOpinion)
            .Map(d => d.AreaCode, x => x.AreaCode.Length > 6 ? x.AreaCode.Substring(0, 6) : x.AreaCode)
-           .Map(d => d.EndAreaCode, x => string.IsNullOrEmpty(x.ActualHandleOrgAreaCode) == false ? x.ActualHandleOrgAreaCode : x.AreaCode.Substring(0, 6))
+           .Map(d => d.EndAreaCode, x => x.ActualHandleOrgAreaCode)
            .Map(d => d.EndAreaName, x => string.IsNullOrEmpty(x.ActualHandleOrgAreaName) == false ? x.ActualHandleOrgAreaName : "宜宾市")
            .Map(d => d.SignTime, x => x.ActualHandleStepAcceptTime)
            .Map(d => d.FdBackTime, x => x.ActualHandleTime)

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

@@ -126,7 +126,7 @@ namespace DataSharing.Application.Receivers
 
                 foreach (var dto in dtos.SendDatas)
                 {
-                    if (string.IsNullOrEmpty(dto.Order.AreaCode))
+                    if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight)
                         dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
                     //处理110退回事件
@@ -205,7 +205,7 @@ namespace DataSharing.Application.Receivers
             //工单是省上派下来的,才能进行督办回复
             if (dto.Order.Source == ESource.ProvinceStraight)
             {
-                if (string.IsNullOrEmpty(dto.Order.AreaCode))
+                if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight)
                     dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
                 var validator = new SendSuperviseProcessInfoValidator();
@@ -241,7 +241,7 @@ namespace DataSharing.Application.Receivers
             //工单是省上派下来的,才能进行督办回复
             if (dto.Order.Source == ESource.ProvinceStraight)
             {
-                if (string.IsNullOrEmpty(dto.Order.AreaCode))
+                if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight)
                     dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
                 var validator = new SendSuperviseResultInfoValidator();
@@ -276,7 +276,7 @@ namespace DataSharing.Application.Receivers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderScreenApply)]
         public async Task ScreenCaseInfoSendAsync(PublishScreenDto dto, CancellationToken cancellationToken)
         {
-            if (string.IsNullOrEmpty(dto.Order.AreaCode))
+            if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight)
                 dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
             //如果是省上派下来的工单,才能调发起甄别的接口
@@ -319,7 +319,7 @@ namespace DataSharing.Application.Receivers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderApplyDelay)]
         public async Task DelayCaseInfoSendAsync(PublishOrderDelayDto dto, CancellationToken cancellationToken)
         {
-            if (string.IsNullOrEmpty(dto.Order.AreaCode))
+            if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight)
                 dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
             var validator = new DelayCaseInfoSendInfoValidator();
@@ -495,9 +495,16 @@ namespace DataSharing.Application.Receivers
             if (string.IsNullOrEmpty(dto.Order.AreaCode))
                 dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
+            if (string.IsNullOrEmpty(dto.WorkflowTrace.HandlerOrgAreaCode))
+            {
+                dto.WorkflowTrace.HandlerOrgAreaCode = dto.Order.AreaCode;
+                if (dto.WorkflowTrace.HandlerOrgAreaCode.Length > 6)
+                    dto.WorkflowTrace.HandlerOrgAreaCode = dto.WorkflowTrace.HandlerOrgAreaCode.Substring(0, 6);
+            }
+
             await SubmitCaseProcessFlowAsync(dto, cancellationToken);
             //期满时间变更或者办理节点为话务部,重新推送数据
-            if (dto.ExpiredTimeChanged || dto.Order.ActualHandleStepName == "话务部")
+            if ((dto.ExpiredTimeChanged || dto.Order.ActualHandleStepName == "话务部") && !dto.Order.IsProvince)
             {
                 var submitCaseInfo = InitDataAsync(dto.Order);
                 var validator = new SubmitCaseInfoValidator();
@@ -556,6 +563,13 @@ namespace DataSharing.Application.Receivers
             if (string.IsNullOrEmpty(dto.Order.AreaCode))
                 dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
+            if (string.IsNullOrEmpty(dto.Order.ActualHandleOrgAreaCode))
+            {
+                dto.Order.ActualHandleOrgAreaCode = dto.Order.AreaCode;
+                if (dto.Order.ActualHandleOrgAreaCode.Length > 6)
+                    dto.Order.ActualHandleOrgAreaCode = dto.Order.ActualHandleOrgAreaCode.Substring(0, 6);
+            }
+
             //先看看需要处理工单数据不
             SubmitCaseInfo data = new();
             if (dto != null && dto.Order != null && !dto.Order.IsProvince)
@@ -680,7 +694,7 @@ namespace DataSharing.Application.Receivers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineCallBye)]
         public async Task SubmitCaseRecordAsync(PublishCallRecrodDto dto, CancellationToken cancellationToken)
         {
-          
+
             //验证是否需要推送未接数据
             if (dto != null && dto.TrCallRecordDto != null && dto.TrCallRecordDto.OnState == EOnState.NoOn && dto.Order == null)
             {
@@ -701,6 +715,9 @@ namespace DataSharing.Application.Receivers
             else
                 data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
+            if (data.AreaCode.Length > 6)
+                data.AreaCode = data.AreaCode.Substring(0, 6);
+
             if (string.IsNullOrEmpty(data.CaseSerial))
                 data.CaseSerial = "";
 
@@ -747,6 +764,9 @@ namespace DataSharing.Application.Receivers
             else
                 data.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
+            if (data.AreaCode.Length > 6)
+                data.AreaCode = data.AreaCode.Substring(0, 6);
+
             if (string.IsNullOrEmpty(data.CaseSerial))
                 data.CaseSerial = "";
 
@@ -935,7 +955,7 @@ namespace DataSharing.Application.Receivers
         [CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderPublishOrder)]
         public async Task PublishOrderAsync(PublishPublishOrderDto dto, CancellationToken cancellationToken)
         {
-            if (string.IsNullOrEmpty(dto.Order.AreaCode))
+            if (string.IsNullOrEmpty(dto.Order.AreaCode) || dto.Order.Source == ESource.ProvinceStraight)
                 dto.Order.AreaCode = _channelConfigurationManager.GetConfigurationCityCode().AreaCode;
 
             //政民互动提交公开数据验证