Bläddra i källkod

Merge branch 'release' of http://git.12345lm.cn/Fengwo/hotline into release

Dun.Jason 7 månader sedan
förälder
incheckning
40705ba015

+ 8 - 5
src/Hotline.Api/Controllers/OrderController.cs

@@ -4091,7 +4091,7 @@ public class OrderController : BaseController
             {
                 if (order.SendBackAuditEndTime.HasValue && order.SendBackAuditEndTime.Value < DateTime.Now)
                     throw UserFriendlyException.SameMessage("工单截至退回时间【" + order.SendBackAuditEndTime.Value.ToString("yyyy-MM-dd HH:mm:ss") + "】,无法进行退回!");
-                var sendBackAgain = await _orderSendBackAuditRepository.Queryable().Where(x => x.OrderId == workflow.ExternalId && x.IsReturnAgain == true).AnyAsync();
+                var sendBackAgain = await _orderSendBackAuditRepository.Queryable().Where(x => x.OrderId == workflow.ExternalId && x.IsReturnAgain == false).AnyAsync();
                 if (sendBackAgain)
                     throw UserFriendlyException.SameMessage("工单已不允许退回!");
             }
@@ -4801,12 +4801,15 @@ public class OrderController : BaseController
             //}
 
             var reTransactNum = order.ReTransactNum.HasValue ? order.ReTransactNum.Value + 1 : 1;
-            var orderStart = EOrderStatus.SendBack;
-            if (_appOptions.Value.IsZiGong)
+            var orderStatus = EOrderStatus.SendBack;
+            var orderStartStatus = EOrderStatus.BackToUnAccept;
+
+			if (_appOptions.Value.IsZiGong)
             {
-                orderStart = model.SpecialType == ESpecialType.SendBack ? EOrderStatus.SendBack : EOrderStatus.Special;
+	            orderStatus = model.SpecialType == ESpecialType.SendBack ? EOrderStatus.SendBack : EOrderStatus.Special;
+	            orderStartStatus = model.SpecialType == ESpecialType.SendBack ? EOrderStatus.BackToUnAccept : EOrderStatus.SpecialToUnAccept;
 			}
-			var Status = model.StepType == EStepType.Start ? EOrderStatus.BackToUnAccept : EOrderStatus.SendBack;
+			var Status = model.StepType == EStepType.Start ? orderStartStatus : orderStatus;
             await _orderRepository.Updateable().SetColumns(o => new Orders.Order() { ProcessType = processType, ReTransactNum = reTransactNum, Status = Status }).Where(o => o.Id == order.Id)
                 .ExecuteCommandAsync(HttpContext.RequestAborted);
 

+ 3 - 2
src/Hotline.Api/Controllers/OrderProvinceZmhdController.cs

@@ -50,7 +50,7 @@ namespace Hotline.Api.Controllers
             var items = await _orderRepository.Queryable()
                 .Where(p => p.SourceChannelCode == "SZMHD" && p.IsProvince == false && p.Status >= EOrderStatus.Filed && p.Source == ESource.ProvinceStraight)
                 .WhereIF(!string.IsNullOrEmpty(dto.No), p => p.No == dto.No)
-                .WhereIF(!string.IsNullOrEmpty(dto.ProvinceNo), p => p.ProvinceNo == dto.ProvinceNo)
+                .WhereIF(!string.IsNullOrEmpty(dto.ProvinceNo), p => p.ReceiveProvinceNo == dto.ProvinceNo)
                 .WhereIF(!string.IsNullOrEmpty(dto.Title), p => p.Title.StartsWith(dto.Title!))
                 .WhereIF(!string.IsNullOrEmpty(dto.AnswerOu), p => p.ActualHandleOrgName == dto.AnswerOu)
                 .WhereIF(!string.IsNullOrEmpty(dto.AuditFirstName), p => p.AuditFirstName == dto.AuditFirstName)
@@ -102,7 +102,7 @@ namespace Hotline.Api.Controllers
             OrderProvinceZmhd orderProvinceZmhd = new()
             {
                 No = order.No,
-                ProvinceNo = order.ProvinceNo,
+                ProvinceNo = order.ReceiveProvinceNo,
                 OrderId = order.Id,
                 Title = order.Title,
                 AnswerTime = order.ActualHandleTime,
@@ -133,6 +133,7 @@ namespace Hotline.Api.Controllers
 
             //推送数据
             var publishPublishOrder = _mapper.Map<PublicOrderProvinceZmhdDto>(orderProvinceZmhd);
+            publishPublishOrder.ProvinceNo = order.ReceiveProvinceNo;
             await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderProvinceZmhd, publishPublishOrder);
         }
 

+ 15 - 15
src/Hotline.Application/Subscribers/DatasharingSubscriber.cs

