From daf2a4075e8ce949cda132de6a03b7ea86597b37 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周日, 18 5月 2025 14:30:56 +0800 Subject: [PATCH] 33 --- PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs | 108 +++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 98 insertions(+), 10 deletions(-) diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs index 9755550..d3853a7 100644 --- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs +++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs @@ -22,6 +22,8 @@ using System.Collections.Generic; using CMS.Framework.AspNetCore.Users; using NPOI.SS.Formula.Functions; +using CMS.Plugin.PipeLineLems.Application.Implements; +using CmsQueryExtensions.Entitys; namespace CMS.Plugin.PipeLineLems.ProjectService { @@ -90,6 +92,8 @@ { "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�", "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�(鎻忚堪)" }, { "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�", "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�(鎻忚堪)" }, { "鍒囧壊杩涚珯淇″彿", "鍒囧壊杩涚珯淇″彿(鎻忚堪)" }, + + { "瑁呴厤瀹屽伐淇″彿", "瑁呴厤瀹屽伐淇″彿(鎻忚堪)" }, }; // 鍒涘缓閫氶亾鐩戝惉 @@ -256,6 +260,25 @@ }); } } + + + if (changed.Name == "瑁呴厤瀹屽伐淇″彿") + { + if (changed.New?.Value.SafeString().ToBool() == true) + { + _ = Task.Run(async () => + { + await HanlderFor瑁呴厤瀹屽伐淇″彿Async(); + }); + } + else + { + _ = Task.Run(async () => + { + await HanlderFor瀹屽伐淇″彿WhenFalseAsync("瑁呴厤"); + }); + } + } } } @@ -326,13 +349,13 @@ try { //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟 - callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); + callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); if (callMaterialOrder == null) return;//缁撴潫 //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 - var workPlanList = await workPlanAppService.FindByDataIdentifierAsync(callMaterialOrder.DataIdentifier); + var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); if (workPlanList?.Count == 0) return;//缁撴潫 ////TODO:鏆傛椂鐢熸垚浜у搧ID @@ -377,6 +400,7 @@ pipeSpecCode3 = new_workPlanList[i].PipeSpecCode; } } + Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?> { { "鎵撶爜宸ヤ欢1",code1}, @@ -388,7 +412,8 @@ { "鎵撶爜绠℃缂栫爜", new_workPlanList.First().PipeSpecCode }, { "鎵撶爜绠℃鍚嶇О", new_workPlanList.First().PipeSectionName }, { "鎵撶爜鍘熸枡绠″瀷鍙�", new_workPlanList.First().MaterialMode }, - { "鎵撶爜鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier } + { "鎵撶爜鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier }, + { "鎵撶爜鍘熸枡绠℃壒娆�", callMaterialOrder.MaterialBatch },//鎵规 }; _variableService.WriteValueAsync(keyValuePairs); @@ -444,13 +469,13 @@ try { //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟 - callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); + callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); if (callMaterialOrder == null) return;//缁撴潫 //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 - var workPlanList = await workPlanAppService.FindByDataIdentifierAsync(callMaterialOrder.DataIdentifier); + var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); if (workPlanList?.Count == 0) return;//缁撴潫 //TODO:鏆傛椂鐢熸垚浜у搧ID @@ -597,13 +622,13 @@ try { //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟 - callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); + callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); if (callMaterialOrder == null) return;//缁撴潫 //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 - var workPlanList = await workPlanAppService.FindByDataIdentifierAsync(callMaterialOrder.DataIdentifier); + var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); if (workPlanList?.Count == 0) return;//缁撴潫 ////TODO:鏆傛椂鐢熸垚浜у搧ID @@ -659,7 +684,8 @@ { "鍒囧壊绠℃缂栫爜", new_workPlanList.First().PipeSpecCode }, { "鍒囧壊绠℃鍚嶇О", new_workPlanList.First().PipeSectionName }, { "鍒囧壊鍘熸枡绠″瀷鍙�", new_workPlanList.First().MaterialMode }, - { "鍒囧壊鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier } + { "鍒囧壊鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier }, + { "鍒囧壊鍘熸枡绠℃壒娆�", callMaterialOrder.MaterialBatch },//鎵规 }; _variableService.WriteValueAsync(keyValuePairs); @@ -715,13 +741,13 @@ try { //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟 - callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo); + callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo); if (callMaterialOrder == null) return;//缁撴潫 //鏍规嵁鍘熸枡鏍囪瘑瀵绘壘 浣滀笟璁″垝 - var workPlanList = await workPlanAppService.FindByDataIdentifierAsync(callMaterialOrder.DataIdentifier); + var workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier); if (workPlanList?.Count == 0) return;//缁撴潫 //TODO:鏆傛椂鐢熸垚浜у搧ID @@ -775,5 +801,67 @@ }; var ret = _variableService.WriteValueAsync(keyValuePairs_productID); } + + + + /// <summary> + /// 瑁呴厤瀹屽伐淇″彿=true鏃� + /// </summary> + /// <returns></returns> + private async Task HanlderFor瑁呴厤瀹屽伐淇″彿Async() + { + + var workPlanAppService = _serviceProvider.GetRequiredService<IWorkPlanAppService>(); + var workPlanRepository = _serviceProvider.GetRequiredService<IWorkPlanRepository>(); + var callMaterialOrderAppService = _serviceProvider.GetRequiredService<ICallMaterialOrderAppService>(); + + var pipeSpecCode = await _variableService.ReadValueAsync("瑁呴厤绠℃缂栫爜"); + + if (string.IsNullOrEmpty(pipeSpecCode?.Content?.Value.SafeString().ToString())) + { + + } + else + { + + + + var myPipeSpecCode = pipeSpecCode.Content.Value.SafeString().ToString(); + CallMaterialOrder callMaterialOrder = null; + try + { + var sharedService = _serviceProvider.GetRequiredService<SharedService>(); + var userName = await _variableService.ReadValueAsync("瑁呴厤浜�"); + MyCurrentUser myCurrentUser = new MyCurrentUser() + { + UserAccount = userName.Content.Value.SafeString().ToString() + }; + sharedService.CompleteAssemblyProcess(_serviceProvider, new Application.Contracts.Dtos.WorkPlan.CompleteAssemblyProcessInput() { PipeSpecCode = myPipeSpecCode, ProcessName="瑁呴厤宸ュ簭" }, myCurrentUser); + + } + catch (Exception) + { + + } + } + } + + /// <summary> + /// 瀹屽伐淇″彿=false鏃� + /// </summary> + /// <returns></returns> + private async Task HanlderFor瀹屽伐淇″彿WhenFalseAsync(string processName) + { + try + { + var sharedService = _serviceProvider.GetRequiredService<SharedService>(); + await sharedService.CompleteHandleOutStoreFinish(_serviceProvider, processName, false); + } + catch (Exception) + { + + + } + } } } -- Gitblit v1.9.3