From a982b8c9f5922684216cbc307a8507a627dde8d0 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <1247017146@qq.com>
Date: 星期六, 10 五月 2025 20:48:58 +0800
Subject: [PATCH] 优化

---
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs |   18 +-
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs                     |  122 ++++++++++-------
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs           |   73 +++++----
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj     |    4 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs   |   67 ++++----
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue           |   84 ++++++++++++
 Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js                                         |    7 +
 7 files changed, 250 insertions(+), 125 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs
index 7c3fa3d..3ba0dd2 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs
@@ -334,7 +334,7 @@
                     //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, task.NextAddress, childDeviceCode);
                     //conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineBarcode, command.ConveyorLineBarcode, childDeviceCode);
                     var GWTask = _taskRepository.QueryData(x => x.Roadway.Contains("GWSC2") && x.SourceAddress == "1039" && (x.TaskState == (int)TaskInStatusEnum.Line_InExecuting || x.TaskState == (int)TaskInStatusEnum.Line_InFinish)).ToList();
-                    if (GWTask.Count >= 2 && childDeviceCode == "1039"&&task.Roadway.Contains("GWSC2"))
+                    if (GWTask.Count >= 2 && childDeviceCode == "1039" && task.Roadway.Contains("GWSC2"))
                     {
                         ConsoleHelper.WriteErrorLine($"鎵樼洏鍙凤細銆恵command.ConveyorLineBarcode}銆戦珮娓╀簩宸插瓨鍦ㄣ�恵GWTask.Count}銆戜釜浠诲姟澶т簬2涓换鍔′笉鍙笅鍙�");
                         return;
@@ -342,18 +342,20 @@
                     ConveyorLineTaskCommand_After taskCommand = _mapper.Map<ConveyorLineTaskCommand_After>(task);
                     conveyorLine.SendCommand(taskCommand, childDeviceCode);
                     conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode);
-                    
+
                     _taskService.UpdateTaskStatusToNext(task);
                 }
             }
             else
             {
-                WriteInfo(conveyorLine.DeviceName, content.Message);
-                conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationManager.stationNGChildCode, childDeviceCode);
-                conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode);
-                ConsoleHelper.WriteErrorLine($"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�");
-                WriteInfo(conveyorLine.DeviceName, $"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�");
-                //_taskRepository.AddData(taskGW);
+                if (content.Message != "璇锋眰杩囦簬棰戠箒锛岃绋嶅悗鍐嶈瘯")
+                {
+                    WriteInfo(conveyorLine.DeviceName, content.Message);
+                    conveyorLine.SetValue(ConveyorLineDBName_After.ConveyorLineTargetAddress, stationManager.stationNGChildCode, childDeviceCode);
+                    conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode);
+                    ConsoleHelper.WriteErrorLine($"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�");
+                    WriteInfo(conveyorLine.DeviceName, $"銆恵conveyorLine.DeviceName}銆戞墭鐩樺彿锛氥�恵command.ConveyorLineBarcode}銆戣姹傜偣浣嶏細銆恵childDeviceCode}銆戝紓甯镐俊鎭�恵content.Message}銆�");
+                }                
             }
         }
 
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
index 9eccbca..8167dd3 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/router/tables.js
@@ -253,6 +253,13 @@
     meta: {
       keepAlive: false
     }
