From 243e732e8adabbe19fd2ecd87a44b2373260aab2 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期三, 07 八月 2024 14:59:49 +0800
Subject: [PATCH] 包装信息保存到在制品信息表 包装信息保存到工单条码明细表

---
 Tiger.Business.MES/WorkAction/PackingAction.cs |   52 +++++++++++++++++++++++-----------------------------
 1 files changed, 23 insertions(+), 29 deletions(-)

diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs
index b2ea4b8..421672b 100644
--- a/Tiger.Business.MES/WorkAction/PackingAction.cs
+++ b/Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -402,7 +402,7 @@
                         //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屼繚瀛樺寘瑁呮暟鎹埌鏁版嵁搴�
                         else
                         {
-                            action = SaveToDB();
+                            action = CompletePkg();
                         }
                     }
                     //褰撳墠澶勭悊鐨勫寘瑁呭眰绾у凡缁忓鐞嗗畬锛岀户缁線涓婁繚瀛�
@@ -506,36 +506,9 @@
             return list;
         }
 
-        public ApiAction<SubmitOutput> SaveToDB()
+        public ApiAction<SubmitOutput> CompletePkg()
         {
             var action = new ApiAction<SubmitOutput>(new SubmitOutput());
-
-            var pkgList = GetPackageList(CurPkg.Item);
-
-            //鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛�
-            foreach (var wipSN in CurPosition.CurWipSNs)
-            {
-                wipSN.TRAY_SN = CurPkg.Item.Package.SN;
-                wipSN.CARTON_SN = CurPkg.Item.Package.SN;
-            }
-            //鍖呰淇℃伅淇濆瓨鍒板伐鍗曟潯鐮佹槑缁嗚〃
-            var woSNs = CurPosition.WorkBatch.WoSNs.Where(q => CurPosition.CurWipSNs.Any(w => q.SN == w.SN)).ToList();
-            foreach (var woSN in woSNs)
-            {
-                woSN.TRAY_SN = CurPkg.Item.Package.SN;
-                woSN.OUTER_SN = CurPkg.Item.Package.SN;
-            }
-
-            //淇濆瓨鏁版嵁搴�
-            var db = Biz.Db;
-            var dbTran = db.UseTran(() =>
-            {
-                db.Insertable(pkgList, CurPosition.UserCode).ExecuteCommand();
-            });
-            if (!dbTran.IsSuccess)
-            {
-                throw dbTran.ErrorException;
-            }
 
             var data = new PackingActionOutput() { PkgInfo = CurPkg };
             data.ExecCode = "Complete";
@@ -602,11 +575,32 @@
 
             //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
             var _wipActs = wipActs.Clone();
+            var _pkgList = CurPkg.IsFinished ? GetPackageList(CurPkg.Item) : new();
             //淇濆瓨鏁版嵁
             CurStep.DBSubmitAction = () =>
             {
                 var db = CurPosition.GetCommitDB();
                 db.Storageable(_wipActs, CurPosition.UserCode).ExecuteCommand();
+                if (_pkgList.Any())
+                {
+                    db.Insertable(_pkgList, CurPosition.UserCode).ExecuteCommand();
+                    foreach (var pkg in _pkgList)
+                    {
+                        //鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛�
+                        db.Updateable<MES_WIP_DATA>()
+                            .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)
+                            .SetColumns(q => q.CONTAINER_SN == q.CARTON_SN)
+                            .SetColumns(q => q.CARTON_SN == CurPkg.Item.Package.SN)
+                            .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.SN == pkg.SN)
+                            .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.SN == pkg.SN)
+                            .ExecuteCommand();
+                    }
+                }
             };
 
             if (CurPkg.IsFinished)

--
Gitblit v1.9.3