From 74173fd310569a79104bfe1beb97e73890c4cda9 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 20 八月 2024 14:10:28 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes

---
 hangzhoumesParent/gateway/src/main/resources/application.yml                                                                             |    2 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml                                                  |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java                                               |    3 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java                                                 |   10 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java                                   |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java                               |   55 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml                                                      |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml                                                     |    6 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java    |   14 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java                                             |   19 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java        |    8 
 hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml                                                    |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java         |   27 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java                                    |   34 
 UI-Project/src/views/PurchaseReturn/purchaseStorage.vue                                                                                  |   51 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java                         |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java                           |    7 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java                                          |   10 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java                                   |   78 ++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java                                 |    4 
 UI-Project/src/layout/MainErpView.vue                                                                                                    |   17 
 UI-Project/src/views/Identify/identify.vue                                                                                               |   95 ++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java                                  |   97 --
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml                                                       |    2 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java                                        |   36 -
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java          |   25 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml                                  |    5 
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                     |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java           |   25 
 hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java                              |   12 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java                 |   14 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java |  215 +++--
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java                                           |  101 +++
 UI-Project/src/views/largescreen/largescreen.vue                                                                                         |   37 
 UI-Project/config.js                                                                                                                     |    8 
 UI-Project/src/views/StockBasicData/stockBasicData.vue                                                                                   |   10 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java                                           |   86 -
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java        |   58 -
 UI-Project/src/lang/zh.js                                                                                                                |    5 
 UI-Project/src/utils/constants.js                                                                                                        |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml                                              |    4 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java                                |   47 -
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java                                     |   17 
 /dev/null                                                                                                                                |   28 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java                  |  100 +-
 UI-Project/src/views/GlassStorage/MaterialRackManagement.vue                                                                             |    5 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java                |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java                                                      |   34 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java                     |   29 
 UI-Project/src/views/PurchaseReturn/purchaseReturn.vue                                                                                   |  301 +++++++--
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java           |   42 
 51 files changed, 958 insertions(+), 853 deletions(-)

diff --git a/UI-Project/config.js b/UI-Project/config.js
index 9a4f798..8801d0c 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,10 +1,10 @@
 export default {
- serverUrl: "10.153.19.150:88/api",
+//  serverUrl: "10.153.19.150:88/api",
 //  serverUrl: "192.168.1.199:88/api",
-//  serverUrl: "127.0.0.1:88/api",
-  serverUrl2: "10.153.19.150:88"
+ serverUrl: "127.0.0.1:88/api",
+  // serverUrl2: "10.153.19.150:88"
   // serverUrl2: "192.168.1.199:88"
-    // serverUrl2: "127.0.0.1:88"
+    serverUrl2: "127.0.0.1:88"
 
   //serverUrl:"res.abeim.cn"
 }
\ No newline at end of file
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index 01b7556..ff52e1c 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -434,6 +434,11 @@
         scrapquantity: '鎶ュ簾鏁伴噺',
         number: '鏁伴噺',
         method: '鍔犲伐鏂瑰紡',
+        innumber: '宸插叆鏁伴噺',
+        productstatus: '鐢熶骇鐘舵��',
+        projectnumber: '宸ョ▼鍙�',
+        right: '姝e父',
+        stop: '缁堟',
     },
     reportmanage:{
         productiontime :'鐢熶骇鏃堕棿',
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index ba2c234..8fdf761 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -172,10 +172,6 @@
                alt=""
                style="max-width: 100%;max-height: 100%">
           <h3 style="margin: 1rem  ;font-weight: bold;width: 33vw;"> {{ $t('main.titleFirst') }}{{ userName }}{{ $t('main.titleLast') }}</h3>
-          <!-- <div class="header-left">
-            <el-button :icon="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" @click="toggleCollapse"
-              style="height:30px;"></el-button>
-          </div> -->
           <span style="height: 70%;width: 78vw;margin-top: 1rem;">
             <!-- <el-button class="sys-quit"
                        @click="quit"
@@ -191,10 +187,12 @@
                 <SwitchButton size=""/>{{ $t('main.quit') }}
               </el-icon>
             </el-button>
-            <!-- <div class="header-left">
-            <el-button :icon="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" @click="toggleCollapse"
-              style="height:30px;"></el-button>
-          </div> -->
+            <div class="header-left">
+              <el-button  @click="toggleCollapse"
+              style="height:30px;">鈽�</el-button>
+            <!-- <el-button :icon="isCollapse ? 'el-icon-s-unfold' : 'el-icon-s-fold'" @click="toggleCollapse"
+              style="height:30px;"></el-button> -->
+          </div>
           </span>
         </div>
       </el-header>
@@ -454,4 +452,7 @@
     transform: translateX(0);
   }
 }
+.header-left{
+  margin-left: -350px;
+}
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index b551cfb..69000bc 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,4 +1,4 @@
 //  export const WebSocketHost = "192.168.1.199";
-export const WebSocketHost = "10.153.19.150";
-// export const WebSocketHost = "127.0.0.1";
+// export const WebSocketHost = "10.153.19.150";
+export const WebSocketHost = "127.0.0.1";
 export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
index c41ce56..7a0d18c 100644
--- a/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
+++ b/UI-Project/src/views/GlassStorage/MaterialRackManagement.vue
@@ -4,7 +4,7 @@
       <div
         slot="header"
         class="clearfix"
-        style="display: flex; align-items: center"
+        style="display: flex; align-items: center;margin-top: -20px;"
       >
         <!-- 宸︿晶鎸夐挳缁� -->
         <div>
@@ -16,9 +16,8 @@
           >
           <el-button type="success" size="mini">鍚婅浣嶅叆搴�</el-button>
         </div>
-
         <!-- 鍙充晶閫夋嫨妗� -->
-        <el-form-item style="margin-top: 15px; width: 150px">
+        <el-form-item style="margin-top: 15px; width: 150px;margin-left: 10px;">
           <el-select v-model="formData2.dzw" placeholder="璇烽�夋嫨鍚婅浣�">
             <el-option label="鍚婅浣�1" value="鍚婅浣�1"></el-option>
             <el-option label="鍚婅浣�2" value="鍚婅浣�2"></el-option>
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index d973668..cfac9d0 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -21,7 +21,7 @@
       @click="showDialog(rect.glass_id)"  
       :style="{ position: 'absolute', 
       top: `${rect.y_axis}px`, left: `${rect.x_axis}px`, width: `${rect.width}px`, height: `${rect.height}px`,
-      backgroundColor: getRectColor(rect.glass_state)
+      backgroundColor: rect.isActive ? '#ADFF2F' : getRectColor(rect.glass_state)
        }"  
     >
      <!-- 绠ご -->  
@@ -34,7 +34,7 @@
   </div> 
    </div>
   </el-scrollbar>
-  <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
+  <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
         <el-button type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)"  style="width: 140px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
@@ -76,7 +76,16 @@
 function showDialog(glassId: number) {  
   currentGlassId.value = glassId;  
   blind.value = true;  
+  adjustedRects.value = adjustedRects.value.map(rect =>  
+    rect.glass_id === glassId ? { ...rect, isActive: true } : rect  
+  ); 
 }  
+const handleDialogClose = () => {  
+  adjustedRects.value = adjustedRects.value.map(rect => ({  
+    ...rect,  
+    isActive: false  
+  }));  
+}
 // 鐮存崯
 const handleDamage = async () => {
   try  {
@@ -206,32 +215,74 @@
     }  
   });  
 }
+// const connectWebSocket = () => {  
+//   if (!webSocket) {  
+// const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
+//     webSocket = new WebSocket(socketUrl);  
+//     webSocket.onmessage = (event) => {  
+//       const data = JSON.parse(event.data);   
+//       const scaleFactor =  1621.78/6000; 
+//         adjustedRects.value = data.currentCutTerritory[0].map(rect => ({  
+//         ...rect,
+//         x_axis: (6000 -(rect.x_axis + rect.width)) * scaleFactor,
+//         y_axis: rect.y_axis * 0.17,
+//         width: rect.width * scaleFactor ,
+//         widtha: rect.width ,
+//         heighta: rect.height ,
+//         height: rect.height * 0.165 ,
+//         glass_state: rect.glass_state,
+//         isActive: false
+//       }));
+//     };  
+//     webSocket.onerror = (error) => {  
+//       console.error('WebSocket Error:', error);  
+//     };
+//     webSocket.onclose = () => {  
+//       console.log('WebSocket Connection Closed');  
+//       // 鍙互閫夋嫨閲嶆柊杩炴帴  
+//     };  
+//   }  
+// };  
 const connectWebSocket = () => {  
   if (!webSocket) {  
 const socketUrl = `ws://${WebSocketHost}:${host}/api/cacheGlass/api/talk/cacheGlass`;
     webSocket = new WebSocket(socketUrl);  
     webSocket.onmessage = (event) => {  
-      const data = JSON.parse(event.data);   
-      const scaleFactor =  1621.78/6000; 
-        adjustedRects.value = data.currentCutTerritory[0].map(rect => ({  
-        ...rect,
-        x_axis: (6000 -(rect.x_axis + rect.width)) * scaleFactor,
-        y_axis: rect.y_axis * 0.17,
-        width: rect.width * scaleFactor ,
-        widtha: rect.width ,
-        heighta: rect.height ,
-        height: rect.height * 0.165 ,
-        glass_state: rect.glass_state
-      }));
+      const data = JSON.parse(event.data);  
+      const scaleFactor = 1621.78 / 6000;  
+      const newRects = data.currentCutTerritory[0].map(rect => {  
+        const existingRect = adjustedRects.value.find(r => r.glass_id === rect.glass_id);  
+        if (existingRect) {  
+          return {  
+            ...existingRect,  
+            x_axis: (6000 - (rect.x_axis + rect.width)) * scaleFactor,  
+            y_axis: rect.y_axis * 0.17,  
+            width: rect.width * scaleFactor,  
+            height: rect.height * 0.165,  
+            widtha: rect.width,  
+            heighta: rect.height,  
+            glass_state: rect.glass_state,  
+            // 淇濇寔 isActive 鐘舵�佷笉鍙�  
+          };  
+        } else {  
+          // 濡傛灉涓嶅瓨鍦紝鍒欐坊鍔犳柊鐭╁舰锛岄粯璁� isActive 涓� false  
+          return {  
+            ...rect,  
+            x_axis: (6000 - (rect.x_axis + rect.width)) * scaleFactor,  
+            y_axis: rect.y_axis * 0.17,  
+            width: rect.width * scaleFactor,  
+            height: rect.height * 0.165,  
+            widtha: rect.width,  
+            heighta: rect.height,  
+            glass_state: rect.glass_state,  
+            isActive: false,  
+            glass_id: rect.glass_id,
+          };  
+        }
+      });
+      adjustedRects.value = newRects;  
     };  
-    webSocket.onerror = (error) => {  
-      console.error('WebSocket Error:', error);  
-    };
-    webSocket.onclose = () => {  
-      console.log('WebSocket Connection Closed');  
-      // 鍙互閫夋嫨閲嶆柊杩炴帴  
-    };  
-  }  
+  }
 };  
   
 onMounted(() => {  
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index df3b5a1..53f6d84 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -13,10 +13,10 @@
 const dialogFormVisible = ref(false)
 const dialogFormVisiblea = ref(true)
 const dialogFormVisibleb = ref(false)
-const dialogFormVisibletemperingTakeGlass = ref(true)
-
-const temperingTakeGlassInfos=ref([])
-const blind = ref(false)
+const blind1 = ref(false)
+const blind2 = ref(false)
+const blinda = ref(false)
+const blindb = ref(false)
 const width = ref();
 const height = ref();
 const adjustedRects1 = ref([]);
@@ -26,14 +26,9 @@
 const currentGlassId = ref(null);
 const currenttemperingFeedSequence = ref(null);
 const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
-const handleMessage = (data) => {
-  if (data.temperingTakeGlassInfos != null) {
-    temperingTakeGlassInfos.value = data.temperingTakeGlassInfos[0];
-    console.log(temperingTakeGlassInfos.value)
-  }
-// 杩涚倝涓�
-  if(data.intoGlass!=null){
-    adjustedRects1.value =  data.intoGlass[0].map(rect => {  
+const handleMessage = (data) => {  
+  if (data.intoGlass2 && data.intoGlass2.length > 0) {  
+    const newRects = data.intoGlass2[0].map(rect => {  
       const scaleFactor =  794.67/5087; 
         let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
         let newX = rect.yCoordinate; 
@@ -65,13 +60,19 @@
         height: adjustedHeight,  
         widtha: rect.width, 
         heighta: rect.height,
-      };  
-      });
-      }else{
-        adjustedRects1.value = ''
       }
-  if(data.intoGlass2!=null){
-    adjustedRects2.value =  data.intoGlass2[0].map(rect => {  
+    });  
+    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+    adjustedRects2.value = adjustedRects2.value.map(oldRect => {  
+      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+      if (newRect) {  
+        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+      }  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !adjustedRects2.value.some(o => o.glassId === r.glassId)));  
+  }
+  if (data.intoGlass && data.intoGlass.length > 0) {  
+    const newRects = data.intoGlass[0].map(rect => {  
       const scaleFactor =  794.67/5087; 
       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
       let newX = rect.yCoordinate; 
@@ -103,14 +104,19 @@
         height: adjustedHeight,  
         widtha: rect.width, 
         heighta: rect.height,
-      };  
-      });
-      }else{
-        adjustedRects2.value = ''
       }
-  // 杩涚倝鍓�
-  if(data.waitingGlass!=null){
-    adjustedRectsa.value = data.waitingGlass[0].map(rect => {  
+    });  
+    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+    adjustedRects1.value = adjustedRects1.value.map(oldRect => {  
+      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+      if (newRect) {  
+        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+      }  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !adjustedRects1.value.some(o => o.glassId === r.glassId)));  
+  }
+  if (data.waitingGlass && data.waitingGlass.length > 0) {  
+    const newRects = data.waitingGlass[0].map(rect => {  
       const scaleFactor =  1621.78/5190; 
   let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;; 
   let newX = rect.yCoordinate; 
@@ -142,16 +148,22 @@
     height: adjustedHeight,  
     widtha: rect.width, 
     heighta: rect.height,
-  };  
-});
-  }else{
-        adjustedRectsa.value = ''
-      }
-    // 宸插嚭鐐�
-  if(data.outGlass!=null){
-    adjustedRectsb.value = data.outGlass[0].map(rect => {  
+  }
+    });  
+    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+    adjustedRectsa.value = adjustedRectsa.value.map(oldRect => {  
+      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+      if (newRect) {  
+        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+      }  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !adjustedRectsa.value.some(o => o.glassId === r.glassId)));  
+  }
+  if (data.outGlass && data.outGlass.length > 0) {  
+    const newRects = data.outGlass[0].map(rect => {  
       const scaleFactor =  1621.78/5190; 
-      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
+      const scaleFactory =  550/2800; 
+      let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta,newY;
   let newX = rect.yCoordinate; 
       if (rect.width < rect.height) {
         widtha = rect.height;
@@ -162,31 +174,39 @@
       }
   if (rect.angle === 0) {  
     adjustedWidth = widtha * scaleFactor;  
-    adjustedHeight = heighta * 0.16;  
+    adjustedHeight = heighta * scaleFactory;  
     // adjustedWidtha = widtha;  
     // adjustedHeighta = heighta;  
     // newX = 5190 - (rect.yCoordinate + widtha); 
+    newY = 2800 - (rect.xCoordinate + heighta); 
   } else {  
     adjustedWidth = heighta * scaleFactor;  
-    adjustedHeight = widtha * 0.16;  
+    adjustedHeight = widtha * scaleFactory;  
     // adjustedWidtha = heighta;  
     // adjustedHeighta = widtha;  
     // newX = 5190 - (rect.yCoordinate + heighta);  
+    newY = 2800 - (rect.xCoordinate + widtha); 
   }  
   return {  
         ...rect, // 澶嶅埗鍘熷瀵硅薄鐨勫叾浠栧睘鎬�  
         x: newX * scaleFactor,
-        y: rect.xCoordinate * 0.16,
+        y: newY * scaleFactory,
         width: adjustedWidth,  
         height: adjustedHeight,  
         widtha: rect.width, 
         heighta: rect.height,
-  };  
-});
-  }else{
-        adjustedRectsb.value = ''
-      }
-};
+  }
+    });  
+    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+    adjustedRectsb.value = adjustedRectsb.value.map(oldRect => {  
+      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+      if (newRect) {  
+        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+      }  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !adjustedRectsb.value.some(o => o.glassId === r.glassId)));  
+  }
+}; 
 onMounted(() => {
   initializeWebSocket(socketUrl, handleMessage);
 });
@@ -219,25 +239,68 @@
       return '#911005';  
   }  
 }
-// if (adjustedRectsb[0].engineerId != null) {
-//     engineerIdDisplayb = adjustedRectsb[0].engineerId
-//   }
-//   if (adjustedRectsa[0].engineerId != null) {
-//     engineerIdDisplaya = adjustedRectsa[0].engineerId
-//   }
-//   if (adjustedRects2[0].engineerId != null) {
-//     engineerIdDisplay2 = adjustedRects2[0].engineerId
-//   }
-//   if (adjustedRects[0].engineerId != null) {
-//     engineerIdDisplay = adjustedRects[0].engineerId
-//   }
-function showDialog(rect) {  
+function showDialog1(rect) {
+  const index = adjustedRects1.value.findIndex(r => r.glassId === rect.glassId);  
+  if (index !== -1) {  
+    adjustedRects1.value[index].isActive = true;  
+  }  
   currentGlassId.value = rect.glassId;  
   currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
-  blind.value = true;  
-}  
+  blind1.value = true;  
+} 
+function showDialog2(rect) {
+  const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId);  
+  if (index !== -1) {  
+    adjustedRects2.value[index].isActive = true;  
+  }  
+  currentGlassId.value = rect.glassId;  
+  currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
+  blind2.value = true;  
+} 
+function showDialoga(rect) {
+  const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId);  
+  if (index !== -1) {  
+    adjustedRectsa.value[index].isActive = true;  
+  }  
+  currentGlassId.value = rect.glassId;  
+  currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
+  blinda.value = true;  
+} 
+function showDialogb(rect) {
+  const index = adjustedRectsb.value.findIndex(r => r.glassId === rect.glassId);  
+  if (index !== -1) {  
+    adjustedRectsb.value[index].isActive = true;  
+  }  
+  currentGlassId.value = rect.glassId;  
+  currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
+  blindb.value = true;  
+} 
+  const handleDialogClose1 = () => {  
+  adjustedRects1.value.forEach(rect => {  
+    rect.isActive = false;  
+  });  
+  blind1.value = false; 
+};  
+  const handleDialogClose2 = () => {  
+  adjustedRects2.value.forEach(rect => {  
+    rect.isActive = false;  
+  });  
+  blind2.value = false; 
+};  
+  const handleDialogClosea = () => {  
+  adjustedRectsa.value.forEach(rect => {  
+    rect.isActive = false;  
+  });  
+  blinda.value = false; 
+};  
+  const handleDialogCloseb = () => {  
+  adjustedRectsb.value.forEach(rect => {  
+    rect.isActive = false;  
+  });  
+  blindb.value = false; 
+};  
 // 鐮存崯
