From 88101e80a5c6525a73000efe75234f937c0c3e05 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期二, 15 十月 2024 00:14:26 +0800
Subject: [PATCH] 优化包装数据保存逻辑

---
 Tiger.Business.MES/Transaction/Position.cs |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index 1277758..2ceb4b8 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -102,7 +102,7 @@
             var action = new ApiAction();
             try
             {
-                if (!WoContext.ExistsBatch(input.OrderNo, CurLine.LINE_CODE, batchNo))
+                if (!WoContext.ExistsBatch(input.OrderNo, CurLine.LINE_CODE, batchNo, true))
                 {
                     var wo = await Biz.Db.Queryable<BIZ_MES_WO>().ByAuth(input.AuthOption).Where(q => q.ORDER_NO == input.OrderNo).FirstAsync();
                     //楠岃瘉鏄庣粏鏄惁姝g‘
@@ -225,7 +225,12 @@
             if (CurWipSNs.Any())
             {
                 info.CurNode = CurWipSNs.First().NODE_NAME;
-                info.NextNode = string.Join(",", CurBatch.GetNextNodes(CurWipSNs.First()).Select(q => q.NODE_NAME));
+                var nextNodes = CurBatch.GetNextNodes(CurWipSNs.First());
+                info.NextNode = string.Join(",", nextNodes.Select(q => q.NODE_NAME));
+                if (nextNodes.Count == 1 && nextNodes.Single().OPER_CODE == "EndNode")
+                {
+                    info.IsReachedEndNode = true;
+                }
             }
             else
             {
@@ -587,15 +592,15 @@
                                     }
                                     return $"{qtylist.Count}PCS";
                                 case "GetModel":
-                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo.Model);
-                                case "GetInput":
-                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo.Input);
-                                case "GetOutput":
-                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo.OutPut);
-                                case "GetPower":
-                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo.Power);
-                                case "GetAccuracy":
-                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo.Accuracy);
+                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Model);
+                                case "GetInput":                                      
+                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Input);
+                                case "GetOutput":                                     
+                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.OutPut);
+                                case "GetPower":                                      
+                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Power);
+                                case "GetAccuracy":                                   
+                                    return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Accuracy);
                                 case "GetVarByWo":
                                     return GetLabelVarWo(lv, "");
                                 default:
@@ -777,6 +782,22 @@
             }
         }
         #endregion
+        #region 鍖呰涓撶敤鏂规硶
+        public List<MES_WIP_PKG> GetPackageList(WipPkgItem parent)
+        {
+            List<MES_WIP_PKG> list = new();
+            if (!parent.Package.IsNullOrEmpty())
+            {
+                list.Add(parent.Package);
+            }
+            foreach (var item in parent.Items)
+            {
+                item.Package.PARENT_SN = parent.Package?.SN;
+                list.AddRange(GetPackageList(item));
+            }
+            return list;
+        }
+        #endregion
         #endregion Functions
 
         public override bool Close(bool needSaveHistoryLog = false)

--
Gitblit v1.9.3