From 406ac5eb58f06bde155443a34c76fbf187759808 Mon Sep 17 00:00:00 2001
From: Rodney Chen <rodney.chen@hotmail.com>
Date: 星期二, 18 三月 2025 16:00:05 +0800
Subject: [PATCH] 清点增加分页

---
 Tiger.Business/Services/Base/TigerJobBase.cs |  167 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 78 insertions(+), 89 deletions(-)

diff --git a/Tiger.Business/Services/Base/TigerJobBase.cs b/Tiger.Business/Services/Base/TigerJobBase.cs
index f2fc093..26c6bc2 100644
--- a/Tiger.Business/Services/Base/TigerJobBase.cs
+++ b/Tiger.Business/Services/Base/TigerJobBase.cs
@@ -21,11 +21,11 @@
         /// <summary>
         /// 寮�濮嬫椂闂�
         /// </summary>
-        public static DateTime StartTime { get; set; }
+        public DateTime StartTime { get; set; }
         /// <summary>
         /// 淇濆瓨鏃ュ織
         /// </summary>
-        public static ApiAction SaveLog(JobExecutingContext context, string remark)
+        public ApiAction SaveLog(JobExecutingContext context, string remark)
         {
             ApiAction action = new ApiAction();
             Type type = Type.GetType(context.JobDetail.JobType, throwOnError: true);
@@ -121,97 +121,86 @@
         /// 鍒ゆ柇鏃堕棿锛岃繑鍥炴槸鍚﹀彲浠ョ户缁伐浣滀换鍔�
         /// </summary>
         /// <returns></returns>
-        public TskJobInput CheckIFCanGo()
+        public TskJobInput CheckHowToDo()
         {
             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 = 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:
+                    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 = 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:
+                    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 = 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:
+                    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 = 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:
+                    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 = 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:
+                    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 = 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:
+                    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 = 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:
+                    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 = Args.ByInterval == "Y" ? dateTime.ToString("yyyy-MM-dd HH:mm:ss") : dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"),
+                    };
+                    break;
             }
             return tskJobInput;
         }

--
Gitblit v1.9.3