| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Communicator; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_ITaskInfoService; |
| | | using WIDESEAWCS_Model.Models; |
| | |
| | | //_taskService.Repository; //ä»å¨å±ï¼è¿è¡æ°æ®åºè®¿é® |
| | | OHTReadData oHTReadData = new OHTReadData(); |
| | | #region 读åå¤©è½¦è®¾å¤æ°æ® |
| | | oHTReadData.R_HeartBeat = device.GetValue<DeviceDBName, short>(DeviceDBName.R_HeartBeat); |
| | | oHTReadData.R_HeartBeat = device.GetValue<DeviceDBName, bool>(DeviceDBName.R_HeartBeat); |
| | | oHTReadData.R_RunMode = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RunMode); |
| | | oHTReadData.R_RunState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RunState); |
| | | oHTReadData.R_AlarmCode = device.GetValue<DeviceDBName, short>(DeviceDBName.R_AlarmCode); |
| | | oHTReadData.R_TaskState = device.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskState); |
| | | oHTReadData.R_CurrentLine = device.GetValue<DeviceDBName, short>(DeviceDBName.R_CurrentLine); |
| | | oHTReadData.R_CurrentColumn = device.GetValue<DeviceDBName, short>(DeviceDBName.R_CurrentColumn); |
| | | oHTReadData.R_RiseUp_Position = device.GetValue<DeviceDBName, short>(DeviceDBName.R_RiseUp_Position); |
| | | oHTReadData.R_TaskNumber = device.GetValue<DeviceDBName, short>(DeviceDBName.R_TaskNumber); |
| | | oHTReadData.R_CurrentLine = device.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentLine); |
| | | oHTReadData.R_CurrentColumn = device.GetValue<DeviceDBName, int>(DeviceDBName.R_CurrentColumn); |
| | | oHTReadData.R_RiseUp_Position = device.GetValue<DeviceDBName, int>(DeviceDBName.R_RiseUp_Position); |
| | | oHTReadData.R_TaskNumber = device.GetValue<DeviceDBName, int>(DeviceDBName.R_TaskNumber); |
| | | oHTReadData.R_Loaded_1 = device.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_1); |
| | | oHTReadData.R_Loaded_2 = device.GetValue<DeviceDBName, short>(DeviceDBName.R_Loaded_2); |
| | | oHTReadData.R_Code_1 = device.GetValue<DeviceDBName, string>(DeviceDBName.R_Code_1); |
| | | oHTReadData.R_Code_2 = device.GetValue<DeviceDBName, string>(DeviceDBName.R_Code_2); |
| | | oHTReadData.R_Load_Requst_1 = device.GetValue<DeviceDBName, bool>(DeviceDBName.R_Load_Requst_1); |
| | | oHTReadData.R_Load_Requst_2 = device.GetValue<DeviceDBName, bool>(DeviceDBName.R_Load_Requst_2); |
| | | oHTReadData.weight = device.GetValue<DeviceDBName, float>(DeviceDBName.weight); |
| | | |
| | | #region æµè¯ç¨ |
| | | //oHTReadData.R_HeartBeat = 1; |
| | | //oHTReadData.R_RunMode = 2; |
| | |
| | | string ohtData = JsonConvert.SerializeObject(oHTReadData); |
| | | _webSocketServer.PublishAllClientPayload(ohtData); |
| | | |
| | | //å 为天çä»»å¡éè¦å段åéï¼æä»¥åè´§å®æä¸æ¾è´§å®æéè¦åç¬åé»è¾æ§å¶ |
| | | //å¤æå¤©è½¦å½åææ²¡æåè´§å®æä»»å¡ä¿¡å· |
| | | if (oHTReadData.R_RunState == (int)RunStateEnum.PickUpCompleted && oHTReadData.R_TaskState==(int)TaskStateEnum.TaskComplete) |
| | | { |
| | | //天车åè´§å®æé»è¾ |
| | | var nawtask = _taskService.QueryTakNnmTask(oHTReadData.R_TaskNumber); |
| | | if (nawtask==null) |
| | | { |
| | | throw new Exception(string.Format("天车åè´§å®æä»»å¡æªæ¥è¯¢å°ä»»å¡å·{0}",oHTReadData.R_TaskNumber)); |
| | | } |
| | | if (nawtask.TaskType== (int)TaskInboundTypeEnum.Inbound) |
| | | { |
| | | //妿任å¡çç¶ææ¯å¤©è½¦å
¥åºåè´§æ§è¡ä¸ |
| | | if (nawtask.TaskState==(int)TaskInStatusEnum.Line_InGrabExecuting) |
| | | { |
| | | WebResponseContent result=_taskService.UpdateTaskStatusToLine_Ingrab(nawtask); |
| | | if (result.Status) |
| | | { |
| | | device.SetValue(DeviceDBName.W_ConfirmSignal, 3); |
| | | } |
| | | } |
| | | } |
| | | else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | //妿任å¡ç¶ææ¯å¤©è½¦åºåºåè´§æ§è¡ä¸ |
| | | if (nawtask.TaskState == (int)TaskOutStatusEnum.Line_OutGrabExecuting) |
| | | { |
| | | WebResponseContent result = _taskService.UpdateTaskStatusToLine_Outgrab(nawtask); |
| | | if (result.Status) |
| | | { |
| | | device.SetValue(DeviceDBName.W_ConfirmSignal, 3); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else if (oHTReadData.R_RunState == (int)RunStateEnum.PutCompleted && oHTReadData.R_TaskState == (int)TaskStateEnum.TaskComplete) |
| | | { |
| | | //天车æ¾è´§å®æé»è¾ |
| | | var nawtask = _taskService.QueryTakNnmTask(oHTReadData.R_TaskNumber); |
| | | if (nawtask == null) |
| | | { |
| | | throw new Exception(string.Format("天车æ¾è´§å®æä»»å¡æªæ¥è¯¢å°ä»»å¡å·{0}", oHTReadData.R_TaskNumber)); |
| | | } |
| | | if (nawtask.TaskType == (int)TaskInboundTypeEnum.Inbound) |
| | | { |
| | | |
| | | } |
| | | else if (nawtask.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | if (oHTReadData.R_RunMode == (int)RunModeEnum.Automatic && oHTReadData.R_AlarmCode == (int)AlarmCodeEnum.Normal) |
| | | { |
| | | if (oHTReadData.R_RunState == (int)RunStateEnum.Standby) |