+  },{
+    path: '/Dt_Changeovers',
+    name: 'Dt_Changeovers',
+    component: () => import('@/views/widesea_wms/basicinfo/Dt_Changeovers.vue'),
+    meta: {
+      keepAlive: false
+    }
   },
 ]
 export default tables
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue
new file mode 100644
index 0000000..7f202c7
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/basicinfo/Dt_Changeovers.vue
@@ -0,0 +1,84 @@
+<!--
+*Author锛歫xx
+ *Contact锛�283591387@qq.com
+ *浠g爜鐢辨鏋剁敓鎴�,浠讳綍鏇存敼閮藉彲鑳藉鑷磋浠g爜鐢熸垚鍣ㄨ鐩�
+ *涓氬姟璇峰湪@/extension/widesea_wms/basicinfo/Dt_AreaInfo.js姝ゅ缂栧啓
+ -->
+<template>
+    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
+        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
+        :table="table" :extend="extend">
+    </view-grid>
+</template>
+<script>
+import extend from "@/extension/widesea_wms/basicinfo/Dt_Changeovers.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+    setup() {
+        const table = ref({
+            key: 'id',
+            footer: "Foots",
+            cnName: '鎹㈠瀷淇℃伅',
+            name: 'basicinfo/Dt_Changeovers',
+            url: "/Dt_Changeovers/",
+            sortName: "createDate"
+        });
+        const editFormFields = ref({
+            "materielCode": "",
+            "productionLine": "",
+            "processCode": "",
+            "status": "",
+            "areaDesc": ""
+        });
+        const editFormOptions = ref([
+        [
+                { "title": "鐗╂枡缂栧彿", "field": "materielCode", type: "text" },
+                { "title": "鐢熶骇浜х嚎", "field": "productionLine", type: "select", dataKey: "ProductionLine", data: [] },
+                
+            ],
+            [
+                { "title": "宸ュ簭", "field": "processCode",  type: "select", dataKey: "AreaType", data: [] },
+                { "title": "鐘舵��", "field": "status", "type": "select", dataKey: "EnalbeStatus", data: [] }, 
+            ]
+        ]);
+        const searchFormFields = ref({});
+        const searchFormOptions = ref([
+            [
+                { "title": "鐗╂枡缂栧彿", "field": "materielCode", type: "text" },
+                { "title": "鐢熶骇浜х嚎", "field": "productionLine", type: "select", dataKey: "ProductionLine", data: [] },
+                
+            ],
+            [
+                { "title": "宸ュ簭", "field": "processCode",  type: "select", dataKey: "AreaType", data: []},
+                { "title": "鐘舵��", "field": "status", type: "text" },
+            ]
+        ]);
+        const columns = ref([{ field: 'id', title: 'id', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' },
+        { field: 'materielCode', title: '鐗╂枡缂栧彿', type: 'string', sort: true, width: 110, require: true, align: 'left', sort: true },
+        { field: 'productionLine', title: '浜х嚎', type: 'string', width: 70, align: 'left', bind: { key: "ProductionLine", data: [] }  },
+        { field: 'processCode', title: '宸ュ簭', type: 'string', sort: true, width: 110, align: 'left' ,bind: { key: "AreaType", data: [] }},
+        { field: 'status', title: '鐘舵��', type: 'int', sort: true, width: 110, align: 'left', bind: { key: "EnalbeStatus", data: [] }  },
+        { field: 'creater', title: '鍒涘缓浜�', type: 'string', sort: true, width: 110, align: 'left' },
+        { field: 'createDate', title: '鍒涘缓鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },
+        { field: 'modifier', title: '淇敼浜�', type: 'string', sort: true, width: 100,  align: 'left' },
+        { field: 'modifyDate', title: '淇敼鏃堕棿', type: 'datetime', sort: true, width: 150, align: 'left', sort: true },]);
+        const detail = ref({
+            cnName: "#detailCnName",
+            table: "#detailTable",
+            columns: [],
+            sortName: "",
+            key: ""
+        });
+        return {
+            table,
+            extend,
+            editFormFields,
+            editFormOptions,
+            searchFormFields,
+            searchFormOptions,
+            columns,
+            detail,
+        };
+    },
+});
+</script>
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj
index a900279..922d276 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_BusinessServices/WIDESEA_BusinessServices.csproj
@@ -7,6 +7,10 @@
   </PropertyGroup>
 
   <ItemGroup>