-const handleDamage = async () => {
+const handleDamage1 = async () => {
   try  {
   const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
     glassId: currentGlassId.value,
@@ -248,7 +311,76 @@
     })
     if (response.code == 200) {
       ElMessage.success(response.message);
-      blind.value = false;
+      blind1.value = false;
+      updateRectColors();
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const handleDamage2 = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    // temperingFeedSequence: currenttemperingFeedSequence.value,
+    line: 4001,
+    status: 2,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      blind2.value = false;
+      updateRectColors();
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const handleDamagea = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    // temperingFeedSequence: currenttemperingFeedSequence.value,
+    line: 4001,
+    status: 2,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      blinda.value = false;
+      updateRectColors();
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.message);
+    }
+}
+catch (error) {
+    // 澶勭悊閿欒
+    console.error(error);
+  }
+}
+const handleDamageb = async () => {
+  try  {
+  const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+    glassId: currentGlassId.value,
+    // temperingFeedSequence: currenttemperingFeedSequence.value,
+    line: 4001,
+    status: 2,
+    workingProcedure: '閽㈠寲',
+    })
+    if (response.code == 200) {
+      ElMessage.success(response.message);
+      blindb.value = false;
       updateRectColors();
     } else {
       // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -267,11 +399,9 @@
 </script>
 <template>
   <div style="margin-top: 10px;">
-  
      <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisiblea = true;dialogFormVisible = false;dialogFormVisibleb = false;" >{{ $t('processCard.beforefurnace') }}</el-button>
      <el-button style="margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true;dialogFormVisiblea = false;dialogFormVisibleb = false;">{{ $t('processCard.intofurnace') }}</el-button>
     <el-button  id="searchButton" type="success" @click="dialogFormVisibleb = true;dialogFormVisible = false;dialogFormVisiblea = false">{{ $t('processCard.outfurnace') }}</el-button>
-    <el-button  id="searchButton" type="success" @click="dialogFormVisibletemperingTakeGlass = true;">鎷胯蛋璇︽儏</el-button>
 <div v-if="dialogFormVisible" >
     <el-card style="flex: 1;margin-left: 10px;margin-top: 10px;margin-right: 10px;height: 600px;" v-loading="loading">
 <div style="width: 49%;float: left;background-color: #f4f4f5;height: 550px;">
@@ -283,14 +413,14 @@
       <div  
       v-for="(rect, index) in adjustedRects1"
       :key="index"  
-      @click="showDialog(rect)"  
+      @click="showDialog1(rect)"  
       class="rect"
       :style="{ position: 'absolute', 
        top: `${rect.ycoordinate}px`, 
        left: `${rect.xcoordinate}px`,
         width: `${rect.width}px`, 
         height: `${rect.height}px`,
-        backgroundColor: rect.state === 5 ? '#911005' : 'lightblue' }"
+        backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }"
     >
      <div  class="centered-text">
     <div >{{ rect.glassId }}</div>  
@@ -311,14 +441,14 @@
       <div  
       v-for="(rect, index) in adjustedRects2"
       :key="index"
-      @click="showDialog(rect)"  
+      @click="showDialog2(rect)"  
       class="rect"
       :style="{ position: 'absolute', 
        top: `${rect.ycoordinate}px`, 
        left: `${rect.xcoordinate}px`, 
        width: `${rect.width}px`, 
        height: `${rect.height}px`,
-       backgroundColor: rect.state === 5 ? '#911005' : 'lightblue' }"
+       backgroundColor: rect.isActive ? '#ADFF2F' : rect.state === 5 ? '#911005' : 'lightblue' }"
        >
      <div  class="centered-text">
     <div >{{ rect.glassId }}</div>  
@@ -343,11 +473,11 @@
       <div  
       v-for="(rect, index) in adjustedRectsa"  
       :key="index"  
-      @click="showDialog(rect)"  
+      @click="showDialoga(rect)"  
       class="rect"  
       :style="{ position: 'absolute',  top: `${rect.y}px`, left: `${rect.x}px`,
        width: `${rect.width}px`, height: `${rect.height}px`,
-      backgroundColor: getRectColora(rect.state) }">
+      backgroundColor: rect.isActive ? '#ADFF2F' : getRectColora(rect.state) }">
     <div  class="centered-text">
     <div>{{ rect.glassId }}</div>  
     <div >{{ rect.flowCardId }}</div>  
@@ -370,11 +500,11 @@
       <div  
       v-for="(rect, index) in adjustedRectsb"  
       :key="index"  
-      @click="showDialog(rect)"  
+      @click="showDialogb(rect)"  
       class="rect"  
       :style="{ position: 'absolute',  top: `${rect.y}px`, left: `${rect.x}px`,
        width: `${rect.width}px`, height: `${rect.height}px`,
-      backgroundColor: getRectColorb(rect.state) }">
+      backgroundColor: rect.isActive ? '#ADFF2F' : getRectColorb(rect.state) }">
        <!-- backgroundColor: rect.state === 4 ? '#911005' : '#f8e3c5' }"> -->
      <div  class="centered-text">
     <div >{{ rect.glassId }}</div>  
@@ -388,24 +518,27 @@
    </el-card>
 </div>
  
-<el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
-        <el-button type="warning" plain :icon="Delete" @click="handleDamage"  style="width: 140px;margin-left: 10px;">
+<el-dialog v-model="blind1" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose1">
+        <el-button type="warning" plain :icon="Delete" @click="handleDamage1"  style="width: 140px;margin-left: 10px;">
+          {{ $t('order.dilapidation') }}
+        </el-button>
+  </el-dialog>  
+<el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
+        <el-button type="warning" plain :icon="Delete" @click="handleDamage2"  style="width: 140px;margin-left: 10px;">
+          {{ $t('order.dilapidation') }}
+        </el-button>
+  </el-dialog>  
+<el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea">
+        <el-button type="warning" plain :icon="Delete" @click="handleDamagea"  style="width: 140px;margin-left: 10px;">
+          {{ $t('order.dilapidation') }}
+        </el-button>
+  </el-dialog>  
+<el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb">
+        <el-button type="warning" plain :icon="Delete" @click="handleDamageb"  style="width: 140px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
   </el-dialog> 
   </div>
