From 6f2a940062c7a19875a5261758ab2ffc10f8a492 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 16 十月 2024 10:43:31 +0800
Subject: [PATCH] 包装工序装配生产订单获取

---
 Tiger.Business.MES/Transaction/Position.cs                       |   63 ++++++++++++++++++++-----------
 Tiger.Business.MES/WorkAction/PackingAction.cs                   |    4 +
 Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs |    2 
 Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs                       |    2 +
 4 files changed, 47 insertions(+), 24 deletions(-)

diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index ffd085e..5a72b52 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -410,24 +410,24 @@
             //淇濆瓨宸ユ鐨勬暟鎹簱鎻愪氦鎿嶄綔鍒版彁浜ゆ搷浣滃垪琛�
             if (!Steps.IsNullOrEmpty())
             {
-	            var commitList = new List<Action>();
-	            foreach (var step in Steps.OrderBy(q => q.Sequence))
-	            {
-	                commitList.Add(step.DBSubmitAction);
-	            }
+                var commitList = new List<Action>();
+                foreach (var step in Steps.OrderBy(q => q.Sequence))
+                {
+                    commitList.Add(step.DBSubmitAction);
+                }
                 //璁板綍宸ュ簭鑰楁椂
                 var ids = CurWipSNHiss.Select(q => q.ID).ToList().Clone();
                 commitList.Add(() =>
-	            {
-	                EndAt = DateTime.Now;
-	                GetCommitDB().Updateable<MES_WIP_HIS>().SetColumns(q => q.ELAPSED_TIME == ElapsedTime.TotalMilliseconds.ToInt64()).Where(q => ids.Contains(q.ID)).ExecuteCommand();
-	            });
+                {
+                    EndAt = DateTime.Now;
+                    GetCommitDB().Updateable<MES_WIP_HIS>().SetColumns(q => q.ELAPSED_TIME == ElapsedTime.TotalMilliseconds.ToInt64()).Where(q => ids.Contains(q.ID)).ExecuteCommand();
+                });
                 //澧炲姞闄勫姞鐨勪繚瀛樺唴瀹�
                 if (!appendToSave.IsNullOrEmpty())
                 {
                     commitList.Add(appendToSave);
                 }
-	            DBCommitList.Add(CurSN, commitList);
+                DBCommitList.Add(CurSN, commitList);
             }
             else
             {
@@ -560,7 +560,7 @@
                                 case "GetBoxQR":
                                     return action is PackingAction ? GetBoxCode(lvars, action as PackingAction) : "";
                                 case "GetCardQR":
-                                    return action is PackingAction ? GetCardCode(lvars, action as PackingAction) : "";
+                                    return action is PackingAction ? GetCardOrBoxQR(GetCardCode(lvars), lvars, action as PackingAction) : "";
                                 case "GetCardSN":
                                     List<string> minPkgList = new List<string>();
                                     var _pkaction = action is PackingAction ? action as PackingAction : null;
@@ -572,7 +572,7 @@
                                 case "GetDescription":
                                     return WorkBatch.Product.ITEM_DESC;
                                 case "GetFengZ":
-                                    return WorkBatch.Product.ExtInfo.Packaging; 
+                                    return WorkBatch.Product.ExtInfo.Packaging;
                                 case "GetPAndO":
                                     return WorkBatch.WO.SALES_CONTRACT;
                                 case "GetLTD":
@@ -580,7 +580,7 @@
                                 case "GetHWDate":
                                     List<string> list = new List<string>();
                                     var _action = action is PackingAction ? action as PackingAction : null;
-                                    if (_action!=null)
+                                    if (_action != null)
                                     {
                                         list = GetMinPkgList(_action);
                                     }
@@ -595,20 +595,38 @@
                                     return $"{qtylist.Count}PCS";
                                 case "GetModel":
                                     return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Model);
-                                case "GetInput":                                      
+                                case "GetInput":
                                     return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Input);
-                                case "GetOutput":                                     
+                                case "GetOutput":
                                     return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.OutPut);
-                                case "GetPower":                                      
+                                case "GetPower":
                                     return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Power);
-                                case "GetAccuracy":                                   
+                                case "GetAccuracy":
                                     return GetLabelVarWo(lv, WorkBatch.Product.ExtInfo?.Accuracy);
                                 case "GetVarByWo":
                                     return GetLabelVarWo(lv, "");
                                 case "GetLOTNO":
+                                    var _orderAction = action is PackingAction ? action as PackingAction : null;
+                                    if (_orderAction != null)
+                                    {
+                                        var snList = _orderAction.GetMinPackageList(_orderAction.CurPkg.Item).Select(q => q.FLOW_SN);
+                                        return string.Join(",", Biz.Db.Queryable<MES_CUST_SN>()
+                                                .Where((q) => snList.Contains(q.FLOW_SN))
+                                                .Select((q) => q.WORK_ORDER).Distinct());
+                                    }
                                     return "";
                                 case "GetNOTES":
                                     return WorkBatch.Product.ExtInfo?.Remark;
