| | |
| | | using Masuit.Tools; |
| | | using Mapster; |
| | | using Masuit.Tools; |
| | | using Newtonsoft.Json; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | |
| | | { |
| | | 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) |
| | | if (_taskRepository.QueryFirst(x => x.PalletCode == command.ConveyorLineBarcode) != null) |
| | | { |
| | | WriteInfo(conveyorLine.DeviceName, "当前托盘存在任务"); |
| | | List<string> strings = new List<string>() { "1743", "1739", "1837", "1841" }; |
| | | |
| | | var taskExecuting = _taskRepository.QueryFirst(x => x.PalletCode == command.ConveyorLineBarcode && x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting && strings.Contains(x.TargetAddress)); |
| | | |
| | | if (taskExecuting != null) |
| | | { |
| | | taskExecuting.ExceptionMessage = "未接收到线体完成信号系统内部自动完成"; |
| | | _taskService.Delete(taskExecuting); |
| | | } |
| | | |
| | | ConsoleHelper.WriteErrorLine($"当前托盘存在任务:【{command.ConveyorLineBarcode}】"); |
| | | |
| | | WriteInfo(conveyorLine.DeviceName, $"当前托盘存在任务{command.ConveyorLineBarcode}"); |
| | | return; |
| | | } |
| | | |
| | |
| | | /// </summary> |
| | | private async void RequestWmsTask(CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode, Dt_StationManager stationManager) |
| | | { |
| | | //var taskGW = _taskRepository.QueryFirst(x => x.TargetAddress == childDeviceCode && (x.TaskState == (int)TaskOutStatusEnum.OutFinish || x.TaskState == (int)TaskOutStatusEnum.OutPending)); |
| | | //if (taskGW != null) |
| | | // _taskRepository.DeleteData(taskGW); |
| | | if (command.ConveyorLineBarcode.IsNullOrEmpty()) return; |
| | | var content = await _taskService.RequestWMSTask(command.ConveyorLineBarcode, childDeviceCode); |
| | | if (content.Status) |
| | |
| | | var task = _taskService.QueryBarCodeConveyorLineTask(command.ConveyorLineBarcode, childDeviceCode); |
| | | if (task != null) |
| | | { |
| | | //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTaskNum, task.TaskNum, childDeviceCode); |
| | | //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, task.NextAddress, childDeviceCode); |
| | | //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, command.ConveyorLineBarcode, childDeviceCode); |
| | | var GWTask = _taskRepository.QueryData(x => x.Roadway.Contains("GWSC2") && x.SourceAddress == "1039" && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskInStatusEnum.Line_InFinish)).ToList(); |
| | | if (GWTask.Count >= 2 && childDeviceCode == "1039" && task.Roadway.Contains("GWSC2")) |
| | | { |