+    <None Include="Dt_ChangeoversService.cs" />
+  </ItemGroup>
+
+  <ItemGroup>
     <ProjectReference Include="..\WIDESEA_BusinessesRepository\WIDESEA_BusinessesRepository.csproj" />
     <ProjectReference Include="..\WIDESEA_Core\WIDESEA_Core.csproj" />
     <ProjectReference Include="..\WIDESEA_IBusinessesRepository\WIDESEA_IBusinessesRepository.csproj" />
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs
index 332ae9a..3055e53 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Common/HttpClient/HttpsClient.cs
@@ -47,64 +47,82 @@
     // 灏佽涓�涓敤HttpClient鍙戦�丳ost璇锋眰鐨勬柟娉曟湁鍙傛暟
     public static async Task<string> PostAsync(string url, Dictionary<string, object> parameters)
     {
-        // 鍒涘缓涓�涓柊鐨勫瓧鍏革紝鎺掗櫎 RequestTime 鍜� SessionId
-        var filteredParameters = parameters.Where(p => p.Key != "RequestTime"&& p.Key != "SessionId").ToDictionary(p => p.Key, p => p.Value);
-
-        string requestKey = $"{url}:{JsonConvert.SerializeObject(filteredParameters)}";
-        // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗
-        if (requestTracker.TryGetValue(requestKey, out var requestInfo))
+        try
         {
-            if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3))
+            // 鍒涘缓涓�涓柊鐨勫瓧鍏革紝鎺掗櫎 RequestTime 鍜� SessionId
+            var filteredParameters = parameters.Where(p => p.Key != "RequestTime" && p.Key != "SessionId").ToDictionary(p => p.Key, p => p.Value);
+
+            string requestKey = $"{url}:{JsonConvert.SerializeObject(filteredParameters)}";
+            // 妫�鏌ヨ姹傛鏁板拰鏃堕棿闄愬埗
+            if (requestTracker.TryGetValue(requestKey, out var requestInfo))
             {
-                // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯�
-                throw new InvalidOperationException("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��");
+                if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3))
+                {
+                    // 濡傛灉璇锋眰娆℃暟瓒呰繃闄愬埗涓旀湭瓒呰繃10鍒嗛挓锛屾姏鍑哄紓甯�
+                    throw new InvalidOperationException("璇锋眰娆℃暟宸茶揪鍒伴檺鍒讹紝璇风◢鍚庡啀璇曘��");
+                }
+            }
+
+            // 鏇存柊璇锋眰璺熻釜淇℃伅
+            if (requestTracker.ContainsKey(requestKey))
+            {
+                requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now);
+            }
+            else
+            {
+                requestTracker[requestKey] = (1, DateTime.Now);
+            }
+
+
+            // 璁板綍璇锋眰鍙傛暟
+            LogRequestParameters(parameters, url);
+
+            // 鍒涘缓HttpClient瀹炰緥
+            using (HttpClient client = new HttpClient())
+            {
+                // 灏嗗弬鏁拌浆鎹负FormUrlEncodedContent
+                string content = JsonConvert.SerializeObject(parameters);
+
+                //client.Timeout = TimeSpan.from;
+
+                var request = new HttpRequestMessage(HttpMethod.Post, url);
+
+                request.Content = new StringContent(content, Encoding.UTF8, "application/json");
+                //var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters));
+                //// 鍙戦�丳OST璇锋眰骞惰幏鍙栧搷搴�
+                //HttpResponseMessage response = await client.PostAsync(url, content);
+                HttpResponseMessage response = await client.SendAsync(request);
+
+                // 纭繚鍝嶅簲鎴愬姛
+                response.EnsureSuccessStatusCode();
+
+                // 璇诲彇鍝嶅簲鍐呭
+                string responseBody = await response.Content.ReadAsStringAsync();
+
+                // 璁板綍鍝嶅簲鍙傛暟
+                LogResponseParameters(responseBody, url);
+
+                // 杩斿洖鍝嶅簲鍐呭
+                return responseBody;
             }
         }
-
-        // 鏇存柊璇锋眰璺熻釜淇℃伅
-        if (requestTracker.ContainsKey(requestKey))
+        catch (Exception ex)
         {
-            requestTracker[requestKey] = (requestInfo.Count + 1, DateTime.Now);
+            LogErrorParameters(ex.StackTrace,ex.Message, url);
+            return ex.Message;
         }
