From 7dccff98bbdf39624cc9430436833db968f1e80e Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周二, 20 5月 2025 15:41:39 +0800 Subject: [PATCH] 22 --- PipeLineLems/server/src/CMS.Plugin.PipeLineLems.Application/Implements/SharedService.cs | 29 +++++++++++++- PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs | 39 +++++++++++++++++++ 2 files changed, 65 insertions(+), 3 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); diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs index a15f5b9..6a65e24 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs @@ -24,6 +24,7 @@ using NPOI.SS.Formula.Functions; using CMS.Plugin.PipeLineLems.Application.Implements; using CmsQueryExtensions.Entitys; +using CMS.Plugin.PipeLineLems.Domain.WorkTask; namespace CMS.Plugin.PipeLineLems.ProjectService { @@ -465,7 +466,9 @@ { 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>(); using var scope = _serviceProvider.CreateScope(); @@ -492,6 +495,10 @@ if (callMaterialOrder == null) return;//缁撴潫 + //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 + var workTaskList = await workTaskAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); + if (workTaskList?.Count == 0) return;//缁撴潫 + //鏇存柊涓虹敓浜т腑 //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); @@ -507,6 +514,13 @@ }; var ret = _variableService.WriteValueAsync(keyValuePairs_productID); + //鏇存柊 浠诲姟 涓虹敓浜т腑 + var new_workTaskList = workTaskList.Where(x => x.ProcessRouteNumber == "鍒囧壊").ToList(); + foreach (var item in new_workTaskList) + { + item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.鐢熶骇涓�; + } + await workTaskRepository.UpdateManyAsync(new_workTaskList); //鏇存柊涓虹敓浜т腑 var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "鍒囧壊").ToList(); @@ -737,7 +751,9 @@ { 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>(); using var scope = _serviceProvider.CreateScope(); @@ -763,7 +779,26 @@ callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); if (callMaterialOrder == null) return;//缁撴潫 + //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 + var workTaskList = await workTaskAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); + if (workTaskList?.Count == 0) return;//缁撴潫 + var new_workTaskList = workTaskList.Where(x => x.ProcessName == "鍒囧壊宸ュ簭").ToList(); + //鏇存柊涓虹敓浜т腑 + foreach (var item in new_workTaskList) + { + item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.鐢熶骇涓�; + item.Remark = "鏇存柊鐢熶骇涓�"; + } + await workTaskRepository.UpdateManyAsync(new_workTaskList); + + var new_workTaskList_printCode = workTaskList.Where(x => x.ProcessName == "鎵撶爜宸ュ簭").ToList(); + foreach (var item in new_workTaskList_printCode) + { + item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.宸插畬鎴�; + item.Remark = "鏇存柊宸插畬鎴�"; + } + await workTaskRepository.UpdateManyAsync(new_workTaskList_printCode); //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); @@ -778,6 +813,8 @@ { "CMS鍙嶉璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙风粨鏋�", true}, }; var ret = _variableService.WriteValueAsync(keyValuePairs_productID); + + var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "瑁呴厤").ToList(); //鏇存柊涓虹敓浜т腑 @@ -855,7 +892,7 @@ { UserAccount = userName.Content.Value.SafeString().ToString() }; - sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName="瑁呴厤宸ュ簭" }, myCurrentUser); + sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName = "瑁呴厤宸ュ簭" }, myCurrentUser); } catch (Exception) -- Gitblit v1.9.3