From e24612e75cd4bc1f4e1aaceb5dd09e43487630d1 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期四, 24 十月 2024 15:30:22 +0800
Subject: [PATCH] 一些更改

---
 Tiger.Business.MES/WorkAction/PackingAction.cs |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs
index 2fed0fa..4e0bfd3 100644
--- a/Tiger.Business.MES/WorkAction/PackingAction.cs
+++ b/Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -84,6 +84,7 @@
                         PKG_LEVEL = max.PKG_LEVEL,
                         PKG_QTY = max.PKG_QTY,
                         LABEL_CODE = LabelDic.Count > max.PKG_LEVEL ? LabelDic[max.PKG_LEVEL]?.LABEL_CODE : null,
+                        SN = CurPosition.GenerateSN(max.SN_RULE, this),
                     }
                 };
                 WipPkgItem child = null;
@@ -99,6 +100,7 @@
                             PKG_LEVEL = dtl.PKG_LEVEL,
                             PKG_QTY = dtl.PKG_QTY,
                             LABEL_CODE = LabelDic.Count > dtl.PKG_LEVEL ? LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE : null,
+                            SN = CurPosition.GenerateSN(dtl.SN_RULE, this),
                         };
                         if (!child.IsNullOrEmpty())
                         {
@@ -533,14 +535,15 @@
                         PKG_LEVEL = dtl.PKG_LEVEL,
                         PKG_QTY = dtl.PKG_QTY,
                         LABEL_CODE = LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE,
+                        SN = CurPosition.GenerateSN(dtl.SN_RULE, this).IsNullOrEmpty(pInput.PkgSN),
                         IsFinished = true,
                     };
 
-                    CurPkgItem.Package = Biz.Db.Queryable<MES_WIP_PKG>().Where(q => q.SN == pInput.PkgSN && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).First() ?? new()
+                    CurPkgItem.Package = Biz.Db.Queryable<MES_WIP_PKG>().Where(q => q.SN == CurPkgItem.SN && q.AUTH_ORG == CurPosition.WorkBatch.WO.AUTH_ORG).First() ?? new()
                     {
                         AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                         AUTH_PROD = CurPosition.CurLine.LINE_CODE,
-                        SN = pInput.PkgSN,
+                        SN = CurPkgItem.SN,
                     };
                     CurPkgItem.Package.WIP_ID = CurPosition.CurWipSNs.Count == 1 ? CurPosition.CurWipSNs.First().ID : null;
                     CurPkgItem.Package.PKG_TYPE = dtl.PkgType.PKG_NAME;
@@ -585,7 +588,7 @@
                         {
                             AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                             AUTH_PROD = CurPosition.CurLine.LINE_CODE,
-                            SN = pInput.PkgSN,
+                            SN = CurPkgItem.SN.IsNullOrEmpty(pInput.PkgSN),
                             PKG_TYPE = dtl.PkgType.PKG_NAME,
                             ITEM_CODE = CurPkgItem.Items.First().Package.ITEM_CODE,
                             QTY = CurPkgItem.Items.Sum(q => q.Package.QTY),
@@ -605,7 +608,7 @@
                         {
                             AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG,
                             AUTH_PROD = CurPosition.CurLine.LINE_CODE,
-                            SN = pInput.PkgSN,
+                            SN = CurPkgItem.SN.IsNullOrEmpty(pInput.PkgSN),
                             PKG_TYPE = dtl.PkgType.PKG_NAME,
                             ITEM_CODE = CurPosition.CurWipSNs.First().ITEM_CODE,
                             QTY = CurPkgItem.Items.Sum(q => q.Package.QTY),
@@ -656,6 +659,7 @@
                                     PKG_LEVEL = nextDtl.PKG_LEVEL,
                                     PKG_QTY = nextDtl.PKG_QTY,
                                     LABEL_CODE = LabelDic[nextDtl.PKG_LEVEL]?.LABEL_CODE,
+                                    SN = CurPosition.GenerateSN(nextDtl.SN_RULE, this),
                                 };
                                 curItem.Items.Add(next);
                             }
@@ -910,7 +914,7 @@
             {
                 if (CurPkg.IsFinished)
                 {
-                    var _pkgList = CurPosition.GetPackageList(CurPkg.Item);
+                    var _pkgList = CurPosition.GetPackageList(CurPkg.Item).Clone();
 
                     //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍
                     CurPosition.NeedTemporaryStoreDBCommitAction = false;
@@ -922,9 +926,9 @@
                         {
                             db.Storageable(_pkgList, CurPosition.UserCode).ExecuteCommand();
                             var wipIDs = _pkgList.Where(q => !q.WIP_ID.IsNullOrEmpty()).Select(q => q.WIP_ID).ToList();
-                            var nodeID = _pkgList.First().NODE_ID;
-                            var actID = _pkgList.First().ACT_ID;
-                            var wo = _pkgList.First().WORK_ORDER;
+                            var nodeID = _pkgList.First(q => !q.WIP_ID.IsNullOrEmpty()).NODE_ID;
+                            var actID = _pkgList.First(q => !q.WIP_ID.IsNullOrEmpty()).ACT_ID;
+                            var wo = _pkgList.First(q => !q.WIP_ID.IsNullOrEmpty()).WORK_ORDER;
                             //鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛�
                             db.Updateable<MES_WIP_DATA>()
                                 .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN)

--
Gitblit v1.9.3