From 9b0d356ba4c4a02180ddad85bd38312fc7dc404b Mon Sep 17 00:00:00 2001 From: Rodney Chen <rodney.chen@hotmail.com> Date: 星期二, 29 十月 2024 19:57:42 +0800 Subject: [PATCH] Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Server/TigerApi6_2024 --- Tiger.Business.MES/iERP/U9C_MES.cs | 8 + Tiger.IBusiness/Service/IInterfaceService.cs | 1 Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs | 15 + Tiger.Business/Services/Base/InterfaceService.cs | 5 Tiger.Controllers.MES/Controllers/MESController.MES_U9C.cs | 38 +++++ Tiger.Model.Net/Tiger.Model.Net.csproj | 1 Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs | 13 + Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs | 15 + Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs | 13 + Tiger.Business.MES/iERP/MES_U9C.cs | 102 ++++++++++++++ Tiger.Business/Services/Base/TigerJobBase.cs | 14 +- Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs | 84 ++++++++++++ Tiger.Business/Services/Base/InterfaceServiceNew.cs | 41 +++++ Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs | 21 +++ Tiger.IBusiness.MES/iERP/IMES_U9C.cs | 17 ++ Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs | 13 + 16 files changed, 372 insertions(+), 29 deletions(-) diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs index 0458c8f..843bef0 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs @@ -30,11 +30,13 @@ public void Execute() { - Logger.Scheduler.Info($"杩涘叆璁″垝璋冨害(鍚嶇О:{Name})...\r\n"); + #region 鍥哄畾鍐欐硶 + Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶 + Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶 + StartTime = DateTime.Now; //鍥哄畾鍐欐硶 + #endregion try { - Schedule = JobManager.GetSchedule(Name); - StartTime = DateTime.Now; string msg = ""; string status = "Successed"; GetJob(typeof(U9C_ME_GetCustSn).Name); @@ -51,7 +53,9 @@ else { msg = $"浠嶶9C鑾峰彇瀹㈡埛鏉$爜淇℃伅鎴愬姛:{result.Message}"; - Trig.LastRunTime = (tskJobInput.input.endTime.ToDateTime() - DateTime.Now).TotalMinutes > 0 ? Trig.LastRunTime : tskJobInput.input.endTime.ToDateTime(); + //鍥哄畾鍐欐硶 + Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime(); + Trig.NextRunTime = Schedule.NextRun; } } SaveFluentSchedulerLog(status, $"{msg}"); @@ -62,6 +66,7 @@ Logger.Scheduler.Fatal(ex, "鑾峰彇瀹㈡埛鏉$爜淇℃伅寮傚父"); SaveFluentSchedulerLog("Failed", ex.Message); } + Logger.Scheduler.Info($"/* 璁″垝璋冨害(鍚嶇О:{Name})缁撴潫 */\r\n"); //鍥哄畾鍐欐硶 } } } diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs index 5aeef52..f9c9a72 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs @@ -30,11 +30,13 @@ public void Execute() { - Logger.Scheduler.Info($"杩涘叆璁″垝璋冨害(鍚嶇О:{Name})...\r\n"); + #region 鍥哄畾鍐欐硶 + Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶 + Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶 + StartTime = DateTime.Now; //鍥哄畾鍐欐硶 + #endregion try { - Schedule = JobManager.GetSchedule(Name); - StartTime = DateTime.Now; string msg = ""; string status = "Successed"; GetJob(typeof(U9C_MES_GetCustomer).Name); @@ -51,17 +53,20 @@ else { msg = $"浠嶶9C鑾峰彇瀹㈡埛淇℃伅鎴愬姛:{result.Message}"; - Trig.LastRunTime = (tskJobInput.input.endTime.ToDateTime() - DateTime.Now).TotalMinutes > 0 ? Trig.LastRunTime : tskJobInput.input.endTime.ToDateTime(); + //鍥哄畾鍐欐硶 + Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime(); + Trig.NextRunTime = Schedule.NextRun; } } SaveFluentSchedulerLog(status, $"{msg}"); - Logger.Scheduler.Info($"璁″垝璋冨害(鍚嶇О:{Name})瀹屾垚锛岃繑鍥炰俊鎭�:{msg}\r\n"); + 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"); //鍥哄畾鍐欐硶 } } } diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs index d6e6081..f9019d4 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs @@ -31,11 +31,13 @@ public void Execute() { - Logger.Scheduler.Info($"杩涘叆璁″垝璋冨害(鍚嶇О:{Name})...\r\n"); + #region 鍥哄畾鍐欐硶 + Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶 + Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶 + StartTime = DateTime.Now; //鍥哄畾鍐欐硶 + #endregion try { - Schedule = JobManager.GetSchedule(Name); - StartTime = DateTime.Now; string msg = ""; string status = "Successed"; GetJob(typeof(U9C_MES_GetItem).Name); @@ -52,7 +54,9 @@ else { msg = $"浠嶶9C鑾峰彇鐗╂枡淇℃伅鎴愬姛:{result.Message}"; - Trig.LastRunTime = (tskJobInput.input.endTime.ToDateTime() - DateTime.Now).TotalMinutes > 0 ? Trig.LastRunTime : tskJobInput.input.endTime.ToDateTime(); + //鍥哄畾鍐欐硶 + Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime(); + Trig.NextRunTime = Schedule.NextRun; } } SaveFluentSchedulerLog(status, $"{msg}"); @@ -63,6 +67,7 @@ Logger.Scheduler.Fatal(ex, "鑾峰彇鐗╂枡淇℃伅寮傚父"); SaveFluentSchedulerLog("Failed", ex.Message); } + Logger.Scheduler.Info($"/* 璁″垝璋冨害(鍚嶇О:{Name})缁撴潫 */\r\n"); //鍥哄畾鍐欐硶 } } } diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs index 5619878..d5a5f65 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs @@ -32,11 +32,13 @@ public void Execute() { - Logger.Scheduler.Info($"杩涘叆璁″垝璋冨害(鍚嶇О:{Name})...\r\n"); + #region 鍥哄畾鍐欐硶 + Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶 + Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶 + StartTime = DateTime.Now; //鍥哄畾鍐欐硶 + #endregion try { - Schedule = JobManager.GetSchedule(Name); - StartTime = DateTime.Now; string msg = ""; string status = "Successed"; GetJob(typeof(U9C_ME_GetSupplier).Name); @@ -53,7 +55,9 @@ else { msg = $"浠嶶9C鑾峰彇渚涘簲鍟嗕俊鎭垚鍔�:{result.Message}"; - Trig.LastRunTime = (tskJobInput.input.endTime.ToDateTime() - DateTime.Now).TotalMinutes > 0 ? Trig.LastRunTime : tskJobInput.input.endTime.ToDateTime(); + //鍥哄畾鍐欐硶 + Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime(); + Trig.NextRunTime = Schedule.NextRun; } } SaveFluentSchedulerLog(status, $"{msg}"); @@ -64,6 +68,7 @@ Logger.Scheduler.Fatal(ex, "鑾峰彇渚涘簲鍟嗕俊鎭紓甯�"); SaveFluentSchedulerLog("Failed", ex.Message); } + Logger.Scheduler.Info($"/* 璁″垝璋冨害(鍚嶇О:{Name})缁撴潫 */\r\n"); //鍥哄畾鍐欐硶 } } } diff --git a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs index 0188002..f684dce 100644 --- a/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs +++ b/Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs @@ -80,11 +80,13 @@ public void Execute() { - Logger.Scheduler.Info($"杩涘叆璁″垝璋冨害(鍚嶇О:{Name})...\r\n"); + #region 鍥哄畾鍐欐硶 + Logger.Scheduler.Info($"/**\r\n *杩涘叆璁″垝璋冨害(鍚嶇О: {Name} )....\r\n */\r\n"); //鍥哄畾鍐欐硶 + Schedule = JobManager.GetSchedule(Name); //鍥哄畾鍐欐硶 + StartTime = DateTime.Now; //鍥哄畾鍐欐硶 + #endregion try { - Schedule = JobManager.GetSchedule(Name); - StartTime = DateTime.Now; string msg = ""; string status = "Successed"; GetJob(typeof(fU9C_MES_GetWo).Name); @@ -101,17 +103,20 @@ else { msg = $"浠嶶9C鑾峰彇宸ュ崟淇℃伅鎴愬姛:{result.Message}"; - Trig.LastRunTime = (tskJobInput.input.endTime.ToDateTime() - DateTime.Now).TotalMinutes > 0 ? Trig.LastRunTime : tskJobInput.input.endTime.ToDateTime(); + //鍥哄畾鍐欐硶 + Trig.LastRunTime = tskJobInput.input.endTime.ToDateTime(); + Trig.NextRunTime = Schedule.NextRun; } } SaveFluentSchedulerLog(status, $"{msg}"); - Logger.Scheduler.Info($"璁″垝璋冨害(鍚嶇О:{Name})瀹屾垚锛岃繑鍥炰俊鎭�:{msg}\r\n"); + 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 diff --git a/Tiger.Business.MES/iERP/MES_U9C.cs b/Tiger.Business.MES/iERP/MES_U9C.cs new file mode 100644 index 0000000..9635204 --- /dev/null +++ b/Tiger.Business.MES/iERP/MES_U9C.cs @@ -0,0 +1,102 @@ +锘縰sing Tiger.Model; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq.Expressions; +using System.Text; +using System.Threading.Tasks; +using Rhea.Common; +using System.Net; +using System.Linq; +using Newtonsoft.Json; +using Tiger.IBusiness; +using Microsoft.AspNetCore.Http; +using Tiger.Model.Minsun; +using Org.BouncyCastle.Asn1.Tsp; +using Tiger.Model.Entitys.MES.Position; +using Apache.NMS.ActiveMQ.Commands; +using System.Security.Cryptography; +using System.Diagnostics; +using Tiger.Model.Entitys.MES.U9C; +using Newtonsoft.Json.Linq; +using System.Security.Policy; +using NetTaste; + +namespace Tiger.Business.MES +{ + public partial class MES_U9C : IMES_U9C + { + public static string U9CAuthLoginUrl { get; set; } = "http://172.16.80.20/U9C/webapi/OAuth2/AuthLogin?"; + public static string secret = "&entcode=02&orgcode=101&clientid=mes&clientsecret=12c8ee7e9bb74ad2a6a0fb3315c8af20"; + public static string RcvRptDocCreateUrl + { get; set; } = "http://172.16.80.20/u9C/webapi/RcvRptDoc/Create"; + + /// <summary> + /// 鍏ュ簱鍗曟帴鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + public async Task<ApiAction> RcvRptDocCreate(RcvRptDocCreateInput input) + { + Logger.Interface.Info($"/**\r\n *杩涘叆鍏ュ簱鍗曟帴鍙�....\r\n */\r\n"); //鍥哄畾鍐欐硶 + var action = new ApiAction(); + try + { + List<RcvRptDocCreateParam> param = new List<RcvRptDocCreateParam>(); + param.Add(new RcvRptDocCreateParam + { + CompleteList = new List<CompleteList> { new CompleteList + { + MOKey = new MOKey { DocNo = input.WorkOrder }, + Wh = new Wh { Code = input.WhCode }, + DescFlexField = new DescFlexField { PrivateDescSeg1 = input.PkgQty.ToString() }, + Item = new Item { Code = input.ItemCode }, + CompleteQty = input.CompleteQty, + OutputType = input.OutputType, + StorageType = input.StorageType, + DocState = input.DocState, + } } + }); + + var u9CLoginResult = await HttpHelper.GetAsync<U9CLoginResult>($"{U9CAuthLoginUrl}userCode=admin{secret}"); + if (u9CLoginResult.Success) + { + var token = u9CLoginResult.Data; + Logger.Interface.Info($"U9C鐧诲綍token: {token}"); + var response = await HttpHelper.PostAsync(RcvRptDocCreateUrl, JsonConvert.SerializeObject(param), new Dictionary<string, string>() { { "token", token } }); + var result = JsonConvert.DeserializeObject<U9CResult>(response.Message); + if (result != null) + { + if (result.Success) + { + Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟帴鍙f彁浜son: {JsonConvert.SerializeObject(param)}锛岃繑鍥濲son: {response.Message}"); + var db = Biz.Db; + var dbTran = db.UseTran(() => + { + + }); + if (!dbTran.IsSuccess) + { + action.CatchExceptionWithLog(dbTran.ErrorException, $"鏁版嵁澶勭悊澶辫触"); + Logger.Interface.Error(action.Message); + } + Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曟垚鍔�"); + } + else + { + action.IsSuccessed = false; + action.LocaleMsg = new($"{result.Data[0].m_errorMsg}"); + Logger.Interface.Info($"鐢熸垚鍏ュ簱鍗曞け璐�:{result.Data[0].m_errorMsg}"); + } + } + } + } + catch (System.Exception ex) + { + action.CatchExceptionWithLog(ex, "鐢熸垚鍏ュ簱鍗曞紓甯�"); + } + Logger.Interface.Info($"/* 鍏ュ簱鍗曟帴鍙g粨鏉� */\r\n"); //鍥哄畾鍐欐硶 + return action; + } + } +} diff --git a/Tiger.Business.MES/iERP/U9C_MES.cs b/Tiger.Business.MES/iERP/U9C_MES.cs index ba786d4..7f56288 100644 --- a/Tiger.Business.MES/iERP/U9C_MES.cs +++ b/Tiger.Business.MES/iERP/U9C_MES.cs @@ -84,6 +84,7 @@ } } Logger.Scheduler.Info($"鐗╂枡淇℃伅瀛樺叆瀹炰綋涓紝鎬绘暟锛歔{items.Count}]"); + db = Biz.Db; var dbTran = db.UseTran(() => { if (items.Any()) @@ -136,6 +137,7 @@ Logger.Scheduler.Error(action.Message); } Logger.Scheduler.Info($"鐗╂枡淇℃伅瀛樺叆鏁版嵁搴擄紝鎬绘暟锛歔{items.Count}]"); + action.Message = $"鐗╂枡淇℃伅瀛樺叆鏁版嵁搴擄紝鎬绘暟锛歔{items.Count}]"; return action; } @@ -340,6 +342,7 @@ } } Logger.Scheduler.Info($"瀹㈡埛淇℃伅瀛樺叆瀹炰綋涓紝鎬绘暟锛歔{items.Count}]"); + db = Biz.Db; var dbTran = db.UseTran(() => { if (items.Any()) @@ -372,6 +375,7 @@ Logger.Scheduler.Error(action.Message); } Logger.Scheduler.Info($"瀹㈡埛淇℃伅瀛樺叆鏁版嵁搴擄紝鎬绘暟锛歔{items.Count}]"); + action.Message = $"瀹㈡埛淇℃伅瀛樺叆鏁版嵁搴擄紝鎬绘暟锛歔{items.Count}]"; return action; } @@ -412,6 +416,7 @@ } } Logger.Scheduler.Info($"渚涘簲鍟嗕俊鎭瓨鍏ュ疄浣撲腑锛屾�绘暟锛歔{items.Count}]"); + db = Biz.Db; var dbTran = db.UseTran(() => { if (items.Any()) @@ -444,6 +449,7 @@ Logger.Scheduler.Error(action.Message); } Logger.Scheduler.Info($"渚涘簲鍟嗕俊鎭瓨鍏ユ暟鎹簱锛屾�绘暟锛歔{items.Count}]"); + action.Message = $"渚涘簲鍟嗕俊鎭瓨鍏ユ暟鎹簱锛屾�绘暟锛歔{items.Count}]"; return action; } @@ -489,6 +495,7 @@ } } Logger.Scheduler.Info($"瀹㈡埛鏉$爜淇℃伅瀛樺叆瀹炰綋涓紝鎬绘暟锛歔{items.Count}]"); + db = Biz.Db; var dbTran = db.UseTran(() => { if (items.Any()) @@ -521,6 +528,7 @@ Logger.Scheduler.Error(action.Message); } Logger.Scheduler.Info($"瀹㈡埛鏉$爜淇℃伅瀛樺叆鏁版嵁搴擄紝鎬绘暟锛歔{items.Count}]"); + action.Message = $"瀹㈡埛鏉$爜淇℃伅瀛樺叆鏁版嵁搴擄紝鎬绘暟锛歔{items.Count}]"; return action; } diff --git a/Tiger.Business/Services/Base/InterfaceService.cs b/Tiger.Business/Services/Base/InterfaceService.cs index 0dfcd20..b904103 100644 --- a/Tiger.Business/Services/Base/InterfaceService.cs +++ b/Tiger.Business/Services/Base/InterfaceService.cs @@ -185,5 +185,10 @@ { throw new NotImplementedException(); } + + ApiAction IInterfaceService.ImmediateRun<TJob>(TJob newEntity, string jobname) + { + throw new NotImplementedException(); + } } } diff --git a/Tiger.Business/Services/Base/InterfaceServiceNew.cs b/Tiger.Business/Services/Base/InterfaceServiceNew.cs index 5b362a3..bec31f0 100644 --- a/Tiger.Business/Services/Base/InterfaceServiceNew.cs +++ b/Tiger.Business/Services/Base/InterfaceServiceNew.cs @@ -541,6 +541,47 @@ } /// <summary> + /// 绔嬪嵆杩愯 + /// </summary> + /// <param name="jobname"></param> + public ApiAction ImmediateRun<TJob>(TJob newEntity, string jobname) where TJob : class, ITJob + { + ApiAction apiAction = new(); + try + { + if (JobManager.AllSchedules.Any(q => q.Name == jobname)) + { + JobManager.RemoveJob(jobname); + string guid = Guid.NewGuid().ToString("N"); + TSK_JOB job = Biz.Db.Queryable<TSK_JOB>().Where(x => x.JobName == jobname).IncludesAllFirstLayer().First(); + var trigger = job.Triggers[0]; + TrigArgs args = JsonConvert.DeserializeObject<TrigArgs>(job.Triggers[0].Args); + args.runType = RunType.ToRunNow; + JobManager.AddJob<TJob>((s) => GenerateSchedule(args, s.WithName(jobname))); + trigger.Status = TSK_TRIG.Statuss.Running.GetValue(); + trigger.Args = JsonConvert.SerializeObject(args); + + var db = Biz.Db; + //淇濆瓨鍒版暟鎹簱 + var dbTran = db.UseTran(() => + { + db.Updateable(trigger, "system_ImmediateRun_job").UpdateColumns(q => new { q.Status, q.Args, q.UPDATE_TIME, q.UPDATE_USER }).ExecuteCommand(); + }); + if (!dbTran.IsSuccess) + { + Logger.Scheduler.Fatal(dbTran.ErrorException, $"绔嬪嵆杩愯宸ヤ綔浠诲姟鏃朵繚瀛樼姸鎬佸埌鏁版嵁搴撳紓甯�"); + } + apiAction.LocaleMsg = new($"绔嬪嵆杩愯宸ヤ綔浠诲姟鎴愬姛"); + } + } + catch (System.Exception ex) + { + apiAction.CatchExceptionWithLog(ex); + } + return apiAction; + } + + /// <summary> /// 鍋滄鏈嶅姟 /// </summary> public void Stop() diff --git a/Tiger.Business/Services/Base/TigerJobBase.cs b/Tiger.Business/Services/Base/TigerJobBase.cs index af7a6f8..f2fc093 100644 --- a/Tiger.Business/Services/Base/TigerJobBase.cs +++ b/Tiger.Business/Services/Base/TigerJobBase.cs @@ -14,10 +14,10 @@ /// </summary> public class TigerJobBase { - public static Schedule Schedule; - public static TSK_JOB Job = new TSK_JOB(); - public static TSK_TRIG Trig = new TSK_TRIG(); - public static TrigArgs Args = new TrigArgs(); + public Schedule Schedule; + public TSK_JOB Job = new TSK_JOB(); + public TSK_TRIG Trig = new TSK_TRIG(); + public TrigArgs Args = new TrigArgs(); /// <summary> /// 寮�濮嬫椂闂� /// </summary> @@ -63,7 +63,7 @@ /// <param name="JobName"></param> /// <param name="remark"></param> /// <returns></returns> - public static ApiAction SaveFluentSchedulerLog(string status, string remark) + public ApiAction SaveFluentSchedulerLog(string status, string remark) { ApiAction action = new ApiAction(); if (Trig != null) @@ -110,7 +110,7 @@ /// <summary> /// 鑾峰彇浠诲姟 /// </summary> - public static void GetJob(string jobType) + public void GetJob(string jobType) { Job = Biz.Db.Queryable<TSK_JOB>().Where(q => q.JobType == jobType).IncludesAllFirstLayer().First(); Args = JsonConvert.DeserializeObject<TrigArgs>(Job.Triggers[0].Args); @@ -121,7 +121,7 @@ /// 鍒ゆ柇鏃堕棿锛岃繑鍥炴槸鍚﹀彲浠ョ户缁伐浣滀换鍔� /// </summary> /// <returns></returns> - public static TskJobInput CheckIFCanGo() + public TskJobInput CheckIFCanGo() { TskJobInput tskJobInput = new TskJobInput(); var dateTime = DateTime.Now; diff --git a/Tiger.Controllers.MES/Controllers/MESController.MES_U9C.cs b/Tiger.Controllers.MES/Controllers/MESController.MES_U9C.cs new file mode 100644 index 0000000..016f505 --- /dev/null +++ b/Tiger.Controllers.MES/Controllers/MESController.MES_U9C.cs @@ -0,0 +1,38 @@ +锘縰sing Microsoft.AspNetCore.Mvc; +using Rhea.Common; +using SqlSugar; +using System.Threading.Tasks; +using Tiger.IBusiness; +using Tiger.Model; +using Tiger.Model.Entitys.MES.BizMesWo; +using Tiger.Model.Entitys.MES.BizMesWoBatch; +using Tiger.Api.iBiz; +using Tiger.Model.Entitys.MES.U9C; + +namespace Tiger.Api.Controllers.MES +{ + public partial class MESController : ControllerBase + { + + /// <summary> + /// 鍏ュ簱鍗曟帴鍙� + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/[action]")] + public async Task<IActionResult> RcvRptDocCreate([FromBody] ApiAction<RcvRptDocCreateInput> action) + { + ApiAction response = new(); + try + { + response = response.GetResponse(await DI.Resolve<IMES_U9C>().RcvRptDocCreate(action.Data)); + } + catch (System.Exception ex) + { + response = response.GetResponse().CatchExceptionWithLog(ex); + } + return Ok(response); + } + } +} diff --git a/Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs b/Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs index 358e6d6..889ee9a 100644 --- a/Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs +++ b/Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs @@ -194,6 +194,27 @@ } /// <summary> + /// 绔嬪嵆杩愯浠诲姟 + /// </summary> + /// <param name="action"></param> + /// <returns></returns> + [HttpPost] + [Route("api/[controller]/[action]")] + public async Task<IActionResult> ImmediateRun(ApiAction action) + { + ApiAction response = new(); + try + { + response = response.GetResponse(DI.Resolve<IBizContext>().GetInterfaceService()?.ImmediateRun(action.NewDataEntity(), action.Data?.ToString()) ?? new ApiAction($"浠诲姟鏈惎鐢�", false)); + } + catch (System.Exception ex) + { + response = response.GetResponse().CatchExceptionWithLog(ex); + } + return Ok(response); + } + + /// <summary> /// 鍒犻櫎浣滀笟 /// </summary> /// <param name="action"></param> diff --git a/Tiger.IBusiness.MES/iERP/IMES_U9C.cs b/Tiger.IBusiness.MES/iERP/IMES_U9C.cs new file mode 100644 index 0000000..03c4ef2 --- /dev/null +++ b/Tiger.IBusiness.MES/iERP/IMES_U9C.cs @@ -0,0 +1,17 @@ +锘縰sing Rhea.Common; +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tiger.Model; +using Tiger.Model.Entitys.MES.U9C; + +namespace Tiger.IBusiness +{ + public interface IMES_U9C + { + public Task<ApiAction> RcvRptDocCreate(RcvRptDocCreateInput input); + } +} diff --git a/Tiger.IBusiness/Service/IInterfaceService.cs b/Tiger.IBusiness/Service/IInterfaceService.cs index 52e71df..cb0a794 100644 --- a/Tiger.IBusiness/Service/IInterfaceService.cs +++ b/Tiger.IBusiness/Service/IInterfaceService.cs @@ -15,6 +15,7 @@ public void SetSchedulerFactory(Sundial.ISchedulerFactory schedulerFactory); public ApiAction AddJob<TJob>(TJob newEntity, TskJobParam jobParam) where TJob : class, Sundial.IJob; public ApiAction AddTskJob<TJob>(TJob newEntity, FluentJobParam jobParam) where TJob : class, ITJob; + public ApiAction ImmediateRun<TJob>(TJob newEntity, string jobname) where TJob : class, ITJob; public ApiAction AddJob<TJob>(string jobname, params Sundial.TriggerBuilder[] triggerBuilders) where TJob : class, Sundial.IJob; public ApiAction UpdateJob(TSK_JOB job); public void StartAllJob(); diff --git a/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs new file mode 100644 index 0000000..20fecd6 --- /dev/null +++ b/Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs @@ -0,0 +1,84 @@ +锘縰sing System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tiger.Model.Entitys.MES.U9C +{ + public class U9CBaseResult + { + public int ResCode { get; set; } + public bool Success { get; set; } + public string ResMsg { get; set; } + } + public class U9CResult : U9CBaseResult + { + public List<U9CReturnData> Data { get; set; } + } + + public class U9CLoginResult : U9CBaseResult + { + public string Data { get; set; } + } + + public class U9CReturnData + { + public string u9c_version { get; set; } + public bool m_isSucess { get; set; } + public string m_otherID { get; set; } + public string m_iD { get; set; } + public string m_code { get; set; } + public string m_errorMsg { get; set; } + public string m_datas { get; set; } + } + + /// <summary> + /// 鍏ュ簱鍗曟帴鍙d紶鍏ュ弬鏁� + /// </summary> + public class RcvRptDocCreateInput + { + public string WorkOrder { get; set; } + public string ItemCode { get; set; } + public string WhCode { get; set; } = "10105"; + public int PkgQty { get; set; } + public int CompleteQty { get; set; } + public int OutputType { get; set; } = 0; + public int StorageType { get; set; } = 4; + public int DocState { get; set; } = 1; + } + + public class RcvRptDocCreateParam + { + public List<CompleteList> CompleteList { get; set; } + } + + public class CompleteList + { + public MOKey MOKey { get; set; } + public Wh Wh { get; set; } + public Item Item { get; set; } + public DescFlexField DescFlexField { get; set; } + public int CompleteQty { get; set; } + public int OutputType { get; set; } = 0; + public int StorageType { get; set; } = 4; + public int DocState { get; set; } = 1; + } + + public class MOKey + { + public string DocNo { get; set; } + } + public class Wh + { + public string Code { get; set; } + } + public class Item + { + public string Code { get; set; } + } + public class DescFlexField + { + public string PrivateDescSeg1 { get; set; } + } +} diff --git a/Tiger.Model.Net/Tiger.Model.Net.csproj b/Tiger.Model.Net/Tiger.Model.Net.csproj index c8a8462..7aff1bd 100644 --- a/Tiger.Model.Net/Tiger.Model.Net.csproj +++ b/Tiger.Model.Net/Tiger.Model.Net.csproj @@ -162,6 +162,7 @@ <Compile Include="Entitys\MES\node.cs" /> <Compile Include="Entitys\MES\ParameterEntity\BizMesWoBatchParameter.cs" /> <Compile Include="Entitys\MES\ParameterEntity\BizBasPkgRuleParameter.cs" /> + <Compile Include="Entitys\MES\ParameterEntity\U9CParameter.cs" /> <Compile Include="Entitys\MES\ParameterEntity\DoUnPackParameter.cs" /> <Compile Include="Entitys\MES\ParameterEntity\CodeVerificationParameter.cs" /> <Compile Include="Entitys\MES\ParameterEntity\BizMesWoParameter.cs" /> -- Gitblit v1.9.3