From 58a5a9af83492c5bbb4fba88b4443f08fa4becfc Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期二, 17 十二月 2024 19:53:14 +0800
Subject: [PATCH] 解决冲突

---
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue                                                   |    9 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/GetStationService.cs                                  |   54 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/RequestInbound.cs                                     |   25 
 项目资料/通信协议/WCS与输送线交互协议V20231130.xls                                                                                                     |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.targets                                   |   16 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs                                                  |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.g.targets                                     |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs                                                        |    6 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/WIDESEAWCS_Core.csproj                                                           |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs                                                      |    9 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue                                             |  106 ++
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.targets             |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.targets                             |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs                                        |  276 +++--
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json                                                               |   30 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.g.targets               |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/main.js                                                                                      |    2 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs                                                         |    2 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/Dt_TaskService.cs                                       |   49 
 Code Management/WCS/WIDESEAWCS_Client/src/router/redirect.js                                                                           |   87 +
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue                                                          |   47 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj                                                       |    2 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.targets               |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs                                  |   29 
 Code Management/WCS/WIDESEAWCS_Client/src/api/http.js                                                                                  |    4 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs                                           |   12 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyRepository/obj/WIDESEAWCS_TaskInfo_HtyRepository.csproj.nuget.g.targets   |   16 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json                                                               |   30 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.g.targets         |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyRepository/obj/WIDESEAWCS_ITaskInfo_HtyRepository.csproj.nuget.g.targets |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.g.targets               |   16 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db                           |    0 
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal                       |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.g.targets                                       |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs                                          |   56 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.targets                                     |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceStacker.vue                                                                 |   57 +
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.targets       |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue                                               |   69 +
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm                       |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/bin/Debug/net6.0/WIDESEAWCS_Core.deps.json                                       |  639 ++++++------
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.targets             |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/views/charts/bigdata.vue                                                                     |    2 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs                                                |   24 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.targets            |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue                                                                               |  206 ----
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs                                          |   10 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs                                               |  110 -
 Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar                                                                          |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs                               |   54 -
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue                                         |   69 +
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.g.targets         |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue                                            |   99 ++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue                                          |    9 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs                                        |   54 
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm                       |    0 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal                       |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/obj/WIDESEAWCS_SignalR.csproj.nuget.g.targets                                 |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.targets                   |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.g.targets                 |   16 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs                                     |    4 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.targets             |   16 
 Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLine.vue                                                                    |   84 +
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.g.targets                                         |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.targets                 |   16 
 Code Management/WCS/WIDESEAWCS_Client/package.json                                                                                     |    3 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs                                                   |   37 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyService/obj/WIDESEAWCS_ITaskInfo_HtyService.csproj.nuget.g.targets       |   16 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/ExcelExport/库存信息.xlsx                                         |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs                                                                     |   46 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyService/obj/WIDESEAWCS_TaskInfo_HtyService.csproj.nuget.g.targets         |   16 
 项目资料/通信协议/~$WCS-输送交互表2024-3-26.V1.xlsx                                                                                                 |    0 
 /dev/null                                                                                                                              |    0 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue                                          |    9 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db                                |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/IGetStationService.cs                                 |    9 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs                                   |   21 
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db                           |    0 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.targets           |   16 
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs                                                    |   67 +
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/CodeChunks.db                                |    0 
 81 files changed, 1,533 insertions(+), 1,388 deletions(-)

diff --git a/Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar b/Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar
new file mode 100644
index 0000000..ed8d8a6
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Client/dist.zip b/Code Management/WCS/WIDESEAWCS_Client/dist.zip
deleted file mode 100644
index 03d3119..0000000
--- a/Code Management/WCS/WIDESEAWCS_Client/dist.zip
+++ /dev/null
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Client/package.json b/Code Management/WCS/WIDESEAWCS_Client/package.json
index 93990d1..3735f3a 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/package.json
+++ b/Code Management/WCS/WIDESEAWCS_Client/package.json
@@ -13,6 +13,7 @@
     "@microsoft/signalr": "^6.0.4",
     "ali-oss": "^6.17.1",
     "axios": "^0.21.1",
+    "bootstrap": "^5.3.3",
     "core-js": "^3.6.5",
     "echarts": "^5.0.2",
     "element-plus": "^2.2.14",
@@ -21,7 +22,7 @@
     "vue": "^3.2.37",
     "vue-draggable-next": "^2.0.1",
     "vue-router": "^4.0.0-0",
-    "vuex": "^4.0.0-0",
+    "vuex": "^4.0.0-0", 
     "wangeditor": "^4.7.6"
   },
   "devDependencies": {
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js b/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
index fcb2646..5c21539 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/api/http.js
@@ -13,14 +13,14 @@
 let loadingStatus = false;
 if (process.env.NODE_ENV == 'development') {
     // axios.defaults.baseURL = 'http://127.0.0.1:9291/';
-    axios.defaults.baseURL = 'http://192.168.20.251:9291/';
+    axios.defaults.baseURL = 'http://192.168.5.251:9291/';
 }
 else if (process.env.NODE_ENV == 'debug') {
     axios.defaults.baseURL = 'http://127.0.0.1:8098/';
 }
 
 else if (process.env.NODE_ENV == 'production') {
-    axios.defaults.baseURL = 'http://192.168.20.251:9291/';
+    axios.defaults.baseURL = 'http://192.168.5.251:9291/';
 }
 if (!axios.defaults.baseURL.endsWith('/')) {
     axios.defaults.baseURL+="/";
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLine.vue b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLine.vue
new file mode 100644
index 0000000..8824922
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLine.vue
@@ -0,0 +1,84 @@
+<template>
+    <div class="Linebox" >
+        <div class="card">
+            <div class="card-header">
+                <div id="lines2">
+                    <div class="card-body">{{ device.deviceName }}<br />
+                        -{{ device.childDeviceCode }}-
+                    </div>
+                </div>
+            </div>
+            <div class="card-body">
+                <ul class="list-group lis">
+                    <li class="list-group-item list-group-item-dark">璇诲彇淇″彿</li>
+                    <li class="list-group-item list-group-item-secondary">浠诲姟鍙凤細{{
+                        device.data.command.taskNum }}</li>
+                    <li class="list-group-item list-group-item-secondary">鎵樼洏鍙凤細{{
+                        device.data.command.barcode }}</li>
+                    <li class="list-group-item list-group-item-secondary">缁堢偣鍦板潃锛歿{
+                        device.data.command.targetAddress }}</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[6])">鎵爜绔欏彴鍏ュ簱璇锋眰</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[4])">鍫嗗灈鏈哄嚭搴撶珯鍙拌姹�</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[2])">鍫嗗灈鏈哄叆搴撶珯鍙拌姹�</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[0])">绾夸綋鍑哄簱鍙h姹�</li>
+                </ul>
+                <ul class="list-group lis">
+                    <li class="list-group-item list-group-item-dark">鍐欏叆淇″彿</li>
+                    <li class="list-group-item list-group-item-secondary">浠诲姟鍙凤細{{
+                        device.data.commandWrite.taskNum }}</li>
+                    <li class="list-group-item list-group-item-secondary">鎵樼洏鍙凤細{{
+                        device.data.commandWrite.barcode }}</li>
+                    <li class="list-group-item list-group-item-secondary">缁堢偣鍦板潃锛歿{
+                        device.data.commandWrite.targetAddress }}</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[7])">鎵爜绔欏彴鍏ュ簱璇锋眰</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[5])">鍫嗗灈鏈哄嚭搴撶珯鍙拌姹�</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[3])">鍫嗗灈鏈哄叆搴撶珯鍙拌姹�</li>
+                    <li :class="getSignalClass(device.data.writeInteractiveSignal[1])">绾夸綋鍑哄簱鍙h姹�</li>
+                </ul>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script setup>
+import { defineProps } from "vue";
+
+// 瀹氫箟缁勪欢灞炴��
+const props = defineProps({
+    device: {
+        type: Object,
+        required: true
+    }
+});
+
+// 鑾峰彇淇″彿绫诲悕
+const getSignalClass = (signal) => {
+    // console.log("馃殌 ~ getSignalClass ~ signal:", signal)
+    return signal !== true ? 'list-group-item list-group-item-danger' : 'list-group-item list-group-item-success';
+};
+</script>
+
+<style scoped>
+/* .Stackerbox{
+    width: 220px;
+    float: left;
+} */
+.Linebox{
+  width: 500px;
+  float: left;
+}
+.box1{
+  float: left;
+}
+.card-body{
+  text-align: center;
+  border-radius: 6% ;
+}
+.Stacker{
+  background-color: burlywood;
+}
+.lis{
+  float: left;
+  width: 233px;
+}
+</style>
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceStacker.vue b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceStacker.vue
new file mode 100644
index 0000000..e519d9c
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceStacker.vue
@@ -0,0 +1,57 @@
+<template>
+    <div class="Stackerbox">
+        <div class="card">
+          <div class="card-header">
+            <div>
+              <div class="card-body Stacker">
+                {{ Stacker.deviceName }}
+              </div>
+            </div>
+          </div>
+          <div class="card-body">
+            <ul class="list-group">
+              <li class="list-group-item list-group-item-secondary">
+                浠诲姟鍙凤細{{ Stacker.data.currentTaskNum || '鏆傛棤浠诲姟鍙�' }}
+              </li>
+              <li :class="getStatusClass(Stacker.data.stackerCraneAutoStatusDes)">
+                宸ヤ綔妯″紡锛歿{ Stacker.data.stackerCraneAutoStatusDes }}
+              </li>
+              <li :class="getStatusClass(Stacker.data.stackerCraneStatusDes)">
+                璁惧鐘舵�侊細{{ Stacker.data.stackerCraneStatusDes }}
+              </li>
+              <li :class="getStatusClass(Stacker.data.stackerCraneWorkStatusDes)">
+                宸ヤ綔鐘舵�侊細{{ Stacker.data.stackerCraneWorkStatusDes }}
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+</template>
+
+<script setup>
+import { defineProps } from "vue";
+
+// 瀹氫箟缁勪欢灞炴��
+const props = defineProps({
+    Stacker: {
+        type: Object,
+        required: true
+    }
+});
+
+// 鑾峰彇鐘舵�佺被鍚嶏紙浼樺寲鐘舵�佸垽鏂級
+const getStatusClass = (status) => {
+  if (status === '姝e父' || status === '鑷姩' || status === '寰呮満') {
+    return 'list-group-item list-group-item-success';
+  }
+  if (status === '鏁呴殰' || status === '鍋滄満') {
+    return 'list-group-item list-group-item-danger';
+  }
+  return 'list-group-item list-group-item-warning'; // 榛樿璀﹀憡鐘舵��
+};
+
+</script>
+
+<style lang="scss" scoped>
+
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/main.js b/Code Management/WCS/WIDESEAWCS_Client/src/main.js
index 40c4c4f..c4642ef 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/main.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/main.js
@@ -11,7 +11,7 @@
 // import 'dayjs/locale/zh-cn'
 // import locale from 'element-plus/lib/locale/lang/zh-cn'
 import * as ElementPlusIconsVue from '@element-plus/icons-vue'
-
+import 'bootstrap/dist/css/bootstrap.min.css';
 
 
 import permission from './api/permission'
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/router/redirect.js b/Code Management/WCS/WIDESEAWCS_Client/src/router/redirect.js
index 144beb8..881f761 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/router/redirect.js
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/router/redirect.js
@@ -1,22 +1,67 @@
+let redirect = [
+  {
+    path: "/404",
+    name: "404",
+    component: () => import("@/components/redirect/404"),
+    meta: {
+      anonymous: true,
+    },
+  },
+  {
+    path: "/401",
+    name: "401",
+    component: () => import("@/components/redirect/401"),
+  },
+  {
+    path: "/coding",
+    name: "coding",
+    component: () => import("@/components/redirect/coding"),
+  },
+  {
+    path: "/message",
+    name: "message",
+    component: () => import("@/components/redirect/Message.vue"),
+  },
 
-let redirect = [{
-    path: '/404',
-    name: '404',
-    component: () => import('@/components/redirect/404'),
-    meta:{
-        anonymous:true
-      }
-}, {
-    path: '/401',
-    name: '401',
-    component: () => import('@/components/redirect/401')
-}, {
-    path: '/coding',
-    name: 'coding',
-    component: () => import('@/components/redirect/coding')
-}, {
-    path: '/message',
-    name: 'message',
-    component: () => import('@/components/redirect/Message.vue')
-}]
-export default redirect;
\ No newline at end of file
+  {
+    path: "/indexLibrary",
+    component: () => import("@/views/Devicestatus/indexLibrary.vue"),
+    children: [
+      {
+        path: "/AgingLibrary",
+        component: () =>
+          import("@/views/Devicestatus/Craftlibrary/AgingLibrary.vue"),
+      },
+      {
+        path: "/FormationLibrary",
+        component: () =>
+          import("@/views/Devicestatus/Craftlibrary/FormationLibrary.vue"),
+      },
+      {
+        path: "/highTemperature",
+        component: () =>
+          import("@/views/Devicestatus/Craftlibrary/hightemperature.vue"),
+      },
+      {
+        path: "/roomTemperature",
+        component: () =>
+          import("@/views/Devicestatus/Craftlibrary/roomtemperature.vue"),
+      },
+      {
+        path: "/StaticLibrary",
+        component: () =>
+          import("@/views/Devicestatus/Craftlibrary/Staticlibrary.vue"),
+      },
+      {
+        path: "/Volume",
+        component: () => import("@/views/Devicestatus/Craftlibrary/Volume.vue"),
+      },
+      {
+        path: "/Twoletters",
+        component: () =>
+          import("@/views/Devicestatus/Craftlibrary/Twoletters.vue"),
+      },
+    ],
+  },
+];
+export default redirect;
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
new file mode 100644
index 0000000..47c9bd9
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
@@ -0,0 +1,106 @@
+<template>
+  <div>
+    <div>
+      <div class="Stackerbox">
+        <div class="card">
+          <div class="card-header">
+            <div>
+              <div class="card-body Stacker">
+                {{ StackerOne.deviceName }}
+              </div>
+            </div>
+          </div>
+          <div class="card-body">
+            <ul class="list-group">
+              <li class="list-group-item list-group-item-secondary">
+                浠诲姟鍙凤細{{ StackerOne.data.currentTaskNum || '鏆傛棤浠诲姟鍙�' }}
+              </li>
+              <li :class="getStatusClass(StackerOne.data.stackerCraneAutoStatusDes)">
+                宸ヤ綔妯″紡锛歿{ StackerOne.data.stackerCraneAutoStatusDes }}
+              </li>
+              <li :class="getStatusClass(StackerOne.data.stackerCraneStatusDes)">
+                璁惧鐘舵�侊細{{ StackerOne.data.stackerCraneStatusDes }}
+              </li>
+              <li :class="getStatusClass(StackerOne.data.stackerCraneWorkStatusDes)">
+                宸ヤ綔鐘舵�侊細{{ StackerOne.data.stackerCraneWorkStatusDes }}
+              </li>
+            </ul>
+          </div>
+        </div>
+      </div>
+    </div>
+    <device-line v-for="device in devices" :key="device.deviceName" :device="device" />
+  </div>
+</template>
+
+<script setup>
+import { onMounted, reactive, toRefs } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLine from "@/components/DeviceLine.vue";
+
+// 鍫嗗灈鏈�
+const StackerOne = reactive({
+  deviceName: "",
+  data: {
+  }
+});
+
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([
+  { deviceName: "闄堝寲鍑哄簱杈撻�佺嚎", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
+  { deviceName: "闄堝寲鍏ュ簱杈撻�佺嚎", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
+  // { deviceName: "鍫嗗灈鏈�1", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
+  // Add all devices similarly...
+]);
+
+// 鑾峰彇鐘舵�佺被鍚嶏紙浼樺寲鐘舵�佸垽鏂級
+const getStatusClass = (status) => {
+  if (status === '姝e父' || status === '鑷姩' || status === '寰呮満') {
+    return 'list-group-item list-group-item-success';
+  }
+  if (status === '鏁呴殰' || status === '鍋滄満') {
+    return 'list-group-item list-group-item-danger';
+  }
+  return 'list-group-item list-group-item-warning'; // 榛樿璀﹀憡鐘舵��
+};
+
+// 鐩戝惉璁惧鏁版嵁鍙樺寲
+onMounted(() => {
+  eventBus.on('locationData', eventData => {
+    const device = devices.find(d => d.deviceName === eventData.deviceName);
+    if (device) {
+      // 浣跨敤鎵╁睍杩愮畻绗︽洿鏂板璞″睘鎬э紝淇濇寔鍝嶅簲鎬�
+      device.data = { ...device.data, ...eventData.data };
+    }
+  });
+});
+</script>
+<style scoped>
+.Stackerbox {
+  width: 220px;
+  float: left;
+}
+
+.Linebox {
+  width: 500px;
+  float: left;
+}
+
+.box1 {
+  float: left;
+}
+
+.card-body {
+  text-align: center;
+  border-radius: 6%;
+}
+
+.Stacker {
+  background-color: burlywood;
+}
+
+.lis {
+  float: left;
+  width: 233px;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
new file mode 100644
index 0000000..91440c6
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
@@ -0,0 +1,69 @@
+<template>
+  <el-row>
+    <el-col :span="24">
+      <device-line v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
+</template>
+
+<script setup>
+import { onMounted, reactive, toRefs } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLine from "@/components/DeviceLine.vue";
+
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+
+const intToBitArrayFromBinaryString = (num, numBits) => {
+  let binaryString = num.toString(2).padStart(numBits, '0');
+  return Array.from({ length: numBits }, (_, index) => binaryString[index] === '1');
+};
+
+// 鐩戝惉璁惧鏁版嵁鍙樺寲
+onMounted(() => {
+  eventBus.on('locationData', eventData => {
+    if (eventData.deviceName === "鍖栨垚鍏ュ簱杈撻�佺嚎") {
+      if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.childDeviceCode)
+        if (device) {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          device.data = eventData.data
+          console.log("馃殌 ~ onMounted ~ device:", device.data)
+        }
+        else {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+        }
+      }
+    }
+  });
+});
+</script>
+
+<style scoped>
+.Linebox{
+  width: 573px;
+  float: left;
+}
+.box1{
+  float: left;
+}
+.card-body{
+  text-align: center;
+  border-radius: 6% ;
+}
+.Stacker{
+  background-color: burlywood;
+}
+.lis{
+  float: left;
+  width: 269px;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
new file mode 100644
index 0000000..f6b7a83
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
@@ -0,0 +1,99 @@
+<template>
+  <el-row>
+    <el-col :span="3">
+      <device-stacker v-for="stacker in Stackers" :key="stacker.deviceName" :Stacker="stacker"></device-stacker>
+    </el-col>
+    <el-col :span="21">
+      <device-line v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
+</template>
+
+<script setup>
+import { onMounted, reactive, toRefs } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLine from "@/components/DeviceLine.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+
+const intToBitArrayFromBinaryString = (num, numBits) => {
+  let binaryString = num.toString(2).padStart(numBits, '0');
+  return Array.from({ length: numBits }, (_, index) => binaryString[index] === '1');
+};
+
+// 鐩戝惉璁惧鏁版嵁鍙樺寲
+onMounted(() => {
+  eventBus.on('locationData', eventData => {
+    if (eventData.deviceName === "闈欑疆杈撻�佺嚎") {
+
+      if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.childDeviceCode)
+        if (device) {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          device.data = eventData.data
+        }
+        else {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+        }
+      }
+    }
+  });
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "闈欑疆1鍙峰爢鍨涙満") {
+      if (Stackers.length == 0) {
+        Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+      }
+      else {
+        const Stacker = Stackers.find(c => c.deviceName == eventData.deviceName);
+        if (Stacker) {
+          Stacker.data = eventData.data
+        }
+        else {
+          Stackers.push({ deviceName: eventData.deviceName, data: eventData.data });
+        }
+      }
+    }
+    // if (eventData.deviceName == "闄堝寲1鍙峰爢鍨涙満") {
+    //   StackerOne.deviceName = eventData.deviceName;
+    //   StackerOne.data = eventData.data
+    // }
+  })
+});
+</script>
+<style scoped>
+.Stackerbox {
+  width: 220px;
+  float: left;
+}
+
+.Linebox {
+  width: 500px;
+  float: left;
+}
+
+.box1 {
+  float: left;
+}
+
+.card-body {
+  text-align: center;
+  border-radius: 6%;
+}
+
+.Stacker {
+  background-color: burlywood;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
new file mode 100644
index 0000000..c24eac2
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
@@ -0,0 +1,69 @@
+<template>
+  <el-row>
+    <el-col :span="24">
+      <device-line v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
+</template>
+
+<script setup>
+import { onMounted, reactive, toRefs } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLine from "@/components/DeviceLine.vue";
+
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+
+const intToBitArrayFromBinaryString = (num, numBits) => {
+  let binaryString = num.toString(2).padStart(numBits, '0');
+  return Array.from({ length: numBits }, (_, index) => binaryString[index] === '1');
+};
+
+// 鐩戝惉璁惧鏁版嵁鍙樺寲
+onMounted(() => {
+  eventBus.on('locationData', eventData => {
+    if (eventData.deviceName === "浜屽皝杈撻�佺嚎") {
+
+      if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.childDeviceCode)
+        if (device) {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          device.data = eventData.data
+        }
+        else {
+          const number = eventData.data.commandWrite.writeInteractiveSignal;
+          const writeInteractiveSignal = intToBitArrayFromBinaryString(number, 8)
+          eventData.data.writeInteractiveSignal = writeInteractiveSignal;
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.childDeviceCode });
+        }
+      }
+    }
+  });
+});
+</script>
+
+<style scoped>
+.Linebox{
+  width: 573px;
+  float: left;
+}
+.box1{
+  float: left;
+}
+.card-body{
+  text-align: center;
+  border-radius: 6% ;
+}
+.Stacker{
+  background-color: burlywood;
+}
+.lis{
+  float: left;
+  width: 269px;
+}
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
new file mode 100644
index 0000000..2effa57
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
@@ -0,0 +1,9 @@
+<template>
+    <div>
+        鍒嗗搴�
+    </div>
+</template>
+<script setup>
+
+
+</script>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
new file mode 100644
index 0000000..1f6369c
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
@@ -0,0 +1,9 @@
+<template>
+    <div>
+        楂樻俯搴�
+    </div>
+</template>
+<script setup>
+
+
+</script>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
new file mode 100644
index 0000000..520ee72
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
@@ -0,0 +1,9 @@
+<template>
+    <div>
+        甯告俯搴�
+    </div>
+</template>
+<script setup>
+
+
+</script>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
new file mode 100644
index 0000000..725783b
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
@@ -0,0 +1,47 @@
+<template>
+   
+    <!--瀵艰埅鍖� -->
+    <div  class="nav-bar">
+       <RouterLink class="navlink" to="/AgingLibrary" >闄堝寲搴�</RouterLink>
+       <RouterLink class="navlink" to="/FormationLibrary" >鍖栨垚搴�</RouterLink>
+       <RouterLink class="navlink" to="/StaticLibrary" >闈欑疆搴�</RouterLink>
+       <RouterLink class="navlink" to="/Twoletters" >浜屽皝搴�</RouterLink>
+       <RouterLink class="navlink" to="/Volume" >鍒嗗搴�</RouterLink>
+       <RouterLink class="navlink" to="/highTemperature" >楂樻俯搴�</RouterLink>
+       <RouterLink class="navlink" to="/roomTemperature" >甯告俯搴�</RouterLink>
+    </div>
+     <!--娉ㄦ剰浜嬮」-->
+    <div class="area">
+           <RouterView></RouterView>
+    </div>
+</template>
+<script setup>
+ import { RouterView,RouterLink } from 'vue-router';
+
+</script>
+<style>
+.nav-bar {
+  display: flex;
+  justify-content: space-around; 
+  align-items: center; 
+  height: 50px;
+  background-color: #f5f5f5;
+  border-bottom: 1px solid #ccc; 
+}
+.navlink {
+    width: 100px;
+    height: 100%;
+      text-decoration:none;
+      text-align: center;
+      display: flex;
+         justify-content: center;
+         align-items: center;
+        
+      color: rgb(0, 195, 255);
+       }
+.navlink:hover{
+   background-color: rgb(0, 195, 255);
+   color: #ffffff;
+}
+
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue
index e327eb1..2d83b3c 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Home.vue
@@ -1,106 +1,5 @@
 <template>
