From 60f86b0fba3ab82e245654cddfa5abc62fe1f9e8 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期二, 16 九月 2025 11:33:29 +0800
Subject: [PATCH] 1

---
 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs |  195 ++++++++++++++----------------------------------
 1 files changed, 57 insertions(+), 138 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
index 82197ce..0f08159 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs"
@@ -194,10 +194,6 @@
                                 task.CurrentAddress = router.StartPosi;
                                 task.NextAddress = router.NextPosi;
                                 task.DeviceCode = router.ChildPosiDeviceCode;
-                                if (task.TaskType == TaskTypeEnum.ProductMD.ObjToInt())
-                                {
-                                    task.TaskState = TaskStatusEnum.Line_Executing.ObjToInt();
-                                }
                             }
                             else //鍑哄簱
                             {
@@ -332,7 +328,31 @@
             }
             return content;
         }
+        // <summary>
+        /// 鍏ュ簱鐢宠
+        /// </summary>
+        public WebResponseContent YLPurchaseBoxing(string palletCode)
+        {
+            WebResponseContent? content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                string responseStr = HttpHelper.Get($"{address}/api/Task/YLPurchaseBoxing?palletCode={palletCode}");
+                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
 
+                content = responseContent;
+
+            }
+            catch (Exception ex)
+            {
+                content.Error(ex.Message);
+            }
+            return content;
+        }
         // <summary>
         /// 璇锋眰鎴愬搧鍏ュ簱宸烽亾
         /// </summary>
@@ -438,7 +458,26 @@
             }
             return content;
         }
+        public WebResponseContent CPEmptyInbound(string palletCode,string SourceAddress)
+        {
+            WebResponseContent content = new WebResponseContent();
+            try
+            {
+                string address = AppSettings.Get("WMSApiAddress");
+                if (string.IsNullOrEmpty(address))
+                {
+                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
+                }
+                var result = HttpHelper.Get($"{address}/api/Task/EmptyBackTask?barCode={palletCode}&startPoint={SourceAddress}");
 
+                content = JsonConvert.DeserializeObject<WebResponseContent>(result);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
         /// <summary>
         /// 
         /// </summary>
@@ -474,132 +513,6 @@
         //    }
         //    return content;
         //}
-
-
-        /// <summary>
-        /// 鍒嗛厤宸烽亾
-        /// </summary>
-        /// <param name="taskNum"></param>
-        /// <param name="roadwayNos"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestWMSAssignRoadway(int taskNum, List<string> roadwayNos)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string address = AppSettings.Get("WMSApiAddress");
-                if (string.IsNullOrEmpty(address))
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
-                }
-                string responseStr = HttpHelper.Post($"{address}/api/Task/AssignRoadway?taskNum={taskNum}", roadwayNos.Serialize());
-                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
-                if (responseContent != null && responseContent.Status && responseContent.Data != null)
-                {
-                    return responseContent;
-                }
-
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        /// <param name="roadwayNos"></param>
-        /// <param name="palletCode"></param>
-        /// <param name="heightType"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos, string palletCode, int heightType)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string address = AppSettings.Get("WMSApiAddress");
-                if (string.IsNullOrEmpty(address))
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
-                }
-                string responseStr = HttpHelper.Post($"{address}/api/Task/AssignRoadwayByHeightAndCode?palletCode={palletCode}&heightType={heightType}", roadwayNos.Serialize());
-                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
-                if (responseContent != null && responseContent.Status && responseContent.Data != null)
-                {
-                    return responseContent;
-                }
-
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 鍒嗛厤宸烽亾
-        /// </summary>
-        /// <param name="roadwayNos"></param>
-        /// <param name="taskNum"></param>
-        /// <param name="heightType"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos, int taskNum, int heightType)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string address = AppSettings.Get("WMSApiAddress");
-                if (string.IsNullOrEmpty(address))
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
-                }
-                string responseStr = HttpHelper.Post($"{address}/api/Task/AssignRoadway?taskNum={taskNum}&heightType={heightType}", roadwayNos.Serialize());
-                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
-                if (responseContent != null && responseContent.Status && responseContent.Data != null)
-                {
-                    return responseContent;
-                }
-
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error(ex.Message);
-            }
-            return content;
-        }
-
-        /// <summary>
-        /// 鍒嗛厤宸烽亾
-        /// </summary>
-        /// <param name="roadwayNos"></param>
-        /// <returns></returns>
-        public WebResponseContent RequestWMSAssignRoadway(List<string> roadwayNos)
-        {
-            WebResponseContent content = new WebResponseContent();
-            try
-            {
-                string address = AppSettings.Get("WMSApiAddress");
-                if (string.IsNullOrEmpty(address))
-                {
-                    return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
-                }
-                string responseStr = HttpHelper.Post($"{address}/api/Task/SingleAssignRoadway", roadwayNos.Serialize());
-                WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
-                if (responseContent != null && responseContent.Status && responseContent.Data != null)
-                {
-                    return responseContent;
-                }
-
-            }
-            catch (Exception ex)
-            {
-                content = WebResponseContent.Instance.Error(ex.Message);
-            }
-            return content;
-        }
 
         /// <summary>
         /// 鍚慦MS鐢宠鍒嗛厤璐т綅
