From a9efc1becf3ac0b3fd46b135fed6dcdc303d7cad Mon Sep 17 00:00:00 2001
From: 刘磊 <1161824510@qq.com>
Date: 星期四, 19 十二月 2024 15:41:24 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/BaiBuLiKu

---
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue                             |   59 +++++
 .gitignore                                                                                                       |    1 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs                         |   14 +
 Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue                                            |   67 ++++++
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue                   |   22 --
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue                      |    5 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue                    |   64 +++++
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs                  |    4 
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm |    0 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue                       |  108 +++++-----
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-wal |    0 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue                          |   42 ++++
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs                  |   52 +++-
 Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json                                         |    3 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs                                   |    4 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue                                    |    7 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-shm      |    0 
 Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue                          |    2 
 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 
 /dev/null                                                                                                        |   31 ---
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue                    |   64 +++++
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db          |    0 
 Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Partial/RequestInTaskAsync.cs             |   13 
 Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue                         |   21 --
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-wal      |    0 
 Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/SemanticSymbols.db-shm |    0 
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/SemanticSymbols.db     |    0 
 Code Management/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/CopilotIndices/17.12.31.40377/CodeChunks.db          |    0 
 29 files changed, 397 insertions(+), 186 deletions(-)

diff --git a/.gitignore b/.gitignore
index 0fbced6..1df5db4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1562,3 +1562,4 @@
 *.BuildWithSkipAnalyzers
 /Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
 /Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
+/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
diff --git a/Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar b/Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar
deleted file mode 100644
index ed8d8a6..0000000
--- a/Code Management/WCS/WIDESEAWCS_Client/WIDESEAWCS_Client11.rar
+++ /dev/null
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue
new file mode 100644
index 0000000..6419f9c
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/components/DeviceLineVo.vue
@@ -0,0 +1,67 @@
+<template>
+     <div class="Linebox">
+    <div class="card">
+      <div class="card-header">
+        <div id="lines2" >
+          <div class="card-body">{{device.deviceName}}<br/>
+            -{{ device.data.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.commandAfter.conveyorLineTaskNum }}</li>
+          <li class="list-group-item list-group-item-secondary">鎵樼洏鍙凤細{{ device.data.commandAfter.conveyorLineBarcode }}</li>
+          <li class="list-group-item list-group-item-secondary">缁堢偣鍦板潃锛歿{ device.data.commandAfter.conveyorLineTargetAddress }}</li>
+          <li class="list-group-item list-group-item-secondary">鏄惁鏈夌洏锛歿{ device.data.commandAfter.hasPallet }}</li>
+          <li class="list-group-item list-group-item-secondary">鎶ヨ浠g爜锛歿{ device.data.commandAfter.conveyorLineAlarm }}</li>
+          <li class="list-group-item list-group-item-secondary">璇锋眰鍙嶉锛歿{ device.data.commandAfter.responState }}</li>
+          <li  :class="device.data.commandAfter.interactiveSignal !=0 ? 'list-group-item list-group-item-success'  :'list-group-item list-group-item-danger'">浜や簰淇″彿</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: 300px;
+  float: left;
+}
+.box1 {
+  float: left;
+}
+.card-body {
+  text-align: center;
+  border-radius: 6%;
+}
+.Stacker {
+  background-color: burlywood;
+}
+.lis {
+  float: left;
+  width: 266px;
+}
+</style>
\ No newline at end of file
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
index 47c9bd9..98eb092 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/AgingLibrary.vue
@@ -1,78 +1,74 @@
 <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>
+ <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 StackerOne = reactive({
-  deviceName: "",
-  data: {
-  }
-});
+const Stackers = reactive([]);
 
 // 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