-  <div class="home-contianer">
-    <div>
-      <el-tabs type="border-card" @tab-click="handleClick" style="width: 100%; height: 100%;">
-        <el-tab-pane label="闄堝寲搴�" style="width: 100%;height: 100%;">
-          <div class="StackerOne">
-            <div class="content">{{ this.StackerOne.deviceName }}:</div>
-            <!-- <div :class="this.ConveyorlineOut.data.command.interactiveSignal==1 ? 'bool_false' : 'bool_true'"></div> -->
-            <div class="content">浠诲姟鍙凤細{{ this.StackerOne.data.currentTaskNum }}</div>
-            <div class="content display">
-              <div>宸ヤ綔妯″紡锛歿{ this.StackerOne.data.stackerCraneAutoStatusDes }}</div>
-              <div :class="this.StackerOne.data.stackerCraneAutoStatusDes != '鑷姩' ? 'bool_false' : 'bool_true'"></div>
-            </div>
-            <div class="content display">
-              <div>璁惧鐘舵�侊細{{ this.StackerOne.data.stackerCraneStatusDes }}</div>
-              <div :class="this.StackerOne.data.stackerCraneStatusDes != '姝e父' ? 'bool_false' : 'bool_true'"></div>
-            </div>
-            <div class="content display">
-              <div>浣滀笟鐘舵�侊細{{ this.StackerOne.data.stackerCraneWorkStatusDes }}</div>
-              <div :class="this.StackerOne.data.stackerCraneWorkStatusDes != '寰呮満' ? 'bool_false' : 'bool_true'"></div>
-            </div>
-          </div>
-          <div class="ConveyorlineOut">
-            <div class="content">{{ this.ConveyorlineOut.deviceName }}-----{{
-              this.ConveyorlineOut.data.childDeviceCode}}:</div>
-            <div class="display">
-              <div>
-                <div class="Signal">璇诲彇淇″彿锛�</div>
-                <div class="content ">浠诲姟鍙凤細{{ this.ConveyorlineOut.data.command.taskNum }}</div>
-                <div class="content ">鎵樼洏鍙凤細{{ this.ConveyorlineOut.data.command.barcode }}</div>
-                <div class="content ">缁堢偣鍦板潃锛歿{ this.ConveyorlineOut.data.command.targetAddress}}</div>
-                <div class="content display">
-                  <div>鎵爜绔欏彴鍏ュ簱璇锋眰锛�</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[0] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-                <div class="content display">
-                  <div>鍫嗗灈鏈哄嚭搴撶珯鍙拌姹傦細</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[2] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-                <div class="content display">
-                  <div>鍫嗗灈鏈哄叆搴撶珯鍙拌姹�</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[4] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-                <div class="content display">
-                  <div>绾夸綋鍑哄簱鍙h姹傦細</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[6] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-              </div>
-              <div style="margin-left: 40px;">
-                <div class="Signal">鍐欏叆淇″彿锛�</div>
-                <div class="content ">浠诲姟鍙凤細{{ this.ConveyorlineOut.data.commandWrite.taskNum }}</div>
-                <div class="content ">鎵樼洏鍙凤細{{ this.ConveyorlineOut.data.commandWrite.barcode }}</div>
-                <div class="content ">缁堢偣鍦板潃锛歿{ this.ConveyorlineOut.data.commandWrite.targetAddress}}</div>
-                <div class="content display">
-                  <div>鎵爜绔欏彴鍏ュ簱璇锋眰锛�</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[1] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-                <div class="content display">
-                  <div>鍫嗗灈鏈哄嚭搴撶珯鍙拌姹傦細</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[3] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-                <div class="content display">
-                  <div>鍫嗗灈鏈哄叆搴撶珯鍙拌姹�</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[5] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-                <div class="content display">
-                  <div>绾夸綋鍑哄簱鍙h姹傦細</div>
-                  <div
-                    :class="this.ConveyorlineOut.data.writeInteractiveSignal[7] != true ? 'bool_false' : 'bool_true'">
-                  </div>
-                </div>
-              </div>
-            </div>
-          </div>
-        </el-tab-pane>
-        <el-tab-pane label="闈欑疆搴�" id="print-content">
-
-        </el-tab-pane>
-        <el-tab-pane label="鍒嗗搴�" id="print-content">
-
-        </el-tab-pane><el-tab-pane label="楂樻俯搴�" id="print-content">
-
-        </el-tab-pane>
-        <el-tab-pane label="甯告俯搴�" id="print-content">
-
-        </el-tab-pane>
-      </el-tabs>
-    </div>
-  </div>
+  <div class="title"></div>
 </template>
 
 <script>
@@ -109,62 +8,13 @@
 export default {
   setup() {
     return {
-      StackerOne: {
-        deviceName: "",
-        data: {},
-      },
-      ConveyorlineOut: {
-        deviceName: "",
-        data: {
-          command: {},
-          commandWrite: {},
-          writeInteractiveSignal:[],
-        },
-      },
-      ConveyorlineIn: {
-        deviceName: "",
-        data: {
-          command: {},
-          commandWrite: {},
-          writeInteractiveSignal:[],
-        },
-      }
     }
 
-  },
-  methods: {
-     intToBitArrayFromBinaryString (num, numBits){
-        // 灏嗘暣鏁拌浆鎹负浜岃繘鍒跺瓧绗︿覆锛屽苟浣跨敤padStart鏂规硶琛ヨ冻鍒版寚瀹氱殑浣嶆暟锛堝墠闈㈣ˉ0锛�
-        let binaryString = num.toString(2).padStart(numBits, '0');
-        let bitArray = [];
-        for (let i = 0; i < numBits; i++) {
-            // 鐩存帴鏍规嵁瀛楃涓蹭腑瀛楃鏄惁涓�'1'鏉ョ‘瀹氭瘡涓�浣嶇殑鍊硷紙杞崲涓哄竷灏斿�硷級
-            bitArray.push(binaryString[i] === '1');
-        }
-        return bitArray;
-    }
-  },
-  mounted() {
     eventBus.on('stackerData', eventData => {
-      if (eventData.deviceName == "闄堝寲1鍙峰爢鍨涙満") {
-        this.StackerOne.deviceName = eventData.deviceName;
-        this.StackerOne.data = eventData.data
-      }
-      // console.log(eventData);
+        console.log(eventData);
     })
     eventBus.on('locationData', eventData => {
-      console.log(eventData);
-      if (eventData.deviceName == "闄堝寲鍑哄簱杈撻�佺嚎") {
-        this.ConveyorlineOut.deviceName = eventData.deviceName;
-        this.ConveyorlineOut.data = eventData.data
-      }
-      if (eventData.data.childDeviceCode == '1018') {
-        this.ConveyorlineIn.deviceName = eventData.deviceName;
-        this.ConveyorlineIn.data = eventData.data
-        let number = eventData.data.commandWrite.writeInteractiveSignal
-        this.ConveyorlineIn.data.writeInteractiveSignal = this.intToBitArrayFromBinaryString(number, 8);
-        console.log(this.ConveyorlineIn.data.writeInteractiveSignal);
-      }
+        console.log(eventData);
     })
   }
 }
@@ -176,55 +26,5 @@
   text-align: center;
   font-size: 28px;
   color: orange;
-}
-
-.bool_true {
-  width: 30px;
-  height: 20px;
-  margin-top: 10px;
-  margin-left: 10px;
-  background-color: rgb(99, 155, 16);
-}
-
-.bool_info {
-  width: 30px;
-  height: 10px;
-  background-color: #ccc;
-}
-
-.StackerOne {
-  width: 100%;
-  margin-bottom: 10px;
-  padding-left: 30px;
-  font-size: 25px;
-  border: 1px solid #ccc;
-}
-
-.ConveyorlineOut {
-  width: 100%;
-  margin-bottom: 10px;
-  padding-left: 30px;
-  font-size: 25px;
-  border: 1px solid #ccc;
-}
-
-.bool_false {
-  display: block;
-  width: 30px;
-  height: 20px;
-  margin-top: 10px;
-  margin-left: 10px;
-  background-color: rgb(204, 71, 71);
-}
-
-.content {
-  margin-bottom: 20px;
-}
-.Signal{
-  margin-bottom: 20px;
-  color:blueviolet;
-}
-.display {
-  display: flex;
 }
 </style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/charts/bigdata.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/charts/bigdata.vue
index e75b6f9..2759b12 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/charts/bigdata.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/charts/bigdata.vue
@@ -19,7 +19,7 @@
         </div>
         <div class="data-left-item">
           <div class="title">7鏃ヨ鍗曢攢閲�</div>
-          <div id="chart-vleft-2" style="height: calc(100% - 30px)"></div>
+          <div id="chart-vleft-2" style="height: calc(100% - 30px)"></div>  
           <div class="data-foot-line"></div>
         </div>
       </div>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db
new file mode 100644
index 0000000..c6d1c18
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db
new file mode 100644
index 0000000..2a83572
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm
new file mode 100644
index 0000000..547c4bd
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal
new file mode 100644
index 0000000..9760878
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoRepository/obj/WIDESEAWCS_BasicInfoRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_BasicInfoService/obj/WIDESEAWCS_BasicInfoService.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/WIDESEAWCS_Core.csproj b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/WIDESEAWCS_Core.csproj
index 46e58a2..07c29eb 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/WIDESEAWCS_Core.csproj
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/WIDESEAWCS_Core.csproj
@@ -17,7 +17,7 @@
 		<PackageReference Include="Furion.Extras.ObjectMapper.Mapster" Version="4.9.5" />
 		<PackageReference Include="Magicodes.IE.EPPlus" Version="2.7.5.1" />
 		<PackageReference Include="Magicodes.IE.Excel" Version="2.7.5.1" />
-		<PackageReference Include="Masuit.Tools.Core" Version="2024.6.0" />
+		<PackageReference Include="Masuit.Tools.Core" Version="2024.5.0" />
 		<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.29" />
 		<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="6.0.2" />
 		<PackageReference Include="MiniProfiler.AspNetCore.Mvc" Version="4.3.8" />
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/bin/Debug/net6.0/WIDESEAWCS_Core.deps.json b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/bin/Debug/net6.0/WIDESEAWCS_Core.deps.json
index 9dbbb58..a3465fc 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/bin/Debug/net6.0/WIDESEAWCS_Core.deps.json
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/bin/Debug/net6.0/WIDESEAWCS_Core.deps.json
@@ -15,7 +15,7 @@
           "Furion.Extras.ObjectMapper.Mapster": "4.9.5",
           "Magicodes.IE.EPPlus": "2.7.5.1",
           "Magicodes.IE.Excel": "2.7.5.1",
-          "Masuit.Tools.Core": "2024.6.0",
+          "Masuit.Tools.Core": "2024.5.0",
           "Microsoft.AspNetCore.Authentication.JwtBearer": "6.0.29",
           "Microsoft.Extensions.DependencyInjection": "6.0.2",
           "MiniProfiler.AspNetCore.Mvc": "4.3.8",
@@ -95,7 +95,7 @@
       },
       "AutoMapper/13.0.1": {
         "dependencies": {
-          "Microsoft.Extensions.Options": "6.0.1"
+          "Microsoft.Extensions.Options": "6.0.0"
         },
         "runtime": {
           "lib/net6.0/AutoMapper.dll": {
@@ -246,20 +246,21 @@
           }
         }
       },
-      "Masuit.Tools.Abstractions/2024.6.0": {
+      "Masuit.Tools.Abstractions/2024.5.0": {
         "dependencies": {
           "AngleSharp": "1.1.2",
           "AngleSharp.Css": "1.0.0-beta.139",
           "Castle.Core": "5.1.1",
           "DnsClient": "1.8.0",
           "Microsoft.CSharp": "4.7.0",
-          "Microsoft.Extensions.Configuration.Json": "9.0.0",
+          "Microsoft.Extensions.Configuration.Json": "8.0.0",
           "Newtonsoft.Json": "13.0.3",
-          "SharpCompress": "0.38.0",
+          "SharpCompress": "0.37.2",
           "SixLabors.ImageSharp.Drawing": "2.1.4",
           "System.Collections.Immutable": "8.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
           "System.Diagnostics.PerformanceCounter": "7.0.0",
-          "System.Management": "9.0.0",
+          "System.Management": "8.0.0",
           "System.Reflection.Emit.Lightweight": "4.7.0"
         },
         "runtime": {
@@ -269,10 +270,10 @@
           }
         }
       },
