From 94359cabfd77f8cac9191b41a586b587953dffd5 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期三, 04 九月 2024 16:14:33 +0800
Subject: [PATCH] 增加雅达专用上料行为 增加雅达U9数据实体

---
 Tiger.Business.MES/WorkAction/PackingAction.cs |  211 +++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 167 insertions(+), 44 deletions(-)

diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs
index e6db837..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}]澶辫触锛屽伐搴忓凡閲嶇疆锛岃閲嶆柊鎵弿杩涚珯浜у搧鏉$爜");
@@ -274,18 +291,105 @@
                         }
                     }
                     break;
+                // Weighing锛氱О閲嶏紝瀹屾垚鍖呰鍚庡鏁翠釜鍖呰鎴愮О閲�
+                case "Weighing":
+                    if (CurCmd.ExecCode == "Weighing")
+                    {
+                        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;
+                            CurPkg.WeightInfo.Unit = pInput.WeightInfo.Unit;
+                            NeedWeighing = false;
+
+                            //绉伴噸鎴愬姛锛岀户缁涓�
+                            var dtl = PkgRule.Details.FirstOrDefault(q => q.PKG_LEVEL == FinishLevel + 1);
+                            //鏈�澶栧眰鍖呰宸插鐞嗗畬鎴愬垯鐩存帴缁撴潫琛屼负
+                            if (CurPkg.Item.PKG_LEVEL == FinishLevel)
+                            {
+                                action = End(input);
+                            }
+                            //鏈�澶栧眰鍖呰鏈墦鍗版壂鎻忓垯缁х画
+                            else
+                            {
+                                //濡傛灉涓虹┖鍒欎笉闇�瑕佹墦鍗�
+                                if (LabelDic[dtl.PKG_LEVEL].IsNullOrEmpty())
+	                            {
+	                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
+	                                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}]鐨勬爣绛炬潯鐮�");
+	                                action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
+	                            }
+	                            else
+	                            {
+	                                //璁剧疆鎵撳嵃鍙橀噺鍊�
+	                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL]);
+	
+	                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
+	                                data.ExecCode = "Print";
+	                                data.PkgLevel = dtl.PKG_LEVEL;
+	                                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}娆℃墦鍗扮{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
+                        {
+                            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($"澶栧寘瑁呯О閲嶆暟鎹紓甯革紝璇烽噸鏂颁笂绉扮О閲�");
+                            action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseWeighingAgain");
+                            return action;
+                        }
+                    }
+                    break;
                 // Complete锛氬畬鎴愶紝瀹屾垚鍏ㄩ儴鍖呰鍚庣粨鏉熻涓�
                 case "Complete":
                     if (CurCmd.ExecCode == "Complete")
                     {
                         CurCmd = null;
                         PrintTimes = 0;
+                        //鎵撳嵃鍚庣О閲�
                         if (NeedWeighing)
                         {
                             var data = new PackingActionOutput() { PkgInfo = CurPkg };
                             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}]涓婄О绉伴噸");
@@ -293,29 +397,7 @@
                         }
                         else
                         {
-                            action = End();
-                        }
-                    }
-                    break;
-                // Complete锛氬畬鎴愶紝瀹屾垚鍏ㄩ儴鍖呰鍚庣粨鏉熻涓�
-                case "Weighing":
-                    if (CurCmd.ExecCode == "Weighing")
-                    {
-                        if (!pInput.WeightInfo.IsNullOrEmpty() && pInput.WeightInfo.Weight > 0)
-                        {
-                            CurCmd = null;
-                            PrintTimes = 0;
-                            CurPkgItem.Package.WEIGHT = pInput.WeightInfo.Weight;
-                            CurPkgItem.Package.WEIGHT_UNIT = pInput.WeightInfo.Unit;
-                            action = End();
-                        }
-                        else
-                        {
-                            action.IsSuccessed = false;
-                            action.Data.ShortMsg = new("绉伴噸澶辫触", ShortMessage.Types.Failed);
-                            //action.LocaleMsg = new($"鍖呰[{CurPkgItem.Package.SN}]绉伴噸鏁版嵁寮傚父锛岃閲嶆柊涓婄О绉伴噸");
-                            action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseWeighingAgain", CurPkgItem.Package.SN);
-                            return action;
+                            action = End(input);
                         }
                     }
                     break;
