|  |  | 
 |  |  |                                             //builder.AppendLine(); | 
 |  |  |                                             //ConsoleHelper.WriteColorLine(builder, ConsoleColor.Blue); | 
 |  |  |                                             commonStackerCrane.LastTaskType = task.TaskType; | 
 |  |  |  | 
 |  |  |                                             _taskService.UpdateTaskStatusToNext(task.TaskNum); | 
 |  |  |  | 
 |  |  |                                         } | 
 |  |  |                                     } | 
 |  |  |                                     else | 
 |  |  | 
 |  |  |                     var task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum); | 
 |  |  |  | 
 |  |  |                     if (task == null) commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5); | 
 |  |  |  | 
 |  |  |                     if (commonStackerCrane.DeviceCode.Contains("CW") && task.TaskType == (int)TaskOutboundTypeEnum.InToOut) | 
 |  |  |                     { | 
 |  |  |                         var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationPLC == "1006" && x.stationType == 10 && x.Roadway == commonStackerCrane.DeviceCode); | 
 |  |  |  | 
 |  |  |                         IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationinfo.stationPLC); | 
 |  |  |                         if (device != null) | 
 |  |  |                         { | 
 |  |  |                             CommonConveyorLine_GW conveyorLine = (CommonConveyorLine_GW)device; | 
 |  |  |                             conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, Convert.ToInt16(3292), stationinfo.stationChildCode); | 
 |  |  |                             Thread.Sleep(100); | 
 |  |  |                             conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTaskNum, 1000, stationinfo.stationChildCode); | 
 |  |  |                         } | 
 |  |  |                         WriteInfo(commonStackerCrane.DeviceName, $"【手动出库记录】任务号【{e.TaskNum}】托盘号【{task.PalletCode}】"); | 
 |  |  |                     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                     if (commonStackerCrane.DeviceCode.Contains("GW") && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) | 
 |  |  |                     { | 
 |  |  | 
 |  |  |             } | 
 |  |  |             else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) | 
 |  |  |             { | 
 |  |  |                 if (task.Roadway.Contains("GW") || task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) | 
 |  |  |                 if (task.TaskType == (int)TaskOutboundTypeEnum.InToOut) | 
 |  |  |                 { | 
 |  |  |                     string[] endCodes = task.TargetAddress.Split("-"); | 
 |  |  |                     stackerCraneTaskCommand.EndRow = Convert.ToInt16(endCodes[0]); | 
 |  |  |                     stackerCraneTaskCommand.EndColumn = Convert.ToInt16(endCodes[1]); | 
 |  |  |                     stackerCraneTaskCommand.EndLayer = Convert.ToInt16(endCodes[2]); | 
 |  |  |                     string[] sourceCodes = task.SourceAddress.Split("-"); | 
 |  |  |                     stackerCraneTaskCommand.StartRow = Convert.ToInt16(sourceCodes[0]) % 2 != 0 ? (short)1 : (short)2; | 
 |  |  |                     stackerCraneTaskCommand.StartColumn = Convert.ToInt16(sourceCodes[1]); | 
 |  |  |                     stackerCraneTaskCommand.StartLayer = Convert.ToInt16(sourceCodes[2]); | 
 |  |  |                 } | 
 |  |  |                 else if (task.Roadway.Contains("GW") || task.TaskType == (int)TaskOutboundTypeEnum.OutFireAlarm) | 
 |  |  |                 { | 
 |  |  |                     string[] endCodes = task.NextAddress.Split("-"); | 
 |  |  |                     stackerCraneTaskCommand.EndRow = Convert.ToInt16(endCodes[0]); |