-      "Masuit.Tools.Core/2024.6.0": {
+      "Masuit.Tools.Core/2024.5.0": {
         "dependencies": {
-          "Masuit.Tools.Abstractions": "2024.6.0",
-          "Microsoft.EntityFrameworkCore": "6.0.36"
+          "Masuit.Tools.Abstractions": "2024.5.0",
+          "Microsoft.EntityFrameworkCore": "6.0.31"
         },
         "runtime": {
           "lib/net6.0/Masuit.Tools.Core.dll": {
@@ -325,11 +326,11 @@
           }
         }
       },
-      "Microsoft.Bcl.AsyncInterfaces/9.0.0": {
+      "Microsoft.Bcl.AsyncInterfaces/8.0.0": {
         "runtime": {
           "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -458,7 +459,7 @@
       "Microsoft.CodeAnalysis.CSharp.Workspaces/4.11.0": {
         "dependencies": {
           "Humanizer.Core": "2.14.1",
-          "Microsoft.Bcl.AsyncInterfaces": "9.0.0",
+          "Microsoft.Bcl.AsyncInterfaces": "8.0.0",
           "Microsoft.CodeAnalysis.Analyzers": "3.3.4",
           "Microsoft.CodeAnalysis.CSharp": "4.11.0",
           "Microsoft.CodeAnalysis.Common": "4.11.0",
@@ -466,7 +467,7 @@
           "System.Buffers": "4.5.1",
           "System.Collections.Immutable": "8.0.0",
           "System.Composition": "8.0.0",
-          "System.IO.Pipelines": "9.0.0",
+          "System.IO.Pipelines": "8.0.0",
           "System.Memory": "4.5.5",
           "System.Numerics.Vectors": "4.5.0",
           "System.Reflection.Metadata": "8.0.0",
@@ -526,13 +527,13 @@
       "Microsoft.CodeAnalysis.Workspaces.Common/4.11.0": {
         "dependencies": {
           "Humanizer.Core": "2.14.1",
-          "Microsoft.Bcl.AsyncInterfaces": "9.0.0",
+          "Microsoft.Bcl.AsyncInterfaces": "8.0.0",
           "Microsoft.CodeAnalysis.Analyzers": "3.3.4",
           "Microsoft.CodeAnalysis.Common": "4.11.0",
           "System.Buffers": "4.5.1",
           "System.Collections.Immutable": "8.0.0",
           "System.Composition": "8.0.0",
-          "System.IO.Pipelines": "9.0.0",
+          "System.IO.Pipelines": "8.0.0",
           "System.Memory": "4.5.5",
           "System.Numerics.Vectors": "4.5.0",
           "System.Reflection.Metadata": "8.0.0",
@@ -597,7 +598,7 @@
           "Microsoft.IdentityModel.JsonWebTokens": "6.35.0",
           "Microsoft.IdentityModel.Protocols.OpenIdConnect": "6.35.0",
           "Microsoft.Win32.Registry": "4.7.0",
-          "System.Configuration.ConfigurationManager": "7.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
           "System.Diagnostics.DiagnosticSource": "7.0.2",
           "System.Runtime.Caching": "4.7.0",
           "System.Security.Principal.Windows": "4.7.0",
@@ -665,109 +666,103 @@
           }
         }
       },
-      "Microsoft.EntityFrameworkCore/6.0.36": {
+      "Microsoft.EntityFrameworkCore/6.0.31": {
         "dependencies": {
-          "Microsoft.EntityFrameworkCore.Abstractions": "6.0.36",
-          "Microsoft.EntityFrameworkCore.Analyzers": "6.0.36",
-          "Microsoft.Extensions.Caching.Memory": "6.0.3",
+          "Microsoft.EntityFrameworkCore.Abstractions": "6.0.31",
+          "Microsoft.EntityFrameworkCore.Analyzers": "6.0.31",
+          "Microsoft.Extensions.Caching.Memory": "6.0.1",
           "Microsoft.Extensions.DependencyInjection": "6.0.2",
-          "Microsoft.Extensions.Logging": "6.0.1",
+          "Microsoft.Extensions.Logging": "6.0.0",
           "System.Collections.Immutable": "8.0.0",
           "System.Diagnostics.DiagnosticSource": "7.0.2"
         },
         "runtime": {
           "lib/net6.0/Microsoft.EntityFrameworkCore.dll": {
-            "assemblyVersion": "6.0.36.0",
-            "fileVersion": "6.0.3624.51504"
+            "assemblyVersion": "6.0.31.0",
+            "fileVersion": "6.0.3124.26901"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Abstractions/6.0.36": {
+      "Microsoft.EntityFrameworkCore.Abstractions/6.0.31": {
         "runtime": {
           "lib/net6.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
-            "assemblyVersion": "6.0.36.0",
-            "fileVersion": "6.0.3624.51504"
+            "assemblyVersion": "6.0.31.0",
+            "fileVersion": "6.0.3124.26901"
           }
         }
       },
-      "Microsoft.EntityFrameworkCore.Analyzers/6.0.36": {},
+      "Microsoft.EntityFrameworkCore.Analyzers/6.0.31": {},
       "Microsoft.Extensions.ApiDescription.Server/6.0.5": {},
-      "Microsoft.Extensions.Caching.Abstractions/6.0.1": {
+      "Microsoft.Extensions.Caching.Abstractions/6.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Primitives": "9.0.0"
-        },
-        "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.Caching.Abstractions.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.3624.51421"
-          }
+          "Microsoft.Extensions.Primitives": "8.0.0"
         }
       },
-      "Microsoft.Extensions.Caching.Memory/6.0.3": {
+      "Microsoft.Extensions.Caching.Memory/6.0.1": {
         "dependencies": {
-          "Microsoft.Extensions.Caching.Abstractions": "6.0.1",
+          "Microsoft.Extensions.Caching.Abstractions": "6.0.0",
           "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "6.0.4",
-          "Microsoft.Extensions.Options": "6.0.1",
-          "Microsoft.Extensions.Primitives": "9.0.0"
+          "Microsoft.Extensions.Logging.Abstractions": "6.0.0",
+          "Microsoft.Extensions.Options": "6.0.0",
+          "Microsoft.Extensions.Primitives": "8.0.0"
         },
         "runtime": {
           "lib/netstandard2.0/Microsoft.Extensions.Caching.Memory.dll": {
             "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.3624.51421"
+            "fileVersion": "6.0.222.6406"
           }
         }
       },
-      "Microsoft.Extensions.Configuration/9.0.0": {
+      "Microsoft.Extensions.Configuration/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Configuration.Abstractions": "9.0.0",
-          "Microsoft.Extensions.Primitives": "9.0.0"
+          "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Primitives": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.Configuration.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.Configuration.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "Microsoft.Extensions.Configuration.Abstractions/9.0.0": {
+      "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Primitives": "9.0.0"
+          "Microsoft.Extensions.Primitives": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "Microsoft.Extensions.Configuration.FileExtensions/9.0.0": {
+      "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Configuration": "9.0.0",
-          "Microsoft.Extensions.Configuration.Abstractions": "9.0.0",
-          "Microsoft.Extensions.FileProviders.Abstractions": "9.0.0",
-          "Microsoft.Extensions.FileProviders.Physical": "9.0.0",
-          "Microsoft.Extensions.Primitives": "9.0.0"
+          "Microsoft.Extensions.Configuration": "8.0.0",
+          "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+          "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+          "Microsoft.Extensions.FileProviders.Physical": "8.0.0",
+          "Microsoft.Extensions.Primitives": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.Configuration.FileExtensions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "Microsoft.Extensions.Configuration.Json/9.0.0": {
+      "Microsoft.Extensions.Configuration.Json/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Configuration": "9.0.0",
-          "Microsoft.Extensions.Configuration.Abstractions": "9.0.0",
-          "Microsoft.Extensions.Configuration.FileExtensions": "9.0.0",
-          "Microsoft.Extensions.FileProviders.Abstractions": "9.0.0",
-          "System.Text.Json": "9.0.0"
+          "Microsoft.Extensions.Configuration": "8.0.0",
+          "Microsoft.Extensions.Configuration.Abstractions": "8.0.0",
+          "Microsoft.Extensions.Configuration.FileExtensions": "8.0.0",
+          "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+          "System.Text.Json": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.1/Microsoft.Extensions.Configuration.Json.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.Configuration.Json.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -795,8 +790,8 @@
           "System.Buffers": "4.5.1",
           "System.Memory": "4.5.5",
           "System.Runtime.CompilerServices.Unsafe": "6.0.0",
-          "System.Text.Encodings.Web": "9.0.0",
-          "System.Text.Json": "9.0.0"
+          "System.Text.Encodings.Web": "8.0.0",
+          "System.Text.Json": "8.0.0"
         },
         "runtime": {
           "lib/netstandard2.0/Microsoft.Extensions.DependencyModel.dll": {
@@ -805,82 +800,62 @@
           }
         }
       },
-      "Microsoft.Extensions.FileProviders.Abstractions/9.0.0": {
+      "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.Primitives": "9.0.0"
+          "Microsoft.Extensions.Primitives": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.FileProviders.Abstractions.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "Microsoft.Extensions.FileProviders.Physical/9.0.0": {
+      "Microsoft.Extensions.FileProviders.Physical/8.0.0": {
         "dependencies": {
-          "Microsoft.Extensions.FileProviders.Abstractions": "9.0.0",
-          "Microsoft.Extensions.FileSystemGlobbing": "9.0.0",
-          "Microsoft.Extensions.Primitives": "9.0.0"
+          "Microsoft.Extensions.FileProviders.Abstractions": "8.0.0",
+          "Microsoft.Extensions.FileSystemGlobbing": "8.0.0",
+          "Microsoft.Extensions.Primitives": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.FileProviders.Physical.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.FileProviders.Physical.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "Microsoft.Extensions.FileSystemGlobbing/9.0.0": {
+      "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.FileSystemGlobbing.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "Microsoft.Extensions.Logging/6.0.1": {
+      "Microsoft.Extensions.Logging/6.0.0": {
         "dependencies": {
           "Microsoft.Extensions.DependencyInjection": "6.0.2",
           "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Logging.Abstractions": "6.0.4",
-          "Microsoft.Extensions.Options": "6.0.1",
+          "Microsoft.Extensions.Logging.Abstractions": "6.0.0",
+          "Microsoft.Extensions.Options": "6.0.0",
           "System.Diagnostics.DiagnosticSource": "7.0.2"
-        },
-        "runtime": {
-          "lib/netstandard2.1/Microsoft.Extensions.Logging.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.3624.51421"
-          }
         }
       },
-      "Microsoft.Extensions.Logging.Abstractions/6.0.4": {
-        "runtime": {
-          "lib/net6.0/Microsoft.Extensions.Logging.Abstractions.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.1823.26907"
-          }
-        }
-      },
-      "Microsoft.Extensions.Options/6.0.1": {
+      "Microsoft.Extensions.Logging.Abstractions/6.0.0": {},
+      "Microsoft.Extensions.Options/6.0.0": {
         "dependencies": {
           "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.0",
-          "Microsoft.Extensions.Primitives": "9.0.0"
-        },
-        "runtime": {
-          "lib/netstandard2.1/Microsoft.Extensions.Options.dll": {
-            "assemblyVersion": "6.0.0.0",
-            "fileVersion": "6.0.3624.51421"
-          }
+          "Microsoft.Extensions.Primitives": "8.0.0"
         }
       },
-      "Microsoft.Extensions.Primitives/9.0.0": {
+      "Microsoft.Extensions.Primitives/8.0.0": {
         "dependencies": {
-          "System.Memory": "4.5.5",
           "System.Runtime.CompilerServices.Unsafe": "6.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/Microsoft.Extensions.Primitives.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/Microsoft.Extensions.Primitives.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -904,8 +879,8 @@
         "dependencies": {
           "Microsoft.IdentityModel.Tokens": "6.35.0",
           "System.Text.Encoding": "4.3.0",
-          "System.Text.Encodings.Web": "9.0.0",
-          "System.Text.Json": "9.0.0"
+          "System.Text.Encodings.Web": "8.0.0",
+          "System.Text.Json": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/Microsoft.IdentityModel.JsonWebTokens.dll": {
@@ -993,19 +968,19 @@
           "System.Security.Principal.Windows": "4.7.0"
         }
       },
-      "Microsoft.Win32.SystemEvents/7.0.0": {
+      "Microsoft.Win32.SystemEvents/6.0.0": {
         "runtime": {
           "lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         },
         "runtimeTargets": {
           "runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
             "rid": "win",
             "assetType": "runtime",
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         }
       },
@@ -1072,7 +1047,7 @@
           "Microsoft.AspNetCore.Razor.Language": "6.0.33",
           "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.11.0",
           "Microsoft.Extensions.DependencyModel": "6.0.0",
-          "System.Text.Json": "9.0.0",
+          "System.Text.Json": "8.0.0",
           "System.Text.RegularExpressions": "4.3.1"
         },
         "runtime": {
@@ -1266,14 +1241,14 @@
           }
         }
       },
-      "SharpCompress/0.38.0": {
+      "SharpCompress/0.37.2": {
         "dependencies": {
-          "ZstdSharp.Port": "0.8.1"
+          "ZstdSharp.Port": "0.8.0"
         },
         "runtime": {
           "lib/net6.0/SharpCompress.dll": {
-            "assemblyVersion": "0.38.0.0",
-            "fileVersion": "0.38.0.0"
+            "assemblyVersion": "0.37.2.0",
+            "fileVersion": "0.37.2.0"
           }
         }
       },
@@ -1629,11 +1604,11 @@
         }
       },
       "System.Buffers/4.5.1": {},
-      "System.CodeDom/9.0.0": {
+      "System.CodeDom/8.0.0": {
         "runtime": {
-          "lib/netstandard2.0/System.CodeDom.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/System.CodeDom.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -1742,15 +1717,14 @@
           }
         }
       },
-      "System.Configuration.ConfigurationManager/7.0.0": {
+      "System.Configuration.ConfigurationManager/8.0.0": {
         "dependencies": {
-          "System.Security.Cryptography.ProtectedData": "7.0.0",
-          "System.Security.Permissions": "7.0.0"
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Configuration.ConfigurationManager.dll": {
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -1796,7 +1770,7 @@
       "System.Diagnostics.EventLog/6.0.0": {},
       "System.Diagnostics.PerformanceCounter/7.0.0": {
         "dependencies": {
-          "System.Configuration.ConfigurationManager": "7.0.0"
+          "System.Configuration.ConfigurationManager": "8.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Diagnostics.PerformanceCounter.dll": {
@@ -1838,7 +1812,7 @@
       "System.DirectoryServices/6.0.1": {
         "dependencies": {
           "System.Security.AccessControl": "6.0.0",
-          "System.Security.Permissions": "7.0.0"
+          "System.Security.Permissions": "6.0.0"
         },
         "runtime": {
           "lib/net6.0/System.DirectoryServices.dll": {
@@ -1883,22 +1857,28 @@
           }
         }
       },
-      "System.Drawing.Common/7.0.0": {
+      "System.Drawing.Common/6.0.0": {
         "dependencies": {
-          "Microsoft.Win32.SystemEvents": "7.0.0"
+          "Microsoft.Win32.SystemEvents": "6.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Drawing.Common.dll": {
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         },
         "runtimeTargets": {
+          "runtimes/unix/lib/net6.0/System.Drawing.Common.dll": {
+            "rid": "unix",
+            "assetType": "runtime",
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
+          },
           "runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
             "rid": "win",
             "assetType": "runtime",
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         }
       },
@@ -2037,16 +2017,11 @@
           }
         }
       },
-      "System.IO.Pipelines/9.0.0": {
-        "dependencies": {
-          "System.Buffers": "4.5.1",
-          "System.Memory": "4.5.5",
-          "System.Threading.Tasks.Extensions": "4.5.4"
-        },
+      "System.IO.Pipelines/8.0.0": {
         "runtime": {
-          "lib/netstandard2.0/System.IO.Pipelines.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/System.IO.Pipelines.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -2088,14 +2063,22 @@
           "System.Threading": "4.3.0"
         }
       },
-      "System.Management/9.0.0": {
+      "System.Management/8.0.0": {
         "dependencies": {
-          "System.CodeDom": "9.0.0"
+          "System.CodeDom": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.Management.dll": {
-            "assemblyVersion": "4.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/System.Management.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/win/lib/net6.0/System.Management.dll": {
+            "rid": "win",
+            "assetType": "runtime",
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -2233,7 +2216,7 @@
       },
       "System.Runtime.Caching/4.7.0": {
         "dependencies": {
-          "System.Configuration.ConfigurationManager": "7.0.0"
+          "System.Configuration.ConfigurationManager": "8.0.0"
         },
         "runtime": {
           "lib/netstandard2.0/System.Runtime.Caching.dll": {
@@ -2400,19 +2383,11 @@
           "System.Threading.Tasks": "4.3.0"
         }
       },
-      "System.Security.Cryptography.ProtectedData/7.0.0": {
+      "System.Security.Cryptography.ProtectedData/8.0.0": {
         "runtime": {
           "lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
-          }
-        },
-        "runtimeTargets": {
-          "runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
-            "rid": "win",
-            "assetType": "runtime",
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -2445,14 +2420,15 @@
           "runtime.native.System.Security.Cryptography.OpenSsl": "4.3.2"
         }
       },
-      "System.Security.Permissions/7.0.0": {
+      "System.Security.Permissions/6.0.0": {
         "dependencies": {
-          "System.Windows.Extensions": "7.0.0"
+          "System.Security.AccessControl": "6.0.0",
+          "System.Windows.Extensions": "6.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Security.Permissions.dll": {
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         }
       },
@@ -2491,33 +2467,34 @@
           "System.Text.Encoding": "4.3.0"
         }
       },
-      "System.Text.Encodings.Web/9.0.0": {
+      "System.Text.Encodings.Web/8.0.0": {
         "dependencies": {
-          "System.Buffers": "4.5.1",
-          "System.Memory": "4.5.5",
           "System.Runtime.CompilerServices.Unsafe": "6.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.Text.Encodings.Web.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/System.Text.Encodings.Web.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
+          }
+        },
+        "runtimeTargets": {
+          "runtimes/browser/lib/net6.0/System.Text.Encodings.Web.dll": {
+            "rid": "browser",
+            "assetType": "runtime",
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
-      "System.Text.Json/9.0.0": {
+      "System.Text.Json/8.0.0": {
         "dependencies": {
-          "Microsoft.Bcl.AsyncInterfaces": "9.0.0",
-          "System.Buffers": "4.5.1",
-          "System.IO.Pipelines": "9.0.0",
-          "System.Memory": "4.5.5",
           "System.Runtime.CompilerServices.Unsafe": "6.0.0",
-          "System.Text.Encodings.Web": "9.0.0",
-          "System.Threading.Tasks.Extensions": "4.5.4"
+          "System.Text.Encodings.Web": "8.0.0"
         },
         "runtime": {
-          "lib/netstandard2.0/System.Text.Json.dll": {
-            "assemblyVersion": "9.0.0.0",
-            "fileVersion": "9.0.24.52809"
+          "lib/net6.0/System.Text.Json.dll": {
+            "assemblyVersion": "8.0.0.0",
+            "fileVersion": "8.0.23.53103"
           }
         }
       },
@@ -2567,22 +2544,22 @@
           "System.Runtime": "4.3.1"
         }
       },
-      "System.Windows.Extensions/7.0.0": {
+      "System.Windows.Extensions/6.0.0": {
         "dependencies": {
-          "System.Drawing.Common": "7.0.0"
+          "System.Drawing.Common": "6.0.0"
         },
         "runtime": {
           "lib/net6.0/System.Windows.Extensions.dll": {
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         },
         "runtimeTargets": {
           "runtimes/win/lib/net6.0/System.Windows.Extensions.dll": {
             "rid": "win",
             "assetType": "runtime",
-            "assemblyVersion": "7.0.0.0",
-            "fileVersion": "7.0.22.51805"
+            "assemblyVersion": "6.0.0.0",
+            "fileVersion": "6.0.21.52210"
           }
         }
       },
@@ -2647,11 +2624,11 @@
           "System.Xml.XPath": "4.0.1"
         }
       },
-      "ZstdSharp.Port/0.8.1": {
+      "ZstdSharp.Port/0.8.0": {
         "runtime": {
           "lib/net6.0/ZstdSharp.dll": {
-            "assemblyVersion": "0.8.1.0",
-            "fileVersion": "0.8.1.0"
+            "assemblyVersion": "0.8.0.0",
+            "fileVersion": "0.8.0.0"
           }
         }
       }
@@ -2789,19 +2766,19 @@
       "path": "mapster.dependencyinjection/1.0.1",
       "hashPath": "mapster.dependencyinjection.1.0.1.nupkg.sha512"
     },
-    "Masuit.Tools.Abstractions/2024.6.0": {
+    "Masuit.Tools.Abstractions/2024.5.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-lkMX+tSFKPqSZ+ksX9SHqG3RiKkiFgITVVCYOpFmD2306bRdnHEW9Dzj6UnrwBONph/qgiNAfQV3xdyKvoU/VA==",
-      "path": "masuit.tools.abstractions/2024.6.0",
-      "hashPath": "masuit.tools.abstractions.2024.6.0.nupkg.sha512"
+      "sha512": "sha512-HspiN5HT2pwuHN1Os5K+kQGNsk1XW9GKMc2G5cCNH30FodSqzsmZf377S7SBm0FmSs1pFPxmB9rk8mZggsNcnA==",
+      "path": "masuit.tools.abstractions/2024.5.0",
+      "hashPath": "masuit.tools.abstractions.2024.5.0.nupkg.sha512"
     },
-    "Masuit.Tools.Core/2024.6.0": {
+    "Masuit.Tools.Core/2024.5.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-/H//vrIgJMPKSwXdhZA4ly1jW3ejbXgBrQjhIOAnQ0VCiq/2HVa8k8owTCYvdX9Heao/lvIsM9zU7ubTn6SSzQ==",
-      "path": "masuit.tools.core/2024.6.0",
-      "hashPath": "masuit.tools.core.2024.6.0.nupkg.sha512"
+      "sha512": "sha512-Yysgn0L+Fya3bVEO8CZWDlxz3r3rRdaMZUQhfmy8UVquvWza4bdO5zt9nR0oMvYifYaoN0yAVl4Mylx/eFuhnw==",
+      "path": "masuit.tools.core/2024.5.0",
+      "hashPath": "masuit.tools.core.2024.5.0.nupkg.sha512"
     },
     "Microsoft.AspNetCore.Authentication.JwtBearer/6.0.29": {
       "type": "package",
@@ -2831,12 +2808,12 @@
       "path": "microsoft.aspnetcore.razor.language/6.0.33",
       "hashPath": "microsoft.aspnetcore.razor.language.6.0.33.nupkg.sha512"
     },
-    "Microsoft.Bcl.AsyncInterfaces/9.0.0": {
+    "Microsoft.Bcl.AsyncInterfaces/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==",
-      "path": "microsoft.bcl.asyncinterfaces/9.0.0",
-      "hashPath": "microsoft.bcl.asyncinterfaces.9.0.0.nupkg.sha512"
+      "sha512": "sha512-3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==",
+      "path": "microsoft.bcl.asyncinterfaces/8.0.0",
+      "hashPath": "microsoft.bcl.asyncinterfaces.8.0.0.nupkg.sha512"
     },
     "Microsoft.CodeAnalysis.Analyzers/3.3.4": {
       "type": "package",
@@ -2908,26 +2885,26 @@
       "path": "microsoft.data.sqlite.core/8.0.1",
       "hashPath": "microsoft.data.sqlite.core.8.0.1.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore/6.0.36": {
+    "Microsoft.EntityFrameworkCore/6.0.31": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-0i1BBvJBrqdmIdTqCmL+/J74HucYqc5eck3J5trKe6AN2fvdE1lICto6HBwNhbtPniZO7bhW36FnIjTK0FamXg==",
-      "path": "microsoft.entityframeworkcore/6.0.36",
-      "hashPath": "microsoft.entityframeworkcore.6.0.36.nupkg.sha512"
+      "sha512": "sha512-E/6vnatnSzUhSPi/xI5PNZa6/6sb1XasGXojPgfGvdeWdOB8jPgRCXR6dZmqGI1W76WsqgDIgvByMNHrdrrCSg==",
+      "path": "microsoft.entityframeworkcore/6.0.31",
+      "hashPath": "microsoft.entityframeworkcore.6.0.31.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Abstractions/6.0.36": {
+    "Microsoft.EntityFrameworkCore.Abstractions/6.0.31": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-nrR4lfe9izQK1eerKW/ECHuJV8xXtuvoj/APrwwOjX4+Ne2SMXBpetctPcYNVc3KyiKuUHJSLywWtsqoXE5ElA==",
-      "path": "microsoft.entityframeworkcore.abstractions/6.0.36",
-      "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.36.nupkg.sha512"
+      "sha512": "sha512-8AdITHMZ7eTEAsND9lK3aJYjDRPnrzKYqRzTbPslTlkz3hf0xheMZKT+bZj6TCNoo6If06yBOtSwnuAdApkCtA==",
+      "path": "microsoft.entityframeworkcore.abstractions/6.0.31",
+      "hashPath": "microsoft.entityframeworkcore.abstractions.6.0.31.nupkg.sha512"
     },
-    "Microsoft.EntityFrameworkCore.Analyzers/6.0.36": {
+    "Microsoft.EntityFrameworkCore.Analyzers/6.0.31": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Se0wloBaAJcLwgSW4hvGdAWjKnuIwgQ2PKTNkvG80PW/WFgedwKomY9wuO5BPewIHlX6huGyP//StQQRQOWr+Q==",
-      "path": "microsoft.entityframeworkcore.analyzers/6.0.36",
-      "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.36.nupkg.sha512"
+      "sha512": "sha512-1v9d0P316ZrESIyijs724db34T9LDnA8ug8MwnvsIohd8y+xIXpkLsG9oDzH0MAitLGkTF9Jaas3EKx0lOyMJg==",
+      "path": "microsoft.entityframeworkcore.analyzers/6.0.31",
+      "hashPath": "microsoft.entityframeworkcore.analyzers.6.0.31.nupkg.sha512"
     },
     "Microsoft.Extensions.ApiDescription.Server/6.0.5": {
       "type": "package",
@@ -2936,47 +2913,47 @@
       "path": "microsoft.extensions.apidescription.server/6.0.5",
       "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512"
     },
-    "Microsoft.Extensions.Caching.Abstractions/6.0.1": {
+    "Microsoft.Extensions.Caching.Abstractions/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-zEtKmOJ3sZ9YxRgvgLtoQsqO069Kqp0aC6Ai+DkyE5uahtu1ynvuoDVFQgyyhVcJWnxCzZHax/3AodvAx2mhjA==",
-      "path": "microsoft.extensions.caching.abstractions/6.0.1",
-      "hashPath": "microsoft.extensions.caching.abstractions.6.0.1.nupkg.sha512"
+      "sha512": "sha512-bcz5sSFJbganH0+YrfvIjJDIcKNW7TL07C4d1eTmXy/wOt52iz4LVogJb6pazs7W0+74j0YpXFErvp++Aq5Bsw==",
+      "path": "microsoft.extensions.caching.abstractions/6.0.0",
+      "hashPath": "microsoft.extensions.caching.abstractions.6.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Caching.Memory/6.0.3": {
+    "Microsoft.Extensions.Caching.Memory/6.0.1": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-GVNNcHoPDEUn4OQiBBGs5mE6nX7BA+LeQId9NeA+gB8xcbDUmFPAl8Er2ixNLbn4ffFr8t5jfMwdxgFG66k7BA==",
-      "path": "microsoft.extensions.caching.memory/6.0.3",
-      "hashPath": "microsoft.extensions.caching.memory.6.0.3.nupkg.sha512"
+      "sha512": "sha512-B4y+Cev05eMcjf1na0v9gza6GUtahXbtY1JCypIgx3B4Ea/KAgsWyXEmW4q6zMbmTMtKzmPVk09rvFJirvMwTg==",
+      "path": "microsoft.extensions.caching.memory/6.0.1",
+      "hashPath": "microsoft.extensions.caching.memory.6.0.1.nupkg.sha512"
     },
-    "Microsoft.Extensions.Configuration/9.0.0": {
+    "Microsoft.Extensions.Configuration/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-YIMO9T3JL8MeEXgVozKt2v79hquo/EFtnY0vgxmLnUvk1Rei/halI7kOWZL2RBeV9FMGzgM9LZA8CVaNwFMaNA==",
-      "path": "microsoft.extensions.configuration/9.0.0",
-      "hashPath": "microsoft.extensions.configuration.9.0.0.nupkg.sha512"
+      "sha512": "sha512-0J/9YNXTMWSZP2p2+nvl8p71zpSwokZXZuJW+VjdErkegAnFdO1XlqtA62SJtgVYHdKu3uPxJHcMR/r35HwFBA==",
+      "path": "microsoft.extensions.configuration/8.0.0",
+      "hashPath": "microsoft.extensions.configuration.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Configuration.Abstractions/9.0.0": {
+    "Microsoft.Extensions.Configuration.Abstractions/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-lqvd7W3FGKUO1+ZoUEMaZ5XDJeWvjpy2/M/ptCGz3tXLD4HWVaSzjufsAsjemasBEg+2SxXVtYVvGt5r2nKDlg==",
-      "path": "microsoft.extensions.configuration.abstractions/9.0.0",
-      "hashPath": "microsoft.extensions.configuration.abstractions.9.0.0.nupkg.sha512"
+      "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==",
+      "path": "microsoft.extensions.configuration.abstractions/8.0.0",
+      "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Configuration.FileExtensions/9.0.0": {
+    "Microsoft.Extensions.Configuration.FileExtensions/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-4EK93Jcd2lQG4GY6PAw8jGss0ZzFP0vPc1J85mES5fKNuDTqgFXHba9onBw2s18fs3I4vdo2AWyfD1mPAxWSQQ==",
-      "path": "microsoft.extensions.configuration.fileextensions/9.0.0",
-      "hashPath": "microsoft.extensions.configuration.fileextensions.9.0.0.nupkg.sha512"
+      "sha512": "sha512-McP+Lz/EKwvtCv48z0YImw+L1gi1gy5rHhNaNIY2CrjloV+XY8gydT8DjMR6zWeL13AFK+DioVpppwAuO1Gi1w==",
+      "path": "microsoft.extensions.configuration.fileextensions/8.0.0",
+      "hashPath": "microsoft.extensions.configuration.fileextensions.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Configuration.Json/9.0.0": {
+    "Microsoft.Extensions.Configuration.Json/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-WiTK0LrnsqmedrbzwL7f4ZUo+/wByqy2eKab39I380i2rd8ImfCRMrtkqJVGDmfqlkP/YzhckVOwPc5MPrSNpg==",
-      "path": "microsoft.extensions.configuration.json/9.0.0",
-      "hashPath": "microsoft.extensions.configuration.json.9.0.0.nupkg.sha512"
+      "sha512": "sha512-C2wqUoh9OmRL1akaCcKSTmRU8z0kckfImG7zLNI8uyi47Lp+zd5LWAD17waPQEqCz3ioWOCrFUo+JJuoeZLOBw==",
+      "path": "microsoft.extensions.configuration.json/8.0.0",
+      "hashPath": "microsoft.extensions.configuration.json.8.0.0.nupkg.sha512"
     },
     "Microsoft.Extensions.DependencyInjection/6.0.2": {
       "type": "package",
@@ -2999,54 +2976,54 @@
       "path": "microsoft.extensions.dependencymodel/6.0.0",
       "hashPath": "microsoft.extensions.dependencymodel.6.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.FileProviders.Abstractions/9.0.0": {
+    "Microsoft.Extensions.FileProviders.Abstractions/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-uK439QzYR0q2emLVtYzwyK3x+T5bTY4yWsd/k/ZUS9LR6Sflp8MIdhGXW8kQCd86dQD4tLqvcbLkku8qHY263Q==",
-      "path": "microsoft.extensions.fileproviders.abstractions/9.0.0",
-      "hashPath": "microsoft.extensions.fileproviders.abstractions.9.0.0.nupkg.sha512"
+      "sha512": "sha512-ZbaMlhJlpisjuWbvXr4LdAst/1XxH3vZ6A0BsgTphZ2L4PGuxRLz7Jr/S7mkAAnOn78Vu0fKhEgNF5JO3zfjqQ==",
+      "path": "microsoft.extensions.fileproviders.abstractions/8.0.0",
+      "hashPath": "microsoft.extensions.fileproviders.abstractions.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.FileProviders.Physical/9.0.0": {
+    "Microsoft.Extensions.FileProviders.Physical/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-3+ZUSpOSmie+o8NnLIRqCxSh65XL/ExU7JYnFOg58awDRlY3lVpZ9A369jkoZL1rpsq7LDhEfkn2ghhGaY1y5Q==",
-      "path": "microsoft.extensions.fileproviders.physical/9.0.0",
-      "hashPath": "microsoft.extensions.fileproviders.physical.9.0.0.nupkg.sha512"
+      "sha512": "sha512-UboiXxpPUpwulHvIAVE36Knq0VSHaAmfrFkegLyBZeaADuKezJ/AIXYAW8F5GBlGk/VaibN2k/Zn1ca8YAfVdA==",
+      "path": "microsoft.extensions.fileproviders.physical/8.0.0",
+      "hashPath": "microsoft.extensions.fileproviders.physical.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.FileSystemGlobbing/9.0.0": {
+    "Microsoft.Extensions.FileSystemGlobbing/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-jGFKZiXs2HNseK3NK/rfwHNNovER71jSj4BD1a/649ml9+h6oEtYd0GSALZDNW8jZ2Rh+oAeadOa6sagYW1F2A==",
-      "path": "microsoft.extensions.filesystemglobbing/9.0.0",
-      "hashPath": "microsoft.extensions.filesystemglobbing.9.0.0.nupkg.sha512"
+      "sha512": "sha512-OK+670i7esqlQrPjdIKRbsyMCe9g5kSLpRRQGSr4Q58AOYEe/hCnfLZprh7viNisSUUQZmMrbbuDaIrP+V1ebQ==",
+      "path": "microsoft.extensions.filesystemglobbing/8.0.0",
+      "hashPath": "microsoft.extensions.filesystemglobbing.8.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Logging/6.0.1": {
+    "Microsoft.Extensions.Logging/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-k6tbYaHrqY9kq7p5FfpPbddY1OImPCpXQ/PGcED6N9s5ULRp8n1PdmMzsIwIzCnhIS5bs06G/lO9LfNVpUj8jg==",
-      "path": "microsoft.extensions.logging/6.0.1",
-      "hashPath": "microsoft.extensions.logging.6.0.1.nupkg.sha512"
+      "sha512": "sha512-eIbyj40QDg1NDz0HBW0S5f3wrLVnKWnDJ/JtZ+yJDFnDj90VoPuoPmFkeaXrtu+0cKm5GRAwoDf+dBWXK0TUdg==",
+      "path": "microsoft.extensions.logging/6.0.0",
+      "hashPath": "microsoft.extensions.logging.6.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Logging.Abstractions/6.0.4": {
+    "Microsoft.Extensions.Logging.Abstractions/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-K14wYgwOfKVELrUh5eBqlC8Wvo9vvhS3ZhIvcswV2uS/ubkTRPSQsN557EZiYUSSoZNxizG+alN4wjtdyLdcyw==",
-      "path": "microsoft.extensions.logging.abstractions/6.0.4",
-      "hashPath": "microsoft.extensions.logging.abstractions.6.0.4.nupkg.sha512"
+      "sha512": "sha512-/HggWBbTwy8TgebGSX5DBZ24ndhzi93sHUBDvP1IxbZD7FDokYzdAr6+vbWGjw2XAfR2EJ1sfKUotpjHnFWPxA==",
+      "path": "microsoft.extensions.logging.abstractions/6.0.0",
+      "hashPath": "microsoft.extensions.logging.abstractions.6.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Options/6.0.1": {
+    "Microsoft.Extensions.Options/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-v5rh5jRcLBOKOaLVyYCm4TY/RoJlxWsW7N2TAPkmlHe55/0cB0Syp979x4He1+MIXsaTvJl1WOc7b1D1PSsO3A==",
-      "path": "microsoft.extensions.options/6.0.1",
-      "hashPath": "microsoft.extensions.options.6.0.1.nupkg.sha512"
+      "sha512": "sha512-dzXN0+V1AyjOe2xcJ86Qbo233KHuLEY0njf/P2Kw8SfJU+d45HNS2ctJdnEnrWbM9Ye2eFgaC5Mj9otRMU6IsQ==",
+      "path": "microsoft.extensions.options/6.0.0",
+      "hashPath": "microsoft.extensions.options.6.0.0.nupkg.sha512"
     },
-    "Microsoft.Extensions.Primitives/9.0.0": {
+    "Microsoft.Extensions.Primitives/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-N3qEBzmLMYiASUlKxxFIISP4AiwuPTHF5uCh+2CWSwwzAJiIYx0kBJsS30cp1nvhSySFAVi30jecD307jV+8Kg==",
-      "path": "microsoft.extensions.primitives/9.0.0",
-      "hashPath": "microsoft.extensions.primitives.9.0.0.nupkg.sha512"
+      "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==",
+      "path": "microsoft.extensions.primitives/8.0.0",
+      "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512"
     },
     "Microsoft.Identity.Client/4.21.1": {
       "type": "package",
@@ -3139,12 +3116,12 @@
       "path": "microsoft.win32.registry/4.7.0",
       "hashPath": "microsoft.win32.registry.4.7.0.nupkg.sha512"
     },
-    "Microsoft.Win32.SystemEvents/7.0.0": {
+    "Microsoft.Win32.SystemEvents/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-2nXPrhdAyAzir0gLl8Yy8S5Mnm/uBSQQA7jEsILOS1MTyS7DbmV1NgViMtvV1sfCD1ebITpNwb1NIinKeJgUVQ==",
-      "path": "microsoft.win32.systemevents/7.0.0",
-      "hashPath": "microsoft.win32.systemevents.7.0.0.nupkg.sha512"
+      "sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
+      "path": "microsoft.win32.systemevents/6.0.0",
+      "hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
     },
     "MiniProfiler.AspNetCore/4.3.8": {
       "type": "package",
@@ -3356,12 +3333,12 @@
       "path": "scrutor/3.3.0",
       "hashPath": "scrutor.3.3.0.nupkg.sha512"
     },
-    "SharpCompress/0.38.0": {
+    "SharpCompress/0.37.2": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-8i6KqjAFI3mvya8W8rnQrf5h4vz6ilw4zqk2AzInVqqqZ25TD6fmVeYBnlisjTWwP26eltZc0buSmJ8a3YIGxg==",
-      "path": "sharpcompress/0.38.0",
-      "hashPath": "sharpcompress.0.38.0.nupkg.sha512"
+      "sha512": "sha512-cFBpTct57aubLQXkdqMmgP8GGTFRh7fnRWP53lgE/EYUpDZJ27SSvTkdjB4OYQRZ20SJFpzczUquKLbt/9xkhw==",
+      "path": "sharpcompress/0.37.2",
+      "hashPath": "sharpcompress.0.37.2.nupkg.sha512"
     },
     "SixLabors.Fonts/2.0.4": {
       "type": "package",
@@ -3524,12 +3501,12 @@
       "path": "system.buffers/4.5.1",
       "hashPath": "system.buffers.4.5.1.nupkg.sha512"
     },
-    "System.CodeDom/9.0.0": {
+    "System.CodeDom/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-oTE5IfuMoET8yaZP/vdvy9xO47guAv/rOhe4DODuFBN3ySprcQOlXqO3j+e/H/YpKKR5sglrxRaZ2HYOhNJrqA==",
-      "path": "system.codedom/9.0.0",
-      "hashPath": "system.codedom.9.0.0.nupkg.sha512"
+      "sha512": "sha512-WTlRjL6KWIMr/pAaq3rYqh0TJlzpouaQ/W1eelssHgtlwHAH25jXTkUphTYx9HaIIf7XA6qs/0+YhtLEQRkJ+Q==",
+      "path": "system.codedom/8.0.0",
+      "hashPath": "system.codedom.8.0.0.nupkg.sha512"
     },
     "System.Collections/4.3.0": {
       "type": "package",
@@ -3615,12 +3592,12 @@
       "path": "system.composition.typedparts/8.0.0",
       "hashPath": "system.composition.typedparts.8.0.0.nupkg.sha512"
     },
-    "System.Configuration.ConfigurationManager/7.0.0": {
+    "System.Configuration.ConfigurationManager/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-WvRUdlL1lB0dTRZSs5XcQOd5q9MYNk90GkbmRmiCvRHThWiojkpGqWdmEDJdXyHbxG/BhE5hmVbMfRLXW9FJVA==",
-      "path": "system.configuration.configurationmanager/7.0.0",
-      "hashPath": "system.configuration.configurationmanager.7.0.0.nupkg.sha512"
+      "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==",
+      "path": "system.configuration.configurationmanager/8.0.0",
+      "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512"
     },
     "System.Console/4.0.0": {
       "type": "package",
@@ -3699,12 +3676,12 @@
       "path": "system.directoryservices.protocols/6.0.1",
       "hashPath": "system.directoryservices.protocols.6.0.1.nupkg.sha512"
     },
-    "System.Drawing.Common/7.0.0": {
+    "System.Drawing.Common/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-KIX+oBU38pxkKPxvLcLfIkOV5Ien8ReN78wro7OF5/erwcmortzeFx+iBswlh2Vz6gVne0khocQudGwaO1Ey6A==",
-      "path": "system.drawing.common/7.0.0",
-      "hashPath": "system.drawing.common.7.0.0.nupkg.sha512"
+      "sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
+      "path": "system.drawing.common/6.0.0",
+      "hashPath": "system.drawing.common.6.0.0.nupkg.sha512"
     },
     "System.Dynamic.Runtime/4.3.0": {
       "type": "package",
@@ -3790,12 +3767,12 @@
       "path": "system.io.packaging/4.0.0",
       "hashPath": "system.io.packaging.4.0.0.nupkg.sha512"
     },
-    "System.IO.Pipelines/9.0.0": {
+    "System.IO.Pipelines/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==",
-      "path": "system.io.pipelines/9.0.0",
-      "hashPath": "system.io.pipelines.9.0.0.nupkg.sha512"
+      "sha512": "sha512-FHNOatmUq0sqJOkTx+UF/9YK1f180cnW5FVqnQMvYUN0elp6wFzbtPSiqbo1/ru8ICp43JM1i7kKkk6GsNGHlA==",
+      "path": "system.io.pipelines/8.0.0",
+      "hashPath": "system.io.pipelines.8.0.0.nupkg.sha512"
     },
     "System.Linq/4.3.0": {
       "type": "package",
@@ -3818,12 +3795,12 @@
       "path": "system.linq.expressions/4.3.0",
       "hashPath": "system.linq.expressions.4.3.0.nupkg.sha512"
     },
-    "System.Management/9.0.0": {
+    "System.Management/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-bVh4xAMI5grY5GZoklKcMBLirhC8Lqzp63Ft3zXJacwGAlLyFdF4k0qz4pnKIlO6HyL2Z4zqmHm9UkzEo6FFsA==",
-      "path": "system.management/9.0.0",
-      "hashPath": "system.management.9.0.0.nupkg.sha512"
+      "sha512": "sha512-jrK22i5LRzxZCfGb+tGmke2VH7oE0DvcDlJ1HAKYU8cPmD8XnpUT0bYn2Gy98GEhGjtfbR/sxKTVb+dE770pfA==",
+      "path": "system.management/8.0.0",
+      "hashPath": "system.management.8.0.0.nupkg.sha512"
     },
     "System.Memory/4.5.5": {
       "type": "package",
@@ -4049,12 +4026,12 @@
       "path": "system.security.cryptography.primitives/4.3.0",
       "hashPath": "system.security.cryptography.primitives.4.3.0.nupkg.sha512"
     },
-    "System.Security.Cryptography.ProtectedData/7.0.0": {
+    "System.Security.Cryptography.ProtectedData/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-xSPiLNlHT6wAHtugASbKAJwV5GVqQK351crnILAucUioFqqieDN79evO1rku1ckt/GfjIn+b17UaSskoY03JuA==",
-      "path": "system.security.cryptography.protecteddata/7.0.0",
-      "hashPath": "system.security.cryptography.protecteddata.7.0.0.nupkg.sha512"
+      "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==",
+      "path": "system.security.cryptography.protecteddata/8.0.0",
+      "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512"
     },
     "System.Security.Cryptography.X509Certificates/4.3.0": {
       "type": "package",
@@ -4063,12 +4040,12 @@
       "path": "system.security.cryptography.x509certificates/4.3.0",
       "hashPath": "system.security.cryptography.x509certificates.4.3.0.nupkg.sha512"
     },
-    "System.Security.Permissions/7.0.0": {
+    "System.Security.Permissions/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-Vmp0iRmCEno9BWiskOW5pxJ3d9n+jUqKxvX4GhLwFhnQaySZmBN2FuC0N5gjFHgyFMUjC5sfIJ8KZfoJwkcMmA==",
-      "path": "system.security.permissions/7.0.0",
-      "hashPath": "system.security.permissions.7.0.0.nupkg.sha512"
+      "sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==",
+      "path": "system.security.permissions/6.0.0",
+      "hashPath": "system.security.permissions.6.0.0.nupkg.sha512"
     },
     "System.Security.Principal.Windows/4.7.0": {
       "type": "package",
@@ -4098,19 +4075,19 @@
       "path": "system.text.encoding.extensions/4.0.11",
       "hashPath": "system.text.encoding.extensions.4.0.11.nupkg.sha512"
     },
-    "System.Text.Encodings.Web/9.0.0": {
+    "System.Text.Encodings.Web/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==",
-      "path": "system.text.encodings.web/9.0.0",
-      "hashPath": "system.text.encodings.web.9.0.0.nupkg.sha512"
+      "sha512": "sha512-yev/k9GHAEGx2Rg3/tU6MQh4HGBXJs70y7j1LaM1i/ER9po+6nnQ6RRqTJn1E7Xu0fbIFK80Nh5EoODxrbxwBQ==",
+      "path": "system.text.encodings.web/8.0.0",
+      "hashPath": "system.text.encodings.web.8.0.0.nupkg.sha512"
     },
-    "System.Text.Json/9.0.0": {
+    "System.Text.Json/8.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==",
-      "path": "system.text.json/9.0.0",
-      "hashPath": "system.text.json.9.0.0.nupkg.sha512"
+      "sha512": "sha512-OdrZO2WjkiEG6ajEFRABTRCi/wuXQPxeV6g8xvUJqdxMvvuCCEk86zPla8UiIQJz3durtUEbNyY/3lIhS0yZvQ==",
+      "path": "system.text.json/8.0.0",
+      "hashPath": "system.text.json.8.0.0.nupkg.sha512"
     },
     "System.Text.RegularExpressions/4.3.1": {
       "type": "package",
@@ -4161,12 +4138,12 @@
       "path": "system.threading.timer/4.0.1",
       "hashPath": "system.threading.timer.4.0.1.nupkg.sha512"
     },
-    "System.Windows.Extensions/7.0.0": {
+    "System.Windows.Extensions/6.0.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-bR4qdCmssMMbo9Fatci49An5B1UaVJZHKNq70PRgzoLYIlitb8Tj7ns/Xt5Pz1CkERiTjcVBDU2y1AVrPBYkaw==",
-      "path": "system.windows.extensions/7.0.0",
-      "hashPath": "system.windows.extensions.7.0.0.nupkg.sha512"
+      "sha512": "sha512-IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
+      "path": "system.windows.extensions/6.0.0",
+      "hashPath": "system.windows.extensions.6.0.0.nupkg.sha512"
     },
     "System.Xml.ReaderWriter/4.0.11": {
       "type": "package",
@@ -4196,12 +4173,12 @@
       "path": "system.xml.xpath.xdocument/4.0.1",
       "hashPath": "system.xml.xpath.xdocument.4.0.1.nupkg.sha512"
     },
-    "ZstdSharp.Port/0.8.1": {
+    "ZstdSharp.Port/0.8.0": {
       "type": "package",
       "serviceable": true,
-      "sha512": "sha512-19tNz33kn2EkyViFXuxfVn338UJaRmkwBphVqP2dVJIYQUQgFrgG5h061mxkRRg1Ax6r+6WOj1FxaFZ5qaWqqg==",
-      "path": "zstdsharp.port/0.8.1",
-      "hashPath": "zstdsharp.port.0.8.1.nupkg.sha512"
+      "sha512": "sha512-Z62eNBIu8E8YtbqlMy57tK3dV1+m2b9NhPeaYovB5exmLKvrGCqOhJTzrEUH5VyUWU6vwX3c1XHJGhW5HVs8dA==",
+      "path": "zstdsharp.port/0.8.0",
+      "hashPath": "zstdsharp.port.0.8.0.nupkg.sha512"
     }
   }
 }
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.g.targets
index b8b97ff..e3a49e3 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/obj/WIDESEAWCS_Core.csproj.nuget.g.targets
@@ -1,23 +1,9 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_DTO/obj/WIDESEAWCS_DTO.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoRepository/obj/WIDESEAWCS_IBasicInfoRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_IBasicInfoService/obj/WIDESEAWCS_IBasicInfoService.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemRepository/obj/WIDESEAWCS_ISystemRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ISystemServices/obj/WIDESEAWCS_ISystemServices.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoRepository/obj/WIDESEAWCS_ITaskInfoRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
index 86f3b54..909d960 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/ITaskService.cs
@@ -151,6 +151,15 @@
         /// <returns></returns>
         Dt_Task QueryCompletedConveyorLineTask(int taskNum, string currentAddress);
 
+
+        /// <summary>
+        /// 鏍规嵁鎵樼洏鍙枫�佸綋鍓嶅湴鍧�鏌ヨ浠诲姟
+        /// </summary>
+        /// <param name="taskNum">浠诲姟鍙�</param>
+        /// <param name="currentAddress">褰撳墠鍦板潃</param>
+        /// <returns></returns>
+        Dt_Task QueryBarcodeTask(string barcode, string currentAddress);
+
         /// <summary>
         /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏂板缓鐨勪换鍔�
         /// </summary>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfoService/obj/WIDESEAWCS_ITaskInfoService.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyRepository/obj/WIDESEAWCS_ITaskInfo_HtyRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyRepository/obj/WIDESEAWCS_ITaskInfo_HtyRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyRepository/obj/WIDESEAWCS_ITaskInfo_HtyRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyRepository/obj/WIDESEAWCS_ITaskInfo_HtyRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyService/obj/WIDESEAWCS_ITaskInfo_HtyService.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyService/obj/WIDESEAWCS_ITaskInfo_HtyService.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyService/obj/WIDESEAWCS_ITaskInfo_HtyService.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ITaskInfo_HtyService/obj/WIDESEAWCS_ITaskInfo_HtyService.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Model/obj/WIDESEAWCS_Model.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessParameters/obj/WIDESEAWCS_IProcessRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_ProcessRepository/obj/WIDESEAWCS_ProcessRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
index 3a729f2..582e1f6 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/ConveyorLine/CommonConveyorLine.cs
@@ -174,7 +174,7 @@
         /// <returns>璇诲彇鍒扮殑鏁版嵁</returns>
         public TRsult GetValue<TEnum, TRsult>(TEnum value, string deviceChildCode) where TEnum : Enum
         {
-            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�� {DeviceName} 銆�");
             DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == value.ToString() && x.DeviceChildCode == deviceChildCode);
             return devicePro == null ? throw new Exception() : (TRsult)Communicator.ReadAsObj(devicePro.DeviceProAddress, devicePro.DeviceDataType);
         }
@@ -197,7 +197,7 @@
         /// <exception cref="Exception"></exception>
         public bool SendCommand<T>(T command, string deviceChildCode) where T : IDataTransfer, new()
         {
-            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�恵DeviceName}銆�");
             DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
             if (devicePro == null)
             {
@@ -219,7 +219,7 @@
         /// <exception cref="Exception"></exception>
         public T ReadCustomer<T>(string deviceChildCode) where T : IDataTransfer, new()
         {
-            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�恵DeviceName}銆�");
             DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == "ReadDeviceCommand" && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
 
             if (devicePro == null)
@@ -242,7 +242,7 @@
         /// <exception cref="Exception"></exception>
         public T ReadCustomer<T>(string deviceChildCode, string deviceProParamType) where T : IDataTransfer, new()
         {
-            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�:" + DeviceName);
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�恵DeviceName}銆�");
             DeviceProDTO? devicePro = _deviceProDTOs.Where(x => x.DeviceProParamType == deviceProParamType && x.DeviceChildCode == deviceChildCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
 
             if (devicePro == null)
@@ -268,7 +268,7 @@
             where TEnum : Enum
             where TValue : notnull
         {
-            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁�");
+            if (!IsConnected) throw new Exception($"閫氳杩炴帴閿欒锛岃妫�鏌ョ綉缁溿�� {DeviceName} 銆�");
             DeviceProDTO? devicePro = _deviceProDTOs.FirstOrDefault(x => x.DeviceProParamName == @enum.ToString() && x.DeviceChildCode == deviceChildCode);
             return devicePro == null ? throw new Exception() : Communicator.WriteObj(devicePro.DeviceProAddress, devicePro.DeviceDataType, value);
         }
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
index a656551..a60279f 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/Service/RouterService.cs
@@ -30,12 +30,74 @@
         /// <param name="startPosi">璧风偣/褰撳墠浣嶇疆銆�</param>
         /// <param name="endPosi">缁堢偣銆�</param>
         /// <returns>杩斿洖璺敱瀹炰綋闆嗗悎銆�</returns>
+        //public List<Dt_Router> QueryNextRoutes(string startPosi, string endPosi)
+        //{
+        //    //todo 鏂规硶闇�浼樺寲
+        //    List<Dt_Router> routers = new List<Dt_Router>();
+        //    try
+        //    {
+        //        List<Dt_Router> dt_Routers = BaseDal.QueryData(x => x.NextPosi == endPosi || x.ChildPosi == endPosi, new Dictionary<string, OrderByType> { { nameof(Dt_Router.IsEnd), OrderByType.Desc } });
+        //        if (dt_Routers.Count > 0)
+        //        {
+        //            foreach (var item in dt_Routers)
+        //            {
+        //                if (item.StartPosi == startPosi && !routers.Any(x => x.Id == item.Id))
+        //                {
+        //                    routers.Add(item);
+        //                }
+        //                else
+        //                {
+        //                    List<Dt_Router> tempRouters = QueryNextRoutes(startPosi, item.StartPosi);
+        //                    foreach (var router in tempRouters)
+        //                    {
+        //                        if (router.StartPosi == startPosi && !routers.Any(x => x.Id == router.Id))
+        //                        {
+        //                            routers.Add(router);
+        //                        }
+        //                    }
+        //                }
+        //            }
+        //        }
+        //        else
+        //        {
+        //            throw new Exception($"璇ヨ矾寰勬湭閰嶇疆鎴栭厤缃敊璇�,璇锋鏌ヨ澶囪矾鐢变俊鎭�,璧风偣:銆恵startPosi}銆�,缁堢偣:銆恵endPosi}銆�");
+        //        }
+        //    }
+        //    catch (Exception ex)
+        //    {
+        //        //throw new Exception(ex.Message);
+        //        //璁板綍閿欒淇℃伅
+        //    }
+        //    return routers;
+        //}
+
+        /// <summary>
+        /// 鏍规嵁璧风偣/褰撳墠浣嶇疆銆佺粓鐐硅幏鍙栦笅涓�涓瓙鑺傜偣銆�
+        /// </summary>
+        /// <param name="startPosi">璧风偣/褰撳墠浣嶇疆銆�</param>
+        /// <param name="endPosi">缁堢偣銆�</param>
+        /// <returns>杩斿洖璺敱瀹炰綋闆嗗悎銆�</returns>
         public List<Dt_Router> QueryNextRoutes(string startPosi, string endPosi)
         {
-            //todo 鏂规硶闇�浼樺寲
+            // 鐢ㄤ簬璁板綍宸茬粡璁块棶杩囩殑璧风偣鍜岀粓鐐圭粍鍚堬紝閬垮厤閲嶅璁块棶杩涘叆姝诲惊鐜�
+            HashSet<string> visitedRoutes = new HashSet<string>();
+            return QueryNextRoutesInternal(startPosi, endPosi, visitedRoutes);
+        }
+
+        private List<Dt_Router> QueryNextRoutesInternal(string startPosi, string endPosi, HashSet<string> visitedRoutes)
+        {
             List<Dt_Router> routers = new List<Dt_Router>();
             try
             {
+                // 鏋勫缓涓�涓敮涓�鏍囪瘑褰撳墠璧风偣鍜岀粓鐐圭粍鍚堢殑瀛楃涓�
+                string routeKey = $"{startPosi}_{endPosi}";
+                if (visitedRoutes.Contains(routeKey))
+                {
+                    // 濡傛灉宸茬粡璁块棶杩囷紝鐩存帴杩斿洖绌哄垪琛紝閬垮厤閲嶅杩涘叆鐩稿悓鐨勯�掑綊鍒嗘敮
+                    return routers;
+                }
+                visitedRoutes.Add(routeKey);
+
                 List<Dt_Router> dt_Routers = BaseDal.QueryData(x => x.NextPosi == endPosi || x.ChildPosi == endPosi, new Dictionary<string, OrderByType> { { nameof(Dt_Router.IsEnd), OrderByType.Desc } });
                 if (dt_Routers.Count > 0)
                 {
@@ -47,7 +109,7 @@
                         }
                         else
                         {
-                            List<Dt_Router> tempRouters = QueryNextRoutes(startPosi, item.StartPosi);
+                            List<Dt_Router> tempRouters = QueryNextRoutesInternal(startPosi, item.StartPosi, visitedRoutes);
                             foreach (var router in tempRouters)
                             {
                                 if (router.StartPosi == startPosi && !routers.Any(x => x.Id == router.Id))
@@ -65,6 +127,7 @@
             }
             catch (Exception ex)
             {
+                // 杩欓噷鍙互鏍规嵁瀹為檯闇�姹傛洿濂藉湴澶勭悊寮傚父锛屾瘮濡傝褰曟棩蹇楃瓑锛岀洰鍓嶅彧鏄敞閲婃帀浜嗙洿鎺ユ姏鍑哄紓甯�
                 //throw new Exception(ex.Message);
                 //璁板綍閿欒淇℃伅
             }
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_QuartzJob/obj/WIDESEAWCS_QuartzJob.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
index 9e41ecf..3666ec1 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/Program.cs
@@ -1,30 +1,32 @@
-using WIDESEAWCS_Core.Helper;
-using WIDESEAWCS_Core.Extensions;
-using WIDESEAWCS_Core.Middlewares;
-using System.Reflection;
-using WIDESEAWCS_Core.Filter;
-using Newtonsoft.Json.Converters;
-using Newtonsoft.Json.Serialization;
-using Newtonsoft.Json;
-using System.Text;
-using Microsoft.AspNetCore.Mvc.Controllers;
-using Microsoft.Extensions.DependencyInjection.Extensions;
-using Microsoft.AspNetCore.Mvc.ModelBinding.Validation;
-using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.BaseServices;
-using Autofac.Extensions.DependencyInjection;
 using Autofac;
-using WIDESEAWCS_WCSServer.Filter;
+using Autofac.Extensions.DependencyInjection;
+using Microsoft.AspNetCore.Mvc.Controllers;
+using Microsoft.AspNetCore.SignalR;
+using Microsoft.Extensions.DependencyInjection.Extensions;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Converters;
+using System.Reflection;
+using System.Text;
+using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.Authorization;
 using WIDESEAWCS_Core.Core;
-using WIDESEAWCS_QuartzJob.Seed;
-using Autofac.Core;
+using WIDESEAWCS_Core.Extensions;
+using WIDESEAWCS_Core.Filter;
+using WIDESEAWCS_Core.Helper;
+using WIDESEAWCS_Core.Middlewares;
 using WIDESEAWCS_QuartzJob.QuartzExtensions;
-using Microsoft.AspNetCore.Builder;
-using Microsoft.AspNetCore.SignalR;
+using WIDESEAWCS_QuartzJob.Seed;
 using WIDESEAWCS_SignalR;
+using WIDESEAWCS_WCSServer.Filter;
 
 var builder = WebApplication.CreateBuilder(args);
+
+if (!HslCommunication.Authorization.SetAuthorizationCode("95f1611d-633c-46ea-b03a-38ede1629f74"))
+{
+    ConsoleHelper.WriteErrorLine("授权失败!当前程序只能使用24小时!");
+}
+else
+    ConsoleHelper.WriteSuccessLine("授权成功!");
 
 builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(builder =>
 {
@@ -38,7 +40,6 @@
     config.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false);
 }); ;
 builder.Inject().ConfigureApplication();
-
 
 // 2、配置服务
 builder.Services.AddSingleton(new AppSettings(builder.Configuration));//注册
@@ -105,7 +106,6 @@
 builder.Services.Replace(ServiceDescriptor.Transient<IControllerActivator, ServiceBasedControllerActivator>());
 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
 
-
 var app = builder.Build();
 
 // 3、配置中间件
@@ -144,4 +144,4 @@
 app.MapHubs();
 app.MapControllers();
 
-app.Run();
+app.Run();
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
index 9fae611..51f1104 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/WIDESEAWCS_Server.csproj
@@ -73,7 +73,7 @@
 	</ItemGroup>
 
 	<ItemGroup>
-		<PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.2" />
+		<PackageReference Include="Swashbuckle.AspNetCore" Version="7.2.0" />
 	</ItemGroup>
 
 	<ItemGroup>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
new file mode 100644
index 0000000..8b3e578
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -0,0 +1,30 @@
+{
+  "urls": "http://*:9291", //web鏈嶅姟绔彛锛屽鏋滅敤IIS閮ㄧ讲锛屾妸杩欎釜鍘绘帀
+  "Logging": {
+    "LogLevel": {
+      "Default": "Information",
+      "Microsoft.AspNetCore": "Warning"
+    }
+  },
+  "dics": "deviceType,devicePlcType,jobAssembly,jobClassName,deviceStatus,taskType,taskState,inOutType",
+  "AllowedHosts": "*",
+  "ConnectionStringsEncryption": false,
+  "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
+  //杩炴帴瀛楃涓�
+  //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
+  "ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WCS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=True",
+  //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WCSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  //"ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+  //璺ㄥ煙
+  "Cors": {
+    "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
+    "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆�
+    // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑
+    // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
+    "IPs": "http://127.0.0.1:8080,http://localhost:8080"
+  },
+  "ApiName": "WIDESEA",
+  "ExpMinutes": 120,
+  "QuartzJobAutoStart": true,
+  "LogDeubgEnable": true
+}
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.targets
index b8b97ff..e3a49e3 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/obj/WIDESEAWCS_Server.csproj.nuget.g.targets
@@ -1,23 +1,9 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\6.0.5\build\Microsoft.Extensions.ApiDescription.Server.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/obj/WIDESEAWCS_SignalR.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/obj/WIDESEAWCS_SignalR.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/obj/WIDESEAWCS_SignalR.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SignalR/obj/WIDESEAWCS_SignalR.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemRepository/obj/WIDESEAWCS_SystemRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_SystemServices/obj/WIDESEAWCS_SystemServices.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoRepository/obj/WIDESEAWCS_TaskInfoRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
index 6689c40..c962f62 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -249,6 +249,12 @@
             return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish), TaskOrderBy);
         }
 
+        public Dt_Task QueryBarcodeTask(string barcode, string currentAddress)
+        {
+            return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.CurrentAddress == currentAddress, TaskOrderBy);
+        }
+
+
         /// <summary>
         /// 鏍规嵁浠诲姟鍙枫�佸綋鍓嶅湴鍧�鏌ヨ杈撻�佺嚎鏂板缓鐨勪换鍔�
         /// </summary>
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/obj/WIDESEAWCS_TaskInfoService.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyRepository/obj/WIDESEAWCS_TaskInfo_HtyRepository.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyRepository/obj/WIDESEAWCS_TaskInfo_HtyRepository.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyRepository/obj/WIDESEAWCS_TaskInfo_HtyRepository.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyRepository/obj/WIDESEAWCS_TaskInfo_HtyRepository.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyService/obj/WIDESEAWCS_TaskInfo_HtyService.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyService/obj/WIDESEAWCS_TaskInfo_HtyService.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyService/obj/WIDESEAWCS_TaskInfo_HtyService.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfo_HtyService/obj/WIDESEAWCS_TaskInfo_HtyService.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
index edccca3..bc4f8f6 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -4,13 +4,11 @@
 using Quartz;
 using SqlSugar;
 using System.Reflection;
-using System.Threading.Tasks;
 using WIDESEAWCS_BasicInfoRepository;
 using WIDESEAWCS_BasicInfoService;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Caches;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.HttpContextUser;
 using WIDESEAWCS_DTO.MOM;
@@ -26,7 +24,6 @@
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_SignalR;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
-using static System.Collections.Specialized.BitVector32;
 using ICacheService = WIDESEAWCS_Core.Caches.ICacheService;
 
 namespace WIDESEAWCS_Tasks
@@ -61,7 +58,7 @@
             _noticeService = noticeService;
         }
 
-        public async Task Execute(IJobExecutionContext context)
+        public Task Execute(IJobExecutionContext context)
         {
             try
             {
@@ -71,20 +68,28 @@
                     List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
                     foreach (string childDeviceCode in childDeviceCodes)
                     {
-                        await ProcessDeviceAsync(conveyorLine, childDeviceCode);
+                        ProcessDeviceAsync(conveyorLine, childDeviceCode);
                     }
 
                     List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
                     foreach (var station in stationManagers)
                     {
-                        ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
-                        ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
-                        if (command != null && commandWrite != null)
+                        if (station.stationType == 11)
                         {
-                            var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
-                            if (structs[0] == true)
+                            ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(station.stationChildCode);
+                            ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(station.stationChildCode, "DeviceCommand");
+                            if (command != null && commandWrite != null)
                             {
-                                NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
+                                var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
+                                if (structs[0] == true)
+                                {
+                                    ConsoleHelper.WriteWarningLine($"銆恵conveyorLine.DeviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵station.stationChildCode}銆戠┖鎵樼洏璇锋眰鎵爜鍏ュ簱");
+                                    NGRequestTaskInbound(conveyorLine, command, station.stationChildCode, 0, station.stationLocation);
+                                }
+                                else
+                                {
+                                    ConveyorLineSendFinish(conveyorLine, station.stationChildCode, 0, false);
+                                }
                             }
                         }
                     }
@@ -94,9 +99,10 @@
             {
                 Console.Out.WriteLine(nameof(CommonConveyorLineJob) + ":" + ex.ToString());
             }
+            return Task.CompletedTask;
         }
 
-        private async Task ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
+        private void ProcessDeviceAsync(CommonConveyorLine conveyorLine, string childDeviceCode)
         {
             ConveyorLineTaskCommand command = conveyorLine.ReadCustomer<ConveyorLineTaskCommand>(childDeviceCode);
             ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
@@ -116,22 +122,32 @@
                             MethodInfo? method = GetType().GetMethod(item.ProtocolDetailType);
                             if (method != null)
                             {
-                                command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
-                                method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
+                                var numRead = item.ProtocalDetailValue.ObjToInt();
+                                var numWrite = item.ProtocalDetailValue.ObjToInt() + 1;
+                                ConsoleHelper.WriteWarningLine($"銆恵conveyorLine.DeviceName}銆戙�恵childDeviceCode}銆戙�恵numRead.ToString()}銆戜綅杈撻�佺嚎璇诲彇淇″彿锛氥�恵structs[item.ProtocalDetailValue.ObjToInt()]}銆� 銆恵numWrite}銆戜綅WCS鍐欏叆淇″彿锛氥�恵structs[item.ProtocalDetailValue.ObjToInt() + 1]}銆�");
+                                if (structs[item.ProtocalDetailValue.ObjToInt() + 1] != structs[item.ProtocalDetailValue.ObjToInt()])
+                                {
+                                    command.InteractiveSignal = commandWrite.WriteInteractiveSignal;
+                                    method.Invoke(this, new object[] { conveyorLine, command, childDeviceCode, item.ProtocalDetailValue.ObjToInt() });
+                                }
                             }
                         }
                         else
                         {
-                            DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
-                            string[] x = devicePro.DeviceProAddress.Split('.');
-                            x[x.Length - 1] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
-                            string DeviceProAddress = string.Join(".", x);
-                            var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
-                            if (writeRead)
-                            {
-                                conveyorLine.Communicator.Write(DeviceProAddress, false);
-                                //ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
-                            }
+
+
+                            ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
+
+                            //DeviceProDTO? devicePro = conveyorLine.DeviceProDTOs.Where(x => x.DeviceProParamType == nameof(DeviceCommand) && x.DeviceChildCode == childDeviceCode).OrderBy(x => x.DeviceProOffset).FirstOrDefault();
+                            //string[] x = devicePro.DeviceProAddress.Split('.');
+                            //x[x.Length - 1] = (item.ProtocalDetailValue.ObjToInt() + 1).ToString();
+                            //string DeviceProAddress = string.Join(".", x);
+                            //var writeRead = conveyorLine.Communicator.Read<bool>(DeviceProAddress);
+                            //if (writeRead)
+                            //{
+                            //    conveyorLine.Communicator.Write(DeviceProAddress, false);
+                            //    //ConveyorLineSendFinish(conveyorLine, childDeviceCode, item.ProtocalDetailValue.ObjToInt(), false);
+                            //}
                         }
                     }
                 }
@@ -174,7 +190,6 @@
                     }
                 }
 
-
                 #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
 
                 var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
@@ -188,17 +203,17 @@
 
                 object obj = new
                 {
-                    childDeviceCode,
                     command,
                     commandWrite
                 };
-                _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj });
+                _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
 
                 #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
             }
         }
 
         #region 鍏ュ簱
+
         /// <summary>
         /// 杈撻�佺嚎璇锋眰鍏ュ簱
         /// </summary>
@@ -210,14 +225,24 @@
         {
             try
             {
-                //ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�");
+                ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�");
 
                 var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
-                HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
-
-                if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
+                if (task != null)
                 {
-                    HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
+                    if (task.TaskType == (int)TaskOutboundTypeEnum.OutTray || task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+                    {
+                        HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
+                    }
+                }
+                else
+                {
+                    if (task == null && command.Barcode != "NoRead" && command.Barcode.IsNotEmptyOrNull())
+                    {
+                        task = _taskService.QueryBarcodeTask(command.Barcode, childDeviceCode);
+                        if (task == null)
+                            HandleNewTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
+                    }
                 }
             }
             catch (Exception ex)
@@ -239,23 +264,26 @@
             Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
-                Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-                if (newTask != null)
+                if (command.Barcode == task.PalletCode)
                 {
-                    //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
-                    //taskCommand.InteractiveSignal = command.InteractiveSignal;
-                    var next = newTask.NextAddress;
-                    var  taskCommand = MapTaskCommand(newTask, command);
-                    newTask.NextAddress = next;
+                    Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
+                    if (newTask != null)
+                    {
+                        //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
+                        //taskCommand.InteractiveSignal = command.InteractiveSignal;
+                        var next = newTask.NextAddress;
+                        var taskCommand = MapTaskCommand(newTask, command);
+                        newTask.NextAddress = next;
 
-                    ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傚叆搴撲笅涓�鍦板潃,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傚叆搴撲笅涓�鍦板潃,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
 
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                    }
                 }
             }
         }
 
-        #endregion
+        #endregion 杈撻�佺嚎璇锋眰鍏ュ簱涓嬩竴鍦板潃
 
         /// <summary>
         /// 杈撻�佺嚎鍏ュ簱瀹屾垚
@@ -266,37 +294,41 @@
         /// <param name="ProtocalDetailValue">绾夸綋褰撳墠bool璇诲彇鍋忕Щ鍦板潃</param>
         public void ConveyorLineInFinish(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
         {
+            ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍏ュ簱瀹屾垚");
             var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null && task.TaskState != (int)TaskInStatusEnum.Line_InFinish)
             {
-                ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍏ュ簱瀹屾垚,涓嬩竴鐩爣鍦板潃銆愮瓑寰呭垎閰嶈揣浣嶃��");
-                ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-
-                if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
+                if (command.Barcode == task.PalletCode)
                 {
-                    int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
+                    ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍏ュ簱瀹屾垚,涓嬩竴鐩爣鍦板潃銆愮瓑寰呭垎閰嶈揣浣嶃��");
+                    ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
 
-                    var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
-                    task.CurrentAddress = station.stationLocation;
-                    task.NextAddress = station.stationNGLocation;
-                    task.TargetAddress = task.NextAddress;
-                    task.TaskState = nextStatus; 
-                    task.ModifyDate = DateTime.Now;
-                    task.Modifier = "System";
-                    _taskRepository.UpdateData(task);
-                }
-                else
-                {
-                    WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
-                    Console.Out.WriteLine(content.ToJsonString());
-                }
+                    if (task.TaskType == (int)TaskInboundTypeEnum.InNG)
+                    {
+                        int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
 
+                        var station = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.SourceAddress);
+                        task.CurrentAddress = station.stationLocation;
+                        task.NextAddress = station.stationNGLocation;
+                        task.TargetAddress = task.NextAddress;
+                        task.TaskState = nextStatus;
+                        task.ModifyDate = DateTime.Now;
+                        task.Modifier = "System";
+                        _taskRepository.UpdateData(task);
+                    }
+                    else
+                    {
+                        WebResponseContent content = _taskService.UpdateTaskStatusToNext(task);
+                        Console.Out.WriteLine(content.ToJsonString());
+                    }
+                }
             }
         }
 
-        #endregion
+        #endregion 鍏ュ簱
 
         #region 鍑哄簱
+
         /// <summary>
         /// 杈撻�佺嚎璇锋眰鍑轰俊鎭�
         /// </summary>
@@ -307,26 +339,30 @@
         public void RequestOutbound(CommonConveyorLine conveyorLine, ConveyorLineTaskCommand command, string childDeviceCode, int ProtocalDetailValue)
         {
             var task = _taskService.QueryConveyorLineTask(conveyorLine.DeviceCode, childDeviceCode);
+            ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱,task{task.ToJsonString()}");
             if (task != null)
             {
-                //task.NextAddress = task.NextAddress.Replace("-1", "");
-                //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
-                //taskCommand.InteractiveSignal = command.InteractiveSignal;
-
-                //ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
-
-                var next = task.NextAddress;
-                var taskCommand = MapTaskCommand(task, command);
-                task.NextAddress = next;
-
-                ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
-
-                conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-                _taskService.UpdateTaskStatusToNext(task);
-                if (task.TargetAddress == "1020-1")
+                //if (command.Barcode == task.PalletCode)
                 {
+                    //task.NextAddress = task.NextAddress.Replace("-1", "");
+                    //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
+                    //taskCommand.InteractiveSignal = command.InteractiveSignal;
+
+                    //ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
+
+                    var next = task.NextAddress;
+                    var taskCommand = MapTaskCommand(task, command);
+                    task.NextAddress = next;
+
+                    ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+
+                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                    ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
                     _taskService.UpdateTaskStatusToNext(task);
+                    if (task.TargetAddress == "1020-1")
+                    {
+                        _taskService.UpdateTaskStatusToNext(task);
+                    }
                 }
             }
         }
@@ -342,22 +378,25 @@
             Dt_Task task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
-                Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
-                if (newTask != null)
+                if (command.Barcode == task.PalletCode)
                 {
-                    //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
-                    //taskCommand.InteractiveSignal = command.InteractiveSignal;
+                    Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
+                    if (newTask != null)
+                    {
+                        //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(newTask);
+                        //taskCommand.InteractiveSignal = command.InteractiveSignal;
 
-                    //ConveyorLineTaskCommand taskCommand = MapTaskCommand(newTask, command);
+                        //ConveyorLineTaskCommand taskCommand = MapTaskCommand(newTask, command);
 
-                    var next = newTask.NextAddress;
-                    var taskCommand = MapTaskCommand(newTask, command);
-                    newTask.NextAddress = next;
+                        var next = newTask.NextAddress;
+                        var taskCommand = MapTaskCommand(newTask, command);
+                        newTask.NextAddress = next;
 
-                    ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+                        ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎璇锋眰鍑哄簱涓嬩竴鍦板潃,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
 
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                    ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                    }
                 }
             }
         }
@@ -373,33 +412,36 @@
             var task = _taskService.QueryExecutingConveyorLineTask(command.TaskNum, childDeviceCode);
             if (task != null)
             {
-                WebResponseContent content = new WebResponseContent();
-                //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
-                //taskCommand.InteractiveSignal = command.InteractiveSignal;
-                //ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
-
-                var next = task.NextAddress;
-                var taskCommand = MapTaskCommand(task, command);
-                task.NextAddress = next;
-
-                if (task.PalletCode != command.Barcode || task.Remark == "NG")
+                if (command.Barcode == task.PalletCode)
                 {
-                    var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
-                    taskCommand.TargetAddress = NGAddress;
-                }
-                else
-                {
-                    taskCommand.TargetAddress = 1000;
-                }
+                    WebResponseContent content = new WebResponseContent();
+                    //ConveyorLineTaskCommand taskCommand = _mapper.Map<ConveyorLineTaskCommand>(task);
+                    //taskCommand.InteractiveSignal = command.InteractiveSignal;
+                    //ConveyorLineTaskCommand taskCommand = MapTaskCommand(task, command);
 
-                ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine.DeviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍑哄簱瀹屾垚,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
-                conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-                content = _taskService.UpdateTaskStatusToNext(task);
+                    var next = task.NextAddress;
+                    var taskCommand = MapTaskCommand(task, command);
+                    task.NextAddress = next;
+
+                    if (task.PalletCode != command.Barcode || task.Remark == "NG")
+                    {
+                        var NGAddress = _platFormRepository.QueryFirst(x => x.PlatCode == task.TargetAddress).Capacity;
+                        taskCommand.TargetAddress = NGAddress;
+                    }
+                    else
+                    {
+                        taskCommand.TargetAddress = 1000;
+                    }
+
+                    ConsoleHelper.WriteSuccessLine($"銆恵conveyorLine.DeviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣緭閫佺嚎鍑哄簱瀹屾垚,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                    ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                    content = _taskService.UpdateTaskStatusToNext(task);
+                }
             }
         }
 
-        #endregion
+        #endregion 鍑哄簱
 
         /// <summary>
         /// 杈撻�佺嚎浜や簰瀹屾垚
@@ -418,6 +460,7 @@
         }
 
         #region 妫�娴嬬┖鐩樺疄鐩樹换鍔�
+
         /// <summary>
         /// 鐩戞祴绌烘墭鐩樺疄鐩樺嚭搴�
         /// </summary>
@@ -449,7 +492,8 @@
             var tasks = _taskRepository.QueryData(x => x.TaskType == (int)taskType && x.TargetAddress == childDeviceCode);
             if (tasks.Count < index)
             {
-                ConsoleHelper.WriteErrorLine($"銆恵childDeviceCode}銆戣姹傘�恵taskType.ToString()}銆戜换鍔�,宸叉湁銆恵taskType.ToString()}銆戜换鍔°�恵tasks.Count}銆�,鏈�澶氭嫢鏈夈�恵index - 1}銆�");
+                //ConsoleHelper.WriteErrorLine($"銆恵childDeviceCode}銆戣姹傘�恵taskType.ToString()}銆戜换鍔�,宸叉湁銆恵taskType.ToString()}銆戜换鍔°�恵tasks.Count}銆�,鏈�澶氭嫢鏈夈�恵index - 1}銆�");
+
                 #region 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
 
                 WMSTaskDTO taskDTO = new WMSTaskDTO();
@@ -464,7 +508,6 @@
                 }
                 var wmsIpAddress = wmsBase + requestTrayOutTask;
 
-
                 var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, platform.ProductionLine }.ToJsonString());
                 //var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
 
@@ -476,7 +519,7 @@
 
                 taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
 
-                #endregion
+                #endregion 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
 
                 CreateAndSendTask(taskDTO);
             }
@@ -494,8 +537,8 @@
             }
             return content;
         }
-        #endregion
 
+        #endregion 妫�娴嬬┖鐩樺疄鐩樹换鍔�
 
         #region 鍖栨垚NG鍙e叆搴�
 
@@ -575,7 +618,6 @@
             }
         }
 
-
-        #endregion
+        #endregion 鍖栨垚NG鍙e叆搴�
     }
 }
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
index 2f45ed4..634c58f 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/Task/RequestInbound.cs
@@ -1,20 +1,16 @@
-锘縰sing Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
+锘縰sing HslCommunication;
+using Newtonsoft.Json;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
+using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_DTO.WMS;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
-using HslCommunication;
-using WIDESEAWCS_DTO.WMS;
-using WIDESEAWCS_Common;
-using System.Text.RegularExpressions;
 
 namespace WIDESEAWCS_Tasks
 {
@@ -64,18 +60,22 @@
                 case 1:
                     await RequestWmsTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
                     break;
+
                 case 2:
                 case 3:
                 case 4:
                 case 6:
                     await CreateAndSendEmptyTrayTask(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
                     break;
+
                 case 7:
                     RequestOutNextAddress(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
                     break;
+
                 case 10:
                     ConveyorLineOutFinish(conveyorLine, command, childDeviceCode, ProtocalDetailValue);
                     break;
+
                 default:
                     break;
             }
@@ -101,6 +101,10 @@
         {
             // 浣跨敤姝e垯琛ㄨ揪寮忓尮閰嶇被浼� -鏁板瓧 鐨勬ā寮忥紝骞舵浛鎹负绌哄瓧绗︿覆
             task.NextAddress = Regex.Replace(task.NextAddress, @"-(\d+)", "");
+            if (Convert.ToInt32(task.NextAddress) > 1999)
+            {
+                task.NextAddress = (Convert.ToInt32(task.NextAddress) - 1000).ToString();
+            }
             var comm = _mapper.Map<ConveyorLineTaskCommand>(task);
             comm.InteractiveSignal = command.InteractiveSignal;
             return comm;
@@ -217,20 +221,34 @@
                 var task = _taskService.QueryBarCodeConveyorLineTask(command.Barcode, childDeviceCode);
                 if (task != null)
                 {
-                    //var taskCommand = MapTaskCommand(task, command);
-                    var next = task.NextAddress;
-                    var taskCommand = MapTaskCommand(task, command);
-                    task.NextAddress = next;
+                    if (task.NextAddress.Contains("JZ"))
+                    {
+                        command.Barcode = task.PalletCode;
+                        command.TaskNum = task.TaskNum;
+                        int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskInStatusEnum>();
+                        task.TaskState = nextStatus;
 
-                    ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(鏄儢),涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(瀹炵洏),涓嬩竴鐩爣鍦板潃銆恵task.TargetAddress}銆�");
+                        _taskService.UpdateTaskStatusToNext(task);
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                    }
+                    else
+                    {
+                        //var taskCommand = MapTaskCommand(task, command);
+                        var next = task.NextAddress;
+                        var taskCommand = MapTaskCommand(task, command);
+                        task.NextAddress = next;
 
-                    conveyorLine.SendCommand(taskCommand, childDeviceCode);
-                    ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
-                    _taskService.UpdateTaskStatusToNext(task);
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�(鏄儢),涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+
+                        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                        _taskService.UpdateTaskStatusToNext(task);
+                    }
                 }
             }
             else
                 WriteInfo(conveyorLine.DeviceName, content.Message);
         }
     }
-}
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
index 469a544..f38e6a1 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/CommonConveyorLine_GWJob.cs
@@ -1,4 +1,5 @@
 锘�#region MyRegion
+
 #region << 鐗� 鏈� 娉� 閲� >>
 
 /*----------------------------------------------------------------
@@ -20,32 +21,24 @@
 
 using AutoMapper;
 using HslCommunication;
-using Microsoft.AspNetCore.Server.HttpSys;
 using Newtonsoft.Json;
 using Quartz;
 using SqlSugar;
-using System.Diagnostics.CodeAnalysis;
-using System.Net;
 using System.Reflection;
-using System.Threading.Tasks;
 using WIDESEAWCS_BasicInfoRepository;
-using WIDESEAWCS_BasicInfoService;
 using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
 using WIDESEAWCS_Core;
-using WIDESEAWCS_Core.Caches;
 using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core.HttpContextUser;
 using WIDESEAWCS_DTO.MOM;
 using WIDESEAWCS_DTO.TaskInfo;
 using WIDESEAWCS_IProcessRepository;
-using WIDESEAWCS_ISystemRepository;
 using WIDESEAWCS_ISystemServices;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
-using WIDESEAWCS_QuartzJob.DeviceBase;
 using WIDESEAWCS_QuartzJob.DTO;
 using WIDESEAWCS_QuartzJob.Service;
 using WIDESEAWCS_SignalR;
@@ -90,6 +83,7 @@
                 if (conveyorLine != null)
                 {
                     #region 绔欏彴鏂瑰紡
+
                     //List<Dt_StationManager> stationManagers = _stationManagerService.GetAllStationByDeviceCode(conveyorLine.DeviceCode);
 
                     //foreach (var station in stationManagers)
@@ -105,10 +99,12 @@
                     //            method.Invoke(this, new object[] { conveyorLine, command, station });
                     //        }
                     //    }
-                    //} 
-                    #endregion
+                    //}
+
+                    #endregion 绔欏彴鏂瑰紡
 
                     #region 璺敱鏂瑰紡
+
                     List<string> childDeviceCodes = _routerService.QueryAllPositions(conveyorLine.DeviceCode);
                     foreach (string childDeviceCode in childDeviceCodes)
                     {
@@ -163,10 +159,9 @@
                         _noticeService.StackerData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, data = obj });
 
                         #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
-
                     }
-                    #endregion
 
+                    #endregion 璺敱鏂瑰紡
                 }
             }
             catch (Exception ex)
@@ -180,7 +175,6 @@
             }
             return Task.CompletedTask;
         }
-
 
         /// <summary>
         /// 杈撻�佺嚎璇锋眰鍏ュ簱
@@ -352,6 +346,7 @@
                     conveyorLine.SetValue(ConveyorLineDBName_After.ResponState, 1, childDeviceCode);
                     _taskService.UpdateTaskStatusToNext(task);
                 }
+
             }
         }
 
@@ -448,7 +443,6 @@
                 }
                 var wmsIpAddress = wmsBase + requestTrayOutTask;
 
-
                 var result = await HttpHelper.PostAsync(wmsIpAddress, new { position = childDeviceCode, tag = (int)taskType, areaCdoe = roadWay, roadways = roadways }.ToJsonString());
                 //var result = await HttpHelper.PostAsync("http://localhost:5000/api/Task/RequestTrayOutTaskAsync", dynamic.ToJsonString());
 
@@ -460,7 +454,7 @@
 
                 taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(content.Data.ToString());
 
-                #endregion
+                #endregion 璋冪敤WMS鑾峰彇鍑哄簱浠诲姟
 
                 CreateAndSendTask(taskDTO);
             }
@@ -478,10 +472,7 @@
             }
             return content;
         }
-
-
-
-
     }
 }
+
 #endregion
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/GetStationService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/GetStationService.cs
index f2b4ed0..743d33f 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/GetStationService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/GetStationService.cs
@@ -1,9 +1,4 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_BasicInfoRepository;
+锘縰sing WIDESEAWCS_BasicInfoRepository;
 using WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_ISystemServices;
@@ -13,37 +8,56 @@
 
 namespace WIDESEAWCS_Tasks
 {
-    public class GetStationService:ServiceBase<Dt_StationManager, IDt_StationManagerRepository>, IGetStationService
+    public class GetStationService : ServiceBase<Dt_StationManager, IDt_StationManagerRepository>, IGetStationService
     {
         //private readonly IDt_StationManagerRepository _stationManagerRepository;
 
         public GetStationService(IDt_StationManagerRepository BaseDal, ISys_ConfigService sys_ConfigService) : base(BaseDal)
         {
         }
+
         public WebResponseContent GetStationHasPallet(List<string> stations)
         {
-            WebResponseContent content = new WebResponseContent();
+            var content = new WebResponseContent();
+
             try
             {
-                var x = 0;
-                var stationManagers = BaseDal.QueryData(x => stations.Contains(x.stationChildCode));
-                foreach (var item in stationManagers)
-                {
-                    if (Convert.ToInt32(item.stationPLC) > 1010)
-                    {
-                        CommonConveyorLine_GW commonConveyorLine_GW = Storage.Devices.FirstOrDefault(x => x.DeviceCode == item.stationPLC) as CommonConveyorLine_GW;
+                int palletCount = 0; // 鐢ㄤ簬璁板綍娌℃湁鎵樼洏鐨勭珯鐐规暟閲�
+                var stationManagers = BaseDal.QueryData(s => stations.Contains(s.stationChildCode)); // 鏌ヨ鐩稿叧绔欑偣绠$悊淇℃伅
 
-                        var isHasPallet = Convert.ToInt32(commonConveyorLine_GW.ReadValue(ConveyorLineDBName_After.HasPallet, item.stationChildCode));
-                        if (isHasPallet == 0) x++;
+                foreach (var station in stationManagers)
+                {
+                    if (IsStationValid(station))
+                    {
+                        var hasPallet = ReadPalletStatus(station); // 鑾峰彇鎵樼洏鐘舵��
+                        if (hasPallet == 0) // 濡傛灉娌℃湁鎵樼洏
+                        {
+                            palletCount++;
+                        }
                     }
                 }
-                content.OK(data: x);
+
+                content.OK(data: palletCount); // 杩斿洖缁撴灉
             }
             catch (Exception ex)
             {
-                content.Error(ex.Message);
+                content.Error(ex.Message); // 鎹曡幏骞惰繑鍥為敊璇俊鎭�
             }
+
             return content;
         }
+
+        // 楠岃瘉绔欑偣鏄惁鏈夋晥
+        private bool IsStationValid(Dt_StationManager station)
+        {
+            return Convert.ToInt32(station.stationPLC) > 1010;
+        }
+
+        // 璇诲彇鎵樼洏鐘舵��
+        private int ReadPalletStatus(Dt_StationManager station)
+        {
+            var commonConveyorLine_GW = Storage.Devices.FirstOrDefault(device => device.DeviceCode == station.stationPLC) as CommonConveyorLine_GW;
+            return Convert.ToInt32(commonConveyorLine_GW.ReadValue(ConveyorLineDBName_After.HasPallet, station.stationChildCode));
+        }
     }
-}
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/IGetStationService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/IGetStationService.cs
index 0f0dba9..50005c2 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/IGetStationService.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob_GW/GWTask/IGetStationService.cs
@@ -1,9 +1,4 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using WIDESEAWCS_Core;
+锘縰sing WIDESEAWCS_Core;
 using WIDESEAWCS_Core.BaseServices;
 using WIDESEAWCS_Model.Models;
 
@@ -13,4 +8,4 @@
     {
         WebResponseContent GetStationHasPallet(List<string> stations);
     }
-}
+}
\ No newline at end of file
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 4a42ec1..52cf203 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
@@ -1,19 +1,14 @@
-锘縰sing Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+锘縰sing Masuit.Tools;
+using Newtonsoft.Json;
+using WIDESEAWCS_Common;
 using WIDESEAWCS_Common.TaskEnum;
-using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_Core;
+using WIDESEAWCS_Core.Helper;
 using WIDESEAWCS_DTO.TaskInfo;
+using WIDESEAWCS_DTO.WMS;
 using WIDESEAWCS_Model.Models;
 using WIDESEAWCS_QuartzJob;
 using WIDESEAWCS_Tasks.ConveyorLineJob;
-using WIDESEAWCS_DTO.WMS;
-using WIDESEAWCS_Common;
-using Masuit.Tools;
 
 namespace WIDESEAWCS_Tasks
 {
@@ -71,6 +66,7 @@
                         ExecuteStationAction(stationManager, conveyorLine, command, childDeviceCode);
                     }
                     break;
+
                 case 1:
                 case 6:
                 case 10:
@@ -134,7 +130,6 @@
             //    }
             //}
             #endregion
-
         }
 
         private void ExecuteStationAction(Dt_StationManager stationManager, CommonConveyorLine_GW conveyorLine, ConveyorLineTaskCommand_After command, string childDeviceCode)
@@ -144,21 +139,27 @@
                 case 8:
                     RequestInNextAddress(conveyorLine, command, childDeviceCode);
                     break;
+
                 case 9:
                     ConveyorLineInFinish(conveyorLine, command, childDeviceCode);
                     break;
+
                 case 10:
                     RequestOutbound(conveyorLine, command, childDeviceCode);
                     break;
+
                 case 11:
                     RequestOutNextAddress(conveyorLine, command, childDeviceCode);
                     break;
+
                 case 12:
                     ConveyorLineOutFinish(conveyorLine, command, childDeviceCode);
                     break;
+
                 case 6:
                     CreateAndSendEmptyTrayTask(conveyorLine, command, childDeviceCode);
                     break;
+
                 case 1:
 
                     //if (stationManager.stationArea.Contains("GW"))
@@ -346,4 +347,4 @@
             //_taskRepository.QueryFirst()
         }
     }
-}
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
index 12f1b59..3d3799d 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -11,6 +11,7 @@
 using WIDESEAWCS_Core.HttpContextUser;
 using WIDESEAWCS_DTO.MOM;
 using WIDESEAWCS_IProcessRepository;
+using WIDESEAWCS_ITaskInfo_HtyRepository;
 using WIDESEAWCS_ITaskInfoRepository;
 using WIDESEAWCS_ITaskInfoService;
 using WIDESEAWCS_Model;
@@ -37,8 +38,9 @@
         private readonly ICacheService _cacheService;
         private readonly INoticeService _noticeService;
         private readonly IDt_StationManagerRepository _stationManagerRepository;
+        private readonly ITask_HtyRepository _htyRepository;
 
-        public CommonStackerCraneJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IProcessRepository processRepository, ICacheService cacheService, INoticeService noticeService, IDt_StationManagerRepository stationManagerRepository)
+        public CommonStackerCraneJob(ITaskService taskService, ITaskExecuteDetailService taskExecuteDetailService, ITaskRepository taskRepository, IRouterService routerService, IProcessRepository processRepository, ICacheService cacheService, INoticeService noticeService, IDt_StationManagerRepository stationManagerRepository, ITask_HtyRepository htyRepository)
         {
             _taskService = taskService;
             _taskExecuteDetailService = taskExecuteDetailService;
@@ -48,6 +50,7 @@
             _cacheService = cacheService;
             _noticeService = noticeService;
             _stationManagerRepository = stationManagerRepository;
+            _htyRepository = htyRepository;
         }
 
         public Task Execute(IJobExecutionContext context)
@@ -138,7 +141,8 @@
             CommonStackerCrane? commonStackerCrane = sender as CommonStackerCrane;
             if (commonStackerCrane != null)
             {
-                if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
+                //var x = commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType);
+                //if (commonStackerCrane.GetValue<StackerCraneDBName, short>(StackerCraneDBName.WorkType) != 5)
                 {
                     //Console.Out.WriteLine("TaskCompleted" + e.TaskNum);
                     ConsoleHelper.WriteColorLine($"銆恵commonStackerCrane.DeviceName}銆戜换鍔″畬鎴�,浠诲姟鍙凤細銆恵e.TaskNum}銆�", ConsoleColor.Blue);
@@ -167,7 +171,19 @@
                         else
                             return;
                     }
+                    
                     _taskService.StackCraneTaskCompleted(e.TaskNum);
+                    if (commonStackerCrane.DeviceCode.Contains("CH") && task.TaskType == (int)TaskOutboundTypeEnum.Outbound)
+                    {
+                        task = _taskRepository.QueryFirst(x => x.TaskNum == e.TaskNum);
+                        Dt_Task? newTask = _taskService.UpdatePosition(task.TaskNum, task.CurrentAddress);
+                    }
+                    if(task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TargetAddress == "1359-4") 
+                    {
+                        var TASKHTY = task.Adapt<Dt_Task_Hty>();
+                        _taskRepository.DeleteData(task);
+                        _htyRepository.AddData(TASKHTY);
+                    }
                     commonStackerCrane.SetValue(StackerCraneDBName.WorkType, 5);
                 }
             }
@@ -292,7 +308,7 @@
                     if (device != null)
                     {
                         CommonConveyorLine conveyorLine = (CommonConveyorLine)device;
-                        if (conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤
+                        //if (conveyorLine.IsOccupied(router.ChildPosi))//鍑哄簱绔欏彴鏈鍗犵敤
                         {
                             return task;
                         }
@@ -428,38 +444,6 @@
             }
             return stackerCraneTaskCommand;
         }
-
-
-        /// <summary>
-        /// 璁惧蹇冭烦
-        /// </summary>
-        /// <param name="commonStackerCrane"></param>
-        //public async void EqptAlive(CommonStackerCrane commonStackerCrane)
-        //{
-        //    if (commonStackerCrane.StackerOnline)
-        //    {
-        //        BasicDto dto = new BasicDto
-        //        {
-        //            EmployeeNo = "T00001",
-        //            EquipmentCode = commonStackerCrane.DeviceCode,
-        //            RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
-        //            SessionId = Guid.NewGuid().ToString(),
-        //            Software = commonStackerCrane.DeviceName,
-        //        };
-        //        var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", dto.ToJsonString());
-        //        if (respone != null)
-        //        {
-        //            var result = JsonConvert.DeserializeObject<ResponseEqptAliveDto>(respone);
-        //            if (result != null && result.Success)
-        //            {
-        //                if (result.KeyFlag == "99")
-        //                    commonStackerCrane.StackerOnline = true;
-        //                else if (result.KeyFlag == "98")
-        //                    commonStackerCrane.StackerOnline = false;
-        //            }
-        //        }
-        //    }
-        //}
 
     }
 }
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs
index 35ebe56..f8811bf 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/StackerCraneDBName.cs
@@ -1,4 +1,5 @@
 锘�#region << 鐗� 鏈� 娉� 閲� >>
+
 /*----------------------------------------------------------------
  * 鍛藉悕绌洪棿锛歐IDESEAWCS_Tasks.StackerCraneJob
  * 鍒涘缓鑰咃細鑳$搴�
@@ -11,15 +12,10 @@
  * 淇敼鏃堕棿锛�
  * 鐗堟湰锛歏1.0.1
  * 淇敼璇存槑锛�
- * 
+ *
  *----------------------------------------------------------------*/
-#endregion << 鐗� 鏈� 娉� 閲� >>
 
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+#endregion << 鐗� 鏈� 娉� 閲� >>
 
 namespace WIDESEAWCS_Tasks.StackerCraneJob
 {
@@ -75,4 +71,4 @@
         /// </summary>
         Barcode,
     }
-}
+}
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs
index f9ea672..0b756c1 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerStationJob/CommonStackerStationCraneJob.cs
@@ -259,27 +259,6 @@
             string[] targetCodes = task.TargetAddress.Split("-");
             if (targetCodes.Length == 3)
             {
-                //if (task.Roadway.Contains("FR"))
-                //{
-                //    if(task.Roadway.EndsWith("03")|| task.Roadway.EndsWith("01"))
-                //    {
-
-                //        stackerCraneTaskCommand.EndRow = (short)(Convert.ToInt16(targetCodes[0]) % 2 == 0 ? 1 : 2);
-                //        stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                //        stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-                //    }
-                //    else
-                //    {
-
-                //        stackerCraneTaskCommand.EndRow = (short)(Convert.ToInt16(targetCodes[0]) % 2 == 0 ? 2 : 1);
-                //        stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
-                //        stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
-                //    }
-                //}
-                //else
-                //{
-
-                //}
                 stackerCraneTaskCommand.EndRow = (short)(Convert.ToInt16(targetCodes[0]) % 2 == 0 ? 2 : 1);
                 stackerCraneTaskCommand.EndColumn = Convert.ToInt16(targetCodes[1]);
                 stackerCraneTaskCommand.EndLayer = Convert.ToInt16(targetCodes[2]);
@@ -293,38 +272,5 @@
 
             return stackerCraneTaskCommand;
         }
-
-
-        /// <summary>
-        /// 璁惧蹇冭烦
-        /// </summary>
-        /// <param name="commonStackerCrane"></param>
-        public async void EqptAlive(CommonStackerCrane commonStackerCrane)
-        {
-            if (commonStackerCrane.StackerOnline)
-            {
-                BasicDto dto = new BasicDto
-                {
-                    EmployeeNo = "T00001",
-                    EquipmentCode = commonStackerCrane.DeviceCode,
-                    RequestTime = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss.fffZ"),
-                    SessionId = Guid.NewGuid().ToString(),
-                    Software = commonStackerCrane.DeviceName,
-                };
-                var respone = await HttpHelper.PostAsync("http://ts-momapp01:12020/api/MachineIntegration/EqptAlive", dto.ToJsonString());
-                if (respone != null)
-                {
-                    var result = JsonConvert.DeserializeObject<ResponseEqptAliveDto>(respone);
-                    if (result != null && result.Success)
-                    {
-                        if (result.KeyFlag == "99")
-                            commonStackerCrane.StackerOnline = true;
-                        else if (result.KeyFlag == "98")
-                            commonStackerCrane.StackerOnline = false;
-                    }
-                }
-            }
-        }
-
     }
 }
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.targets b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.targets
index 42c590f..171871c 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.targets
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/obj/WIDESEAWCS_Tasks.csproj.nuget.g.targets
@@ -1,22 +1,8 @@
 锘�<?xml version="1.0" encoding="utf-8" standalone="no"?>
 <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
-    <Import Project="$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets" Condition="Exists('$(NuGetPackageRoot)system.text.encodings.web\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Encodings.Web.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets" Condition="Exists('$(NuGetPackageRoot)system.io.pipelines\9.0.0\buildTransitive\netcoreapp2.0\System.IO.Pipelines.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.bcl.asyncinterfaces\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Bcl.AsyncInterfaces.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\9.0.0\buildTransitive\netcoreapp2.0\System.Text.Json.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets" Condition="Exists('$(NuGetPackageRoot)system.codedom\9.0.0\buildTransitive\netcoreapp2.0\System.CodeDom.targets')" />
-    <Import Project="$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets" Condition="Exists('$(NuGetPackageRoot)system.management\9.0.0\buildTransitive\netcoreapp2.0\System.Management.targets')" />
+    <Import Project="$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets" Condition="Exists('$(NuGetPackageRoot)system.text.json\8.0.0\buildTransitive\net6.0\System.Text.Json.targets')" />
     <Import Project="$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets" Condition="Exists('$(NuGetPackageRoot)sqlitepclraw.lib.e_sqlite3\2.1.6\buildTransitive\net6.0\SQLitePCLRaw.lib.e_sqlite3.targets')" />
     <Import Project="$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.codeanalysis.analyzers\3.3.4\buildTransitive\Microsoft.CodeAnalysis.Analyzers.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.primitives\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Primitives.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\6.0.4\buildTransitive\netcoreapp3.1\Microsoft.Extensions.Logging.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.filesystemglobbing\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileSystemGlobbing.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.fileproviders.physical\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.FileProviders.Physical.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.abstractions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Abstractions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.fileextensions\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.FileExtensions.targets')" />
-    <Import Project="$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.configuration.json\9.0.0\buildTransitive\netcoreapp2.0\Microsoft.Extensions.Configuration.Json.targets')" />
   </ImportGroup>
 </Project>
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/CodeChunks.db b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/CodeChunks.db
new file mode 100644
index 0000000..d14396c
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/CodeChunks.db
Binary files differ
diff --git a/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db
new file mode 100644
index 0000000..d4f8802
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db
Binary files differ
diff --git a/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm
new file mode 100644
index 0000000..ffa0cf0
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm
Binary files differ
diff --git a/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal
new file mode 100644
index 0000000..7136fc2
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal
Binary files differ
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
index 329d55b..da63e3c 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
@@ -132,7 +132,7 @@
                     if (string.IsNullOrEmpty(where))
                         where += $"{searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
                     else
-                        where += $" and {searchParametersList[i].Name} like '%{searchParametersList[i].Value}%'";
+                        where += $" and {searchParametersList[i].Name} = '{searchParametersList[i].Value}'";
                 }
                 else
                 {
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
index c037cfe..3e409e3 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/BasicModel/DtStockInfo.cs
@@ -1,4 +1,5 @@
-锘縰sing SqlSugar;
+锘縰sing Magicodes.ExporterAndImporter.Core;
+using SqlSugar;
 using System;
 using System.Collections.Generic;
 using System.Linq;
@@ -14,87 +15,117 @@
         /// <summary>
         /// 涓婚敭
         /// </summary>
+        [ImporterHeader(Name = "涓婚敭")]
+        [ExporterHeader(DisplayName = "涓婚敭")]
         [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnDescription = "涓婚敭")]
         public int Id { get; set; }
 
         /// <summary>
-        /// 鎵樼洏鏉$爜
+        /// 鎵樼洏缂栧彿
         /// </summary>
+        [ImporterHeader(Name = "鎵樼洏缂栧彿")]
+        [ExporterHeader(DisplayName = "鎵樼洏缂栧彿")]
         [SugarColumn(IsNullable = false, Length = 50, ColumnDescription = "鎵樼洏缂栧彿")]
         public string PalletCode { get; set; }
 
         /// <summary>
         /// 璐т綅缂栧彿
         /// </summary>
+        [ImporterHeader(Name = "璐т綅ID")]
+        [ExporterHeader(DisplayName = "璐т綅ID")]
         [SugarColumn(IsNullable = true, ColumnDescription = "璐т綅ID")]
         public int LocationId { get; set; }
 
         /// <summary>
         /// 璐т綅缂栧彿
         /// </summary>
+        [ImporterHeader(Name = "璐т綅缂栧彿")]
+        [ExporterHeader(DisplayName = "璐т綅缂栧彿")]
         [SugarColumn(IsNullable = true, Length = 20, ColumnDescription = "璐т綅缂栧彿")]
         public string LocationCode { get; set; }
 
         /// <summary>
         /// 鏄惁婊$洏
         /// </summary>
+        [ImporterHeader(Name = "鏄惁瀹炵洏")]
+        [ExporterHeader(DisplayName = "鏄惁瀹炵洏")]
         [SugarColumn(IsNullable = false, ColumnDescription = "鏄惁婊$洏", DefaultValue = "0")]
         public bool IsFull { get; set; }
 
         /// <summary>
         /// 澶囨敞 (闈欏埗\闄堝寲鏃堕棿)
         /// </summary>
-        [SugarColumn(IsNullable = true, ColumnDescription = "澶囨敞")]
+        [ImporterHeader(Name = "鐢佃姱鏁伴噺")]
+        [ExporterHeader(DisplayName = "鐢佃姱鏁伴噺")]
+        [SugarColumn(IsNullable = true, ColumnDescription = "鐢佃姱鏁伴噺")]
         public string Remark { get; set; }
 
         /// <summary>
         /// 鍏宠仈宸ュ簭杩斿洖鏃堕棿锛堟敞娑瞈闈欑疆鏃堕暱锛�
         /// </summary>
+        [ImporterHeader(Name = "宸ュ簭杩斿洖鏃堕棿")]
+        [ExporterHeader(DisplayName = "宸ュ簭杩斿洖鏃堕棿")]
         public string LinedProcessFeedbackTime { get; set; }
 
         /// <summary>
         /// 鐗瑰緛鍙傛暟杩斿洖(闈欑疆鏃堕暱)
         /// </summary>
+        [ImporterHeader(Name = "闈欑疆鏃堕暱")]
+        [ExporterHeader(DisplayName = "闈欑疆鏃堕暱")]
         public string SpecialParameterDuration { get; set; }
 
         /// <summary>
         /// 鐢熶骇浜х嚎
         /// </summary>
+        [ImporterHeader(Name = "鐢熶骇浜х嚎")]
+        [ExporterHeader(DisplayName = "鐢熶骇浜х嚎")]
         public string ProductionLine { get; set; }
 
         /// <summary>
         /// 鍖哄煙缂栫爜
         /// </summary>
+        [ImporterHeader(Name = "鍖哄煙缂栫爜")]
+        [ExporterHeader(DisplayName = "鍖哄煙缂栫爜")]
         [SugarColumn(IsNullable = true, ColumnDescription = "鍖哄煙缂栫爜")]
         public string AreaCode { get; set; }
 
         /// <summary>
         /// 搴斿嚭搴撴椂闂�
         /// </summary>
+        [ImporterHeader(Name = "搴斿嚭搴撴椂闂�")]
+        [ExporterHeader(DisplayName = "搴斿嚭搴撴椂闂�")]
         [SugarColumn(IsNullable = true, ColumnDescription = "搴斿嚭搴撴椂闂�")]
         public DateTime? OutboundTime { get; set; }
 
         /// <summary>
         /// 鍙傛暟淇℃伅
         /// </summary>
+        [ImporterHeader(Name = "鍙傛暟淇℃伅")]
+        [ExporterHeader(DisplayName = "鍙傛暟淇℃伅")]
         [SugarColumn(IsNullable = true, ColumnDescription = "鍙傛暟淇℃伅")]
         public string ParameterInfos {  get; set; }
 
         /// <summary>
         /// 搴撳瓨鐘舵��
         /// </summary>
+        [ImporterHeader(Name = "鍒涘缓鑰�")]
+        [ExporterHeader(DisplayName = "鍒涘缓鑰�")]
         [SugarColumn(IsNullable = true, ColumnDescription = "搴撳瓨鐘舵��")]
         public int StockStatus { get; set; }
 
         /// <summary>
         /// 褰撳墠宸ュ簭
         /// </summary>
+        [ImporterHeader(Name = "褰撳墠宸ュ簭")]
+        [ExporterHeader(DisplayName = "褰撳墠宸ュ簭")]
         [SugarColumn(IsNullable = true, ColumnDescription = "褰撳墠宸ュ簭")]
         public string ProcessCode { get; set; }
 
         /// <summary>
         /// 涓嬩竴宸ュ簭
         /// </summary>
+        [ImporterHeader(Name = "涓嬩竴宸ュ簭")]
+        [ExporterHeader(DisplayName = "涓嬩竴宸ュ簭")]
         [SugarColumn(IsNullable = true, ColumnDescription = "涓嬩竴宸ュ簭")]
         public string NextProcessCode { get; set; }
 
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
index a0d0e54..587b9ad 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageBasicServices/Location/LocationInfoService.cs
@@ -119,7 +119,7 @@
     {
         string[] chineseNumbers = new string[] { "闆�", "涓�", "浜�", "涓�", "鍥�", "浜�", "鍏�", "涓�", "鍏�", "涔�" };
         var locationList = new List<DtLocationInfo>();
-        for (int line = 1; line <= x; line++)
+        for (int line = 3; line <= x; line++)
         {
             for (int column = 1; column <= y; column++)
             {
@@ -135,7 +135,7 @@
                         LocationType = locType,
                         Remark = "",
                         Depth = locType > 1 ? (((line - 1) % 4) + 1) == 2 || (((line - 1) % 4) + 1) == 3 ? 1 : 2 : 1,
-                        RoadwayNo = locType > 1 ? $"GWSC{((line - 1) / 4) + 1}" : $"GWSC{((line - 1) / 2) + 1}",
+                        RoadwayNo = locType > 1 ? $"JZSC{((line - 1) / 4) + 1}" : $"JZSC{((line - 1) / 2) + 1}",
                         LocationStatus = LocationEnum.Free.ObjToInt(),
                         AreaId = areaId,
                         Creater = "systeam",
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs
index 0942e0a..b9093ab 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/AspNetCoreSchedule.cs
@@ -1,17 +1,10 @@
 锘縰sing Masuit.Tools;
 using Microsoft.Extensions.Hosting;
 using Microsoft.Extensions.Logging;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 using WIDESEA_Core.Const;
 using WIDESEA_DTO.WMS;
 using WIDESEA_IServices;
-using WIDESEA_Repository;
 using WIDESEAWCS_BasicInfoRepository;
-using WIDESEA_Model;
 
 namespace WIDESEA_StorageTaskServices
 {
@@ -26,6 +19,7 @@
         private readonly ILocationInfoRepository _locationRepository;
 
         private Timer _timer;
+
         public MyBackgroundService(ILogger<MyBackgroundService> logger, ILocationInfoRepository locationRepository, IStockInfoRepository stockInfoRepository, IDt_AreaInfoRepository areaInfoRepository, IDt_TaskRepository taskRepository, IDt_StationManagerRepository stationManagerRepository, ISys_ConfigService configService)
         {
             _logger = logger;
@@ -36,18 +30,20 @@
             _stationManagerRepository = stationManagerRepository;
             _configService = configService;
         }
+
         public Task StartAsync(CancellationToken cancellationToken)
         {
             _timer = new Timer(DoWork, null, 0, 10000);
             return Task.CompletedTask;
         }
+
         private void DoWork(object state)
         {
             try
             {
-
                 var area = _areaInfoRepository.QueryFirst(x => x.AreaCode == "GWSC1");
 
+                if (area == null) { return; }
                 var stockInfo = _stockInfoRepository.Db.Queryable<DtStockInfo>()
                      .Includes(x => x.LocationInfo) // 棰勫姞杞絃ocationInfo
                      .Includes(x => x.StockInfoDetails) // 棰勫姞杞絊tockInfoDetails
@@ -59,7 +55,6 @@
                 if (stockInfo.Count <= 0) return;
                 foreach (var item in stockInfo)
                 {
-
                     var hasTask = _taskRepository.QueryFirst(x => x.PalletCode == item.PalletCode);
                     if (hasTask != null)
                     {
@@ -77,7 +72,6 @@
                     task.NextAddress = "002-000-002";
                     // 鍒涘缓浠诲姟DTO
                     WMSTaskDTO taskDTO = CreateTaskDTO(task);
-
 
                     var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                     var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue;
@@ -98,25 +92,25 @@
                         _locationRepository.UpdateData(item.LocationInfo);
                     }
                 }
-
             }
             catch (Exception ex)
             {
-                ConsoleHelper.WriteErrorLine(ex.Message);
+                ConsoleHelper.WriteErrorLine($"楂樻俯鍑哄簱閿欒锛岄敊璇俊鎭細" + ex.Message);
             }
-            ConsoleHelper.WriteSuccessLine(DateTime.Now.ToString());
+            ConsoleHelper.WriteSuccessLine($"楂樻俯鍑哄簱璋冪敤锛�" + DateTime.Now.ToString());
         }
+
         public Task StopAsync(CancellationToken cancellationToken)
         {
             _logger.LogInformation("MyBackgroundService is stopping.");
             _timer?.Change(Timeout.Infinite, 0);
             return Task.CompletedTask;
         }
+
         public void Dispose()
         {
             _timer?.Dispose();
         }
-
 
         /// <summary>
         /// 鍒涘缓浠诲姟瀹炰緥
@@ -163,4 +157,4 @@
             };
         }
     }
-}
+}
\ No newline at end of file
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 2b5b848..dc1480b 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
@@ -1,20 +1,12 @@
-锘�
-using AngleSharp.Io;
-using log4net.Core;
-using Mapster;
+锘縰sing Mapster;
 using Masuit.Tools;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
-using SixLabors.Fonts.Tables.AdvancedTypographic;
+using System.Text.RegularExpressions;
 using WIDESEA_Core.Const;
 using WIDESEA_DTO.MOM;
 using WIDESEA_DTO.WMS;
 using WIDESEA_IServices;
 using WIDESEA_IStoragIntegrationServices;
-using WIDESEA_Model.Models;
-using WIDESEA_Services;
-using WIDESEA_StorageBasicRepository;
 using WIDESEAWCS_BasicInfoRepository;
-using WIDESEAWCS_Model.Models;
 
 namespace WIDESEA_StorageTaskServices;
 
@@ -75,7 +67,6 @@
     #region 澶栭儴鎺ュ彛鏂规硶
 
     #region 鍑哄簱浠诲姟瀹屾垚
-
 
     public async Task<WebResponseContent> CompleteStackTaskAsync(Dt_Task task, DtStockInfo stock)
     {
@@ -184,7 +175,6 @@
 
     private void ValidateResponse(WebResponseContent content)
     {
-
     }
 
     private (DtLocationInfo, Dt_Task) UpdateStockAndTaskStatus(DtStockInfo stock, Dt_Task task)
@@ -304,7 +294,6 @@
                 // 鎵ц鏁版嵁搴撲簨鍔�
                 await _unitOfWorkManage.UseTranAsync(async () =>
                 {
-
                     // 娣诲姞鍘嗗彶浠诲姟
                     var isTaskHtyAdd = await _task_HtyRepository.AddDataAsync(taskHtyNG) > 0;
 
@@ -326,9 +315,15 @@
             // 鍒涘缓鍘嗗彶浠诲姟瀹炰緥妯″瀷
             var taskHty = CreateHistoricalTask(task);
 
+            if (task.TaskType == (int)TaskInboundTypeEnum.InQuality)
+            {
+                await _locationRepository.UpdateDataAsync(locationInf);
+                await _task_HtyRepository.AddDataAsync(taskHty);
+                await BaseDal.DeleteDataAsync(task);
+                return content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛");
+            }
             // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨�
             DtStockInfo stock = boxing == null ? CreateEmptyPalletStock(task, locationInf) : CreateFullPalletStock(task, locationInf, boxing);
-
 
             // 鎵ц鏁版嵁搴撲簨鍔�
             bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId, boxing);
@@ -432,7 +427,6 @@
                 throw new Exception("鏈壘鍒板搴斿尯鍩熶俊鎭�");
         }
 
-
         var boxDetail = boxing.BoxingInfoDetails.Adapt<List<DtStockInfoDetail>>();
         boxDetail.ForEach(x => { x.Status = (int)StockStateEmun.宸插叆搴�; });
         var stock = new DtStockInfo()
@@ -445,6 +439,9 @@
             AreaCode = area.AreaCode,
             LocationId = loation.Id,
             StockInfoDetails = boxDetail,
+            ProcessCode = boxing.ProcessCode,
+            NextProcessCode = boxing.NextProcessCode,
+            Remark = boxing.BoxingInfoDetails.Count().ToString(),
         };
 
         // 澶勭悊璇锋眰鍙傛暟
@@ -528,6 +525,7 @@
 
             case (int)TaskRelocationTypeEnum.Relocation:
                 return await CompleteTransferTaskAsync(task, stock);
+
             default:
                 return content.Error("浠诲姟绫诲瀷涓嶅瓨鍦�");
         }
@@ -538,6 +536,7 @@
     #region 璇锋眰浠诲姟鍏ュ簱
 
     #region
+
     /// <summary>
     /// 璇锋眰浠诲姟宸烽亾
     /// </summary>
@@ -572,7 +571,6 @@
                     return content.OK(data: taskDTO);
                 }
             }
-
 
             var stock = await _stockInfoRepository.QueryFirstNavAsync(x => x.PalletCode == input.PalletCode && x.IsFull);
             if (stock != null)
@@ -725,18 +723,23 @@
                     case "CH01":
                         areaIn = "CH001";
                         break;
+
                     case "JZ01":
                         areaIn = "JZ001";
                         break;
+
                     case "GW01":
                         areaIn = "GWSC1";
                         break;
+
                     case "CW01":
                         areaIn = "CWSC1";
                         break;
+
                     case "CW02":
                         areaIn = "CWSC2";
                         break;
+
                     default:
                         break;
                 }
