using System; using System.Collections.Generic; using System.Text; using WIDESEA_Common.Tools; using WIDESEA_Core.EFDbContext; using WIDESEA_Core.Utilities; using WIDESEA_Services.IRepositories; using WIDESEA_Services.Repositories; namespace WIDESEA_WCS { /// /// 任务下发基类 /// public class SchedulerExecuteBase { /// /// 任务发送 /// /// 调度名称 /// 发送方法 /// public static WebResponseContent SendTask(string dispatchName, Func func) { try { string str = $"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】【下发任务开始】{Environment.NewLine}"; str += $"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】【任务信息】:{func()}{Environment.NewLine}"; str += $"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】【下发任务结束】{Environment.NewLine}"; WriteLog.Info(dispatchName).Write(str, dispatchName); return WebResponseContent.Instance.OK(); } catch (Exception ex) { WriteLog.Error(dispatchName).Write($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】 任务下发异常,错误消息:{ex.Message}{Environment.NewLine}", dispatchName); return WebResponseContent.Instance.Error(ex.Message); } } /// /// 任务完成 /// /// 调度名称 /// 完成调用的方法 /// public static WebResponseContent TaskCompleted(string dispatchName,Func func) { try { string str = $"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】【任务完成开始】{Environment.NewLine}"; str += $"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】【任务完成信息】:{func()}{Environment.NewLine}"; str += $"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】【任务完成结束】{Environment.NewLine}"; WriteLog.Info(dispatchName).Write(str, dispatchName); return WebResponseContent.Instance.OK(); } catch (Exception ex) { WriteLog.Error(dispatchName).Write($"【{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}】 任务下发异常,错误消息:{ex.Message}{Environment.NewLine}", dispatchName); return WebResponseContent.Instance.Error(ex.Message); } } public static void GetEquipmentInfo(string PLCDescroption, string isSBWork, string batchNo, string processName, string iswork) { VOLContext Context = new VOLContext(); IequipmentRepository equipmentRepository = new equipmentRepository(Context); try { var equip = equipmentRepository.FindFirst(f => f.PLCDescroption == PLCDescroption); equip.isSBWork = isSBWork; equip.batchNo = batchNo; equip.processName = processName; equip.iswork = iswork; equip.updatetime = DateTime.Now; equipmentRepository.Update(equip, true); } catch (Exception ex) { } } } }