From 1f72396c6294b9f78723d786a9b0965414d0601a Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期五, 13 九月 2024 15:38:38 +0800
Subject: [PATCH] 一些更改

---
 Tiger.Business.MES/WorkAction/PackingAction.cs |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 deletions(-)

diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs
index 09fad06..71fb619 100644
--- a/Tiger.Business.MES/WorkAction/PackingAction.cs
+++ b/Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -31,6 +31,7 @@
         public Dictionary<int, BAS_LABEL_TEMP> LabelDic { get; set; }    = new();
         public List<BAS_LABEL_PV> LabelPV { get; set; } = new();
         public int FinishLevel = 0;
+        private bool IsManually => CurStep.IsNullOrEmpty();
         #endregion Propertys & Variables
 
         #region Functions
@@ -181,8 +182,20 @@
             action.LocaleMsg = GetBeginMsg();
 
             var min = PkgRule.Details.OrderBy(q => q.PKG_LEVEL).First();
+            if (min.PKG_LEVEL == CurPkg.Item.PKG_LEVEL && CurPkg.NeedWeighing)
+            {
+                var data = new PackingActionOutput() { PkgInfo = CurPkg };
+                data.ExecCode = "Weighing";
+                data.PkgLevel = min.PKG_LEVEL;
+                CurCmd = data;
+                CurStep?.SetStatusMessage(StepStatus.Normal, Biz.L("涓婄О绉伴噸"));
+                action.Data.Data = data;
+                action.Data.ShortMsg = new("涓婄О绉伴噸", ShortMessage.Types.Success);
+                //action.LocaleMsg = new($"璇锋妸澶栧寘瑁呬笂绉扮О閲�");
+                action.LocaleMsg = new("MES.WorkAction.PackingAction.PleaseWeighing");
+            }
             //鏍规嵁鍖呰涓嶅悓灞傜骇鐨勬爣绛炬ā鏉夸唬鐮侊紝濡傛灉涓虹┖鍒欎笉闇�瑕佹墦鍗�
-            if (LabelDic[min.PKG_LEVEL].IsNullOrEmpty())
+            else if (LabelDic[min.PKG_LEVEL].IsNullOrEmpty())
             {
                 input.Data = new PackingActionInput()
                 {
@@ -196,7 +209,7 @@
             else
             {
                 //璁剧疆鎵撳嵃鍙橀噺鍊�
-                LabelDic[min.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[min.PKG_LEVEL]);
+                LabelDic[min.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[min.PKG_LEVEL], this);
 
                 var data = new PackingActionOutput() { PkgInfo = CurPkg };
                 data.ExecCode = "Print";
@@ -318,7 +331,7 @@
                         if (!pInput.WeightInfo.IsNullOrEmpty() && pInput.WeightInfo.Weight > 0)
                         {
                             //楠岃瘉閲嶉噺鏁版嵁鏄惁绗﹀悎璁剧疆濂界殑閲嶉噺鑼冨洿
-                            if (!PkgProd.IsNullOrEmpty() && (pInput.WeightInfo.Weight < PkgProd.MIN_WEIGHT || PkgProd.MIN_WEIGHT < pInput.WeightInfo.Weight))
+                            if (!PkgProd.IsNullOrEmpty() && ((pInput.WeightInfo.Weight < PkgProd.MIN_WEIGHT && !IsManually) || PkgProd.MAX_WEIGHT < pInput.WeightInfo.Weight))
                             {
                                 action.IsSuccessed = false;
                                 CurStep?.SetStatusMessage(StepStatus.Error, Biz.L("閲嶉噺瓒呴檺"));
@@ -361,7 +374,7 @@
 	                            else
 	                            {
 	                                //璁剧疆鎵撳嵃鍙橀噺鍊�
-	                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL]);
+	                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL], this);
 	
 	                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
 	                                data.ExecCode = "Print";
@@ -376,8 +389,6 @@
 	                                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
                         {
@@ -448,7 +459,7 @@
                         else
                         {
                             //璁剧疆鎵撳嵃鍙橀噺鍊�
-                            LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL]);
+                            LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL], this);
 
                             var data = new PackingActionOutput() { PkgInfo = CurPkg };
                             data.ExecCode = "Print";