@@ -768,7 +771,7 @@
         return content;
     }
 
-    #endregion
+    #endregion 璇锋眰浠诲姟鍏ュ簱
 
     public async Task<WebResponseContent> RequestTaskAsync(RequestTaskDto input)
     {
@@ -799,7 +802,7 @@
                     PalletCode = stock.PalletCode,
                     SourceAddress = input.Position,
                     CurrentAddress = input.Position,
-                    TaskState = (int)TaskInStatusEnum.InNew,
+                    TaskState = stock.LocationInfo.RoadwayNo.Contains("CH") ? (int)TaskInStatusEnum.InNew : (int)TaskInStatusEnum.Line_InFinish,
                     TaskType = (int)TaskInboundTypeEnum.InQuality,
                     TaskNum = BaseDal.GetTaskNo().Result,
                     Creater = "System", // 淇鎷煎啓閿欒
@@ -807,12 +810,15 @@
                     TaskId = 0,
                 };
 
-                var taskDTO = CreateTaskDTO(task);
+                var taskDTO = CreateTaskDTO(taskNew);
+                BaseDal.AddData(taskNew);
+                return content.OK(data: taskDTO);
                 // TODO璐ㄦ鍥炲簱
             }
 
             // 鏍规嵁浣嶇疆鏌ヨ鍖哄煙淇℃伅
