qinchaoyue 4 주 전
부모
커밋
e0a4d1e397
2개의 변경된 파일69개의 추가작업 그리고 53개의 파일을 삭제
  1. 61 53
      src/Hotline.Api/Controllers/OrderController.cs
  2. 8 0
      src/Hotline.Share/Dtos/Snapshot/OrderDto.cs

+ 61 - 53
src/Hotline.Api/Controllers/OrderController.cs

@@ -4714,69 +4714,77 @@ public class OrderController : BaseController
     public async Task<string> OrderSignBathAsync([FromBody] OrderSignBathInDto dto)
     {
         var stringBuilder = new StringBuilder();
-        foreach (var orderId in dto.OrderIds)
+        if (dto.Status == 1)
         {
-            var order = await _orderRepository.GetAsync(orderId, HttpContext.RequestAborted);
-            if (order is null)
+            foreach (var orderId in dto.OrderIds)
             {
-                continue;
-            }
+                var order = await _orderRepository.GetAsync(orderId, HttpContext.RequestAborted);
+                if (order is null)
+                {
+                    continue;
+                }
 
-            var snapshot = await _orderSnapshotApplication.UpdateSafetyAsync(orderId, dto.IsSafetyDepartment, dto.Remark);
-            if (snapshot is null)
-            {
-                stringBuilder.Append($"随手拍: {order.No} 不存在");
-                continue;
-            }
+                var snapshot = await _orderSnapshotApplication.UpdateSafetyAsync(orderId, dto.IsSafetyDepartment, dto.Remark);
+                if (snapshot is null)
+                {
+                    stringBuilder.Append($"随手拍: {order.No} 不存在");
+                    continue;
+                }
 
-            var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withDefine: true, withSteps: true, withTraces: true,
-                cancellationToken: HttpContext.RequestAborted);
+                var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withDefine: true, withSteps: true, withTraces: true,
+                    cancellationToken: HttpContext.RequestAborted);
 
-            NextStepsWithOpinionDto<NextStepOption> nextSteps;
-            try
-            {
-                nextSteps = await _workflowApplication.GetNextStepsAsync(order.WorkflowId, HttpContext.RequestAborted);
-            }
-            catch (UserFriendlyException e)
-            {
-                if (e.Message.Contains("未找到对应节点"))
+                NextStepsWithOpinionDto<NextStepOption> nextSteps;
+                try
                 {
-                    stringBuilder.AppendLine($"{order.No} 修改成功");
-                    continue;
+                    nextSteps = await _workflowApplication.GetNextStepsAsync(order.WorkflowId, HttpContext.RequestAborted);
                 }
+                catch (UserFriendlyException e)
+                {
+                    if (e.Message.Contains("未找到对应节点"))
+                    {
+                        stringBuilder.AppendLine($"{order.No} 修改成功");
+                        continue;
+                    }
 
-                throw;
-            }
+                    throw;
+                }
 
-            var stepInfo = nextSteps.Steps.FirstOrDefault(m => m.BusinessType == EBusinessType.Send);
-            if (stepInfo == null)
-            {
-                stringBuilder.Append($"下一步节点: [派单组] 未找到");
-                continue;
-            }
+                var stepInfo = nextSteps.Steps.FirstOrDefault(m => m.BusinessType == EBusinessType.Send);
+                if (stepInfo == null)
+                {
+                    stringBuilder.Append($"下一步节点: [派单组] 未找到");
+                    continue;
+                }
 
-            var data = new OrderHandleFlowDto
-            {
-                OrderId = orderId,
-                IsSafetyDepartment = dto.IsSafetyDepartment
-            };
-            var workflowDto = new NextWorkflowDto
-            {
-                WorkflowId = order.WorkflowId,
-                StepId = nextSteps.StepId,
-                NextStepCode = stepInfo.Key,
-                NextStepName = stepInfo.Value,
-                Opinion = dto.Remark,
-                BackToCountersignEnd = false,
-                IsSms = false,
-                IsForwarded = false,
-                HandlerType = EHandlerType.OrgLevel,
-                BusinessType = EBusinessType.Send,
-                FlowDirection = EFlowDirection.CenterToCenter,
-            };
-            var startStep = workflow.Steps.First(d => d.Id == nextSteps.StepId);
-            await HandleOrderAsync(order, workflow, startStep, data, workflowDto, HttpContext.RequestAborted);
-            stringBuilder.AppendLine($"{orderId} 标注完成;");
+                var data = new OrderHandleFlowDto
+                {
+                    OrderId = orderId,
+                    IsSafetyDepartment = dto.IsSafetyDepartment
+                };
+                var workflowDto = new NextWorkflowDto
+                {
+                    WorkflowId = order.WorkflowId,
+                    StepId = nextSteps.StepId,
+                    NextStepCode = stepInfo.Key,
+                    NextStepName = stepInfo.Value,
+                    Opinion = dto.Remark,
+                    BackToCountersignEnd = false,
+                    IsSms = false,
+                    IsForwarded = false,
+                    HandlerType = EHandlerType.OrgLevel,
+                    BusinessType = EBusinessType.Send,
+                    FlowDirection = EFlowDirection.CenterToCenter,
+                };
+                var startStep = workflow.Steps.First(d => d.Id == nextSteps.StepId);
+                await HandleOrderAsync(order, workflow, startStep, data, workflowDto, HttpContext.RequestAborted);
+                stringBuilder.AppendLine($"{orderId} 标注完成;");
+            }
+        }
+        else
+        {
+            await _orderSnapshotRepository.Updateable()
+                .SetColumns(m => m.)
         }
 
         return stringBuilder.ToString();

+ 8 - 0
src/Hotline.Share/Dtos/Snapshot/OrderDto.cs

@@ -1751,6 +1751,14 @@ public class OrderSignBathInDto
     /// 备注
     /// </summary>
     public string Remark { get; set; }
+
+    /// <summary>
+    /// 状态;
+    /// 0: 全部;
+    /// 1: 待标签;
+    /// 2: 已标签;
+    /// </summary>
+    public int Status { get; set; }
 }
 
 public record LabelOrderSnapshotLogItemsInDto : PagedRequest