From 853f7a71577bd8694c848985e1eb21c74d30eba9 Mon Sep 17 00:00:00 2001
From: wanshenmean <cathay_xy@163.com>
Date: 星期二, 21 四月 2026 21:19:23 +0800
Subject: [PATCH] fix(WCS): 修复输送线任务处理逻辑并更新设备映射

---
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Http/HTTP/HttpResponseResult.cs                          |    4 +
 Code/WMS/WIDESEA_WMSClient/src/extension/stock/extend/RobotSelect.vue                               |    4 +-
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs             |    2 
 Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json                                       |    2 
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs          |    4 +-
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs       |   44 +++++++++++++---------
 Code/WMS/WIDESEA_WMSClient/src/api/http.js                                                          |    2 
 Code/.omc/state/subagent-tracking.json                                                              |    2 
 Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs |   18 ++++++++-
 Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HTTP/HttpResponseResult.cs                           |    4 +
 10 files changed, 56 insertions(+), 30 deletions(-)

diff --git a/Code/.omc/state/subagent-tracking.json b/Code/.omc/state/subagent-tracking.json
index beafb92..bf72009 100644
--- a/Code/.omc/state/subagent-tracking.json
+++ b/Code/.omc/state/subagent-tracking.json
@@ -1540,5 +1540,5 @@
   "total_spawned": 144,
   "total_completed": 166,
   "total_failed": 0,
-  "last_updated": "2026-04-21T11:39:09.704Z"
+  "last_updated": "2026-04-21T13:08:04.028Z"
 }
\ No newline at end of file
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Http/HTTP/HttpResponseResult.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Http/HTTP/HttpResponseResult.cs
index 9b2e48d..322176c 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Http/HTTP/HttpResponseResult.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Http/HTTP/HttpResponseResult.cs
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Net;
 using System.Text;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 
 namespace WIDESEA_Core
@@ -43,8 +44,9 @@
         public string ErrorMessage { get; set; }
 
         /// <summary>
-        /// 寮傚父淇℃伅
+        /// 寮傚父淇℃伅锛堜笉鍙備笌JSON搴忓垪鍖栵紝鍥燛xception.TargetSite绫诲瀷鏃犳硶琚玈ystem.Text.Json搴忓垪鍖栵級
         /// </summary>
+        [JsonIgnore]
         public Exception Exception { get; set; }
 
         /// <summary>
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs
index 07fb90d..9381bfd 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/CommonConveyorLineNewJob.cs
@@ -83,11 +83,11 @@
         private readonly ILogger _logger;
 
         /// <summary>
-        /// 鐩爣鍦板潃鍒拌澶囩被鍨嬬殑鏄犲皠
+        /// 鐩爣鍦板潃鍒拌澶囩被鍨嬬殑鏄犲皠(鍏ュ簱绔欏彴)
         /// </summary>
         /// <remarks>
         /// </remarks>
-        private static List<string> AddressToDeviceType = new List<string> { "11020", "11028" };
+        private static List<string> AddressToDeviceType = new List<string> { "11020", "11028", "2125" };
 
         /// <summary>
         /// 鎵樼洏妫�鏌ヤ綅缃殑鏈�杩戞墽琛屾椂闂达紙鐢ㄤ簬30绉掗棿闅旈檺鍒讹級
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
index 2d946c4..a113186 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineDispatchHandler.cs
@@ -5,6 +5,7 @@
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
+using WIDESEAWCS_QuartzJob.Models;
 using WIDESEAWCS_QuartzJob.Service;
 
 namespace WIDESEAWCS_Tasks
@@ -103,7 +104,7 @@
         {
             // 娓呴櫎浠诲姟鍙凤紝琛ㄧず褰撳墠绌洪棽
             conveyorLine.SetValue(ConveyorLineDBNameNew.TaskNo, 0, childDeviceCode);
-            QuartzLogHelper.LogDebug(_logger, "HeartBeat锛氬瓙璁惧 {ChildDeviceCode} 蹇冭烦", $"HeartBeat锛氬瓙璁惧 {childDeviceCode} 蹇冭烦", conveyorLine.DeviceCode, childDeviceCode);
+            QuartzLogHelper.LogDebug(_logger, $"HeartBeat锛氬瓙璁惧 {childDeviceCode} 蹇冭烦", conveyorLine.DeviceCode);
         }
 
         /// <summary>