-            var area = await QueryAreaInfoByPosition(input.Position.Replace("-1", ""));
+            var areaCode = Regex.Replace(input.Position, @"-(\d+)", "");
+            var area = await QueryAreaInfoByPosition(areaCode);
             if (area == null)
             {
                 return content.Error("璇ョ偣浣嶄笉鍦ㄥ尯鍩熷垪琛ㄤ腑瀛樺湪");
@@ -842,7 +848,6 @@
                 return await HandleErrorCells(input, area, serialNosError);
             }
 
-
             var boxing = CreateBoxingInfo(result, input.PalletCode);
             if (boxing == null) return content.Error("缁勭洏澶辫触");
 
@@ -857,6 +862,7 @@
 
         return content;
     }
+
     /// <summary>
     /// 鏇存柊浠诲姟璐т綅
     /// </summary>
@@ -872,11 +878,9 @@
                 return content.Error($"鏆傛湭鎵惧埌銆恵input.PalletCode}銆戠殑浠诲姟");
 
             return content = await UpdateExistingTask(input, task);
-
         }
         catch (Exception err)
         {
-
             throw;
         }
     }
@@ -891,10 +895,6 @@
         WebResponseContent content = new WebResponseContent();
         try
         {
-
-
-
-
             // 璋冪敤BaseDal.QueryFirstAsync鏂规硶锛屾煡璇换鍔�
             var task = await BaseDal.QueryFirstAsync(x => x.PalletCode == input.PalletCode);
             if (task != null && task.TaskState == (int)TaskInStatusEnum.InNew)
@@ -913,7 +913,7 @@
                     TaskType = task.TaskType,
                 };
                 return content.OK(data: task);
