From 5336bfc54525253a30f1f8238806d3a67f388e14 Mon Sep 17 00:00:00 2001
From: wangxinhui <wangxinhui@hnkhzn.com>
Date: 星期五, 21 十一月 2025 15:12:03 +0800
Subject: [PATCH] 优化接口,增加字段等

---
 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs |  102 ++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 96 insertions(+), 6 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 7b7782f..df327ec 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"
@@ -18,6 +18,7 @@
 using Newtonsoft.Json;
 using SqlSugar;
 using System.Diagnostics.CodeAnalysis;
+using System.Net.Http.Headers;
 using WIDESEA_DTO.Agv;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.APIEnum;
@@ -27,6 +28,7 @@
 using WIDESEAWCS_Core.Enums;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.LogHelper;
+using WIDESEAWCS_DTO;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_IBasicInfoRepository;
 using WIDESEAWCS_ITaskInfoRepository;
@@ -181,7 +183,7 @@
                             return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃俊鎭�");
                         }
                         //鑾峰彇璺敱淇℃伅
-                        List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && (item.SourceAddress == x.StartPosi || item.RoadWay == x.StartPosi));
+                        List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && (item.SourceAddress == x.StartPosi || item.RoadWay == x.StartPosi) && x.Depth==1);
                         router = routers.FirstOrDefault();
                         if (router == null)
                         {
@@ -337,7 +339,7 @@
         // <summary>
         /// 鍏ュ簱鐢宠
         /// </summary>
-        public WebResponseContent YLPurchaseBoxing(string palletCode)
+        public WebResponseContent YLPurchaseBoxing(string palletCode, decimal weight = 0, decimal thickness = 0, decimal wide = 0,string stationCode="")
         {
             WebResponseContent? content = new WebResponseContent();
             try
@@ -347,7 +349,7 @@
                 {
                     return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃");
                 }
-                string responseStr = HttpHelper.Get($"{address}/api/Task/YLPurchaseBoxing?palletCode={palletCode}");
+                string responseStr = HttpHelper.Get($"{address}/api/Task/YLPurchaseBoxing?palletCode={palletCode}&weight={weight}&thickness={thickness}&wide={wide}&stationCode={stationCode}");
                 WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
 
                 content = responseContent;
@@ -464,6 +466,74 @@
             }
             return content;
         }
+        public WebResponseContent MESBoxCodeNotice(string boxCode)
+        {
+            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/Mes/MESBoxCodeNotice?boxCode={boxCode}");
+                return content.OK(responseStr);
+            }
+            catch (Exception ex)
+            {
+                content = WebResponseContent.Instance.Error(ex.Message);
+            }
+            return content;
+        }
+        /// <summary>
+        /// 鍒ゆ柇鍏佽鏀捐揣
+        /// </summary>
+        /// <returns></returns>
+        public string MESAvgArriveNotice(RequestAGVArriveDTO requestAGVArriveDTO)
+        {
+            Dt_ApiInfo apiInfo = _apiInfoRepository.QueryFirst(x => x.ApiCode == APIEnum.MESAvgArriveNotice.ToString());
+
+            string response = Post(apiInfo.ApiAddress, JsonConvert.SerializeObject(requestAGVArriveDTO));
+
+            return response;
+        }
+        public static string Post(string serviceAddress, string requestJson = "", string contentType = "application/json", Dictionary<string, string>? headers = null)
+        {
+            string result = string.Empty;
+            DateTime beginDate = DateTime.Now;
+            try
+            {
+                using (HttpContent httpContent = new StringContent(requestJson))
+                {
+                    httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
+
+                    using HttpClient httpClient = new HttpClient();
+                    httpClient.Timeout = new TimeSpan(0, 0, 30);
+                    string LoginToken = AppSettings.Get("MESLoginToken");
+                    headers = new Dictionary<string, string>
+                    {
+                        //姝e紡
+                        { "LoginToken", LoginToken }
+                    };
+                    if (headers != null)
+                    {
+                        foreach (var header in headers)
+                            httpClient.DefaultRequestHeaders.Add(header.Key, header.Value);
+                    }
+                    HttpResponseMessage responseMessage = httpClient.PostAsync(serviceAddress, httpContent).Result;
+                    result = responseMessage.Content.ReadAsStringAsync().Result;
+                }
+                return result;
+            }
+            catch (Exception e)
+            {
+                throw new Exception(e.Message);
+            }
+            finally
+            {
+                Logger.Add(serviceAddress, requestJson == null ? "" : requestJson, result, beginDate);
+            }
+        }
         public WebResponseContent CPEmptyInbound(string palletCode,string SourceAddress)
         {
             WebResponseContent content = new WebResponseContent();
@@ -496,6 +566,26 @@
             string address = AppSettings.Get("WMSApiAddress");
             if (string.IsNullOrEmpty(address)) throw new Exception("鏈壘鍒癢MSApi鍦板潃");
             string responseStr = HttpHelper.Get($"{address}/api/Task/AssignInboundTaskLocation?taskNum={taskNum}&roadwayNo={roadwayNo}");
+
+            WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
+            if (responseContent != null && responseContent.Status && responseContent.Data != null)
+            {
+                return responseContent.Data.ToString();
+            }
+
+            return "";
+        }
+        /// <summary>
+        /// 鍚慦MS鐢宠鍑哄簱AGV缁堢偣
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <returns></returns>
+        /// <exception cref="Exception"></exception>
+        public string? RequestTargetAddress(int taskNum)
+        {
+            string address = AppSettings.Get("WMSApiAddress");
+            if (string.IsNullOrEmpty(address)) throw new Exception("鏈壘鍒癢MSApi鍦板潃");
+            string responseStr = HttpHelper.Get($"{address}/api/Task/AssignOutTargetAddress?taskNum={taskNum}");
 
             WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr);
             if (responseContent != null && responseContent.Status && responseContent.Data != null)
@@ -596,7 +686,7 @@
                 task.ModifyDate = DateTime.Now;
                 BaseDal.UpdateData(task);
 
-                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, task.ExceptionMessage);
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, task.ExceptionMessage);
 
                 content = WebResponseContent.Instance.OK();
             }
@@ -638,7 +728,7 @@
 
                 BaseDal.UpdateData(task);
 
-                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"浜哄伐鎭㈠鎸傝捣浠诲姟,鎭㈠鎸傝捣鏃朵换鍔$姸鎬併�恵task.TaskState}銆�");
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"浜哄伐鎭㈠鎸傝捣浠诲姟,鎭㈠鎸傝捣鏃朵换鍔$姸鎬併�恵task.TaskState}銆�");
 
                 content = WebResponseContent.Instance.OK();
             }
@@ -679,7 +769,7 @@
 
                 BaseDal.UpdateData(task);
 
-                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"浜哄伐灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戝洖婊氬埌銆恵task.TaskState}銆�");
+                _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskNum, $"浜哄伐灏嗕换鍔$姸鎬佷粠銆恵oldState}銆戝洖婊氬埌銆恵task.TaskState}銆�");
 
                 content = WebResponseContent.Instance.OK();
             }

--
Gitblit v1.9.3