From a3a2b238a2626ef8744e7a135f9ca2e2fbb5184c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 21 5月 2025 10:17:36 +0800
Subject: [PATCH] 优化

---
 PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)

diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
index f681023..867e94c 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs
@@ -13,6 +13,7 @@
 using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder;
 using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrderRecord;
 using CMS.Plugin.PipeLineLems.Domain.WorkPlan;
+using CMS.Plugin.PipeLineLems.Domain.WorkTask;
 using CMS.Plugin.ProcessManagement.Abstractions;
 using CMS.Plugin.ProductManagement.Abstractions;
 using CMS.Plugin.TraceManagement.Abstractions;
@@ -563,6 +564,7 @@
 
         var callMaterialOrderRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRepository>();
         var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>();
+        var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>();
         var callMaterialOrderRecordRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRecordRepository>();
         var orderManager = _serviceProvider.GetRequiredService<IOrderManager>();
 
@@ -633,6 +635,15 @@
         }
         await workPlanRepository.UpdateManyAsync(workPlanList);
 
+        //鏇存柊浣滀笟浠诲姟琛�
+        var workTaskList = await workTaskRepository.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier);
+        foreach (var item in workTaskList)
+        {
+            item.CallMaterialStatus = Domain.Shared.Enums.CallMaterialStatusEnum.鍙枡瀹屾垚;
+            item.LastModifierName = "SuperAdmin";
+        }
+        await workTaskRepository.UpdateManyAsync(workTaskList);
+
         //鏂板鍙枡璁板綍琛�
         var callMaterialOrderRecord = new CallMaterialOrderRecord()
         {
@@ -691,12 +702,17 @@
         VariableService _variableService = _serviceProvider.GetRequiredService<VariableService>();
         var callMaterialOrderRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRepository>();
         var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>();
+        var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>();
         var callMaterialOrderRecordRepository = _serviceProvider.GetRequiredService<ICallMaterialOrderRecordRepository>();
         var orderManager = _serviceProvider.GetRequiredService<IOrderManager>();
         var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>();
 
         // 鏌ユ壘鏁版嵁
-
+        var workTask = await workTaskRepository.GetSingleByFilterAsync(x => x.TaskCode == input.TaskCode);
+        if (workTask == null)
+        {
+            throw new UserFriendlyException($"鎵句笉鍒颁綔涓氳鍒�");
+        }
         var workPlan = await workPlanRepository.GetSingleByFilterAsync(x => x.TaskCode == input.TaskCode);
         if (workPlan == null)
         {
@@ -740,6 +756,7 @@
             //    workPlan.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.宸插畬鎴�;
             //}
             workPlan.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.鐢熶骇涓�;
+            workTask.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.鐢熶骇涓�;
 
             await workPlanRepository.UpdateAsync(workPlan);
 
@@ -822,10 +839,17 @@
         var traceProvider = _serviceProvider.GetRequiredService<ITraceProvider>();
         var materialProvider = _serviceProvider.GetRequiredService<IMaterialProvider>();
         var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>();
+        var workTaskAppService = _serviceProvider.GetRequiredService<IWorkTaskAppService>();
         var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>();
+        var workTaskRepository = _serviceProvider.GetRequiredService<IWorkTaskRepository>();
         var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>();
 
         string processName = "";
+        var firstWorkTask = await workTaskAppService.GetSingleByFilterAsync(x => x.PipeSpecCode == input.PipeSpecCode && x.ProcessName == input.ProcessName);
+        if (firstWorkTask == null)
+        {
+            throw new UserFriendlyException($"鎵句笉鍒颁綔涓氳鍒�");
+        }
         //鐗╂枡鍙傛暟鍒楄〃
         var firstWorkPlan = await workPlanAppService.GetSingleByFilterAsync(x => x.PipeSpecCode == input.PipeSpecCode && x.ProcessName == input.ProcessName);
         if (firstWorkPlan == null)
@@ -883,7 +907,8 @@
         {
             #region 鏁版嵁澶勭悊
 
-
+            firstWorkTask.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.宸插畬鎴�;
+            await workTaskRepository.UpdateAsync(firstWorkTask);
 
             firstWorkPlan.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.宸插畬鎴�;
             await workPlanRepository.UpdateAsync(firstWorkPlan);

--
Gitblit v1.9.3