-            } 
+            }
 
             var stationManagers = _stationManagerRepository.QueryData(x => x.stationType == 6 && x.stationChildCode == input.Position).FirstOrDefault();
             if (stationManagers == null)
@@ -929,7 +929,6 @@
         }
         catch (Exception)
         {
-
             throw;
         }
     }
@@ -974,7 +973,7 @@
         };
     }
 
-    #endregion 璇锋眰浠诲姟鍏ュ簱
+    #endregion 澶栭儴鎺ュ彛鏂规硶
 
     #region 璇锋眰鍑哄簱锛堝疄鐩�&绌虹洏锛�
 
@@ -1126,7 +1125,7 @@
         };
     }
 
-    #endregion 璇锋眰鍑哄簱
+    #endregion 璇锋眰鍑哄簱锛堝疄鐩�&绌虹洏锛�
 
     #region 浠诲姟鐘舵�佹洿鏀�
 
@@ -1176,34 +1175,7 @@
         return content;
     }
 
-    #endregion
-
-    #region 鍑哄簱瑙g洏
-
-    /// <summary>
-    /// 鍑哄簱瑙g洏鎺ュ彛
-    /// </summary>
-    /// <param name="taskNum"></param>
-    /// <returns></returns>
-    public async Task<WebResponseContent> OutUnblockInterface(int taskNum)
-    {
-        WebResponseContent content = new WebResponseContent();
-        try
-        {
-            var task = await BaseDal.QueryFirstAsync(x => x.TaskNum == taskNum);
-            if (task == null)
-                return content.Error("鏈壘鍒颁换鍔�");
-            task.TaskState = (int)TaskOutStatusEnum.Line_OutFinish;
-            var taskHty = CreateHistoricalTask(task);
-        }
-        catch (Exception ex)
-        {
-            content.Error(ex.Message);
-        }
-        return content;
-    }
-
-    #endregion
+    #endregion 浠诲姟鐘舵�佹洿鏀�
 
     #region 鎸囧畾浠诲姟鍑哄簱
 
