From 0116b5d2ed16a0825da9e7474fc786ee06b2d60c Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期三, 04 九月 2024 08:40:31 +0800 Subject: [PATCH] 增加公布提示信息和状态 --- Tiger.Business.MES/WorkAction/PackingAction.cs | 76 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 10 deletions(-) diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs index b87f18b..5172731 100644 --- a/Tiger.Business.MES/WorkAction/PackingAction.cs +++ b/Tiger.Business.MES/WorkAction/PackingAction.cs @@ -25,6 +25,7 @@ public MES_WO_ACTION Setting { get; set; } #endregion public BAS_PKG_RULE PkgRule { get; set; } + public BAS_PKG_PROD PkgProd { get; set; } public WipPkg CurPkg { get; set; } public WipPkgItem CurPkgItem { get; set; } public PackingActionOutput CurCmd { get; set; } @@ -68,6 +69,8 @@ LabelPV = Biz.Db.Queryable<BAS_LABEL_PV>().ToList(); //鑾峰彇鏄惁鍖呰瀹屽悗闇�瑕佺О閲� NeedWeighing = Setting.OPTION_2 == "Y"; + //鑾峰彇鍖呰瑙勫垯鐨勭О閲嶈寖鍥� + PkgProd = Biz.Db.Queryable<BAS_PKG_PROD>().Where(q => q.PKG_RULE_ID == PkgRule.ID && q.ITEM_CODE == CurPosition.WorkBatch.WO.ITEM_CODE).First(); //濡傛灉宸ュ簭涓婁笅鏂囦腑娌℃湁鍖呰璁板綍鍒欐柊寤轰竴涓紝鏈夊垯鑾峰彇褰撳墠鐨勫寘瑁呰褰� if (CurPosition.Context.ContainsKey("CurPackage") && !CurPosition.Context["CurPackage"].IsNullOrEmpty()) { @@ -174,6 +177,8 @@ data.PrintLable = LabelDic[min.PKG_LEVEL]; CurCmd = data; PrintTimes++; + CurStep.Message = Biz.L("鎵撳嵃鏍囩"); + CurStep.Status = StepStatus.Normal; action.Data.Data = data; action.Data.ShortMsg = new("鎵撳嵃鏍囩", ShortMessage.Types.Normal); //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); @@ -204,6 +209,8 @@ if (!pInput.IsFinish || pInput.PkgSN.IsNullOrEmpty()) { var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel); + CurStep.Message = Biz.L("鎵弿閿欒"); + CurStep.Status = StepStatus.Error; action.Data.ShortMsg = new("鎵弿閿欒", ShortMessage.Types.Error); action.IsSuccessed = false; //action.LocaleMsg = new($"鏉$爜鎵弿澶辫触锛岃閲嶆柊鎵弿绗瑊dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�"); @@ -214,6 +221,8 @@ if (GetPackageList(CurPkg.Item).Any(q => q.SN == pInput.PkgSN)) { var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel); + CurStep.Message = Biz.L("鎵弿閿欒"); + CurStep.Status = StepStatus.Error; action.Data.ShortMsg = new("鎵弿閿欒", ShortMessage.Types.Error); action.IsSuccessed = false; //action.LocaleMsg = new($"鏉$爜[{pInput.PkgSN}]鏃犻渶閲嶅鎵弿锛岃鎵弿绗瑊dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�"); @@ -226,6 +235,8 @@ action = SavePkgData(input, action); if (action.IsSuccessed) { + CurStep.Message = Biz.L("鎵弿鎴愬姛"); + CurStep.Status = StepStatus.Success; action.Data.ShortMsg = new("鎵弿鎴愬姛", ShortMessage.Types.Success); } } @@ -244,6 +255,8 @@ data.ExecCode = "Scan"; data.PkgLevel = dtl.PKG_LEVEL; CurCmd = data; + CurStep.Message = Biz.L("鎵弿鏍囩"); + CurStep.Status = StepStatus.Normal; action.Data.Data = data; action.Data.ShortMsg = new("鎵弿鏍囩", ShortMessage.Types.Normal); //action.LocaleMsg = new($"璇锋壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�"); @@ -256,6 +269,8 @@ if (PrintTimes < 3 && !CurCmd.IsNullOrEmpty()) { PrintTimes++; + CurStep.Message = Biz.L("閲嶆柊鎵撳嵃"); + CurStep.Status = StepStatus.Normal; action.Data.Data = CurCmd; action.Data.ShortMsg = new("閲嶆柊鎵撳嵃", ShortMessage.Types.Normal); //action.LocaleMsg = new Locale($"寮�濮媨PrintTimes}娆℃墦鍗扮{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[dtl.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[dtl.PKG_LEVEL].LABEL_NAME}]"); @@ -265,6 +280,8 @@ { CurCmd = null; PrintTimes = 0; + CurStep.Message = Biz.L("鎵撳嵃澶辫触"); + CurStep.Status = StepStatus.Error; action.Data.ShortMsg = new("鎵撳嵃澶辫触", ShortMessage.Types.Failed); 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}]澶辫触锛屽伐搴忓凡閲嶇疆锛岃閲嶆柊鎵弿杩涚珯浜у搧鏉$爜"); @@ -280,6 +297,19 @@ { if (!pInput.WeightInfo.IsNullOrEmpty() && pInput.WeightInfo.Weight > 0) { + //楠岃瘉閲嶉噺鏁版嵁鏄惁绗﹀悎璁剧疆濂界殑閲嶉噺鑼冨洿 + if (!PkgProd.IsNullOrEmpty() && (pInput.WeightInfo.Weight < PkgProd.MIN_WEIGHT || PkgProd.MIN_WEIGHT < pInput.WeightInfo.Weight)) + { + action.IsSuccessed = false; + CurStep.Message = Biz.L("閲嶉噺瓒呴檺"); + CurStep.Status = StepStatus.Error; + action.Data.Data = CurCmd; + action.Data.ShortMsg = new("閲嶉噺瓒呴檺", ShortMessage.Types.Failed); + //action.LocaleMsg = new($"澶栧寘瑁呴噸閲廩{0}]瓒呭嚭浜у搧[{1}]鍦ㄥ寘瑁呰鍒橻{2}]涓殑棰勮鑼冨洿[{3} - {4}]锛岃澶勭悊鍚庨噸鏂颁笂绉扮О閲�"); + action.LocaleMsg = new("MES.WorkAction.PackingAction.PackageOverWeight", pInput.WeightInfo.Weight + pInput.WeightInfo.Unit.IsNullOrEmpty("", " " + pInput.WeightInfo.Unit), CurPosition.WorkBatch.WO.ITEM_CODE, PkgRule.RULE_NAME, PkgProd.MIN_WEIGHT + PkgProd.MIN_UNIT.IsNullOrEmpty("", " " + PkgProd.MIN_UNIT), PkgProd.MAX_WEIGHT + PkgProd.MAX_UNIT.IsNullOrEmpty("", " " + PkgProd.MAX_UNIT)); + return action; + } + CurCmd = null; PrintTimes = 0; CurPkg.WeightInfo.Weight = pInput.WeightInfo.Weight; @@ -291,7 +321,7 @@ //鏈�澶栧眰鍖呰宸插鐞嗗畬鎴愬垯鐩存帴缁撴潫琛屼负 if (CurPkg.Item.PKG_LEVEL == FinishLevel) { - action = End(); + action = End(input); } //鏈�澶栧眰鍖呰鏈墦鍗版壂鎻忓垯缁х画 else @@ -303,7 +333,9 @@ data.ExecCode = "Scan"; data.PkgLevel = dtl.PKG_LEVEL; CurCmd = data; - action.Data.Data = data; + CurStep.Message = Biz.L("鎵弿鏍囩"); + CurStep.Status = StepStatus.Normal; + action.Data.Data = data; action.Data.ShortMsg = new("鎵弿鏍囩", ShortMessage.Types.Normal); //action.LocaleMsg = new($"璇锋壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�"); action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME); @@ -319,7 +351,9 @@ data.PrintLable = LabelDic[dtl.PKG_LEVEL]; CurCmd = data; PrintTimes++; - action.Data.Data = data; + CurStep.Message = Biz.L("鎵撳嵃鏍囩"); + CurStep.Status = StepStatus.Normal; + action.Data.Data = data; action.Data.ShortMsg = new("鎵撳嵃鏍囩", ShortMessage.Types.Normal); //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); @@ -331,10 +365,12 @@ else { action.IsSuccessed = false; + CurStep.Message = Biz.L("绉伴噸澶辫触"); + CurStep.Status = StepStatus.Error; action.Data.Data = CurCmd; action.Data.ShortMsg = new("绉伴噸澶辫触", ShortMessage.Types.Failed); - //action.LocaleMsg = new($"鍖呰[{CurPkgItem.Package.SN}]绉伴噸鏁版嵁寮傚父锛岃閲嶆柊涓婄О绉伴噸"); - action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseWeighingAgain", CurPkgItem.Package.SN); + //action.LocaleMsg = new($"澶栧寘瑁呯О閲嶆暟鎹紓甯革紝璇烽噸鏂颁笂绉扮О閲�"); + action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseWeighingAgain"); return action; } } @@ -352,6 +388,8 @@ data.ExecCode = "Weighing"; data.PkgLevel = CurPkgItem.PKG_LEVEL; CurCmd = data; + CurStep.Message = Biz.L("鍖呰鎴愬姛"); + CurStep.Status = StepStatus.Success; action.Data.Data = data; action.Data.ShortMsg = new("鍖呰鎴愬姛", ShortMessage.Types.Success); //action.LocaleMsg = new($"璇锋妸鍖呰[{CurPkgItem.Package.SN}]涓婄О绉伴噸"); @@ -359,7 +397,7 @@ } else { - action = End(); + action = End(input); } } break; @@ -386,6 +424,8 @@ data.ExecCode = "Scan"; data.PkgLevel = dtl.PKG_LEVEL; CurCmd = data; + CurStep.Message = Biz.L("鎵弿鏍囩"); + CurStep.Status = StepStatus.Normal; action.Data.Data = data; action.Data.ShortMsg = new("鎵弿鏍囩", ShortMessage.Types.Normal); //action.LocaleMsg = new($"璇锋壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�"); @@ -402,6 +442,8 @@ data.PrintLable = LabelDic[dtl.PKG_LEVEL]; CurCmd = data; PrintTimes++; + CurStep.Message = Biz.L("鎵撳嵃鏍囩"); + CurStep.Status = StepStatus.Normal; action.Data.Data = data; action.Data.ShortMsg = new("鎵撳嵃鏍囩", ShortMessage.Types.Normal); //action.LocaleMsg = new Locale($"寮�濮嬬{PrintTimes}娆℃墦鍗扮{min.PKG_LEVEL}灞傚寘瑁匸{min.PkgType.PKG_NAME}]鐨勬爣绛綶{LabelDic[min.PKG_LEVEL]?.LABEL_CODE}: {LabelDic[min.PKG_LEVEL].LABEL_NAME}]"); @@ -551,6 +593,8 @@ data.ExecCode = "Weighing"; data.PkgLevel = CurPkgItem.PKG_LEVEL; CurCmd = data; + CurStep.Message = Biz.L("涓婄О绉伴噸"); + CurStep.Status = StepStatus.Normal; action.Data.Data = data; action.Data.ShortMsg = new("涓婄О绉伴噸", ShortMessage.Types.Success); //action.LocaleMsg = new($"璇锋妸澶栧寘瑁呬笂绉扮О閲�"); @@ -565,7 +609,9 @@ data.ExecCode = "Scan"; data.PkgLevel = dtl.PKG_LEVEL; CurCmd = data; - action.Data.Data = data; + CurStep.Message = Biz.L("鎵弿鏍囩"); + CurStep.Status = StepStatus.Normal; + action.Data.Data = data; action.Data.ShortMsg = new("鎵弿鏍囩", ShortMessage.Types.Normal); //action.LocaleMsg = new($"璇锋壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�"); action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME); @@ -581,7 +627,9 @@ data.PrintLable = LabelDic[dtl.PKG_LEVEL]; CurCmd = data; PrintTimes++; - action.Data.Data = data; + CurStep.Message = Biz.L("鎵撳嵃鏍囩"); + CurStep.Status = StepStatus.Normal; + action.Data.Data = data; action.Data.ShortMsg = new("鎵撳嵃鏍囩", ShortMessage.Types.Normal); //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); @@ -591,12 +639,14 @@ //褰撳墠鍖呰灞傜骇鐨勬槑缁嗘暟閲忔湭杈惧埌鍖呰鏁伴噺锛屽垯瀹屾垚鏈鎵弿锛岀瓑寰呬笅涓骇鍝佽繘绔� else { - action = End(); + action = End(input); } } //鏁版嵁寮傚父 else { + CurStep.Message = Biz.L("鍖呰閿欒"); + CurStep.Status = StepStatus.Error; action.Data.ShortMsg = new("鍖呰閿欒", ShortMessage.Types.Error); var pdtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel); action.IsSuccessed = false; @@ -608,6 +658,8 @@ } catch (System.Exception ex) { + CurStep.Message = Biz.L("鍖呰寮傚父"); + CurStep.Status = StepStatus.Error; action.Data.ShortMsg = new("鍖呰寮傚父", ShortMessage.Types.Exception); var dtl = PkgRule.Details.First(q => q.PKG_LEVEL == pInput.PkgLevel); action.CatchExceptionWithLog(ex, $"鍖呰琛屼负锛氭壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮乕{input.SN}]鍚庝繚瀛樻暟鎹け璐�"); @@ -642,6 +694,8 @@ data.ExecCode = "Complete"; data.PkgLevel = CurPkg.Item.PKG_LEVEL; CurCmd = data; + CurStep.Message = Biz.L("淇濆瓨鍖呰鏁版嵁"); + CurStep.Status = StepStatus.Normal; action.Data.Data = data; action.Data.ShortMsg = new("淇濆瓨鍖呰鏁版嵁", ShortMessage.Types.Normal); //action.LocaleMsg = new($"绗瑊CurPkg.Item.PKG_LEVEL}灞傚寘瑁匸{CurPkg.Item.PKG_NAME}]宸茬粡鍏ㄩ儴瀹屾垚锛屼繚瀛樺寘瑁呮暟鎹�"); @@ -660,7 +714,7 @@ /// 缁撴潫鎵ц宸ュ簭琛屼负 /// </summary> /// <returns></returns> - public ApiAction<SubmitOutput> End() + public ApiAction<SubmitOutput> End(SubmitInput input) { var action = new ApiAction<SubmitOutput>(new SubmitOutput()); @@ -777,6 +831,8 @@ } IsFinished = true; + CurStep.Message = Biz.L("鍖呰瀹屾垚"); + CurStep.Status = StepStatus.Finished; action.Data.ShortMsg = new("鍖呰瀹屾垚", ShortMessage.Types.Success); return action; -- Gitblit v1.9.3