-
-  <el-dialog v-model="dialogFormVisibletemperingTakeGlass" top="2vh" width="97%"
-                   :title="$t('浜哄伐鎷胯蛋淇℃伅')">
-          <el-table height="200px" ref="table" @selection-change="handleSelectionChange" :data="temperingTakeGlassInfos"
-                    :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
-            <el-table-column prop="engineerId" align="center" :label="$t('宸ョ▼鍙�')" min-width="80"/>
-            <el-table-column prop="processId" align="center" :label="$t('娴佺▼鍗″彿')" min-width="80"/>
-            <el-table-column prop="technologyNumber" align="center" :label="$t('灞�')" min-width="120"/>
-            <el-table-column prop="orderNumber" align="center" :label="$t('璁㈠崟搴忓彿')" min-width="80"/>
-            <el-table-column prop="temperingLayoutId" align="center" :label="$t('閽㈠寲鐗堝浘')" min-width="150"/>
-          </el-table>
-        </el-dialog>
 </template>
 <style scoped>
 #boxa{
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
index 8f28ec9..075ed55 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -31,14 +31,13 @@
 }
 let socket = null;
 const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`; 
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-const handleMessage = (data) => {
-  // 鏇存柊 tableData 鐨勬暟鎹�
-  if(data.overGlass!=null){
-    adjustedRects.value =  data.overGlass[0].map(rect => {  
+const handleMessage = (data) => {  
+  if (data.overGlass && data.overGlass.length > 0) {  
+    const newRects = data.overGlass[0].map(rect => {  
       const scaleFactor =  1621.78/5190; 
       let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;
       let newX = rect.yCoordinate; 
+      
       if (rect.width < rect.height) {
         widtha = rect.height;
         heighta = rect.width;
@@ -49,15 +48,9 @@
     if (rect.angle === 0) {  
     adjustedWidth = widtha * scaleFactor;  
     adjustedHeight = heighta * 0.16;  
-    // adjustedWidtha = widtha;  
-    // adjustedHeighta = heighta;  
-    // newX = 5190 - (rect.yCoordinate + rect.width); 
   } else {  
     adjustedWidth = heighta * scaleFactor;  
     adjustedHeight = widtha * 0.16;  
-    // adjustedWidtha = heighta;  
-    // adjustedHeighta = widtha;  
-    // newX = 5190 - (rect.yCoordinate + rect.height);  
   }  
   return {  
     ...rect, 
@@ -67,17 +60,27 @@
     height: adjustedHeight,  
     widtha: rect.width, 
     heighta: rect.height,
-  };  
-});
   }
-};
+    });  
+  
+    // 鍚堝苟鏂版棫鐭╁舰锛屼繚鐣� isActive 鐘舵��  
+    adjustedRects.value = adjustedRects.value.map(oldRect => {  
+      const newRect = newRects.find(r => r.glassId === oldRect.glassId);  
+      if (newRect) {  
+        return { ...oldRect, ...newRect, isActive: oldRect.isActive };  
+      }  
+      return oldRect; // 濡傛灉鏃х煩褰㈠湪鏂版暟鎹腑涓嶅瓨鍦紝鍒欎繚鐣欏師鏍�  
+    }).concat(newRects.filter(r => !adjustedRects.value.some(o => o.glassId === r.glassId)));  
+  }  
+};  
+  
 function updateRectColors() {  
   adjustedRects.value.forEach(rect => {  
     if (rect.glassId === glassId) {  
       rect.state = 8;
     }
   });  
-}  
+} 
 function getRectColora(state) {  
   switch (state) { 
     case 3:  
@@ -88,11 +91,22 @@
       return '#911005';  
   }  
 }
-function showDialog(rect) {  
+function showDialog(rect) {
+  const index = adjustedRects.value.findIndex(r => r.glassId === rect.glassId);  
+  if (index !== -1) {  
+    adjustedRects.value[index].isActive = true;  
+  }  
   currentGlassId.value = rect.glassId;  
   currenttemperingFeedSequence.value = rect.temperingFeedSequence;  
   blind.value = true;  
 }  
+  
+const handleDialogClose = () => {  
+  adjustedRects.value.forEach(rect => {  
+    rect.isActive = false;  
+  });  
+  blind.value = false; 
+};  
 // 鐮存崯
 const handleDamage = async () => {
   try  {
@@ -147,7 +161,8 @@
       class="rect"  
       :style="{ position: 'absolute',  top: `${rect.ycoordinate}px`, left: `${rect.xcoordinate}px`,
        width: `${rect.width}px`, height: `${rect.height}px`,
-      backgroundColor: getRectColora(rect.state) }">
+      backgroundColor: rect.isActive ? '#ADFF2F' : getRectColora(rect.state) 
+      }">
      <div  class="centered-text">
     <div >{{ rect.glassId }}</div>  
     <div >{{ rect.flowCardId }}</div>  
@@ -160,7 +175,7 @@
    </div>
     </el-card>
     </div>
-    <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;">
+    <el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
         <el-button type="warning" plain :icon="Delete" @click="handleDamage"  style="width: 140px;margin-left: 10px;">
           {{ $t('order.dilapidation') }}
         </el-button>
diff --git a/UI-Project/src/views/StockBasicData/stockBasicData.vue b/UI-Project/src/views/StockBasicData/stockBasicData.vue
index fbd4a54..2e08076 100644
--- a/UI-Project/src/views/StockBasicData/stockBasicData.vue
+++ b/UI-Project/src/views/StockBasicData/stockBasicData.vue
@@ -155,22 +155,22 @@
 <template>
   <div>
     <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
-      <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('璇烽�夋嫨绾胯矾')" clearable style="margin-left: 20px;">
+      <el-select v-model="selectValuesa[0]" filterable :placeholder="$t('璇烽�夋嫨绾胯矾')" clearable style="margin-left: 20px;margin-bottom: 10px;">
             <el-option label="纾ㄨ竟涓�绾�" value="2001"></el-option>
             <el-option label="纾ㄨ竟浜岀嚎" value="2002"></el-option>
           </el-select>
 
-          <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('璇烽�夋嫨鐘舵��')" clearable style="margin-left: 20px;" >
+          <el-select v-model="selectValuesa[1]" filterable :placeholder="$t('璇烽�夋嫨鐘舵��')" clearable style="margin-left: 20px;margin-bottom: 10px;" >
             <el-option label="鏈(杈�" value="0"></el-option>
             <el-option label="纾ㄨ竟涓�" value="1"></el-option>
             <el-option label="宸茬(杈�" value="2"></el-option>
           </el-select>
-          <span class="demonstration" style="margin-left: 20px;">鏃堕棿娈�</span>
-            <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"  style="margin-left: 20px;" value-format = "YYYY-MM-DD hh:mm:ss"
+          <span class="demonstration" style="margin-left: 20px;margin-bottom: 10px;">鏃堕棿娈�</span>
+            <el-date-picker v-model="timeRange" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮嬫棩鏈�"  style="margin-left: 20px;margin-bottom: 10px;" value-format = "YYYY-MM-DD hh:mm:ss"
             
               end-placeholder="缁撴潫鏃ユ湡">
             </el-date-picker>
-          <el-button type="primary" style="margin-left: 10px;" @click="setEdgGlassInfoRequest()">{{
+          <el-button type="primary" style="margin-left: 10px;margin-bottom: 10px;" @click="setEdgGlassInfoRequest()">{{
         $t('reportmanage.inquire')
       }}</el-button>
 
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index ec9f524..7e3d089 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -402,10 +402,10 @@
 </script>
 <template>
   <div>
-    <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="primary"
+    <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
                @click="dialogFormVisibleaDownGlass = true">钀芥灦璇︽儏
     </el-button>
-    <el-switch style="margin-top: 5px;margin-left: 10px;" v-model="autoPrint" class="mb-2" :inactive-text="$t('鑷姩鎵撳嵃')"
+    <el-switch style="margin-top: 10px;margin-left: 15px;margin-bottom: 10px;" v-model="autoPrint" class="mb-2" :inactive-text="$t('鑷姩鎵撳嵃')"
                @change="handleChange"/>
     <el-card style="flex: 1;" v-loading="loading">
       <el-card style="flex: 1;margin-left: 4px;margin-top: 1px;" v-loading="loading">
diff --git a/UI-Project/src/views/largescreen/largescreen.vue b/UI-Project/src/views/largescreen/largescreen.vue
index a58ecaa..0ac8dc0 100644
--- a/UI-Project/src/views/largescreen/largescreen.vue
+++ b/UI-Project/src/views/largescreen/largescreen.vue
@@ -106,14 +106,35 @@
       @selection-change="handleSelectionChange"
       :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
         <el-table-column prop="orderId" fixed align="center" :label="$t('large.orderId')" min-width="110" />
-        <el-table-column prop="project" fixed align="center" :label="$t('large.project')" min-width="110" />
-        <el-table-column prop="productName" fixed align="center" :label="$t('large.productname')" min-width="110" />
-        <el-table-column prop="width" fixed align="center" :label="$t('large.width')" min-width="100" />
-        <el-table-column prop="height" fixed align="center" :label="$t('large.height')" min-width="100" />
-        <el-table-column prop="area" fixed align="center" :label="$t('large.are')" min-width="100" />
-        <el-table-column prop="quantity" fixed align="center" :label="$t('large.number')" min-width="110" />
-        <el-table-column prop="processingNote" fixed align="center" :label="$t('large.method')" min-width="110" />
-        <el-table-column prop="deliveryDate" fixed align="center" :label="$t('large.deliveryDate')" min-width="130" />
+        <el-table-column prop="project"  align="center" :label="$t('large.project')" min-width="110" />
+        <el-table-column prop="processId"  align="center" :label="$t('large.cardnumber')" min-width="110" />
+        <el-table-column prop="orderNumber"  align="center" :label="$t('large.serialnumber')" min-width="110" />
+        <el-table-column prop="productName"  align="center" :label="$t('large.productname')" min-width="110" />
+        <el-table-column prop="width"  align="center" :label="$t('large.width')" min-width="100" />
+        <el-table-column prop="height"  align="center" :label="$t('large.height')" min-width="100" />
+        <el-table-column prop="area"  align="center" :label="$t('large.are')" min-width="100" />
+        <el-table-column prop="quantity"  align="center" :label="$t('large.number')" min-width="110" />
+        <el-table-column prop="numberPatches"  align="center" :label="$t('large.numberpatches')" min-width="110" />
+        <el-table-column prop="receivedQuantity"  align="center" :label="$t('large.innumber')" min-width="110" />
+        <el-table-column prop="terminationStatus"  align="center" :label="$t('large.productstatus')" min-width="110" />
+        <el-table-column
+          align="center"
+            :label="$t('large.productstatus')"
+            min-width="80"
+            prop="terminationStatus"
+          >
+          <template #default="scope">  
+          <el-tag  
+            :type="scope.row.terminationStatus === 0 ? 'success' : 'danger'"  
+          >  
+            {{ scope.row.terminationStatus === 0 ? $t('large.right') : $t('large.stop') }}
+          </el-tag>  
+        </template> 
+          </el-table-column> 
+        <el-table-column prop="packType"  align="center" :label="$t('large.quantity')" min-width="110" />
+        <el-table-column prop="projectNo"  align="center" :label="$t('large.projectnumber')" min-width="110" />
+        <!-- <el-table-column prop="processingNote" fixed align="center" :label="$t('large.method')" min-width="110" /> -->
+        <!-- <el-table-column prop="deliveryDate" fixed align="center" :label="$t('large.deliveryDate')" min-width="130" /> -->
       </el-table>
   <template #footer>
     <div id="dialog-footer" style="text-align: center;">
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
index 47b4769..2ea5807 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Const.java
@@ -41,8 +41,8 @@
      * 浜哄伐涓嬬墖102
      * 鍑虹墖涓�103
      * 璋冨害涓�104
-     * 鐮存崯8
-     * 鎷胯蛋9
+     * 鎷胯蛋200
+     * 鐮存崯201
      */
     public static final Integer GLASS_STATE_NEW = 0;
     public static final Integer GLASS_STATE_IN = 100;
@@ -50,9 +50,8 @@
     public static final Integer GLASS_STATE_ARTIFICIAL = 102;
     public static final Integer GLASS_STATE_OUT_ING = 103;
     public static final Integer GLASS_STATE_SCHEDULE_ING = 104;
-    public static final Integer GLASS_STATE_DAMAGE = 8;
-    public static final Integer GLASS_STATE_TAKE = 9;
-    public static final List<Integer> GLASS_STATE_DAMAGE_TAKE = Arrays.asList(8, 9);
+    public static final Integer GLASS_STATE_TAKE = 200;
+    public static final Integer GLASS_STATE_DAMAGE = 201;
     public static final List<Integer> GLASS_STATE_IN_ALL = Arrays.asList(100, 102, 103, 104);
     public static final List<Integer> GLASS_STATE_IN_ALL_ZERO = Arrays.asList(0, 100, 102, 103, 104);
 
@@ -99,29 +98,29 @@
      * 2 鍗ц浆绔嬭繘鐗囧畬鎴�
      * 3 澶ц溅杩涚墖瀹屾垚
      * 4 澶х悊鐗囩杩涚墖瀹屾垚
-     * 8 澶х悊鐗囩杩涚墖鐮存崯
-     * 9 澶х悊鐗囩杩涚墖鎷胯蛋
+     * 5 澶х悊鐗囩杩涚墖澶辫触
+     * 6 澶х悊鐗囩杩涚墖鐮存崯
      */
     public static final Integer BIG_STORAGE_IN_NEW = 1;
     public static final Integer BIG_STORAGE_IN_UP = 2;
     public static final Integer BIG_STORAGE_IN_CAR = 3;
     public static final Integer BIG_STORAGE_IN_SLOT = 4;
-    //    public static final Integer BIG_STORAGE_IN_DAMAGE = 8;
-//    public static final Integer BIG_STORAGE_IN_ERROR = 9;
+    public static final Integer BIG_STORAGE_IN_ERROR = 5;
+    public static final Integer BIG_STORAGE_IN_DAMAGE = 6;
     public static final List<Integer> BIG_STORAGE_IN_UP_ALL = Arrays.asList(1, 2);
     /**
      * 鍗ц浆绔嬪嚭鐗囪姹�
      * 1 浠诲姟鐢熸垚
      * 2 鐜荤拑杩涘ぇ杞﹀畬鎴�
      * 3 澶ц溅鍑虹墖瀹屾垚
-     * 8 澶х悊鐗囩杩涚墖鐮存崯
-     * 9 澶х悊鐗囩杩涚墖鎷胯蛋
+     * 4 澶х悊鐗囩杩涚墖澶辫触
+     * 5 澶х悊鐗囩杩涚墖鐮存崯
      */
     public static final Integer BIG_STORAGE_OUT_NEW = 1;
     public static final Integer BIG_STORAGE_OUT_CAR = 2;
     public static final Integer BIG_STORAGE_OUT_SUCCESS = 3;
-    //    public static final Integer BIG_STORAGE_OUT_DAMAGE = 8;
-//    public static final Integer BIG_STORAGE_OUT_ERROR = 9;
+    public static final Integer BIG_STORAGE_OUT_ERROR = 4;
+    public static final Integer BIG_STORAGE_OUT_DAMAGE = 5;
     public static final List<Integer> BIG_STORAGE_OUT_ALL = Arrays.asList(2, 3);
 
     /**
@@ -140,8 +139,8 @@
      * 2  杩涚倝瀹屾垚
      * 3  閽㈠寲瀹屾垚
      * 4  鍑虹墖瀹屾垚
-     * 8  鐮存崯
-     * 9  鎷胯蛋
+     * 5  鐮存崯
+     * 6  鎷胯蛋
      */
 
     public static final Integer TEMPERING_NEW = -1;
@@ -150,8 +149,8 @@
     public static final Integer TEMPERING_START = 2;
     public static final Integer TEMPERING_SUCCESS = 3;
     public static final Integer TEMPERING_END = 4;
-//    public static final Integer TEMPERING_DAMAGE = 8;
-//    public static final Integer TEMPERING_TAKE = 9;
+    public static final Integer TEMPERING_DAMAGE = 5;
+    public static final Integer TEMPERING_TAKE = 6;
 
     /**
      * 涓嬬墖
@@ -162,7 +161,6 @@
     public static final List<Integer> G06_WORK_STATION = Arrays.asList(1, 2, 3);
     public static final List<Integer> G11_WORK_STATION = Arrays.asList(4, 5, 6);
     public static final int G13_WORK_STATION = 7;
-    public static final List<Integer> WORK_STATION_ALL = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
 
     /**
      * 鍚敤 1
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
index a993bd7..a3782b3 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/mapper/DamageMapper.java
@@ -1,6 +1,7 @@
 package com.mes.damage.mapper;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.github.yulichang.base.MPJBaseMapper;
 import com.mes.damage.entity.Damage;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -13,6 +14,6 @@
  * @since 2024-06-13
  */
 @DS("hangzhoumes")
-public interface DamageMapper extends BaseMapper<Damage> {
+public interface DamageMapper extends MPJBaseMapper<Damage> {
 
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index 05d6b84..05a5e5a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -1,8 +1,11 @@
 package com.mes.damage.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
+import cn.hutool.core.date.DateTime;
+import com.github.yulichang.base.MPJBaseService;
 import com.mes.damage.entity.Damage;
+import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -13,23 +16,11 @@
  * @author wu
  * @since 2024-06-13
  */
-public interface DamageService extends IService<Damage> {
+public interface DamageService extends MPJBaseService<Damage> {
 
     List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
 
     void submitDamage(List<Damage> damageList);
 
-    /**
-     * 鍗曚釜鐮存崯
-     *
-     * @param damage
-     */
     void insertDamage(Damage damage);
-
-    /**
-     * 鎵归噺鐮存崯
-     *
-     * @param damageList
-     */
-    void batchInsertDamage(List<Damage> damageList);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index 8f87d5a..98587bb 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -1,12 +1,15 @@
 package com.mes.damage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.mapper.DamageMapper;
 import com.mes.damage.service.DamageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.pp.entity.ReportingWork;
 import com.mes.work_assignment.entity.WorkAssignment;
 import com.mes.work_assignment.mapper.WorkAssignmentMapper;
 import org.springframework.beans.BeanUtils;
@@ -17,6 +20,7 @@
 import java.time.LocalDateTime;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.stream.Collectors;
 
 /**
@@ -28,7 +32,7 @@
  * @since 2024-06-13
  */
 @Service
-public class DamageServiceImpl extends ServiceImpl<DamageMapper, Damage> implements DamageService {
+public class DamageServiceImpl extends MPJBaseServiceImpl<DamageMapper, Damage> implements DamageService {
 
     @Resource
     GlassInfoMapper glassInfoMapper;
@@ -107,33 +111,7 @@
         damage.setOrderNumber(glassInfo.getGlassType());
         damage.setTechnologyNumber(glassInfo.getLayer());
         damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
+        damage.setType(2);
         baseMapper.insert(damage);
-    }
-
-    /**
-     * 娣诲姞鎶ュ伐淇℃伅
-     */
-    @Override
-    public void batchInsertDamage(List<Damage> damageList) {
-        WorkAssignment workAssignment = workAssignmentMapper.selectOne(new LambdaQueryWrapper<WorkAssignment>()
-                .eq(WorkAssignment::getLine, damageList.get(0).getLine())
-                .eq(WorkAssignment::getWorkProcesses, damageList.get(0).getWorkingProcedure()));
-
-        List<String> glassList = damageList.stream().map(Damage::getGlassId).collect(Collectors.toList());
-        List<GlassInfo> glassInfoList = glassInfoMapper.selectList(new LambdaQueryWrapper<GlassInfo>().in(GlassInfo::getGlassId, glassList));
-        Map<String, List<GlassInfo>> listMap = glassInfoList.stream().collect(Collectors.groupingBy(GlassInfo::getGlassId));
-        for (Damage damage : damageList) {
-            GlassInfo glassInfo = listMap.get(damage.getGlassId()).get(0);
-            BeanUtils.copyProperties(glassInfo, damage);
-            if (workAssignment != null) {
-                damage.setTeamsGroupsName(workAssignment.getTeamsGroupsName());
-                damage.setDeviceName(workAssignment.getDeviceName());
-            }
-            damage.setProcessId(glassInfo.getFlowCardId());
-            damage.setOrderNumber(glassInfo.getGlassType());
-            damage.setTechnologyNumber(glassInfo.getLayer());
-            damage.setDamageTime(Timestamp.valueOf(LocalDateTime.now()));
-        }
-        this.saveBatch(damageList);
     }
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
new file mode 100644
index 0000000..c9321fa
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -0,0 +1,101 @@
+package com.mes.engineering.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class Engineering implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 宸ョ▼琛╥d
+     */
+      @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 宸ョ▼鍙�
+     */
+    private String  engineerId;
+
+    /**
+     * 宸ョ▼鍚嶇О
+     */
+    private String engineerName;
+
+    /**
+     * 骞冲潎鍒╃敤鐜�
+     */
+    private double avgAvailability;
+
+    /**
+     * 鏈夋晥鍒╃敤鐜�
+     */
+    private double validAvailability;
+
+    /**
+     * 灏剧墖鍒╃敤鐜�
+     */
+    private double lastAvailability;
+
+    /**
+     * 鐘舵��
+     */
+    private Integer state;
+
+    /**
+     * 灏忕墖鎬绘暟
+     */
+    private Integer glassTotal;
+
+    /**
+     * 灏忕墖鎬婚潰绉�
+     */
+    private double glassTotalArea;
+
+    /**
+     * 璁″垝鍘熺墖鎬绘暟
+     */
+    private Integer planPatternTotal;
+
+    /**
+     * 璁″垝鍘熺墖鎬婚潰绉�
+     */
+    private double planPatternTotalArea;
+
+    /**
+     * 瀹為檯鍘熺墖鎬绘暟
+     */
+    private Integer realityPatternTotal;
+
+    /**
+     * 瀹為檯鍘熺墖鎬婚潰绉�
+     */
+    private double realityPatternTotalArea;
+
+    /**
+     * 鑶滅郴id
+     */
+    private String filmsId;
+
+    /**
+     * 澶囨敞
+     */
+    private String notes;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
new file mode 100644
index 0000000..5b214f1
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/OptimizeEngineering.java
@@ -0,0 +1,78 @@
+package com.mes.engineering.entity;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @author SNG-010
+ */
+@Setter
+@Getter
+public class OptimizeEngineering {
+
+    // Getter methods
+    // Setter methods
+    /**
+     * 宸ョ▼鍙�
+     */
+    private String projectNo;
+
+    /**
+     * 宸ョ▼鍚�
+     */
+    private String projectName;
+
+    /**
+     * 骞冲潎鍒╃敤鐜�
+     */
+    private double avgCutPct;
+
+    /**
+     * 鏈夋晥鍒╃敤鐜�
+     */
+    private double validCutPct;
+
+    /**
+     * 灏剧墖鍒╃敤鐜�
+     */
+    private double lastCutPct;
+
+    /**
+     * 鐘舵��
+     */
+    private Integer state;
+
+    /**
+     * 灏忕墖鎬绘暟
+     */
+    private Integer glassTotal;
+    /**
+     * 灏忕墖鎬婚潰绉�
+     */
+    private double glassTotalArea;
+    /**
+     * 璁″垝鍘熺墖鎬绘暟
+     */
+    private Integer rawStockQty;
+    /**
+     * 璁″垝鍘熺墖鎬婚潰绉�
+     */
+    private double rawStockArea;
+    /**
+     * 瀹為檯鍘熺墖鎬绘暟
+     */
+    private Integer actualStockQty;
+    /**
+     * 瀹為檯鍘熺墖鎬婚潰绉�
+     */
+    private double actualStockArea;
+    /**
+     * 鑶滅郴
+     */
+    private String glassType;
+    /**
+     * 澶囨敞
+     */
+    private  String remark;
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
new file mode 100644
index 0000000..d92eae7
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
@@ -0,0 +1,17 @@
+package com.mes.engineering.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.engineering.entity.Engineering;
+
+/**
+ * <p>
+ *  Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author wu
+ * @since 2024-04-22
+ */
+public interface EngineeringMapper extends MPJBaseMapper<Engineering> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
new file mode 100644
index 0000000..bff1839
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.engineering.mapper.EngineeringMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java
index 372dc35..01258d3 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/entity/Orderdetail.java
@@ -35,22 +35,24 @@
     /**
      * 瀹�
      */
-    private double width;
+    private String width;
     /**
      * 楂�
      */
-    private double height;
+    private String height;
 
     /**
      * 闈㈢Н
      */
     private double area;
+
+
     /**
-     * 鏁伴噺
+     * 鍖呰鏂瑰紡
      */
     private Integer quantity;
     /**
-     * 鍔犲伐鏂瑰紡
+     * 鐘舵��
      */
     private String processingNote;
     /**
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java
deleted file mode 100644
index a265c19..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/FlowCardController.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.pp.controller;
-
-
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * <p>
- *  鍓嶇鎺у埗鍣�
- * </p>
- *
- * @author wu
- * @since 2024-08-07
- */
-@RestController
-@RequestMapping("/flow_card/flow-card")
-public class FlowCardController {
-
-}
-
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/FlowCard.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/FlowCard.java
deleted file mode 100644
index 3378be3..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/FlowCard.java
+++ /dev/null
@@ -1,163 +0,0 @@
-package com.mes.pp.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import java.time.LocalDateTime;
-import com.baomidou.mybatisplus.annotation.TableField;
-import java.io.Serializable;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
-/**
- * <p>
- * 
- * </p>
- *
- * @author wu
- * @since 2024-08-07
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class FlowCard implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    /**
-     * (宸ョ▼鍙�,2024.0302澶╂満)
-     */
-      @TableId(value = "id", type = IdType.AUTO)
-    private Long id;
-
-    /**
-     * 閿�鍞崟鍙�
-     */
-    private String orderId;
-
-    /**
-     * 鐢熶骇璁㈠崟鍙�
-     */
-    private String productionId;
-
-    /**
-     * 娴佺▼鍗″彿
-     */
-    private String processId;
-
-    /**
-     * 钀芥灦椤哄簭
-     */
-    private String landingSequence;
-
-    /**
-     * 搴忓彿
-     */
-    private Integer orderNumber;
-
-    /**
-     * 宸ヨ壓纭搴忓彿
-     */
-    private Integer technologyNumber;
-
-    /**
-     * 鍒嗘灦鏁伴噺
-     */
-    private Integer quantity;
-
-    /**
-     * 浠ヤ紭鍖栨暟閲�
-     */
-    private Integer optimizeQuantity;
-
-    /**
-     * 鎺掔増鐘舵��(榛樿0,1鍏佽鎺掔増2浼樺寲鍗犵敤)
-     */
-    private Integer layoutStatus;
-
-    /**
-     * 琛ョ墖鏁伴噺
-     */
-    private Integer numberPatches;
-
-    /**
-     * 鏈�鍚庡伐搴忔姤宸� 搴撳瓨鏁伴噺
-     */
-    private Integer inventoryQuantity;
-
-    /**
-     * 宸插叆鏁伴噺
-     */
-    private Integer receivedQuantity;
-
-    /**
-     * 琛ョ墖缂栧彿
-     */
-    private String patchId;
-
-    /**
-     * 宸ョ▼鍗犵敤鐘舵�侊紝0涓哄崰鐢�1鍗犵敤
-     */
-    private Integer engineeringOccupancy;
-
-    /**
-     * 宸ョ▼鍙�(2024.0302娣诲姞)
-     */
-    private String projectNo;
-
-    /**
-     * 鍖呰鍓嶅伐搴忔姤宸� 搴撳瓨鏁伴噺
-     */
-    private Integer inventoryNumber;
-
-    /**
-     * 鍏ュ簱鏃堕棿
-     */
-    private LocalDateTime storageTime;
-
-    /**
-     * 鐢熶骇缁堟鐘舵��(榛樿0,1鐢熶骇缁堟)
-     */
-    private Integer terminationStatus;
-
-    /**
-     * 鎵撳嵃鐘舵��
-     */
-    private Integer printStatus;
-
-    /**
-     * 澶囩敤閿�
-     */
-    private Integer alternateKey;
-
-    /**
-     * 鍒嗘灦鍛�
-     */
-    private String founder;
-
-    /**
-     * 鍒嗘灦鏃堕棿
-     */
-    @TableField("splitFrame_time")
-    private LocalDateTime splitframeTime;
-
-    /**
-     * 灞傛暟
-     */
-    private Integer layersNumber;
-
-    /**
-     * 娴佺▼鍗℃墦鍗版帓搴�
-     */
-    private Integer sort;
-
-    /**
-     * 寤虹珛鏃堕棿
-     */
-    private LocalDateTime createTime;
-
-    /**
-     * 淇敼鏃堕棿
-     */
-    private LocalDateTime updateTime;
-
-
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index aecb3b9..9a83681 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -2,7 +2,6 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.mes.base.entity.BigStorageCageBaseInfo;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -92,7 +91,4 @@
      */
     @ApiModelProperty(value = "宸ョ▼id", position = 17)
     private String engineerId;
-
-    @TableLogic
-    private int deleted;
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index c400f4e..9944d58 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -108,7 +108,7 @@
     public Integer updateTemperingState(TemperingGlassInfo temperingGlassInfo) {
         UpdateWrapper<TemperingGlassInfo> wrapper = new UpdateWrapper<>();
         wrapper.eq("glass_id",temperingGlassInfo.getGlassId())
-                .lt("state",6)
+                .lt("state",5)
                 .set("state", temperingGlassInfo.getState());;
         if (temperingMapper.update(null,wrapper) > 0) {
             return 200;
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DateUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DateUtil.java
deleted file mode 100644
index 5fe0e17..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DateUtil.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.mes.tools;
-
-import java.util.Calendar;
-import java.util.Date;
-
-public class DateUtil {
-    public static Date getBeginDate(){
-        Calendar now = Calendar.getInstance();
-        Calendar startOfDay = (Calendar) now.clone();
-        startOfDay.set(Calendar.HOUR_OF_DAY, 0);
-        startOfDay.set(Calendar.MINUTE, 0);
-        startOfDay.set(Calendar.SECOND, 0);
-        return startOfDay.getTime();
-    }
-
-    public static Date getEndDate(){
-        Calendar now = Calendar.getInstance();
-        Calendar endOfDay = (Calendar) now.clone();
-        endOfDay.set(Calendar.HOUR_OF_DAY, 23);
-        endOfDay.set(Calendar.MINUTE, 59);
-        endOfDay.set(Calendar.SECOND, 59);
-        return endOfDay.getTime();
-    }
-}
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/application.yml b/hangzhoumesParent/common/servicebase/src/main/resources/application.yml
deleted file mode 100644
index 0edfb92..0000000
--- a/hangzhoumesParent/common/servicebase/src/main/resources/application.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-mybatis-plus-join:
-  sub-table-logic: true
-mybatis-plus:
-  global-config:
-    db-config:
-      logic-delete-field: deleted
-      logic-delete-value: 1
-      logic-not-delete-value: 0
\ No newline at end of file
diff --git a/hangzhoumesParent/gateway/src/main/resources/application.yml b/hangzhoumesParent/gateway/src/main/resources/application.yml
index 93b9826..a369150 100644
--- a/hangzhoumesParent/gateway/src/main/resources/application.yml
+++ b/hangzhoumesParent/gateway/src/main/resources/application.yml
@@ -6,7 +6,7 @@
   cloud:
     nacos:
       discovery:
-        server-addr: 10.153.19.150:8848
+        server-addr: 127.0.0.1:8848
     gateway:
       discovery:
         locator:
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
index 8e16a5e..b8b8a9d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/controller/EdgGlassTaskInfoController.java
@@ -1,19 +1,12 @@
 package com.mes.edgglasstask.controller;
 
 
-import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
-import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
-import com.mes.utils.Result;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author wu
@@ -22,22 +15,6 @@
 @RestController
 @RequestMapping("/edgGlassTaskInfo")
 public class EdgGlassTaskInfoController {
-
-    @Autowired
-    EdgGlassTaskInfoService edgGlassTaskInfoService;
-
-    /**
-     * 璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟
-     *
-     * @param request
-     * @return
-     */
-    @PostMapping("/setEdgGlassInfoRequest")
-    @ApiOperation(value = "璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟", notes = "璁剧疆纾ㄨ竟闃熷垪鏌ヨ鍙傛暟")
-    public Result<String> setEdgGlassInfoRequest(@RequestBody EdgGlassInfoRequest request) {
-        edgGlassTaskInfoService.setEdgGlassInfoRequest(request);
-        return Result.build(200, "鏌ヨ鎴愬姛", "1");
-    }
 
 }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
index 387c397..1d660e3 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/EdgGlassTaskInfo.java
@@ -1,6 +1,5 @@
 package com.mes.edgglasstask.entity;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -36,8 +35,5 @@
     private Integer line;
 
     private Date time;
-
-    @TableLogic
-    private int deleted;
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java
deleted file mode 100644
index 973b4c2..0000000
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/EdgGlassInfoRequest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.mes.edgglasstask.entity.request;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * @Author : zhoush
- * @Date: 2024/8/7 16:16
- * @Description:
- */
-@Data
-public class EdgGlassInfoRequest {
-
-    /**
-     * 纾ㄨ竟绾� 2001   2002
-     */
-    private List<Integer> cellList;
-    /**
-     * 鐘舵��  0 寰呭鐞�  1 澶勭悊涓�  2 澶勭悊瀹屾垚
-     */
-    private List<Integer> stateList;
-
-    /**
-     * 寮�濮嬫椂闂�
-     */
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date beginDate;
-
-    /**
-     * 缁撴潫鏃堕棿
-     */
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date endDate;
-}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java
deleted file mode 100644
index a383b93..0000000
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/entity/request/IdentWornRequest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mes.edgglasstask.entity.request;
-
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-
-/**
- * @Author : zhoush
- * @Date: 2024/8/10 13:34
- * @Description:
- */
-@Data
-public class IdentWornRequest {
-
-    @NotBlank(message = "鐜荤拑ID涓嶈兘涓虹┖")
-    private String glassId;
-
-    @NotNull(message = "鐘舵�佷笉鑳戒负绌�")
-    private int state;
-
-    @NotNull(message = "绾胯矾涓嶈兘涓虹┖")
-    private int line;
-
-    @NotBlank(message = "宸ュ簭涓嶈兘涓虹┖")
-    private String workingProcedure;
-}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
index 45651a3..1589b7d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/EdgGlassTaskInfoService.java
@@ -2,13 +2,10 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
-import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
-
-import java.util.List;
 
 /**
  * <p>
- * 鏈嶅姟绫�
+ *  鏈嶅姟绫�
  * </p>
  *
  * @author wu
@@ -16,13 +13,4 @@
  */
 public interface EdgGlassTaskInfoService extends IService<EdgGlassTaskInfo> {
 
-    List<EdgGlassTaskInfo> selectEdgInfo();
-
-    String setEdgGlassInfoRequest(EdgGlassInfoRequest request);
-    /**
-     * 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
-     * @param
-     * @return
-     */
-    List<EdgGlassTaskInfo> selectTaskCacheIsRun();
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
index 0934ab6..34a06f4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgglasstask/service/impl/EdgGlassTaskInfoServiceImpl.java
@@ -1,23 +1,14 @@
 package com.mes.edgglasstask.service.impl;
 
-import cn.smallbun.screw.core.util.CollectionUtils;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.mes.common.utils.RedisUtil;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
-import com.mes.edgglasstask.entity.request.EdgGlassInfoRequest;
 import com.mes.edgglasstask.mapper.EdgGlassTaskInfoMapper;
 import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
-import com.mes.tools.DateUtil;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import java.util.List;
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author wu
@@ -26,51 +17,4 @@
 @Service
 public class EdgGlassTaskInfoServiceImpl extends ServiceImpl<EdgGlassTaskInfoMapper, EdgGlassTaskInfo> implements EdgGlassTaskInfoService {
 
-    @Autowired
-    RedisUtil redisUtil;
-
-    @Override
-    public List<EdgGlassTaskInfo> selectEdgInfo() {
-        EdgGlassInfoRequest request = redisUtil.getCacheObject("edgGlassRequest");
-
-        if (null == request) {
-            request = new EdgGlassInfoRequest();
-        }
-        if (null == request.getBeginDate()) {
-            request.setBeginDate(DateUtil.getBeginDate());
-            request.setEndDate(DateUtil.getEndDate());
-        }
-        LambdaQueryWrapper<EdgGlassTaskInfo> edgGlassWrapper = new LambdaQueryWrapper<EdgGlassTaskInfo>()
-                .in(CollectionUtils.isNotEmpty(request.getCellList()), EdgGlassTaskInfo::getLine, request.getCellList())
-                .in(CollectionUtils.isNotEmpty(request.getStateList()), EdgGlassTaskInfo::getStatus, request.getStateList())
-                .between(null != request.getBeginDate(), EdgGlassTaskInfo::getTime, request.getBeginDate(), request.getEndDate())
-                .orderByDesc(EdgGlassTaskInfo::getTime);
-        return this.list(edgGlassWrapper);
-    }
-
-    @Override
-    public String setEdgGlassInfoRequest(EdgGlassInfoRequest request) {
-        if (request == null) {
-            redisUtil.deleteObject("edgGlassRequest");
-        } else {
-            redisUtil.setCacheObject("edgGlassRequest", request);
-        }
-        return "success";
-    }
-
-    /**
-     * 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
-     *
-     * @param
-     * @return
-     */
-    @Override
-    public List<EdgGlassTaskInfo> selectTaskCacheIsRun() {
-        QueryWrapper<EdgGlassTaskInfo> wrapper = new QueryWrapper<EdgGlassTaskInfo>()
-                .select("line")
-                .eq("status", 1)
-                .groupBy("line");
-
-        return this.list(wrapper);
-    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
index a28f44b..e7fea1b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -1,23 +1,26 @@
 package com.mes.edgstoragecage.controller;
 
-import com.mes.edgglasstask.entity.request.IdentWornRequest;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
+import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
+import com.mes.taskcache.entity.TaskCache;
+import com.mes.taskcache.service.impl.TaskCacheServiceImpl;
 import com.mes.utils.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.awt.image.ImageProducer;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -37,33 +40,44 @@
     @ApiOperation("鏌ヨ纾ㄨ竟缂撳瓨鐞嗙墖绗煎唴璇︽儏 鍙傛暟()")
     @PostMapping("/selectEdgStorageCage")
     @ResponseBody
-    public Result selectEdgStorageCage() {
-        List<Map<String, Object>> list = edgStorageCageService.selectEdgStorageCages();
-        return Result.build(200, "鎴愬姛", list);
+    public Result selectEdgStorageCage () {
+        List<Map<String, Object>> list=edgStorageCageService.selectEdgStorageCages();
+        return Result.build(200,"鎴愬姛",list);
     }
-
+//    @ApiOperation("娣诲姞纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氱鍐呯粦瀹氱幓鐠�  鍙傛暟(EdgStorageCage edgStorageCage)")
+//    @PostMapping("/insertEdgStorageCage")
+//    @ResponseBody
+//    public Result insertEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
+//        boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
+//        return Result.build(200,"娣诲姞鎴愬姛",1);
+//    }
     @ApiOperation("淇敼纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸杩涜銆愬惎鐢�/绂佺敤銆�")
     @PostMapping("/updateEdgStorageCage")
     @ResponseBody
     public Result updateEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
-        String isSucess = edgStorageCageService.updateEdgStorageCage(edgStorageCage) ? "鎴愬姛" : "澶辫触";
-        return Result.build(200, "銆愬惎鐢�/绂佺敤銆�" + isSucess, 1);
+        String isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage)?"鎴愬姛":"澶辫触";
+        return Result.build(200,"銆愬惎鐢�/绂佺敤銆�"+isSucess,1);
     }
 
     @ApiOperation("纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愭竻闄�/鏇存崲/缁戝畾銆� EdgStorageCage鏍煎瓙淇℃伅,EdgStorageCageDetails 鐜荤拑淇℃伅 ")
     @PostMapping("/edgStorageCageGlass")
     @ResponseBody
-    public Result edgStorageCageGlass(@RequestBody EdgStorageCageDetails edgStorageCageDetails, int edgStorageCageId) {
+    public Result edgStorageCageGlass(@RequestBody EdgStorageCageDetails edgStorageCageDetails,int edgStorageCageId) {
 
-        String isSucess = edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId, edgStorageCageDetails) ? "鎴愬姛" : "澶辫触";
-        return Result.build(200, "銆愭竻闄�/鏇存崲/缁戝畾銆�" + isSucess, 1);
+        String isSucess=edgStorageCageService.updateEdgStorageCageDetails(edgStorageCageId,edgStorageCageDetails)?"鎴愬姛":"澶辫触";
+        return Result.build(200,"銆愭竻闄�/鏇存崲/缁戝畾銆�"+isSucess,1);
     }
+
+
 
     @ApiOperation("纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵��   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆�  ")
     @PostMapping("/edgReportStatus")
     @ResponseBody
-    public Result edgReportStatus(@RequestBody @Validated IdentWornRequest request) {
-        return Result.build(200, "銆愮牬鎹�/鎷胯蛋銆�" + edgStorageCageDetailsService.edgReportStatus(request), 1);
+    public Result edgReportStatus(@RequestBody Map<String, Object> arguments) {
+        /*arguments.put("line","1002");
+        arguments.put("machine","鍗у紡鐞嗙墖");*/
+        String isSucess=edgStorageCageDetailsService.identWorn(arguments)?"鎴愬姛":"澶辫触";
+        return Result.build(200,"銆愮牬鎹�/鎷胯蛋銆�"+isSucess,1);
     }
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index 4e7ef5c..4f00afb 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -1,7 +1,6 @@
 package com.mes.edgstoragecage.service;
 
 import com.github.yulichang.base.MPJBaseService;
-import com.mes.edgglasstask.entity.request.IdentWornRequest;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 
 import java.util.List;
@@ -16,6 +15,13 @@
  * @since 2024-04-07
  */
 public interface EdgStorageCageDetailsService extends MPJBaseService<EdgStorageCageDetails> {
+
+    /**
+     * 璇嗗埆 鐮存崯/鎷胯蛋
+     * @param arguments
+     * @return
+     */
+    boolean identWorn(Map<String, Object> arguments);
 
     /**
      * 鑾峰彇 鍒囧壊褰撳墠鐗堝浘
@@ -40,26 +46,9 @@
 
     /**
      * 鑾峰彇鍑虹墖淇℃伅鏁版嵁
-     *
      * @param glassId
      * @param threshold
      * @return
      */
     EdgStorageCageDetails selectOutGlass(String glassId, int threshold);
-
-    /**
-     * 璇嗗埆   鎷胯蛋:9/鐮存崯:8
-     *
-     * @param request
-     * @return
-     */
-    String identControls(IdentWornRequest request);
-
-    /**
-     * 纾ㄨ竟妯″潡姹囨姤鐜荤拑鐘舵��   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愮牬鎹�/鎷胯蛋銆�
-     *
-     * @param request
-     * @return
-     */
-    String edgReportStatus(IdentWornRequest request);
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index e214749..d0f8f5c 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -2,7 +2,6 @@
 
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.query.MPJLambdaQueryWrapper;
@@ -10,15 +9,16 @@
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
+import com.mes.damage.mapper.DamageMapper;
 import com.mes.damage.service.DamageService;
-import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
-import com.mes.edgglasstask.entity.request.IdentWornRequest;
-import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
+import com.mes.engineering.entity.Engineering;
+import com.mes.engineering.mapper.EngineeringMapper;
+import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.pp.entity.OptimizeDetail;
 import com.mes.pp.entity.OptimizeLayout;
@@ -29,11 +29,12 @@
 import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.print.attribute.standard.MediaSize;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -59,6 +60,12 @@
     @Autowired
     EdgStorageCageMapper edgStorageCageMapper;
     @Autowired
+    DamageMapper damageMapper;
+
+    @Autowired
+    EngineeringMapper engineeringMapper;
+
+    @Autowired
     GlassInfoMapper glassInfoMapper;
 
     @Autowired
@@ -67,8 +74,47 @@
     @Autowired
     DamageService damageService;
 
-    @Autowired
-    EdgGlassTaskInfoService edgGlassTaskInfoService;
+
+    /**
+     * 璇嗗埆   鎷胯蛋:200/鐮存崯:201
+     *
+     * @param arguments
+     * @return
+     */
+    @Override
+    public boolean identWorn(Map<String,Object> arguments) {
+        String glassId=arguments.get("glassId").toString();
+        int state=arguments.get("state").toString().isEmpty()?0:Integer.parseInt(arguments.get("state").toString());
+        int line=arguments.get("line").toString().isEmpty()?0:Integer.parseInt(arguments.get("line").toString());
+        String workingProcedure=arguments.get("workingProcedure").toString();
+        if(state==0||line==0||workingProcedure==null||glassId==null||glassId.isEmpty()){
+            log.info("鍓嶇浼犻�掓暟鎹笉鍏�:{}",arguments);
+            return false;
+        }
+        List<GlassInfo> GlassInfos = glassInfoMapper.selectList(new MPJLambdaQueryWrapper<GlassInfo>()
+                .selectAll(GlassInfo.class)
+                .eq(GlassInfo::getGlassId, glassId));
+        if (GlassInfos.size() == 1) {
+            Damage damage =new Damage();
+            damage.setGlassId(glassId);
+            damage.setLine(line);
+            damage.setWorkingProcedure(workingProcedure);
+            damage.setRemark("");
+            damage.setStatus(state);//8鐮存崯锛�9鎷胯蛋
+            damageService.insertDamage(damage);
+        }else{
+            return false;
+        }
+        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+                .selectAll(EdgStorageCageDetails.class)
+                .eq(EdgStorageCageDetails::getGlassId, glassId));
+        if (edgStorageCageDetails.size() == 1) {
+            EdgStorageCageDetails item = edgStorageCageDetails.get(0);
+            item.setState(state);
+            baseMapper.update(item, new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId, glassId));
+        }
+        return true;
+    }
 
     /**
      * 鑾峰彇 鍒囧壊褰撳墠鐗堝浘
@@ -77,13 +123,17 @@
      */
     @Override
     public List<Map<String, Object>> selectCutTerritory() {
-        List<UpPattenUsage> upPattenUsage = upPattenUsageMapper.selectList(new MPJLambdaWrapper<UpPattenUsage>()
+        List<UpPattenUsage> upPattenUsage=upPattenUsageMapper.selectJoinList(UpPattenUsage.class, new MPJLambdaWrapper<UpPattenUsage>()
                 .selectAll(UpPattenUsage.class)
+                .innerJoin(Engineering.class, on -> on
+                        .eq(Engineering::getEngineerId, UpPattenUsage::getEngineeringId))
+                .eq(Engineering::getState,1)
                 .orderByDesc(UpPattenUsage::getState)
-                .orderByDesc(UpPattenUsage::getId));
+                .orderByDesc(UpPattenUsage::getId)
+        );
         if (!upPattenUsage.isEmpty()) {
             UpPattenUsage upPattenUsage1 = upPattenUsage.get(0);
-            List<Map<String, Object>> cutTerritorys = optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+            List<Map<String, Object>> cutTerritorys=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
                     .selectAll(OptimizeDetail.class)
                     .selectAs(OptimizeLayout::getWidth, "olWidth")
                     .selectAs(OptimizeLayout::getHeight, "olHeight")
@@ -93,29 +143,34 @@
                     .eq(OptimizeDetail::getProjectNo, upPattenUsage1.getEngineeringId())
                     .eq(OptimizeDetail::getStockId, upPattenUsage1.getLayoutSequence())
             );
-            List<Map<String, Object>> ResultcutTerritorys = new ArrayList<>();
-            for (Map<String, Object> cutTerritory : cutTerritorys) {
-                EdgStorageCageDetails edgStorageCageDetails = baseMapper.selectOne(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
-                        .selectAll(EdgStorageCageDetails.class)
-                        .eq(EdgStorageCageDetails::getGlassId, cutTerritory.get("glass_id"))
-                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN));
-//                log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
-                if (edgStorageCageDetails != null) {
-                    cutTerritory.put("glass_state", edgStorageCageDetails.getState());
-                } else {
-                    cutTerritory.put("glass_state", 0);
-                }
-                ResultcutTerritorys.add(cutTerritory);
-            }
-            return ResultcutTerritorys;
+            Map<String, EdgStorageCageDetails> edgMaps=baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+                    .selectAll(EdgStorageCageDetails.class)
+                    .eq(EdgStorageCageDetails::getEngineerId,upPattenUsage1.getEngineeringId())
+                    .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
+            ).stream().collect(Collectors.toMap(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails->EdgStorageCageDetails));
 
-//            Sql鐗堟湰
-//            return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
-//                    .select("ol.width as olwidth","ol.height as olheight")
-//                    .leftJoin("optimize_layout ol on t.project_no=ol.project_no and t.stock_id=ol.stock_id")
-//                    .eq("t.project_no", upPattenUsage1.getEngineeringId())
-//                    .eq("t.stock_id",upPattenUsage1.getLayoutSequence())
-//            );
+            Map<String, Damage> damageMaps=damageMapper.selectList(new MPJLambdaQueryWrapper<Damage>()
+                    .selectAll(Damage.class)
+                    .eq(Damage::getEngineerId,upPattenUsage1.getEngineeringId())
+            ).stream().collect(Collectors.toMap(Damage::getGlassId,Damage->Damage));
+
+            List<Map<String, Object>> resultCutTerritory=new ArrayList<>();
+            for (Map<String, Object> cutTerritory : cutTerritorys) {
+//                log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
+                if(cutTerritory.get("glass_id")==null||"".equals(cutTerritory.get("glass_id"))){
+                    log.info("浼樺寲鏁版嵁涓璯lassId瀛樺湪绌哄��-----鍐呭锛歿}",cutTerritorys);
+                    return new ArrayList<>();
+                }else if(edgMaps.get(cutTerritory.get("glass_id"))!=null){
+                    cutTerritory.put("glass_state",edgMaps.get(cutTerritory.get("glass_id")).getState());
+                }else if(damageMaps.get(cutTerritory.get("glass_id"))!=null){
+                    //log.info("鐜荤拑宸茬牬鎹�/鎷胯蛋-----鍐呭锛歿}",damageMaps.get(item.get("glass_id")));
+                    cutTerritory.put("glass_state",damageMaps.get(cutTerritory.get("glass_id")).getStatus());
+                }else{
+                    cutTerritory.put("glass_state",0);
+                }
+                resultCutTerritory.add(cutTerritory);
+            }
+            return resultCutTerritory;
         }
         return null;
     }
@@ -129,9 +184,9 @@
     @Override
     public List<List<Map<String, Object>>> selectCurrentCutTerritory(String current) {
         //缁撴灉
-        List<Map<String, Object>> ResultcutTerritorys = new ArrayList<>();
+        List<Map<String, Object>> resultCutTerritory=new ArrayList<>();
         //姝ゅ伐绋嬬殑鎵�鏈変紭鍖栨暟鎹�
-        List<Map<String, Object>> cutTerritorys = optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+        List<Map<String, Object>> cutTerritory=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
                 .selectAll(OptimizeDetail.class)
                 .selectAs(OptimizeLayout::getWidth, "olWidth")
                 .selectAs(OptimizeLayout::getHeight, "olHeight")
@@ -141,32 +196,35 @@
                 .eq(OptimizeDetail::getProjectNo, current)
         );
 
-        Map<String, EdgStorageCageDetails> edgMaps = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
+        Map<String, EdgStorageCageDetails> edgMaps=baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>()
                 .selectAll(EdgStorageCageDetails.class)
-                .eq(EdgStorageCageDetails::getEngineerId, current)
+                .eq(EdgStorageCageDetails::getEngineerId,current)
                 .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
-        ).stream().collect(Collectors.toMap(EdgStorageCageDetails::getGlassId, EdgStorageCageDetails -> EdgStorageCageDetails));
-        for (Map<String, Object> cutTerritory : cutTerritorys) {
+        ).stream().collect(Collectors.toMap(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails->EdgStorageCageDetails));
+
+        Map<String, Damage> damageMaps=damageMapper.selectList(new MPJLambdaQueryWrapper<Damage>()
+                .selectAll(Damage.class)
+                .eq(Damage::getEngineerId,current)
+        ).stream().collect(Collectors.toMap(Damage::getGlassId,Damage->Damage));
+
+        for (Map<String, Object> item : cutTerritory) {
 //                log.info("鍐呭锛歿}-------{}",cutTerritory,edgStorageCageDetails);
-            if (cutTerritory.get("glass_id") == null || "".equals(cutTerritory.get("glass_id"))) {
-                log.info("浼樺寲鏁版嵁涓璯lassId瀛樺湪绌哄��-----鍐呭锛歿}", cutTerritorys);
+            if(item.get("glass_id")==null||"".equals(item.get("glass_id"))){
+                log.info("浼樺寲鏁版嵁涓璯lassId瀛樺湪绌哄��-----鍐呭锛歿}",cutTerritory);
                 return new ArrayList<>();
-            } else if (edgMaps.get(cutTerritory.get("glass_id")) != null) {
-                cutTerritory.put("glass_state", edgMaps.get(cutTerritory.get("glass_id")).getState());
-            } else {
-                cutTerritory.put("glass_state", 0);
+            }else if(edgMaps.get(item.get("glass_id"))!=null){
+                item.put("glass_state",edgMaps.get(item.get("glass_id")).getState());
+            }else if(damageMaps.get(item.get("glass_id"))!=null){
+                //log.info("鐜荤拑宸茬牬鎹�/鎷胯蛋-----鍐呭锛歿}",damageMaps.get(item.get("glass_id")));
+                item.put("glass_state",damageMaps.get(item.get("glass_id")).getStatus());
+            }else{
+                item.put("glass_state",0);
             }
-            ResultcutTerritorys.add(cutTerritory);
+            resultCutTerritory.add(item);
         }
-        Map<String, List<Map<String, Object>>> groupBy = ResultcutTerritorys.stream().collect(Collectors.groupingBy(item -> item.get("stock_id").toString()));
+        Map<String, List<Map<String, Object>>> groupBy=resultCutTerritory.stream().collect(Collectors.groupingBy(item->item.get("stock_id").toString()));
 //        List<List<Map<String, Object>>> Result=groupBy.values().stream().collect(Collectors.toList());
         return new ArrayList<>(groupBy.values());
-//Sql鐗堟湰
-//        return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
-//                .select("ol.width as olwidth","ol.height as olheight")
-//                .leftJoin("optimize_layout ol on t.project_no=ol.project_no and t.stock_id=ol.stock_id")
-//                .eq("t.project_no",current)
-//        );
     }
 
     /**
@@ -257,49 +315,22 @@
         EdgStorageCageDetails outEdgStorageCageDetails = null;
 
 //        if (queryMaxMinDiff(threshold))
-        //todo:閫昏緫1锛氳幏鍙栦袱鏉$嚎宸插嚭鏈�鍚庝竴鍧楃幓鐠冨湪绗煎唴鐩稿悓灏哄鎵�鍓╂暟閲忥紝浼樺厛璧版暟閲忓皯鐨勭嚎
-        //todo:闇�瑕佸湪鍗у紡鐞嗙墖绗艰鎯呰〃涓柊澧炵姸鎬侊紝鐢ㄦ潵琛ㄧず鐜荤拑杩涘嚭鐞嗙墖绗兼儏鍐�
-        if (oldEdgStorageCageDetails != null && minTemperingLayoutId != null) {
-            log.info("鎸夌収涓婁竴鐗囧凡鍑虹幓鐠冨搴}锛岄珮搴}锛屽強鐗堝浘id鍖洪棿{}鍒皗}鑾峰彇鍑虹墖浠诲姟鐜荤拑淇℃伅", oldEdgStorageCageDetails.getWidth()
-                    , oldEdgStorageCageDetails.getHeight(), minTemperingLayoutId.getTemperingLayoutId(), minTemperingLayoutId.getTemperingLayoutId() + threshold);
-            outEdgStorageCageDetails = this.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
-                    .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds)
-                    .eq(EdgStorageCageDetails::getWidth, oldEdgStorageCageDetails.getWidth())
-                    .eq(EdgStorageCageDetails::getHeight, oldEdgStorageCageDetails.getHeight())
-                    .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence)
-                    .last("limit 1"));
-            log.info("鍑虹墖浠诲姟鐨勭幓鐠冧俊鎭細{}", outEdgStorageCageDetails);
-        }
+            //todo:閫昏緫1锛氳幏鍙栦袱鏉$嚎宸插嚭鏈�鍚庝竴鍧楃幓鐠冨湪绗煎唴鐩稿悓灏哄鎵�鍓╂暟閲忥紝浼樺厛璧版暟閲忓皯鐨勭嚎
+            //todo:闇�瑕佸湪鍗у紡鐞嗙墖绗艰鎯呰〃涓柊澧炵姸鎬侊紝鐢ㄦ潵琛ㄧず鐜荤拑杩涘嚭鐞嗙墖绗兼儏鍐�
+            if (oldEdgStorageCageDetails != null && minTemperingLayoutId != null) {
+                log.info("鎸夌収涓婁竴鐗囧凡鍑虹幓鐠冨搴}锛岄珮搴}锛屽強鐗堝浘id鍖洪棿{}鍒皗}鑾峰彇鍑虹墖浠诲姟鐜荤拑淇℃伅", oldEdgStorageCageDetails.getWidth()
+                        , oldEdgStorageCageDetails.getHeight(), minTemperingLayoutId.getTemperingLayoutId(), minTemperingLayoutId.getTemperingLayoutId() + threshold);
+                outEdgStorageCageDetails = this.getOne(new LambdaQueryWrapper<EdgStorageCageDetails>()
+                        .notIn(CollectionUtils.isNotEmpty(glassIds), EdgStorageCageDetails::getGlassId, glassIds)
+                        .eq(EdgStorageCageDetails::getWidth, oldEdgStorageCageDetails.getWidth())
+                        .eq(EdgStorageCageDetails::getHeight, oldEdgStorageCageDetails.getHeight())
+                        .orderByAsc(EdgStorageCageDetails::getTemperingLayoutId, EdgStorageCageDetails::getTemperingFeedSequence)
+                        .last("limit 1"));
+                log.info("鍑虹墖浠诲姟鐨勭幓鐠冧俊鎭細{}", outEdgStorageCageDetails);
+            }
         if (outEdgStorageCageDetails == null) {
             outEdgStorageCageDetails = minTemperingLayoutId;
         }
         return outEdgStorageCageDetails;
-    }
-
-    @Override
-    public String identControls(IdentWornRequest request) {
-        //灏嗚瘑鍒牬鎹熺殑鐜荤拑鐩存帴鍔犲叆鐮存崯琛�
-        Damage damage = new Damage();
-        BeanUtils.copyProperties(request, damage);
-        damage.setType(request.getState());
-        damage.setRemark("");
-        damage.setStatus(0);
-        damageService.insertDamage(damage);
-        return "success";
-    }
-
-    @Override
-    public String edgReportStatus(IdentWornRequest request) {
-        //灏嗙(杈归槦鍒楃牬鎹熺殑鐜荤拑鐩存帴鍔犲叆鐮存崯琛�
-        Damage damage = new Damage();
-        BeanUtils.copyProperties(request, damage);
-        damage.setType(request.getState());
-        damage.setRemark("");
-        damage.setStatus(0);
-        damageService.insertDamage(damage);
-        //淇敼纾ㄨ竟闃熷垪鏁版嵁鐘舵��
-        edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
-                .set(EdgGlassTaskInfo::getStatus, request.getState()).eq(EdgGlassTaskInfo::getGlassId, request.getGlassId()));
-        return "success";
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index 87716c5..b11d08b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -153,15 +153,17 @@
         EdgStorageCageDetails edgDItem = edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
         if (edgItem != null) {
             //绉婚櫎  锛堢牬鎹�,鐩墠涓や釜姒傚康娣峰悎鍦ㄤ竴璧�,寤鸿鎷嗗紑锛�
-            EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
+            EdgStorageCageDetails result = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>()
+                    .eq(EdgStorageCageDetails::getSlot, edgStorageCageId));
             if (result != null) {
+                int state=8;
                 result.setSlot(0);
-                result.setState(201);
+                result.setState(state);
                 Damage damage =new Damage();
                 damage.setGlassId(edgStorageCageDetails.getGlassId());
                 damage.setLine(1002);
                 damage.setWorkingProcedure("鍗у紡鐞嗙墖");
-                damage.setStatus(2);
+                damage.setStatus(state);
                 damageService.insertDamage(damage);
                 edgStorageCageDetailsMapper.updateById(result);
             }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index d0fb44d..3dcf2d7 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -6,13 +6,10 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.S7object;
 import com.mes.common.config.Const;
-import com.mes.damage.entity.Damage;
-import com.mes.damage.service.DamageService;
 import com.mes.device.PlcParameterObject;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
 import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
@@ -37,7 +34,6 @@
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
 
 /**
  * @Author : zhoush
@@ -62,8 +58,6 @@
 
     @Autowired
     WebSocketServer webServerService;
-    @Autowired
-    DamageService damageService;
 
     @Value("${mes.threshold}")
     private int threshold;
@@ -94,7 +88,7 @@
 
     public static String engineerId = "";
 
-    @Scheduled(fixedDelay = 1000)
+//    @Scheduled(fixedDelay = 1000)
     public void plcHomeEdgTask() {
         Date startDate = new Date();
         log.info("鏈浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
@@ -146,36 +140,23 @@
         log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
     }
 
-
     @Scheduled(fixedDelay = 1000)
-    public void dealDamageTask() {
-        Date startDate = new Date();
-        log.info("鍗у紡鐞嗙墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
-        List<TaskCache> taskCacheList = taskCacheService.list(new LambdaQueryWrapper<TaskCache>().in(TaskCache::getTaskStatus, Const.GLASS_STATE_DAMAGE_TAKE)
-                .in(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL));
-        if (CollectionUtils.isNotEmpty(taskCacheList)) {
-            //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
-            List<String> glassList = taskCacheList.stream().map(TaskCache::getGlassId).collect(Collectors.toList());
-            //灏嗙(杈归槦鍒楃殑鏁版嵁鍒犻櫎
-            edgGlassTaskInfoService.remove(new LambdaQueryWrapper<EdgGlassTaskInfo>().in(EdgGlassTaskInfo::getGlassId, glassList));
-            //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
-            taskCacheService.remove(new LambdaQueryWrapper<TaskCache>().in(TaskCache::getGlassId, glassList).in(TaskCache::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL));
-            List<Damage> damageList = taskCacheList.stream().map(e -> {
-                Damage damage = new Damage();
-                damage.setGlassId(e.getGlassId());
-                damage.setLine(e.getEndCell());
-                damage.setWorkingProcedure("鍐峰姞宸�");
-                damage.setRemark("纾ㄨ竟鍓嶅崸寮忕悊鐗�");
-                damage.setStatus(0);
-                damage.setType(e.getTaskStatus());
-                return damage;
-            }).collect(Collectors.toList());
-            damageService.batchInsertDamage(damageList);
+    public void temperingIsRun() {
+        JSONObject jsonObject = new JSONObject();
+        //姝e湪杩涜鐨勪换鍔�
+        List<TaskCache> taskCaches = taskCacheService.selectTaskCacheIsRun();
+        jsonObject.append("taskCaches", taskCaches);
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun");
+        if (sendwServer != null) {
+            for (WebSocketServer webserver : sendwServer) {
+                if (webserver != null) {
+                    webserver.sendMessage(jsonObject.toString());
+                } else {
+                    log.info("Home is closed");
+                }
+            }
         }
-        Date endDate = new Date();
-        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
     }
-
 
     /**
      * 杩涚墖浠诲姟
@@ -193,23 +174,20 @@
 
         //鏌ヨ鐜荤拑骞惰繘琛屼氦鎹�
         GlassInfo glassInfo = queryAndChangeGlass(glassId);
-        if (glassInfo == null) {
-            return;
-        }
-        log.info("4銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
+        log.info("3銆佸皢鐜荤拑淇℃伅鎻掑叆鍗у紡鐞嗙墖绗�,褰撳墠鐜荤拑淇℃伅:{}", glassInfo);
         EdgStorageCageDetails details = new EdgStorageCageDetails();
         BeanUtils.copyProperties(glassInfo, details);
         details.setState(Const.GLASS_STATE_IN);
         details.setSlot(nearestEmpty.getSlot());
         details.setDeviceId(nearestEmpty.getDeviceId());
         edgStorageCageDetailsService.save(details);
-        log.info("5銆佺幓鐠冧俊鎭凡瀛樺叆鐞嗙墖绗艰鎯呰〃锛岀幓鐠冧俊鎭负{}", details);
+        log.info("4銆佺幓鐠冧俊鎭凡瀛樺叆鐞嗙墖绗艰鎯呰〃锛岀幓鐠冧俊鎭负{}", details);
         //娣诲姞杩涚墖浠诲姟
         boolean taskCache = saveTaskCache(details.getGlassId(), 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
-        log.info("6銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
+        log.info("5銆佺敓鎴愯繘鐗囦换鍔′俊鎭瓨鍏ヤ换鍔¤〃鏄惁瀹屾垚锛歿}", taskCache);
 
         S7object.getinstance().plccontrol.writeWord(confirmationWrodAddress, 1);
-        log.info("7銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
+        log.info("6銆佸彂閫佺‘璁ゅ瓧瀹屾垚");
 
 
     }
@@ -224,10 +202,6 @@
         GlassInfo glassInfo = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId));
 //                .inSql(GlassInfo::getEngineerId, "select engineer_id from engineering where state = 1"));
         Assert.isFalse(null == glassInfo, "鐜荤拑淇℃伅涓嶅瓨鍦�");
-        if ((glassInfo.getWidth() < Double.parseDouble(minTwoFirstLength) && glassInfo.getHeight() < Double.parseDouble(minTwoSecondLength)) || (glassInfo.getWidth() < Double.parseDouble(minTwoSecondLength) && glassInfo.getHeight() < Double.parseDouble(minTwoFirstLength))) {
-            log.info("3銆佺幓鐠冧俊鎭笉绗﹀悎杩涘叆鐞嗙墖绗兼渶灏忓昂瀵革紝鐜荤拑淇℃伅涓簕}", glassInfo);
-            return null;
-        }
         //鎸夌収鐜荤拑灏哄
         LambdaQueryWrapper<GlassInfo> queryWrapper = new LambdaQueryWrapper<GlassInfo>()
                 .eq(GlassInfo::getWidth, glassInfo.getWidth())
@@ -557,7 +531,7 @@
         if (endcell == Const.A10_OUT_TARGET_POSITION) {
             wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
                     "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
-                    "on t.glass_id = t1.glass_id and (t1.first_length >= " + minOneFirstLength + " and t1.second_length >= " + minOneSecondLength + ")");
+                    "on t.glass_id = t1.glass_id and (t1.first_length >= " + minOneFirstLength + " and t1.second_length >= " + minOneSecondLength);
         } else {
             wrapper.innerJoin("(select glass_id, case when height <= width then width else height end as first_length, " +
                     "case when width < height then width else height end as second_length from edg_storage_cage_details) t1 " +
@@ -680,7 +654,7 @@
     }
 
     /**
-     * 娣诲姞纾ㄨ竟闃熷垪淇℃伅
+     * 娣诲姞鐞嗙墖绗间换鍔�
      *
      * @param glassInfo
      * @param endcell
@@ -726,19 +700,13 @@
     public void CacheGlassTasks() {
         JSONObject jsonObject = new JSONObject();
         List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-//        List<Map<String, Object>> currentCutTerritorys=new ArrayList<>();
-//        if(engineerId==null||engineerId.isEmpty()){
-//            //璇嗗埆鎽嗙墖 褰撳墠鐗堝浘鏁版嵁
-//            currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
-//        }else{
-//            //璇嗗埆鎽嗙墖 姝ngineerId 宸ョ▼鐗堝浘鏁版嵁
-//            currentCutTerritorys = edgStorageCageDetailsService.selectCurrentCutTerritory(engineerId);
-//        }
         jsonObject.append("currentCutTerritory", currentCutTerritorys);
         //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
         //纾ㄨ竟淇℃伅
-        List<EdgGlassTaskInfo> edgTasks = edgGlassTaskInfoService.selectEdgInfo();
-        jsonObject.append("edgTasks", edgTasks);
+        List<Map<String, Object>> EdgTasks1 = taskCacheService.selectEdgInfo("2001");
+        List<Map<String, Object>> EdgTasks2 = taskCacheService.selectEdgInfo("2002");
+        jsonObject.append("EdgTasks1", EdgTasks1);
+        jsonObject.append("EdgTasks2", EdgTasks2);
 
         //鍗у缂撳瓨绗煎唴淇℃伅
         List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
@@ -760,12 +728,11 @@
             }
         }
     }
-
     @Scheduled(fixedDelay = 1000)
     public void cacheGlassIsRun() {
         JSONObject jsonObject = new JSONObject();
         //姝e湪杩涜鐨勪换鍔�
-        List<EdgGlassTaskInfo> taskCaches = edgGlassTaskInfoService.selectTaskCacheIsRun();
+        List<TaskCache> taskCaches = taskCacheService.selectTaskCacheIsRun();
         jsonObject.append("taskCaches", taskCaches);
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlassIsRun");
         if (sendwServer != null) {
@@ -779,4 +746,5 @@
         }
     }
 
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index 850789e..62508b2 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -1,21 +1,23 @@
 package com.mes.taskcache.controller;
 
-import com.mes.edgglasstask.entity.request.IdentWornRequest;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
+import com.mes.edgstoragecage.service.EdgStorageCageService;
+import com.mes.taskcache.entity.TaskCache;
 import com.mes.taskcache.service.TaskCacheService;
 import com.mes.utils.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 import java.util.Map;
 
+import static com.mes.job.CacheGlassTask.engineerId;
+
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -30,6 +32,8 @@
     private EdgStorageCageDetailsService edgStorageCageDetailsService;
 
     @Autowired
+    private EdgStorageCageService edgStorageCageService;
+    @Autowired
     private TaskCacheService taskCacheService;
 
     @ApiOperation("鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�   鍙傛暟(宸ョ▼鍙�)")
@@ -38,31 +42,30 @@
     public Result cutTerritory(String current) {
         //engineerId=current;
         List<List<Map<String, Object>>> h = edgStorageCageDetailsService.selectCurrentCutTerritory(current);
-        return Result.build(200, "鎴愬姛", h);
+        return Result.build(200,"鎴愬姛",h);
     }
-
     @ApiOperation("璇嗗埆鏄剧ず  褰撳墠鐗堝浘   鍙傛暟()")
     @PostMapping("/currentCutTerritory")
     @ResponseBody
     public Result currentCutTerritory() {
         List<Map<String, Object>> h = edgStorageCageDetailsService.selectCutTerritory();
-        return Result.build(200, "鎴愬姛", h);
+        return Result.build(200,"鎴愬姛",h);
     }
-
-    @ApiOperation("璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D,鍔熻兘[9锛氭嬁璧帮紝8:鐮存崯]锛�")
+    @ApiOperation("璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D,鍔熻兘[200锛氭嬁璧帮紝201:鐮存崯]锛�")
     @PostMapping("/identControls")
     @ResponseBody
-    public Result<String> identControls(@RequestBody @Validated IdentWornRequest request) {
-        return Result.build(200, "鎴愬姛", edgStorageCageDetailsService.identControls(request));
+    public Result identControls(@RequestBody Map<String, Object> arguments) {
+        boolean issucess = edgStorageCageDetailsService.identWorn(arguments);
+        return Result.build(200,"鎴愬姛",issucess);
     }
 
     @ApiOperation("纾ㄨ竟浠诲姟 鍙傛暟()")
     @PostMapping("/selectEdgTask")
     @ResponseBody
     public Result selectEdgTask(@RequestBody Map<String, String> arguments) {
-        String line = arguments.get("line");
-        List<Map<String, Object>> EdgTasks = taskCacheService.selectEdgInfo(line);
-        return Result.build(200, "鎴愬姛", EdgTasks);
+        String line=arguments.get("line");
+        List<Map<String,Object>> EdgTasks = taskCacheService.selectEdgInfo(line);
+        return Result.build(200,"鎴愬姛",EdgTasks);
     }
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
index 9226203..fb0c415 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -1,6 +1,5 @@
 package com.mes.taskcache.entity;
 
-import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
@@ -36,8 +35,5 @@
      * 鍒涘缓鏃堕棿
      */
     private Date createTime;
-
-    @TableLogic
-    private int deleted;
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
index 07275d1..daaf6e3 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -73,6 +73,11 @@
      * @return
      */
     TaskCache selectLastOutCacheInfo(int line);
-
+    /**
+     * 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
+     * @param
+     * @return
+     */
+    List<TaskCache> selectTaskCacheIsRun();
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
index df949ef..0e330b0 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -1,6 +1,5 @@
 package com.mes.taskcache.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.base.MPJBaseServiceImpl;
@@ -8,7 +7,6 @@
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
-import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
@@ -25,7 +23,7 @@
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -46,59 +44,57 @@
 
     /**
      * 娣诲姞鐞嗙墖绗间换鍔�
-     *
      * @param taskCache
      * @return
      */
     @Override
-    public boolean insertTaskCache(TaskCache taskCache) {
+    public boolean insertTaskCache(TaskCache taskCache){
         baseMapper.insert(taskCache);
         return true;
     }
 
     /**
      * 鏌ヨ纾ㄨ竟浠诲姟
-     *
      * @param line
      * @return
      */
     @Override
-    public List<Map<String, Object>> selectEdgInfo(String line) {
-        List<TaskCache> taskCache = baseMapper.selectList(new MPJLambdaWrapper<TaskCache>()
+    public List<Map<String,Object>> selectEdgInfo(String line) {
+        List<TaskCache> taskCache=baseMapper.selectList(new MPJLambdaWrapper<TaskCache>()
                 .selectAll(TaskCache.class)
                 .eq(TaskCache::getEndCell, line)
-                .eq(TaskCache::getTaskStatus, 1)
+                .eq(TaskCache::getTaskStatus,1)
                 .orderByAsc(TaskCache::getCreateTime));
-        List<Map<String, Object>> result = new ArrayList<>();
-        int serialNumber = 1;
-        for (TaskCache taskCache1 : taskCache) {
-            Map<String, Object> map = new HashMap<>();
+        List<Map<String,Object>> result=new ArrayList<>();
+        int serialNumber=1;
+        for(TaskCache taskCache1:taskCache){
+            Map<String,Object> map=new HashMap<>();
 //            GlassInfo glassInfo=glassInfoMapper.selectOne(new MPJLambdaWrapper<GlassInfo>()
 //                    .selectAll(GlassInfo.class)
 //                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId()));
-            List<GlassInfo> glassInfos = glassInfoMapper.selectJoinList(GlassInfo.class, new MPJLambdaWrapper<GlassInfo>()
+            List<GlassInfo> glassInfos=glassInfoMapper.selectJoinList(GlassInfo.class, new MPJLambdaWrapper<GlassInfo>()
                     .selectAll(GlassInfo.class)
                     .innerJoin(EdgStorageCageDetails.class, on -> on
                             .eq(EdgStorageCageDetails::getGlassId, GlassInfo::getGlassId)
                             .eq(EdgStorageCageDetails::getEngineerId, GlassInfo::getEngineerId))
-                    .eq(GlassInfo::getGlassId, taskCache1.getGlassId())
-                    .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT)
+                    .eq(GlassInfo::getGlassId,taskCache1.getGlassId())
+                    .eq(EdgStorageCageDetails::getState,Const.GLASS_STATE_OUT)
             );
-            if (glassInfos.size() == 1) {
-                GlassInfo glassInfo = glassInfos.get(0);
-                map.put("Line", line);//绾胯矾   2001  1绾匡紝 2002 2绾�
-                map.put("Width", glassInfo.getWidth());//瀹�
-                map.put("Height", glassInfo.getHeight());//楂�
-                map.put("Thickness", glassInfo.getThickness());//鍘�
-                map.put("GlassId", glassInfo.getGlassId());//鐜荤拑ID
-                map.put("FlowCardId", glassInfo.getFlowCardId());//娴佺▼鍗″彿
-                map.put("TemperingLayoutId", glassInfo.getTemperingLayoutId());// 鏆備笉鏄剧ず  閽㈠寲鐗堝浘ID
-                map.put("TemperingFeedSequence", glassInfo.getTemperingFeedSequence());// 鏆備笉鏄剧ず  閽㈠寲鐗堝浘ID鍐呯殑搴忓彿
-                map.put("FilmsId", glassInfo.getFilmsid());//鑶滅郴
-                map.put("SerialNumber", serialNumber);//鍑虹墖椤哄簭
+            if(glassInfos.size()==1){
+                GlassInfo glassInfo=glassInfos.get(0);
+                map.put("Line",line);//绾胯矾   2001  1绾匡紝 2002 2绾�
+                map.put("Width",glassInfo.getWidth());//瀹�
+                map.put("Height",glassInfo.getHeight());//楂�
+                map.put("Thickness",glassInfo.getThickness());//鍘�
+                map.put("GlassId",glassInfo.getGlassId());//鐜荤拑ID
+                map.put("FlowCardId",glassInfo.getFlowCardId());//娴佺▼鍗″彿
+                map.put("TemperingLayoutId",glassInfo.getTemperingLayoutId());// 鏆備笉鏄剧ず  閽㈠寲鐗堝浘ID
+                map.put("TemperingFeedSequence",glassInfo.getTemperingFeedSequence());// 鏆備笉鏄剧ず  閽㈠寲鐗堝浘ID鍐呯殑搴忓彿
+                map.put("FilmsId",glassInfo.getFilmsid());//鑶滅郴
+                map.put("SerialNumber",serialNumber);//鍑虹墖椤哄簭
                 result.add(map);
-            } else if (glassInfos.size() > 1) {
-                log.info("鏁版嵁涓嶇鍚堥�昏緫--纾ㄨ竟闃熷垪glassId閲嶅:", glassInfos);
+            }else if(glassInfos.size()>1){
+                log.info("鏁版嵁涓嶇鍚堥�昏緫--纾ㄨ竟闃熷垪glassId閲嶅:",glassInfos);
                 return new ArrayList<>();
             }
             serialNumber++;
@@ -115,18 +111,16 @@
 
     /**
      * 鏌ヨ寰呯悊鐗囧伐浣滅殑浠诲姟
-     *
      * @return
      */
     @Override
-    public List<TaskCache> selectCacheInfo() {
-        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0));
+    public List<TaskCache> selectCacheInfo(){
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0));
 //        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
     }
 
     /**
      * 鏌ヨ鍏ㄩ儴浠诲姟
-     *
      * @return
      */
     @Override
@@ -136,51 +130,61 @@
 
     /**
      * 鏌ヨ寰呰繘鐗囦换鍔�
-     *
      * @return
      */
     @Override
-    public List<TaskCache> selectInputTaskCache() {
-        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 1));
+    public List<TaskCache> selectInputTaskCache(){
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,1));
 
 //        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
     }
 
     /**
      * 鏌ヨ寰呭嚭鐗囦换鍔�
-     *
      * @return
      */
     @Override
-    public List<TaskCache> selectOutTaskCache() {
-        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus, 0).eq(TaskCache::getTaskType, 2));
+    public List<TaskCache> selectOutTaskCache(){
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,2));
 //        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
     }
 
     /**
      * 鏌ヨ  A09  鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
-     *
      * @param line
      * @return
      */
     @Override
-    public List<TaskCache> selectLastOutCacheInfos(int line) {
-        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
+    public List<TaskCache> selectLastOutCacheInfos(int line){
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
 //        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line).eq("task_status",1).orderByDesc("ID"));
     }
 
     /**
      * 鏌ヨ  A09  鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
-     *
      * @param line
      * @return
      */
     @Override
-    public TaskCache selectLastOutCacheInfo(int line) {
-        return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell, line).eq(TaskCache::getTaskStatus, 1).orderByDesc(TaskCache::getCreateTime));
+    public TaskCache selectLastOutCacheInfo(int line){
+        return baseMapper.selectOne(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getCreateTime));
     }
-
-
+    /**
+     * 鏌ヨ鍒ゆ柇纾ㄨ竟绾挎槸鍚︽湁鐜荤拑杩愯
+     * @param
+     * @return
+     */
+    @Override
+    public List<TaskCache> selectTaskCacheIsRun() {
+        List<TaskCache> taskCaches=null;
+        taskCaches=taskCacheMapper.selectJoinList(TaskCache.class, new MPJLambdaWrapper<TaskCache>()
+                .select("top 4   t.end_cell,ISNULL(b.glass_id, 0)as glass_id")
+                .leftJoin("big_storage_cage_feed_task as b on t.glass_id=b.glass_id ")
+                .groupBy("t.end_cell,b.glass_id,t.create_time")
+                .orderByDesc("t.create_time")
+        );
+        return taskCaches;
+    }
 
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index 2e190f0..3a702c3 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -18,11 +18,11 @@
     secondLength: 2500
   min:
     one: #绗竴鏉$(杈圭嚎鐨勬渶灏忓昂瀵镐俊鎭�
-      firstLength: 500
-      secondLength: 400
+      firstLength: 600
+      secondLength: 350
     two: #绗簩鏉$(杈圭嚎鐨勬渶灏忓昂瀵镐俊鎭�
       firstLength: 400
-      secondLength: 400
+      secondLength: 300
   sequence:
     order: false
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
index 8907e28..233e6f1 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -144,12 +144,12 @@
 
     @Test
     public void testidentWorn() {
-        Map<String, String> arguments=new HashMap<>();
-        arguments.put("glassId","P24060403|3|6");//鐜荤拑ID
-        arguments.put("controlsId","300");        //鎷胯蛋锛�200/鐮存崯锛�201
-        arguments.put("line","2001");             //绾胯矾锛�
-        arguments.put("machine","鍐峰姞宸�");           //璁惧鍚嶇О锛�
-//        edgStorageCageDetailsService.identWorn(arguments);
+        Map<String, Object> arguments=new HashMap<>();
+        arguments.put("glassId","NG24051802A002-1-4-2-4");//鐜荤拑ID
+        arguments.put("state","8");        //鎷胯蛋锛�200/鐮存崯锛�201
+        arguments.put("line","1001");             //绾胯矾锛�
+        arguments.put("workingProcedure","璇嗗埆");           //璁惧鍚嶇О锛�
+        edgStorageCageDetailsService.identWorn(arguments);
         log.info("璇嗗埆鍙般�愮牬鎹�/鎷胯蛋銆戯細{}", 1);
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
index b7f6d9b..a255625 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -221,12 +221,12 @@
         LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailsWrapper = new LambdaQueryWrapper();
         bigStorageCageDetailsWrapper
                 .eq(BigStorageCageDetails::getSlot, slot)
-                .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL);
+                .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL);
 
         List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(bigStorageCageDetailsWrapper);
         for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
         ) {
-            double widths = Math.max(bigStorageCageDetails.getWidth(),bigStorageCageDetails.getHeight()) ;
+            double widths = bigStorageCageDetails.getWidth();
             width = width - widths - glassGap;
         }
         //淇敼鏍煎瓙鍓╀綑瀹藉害
@@ -266,7 +266,7 @@
     @Override
     public List<Map<String, Object>> selectBigStorageCageUsage() {
         QueryWrapper<BigStorageCage> wrapper = new QueryWrapper<>();
-        wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2)*100 AS percentage,SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
+        wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) / COUNT(device_id), 2) AS percentage,SUM(CASE WHEN remain_width = 5000 THEN 1 ELSE 0 END) AS count")
 
                 .groupBy("device_id");
         List<Map<String, Object>> bigStorageCageUsages = baseMapper.selectMaps(wrapper);
@@ -289,8 +289,8 @@
         return baseMapper.queryFreeDeviceByUsed(thickness);
     }
 
-//    @Override
-//    public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
-//        return baseMapper.queryFreeDeviceByNotUsed(thickness);
-//    }
+    @Override
+    public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
+        return baseMapper.queryFreeDeviceByNotUsed(thickness);
+    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index db4f8c6..5378df6 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -128,8 +128,6 @@
         if (!REQUEST_WORD.equals(mesD01Value) && REQUEST_WORD.equals(d01ToMES) && (StringUtils.isBlank(d02State) || !REQUEST_WORD.equals(d03State))) {
             if (!d01GlassId.equals(d01Id)) {
                 judgeGlassTypeStatus(d01Id, Const.A09_OUT_TARGET_POSITION, mesD01Address);
-                edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
-                        .set(EdgGlassTaskInfo::getStatus, Const.EDG_GLASS_SUCCESS).eq(EdgGlassTaskInfo::getGlassId, d01Id));
                 d01GlassId = d01Id;
             }
         }
@@ -137,8 +135,6 @@
         if (!REQUEST_WORD.equals(mesD04Value) && REQUEST_WORD.equals(d04ToMES) && !REQUEST_WORD.equals(d05State)) {
             if (!d04GlassId.equals(d04Id)) {
                 judgeGlassTypeStatus(d04Id, Const.A10_OUT_TARGET_POSITION, mesD04Address);
-                edgGlassTaskInfoService.update(new LambdaUpdateWrapper<EdgGlassTaskInfo>()
-                        .set(EdgGlassTaskInfo::getStatus, Const.EDG_GLASS_SUCCESS).eq(EdgGlassTaskInfo::getGlassId, d04Id));
                 d04GlassId = d04Id;
             }
         }
@@ -350,15 +346,15 @@
                     }
                 }
             }
-//            //鍚憄lc鍐欏叆纭瀛�
-//            int returnData = 0;
-//            int count = 1;
-//            while (returnData == 0) {
-//                log.info("宸插悜plc绗瑊}娆¢�佸崗璁�", count);
-//                S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
-//                returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
-//                log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
-//            }
+            //鍚憄lc鍐欏叆纭瀛�
+            int returnData = 0;
+            int count = 1;
+            while (returnData == 0) {
+                log.info("宸插悜plc绗瑊}娆¢�佸崗璁�", count);
+                S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+                returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
+                log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
+            }
             Date endDate = new Date();
             log.info("澶х悊鐗囩鍑虹墖浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms,缁撴潫鎵爜浠诲姟", endDate, endDate.getTime() - startDate.getTime());
             return;
@@ -480,10 +476,10 @@
         log.info("澶х悊鐗囩鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
         //鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageFeedTask> inDamageTaskInfoList = bigStorageCageFeedTaskService.list(new LambdaQueryWrapper<BigStorageCageFeedTask>()
-                .in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
+                .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
         if (CollectionUtils.isNotEmpty(inDamageTaskInfoList)) {
             log.info("鑾峰彇杩涚墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", inDamageTaskInfoList);
-            bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().in(BigStorageCageFeedTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
+            bigStorageCageFeedTaskService.remove(new LambdaQueryWrapper<BigStorageCageFeedTask>().eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_DAMAGE));
             //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佹洿鏂�
             bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>()
                     .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW).in(BigStorageCageDetails::getGlassId, inDamageTaskInfoList.stream().map(BigStorageCageFeedTask::getGlassId).collect(Collectors.toList())));
@@ -495,8 +491,7 @@
                 damage.setLine(bigStorageCageFeedTask.getLine());
                 damage.setWorkingProcedure("鍐峰姞宸�");
                 damage.setRemark("杩涚鍓嶅崸杞珛");
-                damage.setStatus(0);
-                damage.setType(bigStorageCageFeedTask.getTaskState());
+                damage.setStatus(2);
                 damageService.insertDamage(damage);
                 slotList.add(bigStorageCageFeedTask.getTargetSlot());
             }
@@ -506,15 +501,16 @@
         }
         //鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐘舵�佷负鐮存崯鐨勬暟鎹�
         List<BigStorageCageOutTask> outDamageTaskInfoList = bigStorageCageOutTaskService.list(new LambdaQueryWrapper<BigStorageCageOutTask>()
-                .in(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
+                .eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
         if (CollectionUtils.isNotEmpty(outDamageTaskInfoList)) {
             log.info("鑾峰彇鍑虹墖浠诲姟琛ㄤ腑鐮存崯鐨勭幓鐠冧俊鎭瘂}", outDamageTaskInfoList);
-            bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().in(BigStorageCageOutTask::getTaskState, Const.GLASS_STATE_DAMAGE_TAKE));
+            bigStorageCageOutTaskService.remove(new LambdaQueryWrapper<BigStorageCageOutTask>().eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_DAMAGE));
             List<String> glassIdList = outDamageTaskInfoList.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
             //绉婚櫎閽㈠寲涓嬬墖琛ㄦ暟鎹�
             temperingGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassIdList));
             //鐞嗙墖绗艰鎯呰〃鏁版嵁鐘舵�佸垹闄�
             bigStorageCageDetailsService.remove(new LambdaQueryWrapper<BigStorageCageDetails>().in(BigStorageCageDetails::getGlassId, glassIdList));
+
             //灏嗙牬鎹熶俊鎭柊澧炲叆鐮存崯琛�
             List<Integer> slotList = new ArrayList<>();
             for (BigStorageCageOutTask bigStorageCageOutTask : outDamageTaskInfoList) {
@@ -523,8 +519,7 @@
                 damage.setLine(bigStorageCageOutTask.getEndSlot());
                 damage.setWorkingProcedure("鍐峰姞宸�");
                 damage.setRemark("鍑虹墖鍚庡崸杞珛");
-                damage.setStatus(0);
-                damage.setType(bigStorageCageOutTask.getTaskState());
+                damage.setStatus(2);
                 damageService.insertDamage(damage);
                 slotList.add(bigStorageCageOutTask.getStartSlot());
             }
@@ -544,7 +539,7 @@
         //1銆佽幏鍙栦换鍔¤〃涓浉閭荤幓鐠�
         List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new LambdaQueryWrapper<EdgGlassTaskInfo>()
                 .eq(EdgGlassTaskInfo::getLine, line)
-                .apply("time >= (select time from edg_glass_task_info where glass_id = '" + glassId + "' and deleted = 0)")
+                .apply("time >= (select time from edg_glass_task_info where glass_id = '" + glassId + "')")
                 .orderByAsc(EdgGlassTaskInfo::getTime));
         Assert.isFalse(CollectionUtils.isEmpty(edgGlassTaskInfoList), "璇嗗埆鐜荤拑淇℃伅鏈嚭鐜板湪灏哄琛ㄤ腑,鑾峰彇鐩搁偦涓ゅ潡鐜荤拑澶辫触");
         //2銆佽幏鍙栧崸杞珛鍓╀綑瀹藉害
@@ -713,7 +708,7 @@
         while (returnData == 0) {
             s7control.writeWord(outLine, 2);
             returnData = s7control.readWord(outLine, 1).get(0);
-            log.info("宸插悜plc绗瑊}娆″彂閫佽繘鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, returnData);
+            log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, outLine, returnData);
         }
     }
 
@@ -823,13 +818,13 @@
         bigStorageCageDetailsService.update(new LambdaUpdateWrapper<BigStorageCageDetails>()
                 .set(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
                 .in(BigStorageCageDetails::getGlassId, glassIds));
-//        int returnData = 0;
-//        int count = 1;
-//        while (returnData == 0) {
-//            S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
-//            returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
-//            log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
-//        }
+        int returnData = 0;
+        int count = 1;
+        while (returnData == 0) {
+            S7object.getinstance().plccontrol.writeWord(mesToPLCAddress, 1);
+            returnData = S7object.getinstance().plccontrol.readWord(mesToPLCAddress, 1).get(0);
+            log.info("宸插悜plc绗瑊}娆″彂閫佸嚭鐗囦换鍔$‘璁わ紝鍦板潃涓猴細{},鍐欏叆鐨勫唴瀹逛负{}", count++, mesToPLCAddress, returnData);
+        }
         return Boolean.TRUE;
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 7d8c5da..0d72c28 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
 
 spring:
   profiles:
-    active: cz
+    active: dev
   application:
     name: cacheVerticalGlass
 mybatis-plus:
@@ -17,6 +17,6 @@
   carWidth: 5000   #澶ц溅瀹藉害
   slotWidth: 5000   #澶ц溅瀹藉害
   inCarMaxSize: 3     #杩涚墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
-  outCarMaxSize: 3     #鍑虹墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
+  outCarMaxSize: 2     #鍑虹墖澶ц溅鏈�澶у瓨鏀剧幓鐠冩暟閲�
   glassGap: 350  #鐜荤拑闂磋窛
   xMaxSize: 2850
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml
index 5a26257..6fc80c0a 100644
--- a/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/GlassStorageModule/src/main/resources/application.yml
@@ -3,7 +3,7 @@
 
 spring:
   profiles:
-    active: prod
+    active: dev
   application:
     name: glassStorage
 
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 0118321..7ecbf06 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -169,13 +169,13 @@
     @Scheduled(fixedDelay = 1000)
     public void loadGlassIsRun() {
         JSONObject jsonObject = new JSONObject();
-        //鏄惁寮�濮嬪伐绋�
         Engineering engineering = engineeringService.selectInitiate(1);
+        if (engineering != null){
             jsonObject.append("engineering", engineering);
-        //宸ヤ綅淇℃伅
-        List<UpWorkstation> upWorkstations = upWorkstationService.list();
-        jsonObject.append("list", upWorkstations);
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlassIsRun");
+        }else {
+            jsonObject.append("engineering", "0");
+        }
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("IsRun");
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
                 if (webserver != null) {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
index 3920d3c..ee801d2 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -2,7 +2,7 @@
   port: 8083
 spring:
   profiles:
-    active: cz
+    active: dev
   application:
     name: loadGlass
 mybatis-plus:
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
index acd2fcf..e0a91f0 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java
@@ -1,10 +1,5 @@
 package com.mes.job;
-
 import cn.hutool.json.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.mes.common.config.Const;
-import com.mes.damage.entity.Damage;
-import com.mes.damage.service.DamageService;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.tools.WebSocketServer;
@@ -15,7 +10,6 @@
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @author SNG-010
@@ -26,27 +20,24 @@
 
     @Autowired
     private TemperingGlassInfoService temperingAgoService;
-    @Autowired
-    private DamageService damageService;
-
     /**
      * fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
      * fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
      */
 
     @Scheduled(fixedDelay = 1000)
-    public void temperingGlassHome() {
+    public void temperingGlassHome(){
         JSONObject jsonObject = new JSONObject();
         //姝e湪绛夊緟杩涚墖鐨勭幓鐠�
         List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
-        if (waitingGlass != null) {
+        if(waitingGlass!=null){
             jsonObject.append("waitingGlass", waitingGlass);
         }
 
         //鑾峰彇鏁村湪鐐変腑鐨勪袱涓増鍥緄d
         List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
         //杩涚倝涓殑鐜荤拑
-        if (!layoutId.isEmpty()) {
+        if(!layoutId.isEmpty()) {
             List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
             jsonObject.append("intoGlass", intoGlass);
             //杩涚倝涓殑绗簩涓増鍥�
@@ -57,7 +48,7 @@
         }
         //鍑虹倝鍚庣殑鐜荤拑
         List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
-        if (outGlass != null) {
+        if(outGlass!=null){
             jsonObject.append("outGlass", outGlass);
         }
 
@@ -66,27 +57,7 @@
         if (outGlass != null) {
             jsonObject.append("overGlass", overGlass);
         }
-        //褰撳墠閽㈠寲宸ョ▼鐨勬嬁璧版暟鎹�
-        LambdaQueryWrapper<TemperingGlassInfo> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.select(TemperingGlassInfo::getEngineerId)
-                .lt(TemperingGlassInfo::getState, Const.TEMPERING_END)
-                .groupBy(TemperingGlassInfo::getEngineerId);
 
-        List<String> engineerIds = temperingAgoService.list(queryWrapper)
-                .stream()
-                .map(TemperingGlassInfo::getEngineerId)
-                .distinct()
-                .collect(Collectors.toList());
-
-        List<Damage> temperingTakeGlassInfos = damageService.list(
-                new LambdaQueryWrapper<Damage>()
-                        .in(Damage::getEngineerId, engineerIds)
-                        .eq(Damage::getType, Const.GLASS_STATE_TAKE)
-                        .orderByAsc(Damage::getId)
-        );
-
-
-        jsonObject.append("temperingTakeGlassInfos", temperingTakeGlassInfos);
 
         ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
         if (sendwServer != null) {
@@ -99,16 +70,13 @@
             }
         }
     }
-
     @Scheduled(fixedDelay = 1000)
-    public void temperingIsRun() {
+    public void temperingIsRun(){
         JSONObject jsonObject = new JSONObject();
         //姝e湪杩涜鐨勪换鍔�
-        List<TemperingGlassInfo> temperingTaskType = temperingAgoService.selectTaskType();
+        List<TemperingGlassInfo>temperingTaskType=temperingAgoService.selectTaskType();
         jsonObject.append("temperingTaskType", temperingTaskType);
-
-
-        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingIsRun");
+        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("isRun");
         if (sendwServer != null) {
             for (WebSocketServer webserver : sendwServer) {
                 if (webserver != null) {
@@ -118,7 +86,6 @@
                 }
             }
         }
-
     }
 
 
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
index ac92054..8646b79 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/TemperingTask.java
@@ -5,8 +5,6 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.mes.common.S7object;
 import com.mes.common.config.Const;
-import com.mes.damage.entity.Damage;
-import com.mes.damage.service.DamageService;
 import com.mes.device.PlcParameterObject;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
@@ -35,10 +33,6 @@
 
     @Autowired
     private TemperingGlassInfoService temporaryGlassInfoService;
-
-    @Autowired
-    private DamageService damageService;
-
     private static final String ALONE_STATE = "0";
 
 
@@ -60,10 +54,6 @@
         List<Object> temperRecordIdListObj = temporalRecordService.listObjs(new QueryWrapper<TemperingRecord>().select("distinct tempering_layout_id"));
 
         List<String> temperRecordIdList = temperRecordIdListObj.stream().map(String::valueOf).collect(Collectors.toList());
-        if (CollectionUtils.isEmpty(temperRecordIdList)) {
-            log.info("褰撳墠绯荤粺娌℃湁闇�瑕侀挗鍖栫殑鐜荤拑淇℃伅");
-            return;
-        }
         List<TemperingGlassInfo> list = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>()
                 .eq(TemperingGlassInfo::getState, Const.TEMPERING_START).notIn(TemperingGlassInfo::getTemperingLayoutId, temperRecordIdList));
         if (CollectionUtils.isEmpty(list)) {
@@ -86,31 +76,5 @@
     @Scheduled(fixedDelay = 1000)
     public void temperingGlassAfter() {
 
-    }
-
-    @Scheduled(fixedDelay = 1000)
-    public void dealDamageTask() {
-        Date startDate = new Date();
-        log.info("閽㈠寲鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
-        List<TemperingGlassInfo> temperingGlassInfoList = temporaryGlassInfoService.list(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getState, Const.GLASS_STATE_DAMAGE_TAKE));
-        if (CollectionUtils.isNotEmpty(temperingGlassInfoList)) {
-            //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
-            List<String> glassList = temperingGlassInfoList.stream().map(TemperingGlassInfo::getGlassId).collect(Collectors.toList());
-            //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
-            temporaryGlassInfoService.remove(new LambdaQueryWrapper<TemperingGlassInfo>().in(TemperingGlassInfo::getGlassId, glassList));
-            List<Damage> damageList = temperingGlassInfoList.stream().map(e -> {
-                Damage damage = new Damage();
-                damage.setGlassId(e.getGlassId());
-                damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
-                damage.setWorkingProcedure("閽㈠寲");
-                damage.setRemark("閽㈠寲");
-                damage.setStatus(0);
-                damage.setType(e.getState());
-                return damage;
-            }).collect(Collectors.toList());
-            damageService.batchInsertDamage(damageList);
-        }
-        Date endDate = new Date();
-        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
     }
 }
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
index e9fcc1e..12e113b 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
@@ -2,7 +2,7 @@
   port: 8084
 spring:
   profiles:
-    active: prod
+    active: dev
   application:
     name: temperingGlass
 mybatis-plus:
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java
deleted file mode 100644
index 9f342f0..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/request/DownGlassInfoRequest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.mes.downglassinfo.entity.request;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * <p>
- *
- * </p>
- *
- * @author zhoush
- * @since 2024-03-27
- */
-@Data
-@EqualsAndHashCode(callSuper = false)
-public class DownGlassInfoRequest implements Serializable {
-
-    /**
-     * 宸ヤ綅id
-     */
-    private Integer workStationId;
-
-    /**
-     * 宸ョ▼id
-     */
-    private String engineerId;
-
-    /**
-     * 寮�濮嬫椂闂�
-     */
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date beginDate;
-
-    /**
-     * 缁撴潫鏃堕棿
-     */
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    private Date endDate;
-
-
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java
deleted file mode 100644
index 05a9aed..0000000
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/request/CacheWornRequest.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mes.downstorage.entity.request;
-
-import lombok.Data;
-
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-
-/**
- * @Author : zhoush
- * @Date: 2024/8/10 13:34
- * @Description:
- */
-@Data
-public class CacheWornRequest {
-
-    @NotBlank(message = "鐜荤拑ID涓嶈兘涓虹┖")
-    private String glassId;
-
-    @NotNull(message = "鐘舵�佷笉鑳戒负绌�")
-    private int state;
-
-    @NotNull(message = "绾胯矾涓嶈兘涓虹┖")
-    private int line;
-
-    @NotBlank(message = "宸ュ簭涓嶈兘涓虹┖")
-    private String workingProcedure;
-}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
index b204f0c..18e1259 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,18 +1,14 @@
 package com.mes.downstorage.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.toolkit.JoinWrappers;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.common.config.Const;
-import com.mes.damage.entity.Damage;
-import com.mes.damage.service.DamageService;
 import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downstorage.entity.DownStorageCage;
 import com.mes.downstorage.entity.DownStorageCageDetails;
-import com.mes.downstorage.entity.request.CacheWornRequest;
 import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
@@ -50,8 +46,6 @@
     private DownStorageCageDetailsService downStorageCageDetailsService;
     @Autowired
     private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
-    @Autowired
-    DamageService damageService;
 
     @Override
     public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
@@ -134,6 +128,7 @@
     }
 
 
+
     @Override
     public List<Map<String, Object>> selectDownStorageCages() {
         return baseMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCage.class)
@@ -195,10 +190,7 @@
 
         if (downItem != null) {
             //绉婚櫎
-            DownStorageCageDetails result = downStorageCageDetailsMapper
-                    .selectOne(new MPJLambdaWrapper<DownStorageCageDetails>()
-                            .eq(DownStorageCageDetails::getSlot, downStorageCageId)
-                    );
+            DownStorageCageDetails result = downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot, downStorageCageId));
             if (result != null) {
                 result.setSlot(0);
                 downStorageCageDetailsMapper.updateById(result);
@@ -206,21 +198,6 @@
 
         }
         return true;
-    }
-
-    @Override
-    public void deleteDownStorageCage(CacheWornRequest cacheWornRequest) {
-        Damage damage = new Damage();
-        BeanUtils.copyProperties(cacheWornRequest, damage);
-        damage.setType(cacheWornRequest.getState());
-        damage.setRemark("");
-        damage.setStatus(0);
-        damageService.insertDamage(damage);
-        downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>()
-                .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT)
-                .eq(DownStorageCageDetails::getGlassId, cacheWornRequest.getGlassId())
-                .eq(DownStorageCageDetails::getState,Const.GLASS_STATE_IN));
-
     }
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index c324ce2..ab141ce 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -3,13 +3,10 @@
 import cn.hutool.core.lang.Assert;
 import cn.smallbun.screw.core.util.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.mes.common.S7object;
 import com.mes.common.config.Const;
-import com.mes.damage.entity.Damage;
-import com.mes.damage.service.DamageService;
 import com.mes.device.PlcParameterObject;
 import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
@@ -57,8 +54,9 @@
     DownWorkstationService downWorkstationService;
     @Autowired
     DownGlassInfoService downGlassInfoService;
-    @Autowired
-    DamageService damageService;
+
+    @Value("${mes.threshold}")
+    private Integer threshold;
 
     @Value("${mes.throughWidth}")
     private Integer throughWidth;
@@ -128,68 +126,6 @@
         }
     }
 
-    @Scheduled(fixedDelay = 300)
-    public void plcShelfFull() {
-        List<DownWorkstation> list = downGlassInfoService.queryWorkStationIsFull();
-        if (CollectionUtils.isNotEmpty(list)) {
-            S7control s7control = S7object.getinstance().plccontrol;
-            PlcParameterObject plcMesObject = S7object.getinstance().PlcMesObject;
-            s7control.writeWord(plcMesObject.getPlcParameter("alarm_signal").getAddress(), 1);
-        }
-    }
-
-    @Scheduled(fixedDelay = 1000)
-    public void dealDamageTask() {
-        Date startDate = new Date();
-        log.info("涓嬬墖鐮存崯鐜荤拑娓呴櫎浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
-        List<DownGlassTask> downGlassTaskList = downGlassTaskService.list(new LambdaQueryWrapper<DownGlassTask>()
-                .in(DownGlassTask::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL).in(DownGlassTask::getTaskStatus, Const.GLASS_STATE_DAMAGE_TAKE));
-        if (CollectionUtils.isNotEmpty(downGlassTaskList)) {
-            //鑾峰彇鐮存崯/鎷胯蛋鐜荤拑id
-            List<String> glassList = downGlassTaskList.stream().map(DownGlassTask::getGlassId).collect(Collectors.toList());
-            //灏嗕换鍔¤〃涓殑鏁版嵁鍒犻櫎
-            downGlassTaskService.remove(new LambdaQueryWrapper<DownGlassTask>().in(DownGlassTask::getTaskType, Const.GLASS_CACHE_TYPE_OUT_ALL).in(DownGlassTask::getGlassId, glassList));
-            List<Damage> damageList = downGlassTaskList.stream().map(e -> {
-                Damage damage = new Damage();
-                damage.setGlassId(e.getGlassId());
-                damage.setLine(Const.TEMPERING_OUT_TARGET_POSITION);
-                damage.setWorkingProcedure("涓嬬墖");
-                damage.setRemark("涓嬬墖");
-                damage.setStatus(0);
-                damage.setType(e.getTaskStatus());
-                return damage;
-            }).collect(Collectors.toList());
-            damageService.batchInsertDamage(damageList);
-        }
-        Date endDate = new Date();
-        log.info("鏈浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
-    }
-
-    /**
-     * 鏇存柊宸茬粦瀹氬伐浣嶆祦绋嬪崱鐨勭牬鎹�/鎷胯蛋鐨勬暟閲忎俊鎭�
-     */
-    @Scheduled(fixedDelay = 1000)
-    public void updateWorkStationOtherCount() {
-        Date startDate = new Date();
-        log.info("涓嬬墖鐮存洿鏂版崯鐜荤拑鏁伴噺浠诲姟寮�濮嬫墽琛屾椂闂达細{}", startDate);
-        //鑾峰彇宸茬粦瀹氭祦绋嬪崱鐨勫伐浣嶄俊鎭�
-        List<DownWorkstation> downWorkstationList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
-                .isNotNull(DownWorkstation::getFlowCardId)
-                .ne(DownWorkstation::getFlowCardId, "")
-                .orderByDesc(DownWorkstation::getWorkstationId));
-        for (DownWorkstation downWorkstation : downWorkstationList) {
-            //鏇存柊宸ヤ綅鍏朵粬鐜荤拑淇℃伅鐨勬暟閲�
-            QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
-            queryWrapper.eq("process_id", downWorkstation.getFlowCardId());
-            queryWrapper.eq("technology_number", downWorkstation.getLayer());
-            int otherNumber = damageService.count(queryWrapper);
-            downWorkstationService.update(new LambdaUpdateWrapper<DownWorkstation>().set(DownWorkstation::getOtherNumber, otherNumber)
-                    .eq(DownWorkstation::getWorkstationId, downWorkstation.getWorkstationId()));
-        }
-        Date endDate = new Date();
-        log.info("涓嬬墖鐮存洿鏂版崯鐜荤拑鏁伴噺浠诲姟缁撴潫鏃堕棿锛歿}锛屽叡鑰楁椂锛歿}ms", endDate, endDate.getTime() - startDate.getTime());
-    }
-
     public void inTo(String glassId, String requestWord, String currentSlot) {
         log.info("1銆佹寜鐓х幓鐠僫d:{}鑾峰彇鐜荤拑灏忕墖淇℃伅,褰撳墠鏍煎瓙涓�:{}", glassId, currentSlot);
         //娣诲姞杩涚墖浠诲姟  鏌ユ壘绌烘牸
@@ -234,7 +170,7 @@
             }
             if (!checkFlag) {
                 log.info("鏃犵┖鏋跺瓙,鑾峰彇宸茬粦瀹氭灦瀛愮殑娴佺▼鍗′俊鎭�,鏌ョ湅鐜荤拑淇℃伅鏄惁鍙瀵硅皟");
-                List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Const.WORK_STATION_ALL, Boolean.FALSE);
+                List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.FALSE);
                 log.info("鑾峰彇鏋跺瓙涓婂凡缁戝畾娴佺▼鍗¤惤鏋剁殑鏁伴噺鍙婃湭钀芥灦鐨勭幓鐠冩暟鎹細{}", downGlassInfoDTOList);
                 if (CollectionUtils.isEmpty(downGlassInfoDTOList)) {
                     log.info("宸茬粦瀹氭祦绋嬪崱鍧囨棤鏈惤鏋剁幓鐠冿紝璇峰強鏃跺鐞嗘灦瀛愪笂鐨勭幓鐠冿紝娓呴櫎娴佺▼鍗�,鎵ц杩涚墖浠诲姟");
@@ -279,7 +215,6 @@
         BeanUtils.copyProperties(glassInfo, downStorageCageDetails);
         downStorageCageDetails.setState(Const.GLASS_STATE_IN);
         downStorageCageDetails.setSlot(nearestEmpty.getSlot());
-        downStorageCageDetails.setDeviceId(nearestEmpty.getDeviceId());
         downStorageCageDetailsService.save(downStorageCageDetails);
         //        鐢熸垚杩涚墖浠诲姟
         initDownGlassTask(glassInfo, 0, nearestEmpty.getSlot(), Const.GLASS_CACHE_TYPE_IN);
@@ -302,7 +237,6 @@
             //鑾峰彇褰撳墠绗煎瓙绌烘牸淇℃伅
             DownStorageCage empty = downStorageCageService.selectCacheEmpty(Integer.parseInt(currentSlot), Boolean.TRUE);
             cageDetails.setSlot(empty.getSlot());
-            cageDetails.setDeviceId(empty.getDeviceId());
             tempList.add(cageDetails);
         }
         log.info("鍑虹墖2锛氱鍐呯幓鐠冪殑鏁版嵁(鍖呮嫭寰呰繘鐗�)鏈夛細{}", tempList);
@@ -375,7 +309,6 @@
             }
         }
         List<Integer> workStationAll = Arrays.asList(1, 2, 3, 4, 5, 6);
-        //鑾峰彇闈炴湰娆¤惤鏋剁殑鏋跺瓙淇℃伅
         List<Integer> offWorkStationList = workStationAll.stream().filter(e -> !workList.contains(e)).collect(Collectors.toList());
         List<DownStorageCageDetails> list = new ArrayList();
         //鏄惁鏈夌┖鏋跺瓙 true锛氭湁   false:鏃�
@@ -406,15 +339,8 @@
                             .filter(item -> StringUtils.isNotBlank(item.getFlowCardId())).collect(Collectors.groupingBy(item -> item.getFlowCardId() + ":" + item.getLayer()));
                     //杩囨护绛涢�夎幏鍙栨灦瀛愪笂瀵瑰簲娴佺▼鍗�+灞傛暟鐨勭瀛愬唴鐨勭幓鐠冧俊鎭�
                     list = tempList.stream().filter(item -> listMap.containsKey(item.getFlowCardId() + ":" + item.getLayer())).collect(Collectors.toList());
-                    if (CollectionUtils.isEmpty(list) && flag08 && !"2".equals(glassStatus13)) {
-                        list = tempList.stream().filter(item -> {
-                            double firstLength = Math.max(item.getWidth(), item.getHeight());
-                            double secondLength = Math.min(item.getWidth(), item.getHeight());
-                            return firstLength > maxWidth || secondLength > maxHeight;
-                        }).collect(Collectors.toList());
-                    }
                 } else {
-                    log.info("瀛樺湪鏈粦瀹氭祦绋嬪崱鏋跺瓙锛岀洿鎺ヨ幏鍙栫鍐呮墍鏈夌幓鐠�,涓旀湭缁戝畾鏋跺瓙鐨勭幓鐠冧俊鎭紙閮藉彲浠ュ嚭鐨勭幓鐠冿級");
+                    log.info("瀛樺湪鏈粦瀹氭祦绋嬪崱鏋跺瓙锛岀洿鎺ヨ幏鍙栫鍐呮墍鏈夌幓鐠�,涓旀湭缁戝畾鏋跺瓙鐨勭幓鐠冧俊鎭�");
                     //鑾峰彇绂佺敤鍙婇潪鏈満姊拌噦鐨勬灦瀛愮殑娴佺▼鍙峰強灞傛暟瀵瑰簲鐨勭幓鐠冧俊鎭�
                     List<DownWorkstation> downWorkstationOffList = downWorkstationService.list(new LambdaQueryWrapper<DownWorkstation>()
                             .and(i -> i.in(DownWorkstation::getWorkstationId, offWorkStationList).or().eq(DownWorkstation::getEnableState, Const.SLOT_OFF)));
@@ -444,8 +370,6 @@
             log.info("绗煎唴鐜荤拑鏃犳硶鎵ц鍑虹墖");
             return Boolean.FALSE;
         }
-        //鑾峰彇鍏蜂綋鍑洪偅涓�鐗囩幓鐠�
-        //tao:浜哄伐--> 鎵�鏈夋灦瀛愰兘鏈粦瀹氭椂杩涜缁戝畾 --->鏈夋湭缁戝畾鏋跺瓙鏃惰繘琛岀粦瀹� --->缁戝畾杩囨祦绋嬪崱鐨勭幓鐠�-->鐜荤拑娴佺▼鍗″灞�--->鐜荤拑娴佺▼鍗″崟灞�
         String tempGlassId = null;
         Boolean isNeedBind = Boolean.FALSE;
 
@@ -463,17 +387,16 @@
         loop:
         if (StringUtils.isBlank(tempGlassId)) {
             //鑾峰彇姝e湪钀芥灦鐨勭粦瀹氭祦绋嬪崱鐨勪俊鎭�(娴佺▼鍗°�佸眰鏁般�佽惤鏋舵暟閲�)
-            //钀芥灦鐜荤拑鏁颁负0锛屽嵆浣跨粦瀹氫簡娴佺▼鍗★紝涔熸棤娉曟壘鍒板搴旂殑鏋跺瓙淇℃伅锛屽彧鑳介噸鏂扮粦瀹�
-            List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationFlowCard(workList);
+            List<DownGlassInfoDTO> downGlassInfoDTOList = downGlassInfoService.queryWorkStationIsIn(Boolean.TRUE);
             List<String> downGlassFlowList = downGlassInfoDTOList.stream().map(item -> item.getFlowCardId() + ":" + item.getLayer()).collect(Collectors.toList());
             if (CollectionUtils.isEmpty(downGlassFlowList)) {
                 //鏋跺瓙閮芥湭缁戝畾娴佺▼鍗★紝鍑虹鍐呭瓙鏁伴噺鏈�澶氬昂瀵告渶澶х殑鐜荤拑id,鏃�  鍒欒繑鍥炴壂鎻忔壂鍒扮殑鐜荤拑id杩涜鍑虹墖
                 tempGlassId = downStorageCageDetailsService.getGlassInfoMaxCount(glassId, offWorkStationList);
+
                 isNeedBind = Boolean.TRUE;
                 break loop;
             }
             //灏嗙瀛愬唴鐨勭幓鐠冭繘琛岃繃婊わ紝浠呰幏鍙栨棤娉曡惤鏋剁殑娴佺▼鍗$幓鐠�
-            //tao:褰撴湁绌烘灦鏃朵紭鍏堝绗煎唴鍙嚭鐗囦笖鏈粦鏋跺瓙鐨勭幓鐠冭繘鍑虹粦鏋跺苟鍑虹墖
             List<DownStorageCageDetails> noDownLoadList = list.stream().filter(item -> !downGlassFlowList.contains(item.getFlowCardId() + ":" + item.getLayer()))
                     .collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(noDownLoadList)) {
@@ -494,7 +417,7 @@
                 return Boolean.FALSE;
             }
             //灏嗙鍐呯幓鐠冪殑娴佺▼鍗�+灞傚彿 鍜岃惤鏋剁殑娴佺▼鍗� 鍘婚噸锛屽緱鍑哄睍绀烘棤娉曡惤鏋剁殑鐜荤拑锛屽垽鏂幓鐠冩暟鏄惁瓒呰繃闃堝��
-            //绗煎唴鐜荤拑鏄惁鍙惤鏋�:绗煎唴鏄惁鏈夐渶瑕佷腑绌�
+            //绗煎唴鐜荤拑鏄惁鍙惤鏋�:绗煎唴鏄惁鏈夐渶瑕佷腑绌虹殑
             List<DownStorageCageDetails> multiLayerList = list.stream().filter(item -> item.getTotalLayer() >= 2).collect(Collectors.toList());
             if (CollectionUtils.isNotEmpty(multiLayerList)) {
                 for (DownStorageCageDetails item : multiLayerList) {
@@ -511,7 +434,7 @@
                         break loop;
                     }
                     Integer sequence = downGlassInfoService.queryMaxSequence(item.getFlowCardId(), item.getLayer());
-                    log.info("鑾峰彇褰撳墠鐜荤拑闇�瑕佹斁鐨勬搴忥細绗煎唴鍚屾祦绋� 鍚屽眰鏁扮殑钀芥灦娆″簭+1:{}", sequence);
+                    log.info("鑾峰彇褰撳墠鐜荤拑闇�瑕佹斁鐨勬搴忥細绗煎唴鍚屾祦绋� 鍚屽眰鏁扮殑閫氳揪娆″簭+1:{}", sequence);
                     DownGlassInfo downGlassInfo = downGlassInfoService.getOne(new LambdaQueryWrapper<DownGlassInfo>()
                             .eq(DownGlassInfo::getFlowCardId, downGlassInfoDTO.getFlowCardId())
                             .eq(DownGlassInfo::getLayer, downGlassInfoDTO.getLayer()).eq(DownGlassInfo::getSequence, sequence));
@@ -533,7 +456,6 @@
                         if (CollectionUtils.isNotEmpty(downStorageCageDetails)) {
                             tempGlassId = downStorageCageDetails.get(0).getGlassId();
                             break;
-
                         }
                     }
                 }
@@ -605,7 +527,6 @@
         //钀芥灦鐗囧簭
         downGlassInfo.setSequence(downGlassInfoService.queryMaxSequence(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer()));
         downGlassInfo.setWorkStationId(endCell);
-        downGlassInfo.setGmtCreate(new Date());
         downGlassInfoService.save(downGlassInfo);
         //鐢熸垚浠诲姟淇℃伅
         GlassInfo glassInfo = new GlassInfo();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index 8df8e09..9468ed9 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -3,15 +3,15 @@
 
 spring:
   profiles:
-    active: cz
+    active: dev
   application:
     name: unLoadGlass
 
 
 mybatis-plus:
   mapper-locations: classpath*:mapper/*.xml
-  configuration:
-    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+#  configuration:
+#    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
 
 mes:
   maxWidth: 2500    #涓嬬墖鐨勬渶澶у搴�

--
Gitblit v1.8.0