@@ -522,7 +533,17 @@
                     CurPkgItem.Package.OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE;
                     CurPkgItem.Package.SEGMENT = CurPosition.CurWipSNs.First().SEGMENT;
                     FinishLevel++;
-                    action = SavePkgData(input, action);
+                    //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇
+                    if (FinishLevel < PkgRule.Details.Max(q => q.PKG_LEVEL))
+                    {
+                        //褰撳墠澶勭悊鐨勫寘瑁呭眰绾у凡缁忓鐞嗗畬锛岀户缁線涓婁繚瀛�
+                        action = SavePkgData(input, action);
+                    }
+                    //鏈�澶栧眰鍖呰宸茬粡瀹屾垚鍖呰锛屼繚瀛樺寘瑁呮暟鎹埌鏁版嵁搴�
+                    else
+                    {
+                        action = CompletePkg();
+                    }
                 }
                 //澶勭悊鍏朵粬鍖呰灞傜骇鏁版嵁
                 else 
@@ -597,7 +618,7 @@
                         CurPkgItem = curItem;
 
                         //娣诲姞鏄庣粏鍚庡垽鏂綋鍓嶅寘瑁呭眰绾х殑鏄庣粏鏁伴噺鏄惁绛変簬鍖呰鏁伴噺锛岃嫢鐩哥瓑鍒欐爣璁板綋鍓嶅寘瑁呭眰绾т负瀹屾垚骞跺皾璇曟墦鍗版爣绛�
-                        if (CurPkgItem.Items.Count(q => q.IsFinished) == CurPkgItem.PKG_QTY || CurStep.IsNullOrEmpty())
+                        if (CurPkgItem.Items.Count(q => q.IsFinished) == CurPkgItem.PKG_QTY || IsManually)
                         {
                             //鎵撳嵃鍓嶇О閲嶏細濡傛灉褰撳墠鐨勫寘瑁呮槑缁嗙殑涓婁竴灞傚寘瑁呭璞℃槸鏈�澶栧眰鍖呰涓旈渶瑕佺О閲嶆椂锛屽厛绉伴噸锛屽悎鏍煎悗鍦ㄥ彂鍗版垨鑰呮壂鎻忔渶澶栧眰鍖呰鏍囩
                             if (CurPkgItem.PKG_LEVEL == CurPkg.Item.PKG_LEVEL && CurPkg.NeedWeighing)
@@ -630,7 +651,7 @@
 	                            else
 	                            {
 	                                //璁剧疆鎵撳嵃鍙橀噺鍊�
-	                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL]);
+	                                LabelDic[dtl.PKG_LEVEL] = CurPosition.SetLabelVariables(LabelPV, LabelDic[dtl.PKG_LEVEL], this);
 	
 	                                var data = new PackingActionOutput() { PkgInfo = CurPkg };
 	                                data.ExecCode = "Print";
@@ -709,7 +730,7 @@
             action.LocaleMsg = new("MES.WorkAction.PackingAction.PackageComplete", CurPkg.Item.PKG_LEVEL, CurPkg.Item.PKG_NAME);
 
             //鎵嬪姩缁撴潫鍖呰鍒欐爣璁拌涓哄畬鎴�
-            //if (CurStep.IsNullOrEmpty())
+            //if (IsManually)
             //{
             //    IsFinished = true;
             //}
@@ -733,7 +754,7 @@
             }
             
             //涓嶆槸鎵嬪姩缁撴潫鍖呰鍒欎繚瀛樿涓烘搷浣滆褰�
-            if (!CurStep.IsNullOrEmpty())
+            if (!IsManually)
             {
                 //璁板綍琛屼负鎿嶄綔璁板綍
                 var wipActs = new List<MES_WIP_ACT>();

--
Gitblit v1.9.3