From b690250002ee04f4309e6a90fd16fbfd9bd959e2 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期五, 01 五月 2026 23:11:23 +0800
Subject: [PATCH] feat(router): 添加托盘操作页面路由

---
 Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_GradingMachine.cs |   69 +++++++++++++++++++++++++++++-----
 1 files changed, 58 insertions(+), 11 deletions(-)

diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_GradingMachine.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_GradingMachine.cs
index b5dd9cb..d71074d 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_GradingMachine.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_GradingMachine.cs
@@ -1,4 +1,7 @@
+using Serilog;
 using System.Text.Json;
+using System.Text.Encodings.Web;
+using System.Text.Unicode;
 using WIDESEA_Common.Constants;
 using WIDESEA_Common.StockEnum;
 using WIDESEA_Common.TaskEnum;
@@ -11,6 +14,13 @@
 {
     public partial class TaskService
     {
+        /// <summary>
+        /// JSON搴忓垪鍖栭�夐」锛堜腑鏂囦笉杞箟锛�
+        /// </summary>
+        private static readonly JsonSerializerOptions _jsonOptions = new()
+        {
+            Encoder = JavaScriptEncoder.Create(UnicodeRanges.All)
+        };
         #region 鍒嗗鏌滄帴鍙�
 
         /// <summary>
@@ -18,10 +28,14 @@
         /// </summary>
         public async Task<WebResponseContent> InOrOutCompletedAsync(GradingMachineInputDto input)
         {
+            var log = Log.ForContext("SourceContext", "鍒嗗鏌滃畬鎴愪俊鍙�");
+            log.Information("[InOrOutCompleted] 璇锋眰鍙傛暟: {Request}", JsonSerializer.Serialize(input, _jsonOptions));
             WebResponseContent content = new WebResponseContent();
             if (string.IsNullOrWhiteSpace(input.LocationCode))
             {
-                return content.Error($"璐т綅缂栧彿涓嶈兘涓虹┖");
+                var errResult = content.Error($"璐т綅缂栧彿涓嶈兘涓虹┖");
+                log.Warning("[InOrOutCompleted] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                return errResult;
             }
 
             try
@@ -30,7 +44,11 @@
 
                 int locationStatus;
                 if (stockInfo == null)
-                    return content.Error("WMS鏈壘鍒板簱瀛樹俊鎭�");
+                {
+                    var errResult = content.Error("WMS鏈壘鍒板簱瀛樹俊鎭�");
+                    log.Warning("[InOrOutCompleted] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                    return errResult;
+                }
                 locationStatus = MapLocationStatus(stockInfo.StockStatus);
 
                 int MapLocationStatus(int stockStatus) => stockStatus switch
@@ -47,11 +65,14 @@
                     IsNormalProcedure = 1,
                     LocationStatus = locationStatus
                 };
-                return content.OK(data: outPutDto);
+                var result = content.OK(data: outPutDto);
+                log.Information("[InOrOutCompleted] 鍝嶅簲: {Response}", JsonSerializer.Serialize(result, _jsonOptions));
+                return result;
             }
             catch (Exception ex)
             {
                 content.Error(ex.Message);
+                log.Error(ex, "[InOrOutCompleted] 寮傚父");
             }
 
             return content;
@@ -64,10 +85,14 @@
         /// <returns></returns>
         public async Task<WebResponseContent> SendLocationStatusAsync(GradingMachineInputDto input)
         {
+            var log = Log.ForContext("SourceContext", "鍒嗗鏌滅姸鎬佹洿鏂�");
+            log.Information("[SendLocationStatus] 璇锋眰鍙傛暟: {Request}", JsonSerializer.Serialize(input, _jsonOptions));
             WebResponseContent content = new WebResponseContent();
             if (string.IsNullOrWhiteSpace(input.LocationCode))
             {
-                return content.Error($"璐т綅缂栧彿涓嶈兘涓虹┖");
+                var errResult = content.Error($"璐т綅缂栧彿涓嶈兘涓虹┖");
+                log.Warning("[SendLocationStatus] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                return errResult;
             }
 
             try
@@ -86,10 +111,12 @@
                 {
                     content.Error("鏇存柊澶辫触");
                 }
+                log.Information("[SendLocationStatus] 鍝嶅簲: {Response}", JsonSerializer.Serialize(content, _jsonOptions));
             }
             catch (Exception ex)
             {
                 content.Error(ex.Message);
+                log.Error(ex, "[SendLocationStatus] 寮傚父");
             }
             return content;
         }
@@ -101,17 +128,23 @@
         /// <returns></returns>
         public async Task<WebResponseContent> RequestOutboundAsync(GradingMachineInputDto input)
         {
+            var log = Log.ForContext("SourceContext", "鍒嗗鏌滃嚭搴撹姹�");
+            log.Information("[RequestOutbound] 璇锋眰鍙傛暟: {Request}", JsonSerializer.Serialize(input, _jsonOptions));
             WebResponseContent content = new WebResponseContent();
             if (string.IsNullOrWhiteSpace(input.LocationCode) || string.IsNullOrWhiteSpace(input.PalletCode))
             {
-                return content.Error($"鎵樼洏鍙锋垨鑰呰揣浣嶇紪鍙蜂笉鑳戒负绌�");
+                var errResult = content.Error($"鎵樼洏鍙锋垨鑰呰揣浣嶇紪鍙蜂笉鑳戒负绌�");
+                log.Warning("[RequestOutbound] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                return errResult;
             }
             try
             {
                 var stock = await _stockInfoService.GetStockInfoAsync(input.PalletCode, input.LocationCode);
                 if (stock == null)
                 {
-                    return content.Error("鏈壘鍒板搴旂殑鎵樼洏");
+                    var errResult = content.Error("鏈壘鍒板搴旂殑鎵樼洏");
+                    log.Warning("[RequestOutbound] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                    return errResult;
                 }
 
                 var taskList = new Dt_Task
@@ -139,17 +172,22 @@
                     var httpResponse = _httpClientHelper.Post<WebResponseContent>("http://localhost:9292/api/Task/ReceiveTask", JsonSerializer.Serialize(wmsTaskDtos)).Data;
                     if (result && httpResponse != null)
                     {
-                        return content.OK("鍑哄簱璇锋眰鎴愬姛");
+                        var okResult = content.OK("鍑哄簱璇锋眰鎴愬姛");
+                        log.Information("[RequestOutbound] 鍝嶅簲: {Response}", JsonSerializer.Serialize(okResult, _jsonOptions));
+                        return okResult;
                     }
                     else
                     {
-                        return content.Error("鍑哄簱璇锋眰澶辫触");
+                        var errResult = content.Error("鍑哄簱璇锋眰澶辫触");
+                        log.Warning("[RequestOutbound] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                        return errResult;
                     }
                 });
             }
             catch (Exception ex)
             {
                 content.Error(ex.Message);
+                log.Error(ex, "[RequestOutbound] 寮傚父");
             }
             return content;
         }
@@ -161,17 +199,23 @@
         /// <returns></returns>
         public async Task<WebResponseContent> GetPalletCodeCellAsync(GradingMachineInputDto input)
         {
+            var log = Log.ForContext("SourceContext", "鍒嗗鏌滅數鑺煡璇�");
+            log.Information("[GetPalletCodeCell] 璇锋眰鍙傛暟: {Request}", JsonSerializer.Serialize(input, _jsonOptions));
             WebResponseContent content = new WebResponseContent();
             if (string.IsNullOrWhiteSpace(input.PalletCode) || string.IsNullOrWhiteSpace(input.LocationCode))
             {
-                return content.Error($"鎵樼洏鍙锋垨鑰呰揣浣嶇紪鍙蜂笉鑳戒负绌�");
+                var errResult = content.Error($"鎵樼洏鍙锋垨鑰呰揣浣嶇紪鍙蜂笉鑳戒负绌�");
+                log.Warning("[GetPalletCodeCell] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                return errResult;
             }
             try
             {
                 var stockInfo = await _stockInfoService.GetStockInfoAsync(input.PalletCode, input.LocationCode);
                 if (stockInfo == null)
                 {
-                    return content.Error("鏈壘鍒板搴旂殑鎵樼洏");
+                    var errResult = content.Error("鏈壘鍒板搴旂殑鎵樼洏");
+                    log.Warning("[GetPalletCodeCell] 鍝嶅簲: {Response}", JsonSerializer.Serialize(errResult, _jsonOptions));
+                    return errResult;
                 }
 
                 var outPutDtos = new
@@ -186,10 +230,13 @@
                         Channel = x.InboundOrderRowNo.ToString()
                     }).ToList()
                 };
-                return content.OK(data: outPutDtos);
+                var result = content.OK(data: outPutDtos);
+                log.Information("[GetPalletCodeCell] 鍝嶅簲: {Response}", JsonSerializer.Serialize(result, _jsonOptions));
+                return result;
             }
             catch (Exception ex)
             {
+                log.Error(ex, "[GetPalletCodeCell] 寮傚父");
                 return content.Error(ex.Message);
             }
         }

--
Gitblit v1.9.3