| | |
| | | using Mapster; |
| | | using Microsoft.AspNetCore.Components.Routing; |
| | | using Newtonsoft.Json; |
| | | using Quartz; |
| | | using System.Diagnostics.CodeAnalysis; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_BasicInfoRepository; |
| | | using WIDESEAWCS_Common; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.Caches; |
| | | using WIDESEAWCS_Core.Helper; |
| | | using WIDESEAWCS_Core.HttpContextUser; |
| | |
| | | Parallel.For(0, childCodes.Count, (i, state) => |
| | | { |
| | | |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãæ¶é´ã{DateTime.Now}ããã{Thread.CurrentThread.ManagedThreadId}ã", ConsoleColor.Magenta); |
| | | //ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãæ¶é´ã{DateTime.Now}ããã{Thread.CurrentThread.ManagedThreadId}ã", ConsoleColor.Magenta); |
| | | |
| | | if (commonStackerCrane.GetValue<StackerCraneDBName, byte>(StackerCraneDBName.TaskState, childCodes[i]) == 2) |
| | | if (commonStackerCrane.GetValue<StackerCraneDBName, Int16>(StackerCraneDBName.TaskState, childCodes[i]) == 2) |
| | | { |
| | | int taskNum = commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.CurrentTaskNum, childCodes[i]); |
| | | byte workStatus = commonStackerCrane.GetValue<StackerCraneDBName, byte>(StackerCraneDBName.TaskState, childCodes[i]); |
| | | int taskNum = commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.TaskNum, childCodes[i]); |
| | | int workStatus = commonStackerCrane.GetValue<StackerCraneDBName, Int16>(StackerCraneDBName.TaskState, childCodes[i]); |
| | | |
| | | bool RfidError = commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.ForkTemp1, childCodes[i]); |
| | | |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãå åæºä½ä¸ç¶æï¼ã{workStatus}ãæ¶é´ã{DateTime.Now}", ConsoleColor.Magenta); |
| | | if (RfidError) |
| | | { |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãå åæºä½ä¸å¼å¸¸ï¼RFIDå¼å¸¸;æ¶é´ã{DateTime.Now}", ConsoleColor.Magenta); |
| | | } |
| | | |
| | | string str = $"ã{childCodes[i]}ãä»»å¡å®æ,ä»»å¡å·ï¼ã{taskNum}ãæ¶é´ã{DateTime.Now}ã"; |
| | | WriteInfo(childCodes[i], str); |
| | |
| | | if (task == null) |
| | | { |
| | | commonStackerCrane.SetValue(StackerCraneDBName.CMD, 2, childCodes[i]); |
| | | if (commonStackerCrane.GetValue<StackerCraneDBName, Int16>(StackerCraneDBName.TaskState, childCodes[i]) == 0) |
| | | { |
| | | commonStackerCrane.SetValue(StackerCraneDBName.CMD, 0, childCodes[i]); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | var content = _taskService.StackCraneTaskCompleted(taskNum); |
| | | |
| | | var isWorkType = commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 2, childCodes[i]); |
| | | var isWorkType = commonStackerCrane.SetValue(StackerCraneDBName.CMD, 2, childCodes[i]); |
| | | if (commonStackerCrane.GetValue<StackerCraneDBName, Int16>(StackerCraneDBName.TaskState, childCodes[i]) == 0) |
| | | { |
| | | Thread.Sleep(500); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.CMD, 0, childCodes[i]); |
| | | } |
| | | str = $"ã{childCodes[i]}ãWMS|WCSä»»å¡å®æï¼ã{content.Status}ã,å åæºå®æä¿¡å·åå
¥ï¼ã{isWorkType}ã,ä»»å¡å·ï¼ã{taskNum}ãæ¶é´ã{DateTime.Now}ã"; |
| | | WriteInfo(childCodes[i], str); |
| | | ConsoleHelper.WriteColorLine(str, ConsoleColor.Blue); |
| | |
| | | if (commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Online, childCodes[i]) //å¨çº¿ |
| | | && commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Free, childCodes[i]) //ç©ºé² |
| | | && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Alarm, childCodes[i]) //æ æ¥è¦ |
| | | && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Goods, childCodes[i]) //è½½è´§å°æ è´§ |
| | | && commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.Flag, childCodes[i]) //è´§åå¯ç¨ |
| | | && !commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.ForkGoods, childCodes[i]) //è½½è´§å°æ è´§ |
| | | //&& commonStackerCrane.GetValue<StackerCraneDBName, bool>(StackerCraneDBName.ForkFlag, childCodes[i]) //è´§åå¯ç¨ |
| | | ) |
| | | { |
| | | Console.WriteLine($"å½åå åæº{childCodes[i]}"); |
| | | Dt_Task? task = GetTask(commonStackerCrane, childCodes[i]); |
| | | if (task != null) |
| | | { |
| | | StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); |
| | | if (stackerCraneTaskCommand != null) |
| | | //StackerCraneTaskCommand? stackerCraneTaskCommand = ConvertToStackerCraneTaskCommand(task); |
| | | //if (stackerCraneTaskCommand != null) |
| | | //{ |
| | | var taskNum = commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.TaskNo, childCodes[i]); |
| | | //var taskBarCode = commonStackerCrane.GetValue<StackerCraneDBName, string>(StackerCraneDBName.Barcode); |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãå åæºä»»å¡å·ï¼ã{taskNum}ãä»»å¡ä»»å¡å·ï¼ã{task.TaskNum}ã", ConsoleColor.DarkBlue); |
| | | if (taskNum != task.TaskNum) |
| | | { |
| | | var taskNum = commonStackerCrane.GetValue<StackerCraneDBName, int>(StackerCraneDBName.CurrentTaskNum, childCodes[i]); |
| | | //var taskBarCode = commonStackerCrane.GetValue<StackerCraneDBName, string>(StackerCraneDBName.Barcode); |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãå åæºä»»å¡å·ï¼ã{taskNum}ãä»»å¡ä»»å¡å·ï¼ã{task.TaskNum}ã", ConsoleColor.DarkBlue); |
| | | if (taskNum == 0) |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãä»»å¡å·ä¸ºã{0}ã,ä»»å¡å·ä¸ä¸è´å¯ä»¥ä¸åä»»å¡", ConsoleColor.DarkBlue); |
| | | |
| | | Thread.Sleep(500); |
| | | WebResponseContent responseContent = SendStackerTask(commonStackerCrane, task, childCodes[i]); |
| | | if(responseContent.Status) |
| | | { |
| | | ConsoleHelper.WriteColorLine($"ã{childCodes[i]}ãä»»å¡å·ä¸ºã{0}ã,ä»»å¡å·ä¸ä¸è´å¯ä»¥ä¸åä»»å¡", ConsoleColor.DarkBlue); |
| | | |
| | | Thread.Sleep(500); |
| | | bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand, childCodes[i]); |
| | | |
| | | _taskService.UpdateTaskStatusToNext(task.TaskNum); |
| | | } |
| | | //StackerExecutor.SendStackerTask(commonStackerCrane, task, childCodes[i]); |
| | | //bool sendFlag = commonStackerCrane.SendCommand(stackerCraneTaskCommand, childCodes[i]); |
| | | //commonStackerCrane.LastTaskType = task.TaskType; |
| | | |
| | | |
| | | } |
| | | //} |
| | | } |
| | | } |
| | | }); |
| | |
| | | task = _taskService.QueryExcutingTask(childCode); |
| | | if (task != null) |
| | | { |
| | | ConsoleHelper.WriteErrorLine($"å åæºå卿§è¡ä¸çä»»å¡,è¯·æ£æ¥"); |
| | | ConsoleHelper.WriteErrorLine($"{childCode}å åæºå卿§è¡ä¸çä»»å¡,è¯·æ£æ¥"); |
| | | return null; |
| | | } |
| | | |
| | | task = _taskService.QueryRelocationTask(childCode); |
| | | if (task != null) |
| | | { |
| | | return task; |
| | | } |
| | | //task = _taskService.QueryRelocationTask(childCode); |
| | | //if (task != null) |
| | | //{ |
| | | // return task; |
| | | //} |
| | | |
| | | if (commonStackerCrane.LastTaskType == null) |
| | | { |
| | |
| | | _noticeService.Logs(userTokenIds, new { commonStackerCrane.DeviceName, log = log, time = DateTime.Now.ToString("G"), color = "red" }); |
| | | WriteInfo(commonStackerCrane.DeviceName, log); |
| | | |
| | | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); |
| | | task = _taskService.QueryStackerCraneInTask(childCode); |
| | | } |
| | | else |
| | | { |
| | |
| | | } |
| | | else if (task == null) |
| | | { |
| | | task = _taskService.QueryStackerCraneInTask(commonStackerCrane.DeviceCode); |
| | | task = _taskService.QueryStackerCraneInTask(childCode); |
| | | } |
| | | |
| | | if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | { |
| | | var relocation = _taskService.InBeforeCheck(task.TaskNum); |
| | | //if (task != null && task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) |
| | | //{ |
| | | // var relocation = _taskService.InBeforeCheck(task.TaskNum); |
| | | |
| | | if (relocation != null) |
| | | { |
| | | return relocation; |
| | | } |
| | | } |
| | | // if (relocation != null) |
| | | // { |
| | | // return relocation; |
| | | // } |
| | | //} |
| | | return task; |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// åºåºä»»å¡å¤æåºåºç«å°æ¯å¦è¢«å ç¨ |
| | |
| | | /// <returns>妿æªè¢«å ç¨ï¼è¿åä¼ å
¥çä»»å¡ä¿¡æ¯ï¼å¦åï¼è¿ånull</returns> |
| | | private Dt_Task? OutTaskStationIsOccupied([NotNull] Dt_Task task) |
| | | { |
| | | Dt_Router? router = _routerService.QueryNextRoutes(task.Roadway, task.NextAddress).FirstOrDefault(); |
| | | //return task; |
| | | |
| | | //Dt_Router? router = _routerService.QueryNextRoutes(task.Roadway, task.NextAddress).FirstOrDefault(); |
| | | var stationList = _stationManagerRepository.QueryData(x => x.stationType == 2 && x.Roadway == task.Roadway); |
| | | |
| | | //foreach (var item in stationList) |
| | | //{ |
| | | // IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == item.stationPLC); |
| | | // if (device != null) |
| | | // { |
| | | // CommonConveyorLineTZ conveyorLine = (CommonConveyorLineTZ)device; |
| | | // if (conveyorLine.IsOccupied(item.stationChildCode))//åºåºç«å°æªè¢«å ç¨ |
| | | // { |
| | | // return task; |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°åºåºç«å°ã{item.stationChildCode}ã对åºçéè®¯å¯¹è±¡ï¼æ æ³å¤æåºåºç«å°æ¯å¦è¢«å ç¨"); |
| | | // } |
| | | //} |
| | | |
| | | Dt_Router? router = _routerService.QueryNextRoutes(task.Roadway, task.NextAddress).FirstOrDefault(); |
| | | if (router != null) |
| | | { |
| | | IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == router.ChildPosiDeviceCode); |
| | | if (device != null) |
| | | { |
| | | CommonConveyorLine conveyorLine = (CommonConveyorLine)device; |
| | | CommonConveyorLineTZ conveyorLine = (CommonConveyorLineTZ)device; |
| | | if (conveyorLine.IsOccupied(router.ChildPosi))//åºåºç«å°æªè¢«å ç¨ |
| | | { |
| | | return task; |
| | |
| | | return null; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// ä»»å¡å®ä½è½¬æ¢æå½ä»¤Model |
| | | /// </summary> |
| | | /// <param name="task">ä»»å¡å®ä½</param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public StackerCraneTaskCommand? ConvertToStackerCraneTaskCommand([NotNull] Dt_Task task) |
| | | public WebResponseContent SendStackerTask(STK commonStackerCrane, Dt_Task task, string scName) |
| | | { |
| | | StackerCraneTaskCommand stackerCraneTaskCommand = new StackerCraneTaskCommand(); |
| | | |
| | | stackerCraneTaskCommand.TrayCode = ""; |
| | | stackerCraneTaskCommand.TaskNo = task.TaskNum; |
| | | stackerCraneTaskCommand.TaskType = 1; |
| | | stackerCraneTaskCommand.Goods_Type = 0; |
| | | stackerCraneTaskCommand.CMD = 1; |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//夿æ¯å¦æ¯å
¥åºä»»å¡ |
| | | WebResponseContent responseContent = new WebResponseContent(); |
| | | try |
| | | { |
| | | List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); |
| | | if (routers.Count > 0) |
| | | if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//夿æ¯å¦æ¯å
¥åºä»»å¡ |
| | | { |
| | | stackerCraneTaskCommand.S_Row = Convert.ToInt16(routers.FirstOrDefault().SrmRow); |
| | | stackerCraneTaskCommand.S_Bay = Convert.ToInt16(routers.FirstOrDefault().SrmColumn); |
| | | stackerCraneTaskCommand.S_level = Convert.ToInt16(routers.FirstOrDefault().SrmLayer); |
| | | |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway); |
| | | if (routers.Count > 0) |
| | | { |
| | | stackerCraneTaskCommand.E_Row = Convert.ToInt16(targetCodes[0]) /*% 2 != 0 ? (short)1 : (short)2*/; |
| | | stackerCraneTaskCommand.E_Bay = Convert.ToInt16(targetCodes[1]); |
| | | stackerCraneTaskCommand.E_level = Convert.ToInt16(targetCodes[2]); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.S_Row, Convert.ToInt16(routers.FirstOrDefault().SrmRow), scName);//æ¥æºè´§ä½è¡ |
| | | commonStackerCrane.SetValue(StackerCraneDBName.S_Bay, Convert.ToInt16(routers.FirstOrDefault().SrmColumn), scName);//æ¥æºè´§ä½å |
| | | commonStackerCrane.SetValue(StackerCraneDBName.S_level, Convert.ToInt16(routers.FirstOrDefault().SrmLayer), scName);//æ¥æºè´§ä½å± |
| | | |
| | | |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | commonStackerCrane.SetValue(StackerCraneDBName.E_Row, Convert.ToInt16(targetCodes[0]), scName);//ç®çè´§ä½è¡ |
| | | commonStackerCrane.SetValue(StackerCraneDBName.E_Bay, Convert.ToInt16(targetCodes[1]), scName);//ç®çè´§ä½å |
| | | commonStackerCrane.SetValue(StackerCraneDBName.E_level, Convert.ToInt16(targetCodes[2]), scName);//ç®çè´§ä½å± |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"å
¥åºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.NextAddress}ã"); |
| | | return responseContent.Error(); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"å
¥åºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.NextAddress}ã"); |
| | | return null; |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°ç«å°ã{task.NextAddress}ãä¿¡æ¯ï¼æ æ³è·å对åºçå åæºåè´§ç«å°ä¿¡æ¯"); |
| | | return responseContent.Error(); |
| | | } |
| | | } |
| | | else |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°ç«å°ã{task.NextAddress}ãä¿¡æ¯ï¼æ æ³è·å对åºçå åæºåè´§ç«å°ä¿¡æ¯"); |
| | | return null; |
| | | } |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) |
| | | { |
| | | List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); |
| | | if (routers.Count > 0) |
| | | { |
| | | stackerCraneTaskCommand.E_Row = Convert.ToInt16(routers.FirstOrDefault().SrmRow); |
| | | stackerCraneTaskCommand.E_Bay = Convert.ToInt16(routers.FirstOrDefault().SrmColumn); |
| | | stackerCraneTaskCommand.E_level = Convert.ToInt16(routers.FirstOrDefault().SrmLayer); |
| | | |
| | | string[] sourceCodes = task.CurrentAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | var OutStation = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.NextAddress); |
| | | //List<Dt_Router> routers = _routerService.QueryNextRoutes(task.Roadway, task.TargetAddress); |
| | | if (OutStation != null) |
| | | { |
| | | stackerCraneTaskCommand.S_Row = Convert.ToInt16(sourceCodes[0]) /*% 2 != 0 ? (short)1 : (short)2*/; |
| | | stackerCraneTaskCommand.S_Bay = Convert.ToInt16(sourceCodes[1]); |
| | | stackerCraneTaskCommand.S_level = Convert.ToInt16(sourceCodes[2]); |
| | | string[] targetCodes = OutStation.stationLocation.Split("-"); |
| | | commonStackerCrane.SetValue(StackerCraneDBName.E_Row, Convert.ToInt16(targetCodes[0]), scName);//ç®çè´§ä½è¡ |
| | | commonStackerCrane.SetValue(StackerCraneDBName.E_Bay, Convert.ToInt16(targetCodes[1]), scName);//ç®çè´§ä½å |
| | | commonStackerCrane.SetValue(StackerCraneDBName.E_level, Convert.ToInt16(targetCodes[2]), scName);//ç®çè´§ä½å± |
| | | |
| | | string[] sourceCodes = task.CurrentAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | commonStackerCrane.SetValue(StackerCraneDBName.S_Row, Convert.ToInt16(sourceCodes[0]), scName);//æ¥æºè´§ä½è¡ |
| | | commonStackerCrane.SetValue(StackerCraneDBName.S_Bay, Convert.ToInt16(sourceCodes[1]), scName);//æ¥æºè´§ä½å |
| | | commonStackerCrane.SetValue(StackerCraneDBName.S_level, Convert.ToInt16(sourceCodes[2]), scName);//æ¥æºè´§ä½å± |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"åºåºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°ç«å°ã{task.NextAddress}ãä¿¡æ¯ï¼æ æ³è·å对åºçå åæºæ¾è´§ç«å°ä¿¡æ¯"); |
| | | return null; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"æªæ¾å°ç«å°ã{task.NextAddress}ãä¿¡æ¯ï¼æ æ³è·å对åºçå åæºæ¾è´§ç«å°ä¿¡æ¯"); |
| | | return null; |
| | | } |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 1, scName);//å·¥ä½å½ä»¤ä»£ç |
| | | commonStackerCrane.SetValue(StackerCraneDBName.TaskNum, task.TaskNum, scName);//å·¥ä½åºå· |
| | | commonStackerCrane.SetValue(StackerCraneDBName.RFID, task.PalletCode.PadLeft(4, '0') + task.PVI, scName);//pvi |
| | | |
| | | |
| | | //åå
¥å 读åéªè¯ |
| | | |
| | | commonStackerCrane.SetValue(StackerCraneDBName.CMD, 1, scName); |
| | | return responseContent.OK(); |
| | | } |
| | | else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) |
| | | catch (Exception ex) |
| | | { |
| | | string[] targetCodes = task.NextAddress.Split("-"); |
| | | if (targetCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.E_Row = Convert.ToInt16(targetCodes[0]) /*% 2 != 0 ? (short)1 : (short)2*/; |
| | | stackerCraneTaskCommand.E_Bay = Convert.ToInt16(targetCodes[1]); |
| | | stackerCraneTaskCommand.E_level = Convert.ToInt16(targetCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"ç§»åºä»»å¡ç»ç¹é误ï¼èµ·ç¹ï¼ã{task.NextAddress}ã"); |
| | | return null; |
| | | } |
| | | string[] sourceCodes = task.CurrentAddress.Split("-"); |
| | | if (sourceCodes.Length == 3) |
| | | { |
| | | stackerCraneTaskCommand.S_Row = Convert.ToInt16(sourceCodes[0])/* % 2 != 0 ? (short)1 : (short)2*/; |
| | | stackerCraneTaskCommand.S_Bay = Convert.ToInt16(sourceCodes[1]); |
| | | stackerCraneTaskCommand.S_level = Convert.ToInt16(sourceCodes[2]); |
| | | } |
| | | else |
| | | { |
| | | //æ°æ®é
ç½®é误 |
| | | _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"ç§»åºä»»å¡èµ·ç¹é误ï¼èµ·ç¹ï¼ã{task.CurrentAddress}ã"); |
| | | return null; |
| | | } |
| | | return responseContent.Error(ex.Message); |
| | | } |
| | | return stackerCraneTaskCommand; |
| | | |
| | | |
| | | } |
| | | } |
| | | } |