-        else
-        {
-            requestTracker[requestKey] = (1, DateTime.Now);
-        }
-
-
-        // 璁板綍璇锋眰鍙傛暟
-        LogRequestParameters(parameters, url);
-
-        // 鍒涘缓HttpClient瀹炰緥
-        using (HttpClient client = new HttpClient())
-        {
-            // 灏嗗弬鏁拌浆鎹负FormUrlEncodedContent
-            string content = JsonConvert.SerializeObject(parameters);
-
-            //client.Timeout = TimeSpan.from;
-
-            var request = new HttpRequestMessage(HttpMethod.Post, url);
-
-            request.Content = new StringContent(content, Encoding.UTF8, "application/json");
-            //var content = new FormUrlEncodedContent(ConvertToKeyValuePairs(parameters));
-            //// 鍙戦�丳OST璇锋眰骞惰幏鍙栧搷搴�
-            //HttpResponseMessage response = await client.PostAsync(url, content);
-            HttpResponseMessage response = await client.SendAsync(request);
-
-            // 纭繚鍝嶅簲鎴愬姛
-            response.EnsureSuccessStatusCode();
-
-            // 璇诲彇鍝嶅簲鍐呭
-            string responseBody = await response.Content.ReadAsStringAsync();
-
-            // 璁板綍鍝嶅簲鍙傛暟
-            LogResponseParameters(responseBody, url);
-
-            // 杩斿洖鍝嶅簲鍐呭
-            return responseBody;
-        }
+        
     }
-
+    private static void LogErrorParameters(string errordetail, string error, string url = "")
+    {
+        StringBuilder builder = new StringBuilder();
+        builder.Append(Environment.NewLine);
+        builder.Append("---------------------------------------------");
+        builder.Append(Environment.NewLine);
+        builder.Append("url:" + url + "寮傚父璇︾粏淇℃伅: " + JsonConvert.SerializeObject(error));
+        builder.Append("url:" + url + "寮傚父淇℃伅: " + JsonConvert.SerializeObject(error));
+        LogFactory.GetLog("API鎺ュ彛寮傚父").Error(true, builder);
+    }
     private static void LogRequestParameters(Dictionary<string, object> parameters, string url = "")
     {
         StringBuilder builder = new StringBuilder();
@@ -126,6 +144,8 @@
         LogFactory.GetLog("API鎺ュ彛").Info(true, builder);
     }
 
+    
+
     private static IEnumerable<KeyValuePair<string, string>> ConvertToKeyValuePairs(Dictionary<string, object> parameters)
     {
         foreach (var kvp in parameters)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
index 3c811fb..857e86e 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs
@@ -32,6 +32,7 @@
     private readonly IAgingInOrOutInputService _agingInOrOutInputService; //闈欑疆\闄堝寲
     private readonly IDt_StationManagerRepository _stationManagerRepository;
     private readonly ISys_ConfigService _configService;
+    private readonly IDt_ChangeoversRepository _dt_ChangeoversRepository;
     private readonly ISimpleCacheService _simpleCacheService;
 
     public Dt_TaskService(IDt_TaskRepository BaseDal,
@@ -51,7 +52,8 @@
                                 IStockInfoDetailRepository stockInfoDetailRepository,
                                 IDt_StationManagerRepository stationManagerRepository,
                                 ISys_ConfigService configService,
-                                ISimpleCacheService simpleCacheService) : base(BaseDal)
+                                ISimpleCacheService simpleCacheService,
+                                IDt_ChangeoversRepository dt_ChangeoversRepository) : base(BaseDal)
     {
         _unitOfWorkManage = unitOfWorkManage;
         _stockInfoRepository = stockInfoRepository;
@@ -69,6 +71,7 @@
         _stationManagerRepository = stationManagerRepository;
         _configService = configService;
         _simpleCacheService = simpleCacheService;
+        _dt_ChangeoversRepository = dt_ChangeoversRepository;
     }
 
     #region 澶栭儴鎺ュ彛鏂规硶
