From a7496b3785a33c14079b859c88b91a537c454cd5 Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 06 八月 2024 20:03:49 +0800 Subject: [PATCH] 增加不良记录的保存 --- Tiger.Business.MES/WorkAction/PackingAction.cs | 202 +++++++++++++++++++++++++++---------------------- 1 files changed, 111 insertions(+), 91 deletions(-) diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs index 23cc2a3..d5b882d 100644 --- a/Tiger.Business.MES/WorkAction/PackingAction.cs +++ b/Tiger.Business.MES/WorkAction/PackingAction.cs @@ -6,6 +6,7 @@ using System.Text; using System.Threading.Tasks; using Tiger.IBusiness; +using Tiger.IBusiness.MES.WorkAction; using Tiger.Model; using Tiger.Model.Entitys.MES.Position; @@ -26,8 +27,8 @@ public WipPkgItem CurPkgItem { get; set; } public PackingActionOutput CurCmd { get; set; } public int PrintTimes = 0; - public Dictionary<int, BAS_LABEL_TEMP> LabelDic { get; set; } - public List<BAS_LABEL_PV> LabelPV { get; set; } + public Dictionary<int, BAS_LABEL_TEMP> LabelDic { get; set; } = new(); + public List<BAS_LABEL_PV> LabelPV { get; set; } = new(); public int FinishLevel = 0; #endregion Propertys & Variables @@ -55,12 +56,13 @@ PkgRule = Biz.Db.Queryable<BAS_PKG_RULE>().Where(q => q.RULE_CODE == setting.PKG_CODE).IncludesAllFirstLayer().IncludesAllSecondLayer(q => q.Details).First(); } //鏍规嵁琛屼负璁剧疆鑾峰彇澶氬眰鍖呰鐨勬爣绛炬墦鍗版ā鏉垮瓧鍏� - for (int i = 1; i < 10; i++) + var codes = (Setting.OPTION_1?? "").JsonToObject<List<WipPkgItem>>(); + foreach (var code in codes) { - var code = Setting.GetType().GetProperty($"OPTION_{i}")?.GetValue(Setting).ToString() ?? ""; - var label = code.IsNullOrEmpty() ? null : Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == code).IncludesAllFirstLayer().First(); - LabelDic.Add(i, label); + var label = code.LABEL_CODE.IsNullOrEmpty() ? null : Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == code.LABEL_CODE).IncludesAllFirstLayer().First(); + LabelDic.Add(code.PKG_LEVEL, label); } + LabelPV = Biz.Db.Queryable<BAS_LABEL_PV>().ToList(); //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓紝鏈夊垯鑾峰彇褰撳墠鐨勫寘瑁呰褰� if (CurPosition.Context.ContainsKey("CurPackage") && !CurPosition.Context["CurPackage"].IsNullOrEmpty()) { @@ -80,7 +82,7 @@ IS_MIN_PKG = max.PkgType.IS_MIN_PKG, PKG_LEVEL = max.PKG_LEVEL, PKG_QTY = max.PKG_QTY, - LABEL_CODE = LabelDic[max.PKG_LEVEL].LABEL_CODE, + LABEL_CODE = LabelDic[max.PKG_LEVEL]?.LABEL_CODE, } }; WipPkgItem child = null; @@ -95,7 +97,7 @@ IS_MIN_PKG = dtl.PkgType.IS_MIN_PKG, PKG_LEVEL = dtl.PKG_LEVEL, PKG_QTY = dtl.PKG_QTY, - LABEL_CODE = LabelDic[dtl.PKG_LEVEL].LABEL_CODE, + LABEL_CODE = LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, }; if (!child.IsNullOrEmpty()) { @@ -104,7 +106,11 @@ child = item; } } - CurPkg.Item.Items.Add(child); + if (!child.IsNullOrEmpty()) + { + CurPkg.Item.Items.Add(child); + } + } } @@ -118,14 +124,14 @@ //琛屼负璁惧畾鐨凮PTION_1鏄涓�灞傚寘瑁呯殑鏍囩妯℃澘浠g爜锛屽鏋滀负绌哄垯涓嶉渶瑕佹墦鍗� if (LabelDic[min.PKG_LEVEL].IsNullOrEmpty()) { - var msg = new Locale("MES.WorkAction.PackingAction.BeginMsg", min.PKG_LEVEL, min.PkgType.PKG_NAME, CurPosition.CurWipSN.SN); + var msg = new Locale("MES.WorkAction.PackingAction.BeginMsg", min.PKG_LEVEL, min.PkgType.PKG_NAME, CurPosition.CurSN); //var msg = new Locale($"宸叉壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮乕{CurPosition.CurWipSN.SN}]"); return msg; } else { - var msg = new Locale("MES.WorkAction.PackingAction.BeginPrint", min.PKG_LEVEL, min.PkgType.PKG_NAME, LabelDic[min.PKG_LEVEL].LABEL_CODE, LabelDic[min.PKG_LEVEL].LABEL_NAME); - //var msg = new Locale($"寮�濮嬫墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL].LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); + var msg = new Locale("MES.WorkAction.PackingAction.BeginPrint", min.PKG_LEVEL, min.PkgType.PKG_NAME, LabelDic[min.PKG_LEVEL]?.LABEL_CODE, LabelDic[min.PKG_LEVEL].LABEL_NAME); + //var msg = new Locale($"寮�濮嬫墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); return msg; } } @@ -140,7 +146,7 @@ action.LocaleMsg = GetBeginMsg(); var min = PkgRule.Details.OrderBy(q => q.PKG_LEVEL).First(); - //琛屼负璁惧畾鐨凮PTION_1-9鏄寘瑁呬笉鍚屽眰绾х殑鏍囩妯℃澘浠g爜锛屽鏋滀负绌哄垯涓嶉渶瑕佹墦鍗� + //鏍规嵁鍖呰涓嶅悓灞傜骇鐨勬爣绛炬ā鏉夸唬鐮侊紝濡傛灉涓虹┖鍒欎笉闇�瑕佹墦鍗� if (LabelDic[min.PKG_LEVEL].IsNullOrEmpty()) { input.Data = new PackingActionInput() @@ -148,7 +154,7 @@ ExecCode = "Scan", IsFinish = true, PkgLevel = min.PKG_LEVEL, - PkgSN = CurPosition.CurWipSN.SN, + PkgSN = CurPosition.CurSN, }.ToJson(); action = Submit(input); } @@ -164,8 +170,8 @@ CurCmd = data; PrintTimes++; action.Data.Data = data; - //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL].LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); - action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, min.PKG_LEVEL, min.PkgType.PKG_NAME, LabelDic[min.PKG_LEVEL].LABEL_CODE, LabelDic[min.PKG_LEVEL].LABEL_NAME); + //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); + action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, min.PKG_LEVEL, min.PkgType.PKG_NAME, LabelDic[min.PKG_LEVEL]?.LABEL_CODE, LabelDic[min.PKG_LEVEL].LABEL_NAME); } //濡傛灉杩斿洖鎴愬姛鍒欒涓哄綋鍓嶈涓哄彲浠ュ紑濮嬫墽琛岋紝鍚﹀垯杩斿洖澶辫触 @@ -232,16 +238,16 @@ { PrintTimes++; action.Data.Data = CurCmd; - //action.LocaleMsg = new Locale($"寮�濮媨PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL].LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]"); - action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL].LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); + //action.LocaleMsg = new Locale($"寮�濮媨PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]"); + action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); } else { CurCmd = null; PrintTimes = 0; action.IsSuccessed = false; - //action.LocaleMsg = new($"灏濊瘯绗瑊PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL].LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]澶辫触锛屽伐搴忓凡閲嶇疆锛岃閲嶆柊鎵弿杩涚珯浜у搧鏉$爜"); - action.LocaleMsg = new("MES.WorkAction.PackingAction.PrintFail3Times", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL].LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); + //action.LocaleMsg = new($"灏濊瘯绗瑊PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]澶辫触锛屽伐搴忓凡閲嶇疆锛岃閲嶆柊鎵弿杩涚珯浜у搧鏉$爜"); + action.LocaleMsg = new("MES.WorkAction.PackingAction.PrintFail3Times", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); CurPosition.ResetNode(); } } @@ -295,8 +301,8 @@ CurCmd = data; PrintTimes++; action.Data.Data = data; - //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL].LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); - action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL].LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); + //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); + action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); } } break; @@ -331,7 +337,7 @@ IS_MIN_PKG = dtl.PkgType.IS_MIN_PKG, PKG_LEVEL = dtl.PKG_LEVEL, PKG_QTY = dtl.PKG_QTY, - LABEL_CODE = LabelDic[dtl.PKG_LEVEL].LABEL_CODE, + LABEL_CODE = LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, IsFinished = true, Package = new() { @@ -339,20 +345,20 @@ AUTH_PROD = CurPosition.CurLine.LINE_CODE, SN = pInput.PkgSN, PKG_TYPE = dtl.PkgType.PKG_NAME, - ITEM_CODE = CurPosition.CurWipSN.ITEM_CODE, - QTY = CurPosition.CurWipSN.QTY, + ITEM_CODE = CurPosition.CurWipSNs.First().ITEM_CODE, + QTY = CurPosition.CurWipSNs.First().QTY, UNIT = dtl.PkgType.PKG_NAME, - WORK_ORDER = CurPosition.CurWipSN.WORK_ORDER, - BATCH_NO = CurPosition.CurWipSN.BATCH_NO, - ROT_CODE = CurPosition.CurWipSN.ROT_CODE, - NODE_ID = CurPosition.CurWipSN.NODE_ID, - NODE_NAME = CurPosition.CurWipSN.NODE_NAME, - FTY_CODE = CurPosition.CurWipSN.FTY_CODE, - WS_CODE = CurPosition.CurWipSN.WS_CODE, - LINE_CODE = CurPosition.CurWipSN.LINE_CODE, - POST_CODE = CurPosition.CurWipSN.POST_CODE, - OPER_CODE = CurPosition.CurWipSN.OPER_CODE, - SEGMENT = CurPosition.CurWipSN.SEGMENT, + WORK_ORDER = CurPosition.CurWipSNs.First().WORK_ORDER, + BATCH_NO = CurPosition.CurWipSNs.First().BATCH_NO, + ROT_CODE = CurPosition.CurWipSNs.First().ROT_CODE, + NODE_ID = CurPosition.CurWipSNs.First().NODE_ID, + NODE_NAME = CurPosition.CurWipSNs.First().NODE_NAME, + FTY_CODE = CurPosition.CurWipSNs.First().FTY_CODE, + WS_CODE = CurPosition.CurWipSNs.First().WS_CODE, + LINE_CODE = CurPosition.CurWipSNs.First().LINE_CODE, + POST_CODE = CurPosition.CurWipSNs.First().POST_CODE, + OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE, + SEGMENT = CurPosition.CurWipSNs.First().SEGMENT, } }; FinishLevel++; @@ -371,20 +377,20 @@ AUTH_PROD = CurPosition.CurLine.LINE_CODE, SN = pInput.PkgSN, PKG_TYPE = dtl.PkgType.PKG_NAME, - ITEM_CODE = CurPosition.CurWipSN.ITEM_CODE, + ITEM_CODE = CurPosition.CurWipSNs.First().ITEM_CODE, QTY = CurPkgItem.Items.Sum(q => q.Package.QTY), UNIT = dtl.PkgType.PKG_NAME, - WORK_ORDER = CurPosition.CurWipSN.WORK_ORDER, - BATCH_NO = CurPosition.CurWipSN.BATCH_NO, - ROT_CODE = CurPosition.CurWipSN.ROT_CODE, - NODE_ID = CurPosition.CurWipSN.NODE_ID, - NODE_NAME = CurPosition.CurWipSN.NODE_NAME, - FTY_CODE = CurPosition.CurWipSN.FTY_CODE, - WS_CODE = CurPosition.CurWipSN.WS_CODE, - LINE_CODE = CurPosition.CurWipSN.LINE_CODE, - POST_CODE = CurPosition.CurWipSN.POST_CODE, - OPER_CODE = CurPosition.CurWipSN.OPER_CODE, - SEGMENT = CurPosition.CurWipSN.SEGMENT, + WORK_ORDER = CurPosition.CurWipSNs.First().WORK_ORDER, + BATCH_NO = CurPosition.CurWipSNs.First().BATCH_NO, + ROT_CODE = CurPosition.CurWipSNs.First().ROT_CODE, + NODE_ID = CurPosition.CurWipSNs.First().NODE_ID, + NODE_NAME = CurPosition.CurWipSNs.First().NODE_NAME, + FTY_CODE = CurPosition.CurWipSNs.First().FTY_CODE, + WS_CODE = CurPosition.CurWipSNs.First().WS_CODE, + LINE_CODE = CurPosition.CurWipSNs.First().LINE_CODE, + POST_CODE = CurPosition.CurWipSNs.First().POST_CODE, + OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE, + SEGMENT = CurPosition.CurWipSNs.First().SEGMENT, }; FinishLevel++; //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇 @@ -417,7 +423,7 @@ IS_MIN_PKG = nextDtl.PkgType.IS_MIN_PKG, PKG_LEVEL = nextDtl.PKG_LEVEL, PKG_QTY = nextDtl.PKG_QTY, - LABEL_CODE = LabelDic[nextDtl.PKG_LEVEL].LABEL_CODE, + LABEL_CODE = LabelDic[nextDtl.PKG_LEVEL]?.LABEL_CODE, }; curItem.Items.Add(next); } @@ -456,8 +462,8 @@ CurCmd = data; PrintTimes++; action.Data.Data = data; - //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL].LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]"); - action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL].LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); + //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]"); + action.LocaleMsg = new Locale("MES.WorkAction.PackingAction.BeginPrint", PrintTimes, dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME, LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE, LabelDic[dtl.PKG_LEVEL].LABEL_NAME); } } //褰撳墠鍖呰灞傜骇鐨勬槑缁嗘暟閲忔湭杈惧埌鍖呰鏁伴噺锛屽垯瀹屾垚鏈鎵弿锛岀瓑寰呬笅涓骇鍝佽繘绔� @@ -517,9 +523,6 @@ throw dbTran.ErrorException; } - //鍒犻櫎宸ュ簭涓婁笅鏂囦腑鐨勫寘瑁呰褰� - CurPosition.Context.Remove("CurPackage"); - var data = new PackingActionOutput() { PkgInfo = CurPkg }; data.ExecCode = "Complete"; data.PkgLevel = CurPkg.Item.PKG_LEVEL; @@ -546,58 +549,75 @@ var action = new ApiAction<SubmitOutput>(new SubmitOutput()); //璁板綍琛屼负鎿嶄綔璁板綍 - var wipAct = new MES_WIP_ACT() + var wipActs = new List<MES_WIP_ACT>(); + foreach (var wipSn in CurPosition.CurWipSNs) { - AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, - AUTH_PROD = CurPosition.CurLine.LINE_CODE, - HIS_ID = CurPosition.CurWipSNHis.ID, - SN = CurPosition.CurWipSN.SN, - STATUS = CurPosition.CurWipSN.STATUS, - ITEM_CODE = CurPosition.CurWipSN.ITEM_CODE, - WORK_ORDER = CurPosition.CurWipSN.WORK_ORDER, - BATCH_NO = CurPosition.CurWipSN.BATCH_NO, - ROT_CODE = CurPosition.CurWipSN.ROT_CODE, - NODE_ID = CurPosition.CurWipSN.NODE_ID, - NODE_NAME = CurPosition.CurWipSN.NODE_NAME, - ACT_ID = NodeAct.ID, - ACT_NAME = NodeAct.ACT_NAME, - FTY_CODE = CurPosition.CurWipSN.FTY_CODE, - WS_CODE = CurPosition.CurWipSN.WS_CODE, - LINE_CODE = CurPosition.CurWipSN.LINE_CODE, - POST_CODE = CurPosition.CurWipSN.POST_CODE, - OPER_CODE = CurPosition.CurWipSN.OPER_CODE, - SEGMENT = CurPosition.CurWipSN.SEGMENT, - TRAY_SN = CurPosition.CurWipSN.TRAY_SN, - OPERATION_TIME = DateTime.Now, - SFTS_CODE = CurPosition.CurWipSN.SFTS_CODE, - SFT_CODE = CurPosition.CurWipSN.SFT_CODE, - PRD_CODE = CurPosition.CurWipSN.PRD_CODE, - ACT_TYPE = NodeAct.ACT_TYPE, - ACT_SN = CurPosition.CurWipSN.SN, - ACT_RESULT = "Y", - TRACE_INFO = $"浜у搧鏉$爜[{CurPosition.CurWipSN.SN}]鍖呰瀹屾垚", - }; + var wipAct = new MES_WIP_ACT() + { + AUTH_ORG = CurPosition.WorkBatch.WO.AUTH_ORG, + AUTH_PROD = CurPosition.CurLine.LINE_CODE, + HIS_ID = CurPosition.CurWipSNHiss.First(q => q.SN == wipSn.SN).ID, + SN = wipSn.SN, + STATUS = wipSn.STATUS, + ITEM_CODE = wipSn.ITEM_CODE, + WORK_ORDER = wipSn.WORK_ORDER, + BATCH_NO = wipSn.BATCH_NO, + ROT_CODE = wipSn.ROT_CODE, + NODE_ID = wipSn.NODE_ID, + NODE_NAME = wipSn.NODE_NAME, + ACT_ID = NodeAct.ID, + ACT_NAME = NodeAct.ACT_NAME, + FTY_CODE = wipSn.FTY_CODE, + WS_CODE = wipSn.WS_CODE, + LINE_CODE = wipSn.LINE_CODE, + POST_CODE = wipSn.POST_CODE, + OPER_CODE = wipSn.OPER_CODE, + SEGMENT = wipSn.SEGMENT, + TRAY_SN = wipSn.TRAY_SN, + OPERATION_TIME = DateTime.Now, + SFTS_CODE = wipSn.SFTS_CODE, + SFT_CODE = wipSn.SFT_CODE, + PRD_CODE = wipSn.PRD_CODE, + ACT_TYPE = NodeAct.ACT_TYPE, + ACT_SN = wipSn.SN, + ACT_RESULT = "Y", + TRACE_INFO = $"浜у搧鏉$爜[{string.Join("锛�", CurPosition.CurSN)}]鍖呰瀹屾垚", + }; + wipActs.Add(wipAct); + } //淇濆瓨鏁版嵁 CurStep.DBSubmitAction = () => { var db = CurPosition.GetCommitDB(); - db.Storageable(wipAct, CurPosition.UserCode).ExecuteCommand(); + db.Storageable(wipActs, CurPosition.UserCode).ExecuteCommand(); }; - //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓� - if (CurPosition.Context.ContainsKey("CurPackage")) + if (CurPkg.IsFinished) { - CurPosition.Context["CurPackage"] = CurPkg; + //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 + CurPosition.NeedTemporaryStoreDBCommitAction = false; + //鍒犻櫎宸ュ簭涓婁笅鏂囦腑鐨勫寘瑁呰褰� + CurPosition.Context.Remove("CurPackage"); } else { - CurPosition.Context.Add("CurPackage", CurPkg); + //鏈�澶栧眰鍖呰鏈畬鎴愬寘瑁咃紝鍒欐妸宸ュ簭涓殏瀛樻爣璁拌涓簍rue锛屽緟鍏ㄩ儴鍖呰瀹屾垚鍐嶇粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 + CurPosition.NeedTemporaryStoreDBCommitAction = true; + //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓� + if (CurPosition.Context.ContainsKey("CurPackage")) + { + CurPosition.Context["CurPackage"] = CurPkg; + } + else + { + CurPosition.Context.Add("CurPackage", CurPkg); + } } IsFinished = true; - action.LocaleMsg = new($"浜у搧鏉$爜[{CurPosition.CurWipSN.SN}]鍖呰瀹屾垚"); - action.LocaleMsg = new("MES.WorkAction.PackingAction.PackingSuccess", CurPosition.CurWipSN.SN); + action.LocaleMsg = new($"浜у搧鏉$爜[{CurPosition.CurSN}]鍖呰瀹屾垚"); + action.LocaleMsg = new("MES.WorkAction.PackingAction.PackingSuccess", CurPosition.CurSN); return action; } -- Gitblit v1.9.3