From 4967c641bf731d3fd230cdcb84420f6837a1b7f2 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周日, 18 5月 2025 14:54:15 +0800
Subject: [PATCH] 222

---
 PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs |  162 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 154 insertions(+), 8 deletions(-)

diff --git a/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs b/PipeLineLems/server/src/CMS.Plugin.PipeLineLems/ProjectService/PipeLineLemsProjectService.cs
index d3e1b4e..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,7 +368,7 @@
                 try
                 {
                     //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
-                    callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+                    callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo);
                     if (callMaterialOrder == null) return;//缁撴潫
 
 
@@ -377,8 +419,7 @@
                             pipeSpecCode3 = new_workPlanList[i].PipeSpecCode;
                         }
                     }
-                    //鑾峰彇 鎵规
-                    await callMaterialOrderAppService.wh
+
                     Dictionary<string, object?> keyValuePairs = new Dictionary<string, object?>
                     {
                         { "鎵撶爜宸ヤ欢1",code1},
@@ -391,7 +432,7 @@
                         { "鎵撶爜绠℃鍚嶇О", new_workPlanList.First().PipeSectionName },
                         { "鎵撶爜鍘熸枡绠″瀷鍙�", new_workPlanList.First().MaterialMode },
                         { "鎵撶爜鍘熸枡鏍囪瘑", new_workPlanList.First().DataIdentifier },
-                        { "鎵撶爜鍘熸枡绠℃壒娆�", new_workPlanList.First() },
+                        { "鎵撶爜鍘熸枡绠℃壒娆�", callMaterialOrder.MaterialBatch },//鎵规
                     };
                     _variableService.WriteValueAsync(keyValuePairs);
 
@@ -447,7 +488,7 @@
                 try
                 {
                     //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
-                    callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+                    callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo);
                     if (callMaterialOrder == null) return;//缁撴潫
 
 
@@ -600,7 +641,7 @@
                 try
                 {
                     //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
-                    callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+                    callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo);
                     if (callMaterialOrder == null) return;//缁撴潫
 
 
@@ -662,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);
 
@@ -718,7 +760,7 @@
                 try
                 {
                     //鏍规嵁wms浠诲姟鍙峰鎵� 鍙枡宸ュ崟
-                    callMaterialOrder = await callMaterialOrderAppService.FindByWmsTaskNoAsync(myTaskNo);
+                    callMaterialOrder = await callMaterialOrderAppService.GetSingleByFilterAsync(x => x.WmsTaskNo == myTaskNo);
                     if (callMaterialOrder == null) return;//缁撴潫
 
 
@@ -778,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