@@ -754,12 +757,13 @@
             else
             {
                 // 澶勭悊寮傚父鐢佃姱鎯呭喌
-                var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
-                if (serialNosError.Count > 0)
-                {
-                    return await HandleErrorCells(input, area, serialNosError);
-                }
-
+                #region 鐢佃姱鍒嗙粨鏋滃紓甯镐笉闇�瑕佹垜浠鐞�
+                //var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
+                //if (serialNosError.Count > 0)
+                //{
+                //    return await HandleErrorCells(input, area, serialNosError);
+                //}
+                #endregion
                 var boxing = CreateBoxingInfo(result, input.PalletCode);
                 if (boxing == null) return content.Error("缁勭洏澶辫触");
 
@@ -1013,7 +1017,9 @@
                 return null;
             }
 
-            var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+            //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+            var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList();
+
             List<string>? materielCodes = outBoundMateriel.Count != 0
                 ? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == area.AreaCode)
                                   .Select(x => x.MaterielCode)
@@ -1066,7 +1072,8 @@
             //    materielCodes = outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0]).Select(x => x.MaterielCode).ToList();
             //}
 
-            var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+            //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+            var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList();
             List<string>? materielCodes = outBoundMateriel.Count != 0
                 ? outBoundMateriel.Where(x => x.ProductionLine == productionLine && x.ProcessCode == areaCodes[0])
                                   .Select(x => x.MaterielCode)
@@ -1914,32 +1921,32 @@
             }
 
             #region 鏇存柊搴撳瓨淇℃伅锛堟殏鏃朵笉闇�瑕侊級
-            //if (stock.IsFull)
-            //{
-            //    // 鏌ヨ绗﹀悎鏉′欢鐨勫簱瀛樹俊鎭�
-            //    var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration);
+            if (stock.IsFull)
+            {
+                // 鏌ヨ绗﹀悎鏉′欢鐨勫簱瀛樹俊鎭�
+                var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration);
 
-            //    // 鏌ヨ浠诲姟淇℃伅
-            //    var tasks = BaseDal.QueryData(x => x.PalletCode != stock.PalletCode && x.ProductionLine == stock.ProductionLine).Select(x => x.PalletCode).ToList();
+                // 鏌ヨ浠诲姟淇℃伅
+                var tasks = BaseDal.QueryData(x => x.PalletCode != stock.PalletCode && x.ProductionLine == stock.ProductionLine).Select(x => x.PalletCode).ToList();
 
-            //    if (stocks != null && stocks.Count > 0)
-            //    {
-            //        // 杩囨护鍑洪渶瑕佹洿鏂扮殑搴撳瓨淇℃伅
-            //        var stocksToUpdate = stocks.Where(item => !tasks.Contains(item.PalletCode)).ToList();
-            //        foreach (var item in stocksToUpdate)
-            //        {
-            //            // 鏇存柊搴撳瓨淇℃伅鐨勭壒瀹氬弬鏁�
-            //            item.SpecialParameterDuration = stock.SpecialParameterDuration;
-            //            item.ParameterInfos = stock.ParameterInfos;
-            //            item.OutboundTime = Convert.ToDateTime(item.LinedProcessFeedbackTime == null ? item.CreateDate : item.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(stock.SpecialParameterDuration));
-            //        }
-            //        if (stocksToUpdate.Count > 0)
-            //        {
-            //            // 寮傛鏇存柊搴撳瓨淇℃伅
-            //            var isUpdates = await _stockInfoRepository.UpdateDataAsync(stocksToUpdate);
-            //        }
-            //    }
-            //}
+                if (stocks != null && stocks.Count > 0)
+                {
+                    // 杩囨护鍑洪渶瑕佹洿鏂扮殑搴撳瓨淇℃伅
+                    var stocksToUpdate = stocks.Where(item => !tasks.Contains(item.PalletCode)).ToList();
+                    foreach (var item in stocksToUpdate)
+                    {
+                        // 鏇存柊搴撳瓨淇℃伅鐨勭壒瀹氬弬鏁�
+                        item.SpecialParameterDuration = stock.SpecialParameterDuration;
+                        item.ParameterInfos = stock.ParameterInfos;
+                        item.OutboundTime = Convert.ToDateTime(item.LinedProcessFeedbackTime == null ? item.CreateDate : item.LinedProcessFeedbackTime).AddHours(Convert.ToDouble(stock.SpecialParameterDuration));
+                    }
+                    if (stocksToUpdate.Count > 0)
+                    {
+                        // 寮傛鏇存柊搴撳瓨淇℃伅
+                        var isUpdates = await _stockInfoRepository.UpdateDataAsync(stocksToUpdate);
+                    }
+                }
+            }
             #endregion
 
             // 娣诲姞鍘嗗彶浠诲姟
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
index b046cae..08c99d2 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs
@@ -237,38 +237,38 @@
             }
 
             // 澶勭悊寮傚父鐢佃姱鎯呭喌
