| | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | | [DisallowConcurrentExecution] |
| | | public class StackerCraneJob : JobBase, IJob |
| | | public class StackerCraneJob : JobBase, IJob |
| | | { |
| | | public static int R_HeartBeat = 0; |
| | | public static string InorOut = "In"; |
| | |
| | | { |
| | | //åéç©æç¼å· |
| | | CL.SetValue(ConveyorLineName.W_NumberAD, result.MaterialCode1); |
| | | if (result.MaterialCode2 != null) |
| | | CL.SetValue(ConveyorLineName.W_NumberBD, result.MaterialCode2); |
| | | if (result.MaterialCode3 != null) |
| | | CL.SetValue(ConveyorLineName.W_NumberCD, result.MaterialCode3); |
| | | if (result.MaterialCode4 != null) |
| | | CL.SetValue(ConveyorLineName.W_NumberDD, result.MaterialCode4); |
| | | CL.SetValue(ConveyorLineName.W_NumberBD, result.MaterialCode2); |
| | | CL.SetValue(ConveyorLineName.W_NumberCD, result.MaterialCode3); |
| | | CL.SetValue(ConveyorLineName.W_NumberDD, result.MaterialCode4); |
| | | } |
| | | //commonStackerCrane.SetValue(StackerCraneDBName.W_Accomplish, true); |
| | | } |
| | | } |
| | | } |
| | | //ä¿®æ¹ä»»å¡ç¶æ |
| | | else if(R_TaskPhases == 1 || R_TaskPhases == 2 || R_TaskPhases == 4) |
| | | else if (R_TaskPhases == 1 || R_TaskPhases == 2 || R_TaskPhases == 4) |
| | | { |
| | | Dt_Task tasks = _TaskService.UpdateTaskStatus(R_OrderNo, R_TaskPhases); |
| | | if (tasks!=null) |
| | | if (tasks != null) |
| | | { |
| | | //忥WMS |
| | | string address = AppSettings.Get("WMSApiAddress"); |
| | |
| | | } |
| | | |
| | | //夿æ¯å¦ä¸ºèªå¨æ¨¡å¼ |
| | | if (R_ControlMode == 2 && R_TaskStatus == 2 && R_LoadStatus != 2) |
| | | if (R_ControlMode == 2 && R_TaskStatus == 2 && R_LoadStatus != 2 && (R_TaskPhases == 0 || R_TaskPhases == 5)) |
| | | { |
| | | Thread.Sleep(3000); |
| | | //夿æ¯å¦ææ§è¡ä¸çä»»å¡ |
| | | Dt_Task tasking = _taskRepository.QueryFirst(x=> x.TaskState !=(int) TaskStatusEnum.InNew && x.TaskState != (int)TaskStatusEnum.OutNew && x.TaskState != (int)TaskStatusEnum.Task_Put && x.TaskState != (int)TaskStatusEnum.Task_fetch); |
| | | Dt_Task tasking = _taskRepository.QueryFirst(x => (x.TaskState == (int)TaskStatusEnum.InNew && x.TaskState == (int)TaskStatusEnum.OutNew) || x.TaskState == (int)TaskStatusEnum.Task_Put || x.TaskState == (int)TaskStatusEnum.Task_fetch); |
| | | if (tasking == null) |
| | | { |
| | | //è·åä»»å¡ |
| | | Dt_Task? task = GetTask(InorOut); |
| | | if(task != null) |
| | | if (task != null) |
| | | { |
| | | //ä»»å¡å®ä½è½¬å½ä»¤Model |
| | | StackerCraneCommand? StackerCommand = ConvertToStackerCommand(task); |
| | | if(StackerCommand != null) |
| | | if (StackerCommand != null) |
| | | { |
| | | //åéå½ä»¤ |
| | | commonStackerCrane.SetValue(StackerCraneDBName.W_SourceRow, StackerCommand.W_SourceRow); |
| | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.W_DataCheckSum, StackerCommand.W_DataCheckSum); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.W_OrderNo, StackerCommand.W_OrderNo); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.W_Start, StackerCommand.W_Start); |
| | | WriteInfo("å åæºæ§è¡ä»»å¡ï¼", $"{StackerCommand.W_OrderNo}"); |
| | | } |
| | | } |
| | | } |
| | |
| | | { |
| | | Dt_Task task; |
| | | task = _TaskService.TaskInorOut(InorOuts); |
| | | //满桶åºåº |
| | | if (task != null) |
| | | { |
| | | if (task.TaskType == (int)TaskTypeEnum.Outfull) |
| | | { |
| | | int pick = comm.GETR_PickD(); |
| | | int status = comm.GETR_StatusD(); |
| | | if (pick != 1 || status != 1) |
| | | { |
| | | WriteInfo("å åæºæ§è¡æ»¡æ¡¶åºåºä»»å¡ï¼", $"{"è¾é线åºåºä¿¡å·å¼å¸¸" + pick + "//" + status}"); |
| | | return null; |
| | | } |
| | | WriteInfo("å åæºæ§è¡æ»¡æ¡¶åºåºä»»å¡ï¼", $"{"è¾é线åºåºä¿¡å·æ£å¸¸" + pick + "//" + status}"); |
| | | } |
| | | } |
| | | |
| | | //ä¸å
¥ä¸åº |
| | | if (task != null && (task.TaskState == (int)TaskStatusEnum.InNew || task.TaskState == (int)TaskStatusEnum.OutNew)) |
| | | { |
| | |
| | | } |
| | | |
| | | //ä»»å¡å®ä½è½¬å½ä»¤Model |
| | | public StackerCraneCommand? ConvertToStackerCommand(Dt_Task task) |
| | | public StackerCraneCommand? ConvertToStackerCommand(Dt_Task task) |
| | | { |
| | | StackerCraneCommand stackerCraneCommand = new StackerCraneCommand(); |
| | | string[] TargetAddress = task.TargetAddress.Split('-'); |