@@ -1230,8 +1202,19 @@
                 taskType = (int)TaskOutboundTypeEnum.OutQuality;
             else
                 taskType = (int)TaskOutboundTypeEnum.OutTray;
-            // 鍒涘缓骞舵坊鍔犱换鍔″埌鏁版嵁搴�
-            task = CreateTask(stockInfo, "1020-1", taskType);
+
+            if (stockInfo.AreaCode.Contains("CH"))
+            {
+                // 鍒涘缓骞舵坊鍔犱换鍔″埌鏁版嵁搴�
+                task = CreateTask(stockInfo, "1020-1", taskType);
+            }
+            else
+            {
+                if (stockInfo.LocationInfo.RoadwayNo == "JZSC1")
+                {
+                    task = CreateTask(stockInfo, "1359-4", taskType);
+                }
+            }
             //var taskId = await BaseDal.AddDataAsync(task);
             //if (taskId <= 0)
             //{
@@ -1269,6 +1252,7 @@
 
         return content;
     }
+
     private string GetWCSIpReceiveTask()
     {
         var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
@@ -1281,7 +1265,7 @@
         return wmsBase + ipAddress;
     }
 
-    #endregion
+    #endregion 鎸囧畾浠诲姟鍑哄簱
 
     #endregion 澶栭儴鎺ュ彛鏂规硶
 