-const devices = reactive([
-  { deviceName: "闄堝寲鍑哄簱杈撻�佺嚎", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
-  { deviceName: "闄堝寲鍏ュ簱杈撻�佺嚎", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
-  // { deviceName: "鍫嗗灈鏈�1", data: { command: {}, commandWrite: {}, writeInteractiveSignal: [] } },
-  // Add all devices similarly...
-]);
+const devices = reactive([]);
 
-// 鑾峰彇鐘舵�佺被鍚嶏紙浼樺寲鐘舵�佸垽鏂級
-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'; // 榛樿璀﹀憡鐘舵��
+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 => {
-    const device = devices.find(d => d.deviceName === eventData.deviceName);
-    if (device) {
-      // 浣跨敤鎵╁睍杩愮畻绗︽洿鏂板璞″睘鎬э紝淇濇寔鍝嶅簲鎬�
-      device.data = { ...device.data, ...eventData.data };
+    console.log(eventData)
+    if (eventData.deviceName === "闄堝寲鍏ュ簱杈撻�佺嚎"||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鍙峰爢鍨涙満"||eventData.deviceName == "闄堝寲2鍙峰爢鍨涙満") {
+      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 });
+        }
+      }
+    }
+  })
 });
 </script>
 <style scoped>
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
index 91440c6..3d46097 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/FormationLibrary.vue
@@ -33,7 +33,7 @@
           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;
@@ -47,23 +47,3 @@
 });
 </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
index f6b7a83..61d0435 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Staticlibrary.vue
@@ -29,6 +29,7 @@
 // 鐩戝惉璁惧鏁版嵁鍙樺寲
 onMounted(() => {
   eventBus.on('locationData', eventData => {
+    console.log(eventData)
     if (eventData.deviceName === "闈欑疆杈撻�佺嚎") {
 
       if (devices.length <= 0) {
@@ -66,10 +67,6 @@
         }
       }
     }
-    // if (eventData.deviceName == "闄堝寲1鍙峰爢鍨涙満") {
-    //   StackerOne.deviceName = eventData.deviceName;
-    //   StackerOne.data = eventData.data
-    // }
   })
 });
 </script>
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
index c24eac2..4a17acb 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Twoletters.vue
@@ -46,24 +46,3 @@
   });
 });
 </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
index 2effa57..cf2b85a 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/Volume.vue
@@ -1,9 +1,58 @@
 <template>
-    <div>
-        鍒嗗搴�
-    </div>
+  <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">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 <script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => { 
+    if (eventData.deviceName === "鍒嗗3绾垮叆搴撹緭閫佺嚎"||eventData.deviceName === "鍒嗗鍑哄簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    }
+  })
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "鍒嗗3鍙峰爢鍨涙満"||eventData.deviceName == "鍒嗗2鍙峰爢鍨涙満") {
+      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 });
+        }
+      }
+    }
+  })
+})
+</script>
+<style scoped>
 
-
-</script>
\ No newline at end of file
+</style>
\ No newline at end of file
diff --git a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue
new file mode 100644
index 0000000..dc57889
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/baozhuang.vue
@@ -0,0 +1,42 @@
+<template>
+  <el-row>
+    <el-col :span="21">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
+</template>
+<script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName === "鍖呰鍑哄簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    
+    }
+  })
+
+})
+
+</script>
+<style scoped>
+
+</style>
\ 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
index 1f6369c..cf09620 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/hightemperature.vue
@@ -1,9 +1,63 @@
 <template>
-    <div>
-        楂樻俯搴�
-    </div>
+  <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">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 <script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => {
+    // console.log(eventData)
+   
+      console.log(eventData)
+    
+    if (eventData.deviceName === "鑰佸寲鍏ュ簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.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 });
+        }
+      }
+    }
+  })
+})
+</script>
+<style scoped>
 
-
-</script>
\ No newline at end of file
+</style>
\ 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
index 520ee72..07cab63 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/Craftlibrary/roomtemperature.vue
@@ -1,9 +1,63 @@
 <template>
-    <div>
-        甯告俯搴�
-    </div>
+  <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">
+      <DeviceLineVo v-for="device in devices" :key="device.deviceName" :device="device" />
+    </el-col>
+  </el-row>
 </template>
 <script setup>
