| | |
| | | using WIDESEAWCS_Model.Models; |
| | | using WIDESEAWCS_QuartzJob; |
| | | using WIDESEAWCS_Tasks.ConveyorLineJob; |
| | | using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; |
| | | |
| | | namespace WIDESEAWCS_Tasks |
| | | { |
| | |
| | | case 9: |
| | | case 11: |
| | | case 12: |
| | | var task = _taskService.QueryExecutingConveyorLineTask(command.ConveyorLineTaskNum, childDeviceCode); |
| | | var task = _taskService.QueryExecutingTaskByBarcode(command.ConveyorLineBarcode, childDeviceCode); |
| | | if (task != null) |
| | | { |
| | | ExecuteStationAction(stationManager, conveyorLine, command, childDeviceCode); |
| | | } |
| | | break; |
| | | |
| | | case 1: |
| | | case 6: |
| | | case 10: |
| | | ExecuteStationAction(stationManager, conveyorLine, command, childDeviceCode); |
| | | break; |
| | | //case 16: |
| | | // ExecuteStationAction(stationManager, conveyorLine, command, childDeviceCode); |
| | | // break; |
| | | } |
| | | |
| | | #region |
| | |
| | | case 6: |
| | | CreateAndSendEmptyTrayTask(conveyorLine, command, childDeviceCode); |
| | | break; |
| | | |
| | | case 16: |
| | | AbNormalStationBZTask(conveyorLine, command, childDeviceCode); |
| | | break; |
| | | case 1: |
| | | |
| | | //if (stationManager.stationArea.Contains("GW")) |
| | |
| | | // command.ConveyorLineBarcode = taskGW.PalletCode; |
| | | //} |
| | | //} |
| | | //如高温出库后任务标记NG异常则将任务更新为异常排出任务 |
| | | Dt_Task NGtask = _taskRepository.QueryFirst(x => x.Remark == "NG" && x.Roadway == stationManager.Roadway && x.Roadway.Contains("GW")); |
| | | if (NGtask != null) |
| | | { |
| | | CreateAbNormalOutbound(conveyorLine, command, childDeviceCode, NGtask); |
| | | break; |
| | | } |
| | | //如高温出库后任务标记NG异常则将任务更新为异常排出任务 --冠宇取消超时检测后 托盘超时不在出库至异常口 |
| | | //Dt_Task NGtask = _taskRepository.QueryFirst(x => x.Remark == "NG" && x.Roadway == stationManager.Roadway && x.Roadway.Contains("GW")); |
| | | //if (NGtask != null) |
| | | //{ |
| | | // CreateAbNormalOutbound(conveyorLine, command, childDeviceCode, NGtask); |
| | | // break; |
| | | //} |
| | | |
| | | RequestWmsTask(conveyorLine, command, childDeviceCode); |
| | | break; |
| | |
| | | { |
| | | if (command.ConveyorLineBarcode != "NoRead") |
| | | { |
| | | //var config = _sys_ConfigService.GetByConfigKey("SYS_BASE", "ISFRINTRAY"); |
| | | //if (config.ConfigValue == "1") |
| | | //{ |
| | | // Random random = new Random(); |
| | | // var task = new Dt_Task() |
| | | // { |
| | | // CurrentAddress = childDeviceCode, |
| | | // Grade = 1, |
| | | // NextAddress = "2066", |
| | | // PalletCode = command.ConveyorLineBarcode, |
| | | // Roadway = "FR", |
| | | // SourceAddress = childDeviceCode, |
| | | // TargetAddress = "2066", |
| | | // TaskNum = random.Next(1,9999), |
| | | // TaskType = (int)TaskInboundTypeEnum.InTray, |
| | | // TaskState = (int)TaskInStatusEnum.Line_InExecuting, |
| | | // WMSId = 0 |
| | | // }; |
| | | // var taskCommand = MapTaskCommand(task, command); |
| | | // conveyorLine.SendCommand(taskCommand, childDeviceCode); |
| | | //} |
| | | //else |
| | | //{ |
| | | var taskDTO = CreateEmptyTrayTaskDto(command.ConveyorLineBarcode, childDeviceCode); |
| | | |
| | | if (_taskRepository.QueryFirst(x => x.PalletCode == taskDTO.PalletCode) != null) |
| | |
| | | _taskService.UpdateTaskStatusToNext(task); |
| | | } |
| | | } |
| | | //} |
| | | } |
| | | } |
| | | |
| | |
| | | //Dt_Task task= _taskRepository.QueryFirst(x=>) |
| | | //_taskRepository.QueryFirst() |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 包装异常排出口逻辑 |
| | | /// </summary> |
| | | /// <param name="conveyorLine"></param> |
| | | /// <param name="command"></param> |
| | | /// <param name="childDeviceCode"></param> |
| | | private void AbNormalStationBZTask(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode) |
| | | { |
| | | Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.stationChildCode == childDeviceCode && x.stationPLC == conveyorLine.DeviceCode); |
| | | |
| | | if (command.ConveyorLineBarcode.IsNullOrEmpty()) |
| | | { |
| | | conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 2, childDeviceCode); |
| | | return; |
| | | } |
| | | |
| | | |
| | | if (conveyorLine.ReadValue(ConveyorLineDBName_After.InteractiveSignal, childDeviceCode).ObjToInt() == 0) //托盘正反信号 |
| | | { |
| | | |
| | | }; |
| | | |
| | | conveyorLine.ReadValue(ConveyorLineDBName_After.InteractiveSignal, childDeviceCode); //托盘有无电芯信号 |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | } |