From 935722e71cc47d8c9f3b0e911de33c7eb0cbc693 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期三, 28 八月 2024 22:55:55 +0800
Subject: [PATCH] 优化工步实体,增加名称,状态,消息

---
 Tiger.Business.MES/WorkAction/PackingAction.cs |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs
index 60fe6f5..7a4421c 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())
             {
@@ -280,6 +283,17 @@
                     {
                         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;
+                                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 +305,7 @@
                             //鏈�澶栧眰鍖呰宸插鐞嗗畬鎴愬垯鐩存帴缁撴潫琛屼负
                             if (CurPkg.Item.PKG_LEVEL == FinishLevel)
                             {
-                                action = End();
+                                action = End(input);
                             }
                             //鏈�澶栧眰鍖呰鏈墦鍗版壂鎻忓垯缁х画
                             else
@@ -333,8 +347,8 @@
                             action.IsSuccessed = false;
                             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;
                         }
                     }
@@ -359,7 +373,7 @@
                         }
                         else
                         {
-                            action = End();
+                            action = End(input);
                         }
                     }
                     break;
@@ -591,7 +605,7 @@
                         //褰撳墠鍖呰灞傜骇鐨勬槑缁嗘暟閲忔湭杈惧埌鍖呰鏁伴噺锛屽垯瀹屾垚鏈鎵弿锛岀瓑寰呬笅涓骇鍝佽繘绔�
                         else
                         {
-                            action = End();
+                            action = End(input);
                         }
                     }
                     //鏁版嵁寮傚父
@@ -660,7 +674,7 @@
         /// 缁撴潫鎵ц宸ュ簭琛屼负
         /// </summary>
         /// <returns></returns>
-        public ApiAction<SubmitOutput> End()
+        public ApiAction<SubmitOutput> End(SubmitInput input)
         {
             var action = new ApiAction<SubmitOutput>(new SubmitOutput());
 
@@ -711,8 +725,11 @@
 	            }
             }
             //璁板綍澶栧寘瑁呯殑绉伴噸鏁版嵁
-            CurPkg.Item.Package.WEIGHT = CurPkg.WeightInfo.Weight;
-            CurPkg.Item.Package.WEIGHT_UNIT = CurPkg.WeightInfo.Unit;
+            if (CurPkg.IsFinished)
+            {
+                CurPkg.Item.Package.WEIGHT = CurPkg.WeightInfo.Weight;
+                CurPkg.Item.Package.WEIGHT_UNIT = CurPkg.WeightInfo.Unit;
+            }
 
             //鍒涘缓鍙橀噺鍏嬮殕瀵硅薄鐢ㄤ簬浼犲叆DBSubmitAction涓繚瀛樺綋鍓嶉渶瑕佹殏瀛樼殑鏁版嵁鍊�
             var _wipActs = wipActs.Clone();
@@ -774,6 +791,7 @@
             }
 
             IsFinished = true;
+            CurStep.Status = StepStatus.Finished;
             action.Data.ShortMsg = new("鍖呰瀹屾垚", ShortMessage.Types.Success);
             
             return action;

--
Gitblit v1.9.3