+import { onMounted, ref, reactive, toRaw } from "vue";
+import eventBus from "@/uitils/eventBus";
+import DeviceLineVo from "@/components/DeviceLineVo.vue";
+import DeviceStacker from "@/components/DeviceStacker.vue";
+// 鍫嗗灈鏈�
+const Stackers = reactive([]);
+var  i=0;
+// 璁惧鍒楄〃锛堜慨鏀归噸澶嶈澶囧悕绉帮級
+const devices = reactive([]);
+const num = reactive([])
+onMounted(() => {
+  eventBus.on('stackerData', eventData => {
+    // console.log(eventData)
+   
+      console.log(eventData)
+    
+    if (eventData.deviceName === "甯告俯鍏ュ簱杈撻�佺嚎") {
+    if (devices.length <= 0) {
+        devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+      }
+      else {
+        const device = devices.find(c => c.childDeviceCode == eventData.data.childDeviceCode)
+        if(device){
+          device.data = eventData.data
+        }else{
+          devices.push({ deviceName: eventData.deviceName, data: eventData.data, childDeviceCode: eventData.data.childDeviceCode });
+        }
+      }
+    
+    }
+  })
+  eventBus.on('stackerData', eventData => {
+    if (eventData.deviceName == "甯告俯1鍙峰爢鍨涙満"||eventData.deviceName == "甯告俯2鍙峰爢鍨涙満"||eventData.deviceName == "甯告俯3鍙峰爢鍨涙満"||eventData.deviceName == "甯告俯4鍙峰爢鍨涙満") {
+      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 });
+        }
+      }
+    }
+  })
+})
+</script>
+<style scoped>
 
-
-</script>
\ No newline at end of file
+</style>
\ 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
index 725783b..1daa868 100644
--- a/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
+++ b/Code Management/WCS/WIDESEAWCS_Client/src/views/Devicestatus/indexLibrary.vue
@@ -5,14 +5,15 @@
        <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="/Twoletters" >浜屽皝</RouterLink>
        <RouterLink class="navlink" to="/Volume" >鍒嗗搴�</RouterLink>
-       <RouterLink class="navlink" to="/highTemperature" >楂樻俯搴�</RouterLink>
+       <RouterLink class="navlink" to="/highTemperature" >鑰佸寲搴�</RouterLink>
        <RouterLink class="navlink" to="/roomTemperature" >甯告俯搴�</RouterLink>
+       <RouterLink class="navlink" to="/Baozhuang" >鍖呰</RouterLink>
     </div>
      <!--娉ㄦ剰浜嬮」-->
     <div class="area">
-           <RouterView></RouterView>
+           <RouterView :key="$route.fullPath" ></RouterView>
     </div>
 </template>
 <script setup>
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
index c6d1c18..6be37f1 100644
--- 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
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-shm b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-shm
new file mode 100644
index 0000000..2cd98eb
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-shm
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-wal b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-wal
new file mode 100644
index 0000000..96493a9
--- /dev/null
+++ b/Code Management/WCS/WIDESEAWCS_Server/.vs/WIDESEAWCS_Server/CopilotIndices/17.12.31.40377/CodeChunks.db-wal
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
index 2a83572..09d46f0 100644
--- 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
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
index 547c4bd..09a97ff 100644
--- 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
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
index 9760878..d55d4af 100644
--- 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
Binary files differ
diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
index 7496183..44f23f1 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Server/appsettings.json
@@ -13,9 +13,8 @@
   //杩炴帴瀛楃涓�
   //"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=.\\LIULEI;Initial Catalog=WIDESEAWCS_TEST;User ID=sa;Password=123456;Integrated Security=False;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False",
   //"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",
+  "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", //绛栫暐鍚嶇О
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 bc4f8f6..a64d5e3 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/ConveyorLineJob/CommonConveyorLineJob.cs
@@ -108,6 +108,27 @@
             ConveyorLineTaskCommandWrite commandWrite = conveyorLine.ReadCustomer<ConveyorLineTaskCommandWrite>(childDeviceCode, "DeviceCommand");
             if (command != null && commandWrite != null)
             {
+
+                #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
+
+                var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
+                if (tokenInfos == null || !tokenInfos.Any())
+                {
+                    //throw new Exception(conveyorLine.DeviceName + "缂撳瓨涓湭鎵惧埌Token缂撳瓨");
+                    return;
+                }
+                var userTokenIds = tokenInfos?.Select(x => x.Token_ID).ToList();
+                var userIds = tokenInfos?.Select(x => x.UserId).ToList();
+
+                object obj = new
+                {
+                    command,
+                    commandWrite
+                };
+                _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
+
+                #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
+
                 var structs = BitConverter.GetBytes(commandWrite.WriteInteractiveSignal).Reverse().ToArray().ToBoolArray();
 
                 List<DeviceProtocolDetailDTO>? deviceProtocolDetails = conveyorLine.DeviceProtocolDetailDTOs.Where(x => x.DeviceProParamName == nameof(ConveyorLineTaskCommand.InteractiveSignal)).ToList();
@@ -190,25 +211,6 @@
                     }
                 }
 
