From 268c945b3c2bcaf75950531283fb9a89919b564e Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 14 十月 2024 23:51:17 +0800 Subject: [PATCH] 一些已知更改 --- Tiger.Business.MES/Transaction/PackingNode.cs | 27 +++++++++ Tiger.Business.MES/Transaction/Position.cs | 16 +++++ Tiger.Business.MES/WorkAction/PackingAction.cs | 79 ++++++++++---------------- Tiger.IBusiness.MES/Transaction/IPosition.cs | 2 4 files changed, 75 insertions(+), 49 deletions(-) diff --git a/Tiger.Business.MES/Transaction/PackingNode.cs b/Tiger.Business.MES/Transaction/PackingNode.cs index 6087d6d..c890d95 100644 --- a/Tiger.Business.MES/Transaction/PackingNode.cs +++ b/Tiger.Business.MES/Transaction/PackingNode.cs @@ -663,6 +663,7 @@ var _woSns = woSNs.Clone(); var _wipSns = CurWipSNs.Clone(); var _wipHiss = wipHiss.Clone(); + var _pkgList = curPkg?.IsFinished == true ? GetPackageList(curPkg.Item) : new(); //淇濆瓨鏁版嵁 endAction = () => { @@ -672,6 +673,32 @@ db.Storageable(_woSns, UserCode).ExecuteCommand(); db.Storageable(_wipSns, UserCode).ExecuteCommand(); db.Storageable(_wipHiss, UserCode).ExecuteCommand(); + if (_pkgList.Any()) + { + foreach (var pkg in _pkgList) + { + ////鍖呰淇℃伅淇濆瓨鍒板湪鍒跺搧淇℃伅琛� + //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.OPER_CODE == "EndNode") + .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(); + } + } }; } diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs index ee00d86..2ceb4b8 100644 --- a/Tiger.Business.MES/Transaction/Position.cs +++ b/Tiger.Business.MES/Transaction/Position.cs @@ -782,6 +782,22 @@ } } #endregion + #region 鍖呰涓撶敤鏂规硶 + public List<MES_WIP_PKG> GetPackageList(WipPkgItem parent) + { + List<MES_WIP_PKG> list = new(); + if (!parent.Package.IsNullOrEmpty()) + { + list.Add(parent.Package); + } + foreach (var item in parent.Items) + { + item.Package.PARENT_SN = parent.Package?.SN; + list.AddRange(GetPackageList(item)); + } + return list; + } + #endregion #endregion Functions public override bool Close(bool needSaveHistoryLog = false) diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs index bdc2ef7..f01a286 100644 --- a/Tiger.Business.MES/WorkAction/PackingAction.cs +++ b/Tiger.Business.MES/WorkAction/PackingAction.cs @@ -53,15 +53,16 @@ PkgRule = Biz.Db.Queryable<BAS_PKG_RULE>().Where(q => q.RULE_CODE == setting.PKG_CODE).IncludesAllFirstLayer().IncludesAllSecondLayer(q => q.Details).First(); //鏍规嵁琛屼负璁剧疆鑾峰彇澶氬眰鍖呰鐨勬爣绛炬墦鍗版ā鏉垮瓧鍏� - var codes = (Setting.OPTION_1 ?? "").JsonToObject<List<WipPkgItem>>(); + var codes = (Setting.OPTION_1 ?? "").JsonToObject<List<WipPkgItem>>()?? new List<WipPkgItem>(); foreach (var code in codes) { 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()) + + //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓紝鏈変笖鏈寘瑁呭畬鎴愬垯鑾峰彇褰撳墠鐨勫寘瑁呰褰� + if (CurPosition.Context.ContainsKey("CurPackage") && !CurPosition.Context["CurPackage"].IsNullOrEmpty() && !(CurPosition.Context["CurPackage"] as WipPkg).IsFinished) { CurPkg = (CurPosition.Context["CurPackage"] as WipPkg).Clone(); } @@ -108,6 +109,13 @@ if (!child.IsNullOrEmpty()) { CurPkg.Item.Items.Add(child); + } + + //鍒犻櫎宸ュ簭涓婁笅鏂囦腑鐨勫寘瑁呰褰� + if (CurPosition.Context.ContainsKey("CurPackage")) + { + CurPosition.Context.Remove("CurPackage"); + CurPosition.Context.Remove("CurLabelDic"); } } //鑾峰彇鏄惁鍖呰瀹屽悗闇�瑕佺О閲� @@ -259,7 +267,7 @@ return action; } //楠岃瘉褰撳墠鍖呰鏉$爜鏄惁宸茬粡琚壂鎻忚繃 - if (GetPackageList(CurPkg.Item).Any(q => q.SN == pInput.PkgSN)) + if (CurPosition.GetPackageList(CurPkg.Item).Any(q => q.SN == pInput.PkgSN)) { var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel); CurStep?.SetStatusMessage(StepStatus.Error, Biz.L("鎵弿閿欒")); @@ -650,7 +658,7 @@ //娣诲姞褰撳墠鐨勫寘瑁呮槑缁嗗埌涓婁竴灞傚寘瑁呯殑鏄庣粏鍒楄〃 if (!curItem.Items.Contains(CurPkgItem)) { - curItem.Items.Add(CurPkgItem); + curItem.Items.Add(CurPkgItem); } CurPkgItem = curItem; @@ -735,21 +743,6 @@ CurPosition.ResetNode(); } return action; - } - - private List<MES_WIP_PKG> GetPackageList(WipPkgItem parent) - { - List<MES_WIP_PKG> list = new(); - if (!parent.Package.IsNullOrEmpty()) - { - list.Add(parent.Package); - } - foreach (var item in parent.Items) - { - item.Package.PARENT_SN = parent.Package?.SN; - list.AddRange(GetPackageList(item)); - } - return list; } public List<MES_WIP_PKG> GetMinPackageList(WipPkgItem parent) @@ -861,7 +854,7 @@ //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊� var _wipActs = wipActs.Clone(); - var _pkgList = CurPkg.IsFinished ? GetPackageList(CurPkg.Item) : new(); + var _pkgList = CurPkg.IsFinished ? CurPosition.GetPackageList(CurPkg.Item) : new(); //淇濆瓨鏁版嵁 CurStep.DBSubmitAction = () => { @@ -887,14 +880,14 @@ .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 && q.NODE_ID == pkg.NODE_ID) + .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.ID == pkg.WIP_ID && q.NODE_ID == pkg.NODE_ID && q.ACT_ID == NodeAct.ID) + .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.WIP_ID == pkg.WIP_ID && q.NODE_ID == pkg.NODE_ID && q.ACT_ID == NodeAct.ID) .ExecuteCommand(); //鍖呰淇℃伅淇濆瓨鍒板伐鍗曟潯鐮佹槑缁嗚〃 db.Updateable<BIZ_MES_WO_SN>() @@ -910,7 +903,7 @@ { if (CurPkg.IsFinished) { - var _pkgList = GetPackageList(CurPkg.Item); + var _pkgList = CurPosition.GetPackageList(CurPkg.Item); //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 CurPosition.NeedTemporaryStoreDBCommitAction = false; @@ -935,14 +928,14 @@ .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 && q.NODE_ID == pkg.NODE_ID) + .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.ID == pkg.WIP_ID && q.NODE_ID == pkg.NODE_ID && q.ACT_ID == NodeAct.ID) + .Where(q => q.WORK_ORDER == pkg.WORK_ORDER && q.WIP_ID == pkg.WIP_ID && q.NODE_ID == pkg.NODE_ID && q.ACT_ID == NodeAct.ID) .ExecuteCommand(); //鍖呰淇℃伅淇濆瓨鍒板伐鍗曟潯鐮佹槑缁嗚〃 db.Updateable<BIZ_MES_WO_SN>() @@ -961,34 +954,22 @@ } } - if (CurPkg.IsFinished) + //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 + //鏈�澶栧眰鍖呰鏈畬鎴愬寘瑁咃紝鍒欐妸宸ュ簭涓殏瀛樻爣璁拌涓簍rue锛屽緟鍏ㄩ儴鍖呰瀹屾垚鍐嶇粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 + CurPosition.NeedTemporaryStoreDBCommitAction = !CurPkg.IsFinished; + //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓� + if (CurPosition.Context.ContainsKey("CurPackage")) { - //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屽垯鎶婂伐搴忎腑鏆傚瓨鏍囪璁句负false锛岀粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 - CurPosition.NeedTemporaryStoreDBCommitAction = false; - //鍒犻櫎宸ュ簭涓婁笅鏂囦腑鐨勫寘瑁呰褰� - CurPosition.Context.Remove("CurPackage"); - CurPosition.Context.Remove("CurLabelDic"); - //action.LocaleMsg = new($"鏉$爜[{CurPkg.Item.Package?.SN}]鍖呰瀹屾垚"); - action.LocaleMsg = new("MES.WorkAction.PackingAction.PackingSuccess", CurPkg.Item.Package.SN); + CurPosition.Context["CurPackage"] = CurPkg; + CurPosition.Context["CurLabelDic"] = LabelDic; } else { - //鏈�澶栧眰鍖呰鏈畬鎴愬寘瑁咃紝鍒欐妸宸ュ簭涓殏瀛樻爣璁拌涓簍rue锛屽緟鍏ㄩ儴鍖呰瀹屾垚鍐嶇粺涓�鎻愪氦鍖呰鍐呬骇鍝佺殑杩囩珯璁板綍 - CurPosition.NeedTemporaryStoreDBCommitAction = true; - //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓� - if (CurPosition.Context.ContainsKey("CurPackage")) - { - CurPosition.Context["CurPackage"] = CurPkg; - CurPosition.Context["CurLabelDic"] = LabelDic; - } - else - { - CurPosition.Context.Add("CurPackage", CurPkg); - CurPosition.Context.Add("CurLabelDic", LabelDic); - } - //action.LocaleMsg = new($"鏉$爜[{CurPosition.CurSN}]鍖呰瀹屾垚"); - action.LocaleMsg = new("MES.WorkAction.PackingAction.PackingSuccess", CurPosition.CurSN); + CurPosition.Context.Add("CurPackage", CurPkg); + CurPosition.Context.Add("CurLabelDic", LabelDic); } + //action.LocaleMsg = new($"鏉$爜[{CurPosition.CurSN}]鍖呰瀹屾垚"); + action.LocaleMsg = new("MES.WorkAction.PackingAction.PackingSuccess", CurPosition.CurSN); IsFinished = true; CurStep?.SetStatusMessage(StepStatus.Finished, Biz.L("鍖呰瀹屾垚")); diff --git a/Tiger.IBusiness.MES/Transaction/IPosition.cs b/Tiger.IBusiness.MES/Transaction/IPosition.cs index 112071d..c845cfc 100644 --- a/Tiger.IBusiness.MES/Transaction/IPosition.cs +++ b/Tiger.IBusiness.MES/Transaction/IPosition.cs @@ -5,6 +5,7 @@ using System.Text; using System.Threading.Tasks; using Tiger.Model; +using Tiger.Model.Entitys.MES.Position; namespace Tiger.IBusiness { @@ -71,6 +72,7 @@ /// <param name="lv">鏍囩妯℃澘鍙橀噺</param> /// <returns></returns> public string GetPrintProcessValue(List<BAS_LABEL_PV> labelPVs, BAS_LABEL_VAR lv, List<BAS_LABEL_VAR> lvars, IWorkAction action); + public List<MES_WIP_PKG> GetPackageList(WipPkgItem parent); #endregion Functions } } -- Gitblit v1.9.3