From 20a0c7b19c248617fb1852a63834bb668831f86e Mon Sep 17 00:00:00 2001 From: Ben Lin <maobin001@msn.com> Date: 星期一, 28 十月 2024 03:01:16 +0800 Subject: [PATCH] 计划任务更新 --- Tiger.Business/Services/Base/InterfaceServiceNew.cs | 25 +++++++++++++++++-------- 1 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Tiger.Business/Services/Base/InterfaceServiceNew.cs b/Tiger.Business/Services/Base/InterfaceServiceNew.cs index 93e4aea..5b362a3 100644 --- a/Tiger.Business/Services/Base/InterfaceServiceNew.cs +++ b/Tiger.Business/Services/Base/InterfaceServiceNew.cs @@ -6,6 +6,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; +using System.Reflection; using System.Security.Cryptography; using System.Text; using System.Threading; @@ -324,14 +325,22 @@ { JobManager.AddJob<TJob>((s) => GenerateSchedule(jobParam.Args, s.WithName(jobParam.JobName))); string guid = Guid.NewGuid().ToString("N"); - TSK_JOB job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == jobParam.JobName).First() ?? new() + if (Biz.Db.Queryable<TSK_JOB>().Any(x => + (x.JobName != jobParam.JobName && x.JobType == jobParam.DataType) || + (x.JobName == jobParam.JobName && x.JobType != jobParam.DataType))) + { + apiAction.IsSuccessed = false; + apiAction.LocaleMsg = new($"鐩稿悓鐨勭被鍚嶄笉鑳芥湁涓嶅悓鐨勪换鍔″悕鎴栬�呯浉鍚岀殑浠诲姟鍚嶄笉鑳芥湁涓嶅悓鐨勭被鍚�"); + return apiAction; + } + TSK_JOB job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == jobParam.JobName && x.JobType == jobParam.DataType).First() ?? new() { ID = guid, - Remark = jobParam.Remark, - JobType = jobParam.JobName, - AssemblyName = jobParam.AssemblyName, - JobName = jobParam.JobName, }; + job.Remark = jobParam.Remark; + job.JobType = jobParam.DataType; + job.AssemblyName = jobParam.AssemblyName; + job.JobName = jobParam.JobName; var trigger = Biz.Db.Queryable<TSK_TRIG>().Where(x => x.JobId == job.ID).First() ?? new TSK_TRIG() { JobId = guid, @@ -345,7 +354,7 @@ var dbTran = db.UseTran(() => { var y = db.Storageable(job) - .WhereColumns(t => new { t.JobName, t.GHOST_ROW }) + .WhereColumns(t => new { t.JobName,t.JobType, t.GHOST_ROW }) .ToStorage(); y.AsInsertable.ExecuteCommand(); y.AsUpdateable.IgnoreColumns(x => x.ID).ExecuteCommand(); @@ -409,7 +418,7 @@ var jobs = Biz.Db.Queryable<TSK_JOB>().IncludesAllFirstLayer().ToList(); foreach (var job in jobs) { - if (job.JobName == "fU9C_MES_GetWo" || job.JobName == "fTest") + //if (job.JobName == "fU9C_MES_GetWo" || job.JobName == "fTest") { Type type = Type.GetType($"{job.AssemblyName}.{job.JobType},{job.AssemblyName}", throwOnError: true); dynamic _type = Activator.CreateInstance(type); @@ -437,7 +446,7 @@ /// <returns></returns> private Schedule Schedule<TJob>(TJob entity, string JobName, Registry registry) where TJob : class, ITJob { - return registry.Schedule<TJob>().WithName(typeof(TJob).Name); + return registry.Schedule<TJob>().WithName(JobName); } /// <summary> -- Gitblit v1.9.3