-                #region 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
-
-                var tokenInfos = _cacheService.Get<List<UserInfo>>("Cache_UserToken");
-                if (tokenInfos == null || !tokenInfos.Any())
-                {
-                    //throw new Exception(conveyorLine.DeviceName + "缂撳瓨涓湭鎵惧埌Token缂撳瓨");
-                    return;
-                }
-                var userTokenIds = tokenInfos?.Select(x => x.Token_ID).ToList();
-                var userIds = tokenInfos?.Select(x => x.UserId).ToList();
-
-                object obj = new
-                {
-                    command,
-                    commandWrite
-                };
-                _noticeService.LineData(userIds?.FirstOrDefault(), userTokenIds, new { conveyorLine.DeviceName, childDeviceCode, data = obj });
-
-                #endregion 璋冪敤浜嬩欢鎬荤嚎閫氱煡鍓嶇
             }
         }
 
@@ -234,6 +236,18 @@
                     {
                         HandleTaskOut(conveyorLine, command, childDeviceCode, ProtocalDetailValue, task);
                     }
+                    else
+                    {
+                        var next = task.NextAddress;
+                        var taskCommand = MapTaskCommand(task, command);
+                        task.NextAddress = next;
+                        conveyorLine.SendCommand(taskCommand, childDeviceCode);
+
+                        ConsoleHelper.WriteWarningLine($"銆恵conveyorLine._deviceName}銆戜换鍔″彿锛氥�恵command.TaskNum}銆�,鎵樼洏鏉$爜锛氥�恵command.Barcode}銆戝凡鍒拌揪銆恵childDeviceCode}銆戣姹傛壂鐮佸叆搴�,涓嬩竴鐩爣鍦板潃銆恵taskCommand.TargetAddress}銆�");
+
+                        ConveyorLineSendFinish(conveyorLine, childDeviceCode, ProtocalDetailValue, true);
+                        _taskService.UpdateTaskStatusToNext(task);
+                    }
                 }
                 else
                 {
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 3d3799d..83311b0 100644
--- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
+++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_Tasks/StackerCraneJob/CommonStackerCraneJob.cs
@@ -197,8 +197,8 @@
         private Dt_Task? GetTask(CommonStackerCrane commonStackerCrane)
         {
             Dt_Task task;
-            var taskRun = _taskRepository.QueryFirst(x => x.Roadway == commonStackerCrane.DeviceCode && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting));
-            if (taskRun != null) { return null; }
+            //var taskRun = _taskRepository.QueryFirst(x => x.Roadway == commonStackerCrane.DeviceCode && (x.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting || x.TaskState == (int)TaskInStatusEnum.SC_InExecuting));
+            //if (taskRun != null) { return null; }
             if (commonStackerCrane.LastTaskType == null)
             {
                 task = _taskService.QueryStackerCraneTask(commonStackerCrane.DeviceCode);
diff --git a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
index 1317c2e..426de9b 100644
--- a/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
+++ b/Code Management/WMS/WIDESEA_WMSClient/src/views/widesea_wms/stock/Dt_BillGroupStock.vue
@@ -56,7 +56,7 @@
             { field: 'isFull', title: '搴撳瓨绫诲瀷', type: 'bool', width: 110, align: 'left', bind: { key: "isFull", data: [] }, },
             { field: 'linedProcessFeedbackTime', title: '宸ヨ壓寮�濮嬫椂闂�', type: 'string', width: 110, align: 'left',},
             { field: 'specialParameterDuration', title: '宸ヨ壓鏃堕暱', type: 'string', width: 110, align: 'left', sort: true },
-            { field: 'outboundTime', title: '搴斿嚭搴撴椂闂�', type: 'string', width: 110, align: 'left',  },
+            { field: 'outboundTime', title: '搴斿嚭搴撴椂闂�', type: 'string', width: 110, align: 'left', sort: true  },
             { field: 'productionLine', title: '鐢熶骇浜х嚎', type: 'string', width: 110, align: 'left',  },
             { field: 'areaCode', title: '搴撳尯', type: 'string', width: 110, align: 'left', bind: { key: "AreaType", data: [] } },
             { field: 'remark', title: '鐢佃姱鏁伴噺', type: 'string', width: 120, align: 'left',  },
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
index d14396c..3a43859 100644
--- 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
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
index d4f8802..65c123f 100644
--- 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
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
index ffa0cf0..e45e67f 100644
--- 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
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
index 7136fc2..4f3f027 100644
--- 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
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 da63e3c..6c10ac6 100644
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
+++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_Core/BaseServices/ServiceBase.cs
@@ -165,11 +165,11 @@
                     }
                     return sortDic;
                 }
