From 0295f0d93a3dd54bb6104f5e9a488f94596e756b Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期六, 26 十月 2024 00:37:00 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Server/TigerApi6_2024 --- Tiger.Business.MES/WorkAction/PackingAction.cs | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs index 2fed0fa..d0cf4fb 100644 --- a/Tiger.Business.MES/WorkAction/PackingAction.cs +++ b/Tiger.Business.MES/WorkAction/PackingAction.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using Tiger.Business.MES.Transaction; using Tiger.IBusiness; using Tiger.IBusiness.MES.WorkAction; using Tiger.Model; @@ -84,6 +85,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 +101,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()) { @@ -226,6 +229,7 @@ data.ExecCode = "Print"; data.PkgLevel = min.PKG_LEVEL; data.PrintLable = LabelDic[min.PKG_LEVEL]; + data.RealPrint = data.PkgLevel != CurPkg.Item.PKG_LEVEL || CurPosition is not YadaPacking || (CurPosition as YadaPacking).IsPrintCustomerLabel; CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -394,6 +398,7 @@ data.ExecCode = "Print"; data.PkgLevel = dtl.PKG_LEVEL; data.PrintLable = LabelDic[dtl.PKG_LEVEL]; + data.RealPrint = data.PkgLevel != CurPkg.Item.PKG_LEVEL || CurPosition is not YadaPacking || (CurPosition as YadaPacking).IsPrintCustomerLabel; CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -491,6 +496,7 @@ data.ExecCode = "Print"; data.PkgLevel = dtl.PKG_LEVEL; data.PrintLable = LabelDic[dtl.PKG_LEVEL]; + data.RealPrint = data.PkgLevel != CurPkg.Item.PKG_LEVEL || CurPosition is not YadaPacking || (CurPosition as YadaPacking).IsPrintCustomerLabel; CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -533,14 +539,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 +592,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 +612,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 +663,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); } @@ -708,6 +716,7 @@ data.ExecCode = "Print"; data.PkgLevel = dtl.PKG_LEVEL; data.PrintLable = LabelDic[dtl.PKG_LEVEL]; + data.RealPrint = data.PkgLevel != CurPkg.Item.PKG_LEVEL || CurPosition is not YadaPacking || (CurPosition as YadaPacking).IsPrintCustomerLabel; CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -852,6 +861,9 @@ ACT_TYPE = NodeAct.ACT_TYPE, ACT_SN = wipSn.SN, ACT_RESULT = "Y", + ACT_VALUE_1 = CurPkg.IsFinished ? "Y" : "N", + ACT_VALUE_2 = CurPkg.ToJson(), + ACT_VALUE_3 = CurPkg.IsFinished ? LabelDic[CurPkg.Item.PKG_LEVEL].ToJson() : "", ELAPSED_TIME = CurStep.GetElapsedTime().TotalMilliseconds.ToInt64(), TRACE_INFO = $"浜у搧鏉$爜[{string.Join("锛�", CurPosition.CurSN)}]鍖呰瀹屾垚", }; @@ -910,7 +922,7 @@ { if (CurPkg.IsFinished) { - var _pkgList = CurPosition.GetPackageList(CurPkg.Item); + var _pkgList = CurPosition.GetPackageList(CurPkg.Item).Clone(); //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 CurPosition.NeedTemporaryStoreDBCommitAction = false; @@ -922,9 +934,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