@@ -342,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}]鐨勬爣绛炬潯鐮�");
@@ -358,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}]");
@@ -500,42 +586,67 @@
                         //娣诲姞鏄庣粏鍚庡垽鏂綋鍓嶅寘瑁呭眰绾х殑鏄庣粏鏁伴噺鏄惁绛変簬鍖呰鏁伴噺锛岃嫢鐩哥瓑鍒欐爣璁板綋鍓嶅寘瑁呭眰绾т负瀹屾垚骞跺皾璇曟墦鍗版爣绛�
                         if (CurPkgItem.Items.Count(q => q.IsFinished) == CurPkgItem.PKG_QTY || CurStep.IsNullOrEmpty())
                         {
-                            //琛屼负璁惧畾鐨凮PTION_1-9鏄寘瑁呬笉鍚屽眰绾х殑鏍囩妯℃澘浠g爜锛屽鏋滀负绌哄垯涓嶉渶瑕佹墦鍗�
-                            if (LabelDic[dtl.PKG_LEVEL].IsNullOrEmpty())
+                            //鎵撳嵃鍓嶇О閲嶏細濡傛灉褰撳墠鐨勫寘瑁呮槑缁嗙殑涓婁竴灞傚寘瑁呭璞℃槸鏈�澶栧眰鍖呰涓旈渶瑕佺О閲嶆椂锛屽厛绉伴噸锛屽悎鏍煎悗鍦ㄥ彂鍗版垨鑰呮壂鎻忔渶澶栧眰鍖呰鏍囩
+                            if (CurPkgItem.PKG_LEVEL == CurPkg.Item.PKG_LEVEL && NeedWeighing)
                             {
                                 var data = new PackingActionOutput() { PkgInfo = CurPkg };
-                                data.ExecCode = "Scan";
-                                data.PkgLevel = dtl.PKG_LEVEL;
+                                data.ExecCode = "Weighing";
+                                data.PkgLevel = CurPkgItem.PKG_LEVEL;
                                 CurCmd = data;
+                                CurStep.Message = Biz.L("涓婄О绉伴噸");
+                                CurStep.Status = StepStatus.Normal;
                                 action.Data.Data = data;
-                                //action.LocaleMsg = new($"璇锋壂鎻忕{dtl.PKG_LEVEL}灞傚寘瑁匸{dtl.PkgType.PKG_NAME}]鐨勬爣绛炬潯鐮�");
-                                action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
-                            }
+                                action.Data.ShortMsg = new("涓婄О绉伴噸", ShortMessage.Types.Success);
+                                //action.LocaleMsg = new($"璇锋妸澶栧寘瑁呬笂绉扮О閲�");
+                                action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseWeighing");
+                            } 
                             else
                             {
-                                //璁剧疆鎵撳嵃鍙橀噺鍊�
-                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL]);
-
-                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
-                                data.ExecCode = "Print";
-                                data.PkgLevel = dtl.PKG_LEVEL;
-                                data.PrintLable = LabelDic[dtl.PKG_LEVEL];
-                                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);                
+	                            //濡傛灉涓虹┖鍒欎笉闇�瑕佹墦鍗�
+	                            if (LabelDic[dtl.PKG_LEVEL].IsNullOrEmpty())
+	                            {
+	                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
+	                                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}]鐨勬爣绛炬潯鐮�");
+                                    action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseScanLabel", dtl.PKG_LEVEL, dtl.PkgType.PKG_NAME);
+	                            }
+	                            else
+	                            {
+	                                //璁剧疆鎵撳嵃鍙橀噺鍊�
+	                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL]);
+	
+	                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
+	                                data.ExecCode = "Print";
+	                                data.PkgLevel = dtl.PKG_LEVEL;
+	                                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}娆℃墦鍗扮{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
                         {
-                            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;
@@ -547,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}]鍚庝繚瀛樻暟鎹け璐�");
@@ -581,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}]宸茬粡鍏ㄩ儴瀹屾垚锛屼繚瀛樺寘瑁呮暟鎹�");
@@ -599,7 +714,7 @@
         /// 缁撴潫鎵ц宸ュ簭琛屼负
         /// </summary>
         /// <returns></returns>
-        public ApiAction<SubmitOutput> End()
+        public ApiAction<SubmitOutput> End(SubmitInput input)
         {
             var action = new ApiAction<SubmitOutput>(new SubmitOutput());
 
@@ -648,6 +763,12 @@
 	                };
 	                wipActs.Add(wipAct);
 	            }
+            }
+            //璁板綍澶栧寘瑁呯殑绉伴噸鏁版嵁
+            if (CurPkg.IsFinished)
+            {
+                CurPkg.Item.Package.WEIGHT = CurPkg.WeightInfo.Weight;
+                CurPkg.Item.Package.WEIGHT_UNIT = CurPkg.WeightInfo.Unit;
             }
 
             //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
@@ -710,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