@@ -867,7 +780,7 @@
 
         public Dt_Task QueryBarCodeAGVFinishTask(int TaskNum, string currentAddress)
         {
-            return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.AGV_Finish && x.NextAddress == currentAddress && x.TaskNum == TaskNum, TaskOrderBy);
+            return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.AGV_Finish && x.CurrentAddress == currentAddress && x.TaskNum == TaskNum, TaskOrderBy);
         }
 
         public Dt_Task QueryExecutingTaskByBarcode(int TaskNum, string nextAddress)
@@ -890,8 +803,14 @@
                 {
                     if (task.TaskState == (int)TaskStatusEnum.SC_Executing)
                     {
+                        Dt_Router router = _routerRepository.QueryFirst(x => x.InOutType == task.TaskType && x.StartPosi == stationManger.StationCode && x.ChildPosi == stationManger.StationDeviceCode);
+                        if (router == null)
+                        {
+                            UpdateTaskExceptionMessage(task.TaskNum, $"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
+                            return WebResponseContent.Instance.Error($"鏈壘鍒拌矾鐢变俊鎭�,{task.NextAddress}");
+                        }
                         task.CurrentAddress = task.NextAddress;
-                        task.NextAddress = task.TargetAddress;
+                        task.NextAddress = router.NextPosi;
                         task.TaskState = (int)TaskStatusEnum.Line_Executing;
                         nextStatus = TaskStatusEnum.Line_Executing;
                     }
@@ -906,8 +825,8 @@
                     if (task.TaskState == (int)TaskStatusEnum.Line_Executing)
                     {
                         #region 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃
-                        //string? local = RequestAssignLocation(task.TaskNum, task.Roadway);
-                        string? local = "SC05_YLDual-002-090-009-01";
+                        string? local = RequestAssignLocation(task.TaskNum, task.Roadway);
+                        //string? local = "SC03_YLDual-002-090-001-01";
                         if (!string.IsNullOrEmpty(local))
                         {
                             task.CurrentAddress = stationManger.StackerCraneStationCode;
@@ -926,12 +845,12 @@
                     }
                     else if (task.TaskState == (int)TaskStatusEnum.AGV_Finish)
                     {
-                        //content = AssignYLRoadwayNo(task.PalletCode);
-                        content.OK(data: "SC05_YLDual");
+                        content = AssignYLRoadwayNo(task.PalletCode);
                         if (!content.Status)
                         {
                             return content.Error($"璇锋眰鍏ュ簱澶辫触锛歿content.Message}");
                         }
+                        //string roadWay = "SC03_YLDual";
                         string roadWay = content.Data.ToString();
 
                         List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi && x.ChildPosiDeviceCode == roadWay);
@@ -963,8 +882,8 @@
                 }
                 task.ModifyDate = DateTime.Now;
                 task.Modifier = "System";
-                BaseDal.UpdateData(task);
-                //UpdateTask(task, nextStatus);
+                //BaseDal.UpdateData(task);
+                UpdateTask(task, nextStatus);
                 content = WebResponseContent.Instance.OK();
             }
             catch (Exception ex)

--
Gitblit v1.9.3