From e050767314ff74ac13727f33398ad16c1e183945 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周二, 20 5月 2025 12:49:21 +0800
Subject: [PATCH] 优化高级查询
---
PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 159 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..a15f5b9 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,9 @@
{ "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�", "璇锋眰鐢熸垚鎵撶爜浜у搧鐮佷俊鍙�(鎻忚堪)" },
{ "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�", "璇锋眰鐢熸垚鍒囧壊浜у搧鐮佷俊鍙�(鎻忚堪)" },
{ "鍒囧壊杩涚珯淇″彿", "鍒囧壊杩涚珯淇″彿(鎻忚堪)" },
+
+ { "瑁呴厤瀹屽伐淇″彿", "瑁呴厤瀹屽伐淇″彿(鎻忚堪)" },
+ { "鐒婃帴瀹屽伐淇″彿", "鐒婃帴瀹屽伐淇″彿(鎻忚堪)" },
};
// 鍒涘缓閫氶亾鐩戝惉
@@ -256,6 +261,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,13 +368,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 +419,7 @@
pipeSpecCode3 = new_workPlanList[i].PipeSpecCode;
}
}
+
Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?>
{
{ "鎵撶爜宸ヤ欢1",code1},
@@ -388,7 +431,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 +488,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 +641,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 +703,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 +760,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 +820,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