-            var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
-            if (serialNosError.Count > 0)
-            {
-                if (stationManager.stationType != 3)
-                {
-                    var taskNG = new Dt_Task
-                    {
-                        CurrentAddress = input.Position,
-                        Grade = 1,
-                        Roadway = input.Roadways,
-                        TargetAddress = stationManager.stationNGLocation,
-                        Dispatchertime = DateTime.Now,
-                        MaterialNo = "",
-                        NextAddress = stationManager.stationNGChildCode,
-                        OrderNo = null,
-                        PalletCode = input.PalletCode,
-                        SourceAddress = stationManager.stationLocation,
-                        TaskState = (int)TaskInStatusEnum.Line_InFinish,
-                        TaskType = (int)TaskOutboundTypeEnum.InToOut,
-                        TaskNum = await BaseDal.GetTaskNo(),
-                        Creater = "System",
-                        ProductionLine = result.ProductionLine,
-                        ProcessCode = result.ProcessCode,
-                    };
-                    return taskNG;
-                }
-                else
-                {
-                    Console.WriteLine($"绔欏彴{stationManager.stationChildCode}MOM杩斿洖鐢佃姱寮傚父:{result.MOMMessage}");
-                    return null;
-                }
-            }
+            //var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList();
+            //if (serialNosError.Count > 0)
+            //{
+            //    if (stationManager.stationType != 3)
+            //    {
+            //        var taskNG = new Dt_Task
+            //        {
+            //            CurrentAddress = input.Position,
+            //            Grade = 1,
+            //            Roadway = input.Roadways,
+            //            TargetAddress = stationManager.stationNGLocation,
+            //            Dispatchertime = DateTime.Now,
+            //            MaterialNo = "",
+            //            NextAddress = stationManager.stationNGChildCode,
+            //            OrderNo = null,
+            //            PalletCode = input.PalletCode,
+            //            SourceAddress = stationManager.stationLocation,
+            //            TaskState = (int)TaskInStatusEnum.Line_InFinish,
+            //            TaskType = (int)TaskOutboundTypeEnum.InToOut,
+            //            TaskNum = await BaseDal.GetTaskNo(),
+            //            Creater = "System",
+            //            ProductionLine = result.ProductionLine,
+            //            ProcessCode = result.ProcessCode,
+            //        };
+            //        return taskNG;
+            //    }
+            //    else
+            //    {
+            //        Console.WriteLine($"绔欏彴{stationManager.stationChildCode}MOM杩斿洖鐢佃姱寮傚父:{result.MOMMessage}");
+            //        return null;
+            //    }
+            //}
             //else
             //{
             //    throw new Exception($"绔欏彴{stationManager.stationChildCode}MOM杩斿洖鐢佃姱寮傚父:{result.MOMMessage}");
@@ -1043,7 +1043,8 @@
                 .Where(x => x.DeviceCode.Contains("CWSC")) // 杩囨护鏉′欢
                 .ToList().Select(x => x.DeviceCode).ToList();
 
-            var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+            //var outBoundMateriel = AppSettings.app<OutBoundMateriel>("OutBoundMateriel");
+            var outBoundMateriel = _dt_ChangeoversRepository.QueryData(x => x.Status == "1").ToList();
             List<string>? materielCodes = outBoundMateriel.Count != 0
                 ? outBoundMateriel.Where(x => x.ProductionLine == station.productLine && x.ProcessCode == "CWSC3")
                                   .Select(x => x.MaterielCode)

--
Gitblit v1.9.3