From 67238bdfbeb1f06b9870133c9b9e86c45013fad2 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期五, 11 十月 2024 00:36:52 +0800
Subject: [PATCH] 一些已知更改

---
 Tiger.Business.MES/Transaction/CollectNode.cs   |    2 +-
 Tiger.Business.MES/Transaction/PackingNode.cs   |    4 ++--
 Tiger.Business.MES/Transaction/Position.cs      |   11 +++++++----
 Tiger.IBusiness.MES/Transaction/IPackingNode.cs |    2 +-
 Tiger.IBusiness.MES/Transaction/ITestNode.cs    |    2 +-
 Tiger.Business.MES/Common/WoContext.cs          |   10 +++++-----
 Tiger.Business.MES/Transaction/TestNode.cs      |    2 +-
 Tiger.IBusiness.MES/Transaction/ICollectNode.cs |    2 +-
 8 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/Tiger.Business.MES/Common/WoContext.cs b/Tiger.Business.MES/Common/WoContext.cs
index c8868dc..107746d 100644
--- a/Tiger.Business.MES/Common/WoContext.cs
+++ b/Tiger.Business.MES/Common/WoContext.cs
@@ -31,11 +31,11 @@
         /// <param name="workorder"></param>
         /// <param name="lineCode"></param>
         /// <returns></returns>
-        public static WorkBatch GetBatch(string workorder, string lineCode)
+        public static WorkBatch GetBatch(string workorder, string lineCode, string batchNo = "")
         {
-            if (ExistsBatch(workorder, lineCode))
+            if (ExistsBatch(workorder, lineCode, batchNo))
             {
-                return WoBatchDic.FirstOrDefault(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode).Value;
+                return WoBatchDic.FirstOrDefault(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode && (batchNo.IsNullOrEmpty() || q.Value.Batch.BATCH_NO == batchNo)).Value;
             }
             return null;
         }
@@ -46,9 +46,9 @@
         /// <param name="workorder"></param>
         /// <param name="lineCode"></param>
         /// <returns></returns>
-        public static bool ExistsBatch(string workorder, string lineCode)
+        public static bool ExistsBatch(string workorder, string lineCode, string batchNo = "")
         {
-            return WoBatchDic.Any(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode);
+            return WoBatchDic.Any(q => q.Value.Batch.ORDER_NO == workorder && q.Value.Batch.ACT_LINE == lineCode && (batchNo.IsNullOrEmpty() || q.Value.Batch.BATCH_NO == batchNo));
         }
 
         /// 浠庡伐鍗曟壒娆″瓧鍏镐腑鍒犻櫎涓�涓伐鍗曟壒娆″璞�
