From 6cc05f3689e7616431886ec183948c433a30220c Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 03 十二月 2024 20:51:38 +0800
Subject: [PATCH] 一些优化

---
 Tiger.Business.MES/iERP/U9C_MES.cs                          |   16 +-
 Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs          |    1 
 Tiger.Business.MES/iERP/MES_U9C.cs                          |   85 ++++++++++++++
 Tiger.Business.MES/Transaction/YadaPacking.cs               |    8 
 Tiger.Business/Services/Base/TigerJobBase.cs                |  161 ++++++++++++--------------
 Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs |    2 
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs                        |   25 ++--
 Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs                |    8 
 8 files changed, 190 insertions(+), 116 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
index 9f85d43..4fed14a 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -182,18 +182,18 @@
                     {
                         try
                         {
-                            //SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = input.Wo.ORDER_NO, ERR_CODE = 0, ERR_MSG = "" });
-                            //pars[1].Direction = System.Data.ParameterDirection.Output;
-                            //pars[2].Direction = System.Data.ParameterDirection.Output;
-                            //Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars);
-                            //if (pars[1].Value.ToInt32() == 0)
-                            //{
-                            //    Logger.Default.Info($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾夸腑锛寋pars[2].Value.ToString()}");
-                            //}
-                            //else
-                            //{
-                            //    Logger.Default.Error($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾垮嚭閿欙紝{pars[2].Value.ToString()}");
-                            //}
+                            SugarParameter[] pars = Biz.Db.Ado.GetParameters(new { WO = input.Wo.ORDER_NO, ERR_CODE = 0, ERR_MSG = "" });
+                            pars[1].Direction = System.Data.ParameterDirection.Output;
+                            pars[2].Direction = System.Data.ParameterDirection.Output;
+                            Biz.Db.Ado.UseStoredProcedure().ExecuteCommand("SP_MES_WO2CUST", pars);
+                            if (pars[1].Value.ToInt32() == 0)
+                            {
+                                Logger.Default.Info($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾夸腑锛寋pars[2].Value.ToString()}");
+                            }
+                            else
+                            {
+                                Logger.Default.Error($"宸ュ崟[{input.Wo.ORDER_NO}]涓嬪彂瀹屾垚鍚庝繚瀛樺伐鑹鸿矾绾挎暟鎹埌浜у搧[{input.Wo.ITEM_CODE}]鐨勫鎴穂{input.Wo.CUST_CODE ?? ""}]鐨勫伐鑹鸿矾绾垮嚭閿欙紝{pars[2].Value.ToString()}");
+                            }
                         }
                         catch (Exception ex)
                         {
@@ -734,6 +734,7 @@
                         SALES_ORDER = wo.SALES_ORDER,
                         BATCH_NO = woSns[0].BATCH_NO,
                         ITEM_CODE = wo.ITEM_CODE,
+                        SapCode = wo.ItemInfo?.ExtInfo?.SapCode,
                         ITEM_NAME = wo.ItemInfo?.ITEM_DESC,
                         PLAN_QTY = wo.PLAN_QTY,
                         SCAN_QTY = woSns.Count,
diff --git a/Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs b/Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs
index 3089f56..c9eedba 100644
--- a/Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs
+++ b/Tiger.Business.MES/BIZ/BizPrintInstoreDoc.cs
@@ -32,7 +32,7 @@
             var result = new ApiAction<List<BAS_LABEL_TEMP>>();
             try
             {
-
+                List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>();
                 int i = 1;
                 int j = 1;
                 foreach (var p in input.printJsons)
@@ -75,7 +75,7 @@
                             }
                             if (item.VAR_NAME.StartsWith("SapCode"))
                             {
-                                item.Value = v.ITEM_CODE;
+                                item.Value = v.SapCode;
                             }
                             if (item.VAR_NAME.StartsWith("Seq"))
                             {
@@ -96,8 +96,10 @@
                             item.Value = DateTime.Now.ToString("yyyyy.MM.dd");
                         }
                     }
+                    labels.Add(label);
                     j++;
-                } 
+                }
+                result.Data = labels;
             }
             catch (Exception ex)
             {
diff --git a/Tiger.Business.MES/Transaction/YadaPacking.cs b/Tiger.Business.MES/Transaction/YadaPacking.cs
index b390da5..6ffaa14 100644
--- a/Tiger.Business.MES/Transaction/YadaPacking.cs
+++ b/Tiger.Business.MES/Transaction/YadaPacking.cs
@@ -70,10 +70,10 @@
                 //    //action.LocaleMsg = new("MES.Transaction.PackingNode.Submit.QtyError", input.Qty);
                 //    return SetOutPutMqttMsg(action, input.Locale);
                 //}
-                if (input.Options.ContainsKey("IsPrintCustomerLabel"))
-                {
-                    IsPrintCustomerLabel = input.Options["IsPrintCustomerLabel"].ToBoolean();
-                }
+                //if (input.Options.ContainsKey("IsPrintCustomerLabel"))
+                //{
+                //    IsPrintCustomerLabel = input.Options["IsPrintCustomerLabel"].ToBoolean();
+                //}
 
                 //if (input.Options.ContainsKey("ShippingOrder"))
                 //{
diff --git a/Tiger.Business.MES/iERP/MES_U9C.cs b/Tiger.Business.MES/iERP/MES_U9C.cs
index c83fce5..4130575 100644
--- a/Tiger.Business.MES/iERP/MES_U9C.cs
+++ b/Tiger.Business.MES/iERP/MES_U9C.cs
@@ -147,10 +147,11 @@
                                     }
                                     foreach (var p in input.PrintJsons)
                                     {
-                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder).FirstOrDefault();
+                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS !="P").FirstOrDefault();
                                         if (!d.IsNullOrEmpty())
                                         {
                                             d.ORDER_NO = result.Data[0].m_code;
+                                            d.STATUS = "Y";
                                         }
                                     }
                                     Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�");
