From 86722aca20973a1e73d0a446c124eb6a5790496b Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 17 十二月 2024 09:34:17 +0800
Subject: [PATCH] 任务优化,工单状态修改优化

---
 Tiger.Business.MES/Task/TskJob.cs                           |    1 +
 Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs          |    2 +-
 Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs                |    2 +-
 Tiger.Business/Services/Base/TigerJobBase.cs                |   16 ++++++++--------
 Tiger.Model.Net/Entitys/TSK/TSK_TRIG.cs                     |    1 +
 Tiger.Business.MES/BIZ/BIZ_MES_WO.cs                        |    7 +++++++
 Tiger.Business.MES/Transaction/Position.cs                  |   14 ++++++++++++++
 Tiger.Business/SYS/Biz.SYS_MENU.cs                          |    3 ++-
 Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs            |    2 +-
 Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs          |    2 +-
 Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs              |    2 +-
 Tiger.Model.Net/Entitys/MES/ParameterEntity/TskParameter.cs |    1 +
 12 files changed, 39 insertions(+), 14 deletions(-)

diff --git a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
index 163aa8c..575ea7f 100644
--- a/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
+++ b/Tiger.Business.MES/BIZ/BIZ_MES_WO.cs
@@ -292,6 +292,9 @@
                         _woBatch.CHANGE_USER = input.UserId;
                         _woBatch.CHANGE_TIME = DateTime.Now;
                     }
+                    if (!Biz.Db.Queryable<BIZ_MES_WO_BATCH>().Where(x => x.ORDER_NO == input.WorkOrder && x.STATUS> BIZ_MES_WO_BATCH.STATUSs.Init.GetValue()).Any()) {
+                        _wo.STATUS = BIZ_MES_WO.STATUSs.Init.GetValue();
+                    }
                 }
                 else
                 {
@@ -312,6 +315,10 @@
                     {
                         db.Updateable(_woBatch, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME, x.CHANGE_USER, x.CHANGE_TIME }).ExecuteCommand();
                     }
+                    if (!_wo.IsNullOrEmpty() && _wo.STATUS == BIZ_MES_WO.STATUSs.Init.GetValue())
+                    {
+                        db.Updateable(_wo, input.UserId).UpdateColumns(x => new { x.STATUS, x.UPDATE_USER, x.UPDATE_TIME }).ExecuteCommand();
+                    }
                 });
                 if (!dbTran.IsSuccess)
                 {
diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs
index 843bef0..436c8a0 100644
--- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs
+++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs
@@ -54,7 +54,7 @@
                     {
                         msg = $"浠嶶9C鑾峰彇瀹㈡埛鏉$爜淇℃伅鎴愬姛:{result.Message}";
                         //鍥哄畾鍐欐硶
-                        Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime();
+                        Trig.LastRunTime = Args.ByInterval == "Y" ? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime();
                         Trig.NextRunTime = Schedule.NextRun;
                     }
                 }
diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs
index f9c9a72..0ecb2f0 100644
--- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs
+++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs
@@ -54,7 +54,7 @@
                     {
                         msg = $"浠嶶9C鑾峰彇瀹㈡埛淇℃伅鎴愬姛:{result.Message}";
                         //鍥哄畾鍐欐硶
-                        Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime();
+                        Trig.LastRunTime = Args.ByInterval == "Y" ? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime();
                         Trig.NextRunTime = Schedule.NextRun;
                     }
                 }
diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs
index f9019d4..a748a6e 100644
--- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs
+++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs
@@ -55,7 +55,7 @@
                     {
                         msg = $"浠嶶9C鑾峰彇鐗╂枡淇℃伅鎴愬姛:{result.Message}";
                         //鍥哄畾鍐欐硶
-                        Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime();
+                        Trig.LastRunTime = Args.ByInterval == "Y" ? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime();
                         Trig.NextRunTime = Schedule.NextRun;
                     }
                 }
diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs
index d5a5f65..cf4726c 100644
--- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs
+++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs
@@ -56,7 +56,7 @@
                     {
                         msg = $"浠嶶9C鑾峰彇渚涘簲鍟嗕俊鎭垚鍔�:{result.Message}";
                         //鍥哄畾鍐欐硶
-                        Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime();
+                        Trig.LastRunTime = Args.ByInterval == "Y" ? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime();
                         Trig.NextRunTime = Schedule.NextRun;
                     }
                 }
diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs
index 2807bcf..37e3293 100644
--- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs
+++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs
@@ -104,7 +104,7 @@
                     {
                         msg = $"浠嶶9C鑾峰彇宸ュ崟淇℃伅鎴愬姛:{result.Message}";
                         //鍥哄畾鍐欐硶
-                        Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime();
+                        Trig.LastRunTime = Args.ByInterval=="Y"? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime();
                         Trig.NextRunTime = Schedule.NextRun;
                     }
                 }
diff --git a/Tiger.Business.MES/Task/TskJob.cs b/Tiger.Business.MES/Task/TskJob.cs
index a3b3afa..204477a 100644
--- a/Tiger.Business.MES/Task/TskJob.cs
+++ b/Tiger.Business.MES/Task/TskJob.cs
@@ -66,6 +66,7 @@
                     Hours = input.Hours,
                     Days = input.Days,
                     Interval = input.Interval,
+                    ByInterval = input.ByInterval,
                 };
                 TSK_TRIG tskTrig = Biz.Db.Queryable<TSK_TRIG>().Where(x => x.JobId == _job.ID).First() ?? new()
                 {
diff --git a/Tiger.Business.MES/Transaction/Position.cs b/Tiger.Business.MES/Transaction/Position.cs
index 5e71779..83c2ad7 100644
--- a/Tiger.Business.MES/Transaction/Position.cs
+++ b/Tiger.Business.MES/Transaction/Position.cs
@@ -993,6 +993,20 @@
             return list;
         }
         #endregion
+        #region 鎻愪氦鍓嶉�氱敤鏂规硶
+        public async Task<ApiAction> CheckCode(string code) {
+            var action = new ApiAction();
+            try
+            {
+                
+            }
+            catch (Exception ex)
+            {
+                action.CatchExceptionWithLog(ex, $"妫�鏌ユ潯鐮亄code}寮傚父");
+            }
+            return action;
+        }
+        #endregion
         #endregion Functions
 
         public override bool Close(bool needSaveHistoryLog = false)
diff --git a/Tiger.Business/SYS/Biz.SYS_MENU.cs b/Tiger.Business/SYS/Biz.SYS_MENU.cs
index dc0e77f..85b388d 100644
--- a/Tiger.Business/SYS/Biz.SYS_MENU.cs
+++ b/Tiger.Business/SYS/Biz.SYS_MENU.cs
@@ -126,7 +126,8 @@
             SYS_MENU func = null;
             if (!string.IsNullOrEmpty(menuName))
             {
-                func = Biz.Db.Queryable<SYS_MENU>().Where(x => x.FUNC_NAME == menuName).First();
+                string name = menuName.StartsWith("BS")?"BS": menuName;
+                func = Biz.Db.Queryable<SYS_MENU>().Where(x => x.FUNC_NAME == name).First();
             }
             if (func != null)
             {
diff --git a/Tiger.Business/Services/Base/TigerJobBase.cs b/Tiger.Business/Services/Base/TigerJobBase.cs
index b6b1b1d..96ffdaf 100644
--- a/Tiger.Business/Services/Base/TigerJobBase.cs
+++ b/Tiger.Business/Services/Base/TigerJobBase.cs
@@ -135,7 +135,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.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = Args.ByInterval == "Y"? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Seconds:
@@ -144,7 +144,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.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Minutes:
@@ -153,7 +153,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.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Hours:
@@ -162,7 +162,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.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Days:
@@ -171,7 +171,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"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Weeks:
@@ -180,7 +180,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"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Weekdays:
@@ -189,7 +189,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"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
                 case TrigArgs.EveryType.Months:
@@ -198,7 +198,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.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                        endTime = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
                     };
                     break;
             }
diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/TskParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/TskParameter.cs
index 5400955..56b9e5d 100644
--- a/Tiger.Model.Net/Entitys/MES/ParameterEntity/TskParameter.cs
+++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/TskParameter.cs
@@ -25,6 +25,7 @@
         public int Hours { get; set; }
         public int Days { get; set; }
         public double Interval { get; set; }
+        public string ByInterval { get; set; }
     }
 
     public class TskJobInput
diff --git a/Tiger.Model.Net/Entitys/TSK/TSK_TRIG.cs b/Tiger.Model.Net/Entitys/TSK/TSK_TRIG.cs
index a1a74df..5b156bf 100644
--- a/Tiger.Model.Net/Entitys/TSK/TSK_TRIG.cs
+++ b/Tiger.Model.Net/Entitys/TSK/TSK_TRIG.cs
@@ -198,6 +198,7 @@
         public int Days { get; set; }
         public int Weekday { get; set; }
         public double Interval { get; set; }
+        public string ByInterval { get; set; }
 
         public enum EveryType
         {

--
Gitblit v1.9.3