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" />