@@ -166,6 +167,15 @@
                                         ErpProdInBth.IS_HANDLED = "F";
                                         ErpProdInBth.HANDLED_DATE = DateTime.Now;
                                         ErpProdInBths.Add(ErpProdInBth);
+                                    }
+                                    foreach (var p in input.PrintJsons)
+                                    {
+                                        var d = p.Items.Where(q => q.WORK_ORDER == item.WorkOrder && q.STATUS != "P").FirstOrDefault();
+                                        if (!d.IsNullOrEmpty())
+                                        {
+                                            d.ORDER_NO = result.Data[0].m_code;
+                                            d.STATUS = "F";
+                                        }
                                     }
                                     Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曞け璐�:{result.Data[0].m_errorMsg}");
                                 }
@@ -185,6 +195,7 @@
                         input.ErpProdInBths = ErpProdInBths;
                     }
                 }
+                input.labels = GetLabels(input.PrintJsons);
                 action.Data = input;
             }
             catch (System.Exception ex)
@@ -194,5 +205,77 @@
             Logger.Interface.Info($"/* 鍏ュ簱鍗曟帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶
             return action;
         }
+
+        private List<BAS_LABEL_TEMP> GetLabels(List<InStorePrintJson> printJsons) {
+            List<BAS_LABEL_TEMP> labels = new List<BAS_LABEL_TEMP>();
+            int i = 1;
+            int j = 1;
+            foreach (var p in printJsons)
+            {
+                BAS_LABEL_TEMP label = Biz.Db.Queryable<BAS_LABEL_TEMP>().Where(q => q.LABEL_CODE == "InstoreTemplate").First();
+                foreach (var item in label.Variables.OrderBy(q => q.VAR_TYPE == BAS_LABEL_VAR.VAR_TYPEs.BarcodeGenerate.GetValue() ? 0 : 1))
+                {
+                    foreach (var v in p.Items.Where(q=>q.STATUS !="F" && q.STATUS !="P"))
+                    {
+                        if (item.VAR_NAME.StartsWith("RcvDoc"))
+                        {
+                            item.Value = v.ORDER_NO;
+                        }
+                        if (item.VAR_NAME.StartsWith("SoDoc"))
+                        {
+                            item.Value = v.SALES_ORDER;
+                        }
+                        if (item.VAR_NAME.StartsWith("MoDoc"))
+                        {
+                            item.Value = v.WORK_ORDER;
+                        }
+                        if (item.VAR_NAME.StartsWith("ItemCode"))
+                        {
+                            item.Value = v.ITEM_CODE;
+                        }
+                        if (item.VAR_NAME.StartsWith("Description"))
+                        {
+                            item.Value = v.ITEM_NAME;
+                        }
+                        if (item.VAR_NAME.StartsWith("BoxQty"))
+                        {
+                            item.Value = v.PLAN_QTY.ToString();
+                        }
+                        if (item.VAR_NAME.StartsWith("InQty"))
+                        {
+                            item.Value = v.SCAN_QTY.ToString();
+                        }
+                        if (item.VAR_NAME.StartsWith("RcvQrCode"))
+                        {
+                            item.Value = v.ORDER_NO.ToString();
+                        }
+                        if (item.VAR_NAME.StartsWith("SapCode"))
+                        {
+                            item.Value = v.SapCode;
+                        }
+                        if (item.VAR_NAME.StartsWith("Seq"))
+                        {
+                            item.Value = i.ToString();
+                        }
+                        i++;
+                    }
+                    if (item.VAR_NAME == "PageNum")
+                    {
+                        item.Value = j.ToString();
+                    }
+                    if (item.VAR_NAME == "PageSize")
+                    {
+                        item.Value = printJsons.Count.ToString();
+                    }
+                    if (item.VAR_NAME == "BusinessDate")
+                    {
+                        item.Value = DateTime.Now.ToString("yyyyy.MM.dd");
+                    }
+                }
+                labels.Add(label);
+                j++;
+            }
+            return labels;
+        }
     }
 }
diff --git a/Tiger.Business.MES/iERP/U9C_MES.cs b/Tiger.Business.MES/iERP/U9C_MES.cs
index 783b3f0..48b6654 100644
--- a/Tiger.Business.MES/iERP/U9C_MES.cs
+++ b/Tiger.Business.MES/iERP/U9C_MES.cs
@@ -119,7 +119,7 @@
                                     .WhereColumns(t => new { t.ITEM_ID, t.GHOST_ROW })
                                     .ToStorage();
                              y.AsInsertable.ExecuteCommand();
-                             y.AsUpdateable.ExecuteCommand();
+                             y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
                          });
                     }
                     else
@@ -208,15 +208,15 @@
                 db.Storageable(LastRun, "U9C_MES_GetWo").ExecuteCommand();
                 if (items.Any())
                 {
-                    if (items.Count > 150)
+                    if (items.Count > 100)
                     {
-                        db.Utilities.PageEach(items, 1000, pageList =>
+                        db.Utilities.PageEach(items, 100, pageList =>
                         {
                             var y = db.Storageable(pageList, "U9C")
                                    .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW })
                                    .ToStorage();
-                            y.BulkCopy();
-                            y.BulkUpdate();
+                            y.AsInsertable.ExecuteCommand();
+                            y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand();
                         });
                     }
                     else
@@ -285,11 +285,7 @@
                     {
                         if (woList.Any())
                         {
-                            var s = _db.Storageable(woList, "U9C")
-                                   .WhereColumns(t => new { t.ORDER_NO, t.GHOST_ROW })
-                                   .ToStorage();
-                            s.AsInsertable.ExecuteCommand();
-                            s.AsUpdateable.IgnoreColumns(x => x.ID).UpdateColumns(x => new { x.ROUTE_STATUS}).ExecuteCommand();
+                            _db.Updateable(woList, "U9C").UpdateColumns(x => new { x.ROUTE_STATUS }).ExecuteCommand();
                         }
 
                     });
diff --git a/Tiger.Business/Services/Base/TigerJobBase.cs b/Tiger.Business/Services/Base/TigerJobBase.cs
index f2fc093..b6b1b1d 100644
--- a/Tiger.Business/Services/Base/TigerJobBase.cs
+++ b/Tiger.Business/Services/Base/TigerJobBase.cs
@@ -125,93 +125,82 @@
         {
             TskJobInput tskJobInput = new TskJobInput();
             var dateTime = DateTime.Now;
-            if (Args.Interval > 0)
+
+            //鎸夋椂闂寸被鍨嬫潵杩愯
+            switch (Args.Type)
             {
-                tskJobInput.result = true;
-                tskJobInput.input = new()
-                {
-                    startTime = dateTime.AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss"),
-                    endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
-                };
-            }
-            else
-            {
-                //鎸夋椂闂寸被鍨嬫潵杩愯
-                switch (Args.Type)
-                {
-                    case TrigArgs.EveryType.Milliseconds:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Seconds:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Minutes:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Hours:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Days:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Weeks:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Weekdays:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery;
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                    case TrigArgs.EveryType.Months:
-                        dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery);
-                        tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
-                        tskJobInput.input = new()
-                        {
-                            startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
-                            endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
-                        };
-                        break;
-                }
+                case TrigArgs.EveryType.Milliseconds:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Seconds:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Minutes:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Hours:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Days:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Weeks:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Weekdays:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery;
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
+                case TrigArgs.EveryType.Months:
+                    dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery);
+                    tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);
+                    tskJobInput.input = new()
+                    {
+                        startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
             }
             return tskJobInput;
         }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
index ebc4ac6..580581f 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
@@ -41,6 +41,7 @@
         public List<RcvRptDocBase> RcvRptDocBases { get; set; }
         public List<BIZ_ERP_PROD_IN_BTH> ErpProdInBths { get; set; }
         public List<InStorePrintJson> PrintJsons { get; set; }
+        public List<BAS_LABEL_TEMP> labels { get; set; }
     }
 
     public class InStorePrintJson
@@ -57,6 +58,7 @@
         public string BATCH_NO { get; set; }
         public string WORK_ORDER { get; set; }
         public string ITEM_CODE { get; set; }
+        public string SapCode { get; set; }
         public string ITEM_NAME { get; set; }
         public double PLAN_QTY { get; set; }
         public double SCAN_QTY { get; set; }
diff --git a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
index dedf712..0ae1b36 100644
--- a/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
+++ b/Tiger.Model.Net/Entitys/WMS/BIZ_ERP_PROD_IN_BTH.cs
@@ -168,6 +168,7 @@
         /// </summary>
         [DisplayName("物料名称")]
         public string ITEM_NAME { get; set; }
+        public string SapCode { get; set; }
         /// <summary>
         /// 计划数量
         /// </summary>

--
Gitblit v1.9.3