+                                case "GetXH":
+                                    return GetCardCode(lvars);
+                                case "GetCardNo":
+                                    return "";
+                                case "GetCardTotal":
+                                    return "";
+                                case "GetModelSpec": //Model+绌烘牸+SPEC,
+                                    return $"{WorkBatch.Product.ExtInfo?.Model} {WorkBatch.Product.SPEC}";
+                                case "GetDATE":
+                                    return $"{DateTime.Now.ToString("yyyy/MM/dd")}";
                                 default:
                                     return "";
                             }
@@ -681,7 +699,8 @@
         /// </summary>
         /// <param name="action"></param>
         /// <returns></returns>
-        private List<string> GetMinPkgList(PackingAction action) {
+        private List<string> GetMinPkgList(PackingAction action)
+        {
             List<string> list = new List<string>();
             if (action.CurPkg.Item.PKG_LEVEL == 1)
             {
@@ -711,10 +730,10 @@
         /// <param name="lvars"></param>
         /// <param name="action"></param>
         /// <returns></returns>
-        private string GetCardCode(List<BAS_LABEL_VAR> lvars, PackingAction action)
+        private string GetCardCode(List<BAS_LABEL_VAR> lvars)
         {
-            var cardCode = Biz.CodeRule["CartonNo"]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? "" ;
-            return GetCardOrBoxQR(cardCode, lvars, action);
+            var cardCode = Biz.CodeRule["CartonNo"]?.Generate("B", $"{WorkBatch.Batch.BATCH_NO}-{WorkBatch.Batch.PLAN_QTY}-").Data.ToString() ?? "";
+            return cardCode;
         }
 
         /// <summary>
@@ -730,7 +749,7 @@
             var wo = WorkBatch.Batch.ORDER_NO;
             var snList = string.Join("\r\n", minPkgList);
             if (snList.IsNullOrEmpty()) { snList = $"{CurSN}"; }
-            var itemCode = action.CurPkg.ITEM_CODE;
+            var itemCode = action.CurPkg.CustSN?.ITEM_CODE;
             var weight = action.CurPkg.WeightInfo.Weight;
             var unit = action.CurPkg.WeightInfo.Unit.ToUpper();
             var model = WorkBatch.Product.ExtInfo.Model;
diff --git a/Tiger.Business.MES/WorkAction/PackingAction.cs b/Tiger.Business.MES/WorkAction/PackingAction.cs
index ae3603a..2fed0fa 100644
--- a/Tiger.Business.MES/WorkAction/PackingAction.cs
+++ b/Tiger.Business.MES/WorkAction/PackingAction.cs
@@ -75,7 +75,7 @@
                     RULE_CODE = PkgRule.RULE_CODE,
                     RULE_NAME = PkgRule.RULE_NAME,
                     PROD_CODE = CurPosition.WorkBatch.WO.ITEM_CODE,
-                    ITEM_CODE = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == CurPosition.CurWipSNs.First().FLOW_SN).First()?.ITEM_CODE,
+                    CustSN = Biz.Db.Queryable<MES_CUST_SN>().Where(q => q.FLOW_SN == CurPosition.CurWipSNs.First().FLOW_SN).First(),
                     Item = new WipPkgItem()
                     {
                         PKG_CODE = max.PKG_CODE,
@@ -559,6 +559,7 @@
                     CurPkgItem.Package.OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE;
                     CurPkgItem.Package.SEGMENT = CurPosition.CurWipSNs.First().SEGMENT;
                     CurPkgItem.Package.ACT_ID = NodeAct.ID;
+                    CurPkgItem.Package.FLOW_SN = CurPosition.CurWipSNs.First().FLOW_SN;
                     FinishLevel++;
                     //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇
                     if (FinishLevel < PkgRule.Details.Max(q => q.PKG_LEVEL))
@@ -621,6 +622,7 @@
                             OPER_CODE = CurPosition.CurWipSNs.First().OPER_CODE,
                             SEGMENT = CurPosition.CurWipSNs.First().SEGMENT,
                             ACT_ID = NodeAct.ID,
+                            FLOW_SN = CurPosition.CurWipSNs.First().FLOW_SN,
                         };
                         FinishLevel++;
                         //瀹屾垚鍖呰鐨勫眰绾у皬浜庢渶澶栧眰鍖呰灞傜骇
diff --git a/Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs b/Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs
index 18a301d..01dd037 100644
--- a/Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs
+++ b/Tiger.Model.Net/Entitys/MES/MES_WIP_PKG.cs
@@ -142,6 +142,8 @@
 		*/
         [SugarColumn(IsIgnore = true)]
         public string ACT_ID { get; set; }
+        [SugarColumn(IsIgnore = true)]
+        public string FLOW_SN { get; set; }
         #endregion
 
         #region 澶栭敭灞炴��
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
index fe5a467..b474aaf 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/PositionParameter.cs
@@ -163,7 +163,7 @@
         public string RULE_CODE { get; set; }
         public string RULE_NAME { get; set; }
         public string PROD_CODE { get; set; }
-        public string ITEM_CODE { get; set; }
+        public MES_CUST_SN CustSN { get; set; }
         public WipPkgItem Item { get; set; }
         public bool NeedWeighing { get; set; } = false;
         public bool IsWeighed { get; set; } = false;

--
Gitblit v1.9.3