| | |
| | | command.CL1002Status = conveyorLine.Communicator.Read<short>("DB801.46.0"); |
| | | command.Weight = conveyorLine.Communicator.Read<short>("DB801.48.0"); |
| | | command.CL1002Barcode = conveyorLine.Communicator.Read<string>("DB801.52.0"); |
| | | command.ISIn = conveyorLine.Communicator.Read<short>("DB801.84.0"); |
| | | command.ISIn = conveyorLine.Communicator.Read<short>("DB801.84.0");//çäº1çæ¶åä¸è®©åºåº |
| | | if (command != null) |
| | | { |
| | | Dt_Task Intask = _taskService.QueryConveyorLineTask(command.CL1002Barcode); |
| | | if (Intask != null) |
| | | if (!string.IsNullOrEmpty(command.CL1002Barcode.Trim())) |
| | | { |
| | | //å
¥åºå¤ç |
| | | //妿å
¥åºå°ä½ï¼åæ ¹æ®æçç ï¼æ¡ç ï¼å»è·åWCSä»»å¡å· |
| | | if (command.ISInFinish == 1) |
| | | Dt_Task Intask = _taskService.QueryConveyorLineTask(command.CL1002Barcode); |
| | | if (Intask != null) |
| | | { |
| | | _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InExecuting); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"è¾é线å
¥åºæ§è¡ä¸"); |
| | | //å
¥åºç¡®è®¤ä¿¡å· |
| | | conveyorLine.Communicator.Write<short>("DB800.6.0", 1); |
| | | _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InFinish); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"è¾é线å
¥åºå®æ"); |
| | | //å
¥åºå¤ç |
| | | //妿å
¥åºå°ä½ï¼åæ ¹æ®æçç ï¼æ¡ç ï¼å»è·åWCSä»»å¡å· |
| | | if (command.ISInFinish == 1) |
| | | { |
| | | _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InExecuting); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"è¾é线å
¥åºæ§è¡ä¸"); |
| | | //å
¥åºç¡®è®¤ä¿¡å· |
| | | conveyorLine.Communicator.Write<short>("DB800.6.0", 1); |
| | | _taskService.UpdateTaskStatus(Intask.TaskId, (int)TaskInStatusEnum.Line_InFinish); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Intask.TaskId, $"è¾é线å
¥åºå®æ"); |
| | | } |
| | | } |
| | | else//å¦ææ ¹æ®æçæ¡ç æ¥ä¸å°ä»»å¡ï¼å认为æ¯ç©ºæçï¼ç©ºæçå
¥åºå¯ä»¥ä¸éè¦ç»çï¼ç´æ¥æ°å»ºä»»å¡ï¼ä¹å¯ä»¥ç´æ¥ä¸ç©ºæåºåºä»»å¡ |
| | | { |
| | | if (command.ISInFinish == 1) |
| | | { |
| | | //å
ä¸ç»PLCå
¥åºç¡®è®¤ä¿¡å·ï¼è°WMS空æå
¥åºä»»å¡æ¥å£ |
| | | _taskService.GenerateEmptyInBoundTask(command.CL1002Barcode); |
| | | } |
| | | |
| | | } |
| | | } |
| | | else//å¦ææ ¹æ®æçæ¡ç æ¥ä¸å°ä»»å¡ï¼å认为æ¯ç©ºæçï¼ç©ºæçå
¥åºä¸éè¦ç»çï¼ç´æ¥æ°å»ºä»»å¡ |
| | | if (!string.IsNullOrEmpty(command.Barcode.Trim())) |
| | | { |
| | | if (command.ISInFinish == 1) |
| | | Dt_Task Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); |
| | | if (Outtask != null) |
| | | { |
| | | //å
¥åºç¡®è®¤ä¿¡å· |
| | | conveyorLine.Communicator.Write<short>("DB800.6.0", 1); |
| | | Dt_Task task = new Dt_Task(); |
| | | task.TaskNum= GetTaskNo(); |
| | | task.PalletCode = command.CL1002Barcode; |
| | | task.TaskType =(int)TaskInboundTypeEnum.Inbound; |
| | | task.TaskState = (int)TaskInStatusEnum.Line_InFinish; |
| | | task.Roadway = "SC01"; |
| | | task.SourceAddress = "R01-001-023-001"; |
| | | //åWMSç³è¯·ç©ºè´§ä½ |
| | | task.TargetAddress= WMSApiInvoke.GetAllLocationGroups(task.PalletCode); |
| | | _taskService.AddData(task); |
| | | Dt_Router dt_Router = new Dt_Router(); |
| | | //临æ¶è®°å½ä¸æçååºä½çç»å®å
³ç³» |
| | | dt_Router.StartPosi = task.TargetAddress; |
| | | dt_Router.NextPosi = task.PalletCode; |
| | | dt_Router.InOutType = RouterInOutType.Out; |
| | | dt_Router.ChildPosi = "1"; |
| | | dt_Router.ChildPosiDeviceCode = "1"; |
| | | dt_Router.IsEnd = true; |
| | | _routerService.AddData(dt_Router); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"è¾é线å
¥åºæ§è¡ä¸"); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"è¾é线å
¥åºå®æ"); |
| | | |
| | | |
| | | } |
| | | //åºåºå¤ç |
| | | //妿åºåºå°ä½ï¼åºåºä»»å¡å®æ |
| | | if (command.ISOutFinish == 1) |
| | | { |
| | | _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutExecuting); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"è¾é线åºåºæ§è¡ä¸"); |
| | | _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutFinish); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"è¾é线åºåºå®æ"); |
| | | //åºåºç¡®è®¤ä¿¡å· |
| | | conveyorLine.Communicator.Write<short>("DB800.0.0", 1); |
| | | _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.OutFinish); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"åºåºä»»å¡å®æ"); |
| | | _taskService.OutBoundTaskByWMS(Outtask.TaskNum); |
| | | |
| | | |
| | | } |
| | | |
| | | Dt_Task Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); |
| | | if (Outtask != null) |
| | | { |
| | | //åºåºå¤ç |
| | | //妿åºåºå°ä½ï¼åºåºä»»å¡å®æ |
| | | if (command.ISOutFinish == 1) |
| | | { |
| | | _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutExecuting); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"è¾é线åºåºæ§è¡ä¸"); |
| | | _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.Line_OutFinish); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"è¾é线åºåºå®æ"); |
| | | //åºåºç¡®è®¤ä¿¡å· |
| | | conveyorLine.Communicator.Write<short>("DB800.0.0", 1); |
| | | _taskService.UpdateTaskStatus(Outtask.TaskId, (int)TaskOutStatusEnum.OutFinish); |
| | | _taskExecuteDetailService.AddTaskExecuteDetail(Outtask.TaskId, $"åºåºä»»å¡å®æ"); |
| | | } |
| | | } |
| | | } |
| | | |
| | | //Intask = _taskService.QueryConveyorLineTask(command.CL1002Barcode); |
| | | //Outtask = _taskService.QueryConveyorLineOutTask(command.Barcode); |
| | | //if (Intask==null&&Outtask==null && command.CL1001Free==1 && command.CL1002Free==1&& command.ISIn==0) |
| | | //{ |
| | | // //çæç©ºè½¦åºåºä»»å¡ |
| | | // _taskService.GenerateEmptyOutBoundTask(); |
| | | //} |
| | | |
| | | } |
| | | Task.WaitAll(tasks.ToArray()); |
| | | } |