-                else if (propertyInfo.Any(x => x.Name == pageData.Sort))
+                else if (propertyInfo.Any(x => x.Name.ToUpper() == pageData.Sort.ToUpper()))
                 {
                     return new Dictionary<string, OrderByType> {
                         {
-                            pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString() ? OrderByType.Asc : OrderByType.Desc
+                            pageData.Sort,pageData.Order?.ToLower() == OrderByType.Asc.ToString().ToLower()? OrderByType.Asc : OrderByType.Desc
                         } };
                 }
             }
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 dc1480b..ffd4a8a 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
@@ -155,13 +155,13 @@
             {
                 SlotNo = x.OrderNo.ToInt32(),
                 SerialNo = x.SerialNumber,
-                SerialNoResult = isNG,
+                SerialNoResult = true, //isNG,
                 ParameterInfo = new List<ParameterInfoOutput> {
                     new ParameterInfoOutput() {
                         Value = outHours.ToString(),
                         ParameterCode =parameterInfo.ParameterCode,
                         ParameterDesc = parameterInfo.Description,
-                        ParameterResult  = isNG.ToString(),
+                        ParameterResult  = "OK", //isNG.ToString(),
                         TargetValue = parameterInfo.TargetValue,
                         LowerLomit = parameterInfo.LowerSpecificationsLimit,
                         UpperLimit = parameterInfo.UpperSpecificationsLimit,
@@ -835,7 +835,15 @@
                 if (result.SerialNos.Count <= 0)
                 {
                     // 绌烘墭鐩樺叆搴撻�昏緫
-                    return await RequestTrayInTaskAsync(input);
+                    var staion = _stationManagerRepository.QueryFirst(x => x.stationChildCode == input.Position && x.stationType == 1 && x.remark == "IN");
+                    if (staion != null)
+                    {
+                        return await HandleErrorCells(input, area);
+                    }
+                    else
+                    {
+                        return await RequestTrayInTaskAsync(input);
+                    }
                 }
                 else
                     return content.Error(result.MOMMessage);
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 21a8be2..363e05c 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
@@ -161,7 +161,7 @@
     /// <summary>
     /// 鐢佃姱NG閫佽嚦NG鍙�
     /// </summary>
-    private async Task<WebResponseContent> HandleErrorCells(RequestTaskDto input, Dt_AreaInfo area, List<SerialNoDto> serialNosError)
+    private async Task<WebResponseContent> HandleErrorCells(RequestTaskDto input, Dt_AreaInfo area, List<SerialNoDto> serialNosError = null)
     {
         WebResponseContent content = new WebResponseContent();
         // TODO 鍒涘缓浠诲姟閫佽嚦NG鎺掑嚭鍙�
@@ -170,11 +170,12 @@
         {
             throw new Exception("鏈壘鍒癗G鍏ュ簱绔欏彴閰嶇疆");
         }
-        List<string> NGStation = stationManagers.Roadway.Split(',').ToList();
-        if (NGStation.Count <= 0)
-        {
-            NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
-        }
+        //List<string> NGStation = stationManagers.Roadway.Split(',').ToList();
+        //if (NGStation.Count <= 0)
+        //{
+        //    NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
+        //}
+        List<string> NGStation = stationManagers.stationNGChildCode.Split(',').ToList();
         content = await CreateNewTask(input, NGStation, 2);
         return content.Error("瀛樺湪寮傚父鐢佃姱");
     }
diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
deleted file mode 100644
index 6a31190..0000000
--- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/appsettings.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
-  "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=.\\LIULEI;Initial Catalog=WIDESEA_WMSDB_BBMain;User ID=sa;Password=123456;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"
-}

--
Gitblit v1.9.3