@@ -122,7 +123,7 @@
         /// <param name="childDeviceCode">瀛愯澶囩紪鐮�</param>
         public void RequestInbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommandNew command, string childDeviceCode)
         {
-            QuartzLogHelper.LogInfo(_logger, "RequestInbound锛氬瓙璁惧 {ChildDeviceCode} 璇锋眰鍏ュ簱", $"璇锋眰鍏ュ簱锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, childDeviceCode);
+            QuartzLogHelper.LogInfo(_logger, $"璇锋眰鍏ュ簱锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
 
             // 鍚� WMS 璇锋眰鏂颁换鍔★紙鍩轰簬鏉$爜锛�
             if (_taskFilter.RequestWmsTask(command.Barcode, childDeviceCode))
@@ -143,7 +144,7 @@
                     // 鏇存柊浠诲姟鐘舵�佸埌涓嬩竴闃舵
                     _taskService.UpdateTaskStatusToNext(task);
 
-                    QuartzLogHelper.LogInfo(_logger, "RequestInbound锛氬叆搴撲换鍔″凡涓嬪彂锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"鍏ュ簱浠诲姟宸蹭笅鍙戯紝浠诲姟鍙�: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
+                    QuartzLogHelper.LogInfo(_logger, $"鍏ュ簱浠诲姟宸蹭笅鍙戯紝浠诲姟鍙�: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
                 }
             }
         }
@@ -164,17 +165,21 @@
             Dt_Task? task = _taskFilter.QueryExecutingTask(command.TaskNo, childDeviceCode);
             if (task == null)
             {
-                QuartzLogHelper.LogDebug(_logger, "RequestInNextAddress锛氫换鍔� {TaskNo} 涓嶅瓨鍦�", $"RequestInNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode, command.TaskNo);
+                QuartzLogHelper.LogDebug(_logger, $"RequestInNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode);
                 return;
             }
 
-            QuartzLogHelper.LogInfo(_logger, "RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
+            QuartzLogHelper.LogInfo(_logger, $"RequestInNextAddress锛氬叆搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
 
-            // 濡傛灉涓嶆槸绌烘墭鐩樹换鍔★紝澶勭悊鐩爣鍦板潃锛堜笌鎷樻潫鏈�/鎻掓嫈閽夋満浜や簰锛�
-            if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
-            {
-                _targetAddressSelector.HandleInboundNextAddress(conveyorLine, task.NextAddress, childDeviceCode);
-            }
+            //// 濡傛灉涓嶆槸绌烘墭鐩樹换鍔★紝澶勭悊鐩爣鍦板潃
+            //if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
+            //{
+
+            Dt_Router routers = _routerService.QueryNextRoute(task.NextAddress, task.TargetAddress);
+            if (routers == null) throw new Exception($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
+
+            _targetAddressSelector.HandleInboundNextAddress(conveyorLine, routers.ChildPosi, childDeviceCode);
+            //}
 
             // 鏇存柊浠诲姟褰撳墠浣嶇疆
             _ = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
@@ -204,7 +209,7 @@
                 {
                     // 鍥炲 ACK 纭
                     conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, (short)1, childDeviceCode);
-                    QuartzLogHelper.LogInfo(_logger, "ConveyorLineInFinish锛氬叆搴撳畬鎴愶紝浠诲姟鍙�: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"鍏ュ簱瀹屾垚锛屼换鍔″彿: {task.TaskNum}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
+                    QuartzLogHelper.LogInfo(_logger, $"鍏ュ簱瀹屾垚锛屼换鍔″彿: {task.TaskNum},瀛愯澶�:{childDeviceCode}", conveyorLine.DeviceCode);
                 }
             }
         }
@@ -263,17 +268,20 @@
             Dt_Task? task = _taskFilter.QueryExecutingTask(command.TaskNo, childDeviceCode);
             if (task == null)
             {
-                QuartzLogHelper.LogDebug(_logger, "RequestOutNextAddress锛氫换鍔� {TaskNo} 涓嶅瓨鍦�", $"RequestOutNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode, command.TaskNo);
+                QuartzLogHelper.LogDebug(_logger, $"RequestOutNextAddress锛氫换鍔� {command.TaskNo} 涓嶅瓨鍦�", conveyorLine.DeviceCode);
                 return;
             }
 
-            QuartzLogHelper.LogInfo(_logger, "RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}", $"RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode, task.TaskNum, childDeviceCode);
+            QuartzLogHelper.LogInfo(_logger, $"RequestOutNextAddress锛氬嚭搴撲笅涓�鍦板潃锛屼换鍔″彿: {task.TaskNum}锛屽瓙璁惧: {childDeviceCode}", conveyorLine.DeviceCode);
 
             // 濡傛灉涓嶆槸绌烘墭鐩樹换鍔★紝澶勭悊鐩爣鍦板潃
-            if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
-            {
-                _targetAddressSelector.HandleOutboundNextAddress(conveyorLine, task.NextAddress, childDeviceCode);
-            }
+            //if (task.TaskType != (int)TaskOutboundTypeEnum.OutEmpty)
+            //{
+            Dt_Router routers = _routerService.QueryNextRoute(task.NextAddress, task.TargetAddress);
+            if (routers == null) throw new Exception($"鏈壘鍒拌澶囪矾鐢变俊鎭�");
+
+            _targetAddressSelector.HandleOutboundNextAddress(conveyorLine, routers.ChildPosi, childDeviceCode);
+            //}
 
             // 鏇存柊浠诲姟褰撳墠浣嶇疆
             _ = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
@@ -307,7 +315,7 @@
                     conveyorLine.SetValue(ConveyorLineDBNameNew.WCS_ACK, (short)1, childDeviceCode);
                 }
 
-                QuartzLogHelper.LogInfo(_logger, "ConveyorLineOutFinish锛氬嚭搴撳畬鎴愶紝瀹屾垚缁撴灉锛歿Status}锛屼换鍔″彿: {TaskNum}锛屽瓙璁惧: {ChildDeviceCode}锛岄敊璇秷鎭�: {Message}", $"鍑哄簱瀹屾垚锛屽畬鎴愮粨鏋滐細{content.Status}锛屼换鍔″彿: {task.TaskNum}锛岄敊璇秷鎭細{content.Message}", conveyorLine.DeviceCode, content.Status, task.TaskNum, childDeviceCode, content.Message);
+                QuartzLogHelper.LogInfo(_logger, $"鍑哄簱瀹屾垚锛屽畬鎴愮粨鏋滐細{content.Status}锛屼换鍔″彿: {task.TaskNum}锛岄敊璇秷鎭細{content.Message}", conveyorLine.DeviceCode);
             }
         }
     }
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
index 1fd2000..0cd3ffd 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineNewJob/ConveyorLineTargetAddressSelector.cs
@@ -135,7 +135,14 @@
             // 璁板綍鍏ュ簱鍦烘櫙鐨勮皟璇曟棩蹇楋紝鍖呭惈瀛愯澶囧拰鐩爣鍦板潃淇℃伅
             WriteDebug(conveyorLine, "鍏ュ簱涓嬩竴鍦板潃", childDeviceCode, nextAddress);
             // 濮旀墭閫氱敤澶勭悊鏂规硶锛屽叆搴撳搴斾笂灞傦紙isUpper: true锛�
-            HandleDeviceRequest(conveyorLine, nextAddress, childDeviceCode, Layer.Upper);
+            //HandleDeviceRequest(conveyorLine, nextAddress, childDeviceCode, Layer.Upper);
+
+            var cvState = conveyorLine.GetValue<ConveyorLineDBNameNew, byte>(ConveyorLineDBNameNew.CV_State, nextAddress);
+            bool isAvailable = cvState == 2;
+            if (isAvailable)
+            {
+                conveyorLine.SetValue(ConveyorLineDBNameNew.Target, Convert.ToInt16(nextAddress), childDeviceCode);
+            }
         }
 
         /// <summary>
@@ -153,7 +160,14 @@
             // 璁板綍鍑哄簱鍦烘櫙鐨勮皟璇曟棩蹇楋紝鍖呭惈瀛愯澶囧拰鐩爣鍦板潃淇℃伅
             WriteDebug(conveyorLine, "鍑哄簱涓嬩竴鍦板潃", childDeviceCode, nextAddress);
             // 濮旀墭閫氱敤澶勭悊鏂规硶锛屽嚭搴撳搴斾笅灞傦紙isUpper: false锛�
-            HandleDeviceRequest(conveyorLine, nextAddress, childDeviceCode, Layer.Lower);
+            //HandleDeviceRequest(conveyorLine, nextAddress, childDeviceCode, Layer.Lower);
+
+            var cvState = conveyorLine.GetValue<ConveyorLineDBNameNew, byte>(ConveyorLineDBNameNew.CV_State, nextAddress);
+            bool isAvailable = cvState == 2;
+            if (isAvailable)
+            {
+                conveyorLine.SetValue(ConveyorLineDBNameNew.Target, Convert.ToInt16(nextAddress), childDeviceCode);
+            }
         }
 
         /// <summary>
diff --git a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
index 4500212..96be485 100644
--- a/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
+++ b/Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneTaskSelector.cs
@@ -385,7 +385,7 @@
             CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
 
             // 璇诲彇 CV_State锛孋V_State == 2 琛ㄧず绌洪棽
-            byte cvState = conveyorLine.GetValue<ConveyorLineStatus, byte>(ConveyorLineStatus.CV_State, task.TargetAddress);
+            byte cvState = conveyorLine.GetValue<ConveyorLineDBNameNew, byte>(ConveyorLineDBNameNew.CV_State, task.TargetAddress);
             bool isAvailable = cvState == 2;
             QuartzLogHelper.LogInfo(_logger, "IsTargetAddressConveyorStationAvailable锛歍argetAddress: {TargetAddress}锛孋V_State: {CV_State}锛屾槸鍚︾┖闂�: {IsAvailable}锛屼换鍔″彿: {TaskNum}",
                 $"IsTargetAddressConveyorStationAvailable锛歍argetAddress: {task.TargetAddress}锛孋V_State: {cvState}锛屾槸鍚︾┖闂�: {isAvailable}", task.Roadway, task.TargetAddress, cvState, isAvailable, task.TaskNum);
diff --git a/Code/WMS/WIDESEA_WMSClient/src/api/http.js b/Code/WMS/WIDESEA_WMSClient/src/api/http.js
index 0a26762..0a82b23 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/api/http.js
+++ b/Code/WMS/WIDESEA_WMSClient/src/api/http.js
@@ -12,7 +12,7 @@
 let loadingInstance;
 let loadingStatus = false;
 if (process.env.NODE_ENV == 'development') {
-    axios.defaults.baseURL = window.webConfig.webApiProduction;
+    axios.defaults.baseURL = window.webConfig.webApiBaseUrl;
 }
 else if (process.env.NODE_ENV == 'debug') {
     axios.defaults.baseURL = window.webConfig.webApiBaseUrl;
diff --git a/Code/WMS/WIDESEA_WMSClient/src/extension/stock/extend/RobotSelect.vue b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/extend/RobotSelect.vue
index 80bd972..9ba8f4d 100644
--- a/Code/WMS/WIDESEA_WMSClient/src/extension/stock/extend/RobotSelect.vue
+++ b/Code/WMS/WIDESEA_WMSClient/src/extension/stock/extend/RobotSelect.vue
@@ -81,7 +81,7 @@
 
           const result = await this.http.post("/api/StockInfoDetail/BindContainer", {
             palletCode: this.currentRow.palletCode,
-            robotCode: this.selectedRobot
+            DeviceName: this.selectedRobot
           }, "姝e湪璋冪敤MES鎺ュ彛...");
 
           if (result.status) {
@@ -104,7 +104,7 @@
 
           const result = await this.http.post("/api/StockInfoDetail/UnbindContainer", {
             palletCode: this.currentRow.palletCode,
-            robotCode: this.selectedRobot
+            DeviceName: this.selectedRobot
           }, "姝e湪璋冪敤MES鎺ュ彛...");
 
           if (result.status) {
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HTTP/HttpResponseResult.cs b/Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HTTP/HttpResponseResult.cs
index 9b2e48d..322176c 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HTTP/HttpResponseResult.cs
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HTTP/HttpResponseResult.cs
@@ -3,6 +3,7 @@
 using System.Linq;
 using System.Net;
 using System.Text;
+using System.Text.Json.Serialization;
 using System.Threading.Tasks;
 
 namespace WIDESEA_Core
@@ -43,8 +44,9 @@
         public string ErrorMessage { get; set; }
 
         /// <summary>
-        /// 寮傚父淇℃伅
+        /// 寮傚父淇℃伅锛堜笉鍙備笌JSON搴忓垪鍖栵紝鍥燛xception.TargetSite绫诲瀷鏃犳硶琚玈ystem.Text.Json搴忓垪鍖栵級
         /// </summary>
+        [JsonIgnore]
         public Exception Exception { get; set; }
 
         /// <summary>
diff --git a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
index 76114fd..38551e1 100644
--- a/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
+++ b/Code/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -34,7 +34,7 @@
   "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
   //杩炴帴瀛楃涓�
   //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
-  "ConnectionString": "Data Source=192.168.60.30;Initial Catalog=WIDESEAWMS_ShanMei;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  "ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWMS_ShanMei;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //"ConnectionString": "Data Source=.;Initial Catalog=WIDESEAWMS_ShanMei;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //"ConnectionString": "Data Source=10.30.4.92;Initial Catalog=WMS_TC;User ID=sa;Password=duo123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //鏃MS鏁版嵁搴撹繛鎺�

--
Gitblit v1.9.3