|  |  | 
 |  |  |         { | 
 |  |  |             if (command.Barcode != "NoRead") | 
 |  |  |             { | 
 |  |  |                 if (_taskRepository.QueryFirst(x => x.PalletCode == command.Barcode) != null) | 
 |  |  |                 { | 
 |  |  |                     var taskExecuting = _taskRepository.QueryFirst(x => x.PalletCode == command.Barcode && (x.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting || x.TaskState == (int)TaskOutStatusEnum.SC_OutFinish)); | 
 |  |  |  | 
 |  |  |                     if (taskExecuting != null) | 
 |  |  |                     { | 
 |  |  |                         taskExecuting.ExceptionMessage = "未接收到线体完成信号系统内部自动完成"; | 
 |  |  |                         _taskService.Delete(taskExecuting); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |                     ConsoleHelper.WriteErrorLine($"当前托盘存在任务:【{command.Barcode}】"); | 
 |  |  |  | 
 |  |  |                     WriteInfo(conveyorLine.DeviceName, $"当前托盘存在任务{command.Barcode}"); | 
 |  |  |  | 
 |  |  |                 } | 
 |  |  |                 string isTrue = string.Empty; | 
 |  |  |  | 
 |  |  |                 ResultTrayCellsStatus result = GetResultTrayCellsStatus(command, stationManager); | 
 |  |  | 
 |  |  |                     taskDTO = CreateEmptyTrayTaskDto(command.Barcode, childDeviceCode); ; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (_taskRepository.QueryFirst(x => x.PalletCode == taskDTO.PalletCode) != null) | 
 |  |  |                 { | 
 |  |  |                     WriteInfo(conveyorLine.DeviceName, "当前托盘存在任务"); | 
 |  |  |                 } | 
 |  |  |                 CreateEmptyTryTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue, taskDTO); | 
 |  |  |             } | 
 |  |  |  | 
 |  |  | 
 |  |  |                     LogAndSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, logMessage, conveyorLineTaskCommand.TargetAddress.ToString()); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); | 
 |  |  |                 var wmsbase = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue; | 
 |  |  |                 var address = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryLocationFreeJZ).FirstOrDefault()?.ConfigValue; | 
 |  |  |                 if (wmsbase == null || address == null) | 
 |  |  |                 { | 
 |  |  |                     throw new InvalidOperationException("WMS IP 未配置"); | 
 |  |  |                 } | 
 |  |  |                 var wmsIpAddrss = wmsbase + address; | 
 |  |  |                 var x = await HttpHelper.PostAsync(wmsIpAddrss, new { RoadwayNo = "JZSC" }.ToJsonString()); | 
 |  |  |                 var LocationFree = JsonConvert.DeserializeObject<WebResponseContent>(x); | 
 |  |  |                 if (!LocationFree.Status) | 
 |  |  |                 { | 
 |  |  |                     ConsoleHelper.WriteErrorLine(LocationFree.Message); | 
 |  |  |                     return; | 
 |  |  |                 } | 
 |  |  |                 if (resultTrayCellsStatus.SerialNos.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     var Traycontent = await _taskService.RequestWMSTask(command.Barcode, childDeviceCode); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     var configz = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); | 
 |  |  |                     var wmsbase = configz.Where(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE).FirstOrDefault()?.ConfigValue; | 
 |  |  |                     var address = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue; | 
 |  |  |                     if (wmsbase == null || address == null) | 
 |  |  |                     var QueryStockInfoForRealTrayJZ = configz.Where(x => x.ConfigKey == SysConfigKeyConst.QueryStockInfoForRealTrayJZAsync).FirstOrDefault()?.ConfigValue; | 
 |  |  |                     if (wmsbase == null || QueryStockInfoForRealTrayJZ == null) | 
 |  |  |                     { | 
 |  |  |                         throw new InvalidOperationException("WMS IP 未配置"); | 
 |  |  |                     } | 
 |  |  |                     var wmsIpAddrss = wmsbase + address; | 
 |  |  |                     wmsIpAddrss = wmsbase + QueryStockInfoForRealTrayJZ; | 
 |  |  |                     var result = await HttpHelper.PostAsync(wmsIpAddrss, new { ProductLine = resultTrayCellsStatus.ProductionLine, PalletCode = command.Barcode }.ToJsonString()); | 
 |  |  |                     var StockInfocontent = JsonConvert.DeserializeObject<WebResponseContent>(result); | 
 |  |  |                     if (StockInfocontent.Status) |