服务端的TigerApi 框架,基于.NET6 2024 版本
Ben Lin
2024-10-28 20a0c7b19c248617fb1852a63834bb668831f86e
Tiger.Business.MES/Task/TskJob.cs
@@ -30,8 +30,23 @@
            var result = new ApiAction();
            try
            {
                var _job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == input.JobType).First()??new() {
                    JobName = input.JobType,
                if (input.type == EveryType.Milliseconds && input.ToRunEvery<100)
                {
                    result.IsSuccessed = false;
                    result.LocaleMsg = new($"时间是毫秒时,至少要大于100毫秒");
                    return result;
                }
                if (Biz.Db.Queryable<TSK_JOB>().Any(x =>
                    (x.JobName != input.JobName && x.JobType == input.JobType) ||
                    (x.JobName == input.JobName && x.JobType != input.JobType)))
                {
                    result.IsSuccessed = false;
                    result.LocaleMsg = new($"相同的类名不能有不同的任务名或者相同的任务名不能有不同的类名");
                    return result;
                }
                var _job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == input.JobName && x.JobType == input.JobType).First() ?? new()
                {
                    JobName = input.JobName,
                    JobType = input.JobType,
                    AssemblyName = input.AssemblyName,
                };
@@ -58,13 +73,14 @@
                    StartTime = DateTime.Now,
                    NumberOfRuns = 1,
                };
                tskTrig.LastRunTime = input.LastRunTime;
                tskTrig.Args = JsonConvert.SerializeObject(Args);
                var db = Biz.Db;
                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();