From 2c453c7fdbe6cdf81353b129023a3d35f982821d Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期四, 07 十一月 2024 00:55:22 +0800 Subject: [PATCH] 重打更新 --- Tiger.Business.MES/WorkAction/PackingAction.cs | 220 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 130 insertions(+), 90 deletions(-) diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs index ab7c1f1..45d96aa 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; @@ -74,7 +75,8 @@ WorkBatch = CurPosition.WorkBatch.Batch.BATCH_NO, RULE_CODE = PkgRule.RULE_CODE, RULE_NAME = PkgRule.RULE_NAME, - ITEM_CODE = CurPosition.WorkBatch.WO.ITEM_CODE, + PROD_CODE = CurPosition.WorkBatch.WO.ITEM_CODE, + CustSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == CurPosition.CurWipSNs.First().FLOW_SN).First(), Item = new WipPkgItem() { PKG_CODE = max.PKG_CODE, @@ -83,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; @@ -98,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()) { @@ -154,7 +158,8 @@ LabelDic = CurPosition.Context["CurLabelDic"] as Dictionary<int, BAS_LABEL_TEMP>; LabelPV = Biz.Db.Queryable<BAS_LABEL_PV>().ToList(); //鑾峰彇鍖呰瑙勫垯鐨勭О閲嶈寖鍥� - PkgProd = Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => q.PKG_RULE_ID == PkgRule.ID && q.ITEM_CODE == CurPkg.ITEM_CODE).First(); + PkgProd = Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => q.PKG_RULE_ID == PkgRule.ID && q.ITEM_CODE == CurPkg.PROD_CODE).First(); + //鎶� CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("璁板綍鍖呰鏁版嵁")); } @@ -224,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("鎵撳嵃鏍囩")); @@ -392,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("鎵撳嵃鏍囩")); @@ -489,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("鎵撳嵃鏍囩")); @@ -531,14 +557,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; @@ -557,6 +584,8 @@ 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++; //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇 if (FinishLevel < PkgRule.Details.Max(q => q.PKG_LEVEL)) @@ -582,7 +611,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), @@ -602,7 +631,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), @@ -619,6 +648,8 @@ 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++; //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇 @@ -652,6 +683,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); } @@ -704,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("鎵撳嵃鏍囩")); @@ -745,27 +784,6 @@ CurPosition.ResetNode(); } return action; - } - - public List<MES_WIP_PKG> GetMinPackageList(WipPkgItem parent) - { - List<MES_WIP_PKG> list = new(); - if (parent.Items.Any()) - { - foreach (var item in parent.Items) - { - item.Package.PARENT_SN = parent.Package?.SN; - list.AddRange(GetMinPackageList(item)); - } - } - else - { - if (!parent.Package.IsNullOrEmpty()) - { - list.Add(parent.Package); - } - } - return list; } public ApiAction<SubmitOutput> CompletePkg() @@ -848,6 +866,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)}]鍖呰瀹屾垚", }; @@ -868,36 +890,37 @@ if (_pkgList.Any()) { db.Storageable(_pkgList, CurPosition.UserCode).ExecuteCommand(); - foreach (var pkg in _pkgList.Where(q => !q.WIP_ID.IsNullOrEmpty())) - { - //鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛� - 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.NODE_ID == pkg.NODE_ID) - .ExecuteCommand(); - //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц涓鸿褰� - db.Updateable<MES_WIP_ACT>() - .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.NODE_ID == pkg.NODE_ID && q.ACT_ID == pkg.ACT_ID) - .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 nodeID = _pkgList.First().NODE_ID; + var actID = _pkgList.First().ACT_ID; + var wo = _pkgList.First().WORK_ORDER; + //鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛� + db.Updateable<MES_WIP_DATA>(CurPosition.UserCode) + .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 && wipIDs.Contains(q.ID)) + .ExecuteCommand(); + //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц繃绋嬭褰� + db.Updateable<MES_WIP_HIS>(CurPosition.UserCode) + .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.NODE_ID == nodeID && wipIDs.Contains(q.WIP_ID)) + .ExecuteCommand(); + //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц涓鸿褰� + db.Updateable<MES_WIP_ACT>(CurPosition.UserCode) + .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.NODE_ID == nodeID && q.ACT_ID == actID && wipIDs.Contains(q.WIP_ID)) + .ExecuteCommand(); + //鍖呰淇℃伅淇濆瓨鍒板伐鍗曟潯鐮佹槑缁嗚〃 + db.Updateable<BIZ_MES_WO_SN>(CurPosition.UserCode) + .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN) + .SetColumns(q => q.OUTER_SN == CurPkg.Item.Package.SN) + .Where(q => q.WORK_ORDER == wo && wipIDs.Contains(q.WIP_ID)) + .ExecuteCommand(); } }; } @@ -905,7 +928,8 @@ { if (CurPkg.IsFinished) { - var _pkgList = CurPosition.GetPackageList(CurPkg.Item); + var _pkgList = CurPosition.GetPackageList(CurPkg.Item).Clone(); + var _lastWipID = CurPosition.LastWipSNs?.FirstOrDefault()?.ID; //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 CurPosition.NeedTemporaryStoreDBCommitAction = false; @@ -916,41 +940,57 @@ if (_pkgList.Any()) { db.Storageable(_pkgList, CurPosition.UserCode).ExecuteCommand(); - foreach (var pkg in _pkgList.Where(q => !q.WIP_ID.IsNullOrEmpty())) - { - //鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛� - 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(); - //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц繃绋嬭褰� - var endOperCode = CurPkg.IsReachedEndNode ? "EndNode" : "NotReachedEndNode"; - 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.NODE_ID == pkg.NODE_ID || q.OPER_CODE == endOperCode)) - .ExecuteCommand(); - //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц涓鸿褰� - db.Updateable<MES_WIP_ACT>() - .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.NODE_ID == pkg.NODE_ID && q.ACT_ID == pkg.ACT_ID) - .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 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>(CurPosition.UserCode) + .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 && wipIDs.Contains(q.ID)) + .ExecuteCommand(); + //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц繃绋嬭褰� + var endOperCode = CurPkg.IsReachedEndNode ? "EndNode" : "NotReachedEndNode"; + db.Updateable<MES_WIP_HIS>(CurPosition.UserCode) + .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.NODE_ID == nodeID || q.OPER_CODE == endOperCode) && wipIDs.Contains(q.WIP_ID)) + .ExecuteCommand(); + //鍖呰淇℃伅淇濆瓨鍒扮敓浜ц涓鸿褰� + db.Updateable<MES_WIP_ACT>(CurPosition.UserCode) + .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.NODE_ID == nodeID && q.ACT_ID == actID && wipIDs.Contains(q.WIP_ID)) + .ExecuteCommand(); + db.Updateable<MES_WIP_ACT>(CurPosition.UserCode) + .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>(CurPosition.UserCode) + .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 == "InStore") + .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>(CurPosition.UserCode) + .SetColumns(q => q.TRAY_SN == CurPkg.Item.Package.SN) + .SetColumns(q => q.OUTER_SN == CurPkg.Item.Package.SN) + .Where(q => q.WORK_ORDER == wo && wipIDs.Contains(q.WIP_ID)) + .ExecuteCommand(); } }); //濡傛灉褰撳墠鏉$爜宸茬粡瀹屽伐锛屾鏌ュ綋鍓嶅伐鍗曟壒娆″拰宸ュ崟鏄惁瀹屽伐 - if (CurPkg.IsReachedEndNode) + //if (CurPkg.IsReachedEndNode) { CurPosition.WorkBatch.CheckIsComplete(CurPosition.UserCode); } -- Gitblit v1.9.3