| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_Core.BaseRepository; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_ISystemServices; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | |
| | | public class GZJJob : JobBase, IJob |
| | | { |
| | | private readonly ITaskService _taskService; |
| | | private readonly Idt_ErrormsginfoService _ErrormsginfoService; |
| | | private readonly IRepository<dt_stationInfo> _dt_stationInfoRepository; |
| | | private readonly IRepository<Dt_Task> _dt_taskRepositiry; |
| | | |
| | | WebSocketServer _webSocketServer; |
| | | public GZJJob(ITaskService taskService, WebSocketServer webSocketServer) |
| | | public GZJJob(ITaskService taskService, WebSocketServer webSocketServer, Idt_ErrormsginfoService errormsginfoService, |
| | | Idt_StationinfoService stationinfoService, |
| | | IRepository<dt_stationInfo> dt_stationInfoRepository, |
| | | IRepository<Dt_Task> dt_taskRepositiry) |
| | | { |
| | | _taskService = taskService;//注å
¥ |
| | | _webSocketServer = webSocketServer; |
| | | _ErrormsginfoService = errormsginfoService; |
| | | _dt_stationInfoRepository = dt_stationInfoRepository; |
| | | _dt_taskRepositiry = dt_taskRepositiry; |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | |
| | | OtherDevice device = (OtherDevice)value; |
| | | try |
| | | { |
| | | //Example |
| | | //device.GetValue 读å |
| | | //device.SetValue åå
¥ |
| | | //_taskService.Repository; //ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é® |
| | | OHTReadData oHTReadData = new OHTReadData(); |
| | | //todo:读åè®¾å¤æ°æ®ï¼ |
| | | |
| | | |
| | | //todo:设å¤ç¶ææ°æ®åéç»å端 |
| | | |
| | | |
| | | #region çæå
¥åºä»»å¡ |
| | | if (!OHTJob.oHTReadData.R_GZJ_isWork) |
| | | { |
| | | throw new Exception($"è§æ´æºæå
¥ä½¿ç¨ä¿¡å·ä¸ºfalse"); |
| | | } |
| | | Dt_Task task = new Dt_Task(); |
| | | |
| | | //WriteInfo(device.DeviceName, "infoLog"); |
| | | if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_DK_isready)//RGVä¸ææ¨¡å¼ï¼ä¸ä¸è·¨æ¶åæä¸æä¿¡å· |
| | | { |
| | | var station=_dt_stationInfoRepository.QueryFirst(v=>v.msg== "ä¸è·¨æ¶å"); |
| | | task.SourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | task.TargetAddress = ""; |
| | | task.Grade = 1; |
| | | task.Remark = (int)MateTypeEnum.ZiChan; |
| | | } |
| | | else if (OHTJob.oHTReadData.R_RGVMode && OHTJob.oHTReadData.R_XK_isready)//RGVä¸ææ¨¡å¼ï¼ä¸è¥¿è·¨æ¶åæä¸æä¿¡å· |
| | | { |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | task.SourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | task.TargetAddress = ""; |
| | | var DKstation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "ä¸è·¨æ¶å"); |
| | | string address= DKstation.Row + "-" + DKstation.Column + "-1"; |
| | | var oldtask = _dt_taskRepositiry.QueryFirst(v=>v.SourceAddress== address); |
| | | if (oldtask!=null && oldtask.TaskState== (int)TaskInStatusEnum.InNew) |
| | | { |
| | | task.Grade = 2; |
| | | } |
| | | else |
| | | { |
| | | task.Grade = 1; |
| | | } |
| | | task.Remark = (int)MateTypeEnum.ZiChan; |
| | | } |
| | | else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_XK_isready)//人工åè½¦ä¸ææ¨¡å¼ï¼ä¸è¥¿è·¨æ¶åæä¸æä¿¡å· |
| | | { |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | task.SourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | task.TargetAddress = ""; |
| | | task.Grade = 1; |
| | | task.Remark = (int)MateTypeEnum.WaiGou; |
| | | } |
| | | else if (OHTJob.oHTReadData.R_CCMode && OHTJob.oHTReadData.R_DK_isready)//人工åè½¦ä¸ææ¨¡å¼ï¼ä¸ä¸è·¨æ¶åæä¸æä¿¡å· |
| | | { |
| | | var station = _dt_stationInfoRepository.QueryFirst(v => v.msg == "ä¸è·¨æ¶å"); |
| | | task.SourceAddress = station.Row + "-" + station.Column + "-1"; |
| | | task.TargetAddress = ""; |
| | | var XKstation = _dt_stationInfoRepository.QueryFirst(v => v.msg == "西跨æ¶å"); |
| | | string address= XKstation.Row + "-" + XKstation.Column + "-1"; |
| | | var oldtask = _dt_taskRepositiry.QueryFirst(v => v.SourceAddress == address); |
| | | if (oldtask != null && oldtask.TaskState == (int)TaskInStatusEnum.InNew) |
| | | { |
| | | task.Grade = 2; |
| | | } |
| | | else |
| | | { |
| | | task.Grade = 1; |
| | | } |
| | | task.Remark = (int)MateTypeEnum.WaiGou; |
| | | } |
| | | else |
| | | { |
| | | throw new Exception($"è§æ´æºå½åä¿¡å·ä¸æ»¡è¶³å
¥åºä»»å¡çææ¡ä»¶"); |
| | | } |
| | | task.Roadway = "TC01"; |
| | | task.TaskType = (int)TaskInboundTypeEnum.Inbound; |
| | | task.TaskState = (int)TaskInStatusEnum.InNew; |
| | | |
| | | //WriteDebug(device.DeviceName, "debugLog"); |
| | | _dt_taskRepositiry.AddData(task); |
| | | |
| | | #endregion |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | WriteError(device.DeviceName, "é误", ex); |
| | | _ErrormsginfoService.UpdateErrorMsg(ex.Message, 2); |
| | | } |
| | | } |
| | | |