From 0fa15afc31f7fb1a6100a78af3765d4d1bbab611 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期一, 28 十月 2024 21:23:55 +0800 Subject: [PATCH] 优化入库标签行为数据存储 --- Tiger.Business.MES/WorkAction/PackingAction.cs | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 52 insertions(+), 1 deletions(-) diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs index 4e0bfd3..28e0046 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; @@ -228,6 +229,13 @@ 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; + //鎵嬪姩缁撴潫鍖呰鏃讹紝濡傛灉鏄疪ealPrint涓篺alse锛屽垯杩斿洖褰撳墠鍖呰淇℃伅鐨勫叆搴撴爣绛惧苟鎵撳嵃 + if (IsManually && !data.RealPrint && !CurPkg.InStoreLabel.IsNullOrEmpty()) + { + data.RealPrint = true; + data.PrintLable = CurPkg.InStoreLabel; + } CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -396,6 +404,13 @@ 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; + //鎵嬪姩缁撴潫鍖呰鏃讹紝濡傛灉鏄疪ealPrint涓篺alse锛屽垯杩斿洖褰撳墠鍖呰淇℃伅鐨勫叆搴撴爣绛惧苟鎵撳嵃 + if (IsManually && !data.RealPrint && !CurPkg.InStoreLabel.IsNullOrEmpty()) + { + data.RealPrint = true; + data.PrintLable = CurPkg.InStoreLabel; + } CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -493,6 +508,13 @@ 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; + //鎵嬪姩缁撴潫鍖呰鏃讹紝濡傛灉鏄疪ealPrint涓篺alse锛屽垯杩斿洖褰撳墠鍖呰淇℃伅鐨勫叆搴撴爣绛惧苟鎵撳嵃 + if (IsManually && !data.RealPrint && !CurPkg.InStoreLabel.IsNullOrEmpty()) + { + data.RealPrint = true; + data.PrintLable = CurPkg.InStoreLabel; + } CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -562,6 +584,7 @@ CurPkgItem.Package.OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE; CurPkgItem.Package.SEGMENT = CurPosition.CurWipSNs.First().SEGMENT; CurPkgItem.Package.ACT_ID = NodeAct.ID; + CurPkgItem.Package.ACT_NAME = NodeAct.ACT_NAME; CurPkgItem.Package.FLOW_SN = CurPosition.CurWipSNs.First().FLOW_SN; FinishLevel++; //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇 @@ -625,6 +648,7 @@ OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE, SEGMENT = CurPosition.CurWipSNs.First().SEGMENT, ACT_ID = NodeAct.ID, + ACT_NAME = NodeAct.ACT_NAME, FLOW_SN = CurPosition.CurWipSNs.First().FLOW_SN, }; FinishLevel++; @@ -712,6 +736,13 @@ 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; + //鎵嬪姩缁撴潫鍖呰鏃讹紝濡傛灉鏄疪ealPrint涓篺alse锛屽垯杩斿洖褰撳墠鍖呰淇℃伅鐨勫叆搴撴爣绛惧苟鎵撳嵃 + if (IsManually && !data.RealPrint && !CurPkg.InStoreLabel.IsNullOrEmpty()) + { + data.RealPrint = true; + data.PrintLable = CurPkg.InStoreLabel; + } CurCmd = data; PrintTimes++; CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("鎵撳嵃鏍囩")); @@ -856,6 +887,10 @@ 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() : "", + ACT_VALUE_4 = "Customer", ELAPSED_TIME = CurStep.GetElapsedTime().TotalMilliseconds.ToInt64(), TRACE_INFO = $"浜у搧鏉$爜[{string.Join("锛�", CurPosition.CurSN)}]鍖呰瀹屾垚", }; @@ -915,6 +950,7 @@ if (CurPkg.IsFinished) { var _pkgList = CurPosition.GetPackageList(CurPkg.Item).Clone(); + var _lastWipID = CurPosition.LastWipSNs?.FirstOrDefault()?.ID; //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 CurPosition.NeedTemporaryStoreDBCommitAction = false; @@ -951,6 +987,21 @@ .SetColumns(q => q.CARTON_SN == CurPkg.Item.Package.SN) .Where(q => q.WORK_ORDER == wo && q.NODE_ID == nodeID && q.ACT_ID == actID && wipIDs.Contains(q.WIP_ID)) .ExecuteCommand(); + db.Updateable<MES_WIP_ACT>() + .SetColumns(q => q.ACT_VALUE_1 == (CurPkg.IsFinished ? "Y" : "N")) + .SetColumns(q => q.ACT_VALUE_2 == CurPkg.ToJson()) + .SetColumns(q => q.ACT_VALUE_3 == (CurPkg.IsFinished ? LabelDic[CurPkg.Item.PKG_LEVEL].ToJson() : "")) + .SetColumns(q => q.ACT_VALUE_4 == "Customer") + .Where(q => q.WORK_ORDER == wo && q.NODE_ID == nodeID && q.ACT_ID == actID && q.WIP_ID == _lastWipID) + .ExecuteCommand(); + var InStoreLabel = CurPkg.IsFinished ? CurPkg.InStoreLabel?.ToJson() : ""; + db.Updateable<MES_WIP_ACT>() + .SetColumns(q => q.ACT_VALUE_1 == (CurPkg.IsFinished ? "Y" : "N")) + .SetColumns(q => q.ACT_VALUE_2 == CurPkg.ToJson()) + .SetColumns(q => q.ACT_VALUE_3 == InStoreLabel) + .SetColumns(q => q.ACT_VALUE_4 == "InStroe") + .Where(q => q.WORK_ORDER == wo && q.NODE_ID == nodeID && q.ACT_ID == CurPkg.InStoreActID && q.WIP_ID == _lastWipID) + .ExecuteCommand(); //鍖呰淇℃伅淇濆瓨鍒板伐鍗曟潯鐮佹槑缁嗚〃 db.Updateable<BIZ_MES_WO_SN>() .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN) @@ -960,7 +1011,7 @@ } }); //濡傛灉褰撳墠鏉$爜宸茬粡瀹屽伐锛屾鏌ュ綋鍓嶅伐鍗曟壒娆″拰宸ュ崟鏄惁瀹屽伐 - if (CurPkg.IsReachedEndNode) + //if (CurPkg.IsReachedEndNode) { CurPosition.WorkBatch.CheckIsComplete(CurPosition.UserCode); } -- Gitblit v1.9.3