From a592da60f0db0d4eb950a81a8530e965444be7b1 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 16 十月 2024 09:14:02 +0800
Subject: [PATCH] 工艺路线默认优化

---
 Tiger.Business.MES/Transaction/PackingNode.cs |   41 ++++++++++++++---------------------------
 1 files changed, 14 insertions(+), 27 deletions(-)

diff --git a/Tiger.Business.MES/Transaction/PackingNode.cs b/Tiger.Business.MES/Transaction/PackingNode.cs
index c890d95..7c1a076 100644
--- a/Tiger.Business.MES/Transaction/PackingNode.cs
+++ b/Tiger.Business.MES/Transaction/PackingNode.cs
@@ -89,7 +89,7 @@
                                 info.InputQty = CurOperInfo(input.Locale).InputQty;
                                 action.Data.OperInfo = info;
                             }
-                            else if (!IsFinishAllSteps)
+                            else if (Steps.Any() && !IsFinishAllSteps)
                             {
                                 action.Data.OperInfo = SetOperNodeInfo(CurOperInfo(input.Locale));
                             }
@@ -476,7 +476,7 @@
                     CurWipSNHiss.Clear();
                     foreach (var wipSN in wipSNs)
                     {
-                        var his = new MES_WIP_HIS(wipSN, $"宸ュ崟[{wipSN.WORK_ORDER}]鏉$爜[{wipSN.SN}]鍦ㄥ矖浣峓{wipSN.POST_CODE}]杩囩珯宸ュ簭[{wipSN.NODE_NAME}]鎴愬姛");
+                        var his = new MES_WIP_HIS(wipSN, $"宸ュ崟[{wipSN.WORK_ORDER}]鏉$爜[{wipSN.SN}]鍦ㄥ矖浣峓{wipSN.POST_CODE}]杩囩珯宸ュ簭[{wipSN.NODE_NAME}]鎴愬姛锛圱ransId锛歿TransID}锛�");
                         wipSN.History.Add(his);
                         CurWipSNHiss.Add(his);
                     }
@@ -649,6 +649,7 @@
                     wipSN.NODE_NAME = curNode.NODE_NAME;
                     wipSN.OPER_CODE = curNode.OPER_CODE;
                     wipSN.SEGMENT = curNode.SEGMENT;
+                    wipSN.OPERATION_TIME = DateTime.Now;
                 }
 
                 var wipHiss = new List<MES_WIP_HIS>();
@@ -670,34 +671,20 @@
                     //浣跨敤缁熶竴鐨勪簨鍔B瀵硅薄
                     var db = GetCommitDB();
                     //鏁版嵁淇濆瓨閫昏緫
-                    db.Storageable(_woSns, UserCode).ExecuteCommand();
-                    db.Storageable(_wipSns, UserCode).ExecuteCommand();
+                    db.Updateable(_woSns, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS }).ExecuteCommand();
+                    db.Updateable(_wipSns, UserCode).UpdateColumns(q => new { q.UPDATE_TIME, q.UPDATE_USER, q.STATUS, q.NODE_ID, q.NODE_NAME, q.OPER_CODE, q.SEGMENT, q.OPERATION_TIME }).ExecuteCommand();
                     db.Storageable(_wipHiss, UserCode).ExecuteCommand();
                     if (_pkgList.Any())
                     {
-                        foreach (var pkg in _pkgList)
-                        {
-                            ////鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛�
-                            //db.Updateable<MES_WIP_DATA>()
-                            //    .SetColumns(q => q.TRAY_SN == curPkg.Item.Package.SN)
-                            //    .SetColumns(q => q.INNER_SN == q.CARTON_SN)
-                            //    .SetColumns(q => q.CARTON_SN == curPkg.Item.Package.SN)
-                            //    .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.ID == pkg.WIP_ID)
-                            //    .ExecuteCommand();
-                            //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц繃绋嬭褰�
-                            db.Updateable<MES_WIP_HIS>()
-                                .SetColumns(q => q.TRAY_SN == curPkg.Item.Package.SN)
-                                .SetColumns(q => q.INNER_SN == q.CARTON_SN)
-                                .SetColumns(q => q.CARTON_SN == curPkg.Item.Package.SN)
-                                .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.WIP_ID == pkg.WIP_ID && q.OPER_CODE == "EndNode")
-                                .ExecuteCommand();
-                            ////鍖呰淇℃伅淇濆瓨鍒板伐鍗曟潯鐮佹槑缁嗚〃
-                            //db.Updateable<BIZ_MES_WO_SN>()
-                            //    .SetColumns(q => q.TRAY_SN == curPkg.Item.Package.SN)
-                            //    .SetColumns(q => q.OUTER_SN == curPkg.Item.Package.SN)
-                            //    .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.WIP_ID == pkg.WIP_ID)
-                            //    .ExecuteCommand();
-                        }
+                        var wipIDs = _pkgList.Where(q => !q.WIP_ID.IsNullOrEmpty()).Select(q => q.WIP_ID).ToList();
+                        var wo = _pkgList.First().WORK_ORDER;
+                        //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц繃绋嬭褰�
+                        db.Updateable<MES_WIP_HIS>()
+                            .SetColumns(q => q.TRAY_SN == curPkg.Item.Package.SN)
+                            .SetColumns(q => q.INNER_SN == q.CARTON_SN)
+                            .SetColumns(q => q.CARTON_SN == curPkg.Item.Package.SN)
+                            .Where(q => q.WORK_ORDER == wo && q.OPER_CODE == "EndNode" && wipIDs.Contains(q.WIP_ID))
+                            .ExecuteCommand();
                     }
                 };
             }

--
Gitblit v1.9.3