From 35afcfe07fef52f74a2079fdb5977a87f88ddbb6 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期二, 17 十二月 2024 20:40:47 +0800
Subject: [PATCH] 提交前检查是否岗位、工单和不良代码

---
 Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs |  125 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 119 insertions(+), 6 deletions(-)

diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs
index cf411c3..eeca62b 100644
--- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs
+++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs
@@ -1,14 +1,18 @@
 锘縰sing Rhea.Common;
-using Sundial;
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading;
 using System.Threading.Tasks;
+using Newtonsoft.Json;
 using Tiger.IBusiness;
 using Tiger.Model;
 using Tiger.Model.Minsun;
+using FluentScheduler;
+using Sundial;
+using Microsoft.IdentityModel.Tokens;
+using Tiger.Model.Entitys.MES.Position;
 
 namespace Tiger.Business.MES
 {
@@ -17,16 +21,23 @@
     /// </summary>
     public class U9C_MES_GetWo : TigerJobBase, ITigerJob
     {
-        public string Id { get; set; } = Guid.NewGuid().ToString("N");
-        public string Tag { get; set; } = "U9C_MES_GetWo Interface Job";
-        public string Name { get; set; } = "U9C_MES_GetWo Interface Job";
+        public string Id { get; set; }
+        public string Tag { get; set; }
+        public string Name { get; set; }
 
-        public async Task ExecuteAsync(JobExecutingContext context, CancellationToken stoppingToken)
+        public U9C_MES_GetWo()
+        {
+            Id = Guid.NewGuid().ToString("N");
+            Tag = "U9C_MES_GetWo Interface Job";
+            Name = "U9C_MES_GetWo Interface Job";
+        }
+
+        public async Task ExecuteAsync(Sundial.JobExecutingContext context, CancellationToken stoppingToken)
         {
             Logger.Scheduler.Info(context.Trigger.ConvertToMonitor());
             try
             {
-                var _lastRunTime = Biz.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE;
+                var _lastRunTime = Cache.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE; 
                 var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddMinutes(-10) : Convert.ToDateTime(_lastRunTime);
                 if ((DateTime.Now - LastRunTime).TotalMinutes > 10)
                 {
@@ -50,4 +61,106 @@
             await Task.CompletedTask;
         }
     }
+
+    /// <summary>
+    /// 浠嶶9C鑾峰彇宸ュ崟淇℃伅 FluentScheduler鐗�
+    /// </summary>
+    public class fU9C_MES_GetWo : TigerJobBase, ITJob
+    {
+        public string Id { get; set; }
+        public string Tag { get; set; }
+        public string Name { get; set; }
+        public fU9C_MES_GetWo()
+        {
+            Id = Guid.NewGuid().ToString("N");
+            Tag = "U9C_MES_GetWo Interface Job";
+            GetJob(typeof(fU9C_MES_GetWo).Name);
+            Name = Job.JobName;
+        }
+
+        public void Execute()
+        {
+            #region 鍥哄畾鍐欐硶
+            Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶
+            Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶
+            StartTime = DateTime.Now; //鍥哄畾鍐欐硶
+            #endregion
+            try
+            {
+                string msg = "";
+                string status = "Successed";
+                GetJob(typeof(fU9C_MES_GetWo).Name);
+                TskJobInput tskJobInput = CheckIFCanGo();
+                if (tskJobInput.result)
+                {
+                    var result = DI.Resolve<IU9C_MES>().GetU9CBasWo(tskJobInput.input);
+                    if (!result.IsSuccessed)
+                    {
+                        msg = $"鑾峰彇宸ュ崟淇℃伅寮傚父:{result.Message}";
+                        Logger.Scheduler.Error(msg);
+                        status = "Failed";
+                    }
+                    else
+                    {
+                        msg = $"浠嶶9C鑾峰彇宸ュ崟淇℃伅鎴愬姛:{result.Message}";
+                        //鍥哄畾鍐欐硶
+                        Trig.LastRunTime = Args.ByInterval=="Y"? tskJobInput.input.endTime.ToDateTime().AddHours(Args.Interval) : tskJobInput.input.endTime.ToDateTime();
+                        Trig.NextRunTime = Schedule.NextRun;
+                    }
+                }
+                SaveFluentSchedulerLog(status, $"{msg}");
+                Logger.Scheduler.Info($"璁″垝璋冨害(鍚嶇О: {Name} )瀹屾垚锛岃繑鍥炰俊鎭�: {msg} \r\n");
+            }
+            catch (System.Exception ex)
+            {
+                Logger.Scheduler.Fatal(ex, "鑾峰彇宸ュ崟淇℃伅寮傚父");
+                SaveFluentSchedulerLog("Failed", ex.Message);
+            }
+            Logger.Scheduler.Info($"/* 璁″垝璋冨害(鍚嶇О:{Name})缁撴潫 */\r\n"); //鍥哄畾鍐欐硶
+        }
+    }//endClass
+
+    public class fTest : TigerJobBase, ITJob
+    {
+        public string Id { get; set; }
+        public string Tag { get; set; }
+        public string Name { get; set; } = typeof(fTest).Name;
+        public fTest()
+        {
+            Id = Guid.NewGuid().ToString("N");
+            Tag = "U9C_MES_GetWo Interface Job";
+        }
+
+        public void Execute()
+        {
+            Logger.Scheduler.Info($"杩涘叆璁″垝璋冨害(鍚嶇О:{Name})...\r\n");
+            try
+            {
+                string msg = "";
+                string status = "Successed";
+                var _lastRunTime = Cache.SysParam["GetWo_LastRun", "Interface_LastRun"].PARAM_VALUE;
+                var LastRunTime = string.IsNullOrEmpty(_lastRunTime) ? DateTime.Now.AddMinutes(-10) : Convert.ToDateTime(_lastRunTime);
+                StartTime = DateTime.Now;
+                //if ((DateTime.Now - LastRunTime).TotalMinutes > 10)
+                //{
+                //    GetWoInput input = new GetWoInput
+                //    {
+                //        startTime = LastRunTime.ToString("yyyy-MM-dd HH:mm:ss"),
+                //        endTime = LastRunTime.AddMinutes(10).ToString("yyyy-MM-dd HH:mm:ss")
+                //    };
+                //    var result = await DI.Resolve<IU9C_MES>().GetBasWo(input);
+                //    if (!result.IsSuccessed)
+                //    {
+                //        Logger.Scheduler.Error($"鑾峰彇宸ュ崟淇℃伅寮傚父:{result.Message}");
+                //    }
+                //}
+                SaveFluentSchedulerLog(status, "娴嬭瘯浠诲姟鎴愬姛");
+                Logger.Scheduler.Info($"璁″垝璋冨害(鍚嶇О:{Name})瀹屾垚\r\n");
+            }
+            catch (System.Exception ex)
+            {
+                Logger.Scheduler.Fatal(ex, "娴嬭瘯浠诲姟寮傚父\r\n");
+            }
+        }
+    }
 }

--
Gitblit v1.9.3