From cdabe47ad8128c5006202e55c29746a617e988d6 Mon Sep 17 00:00:00 2001
From: 肖洋 <cathay_xy@163.com>
Date: 星期日, 22 十二月 2024 15:29:57 +0800
Subject: [PATCH] 添加静置NG入库功能,更新相关接口和配置,优化代码结构

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs |  105 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 76 insertions(+), 29 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
index 7889386..1e09dcf 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -370,13 +370,21 @@
             stackerCraneTaskCommand.StartCommand = 1;
             if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)//鍒ゆ柇鏄惁鏄叆搴撲换鍔�
             {
-                List<Dt_Router> routers = _routerService.QueryNextRoutes(task.CurrentAddress, task.Roadway);
-                if (routers.Count > 0)
+                if (task.SourceAddress == "1359-4" && task.Roadway.Contains("JZ"))
                 {
-                    stackerCraneTaskCommand.StartRow = Convert.ToInt16(routers.FirstOrDefault().SrmRow);
-                    stackerCraneTaskCommand.StartColumn = Convert.ToInt16(routers.FirstOrDefault().SrmColumn);
-                    stackerCraneTaskCommand.StartLayer = Convert.ToInt16(routers.FirstOrDefault().SrmLayer);
-
+                    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)
                     {
@@ -393,8 +401,32 @@
                 }
                 else
                 {
-                    _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鍙栬揣绔欏彴淇℃伅");
-                    return null;
+                    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)
@@ -412,31 +444,46 @@
                 }
                 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;
-                        }
+                    if (task.TargetAddress == "002-021-001" && task.Roadway.Contains("JZ") && task.TaskType == (int)TaskOutboundTypeEnum.OutTray)
+                    {
+                        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
                     {
-                        _taskService.UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒扮珯鍙般�恵task.NextAddress}銆戜俊鎭紝鏃犳硶鑾峰彇瀵瑰簲鐨勫爢鍨涙満鏀捐揣绔欏彴淇℃伅");
-                        return null;
+                        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;
+                        }
                     }
                 }
             }

--
Gitblit v1.9.3