@@ -1502,7 +1486,6 @@
                                             .Include(x => x.BoxingInfoDetails)
                                             .ExecuteCommandAsync();
                 }
-
             }
 
             var stocks = _stockInfoRepository.QueryData(x => x.AreaCode == stock.AreaCode && x.ProductionLine == stock.ProductionLine && x.SpecialParameterDuration != stock.SpecialParameterDuration);
@@ -1614,7 +1597,6 @@
                 _unitOfWorkManage.CommitTran();
                 return content.OK(data: task);
             }
-
         }
         catch (Exception ex)
         {
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 7f61b12..89e5155 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
@@ -1,22 +1,7 @@
-锘�
-using log4net.Core;
-using Mapster;
-using Masuit.Tools;
-using Masuit.Tools.Models;
-using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
-using SixLabors.Fonts.Tables.AdvancedTypographic;
-using System.Diagnostics;
-using WIDESEA_Common;
+锘縰sing Masuit.Tools;
 using WIDESEA_Core.Const;
-using WIDESEA_DTO;
 using WIDESEA_DTO.MOM;
 using WIDESEA_DTO.WMS;
-using WIDESEA_IStorageBasicRepository;
-using WIDESEA_IStoragIntegrationServices;
-using WIDESEA_Model.Models;
-using WIDESEA_StorageBasicRepository;
-using WIDESEA_StorageTaskRepository;
-using WIDESEA_StoragIntegrationServices;
 using WIDESEAWCS_Model.Models;
 
 namespace WIDESEA_StorageTaskServices;
@@ -24,6 +9,7 @@
 public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
 {
     #region 璇锋眰浠诲姟鍏ュ簱
+
     /// <summary>
     /// 璇锋眰鍏ュ簱
     /// </summary>
@@ -73,7 +59,7 @@
     }
 
     /// <summary>
-    /// 
+    ///
     /// </summary>
     /// <param name="input">璇锋眰鍙傛暟</param>
     /// <param name="flag">瀹炴绌烘鏍囪瘑</param>
@@ -156,10 +142,10 @@
     }
 
     #region 鐩存帴鍑哄簱浠诲姟
+
     private async Task<Dt_Task> CreateInToOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
     {
         //if (stationManager.stationType != 5) throw new Exception("閿欒鐨勮皟鍙�");
-
 
         input.EquiCodeMOM = "24MEJQ11-1006-1";
 
@@ -259,10 +245,11 @@
 
         return task;
     }
-    #endregion
 
+    #endregion 鐩存帴鍑哄簱浠诲姟
 
     #region 鍏ュ簱浠诲姟
+
     private async Task<Dt_Task> CreateInTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
     {
         if (stationManager.stationType != 1 && stationManager.stationType != 6) throw new Exception("閿欒鐨勮皟鍙�");
@@ -373,11 +360,13 @@
 
         return task;
     }
-    #endregion
+
+    #endregion 鍏ュ簱浠诲姟
 
     #region 搴撲綅鍒嗛厤
+
     /// <summary>
-    /// 
+    ///
     /// </summary>
     /// <param name="requestTask">璇锋眰鍙傛暟</param>
     /// <param name="isCheckRequest">鏄惁鏈娴嬪簱浣嶇被鍨�</param>
@@ -385,6 +374,7 @@
     private async Task<DtLocationInfo> RequestLocation(RequestTaskDto requestTask, bool isCheckRequest = false)
     {
         #region 鑾峰彇璐т綅
+
         try
         {
             List<DtLocationInfo> locations;
@@ -409,9 +399,11 @@
             Console.WriteLine(err.Message.ToString());
             return null;
         }
+
         #endregion 鑾峰彇璐т綅
     }
-    #endregion
+
+    #endregion 搴撲綅鍒嗛厤
 
     // 鑾峰彇宸ヨ壓鐢宠
     private async Task<ProcessApplyDto> GetProcessApplyAsync(RequestTaskDto input, ResultTrayCellsStatus content)
@@ -429,7 +421,7 @@
         };
     }
 
-    #endregion 璇锋眰绌烘鍑哄簱
+    #endregion 璇锋眰浠诲姟鍏ュ簱
 
     #region 鍒涘缓绌烘鍑哄簱浠诲姟
     public async Task<Dt_Task> CreateEmptyOutTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
@@ -469,13 +461,13 @@
         }
         catch (Exception ex)
         {
-
             throw new Exception(ex.Message);
         }
     }
     #endregion
 
     #region 鐩存帴鍑哄簱浠诲姟瀹屾垚
+
     public async Task<WebResponseContent> CompleteInToOutTaskAsync(Dt_Task task)
     {
         WebResponseContent content = new WebResponseContent();
@@ -494,7 +486,6 @@
             return content.Error(ex.Message);
         }
     }
-    #endregion
 
     #region 寮傚父鍙d换鍔℃娴�
     public async Task<Dt_Task> CheckAbnormalTaskAsync(RequestTaskDto input, Dt_StationManager stationManager)
@@ -634,12 +625,12 @@
             throw new Exception(err.Message); // 鎶涘嚭寮傚父浠ヤ究澶栭儴鎹曡幏
         }
     }
-    #endregion
+
+    #endregion MyRegion
 
     #region 妫�娴嬮珮娓╁簱鏄惁鏈夊彲鍑哄簱搴撳瓨
     public WebResponseContent StockCheckingAsync()
     {
-
         WebResponseContent webResponseContent = new WebResponseContent();
         try
         {
@@ -663,7 +654,6 @@
                         if (stockInfo.Count <= 0) continue;
                         foreach (var item in stockInfo)
                         {
-
                             var hasTask = BaseDal.QueryFirst(x => x.PalletCode == item.PalletCode);
                             if (hasTask != null)
                             {
@@ -681,7 +671,6 @@
                             task.NextAddress = "002-000-002";
                             // 鍒涘缓浠诲姟DTO
                             WMSTaskDTO taskDTO = CreateTaskDTO(task);
-
 
                             var configs = _configService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress);
                             var wmsBase = configs.FirstOrDefault(x => x.ConfigKey == SysConfigConst.WCSIPAddress)?.ConfigValue;
@@ -718,7 +707,7 @@
         }
     }
 
-    #endregion
+    #endregion 妫�娴嬮珮娓╁簱鏄惁鏈夊彲鍑哄簱搴撳瓨
 
     #region 甯告俯琛ョ┖鎵樼洏鑷冲垎瀹�
     public async Task<WebResponseContent> GetFROutTrayToCW(RequestTaskDto taskDTO)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
index 5eb3c43..21a8be2 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs
@@ -1,21 +1,9 @@
-锘縰sing System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Reflection.Metadata;
-using System.Text;
-using System.Threading.Tasks;
+锘縰sing Masuit.Tools;
 using WIDESEA_Core.Const;
-using WIDESEA_Core.DB.Models;
 using WIDESEA_DTO.MOM;
 using WIDESEA_DTO.WMS;
-using WIDESEA_DTO;
-using WIDESEA_Model.Models;
-using WIDESEA_Repository;
-using WIDESEAWCS_BasicInfoRepository;
-using Masuit.Tools;
 
 namespace WIDESEA_StorageTaskServices;
-
 
 public partial class Dt_TaskService : ServiceBase<Dt_Task, IDt_TaskRepository>, IDt_TaskService
 {
@@ -140,14 +128,19 @@
         {
             case "CH01":
                 return "CH001";
+
             case "JZ01":
                 return "JZ001";
+
             case "GW01":
                 return "GWSC1";
+
             case "CW01":
                 return "CWSC1";
+
             case "CW02":
                 return "CWSC2";
+
             default:
                 return string.Empty;
         }
@@ -240,4 +233,4 @@
     {
         return await _areaInfoRepository.QueryFirstAsync(x => x.Spare1.Contains(position));
     }
-}
+}
\ No newline at end of file
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
index 8aee765..eb3f432 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskController.cs
@@ -103,7 +103,7 @@
     /// <summary>
     /// 绌烘墭鐩�&婊$洏鍑哄簱璇锋眰
     /// </summary>
-    /// <param name="input">璇锋眰鏁版嵁</param>
+    /// <param name="request">璇锋眰鏁版嵁</param>
     /// <returns></returns>
     [HttpPost, AllowAnonymous, Route("RequestTrayOutTaskAsync")]
     public async Task<WebResponseContent> RequestTrayOutTaskAsync([FromBody] RequestOutTaskDto request)
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
new file mode 100644
index 0000000..0220b35
--- /dev/null
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
@@ -0,0 +1,30 @@
+{
+    "Logging": {
+        "LogLevel": {
+            "Default": "Information",
+            "Microsoft.AspNetCore": "Warning"
+        }
+    },
+    "AllowedHosts": "*",
+    "urls": "http://*:5000",
+    "MainDB": "DB_WIDESEA", //褰撳墠椤圭洰鐨勪富搴擄紝鎵�瀵瑰簲鐨勮繛鎺ュ瓧绗︿覆鐨凟nabled蹇呴』涓簍rue
+    //杩炴帴瀛楃涓�
+    //"ConnectionString": "HTI6FB1H05Krd07mNm9yBCNhofW6edA5zLs9TY~MNthRYW3kn0qKbMIsGp~3yyPDF1YZUCPBQx8U0Jfk4PH~ajNFXVIwlH85M3F~v_qKYQ3CeAz3q1mLVDn8O5uWt1~3Ut2V3KRkEwYHvW2oMDN~QIDXPxDgXN0R2oTIhc9dNu7QNaLEknblqmHhjaNSSpERdDVZIgHnMKejU_SL49tralBkZmDNi0hmkbL~837j1NWe37u9fJKmv91QPb~16JsuI9uu0EvNZ06g6PuZfOSAeFH9GMMIZiketdcJG3tHelo=",
+    //"ConnectionString": "Data Source=192.168.5.251;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+    "ConnectionString": "Data Source=127.0.0.1;Initial Catalog=WIDESEA_WMS2F08;User ID=sa;Password=P@ssw0rd;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+    //"ConnectionString": "Data Source=192.168.20.251;Initial Catalog=WIDESEA_WMSDB;User ID=sa;Password=123456@gy;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
+    
+    //璺ㄥ煙
+    "Cors": {
+        "PolicyName": "CorsIpAccess", //绛栫暐鍚嶇О
+        "EnableAllIPs": true, //褰撲负true鏃讹紝寮�鏀炬墍鏈塈P鍧囧彲璁块棶銆�
+        // 鏀寔澶氫釜鍩熷悕绔彛锛屾敞鎰忕鍙e彿鍚庝笉瑕佸甫/鏂滄潌锛氭瘮濡俵ocalhost:8000/锛屾槸閿欑殑
+        // 娉ㄦ剰锛宧ttp://127.0.0.1:1818 鍜� http://localhost:1818 鏄笉涓�鏍风殑
+        "IPs": "http://127.0.0.1:8080,http://localhost:8080,http://127.0.0.1:8081,http://localhost:8081"
+    },
+    "ApiName": "WIDESEA",
+    "ExpMinutes": 120,
+
+    // 闇�瑕佺Щ搴撶殑琛�
+    "TransfertRows": "1,4,5,8"
+}
diff --git "a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/ExcelExport/\345\272\223\345\255\230\344\277\241\346\201\257.xlsx" "b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/ExcelExport/\345\272\223\345\255\230\344\277\241\346\201\257.xlsx"
new file mode 100644
index 0000000..f490e5c
--- /dev/null
+++ "b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/bin/Debug/net6.0/ExcelExport/\345\272\223\345\255\230\344\277\241\346\201\257.xlsx"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WCS\344\270\216\350\276\223\351\200\201\347\272\277\344\272\244\344\272\222\345\215\217\350\256\256V20231130.xls" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WCS\344\270\216\350\276\223\351\200\201\347\272\277\344\272\244\344\272\222\345\215\217\350\256\256V20231130.xls"
index d5fd4ba..5e66dda 100644
--- "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WCS\344\270\216\350\276\223\351\200\201\347\272\277\344\272\244\344\272\222\345\215\217\350\256\256V20231130.xls"
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/WCS\344\270\216\350\276\223\351\200\201\347\272\277\344\272\244\344\272\222\345\215\217\350\256\256V20231130.xls"
Binary files differ
diff --git "a/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$WCS-\350\276\223\351\200\201\344\272\244\344\272\222\350\241\2502024-3-26.V1.xlsx" "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$WCS-\350\276\223\351\200\201\344\272\244\344\272\222\350\241\2502024-3-26.V1.xlsx"
new file mode 100644
index 0000000..e4caca3
--- /dev/null
+++ "b/\351\241\271\347\233\256\350\265\204\346\226\231/\351\200\232\344\277\241\345\215\217\350\256\256/~$WCS-\350\276\223\351\200\201\344\272\244\344\272\222\350\241\2502024-3-26.V1.xlsx"
Binary files differ

--
Gitblit v1.9.3