@@ -216,7 +216,7 @@ namespace Hotline.Application.Subscribers
         [CapSubscribe(Hotline.Share.Mq.EventNames.SharingOrderRevoke)]
         public async Task RecCancelOrderAsync(CancelOrderDto dto, CancellationToken cancellationToken)
         {
-            var order = await _orderRepository.GetAsync(p => p.ProvinceNo == dto.ProvinceNo, cancellationToken);
+            var order = await _orderRepository.GetAsync(p => p.ReceiveProvinceNo == dto.ProvinceNo, cancellationToken);
             if (order is null)
                 throw new UserFriendlyException("未查询到工单");
 
@@ -272,7 +272,7 @@ namespace Hotline.Application.Subscribers
             if (exists)
                 throw new UserFriendlyException($"收到重复催办编号: {dto.DsBisId}");
 
-            var order = await _orderRepository.Queryable().Where(x => x.ProvinceNo == dto.CaseSerial).FirstAsync(cancellationToken);
+            var order = await _orderRepository.Queryable().Where(x => x.ReceiveProvinceNo == dto.CaseSerial).FirstAsync(cancellationToken);
             var model = new OrderUrge();
             model.InitId();
             model.State = 0;
@@ -316,7 +316,7 @@ namespace Hotline.Application.Subscribers
         [CapSubscribe(Hotline.Share.Mq.EventNames.SharingOrderWarning)]
         public async Task RecWarnInfoAsync(WarningDto dto, CancellationToken cancellationToken)
         {
-            var order = await _orderRepository.Queryable().Where(x => x.ProvinceNo == dto.CaseSerial).FirstAsync(cancellationToken);
+            var order = await _orderRepository.Queryable().Where(x => x.ReceiveProvinceNo == dto.CaseSerial).FirstAsync(cancellationToken);
             if (order != null)
             {
                 var model = new OrderUrge();
@@ -376,7 +376,7 @@ namespace Hotline.Application.Subscribers
             if (exists)
                 throw new UserFriendlyException($"收到重复督办编号: {dto.ProvinceOrderSuperviseDto.SuperviseSerial}");
 
-            var order = await _orderRepository.Queryable().Where(x => x.ProvinceNo == dto.ProvinceOrderSuperviseDto!.CaseSerial).FirstAsync(cancellationToken);
+            var order = await _orderRepository.Queryable().Where(x => x.ReceiveProvinceNo == dto.ProvinceOrderSuperviseDto!.CaseSerial).FirstAsync(cancellationToken);
             var org = await _systemOrganizeRepository.GetAsync(x => x.Id == order.ActualHandleOrgCode, cancellationToken);
             var model = new OrderSupervise();
             model.InitId();
@@ -413,7 +413,7 @@ namespace Hotline.Application.Subscribers
             //    .FirstAsync(cancellationToken);
 
             var orderScreen = await _orderScreenRepository.Queryable()
-                .Where(x => x.Order.ProvinceNo == dto.ProvinceScreenResult.CaseSerial &&
+                .Where(x => x.Order.ReceiveProvinceNo == dto.ProvinceScreenResult.CaseSerial &&
                             x.Status == EScreenStatus.Approval)
                 .FirstAsync(cancellationToken);
 
@@ -471,7 +471,7 @@ namespace Hotline.Application.Subscribers
             var orderVisit = await _orderVisitRepository.Queryable()
                 .Includes(x => x.Order)
                 .Includes(x => x.OrderVisitDetails)
-                .Where(x => x.Order.ProvinceNo == dto.ProvinceNo &&
+                .Where(x => x.Order.ReceiveProvinceNo == dto.ProvinceNo &&
              x.VisitState != Share.Enums.Order.EVisitState.None).FirstAsync(cancellationToken);
 
             if (orderVisit != null)
@@ -549,13 +549,13 @@ namespace Hotline.Application.Subscribers
             else
             {
                 //处理省下行回访
-                var order = await _orderRepository.Queryable().Where(x => x.ProvinceNo == dto.ProvinceNo).FirstAsync();
+                var order = await _orderRepository.Queryable().Where(x => x.ReceiveProvinceNo == dto.ProvinceNo).FirstAsync();
                 if (order !=null)
                 {
                     //判断是否有发布数据
                     var orderPublish = await _orderPublishRepository.Queryable()
                         .Includes(x => x.Order).
-                        Where(x => x.Order.ProvinceNo == dto.ProvinceNo).FirstAsync(cancellationToken);
+                        Where(x => x.Order.ReceiveProvinceNo == dto.ProvinceNo).FirstAsync(cancellationToken);
                     if (orderPublish == null)
                     {
                         orderPublish = new OrderPublish();
@@ -646,7 +646,7 @@ namespace Hotline.Application.Subscribers
         [CapSubscribe(Hotline.Share.Mq.EventNames.SharingOrderDelayResult)]
         public async Task OrderDelayWeb(ProvinceSendDelayResultDto dto, CancellationToken cancellationToken)
         {
-            var order = await _orderRepository.GetAsync(x => x.ProvinceNo == dto.No, cancellationToken);
+            var order = await _orderRepository.GetAsync(x => x.ReceiveProvinceNo == dto.No, cancellationToken);
             if (order != null)
             {
                 //查询延期
@@ -727,7 +727,7 @@ namespace Hotline.Application.Subscribers
         public async Task RecOrderExtensionAsync(OrderExtensionDto dto, CancellationToken cancellationToken)
         {
             var order = await _orderRepository.Queryable()
-                .FirstAsync(d => d.ProvinceNo == dto.ProvinceNo, cancellationToken);
+                .FirstAsync(d => d.ReceiveProvinceNo == dto.ProvinceNo, cancellationToken);
 
             var orderExtension = await _orderDomainService.GetOrderExtensionsAsync(dto.ProvinceNo, cancellationToken);
             if (orderExtension is null)
@@ -774,7 +774,7 @@ namespace Hotline.Application.Subscribers
         [CapSubscribe(EventNames.SharingOrderSupplements)]
         public async Task RecOrderSupplementsAsync(AddOrderComplementDto dto, CancellationToken cancellationToken)
         {
-            var order = await _orderRepository.GetAsync(d => d.ProvinceNo == dto.CaseSerial, cancellationToken);
+            var order = await _orderRepository.GetAsync(d => d.ReceiveProvinceNo == dto.CaseSerial, cancellationToken);
             if (order is null)
                 throw new UserFriendlyException("无效省工单编号");
             dto.OrderId = order.Id;
@@ -798,7 +798,7 @@ namespace Hotline.Application.Subscribers
             switch (dto.DsBisType)
             {
                 case EDsBisType.AcceptOrder:
-                    var order = await _orderRepository.GetAsync(d => d.ProvinceNo == dto.ProvinceNo, cancellationToken);
+                    var order = await _orderRepository.GetAsync(d => d.ReceiveProvinceNo == dto.ProvinceNo, cancellationToken);
                     if (order is null)
                         throw new UserFriendlyException("无效省工单编号");
 
@@ -807,7 +807,7 @@ namespace Hotline.Application.Subscribers
                     break;
                 case EDsBisType.OrderPreviousResult:
                     var sendBack = await _orderSendBackRepository.Queryable()
-                        .Where(d => d.Order.ProvinceNo == dto.ProvinceNo)
+                        .Where(d => d.Order.ReceiveProvinceNo == dto.ProvinceNo)
                         .FirstAsync(cancellationToken);
                     if (sendBack is null)
                         throw new UserFriendlyException("无效省工单退回编号");
@@ -835,7 +835,7 @@ namespace Hotline.Application.Subscribers
                     break;
                 case EDsBisType.OrderScreenResult:
                     var orderScreen = await _orderScreenRepository.Queryable()
-                        .Where(x => x.Order.ProvinceNo == dto.ProvinceNo && x.Status == Share.Enums.Order.EScreenStatus.Approval)
+                        .Where(x => x.Order.ReceiveProvinceNo == dto.ProvinceNo && x.Status == Share.Enums.Order.EScreenStatus.Approval)
                         .FirstAsync(cancellationToken);
                     if (orderScreen is null)
                         throw new UserFriendlyException("未查询到对应省工单甄别数据");
@@ -845,7 +845,7 @@ namespace Hotline.Application.Subscribers
                     break;
                 case EDsBisType.OrderDelayResult:
                     var orderDelay = await _orderDelayRepository.Queryable()
-                        .Where(d => d.Order.ProvinceNo == dto.ProvinceNo && d.DelayState == EDelayState.Examining)
+                        .Where(d => d.Order.ReceiveProvinceNo == dto.ProvinceNo && d.DelayState == EDelayState.Examining)
                         .FirstAsync(cancellationToken);
                     if (orderDelay is null)
                         throw new UserFriendlyException($"未查询到延期数据, ProvinceNo: {dto.ProvinceNo}");

+ 6 - 1
src/Hotline.Share/Dtos/Order/OrderDto.cs

@@ -908,10 +908,15 @@ namespace Hotline.Share.Dtos.Order
         public bool IsProvince { get; set; }
 
         /// <summary>
-        /// 同步省工单编号和省上传下来的工单都用这个字段
+        /// 省本地编号
         /// </summary>
         public string? ProvinceNo { get; set; }
 
+        /// <summary>
+        /// 省交办编号
+        /// </summary>
+        public string? ReceiveProvinceNo { get; set; }
+
         /// <summary>
         /// 省过期时间(省工单才有)
         /// </summary>

+ 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.104</Version>
+    <Version>1.0.105</Version>
   </PropertyGroup>
 
   <ItemGroup>

+ 8 - 2
src/Hotline/Orders/Order.cs

@@ -832,11 +832,17 @@ namespace Hotline.Orders
         public DateTime? ExpiredTimeProvince { get; set; }
 
         /// <summary>
-        /// 同步省工单编号和省上传下来的工单都用这个字段
+        /// 省本地编号
         /// </summary>
-        [SugarColumn(ColumnDescription = "省工单编号")]
+        [SugarColumn(ColumnDescription = "省本地编号")]
         public string? ProvinceNo { get; set; }
 
+        /// <summary>
+        /// 省交办编号
+        /// </summary>
+        [SugarColumn(ColumnDescription = "省交办编号")]
+        public string? ReceiveProvinceNo { get; set; }
+
         /// <summary>
         /// 外部工单唯一标识
         /// </summary>