From bd5c3cb9161c8365b319705f55157b1a444dfb2c Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 18 5月 2025 10:07:27 +0800
Subject: [PATCH] 增加方法
---
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs | 122 +++++++++++++++++++++++++++++-----------
1 files changed, 88 insertions(+), 34 deletions(-)
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
index 1e3200e..3d83626 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
@@ -21,6 +21,7 @@
using CMS.Plugin.PipeLineLems.Domain.CallMaterialOrder;
using System.Collections.Generic;
using CMS.Framework.AspNetCore.Users;
+using NPOI.SS.Formula.Functions;
namespace CMS.Plugin.PipeLineLems.ProjectService
{
@@ -146,7 +147,7 @@
_logger.LogInformation($"{changed.Name} 鍙橀噺鍊煎彂鐢熷彉鍖栵紝鏃у�納oldValue}=鏂板�納newValue}锛孴raceId={traceId}");
- if (changed.Name == "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�" && changed.New?.Value.SafeString().ToBool() == true)
+ if (changed.Name == "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�")
{
// TODO: 澶勭悊鍙橀噺鍊煎彉鍖�
@@ -159,15 +160,21 @@
锛�4锛夊苟鍙戠鐞嗭細 濡傛灉涓氬姟灞傚苟鍙戦噺澶э紝蹇呴』浼樺寲浠g爜璁捐鍜屽疄鏂斤紝浠ュ噺灏戝湪楂樺苟鍙戞儏鍐典笅鐨勭郴缁熻祫婧愭秷鑰楋紝闃叉绯荤粺鎬ц兘闂銆�
锛�5锛変唬鐮佸畨鍏細 瀹夎骞朵娇鐢� CMS.CodeAnalysis 鍒嗘瀽鍣ㄦ潵鍒嗘瀽 IVariableDataCache.TagChanged 鐨勪娇鐢ㄦ儏鍐点�傝宸ュ叿鑳藉湪浣跨敤涓嶅綋鏃舵彁渚涚紪璇戦敊璇紝甯姪鎮ㄦ彁楂樹唬鐮佽川閲忋��*/
- _ = Task.Run(async () =>
+ if (changed.New?.Value.SafeString().ToBool() == true)
{
- await HanlderForPringBarCodeByCreateProductAsync();
- // 渚�1锛氬悓姝ュ鐞�
- //await ProcessAsync();
+ _ = Task.Run(async () =>
+ {
+ await HanlderForPringBarCodeByCreateProductAsync();
+ });
+ }
+ else
+ {
- // 渚�2锛氳皟鐢ㄥ閮ˋPI
- //await ExecuteExternalApiAsync();
- });
+ _ = Task.Run(async () =>
+ {
+ await HanlderForPringBarCodeByCreateProductWhenFalseAsync();
+ });
+ }
}
if (changed.Name == "鎵撶爜杩涚珯淇″彿" && changed.New?.Value.SafeString().ToBool() == true)
@@ -221,7 +228,7 @@
}
- if (changed.Name == "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�" && changed.New?.Value.SafeString().ToBool() == true)
+ if (changed.Name == "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�")
{
// TODO: 澶勭悊鍙橀噺鍊煎彉鍖�
@@ -234,15 +241,20 @@
锛�4锛夊苟鍙戠鐞嗭細 濡傛灉涓氬姟灞傚苟鍙戦噺澶э紝蹇呴』浼樺寲浠g爜璁捐鍜屽疄鏂斤紝浠ュ噺灏戝湪楂樺苟鍙戞儏鍐典笅鐨勭郴缁熻祫婧愭秷鑰楋紝闃叉绯荤粺鎬ц兘闂銆�
锛�5锛変唬鐮佸畨鍏細 瀹夎骞朵娇鐢� CMS.CodeAnalysis 鍒嗘瀽鍣ㄦ潵鍒嗘瀽 IVariableDataCache.TagChanged 鐨勪娇鐢ㄦ儏鍐点�傝宸ュ叿鑳藉湪浣跨敤涓嶅綋鏃舵彁渚涚紪璇戦敊璇紝甯姪鎮ㄦ彁楂樹唬鐮佽川閲忋��*/
- _ = Task.Run(async () =>
+ if (changed.New?.Value.SafeString().ToBool() == true)
{
- await HanlderForCutByCreateProductAsync();
- // 渚�1锛氬悓姝ュ鐞�
- //await ProcessAsync();
-
- // 渚�2锛氳皟鐢ㄥ閮ˋPI
- //await ExecuteExternalApiAsync();
- });
+ _ = Task.Run(async () =>
+ {
+ await HanlderForCutByCreateProductAsync();
+ });
+ }
+ else
+ {
+ _ = Task.Run(async () =>
+ {
+ await HanlderForCutByCreateProductWhenFlaseAsync();
+ });
+ }
}
}
}
@@ -314,13 +326,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
@@ -365,6 +377,7 @@
pipeSpecCode3 = new_workPlanList[i].PipeSpecCode;
}
}
+
Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?>
{
{ "鎵撶爜宸ヤ欢1",code1},
@@ -376,7 +389,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);
@@ -432,30 +446,33 @@
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
//var productID = DateTime.Now.ToString("yyyyMMddHHmmssfff");
- var productID = workPlanList.First().PipeSpecCode;
+ var productID = callMaterialOrder.DataIdentifier;
Dictionary<string, object?> keyValuePairs_productID = new Dictionary<string, object?>
{
{ "鎵撶爜_ProductID", productID},
+ { "CMS鍙嶉璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙风粨鏋�", true},
};
var ret = _variableService.WriteValueAsync(keyValuePairs_productID);
+
//鏇存柊涓虹敓浜т腑
- foreach (var item in workPlanList)
+ var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "鍒囧壊").ToList();
+ foreach (var item in new_workPlanList)
{
item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.鐢熶骇涓�;
}
- await workPlanRepository.UpdateManyAsync(workPlanList);
+ await workPlanRepository.UpdateManyAsync(new_workPlanList);
uow.CompleteAsync();
@@ -466,6 +483,19 @@
throw;
}
}
+ }
+
+ /// <summary>
+ /// 璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�(鍊间负false鐨勬椂鍊�)
+ /// </summary>
+ /// <returns></returns>
+ private async Task HanlderForPringBarCodeByCreateProductWhenFalseAsync()
+ {
+ Dictionary<string, object?> keyValuePairs_productID = new Dictionary<string, object?>
+ {
+ { "CMS鍙嶉璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙风粨鏋�", false},
+ };
+ var ret = _variableService.WriteValueAsync(keyValuePairs_productID);
}
@@ -569,13 +599,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
@@ -631,7 +661,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);
@@ -687,32 +718,41 @@
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
//var productID = DateTime.Now.ToString("yyyyMMddHHmmssfff");
- var productID = workPlanList.First().PipeSpecCode;
+ var productID = callMaterialOrder.DataIdentifier;
Dictionary<string, object?> keyValuePairs_productID = new Dictionary<string, object?>
{
{ "鍒囧壊_ProductID", productID},
+ { "CMS鍙嶉璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙风粨鏋�", true},
};
var ret = _variableService.WriteValueAsync(keyValuePairs_productID);
+ var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "瑁呴厤").ToList();
//鏇存柊涓虹敓浜т腑
- foreach (var item in workPlanList)
+ foreach (var item in new_workPlanList)
{
item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.鐢熶骇涓�;
+ item.Remark = "鏇存柊鐢熶骇涓�";
}
- await workPlanRepository.UpdateManyAsync(workPlanList);
+ await workPlanRepository.UpdateManyAsync(new_workPlanList);
-
+ var new_workPlanList_printCode = workPlanList.Where(x => x.ProcessRouteNumber == "鍒囧壊").ToList();
+ foreach (var item in new_workPlanList_printCode)
+ {
+ item.WorkPlanStatus = Domain.Shared.Enums.WorkPlanStatusEnum.宸插畬鎴�;
+ item.Remark = "鏇存柊宸插畬鎴�";
+ }
+ await workPlanRepository.UpdateManyAsync(new_workPlanList_printCode);
uow.CompleteAsync();
@@ -724,5 +764,19 @@
}
}
}
+
+ /// <summary>
+ /// 璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙凤紙鍊间负false鐨勬椂鍊欙級
+ /// </summary>
+ /// <returns></returns>
+ private async Task HanlderForCutByCreateProductWhenFlaseAsync()
+ {
+
+ Dictionary<string, object?> keyValuePairs_productID = new Dictionary<string, object?>
+ {
+ { "CMS鍙嶉璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙风粨鏋�", false},
+ };
+ var ret = _variableService.WriteValueAsync(keyValuePairs_productID);
+ }
}
}
--
Gitblit v1.9.3