From ec3cfd144de6fcf5e5cbfaf02585c17805300602 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 21 5月 2025 13:35:16 +0800
Subject: [PATCH] 优化
---
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs | 191 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 187 insertions(+), 4 deletions(-)
diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
index 81e821c..6a65e24 100644
--- a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
+++ b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
@@ -22,6 +22,9 @@
using System.Collections.Generic;
using CMS.Framework.AspNetCore.Users;
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
{
@@ -90,6 +93,9 @@
{ "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�", "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�(鎻忚堪)" },
{ "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�", "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�(鎻忚堪)" },
{ "鍒囧壊杩涚珯淇″彿", "鍒囧壊杩涚珯淇″彿(鎻忚堪)" },
+
+ { "瑁呴厤瀹屽伐淇″彿", "瑁呴厤瀹屽伐淇″彿(鎻忚堪)" },
+ { "鐒婃帴瀹屽伐淇″彿", "鐒婃帴瀹屽伐淇″彿(鎻忚堪)" },
};
// 鍒涘缓閫氶亾鐩戝惉
@@ -256,6 +262,43 @@
});
}
}
+
+
+ if (changed.Name == "瑁呴厤瀹屽伐淇″彿")
+ {
+ if (changed.New?.Value.SafeString().ToBool() == true)
+ {
+ _ = Task.Run(async () =>
+ {
+ await HanlderFor瑁呴厤瀹屽伐淇″彿Async();
+ });
+ }
+ else
+ {
+ _ = Task.Run(async () =>
+ {
+ await HanlderFor瀹屽伐淇″彿WhenFalseAsync("瑁呴厤");
+ });
+ }
+ }
+
+ if (changed.Name == "鐒婃帴瀹屽伐淇″彿")
+ {
+ if (changed.New?.Value.SafeString().ToBool() == true)
+ {
+ _ = Task.Run(async () =>
+ {
+ await HanlderFor鐒婃帴瀹屽伐淇″彿Async();
+ });
+ }
+ else
+ {
+ _ = Task.Run(async () =>
+ {
+ await HanlderFor瀹屽伐淇″彿WhenFalseAsync("鐒婃帴");
+ });
+ }
+ }
}
}
@@ -326,7 +369,7 @@
try
{
//鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
- callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+ callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo);
if (callMaterialOrder == null) return;//缁撴潫
@@ -423,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();
@@ -446,10 +491,14 @@
try
{
//鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
- callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+ 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 workPlanList = await workPlanAppService.GetListByFilterAsync(x => x.DataIdentifier == callMaterialOrder.DataIdentifier);
@@ -465,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();
@@ -599,7 +655,7 @@
try
{
//鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
- callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+ callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo);
if (callMaterialOrder == null) return;//缁撴潫
@@ -695,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();
@@ -718,10 +776,29 @@
try
{
//鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
- callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+ 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);
@@ -736,6 +813,8 @@
{ "CMS鍙嶉璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙风粨鏋�", true},
};
var ret = _variableService.WriteValueAsync(keyValuePairs_productID);
+
+
var new_workPlanList = workPlanList.Where(x => x.ProcessRouteNumber == "瑁呴厤").ToList();
//鏇存柊涓虹敓浜т腑
@@ -778,5 +857,109 @@
};
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>
+ /// 鐒婃帴瀹屽伐淇″彿=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