From fd07b13b6a8f6484cd370666d74776314911b300 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期三, 26 三月 2025 09:45:08 +0800
Subject: [PATCH] 1

---
 /dev/null                                                                                      |  505 --------------------------------------------------------
 CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |    2 
 2 files changed, 1 insertions(+), 506 deletions(-)

diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
index 8765f22..3e55872 100644
--- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -504,7 +504,7 @@
                 }
                 else
                 {
-                    if ((task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ"))
+                    if ((task.TargetAddress == "002-061-001" || task.TargetAddress == "001-061-001") && task.Roadway.Contains("JZ"))
                     {
                         string[] endCodes = task.NextAddress.Split("-");
                         stackerCraneTaskCommand.EndRow = Convert.ToInt16(endCodes[0]);
diff --git a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerJZJob/CommonStackerJZCraneJob.cs b/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerJZJob/CommonStackerJZCraneJob.cs
deleted file mode 100644
index 161de73..0000000
--- a/CodeManagement/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerJZJob/CommonStackerJZCraneJob.cs
+++ /dev/null
@@ -1,505 +0,0 @@
-锘縰sing Mapster;
-using Newtonsoft.Json;
-using Quartz;
-using System.Diagnostics.CodeAnalysis;
-using System.Text;
-using WIDESEAWCS_BasicInfoRepository;
-using WIDESEAWCS_Common;
-using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core.Caches;
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_Core.HttpContextUser;
-using WIDESEAWCS_IProcessRepository;
-using WIDESEAWCS_ISystemServices;
-using WIDESEAWCS_ITaskInfo_HtyRepository;
-using WIDESEAWCS_ITaskInfoRepository;
-using WIDESEAWCS_ITaskInfoService;
-using WIDESEAWCS_Model.Models;
-using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DeviceBase;
-using WIDESEAWCS_QuartzJob.Models;
-using WIDESEAWCS_QuartzJob.Service;
-using WIDESEAWCS_QuartzJob.StackerCrane.Enum;
-using WIDESEAWCS_SignalR;
-using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_Tasks.StackerCraneJob;
-using WIDESEA_Services;
-
-namespace WIDESEAWCS_Tasks
-{
-    [DisallowConcurrentExecution]
-    public class CommonStackerJZCraneJob : JobBase, IJob
-    {
-        private readonly ITaskService _taskService;
-        private readonly ITaskExecuteDetailService _taskExecuteDetailService;
-        private readonly ITaskRepository _taskRepository;
-        private readonly IRouterService _routerService;
-        private readonly IProcessRepository _processRepository;
-        private readonly ICacheService _cacheService;
-        private readonly INoticeService _noticeService;
-        private readonly IDt_StationManagerRepository _stationManagerRepository;
-        private readonly ITask_HtyRepository _htyRepository;
-        private readonly ISys_ConfigService _sys_ConfigService;
-        private static List<string>? userTokenIds;
-        private static List<int>? userIds;
-
-        public CommonStackerJZCraneJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IProcessRepository processRepository, ICacheService cacheService, INoticeService noticeService, IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository htyRepository, ISys_ConfigService sys_ConfigService)
-        {
-            _taskService = taskService;
-            _taskExecuteDetailService = taskExecuteDetailService;
-            _taskRepository = taskRepository;
-            _routerService = routerService;
-            _processRepository = processRepository;
-            _cacheService = cacheService;
-            _noticeService = noticeService;
-            _stationManagerRepository = stationManagerRepository;
-            _htyRepository = htyRepository;
-            _sys_ConfigService = sys_ConfigService;
-        }
-
-        public Task Execute(IJobExecutionContext context)
-        {
-            try
-            {
-                CommonStackerJZCrane commonStackerCrane = (CommonStackerJZCrane)context.JobDetail.JobDataMap.Get("JobParams");
-                if (commonStackerCrane != null)
-                {
-                    //EqptAlive(commonStackerCrane);
-                    //Console.Out.WriteLine(commonStackerCrane.DeviceName);
-                    if (!commonStackerCrane.IsEventSubscribed)
-                    {
-                        commonStackerCrane.StackerCraneTaskCompletedEventHandler += CommonStackerCrane_StackerCraneTaskCompletedEventHandler;//璁㈤槄浠诲姟瀹屾垚浜嬩欢
-                    }
-
-                    if (commonStackerCrane.StackerCraneAutoStatusValue == StackerCraneAutoStatus.Automatic && commonStackerCrane.StackerCraneStatusValue == StackerCraneStatus.Normal)
-                    {
-                        commonStackerCrane.CheckStackerCraneTaskCompleted();//闃叉浠诲姟瀹屾垚浜嬩欢鐩戞祴瓒呮椂锛屽啀鎵嬪姩瑙﹀彂涓�娆�
-
-                        if (commonStackerCrane.StackerCraneWorkStatusValue == StackerCraneWorkStatus.Standby)
-                        {
-                            Dt_Task? task = null;
-                            if (StaticVariable.isLineRun)
-                            {
-                                StaticVariable.isStackerRun = false;
-                                task = GetTask(commonStackerCrane);
-                            }
-                            if (task != null)
-                            {
-                                StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task);
-                                if (stackerCraneTaskCommand != null)
-                                {
-                                    Thread.Sleep(1000);
-                                    bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand);
-                                    if (sendFlag)
-                                    {
-                                        StringBuilder builder = new StringBuilder();
-                                        builder.AppendLine();
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戝爢鍨涙満鐘舵�侊細銆恵commonStackerCrane.StackerCraneStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戞墜鑷姩鐘舵�侊細銆恵commonStackerCrane.StackerCraneAutoStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戜綔涓氱姸鎬侊細銆恵commonStackerCrane.StackerCraneWorkStatusDes}銆�,鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine($"銆恵commonStackerCrane.DeviceName}銆戜笅鍙戜换鍔℃垚鍔�,銆恵JsonConvert.SerializeObject(stackerCraneTaskCommand, Formatting.Indented)}銆�");
-                                        builder.AppendLine($"鏃堕棿锛氥�恵DateTime.Now}銆�");
-                                        builder.AppendLine();
-                                        ConsoleHelper.WriteColorLine(builder, ConsoleColor.Blue);
-                                        commonStackerCrane.LastTaskType = task.TaskType;
-                                        _taskService.UpdateTaskStatusToNext(task.TaskNum);
-                                    }
-                                }
-                            }
-                        }
-                    }
-
-                    #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
-
-                    var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
-                    if (tokenInfos == null || !tokenInfos.Any())
-                    {
-                        //throw new Exception(commonStackerCrane.DeviceName + "缂撳瓨涓湭鎵惧埌Token缂撳瓨");
-                        return Task.CompletedTask;
-                    }
-                    var userTokenIds = tokenInfos?.Select(x => x.Token_ID).ToList();
-                    var userIds = tokenInfos?.Select(x => x.UserId).ToList();
-
-                    object obj = new
-                    {
-                        commonStackerCrane.StackerCraneStatusDes,
-                        commonStackerCrane.StackerCraneAutoStatusDes,
-                        commonStackerCrane.StackerCraneWorkStatusDes,
-                        commonStackerCrane.DeviceCode,
-                        commonStackerCrane.DeviceName,
-                        commonStackerCrane.CurrentTaskNum,
-                        commonStackerCrane.LastTaskNum,
-                    };
-                    _noticeService.StackerData(userIds?.FirstOrDefault(), userTokenIds, new { commonStackerCrane.DeviceName, data = obj });
-
-                    #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
-                }
-            }
-            catch (Exception ex)
-            {
-                WriteError("CommonStackerStationCraneJob", "test", ex);
-                //Console.WriteLine(nameof(CommonStackerCraneJob) + ":" + ex.ToString());
-            }
-            finally
-            {
-                StaticVariable.isStackerRun = true;
-            }
-            //WriteDebug("CommonStackerStationCraneJob", "test");
-            return Task.CompletedTask;
-        }
-
-        /// <summary>
-        /// 浠诲姟瀹屾垚浜嬩欢璁㈤槄鐨勬柟娉�
-        /// </summary>
-        /// <param name="sender"></param>
-        /// <param name="e"></param>
-        private void CommonStackerCrane_StackerCraneTaskCompletedEventHandler(object? sender, WIDESEAWCS_QuartzJob.StackerCrane.StackerCraneTaskCompletedEventArgs e)
-        {
-            CommonStackerJZCrane? commonStackerCrane = sender as CommonStackerJZCrane;
-            if (commonStackerCrane != null)
-            {
-                if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
-                {
-                    ConsoleHelper.WriteColorLine($"銆恵commonStackerCrane.DeviceName}銆戝爢鍨涙満浣滀笟鐘舵�侊細銆恵(int)commonStackerCrane.StackerCraneWorkStatusValue}銆戞椂闂淬�恵DateTime.Now}銆�", ConsoleColor.Magenta);
-
-                    string str = $"銆恵commonStackerCrane.DeviceName}銆戜换鍔″畬鎴�,浠诲姟鍙凤細銆恵e.TaskNum}銆戞椂闂淬�恵DateTime.Now}銆�";
-                    WriteInfo(commonStackerCrane.DeviceName, str);
-                    ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue);
-                    var task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum);
-
-                    if (task == null) commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
-
-                    if (commonStackerCrane.DeviceCode.Contains("GW") && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                    {
-                        var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.TargetAddress);
-
-                        IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == station.stationPLC);
-                        if (device != null)
-                        {
-                            CommonConveyorLine_GW conveyorLine = (CommonConveyorLine_GW)device;
-                            var isResult = conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, task.PalletCode, task.TargetAddress);
-                            if (!isResult)
-                            {
-                                var result = conveyorLine.GetValue<ConveyorLineDBName_After, string>(ConveyorLineDBName_After.ConveyorLineBarcode, task.TargetAddress);
-                                if (result != task.PalletCode)
-                                {
-                                    conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, task.PalletCode, task.TargetAddress);
-                                }
-                            }
-                        }
-                        else
-                            return;
-                    }
-
-                    var content = _taskService.StackCraneTaskCompleted(e.TaskNum);
-                    if (commonStackerCrane.DeviceCode.Contains("CH") && task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
-                    {
-                        task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum);
-                        Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-                    }
-                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && (task.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001"))
-                    {
-                        var TASKHTY = task.Adapt<Dt_Task_Hty>();
-                        _taskRepository.DeleteData(task);
-                        _htyRepository.AddData(TASKHTY);
-                    }
-                    var isWorkType = commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
-                    str = $"{commonStackerCrane.DeviceName}銆慦MS|WCS浠诲姟瀹屾垚锛氥�恵content.Status}銆�,鍫嗗灈鏈哄畬鎴愪俊鍙峰啓鍏ワ細銆恵isWorkType}銆�,浠诲姟鍙凤細銆恵e.TaskNum}銆戞椂闂淬�恵DateTime.Now}銆�";
-                    WriteInfo(commonStackerCrane.DeviceName, str);
-                    ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue);
-                }
-            }
-        }
-
-        /// <summary>
-        /// 鑾峰彇浠诲姟
-        /// </summary>
-        /// <param name="commonStackerCrane">鍫嗗灈鏈哄璞�</param>
-        /// <returns></returns>
-        private Dt_Task? GetTask(CommonStackerJZCrane commonStackerCrane)
-        {
-            Dt_Task task;
-
-            if (commonStackerCrane.LastTaskType == null)
-            {
-                task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
-            }
-            else
-            {
-                if (commonStackerCrane.LastTaskType.GetValueOrDefault().GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-                {
-                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-                    if (task == null)
-                    {
-                        var taskLinInExecuting = _taskService.QueryStackerLineExecutingTask(commonStackerCrane.DeviceCode);
-                        if(taskLinInExecuting == null)
-                        {
-                            task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
-                        }
-                        else
-                        {
-                            task = null;
-                        }
-                        
-                    }
-                }
-                else
-                {
-                    task = _taskService.QueryStackerCraneOutTask(commonStackerCrane.DeviceCode);
-                }
-            }
-
-            if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            {
-                // 妫�鏌ュ綋鍓嶅嚭搴撲换鍔$珯鍙版槸鍚﹀厑璁告斁璐�
-                var occupiedStation = OutTaskStationIsOccupied(task);
-                if (occupiedStation == null)
-                {
-                    // 濡傛灉褰撳墠鍑哄簱浠诲姟绔欏彴涓嶅厑璁告斁璐э紝鎺掗櫎褰撳墠浠诲姟锛屾煡鎵惧叾浠栧嚭搴撲换鍔�
-                    ConsoleHelper.WriteErrorLine($"浠诲姟鍙凤細銆恵task.TaskNum}銆戝嚭搴撳湴鍧�锛氥�恵task.NextAddress}銆戜笉鍏佽鏀捐揣");
-                    task = FindAnotherOutboundTask(commonStackerCrane.DeviceCode, task);
-                }
-                else
-                {
-                    return task;
-                }
-
-                if (task == null)
-                {
-                    task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-                }
-            }
-            else if (task == null)
-            {
-                task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode);
-            }
-
-            return task;
-        }
-
-        /// <summary>
-        /// 鍑哄簱浠诲姟鍒ゆ柇鍑哄簱绔欏彴鏄惁琚崰鐢�
-        /// </summary>
-        /// <param name="task">浠诲姟瀹炰綋</param>
-        /// <returns>濡傛灉鏈鍗犵敤锛岃繑鍥炰紶鍏ョ殑浠诲姟淇℃伅锛屽惁鍒欙紝杩斿洖null</returns>
-        private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task)
-        {
-            var stationinfo = _stationManagerRepository.QueryFirst(x => x.stationLocation == task.TargetAddress && x.Roadway == task.Roadway);
-            IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == stationinfo.stationPLC);
-            if (device != null)
-            {
-                CommonConveyorLine_After conveyorLine = (CommonConveyorLine_After)device;
-                if (conveyorLine.IsOccupied(stationinfo.stationChildCode))//鍑哄簱绔欏彴鏈鍗犵敤
-                {
-                    return task;
-                }
-            }
-            else
-            {
-                _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒板嚭搴撶珯鍙般�恵task.NextAddress}銆戝搴旂殑閫氳瀵硅薄锛屾棤娉曞垽鏂嚭搴撶珯鍙版槸鍚﹁鍗犵敤");
-            }
-            return null;
-        }
-
-        /// <summary>
-        /// 鏌ユ壘鍏朵粬鍑哄簱浠诲姟鐨勮緟鍔╂柟娉曪紙鎺掗櫎涓嶅彲鍑虹殑鍑哄簱鍙d换鍔★級
-        /// </summary>
-        /// <param name="deviceCode">璁惧浠g爜</param>
-        /// <param name="excludedTaskId">瑕佹帓闄ょ殑浠诲姟ID</param>
-        /// <returns></returns>
-        private Dt_Task? FindAnotherOutboundTask(string deviceCode, Dt_Task task)
-        {
-            // 鍏堣幏鍙栨墍鏈夌鍚堟潯浠讹紙鎺掗櫎涓嶅彲鍑虹殑锛夌殑鍑哄簱浠诲姟鍒楄〃
-            var allOutboundTasks = _taskService.QueryAllOutboundTasks(deviceCode);
-            Console.WriteLine(allOutboundTasks.Count);
-            var availableTasks = allOutboundTasks?.Where(t => t.TargetAddress != task.TargetAddress && t.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup).ToList();
-
-            Console.WriteLine("鍏朵粬鍑哄簱鍙d换鍔★細" + availableTasks?.Count);
-
-            if (availableTasks == null || availableTasks.Count == 0)
-            {
-                return null;
-            }
-
-            // 閬嶅巻鍙敤浠诲姟鍒楄〃锛屾鏌ヤ换鍔$珯鍙版槸鍚﹀厑璁告斁璐э紝鎵惧埌绗竴涓厑璁告斁璐х殑浠诲姟灏辫繑鍥�
-            foreach (var candidateTask in availableTasks)
-            {
-                var occupiedStation = OutTaskStationIsOccupied(candidateTask);
-                if (occupiedStation != null)
-                {
-                    return candidateTask;
-                }
-                ConsoleHelper.WriteErrorLine($"浠诲姟鍙凤細銆恵candidateTask.TaskNum}銆戝嚭搴撳湴鍧�锛氥�恵candidateTask.NextAddress}銆戜笉鍏佽鏀捐揣");
-            }
-
-            return null;
-        }
-
-        /// <summary>
-        /// 浠诲姟瀹炰綋杞崲鎴愬懡浠odel
-        /// </summary>
-        /// <param name="task">浠诲姟瀹炰綋</param>
-        /// <returns></returns>
-        /// <exception cref="Exception"></exception>
-        public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task)
-        {
-            StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand();
-
-            stackerCraneTaskCommand.Barcode = task.PalletCode;
-            stackerCraneTaskCommand.TaskNum = task.TaskNum;
-            stackerCraneTaskCommand.WorkType = 1;
-            stackerCraneTaskCommand.TrayType = 0;
-            stackerCraneTaskCommand.StartCommand = 1;
-            if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
-            {
-                var value = _sys_ConfigService.GetByConfigKey(CateGoryConst.CONFIG_SYS_InStation, SysConfigKeyConst.JZNGInBoundStation).ConfigValue;
-                var valueList = value.Split(',').ToList();
-                if (valueList.Contains(task.SourceAddress) && (task.Roadway.Contains("CH") || task.Roadway.Contains("JZ")))
-                {
-                    string[] souredCodes = task.CurrentAddress.Split("-");
-                    if (souredCodes.Length == 3)
-                    {
-                        stackerCraneTaskCommand.StartRow = Convert.ToInt16(souredCodes[0]);
-                        stackerCraneTaskCommand.StartColumn = Convert.ToInt16(souredCodes[1]);
-                        stackerCraneTaskCommand.StartLayer = Convert.ToInt16(souredCodes[2]);
-                    }
-                    else
-                    {
-                        //鏁版嵁閰嶇疆閿欒
-                        _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
-                        return null;
-                    }
-                    string[] targetCodes = task.NextAddress.Split("-");
-                    if (targetCodes.Length == 3)
-                    {
-                        stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2;
-                        stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                        stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-                    }
-                    else
-                    {
-                        //鏁版嵁閰嶇疆閿欒
-                        _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�");
-                        return null;
-                    }
-                }
-                else
-                {
-                    List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway);
-                    if (routers.Count > 0)
-                    {
-                        stackerCraneTaskCommand.StartRow = Convert.ToInt16(routers.FirstOrDefault().SrmRow);
-                        stackerCraneTaskCommand.StartColumn = Convert.ToInt16(routers.FirstOrDefault().SrmColumn);
-                        stackerCraneTaskCommand.StartLayer = Convert.ToInt16(routers.FirstOrDefault().SrmLayer);
-
-                        string[] targetCodes = task.NextAddress.Split("-");
-                        if (targetCodes.Length == 3)
-                        {
-                            stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2;
-                            stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                            stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-                        }
-                        else
-                        {
-                            //鏁版嵁閰嶇疆閿欒
-                            _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍏ュ簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�");
-                            return null;
-                        }
-                    }
-                    else
-                    {
-                        _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
-                        return null;
-                    }
-                }
-            }
-            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
-            {
-                if (task.Roadway.Contains("GW"))
-                {
-                    string[] endCodes = task.NextAddress.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.TargetAddress == "002-021-001" || task.TargetAddress == "001-021-001") && task.Roadway.Contains("JZ"))
-                    {
-                        string[] endCodes = task.NextAddress.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
-                    {
-                        List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress);
-                        if (routers.Count > 0)
-                        {
-                            stackerCraneTaskCommand.EndRow = Convert.ToInt16(routers.FirstOrDefault().SrmRow);
-                            stackerCraneTaskCommand.EndColumn = Convert.ToInt16(routers.FirstOrDefault().SrmColumn);
-                            stackerCraneTaskCommand.EndLayer = Convert.ToInt16(routers.FirstOrDefault().SrmLayer);
-
-                            string[] sourceCodes = task.CurrentAddress.Split("-");
-                            if (sourceCodes.Length == 3)
-                            {
-                                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
-                            {
-                                //鏁版嵁閰嶇疆閿欒
-                                _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鍑哄簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
-                                return null;
-                            }
-                        }
-                        else
-                        {
-                            _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅");
-                            return null;
-                        }
-                    }
-                }
-            }
-            else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
-            {
-                string[] targetCodes = task.NextAddress.Split("-");
-                if (targetCodes.Length == 3)
-                {
-                    stackerCraneTaskCommand.EndRow = Convert.ToInt16(targetCodes[0]) % 2 != 0 ? (short)1 : (short)2;
-                    stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                    stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-                }
-                else
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟缁堢偣閿欒锛岃捣鐐癸細銆恵task.NextAddress}銆�");
-                    return null;
-                }
-                string[] sourceCodes = task.CurrentAddress.Split("-");
-                if (sourceCodes.Length == 3)
-                {
-                    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
-                {
-                    //鏁版嵁閰嶇疆閿欒
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"绉诲簱浠诲姟璧风偣閿欒锛岃捣鐐癸細銆恵task.CurrentAddress}銆�");
-                    return null;
-                }
-            }
-            return stackerCraneTaskCommand;
-        }
-    }
-}
\ No newline at end of file

--
Gitblit v1.9.3