| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_IBasicInfoService; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_QuartzJob.DeviceBase; |
| | | using WIDESEAWCS_QuartzJob.DTO; |
| | | using WIDESEAWCS_QuartzJob.StackerCrane.Enum; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | |
| | | public class TestJob : JobBase, IJob |
| | | { |
| | | private readonly ITaskService _taskService; |
| | | public TestJob(ITaskService taskService) |
| | | private readonly IStationMangerService _stationMangerService; |
| | | public TestJob(ITaskService taskService, IStationMangerService stationMangerService) |
| | | { |
| | | _taskService = taskService;//注å
¥ |
| | | _stationMangerService = stationMangerService; |
| | | } |
| | | |
| | | public Task Execute(IJobExecutionContext context) |
| | |
| | | if (flag && value != null) |
| | | { |
| | | OtherDevice device = (OtherDevice)value; |
| | | try |
| | | { |
| | | //Example |
| | | //device.GetValue 读å |
| | | //device.SetValue åå
¥ |
| | | // _taskService.Repository ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é® |
| | | // _taskService.Repository ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é®- |
| | | try |
| | | { |
| | | var taskList = _taskService.Repository.QueryData(x => x.TaskType == TaskTypeEnum.CPInbound.ObjToInt() && x.TaskState == TaskStatusEnum.CheckShapeing.ObjToInt()); |
| | | //ä»»å¡çç®æ å°å对äºç«å°å·ï¼ |
| | | foreach (var task in taskList) |
| | | { |
| | | ////æ¾å°å¯¹äºç«å°ç管çä¿¡æ¯ï¼ççè¿ä¸ªç«å°ææ²¡æè´§ï¼å¦ææè´§çè¯ï¼å°±è¿è¡è´¨æ£ï¼å¦ææ²¡æè´§çè¯ï¼å°±ä¸è¿è¡è´¨æ£ |
| | | //var stationMangers = _stationMangerService.Repository.QueryFirst(x => x.StationCode == task.SourceAddress); |
| | | //device.SetValue(QualityInspectionCommandEnum.StartqualityInspection,true,task.SourceAddress); |
| | | //妿æè´§çè¯ï¼æè¿è¡è´¨æ£ï¼æç«å°ç¶æè¯¥ä¸ºå ç¨ |
| | | var R_StockAvailableSymbol = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_StockAvailableSymbol, task.SourceAddress); |
| | | if (R_StockAvailableSymbol==true) |
| | | { |
| | | //stationMangers.IsOccupied=1;//æ¹ä¸ºå ç¨ |
| | | //å¼å¯è´¨æ£ |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, true, task.SourceAddress); |
| | | //å¦æè¯»å°è´¨æ£æ§è¡ä¸ä¸ºtrueçè¯ï¼å°±å
³éè´¨æ£ |
| | | if (device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspection, task.SourceAddress)) |
| | | { |
| | | device.SetValue(QualityInspectionCommandEnum.StartqualityInspection, false, task.SourceAddress); |
| | | } |
| | | //å读åè´¨æ£ç»æ |
| | | var qualityResult = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_QualityInspectionInProgress, task.SourceAddress); |
| | | //å·¦è¶
宽è¦å |
| | | var R_LeftOverWidthWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_LeftOverWidthWarning, task.SourceAddress); |
| | | //å³è¶
宽è¦å |
| | | var R_RightWideWarning=device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_RightWideWarning, task.SourceAddress); |
| | | //è¶
é«è¦å |
| | | var R_ExtremeWarning = device.GetValue<QualityInspectionCommandEnum, bool>(QualityInspectionCommandEnum.R_ExtremeWarning, task.SourceAddress); |
| | | if (qualityResult) |
| | | { |
| | | //å¦æè´¨æ£éè¿äºï¼å°±æä»»å¡ç¶ææ¹ä¸ºè´¨æ£å®æ |
| | | task.TaskState = TaskStatusEnum.CheckShapeingOk.ObjToInt(); |
| | | } |
| | | else if(R_LeftOverWidthWarning) |
| | | { |
| | | task.ExceptionMessage= "è´¨æ£å¤±è´¥ï¼å·¦è¶
宽"; |
| | | task.TaskState = TaskStatusEnum.CheckShapeingNG.ObjToInt(); |
| | | } |
| | | else if (R_RightWideWarning) |
| | | { |
| | | task.ExceptionMessage = "è´¨æ£å¤±è´¥ï¼å³è¶
宽"; |
| | | } |
| | | else if (R_ExtremeWarning) |
| | | { |
| | | task.ExceptionMessage = "è´¨æ£å¤±è´¥,è¶
é«"; |
| | | } |
| | | else if (qualityResult==false) //å¦æè´¨æ£å¤±è´¥ï¼å°±å¤ä½ |
| | | { |
| | | //åå
¥å¤ä½ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.FaultReset, true, task.SourceAddress); |
| | | } |
| | | //åå
¥åæ¢è´¨æ£ä¿¡å· |
| | | device.SetValue(QualityInspectionCommandEnum.StopqualityInspection, true, task.SourceAddress); |
| | | } |
| | | |
| | | } |
| | | |
| | | WriteInfo(device.DeviceName, "infoLog"); |
| | | |