服务端的TigerApi 框架,基于.NET6 2024 版本
Rodney Chen
2024-10-29 9b0d356ba4c4a02180ddad85bd38312fc7dc404b
Merge branch 'master' of http://47.115.28.255:8110/r/TigerClouds-Tech/Server/TigerApi6_2024
已修改12个文件
已添加4个文件
401 ■■■■■ 文件已修改
Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustSn.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Task/Jobs.U9C_ME_GetCustomer.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Task/Jobs.U9C_ME_GetItem.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Task/Jobs.U9C_ME_GetSupplier.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/Task/Jobs.U9C_ME_GetWo.cs 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/iERP/MES_U9C.cs 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business.MES/iERP/U9C_MES.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business/Services/Base/InterfaceService.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business/Services/Base/InterfaceServiceNew.cs 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Business/Services/Base/TigerJobBase.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.MES/Controllers/MESController.MES_U9C.cs 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Controllers.System/Controllers/TSK/TskController.Base.cs 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness.MES/iERP/IMES_U9C.cs 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.IBusiness/Service/IInterfaceService.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Tiger.Model.Net/Tiger.Model.Net.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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 = $"从U9C获取客户条码信息成功:{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"); //固定写法
        }
    }
}
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 = $"从U9C获取客户信息成功:{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"); //固定写法
        }
    }
}
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 = $"从U9C获取物料信息成功:{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"); //固定写法
        }
    }
}
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 = $"从U9C获取供应商信息成功:{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"); //固定写法
        }
    }
}
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 = $"从U9C获取工单信息成功:{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
Tiger.Business.MES/iERP/MES_U9C.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,102 @@
using 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($"生成入库单接口提交Json: {JsonConvert.SerializeObject(param)},返回Json: {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($"/* å…¥åº“单接口结束 */\r\n"); //固定写法
            return action;
        }
    }
}
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;
        }
Tiger.Business/Services/Base/InterfaceService.cs
@@ -185,5 +185,10 @@
        {
            throw new NotImplementedException();
        }
        ApiAction IInterfaceService.ImmediateRun<TJob>(TJob newEntity, string jobname)
        {
            throw new NotImplementedException();
        }
    }
}
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()
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;
Tiger.Controllers.MES/Controllers/MESController.MES_U9C.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,38 @@
using 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);
        }
    }
}
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>
Tiger.IBusiness.MES/iERP/IMES_U9C.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
using 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);
    }
}
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();
Tiger.Model.Net/Entitys/MES/ParameterEntity/U9CParameter.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,84 @@
using 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>
    /// å…¥åº“单接口传入参数
    /// </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; }
    }
}
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" />