diff --git a/Tiger.Business.MES/Transaction/CollectNode.cs b/Tiger.Business.MES/Transaction/CollectNode.cs
index dccd9b8..e10d0d5 100644
--- a/Tiger.Business.MES/Transaction/CollectNode.cs
+++ b/Tiger.Business.MES/Transaction/CollectNode.cs
@@ -85,7 +85,7 @@
                                 if (CurBatch?.Batch?.ORDER_NO != wosns.First().Batch.ORDER_NO)
                                 {
                                     //鏉$爜宸茬粦瀹氱殑宸ュ崟涓嶇瓑浜庡綋鍓嶅伐鍗曞垯閲嶆柊閫夋嫨宸ュ崟
-                                    var result = await SelectOrder(new() { AuthOption = input.AuthOption, OrderNo = wosns.First().Batch.ORDER_NO });
+                                    var result = await SelectOrder(new() { AuthOption = input.AuthOption, OrderNo = wosns.First().Batch.ORDER_NO }, wosns.First().Batch.BATCH_NO);
                                     if (!result.IsSuccessed)
                                     {
                                         action.Data.ShortMsg = new("宸ュ崟寮傚父", ShortMessage.Types.Error);
diff --git a/Tiger.Business.MES/Transaction/PackingNode.cs b/Tiger.Business.MES/Transaction/PackingNode.cs
index feb1316..c4cc211 100644
--- a/Tiger.Business.MES/Transaction/PackingNode.cs
+++ b/Tiger.Business.MES/Transaction/PackingNode.cs
@@ -125,8 +125,8 @@
 	                                if (CurBatch?.Batch?.ORDER_NO != wosns.First().Batch.ORDER_NO)
 	                                {
 	                                    //鏉$爜宸茬粦瀹氱殑宸ュ崟涓嶇瓑浜庡綋鍓嶅伐鍗曞垯閲嶆柊閫夋嫨宸ュ崟
-	                                    var result = await SelectOrder(new() { AuthOption = input.AuthOption, OrderNo = wosns.First().Batch.ORDER_NO });
-	                                    if (!result.IsSuccessed)
+	                                    var result = await SelectOrder(new() { AuthOption = input.AuthOption, OrderNo = wosns.First().Batch.ORDER_NO }, wosns.First().Batch.BATCH_NO);
+                                        if (!result.IsSuccessed)
 	                                    {
                                             action.Data.ShortMsg = new("宸ュ崟寮傚父", ShortMessage.Types.Error);
                                             action.Data.OperInfo = new();
diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index 5a8ded0..65d6c12 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -97,12 +97,12 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public async Task<ApiAction> SelectOrder(WoInput input)
+        public async Task<ApiAction> SelectOrder(WoInput input, string batchNo = "")
         {
             var action = new ApiAction();
             try
             {
-                if (!WoContext.ExistsBatch(input.OrderNo, CurLine.LINE_CODE))
+                if (!WoContext.ExistsBatch(input.OrderNo, CurLine.LINE_CODE, batchNo))
                 {
                     var wo = await Biz.Db.Queryable<BIZ_MES_WO>().ByAuth(input.AuthOption).Where(q => q.ORDER_NO == input.OrderNo).FirstAsync();
                     //楠岃瘉鏄庣粏鏄惁姝g‘
@@ -120,7 +120,10 @@
                         action.LocaleMsg = new("MES.Transaction.Position.SelectOrder.StatusException", input.OrderNo, wo.STATUS.GetEnum<BIZ_MES_WO.STATUSs>().GetName());
                         return action;
                     }
-                    var batch = await Biz.Db.Queryable<BIZ_MES_WO_BATCH>().ByAuth(input.AuthOption).Where(q => q.ORDER_NO == input.OrderNo && q.ACT_LINE == CurLine.LINE_CODE).OrderBy(q => q.STATUS).FirstAsync();
+                    var batch = await Biz.Db.Queryable<BIZ_MES_WO_BATCH>().ByAuth(input.AuthOption)
+                        .Where(q => q.ORDER_NO == input.OrderNo && q.ACT_LINE == CurLine.LINE_CODE)
+                        .WhereIF(!batchNo.IsNullOrEmpty(), q => q.BATCH_NO == batchNo)
+                        .OrderBy(q => q.STATUS).FirstAsync();
                     if (batch.IsNullOrEmpty())
                     {
                         action.IsSuccessed = false;
@@ -138,7 +141,7 @@
                     var wb = new WorkBatch(input.OrderNo).Init(CurLine.LINE_CODE);
                     WoContext.WoBatchDic.Add(wb.Batch.BATCH_NO, wb);
                 }
-                CurBatch = WoContext.GetBatch(input.OrderNo, CurLine.LINE_CODE);
+                CurBatch = WoContext.GetBatch(input.OrderNo, CurLine.LINE_CODE, batchNo);
                 if (!OperInfoDic.ContainsKey(CurBatch.Batch.BATCH_NO))
                 {
                     OperInfoDic.Add(CurBatch.Batch.BATCH_NO, new());
diff --git a/Tiger.Business.MES/Transaction/TestNode.cs b/Tiger.Business.MES/Transaction/TestNode.cs
index 9b117ba..e276ea0 100644
--- a/Tiger.Business.MES/Transaction/TestNode.cs
+++ b/Tiger.Business.MES/Transaction/TestNode.cs
@@ -86,7 +86,7 @@
                                 if (CurBatch?.Batch?.ORDER_NO != wosns.First().Batch.ORDER_NO)
                                 {
                                     //鏉$爜宸茬粦瀹氱殑宸ュ崟涓嶇瓑浜庡綋鍓嶅伐鍗曞垯閲嶆柊閫夋嫨宸ュ崟
-                                    var result = await SelectOrder(new() { AuthOption = input.AuthOption, OrderNo = wosns.First().Batch.ORDER_NO });
+                                    var result = await SelectOrder(new() { AuthOption = input.AuthOption, OrderNo = wosns.First().Batch.ORDER_NO }, wosns.First().Batch.BATCH_NO);
                                     if (!result.IsSuccessed)
                                     {
                                         action.Data.ShortMsg = new("宸ュ崟寮傚父", ShortMessage.Types.Error);
diff --git a/Tiger.IBusiness.MES/Transaction/ICollectNode.cs b/Tiger.IBusiness.MES/Transaction/ICollectNode.cs
index 90fa9e2..046f8ec 100644
--- a/Tiger.IBusiness.MES/Transaction/ICollectNode.cs
+++ b/Tiger.IBusiness.MES/Transaction/ICollectNode.cs
@@ -26,7 +26,7 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public Task<ApiAction> SelectOrder(WoInput input);
+        public Task<ApiAction> SelectOrder(WoInput input, string batchNo = "");
         /// <summary>
         /// 閲囬泦宸ュ簭锛氭彁浜ゆ搷浣滄暟鎹�
         /// </summary>
diff --git a/Tiger.IBusiness.MES/Transaction/IPackingNode.cs b/Tiger.IBusiness.MES/Transaction/IPackingNode.cs
index 817cf71..fbdc64b 100644
--- a/Tiger.IBusiness.MES/Transaction/IPackingNode.cs
+++ b/Tiger.IBusiness.MES/Transaction/IPackingNode.cs
@@ -26,7 +26,7 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public Task<ApiAction> SelectOrder(WoInput input);
+        public Task<ApiAction> SelectOrder(WoInput input, string batchNo = "");
         /// <summary>
         /// 鍖呰宸ュ簭锛氭彁浜ゆ搷浣滄暟鎹�
         /// </summary>
diff --git a/Tiger.IBusiness.MES/Transaction/ITestNode.cs b/Tiger.IBusiness.MES/Transaction/ITestNode.cs
index d840f78..e511c5c 100644
--- a/Tiger.IBusiness.MES/Transaction/ITestNode.cs
+++ b/Tiger.IBusiness.MES/Transaction/ITestNode.cs
@@ -26,7 +26,7 @@
         /// </summary>
         /// <param name="input"></param>
         /// <returns></returns>
-        public Task<ApiAction> SelectOrder(WoInput input);
+        public Task<ApiAction> SelectOrder(WoInput input, string batchNo = "");
         /// <summary>
         /// 娴嬭瘯宸ュ簭锛氭彁浜ゆ搷浣滄暟鎹�
         /// </summary>

--
Gitblit v1.9.3