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)
{
}
}
}
}