From e0699feb382ad3c01040f135f53698ac5c6ec84e Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 19 四月 2024 10:42:24 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java  |   41 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java                                         |   54 ++
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java           |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java                                   |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java     |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                           |    9 
 UI-Project/src/views/Caching/caching.vue                                                                                                          |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                                            |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java                            |   19 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java                                        |   62 +-
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java     |   26 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java                       |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java                           |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java                               |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java                            |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java                                                 |   15 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java                               |    5 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java                      |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                                    |    7 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java                         |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java             |  139 +++--
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java                                                                     |    5 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java                 |   75 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java                            |    3 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java                                 |    1 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java                  |   64 +-
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java                                   |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java                                    |   14 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java                                    |    6 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java                                           |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java                          |   14 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java                 |    1 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java                                      |   87 ++
 UI-Project/src/layout/MainErpView.vue                                                                                                             |  189 +++---
 hangzhoumesParent/moduleService/CacheGlassModule/pom.xml                                                                                          |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java              |    2 
 UI-Project/src/views/Identify/identify.vue                                                                                                        |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java                              |   12 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/OptimizeRequest.java                                                 |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java                  |    7 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java                   |   17 
 hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java                                       |   22 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java                                           |   15 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java                              |   17 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java                |   25 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/controller/uppattenusageController.java                      |   43 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java                   |    7 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java          |   51 +
 hangzhoumesParent/common/servicebase/pom.xml                                                                                                      |    7 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java                                    |   21 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java                   |   24 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java                                        |   18 
 UI-Project/config.js                                                                                                                              |   14 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java                           |   29 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml                                                       |   13 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java                                                   |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java                  |    4 
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                      |   17 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java                           |   51 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java                      |    3 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml                                                                                  |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/entity/TaskCache.java                               |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java                           |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java              |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java                           |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java                              |   62 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java                                           |    2 
 UI-Project/vite.config.js                                                                                                                         |   16 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java                              |   33 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java                    |   55 +
 71 files changed, 987 insertions(+), 537 deletions(-)

diff --git a/UI-Project/config.js b/UI-Project/config.js
index 4d69e8e..1871721 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,10 +1,6 @@
-// export default {
-//   serverUrl: "localhost:8083/api/loadGlass",
-//   serverUrl2: "localhost:8085"
-//   //serverUrl:"res.abeim.cn"
-// }
 export default {
-   serverUrl: "localhost:88/api",
-   serverUrl2: "localhost:8085"
-   //serverUrl:"res.abeim.cn"
-  }
\ No newline at end of file
+  serverUrl: "localhost:88/api/loadGlass",
+  //serverUrl: "localhost:88/api/",
+  serverUrl2: "localhost:8085"
+  //serverUrl:"res.abeim.cn"
+}
\ No newline at end of file
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index c3c3623..d2e3ed7 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -2,27 +2,26 @@
 import {useRouter} from 'vue-router'
 import useUserInfoStore from '@/stores/userInfo'
 import userInfo from '@/stores/userInfo'
-import request from "@/utils/request";
-import {ElMessage} from "element-plus";
-import {ref, watch} from "vue"
-import deepClone from "@/utils/deepClone"
- 
+import request from '@/utils/request'
+import {ElMessage} from 'element-plus'
+import {ref, watch} from 'vue'
+import deepClone from '@/utils/deepClone'
+
 const store = userInfo()
- 
+
 const router = useRouter()
 const userStore = useUserInfoStore()
 const user = userStore.user.userName
- 
+
 // store.createWebSocket();
 function quit() {
   userStore.$patch({
-    user: null
+    user: null,
   })
-  router.push("/login")
+  router.push('/login')
 }
- 
- 
-//鎻愬彇妯″潡鍒楄〃
+
+//鎻愬彇鑿滃崟妯″潡鍒楄〃
 let menuList = $ref([])
 request.get('/loadGlass/menu/sysMenu/list').then((res) => {
   if (res.code == 200) {
@@ -32,61 +31,55 @@
     router.push('/login')
   }
 })
- 
-//鑾峰彇鑿滃崟鍒楄〃
-// let menuItemList = $ref([])
-// request.get('/menuItem').then((res) => {
-//   if (res.code == 200) {
-//     menuItemList = deepClone(res.data)
-//   } else {
-//     ElMessage.warning(res.msg)
-//     router.push('/login')
-//   }
-// })
- 
+
 const menu = ref(null)
 let indexKey = ref(null)
- 
+
 function handleOpen(key) {
   indexKey.value = key
 }
- 
-watch(indexKey, (newVal, oldVal) => {
+
+watch(
+    indexKey,
+    (newVal, oldVal) => {
       if (oldVal !== newVal && oldVal !== null) {
         menu.value.close(oldVal)
       }
-},
-    {deep:true}
+    },
+    {deep: true}
 )
- 
+
 router.beforeEach((to, from) => {
   //return false
 })
- 
- 
+
 let openFlag = $ref(null)
 //鍘熷鑿滃崟鎵撳紑
 const openMenu = (menuID) => {
-    if(menuID===openFlag){
-      openFlag = null
-    }else {
-      openFlag = menuID
-    }
+  if (menuID === openFlag) {
+    openFlag = null
+  } else {
+    openFlag = menuID
+  }
 }
- 
- 
 </script>
  
 <template>
   <div id="all">
     <el-container>
-      <el-header >
+      <el-header>
         <div style="height: 100%;width: 100%;display: flex;background-color: #fff;">
-          <img src="../assets/northGlass.ico" alt="" style="max-width: 100%;max-height: 100%">
+          <img src="../assets/northGlass.ico"
+               alt=""
+               style="max-width: 100%;max-height: 100%">
           <h3 style="margin: 1rem  ;font-weight: bold;width: 20vw;"> 娆㈣繋{{ user }}浣跨敤鍖楃幓MES绯荤粺锛�</h3>
           <span style="height: 70%;width: 78vw;margin-top: 1rem;">
-            <el-button class="sys-quit" @click="quit" round>
-              <el-icon size="large"><SwitchButton size=""/></el-icon>
+            <el-button class="sys-quit"
+                       @click="quit"
+                       round>
+              <el-icon size="large">
+                <SwitchButton size=""/>閫�鍑�
+              </el-icon>
             </el-button>
           </span>
         </div>
@@ -107,76 +100,81 @@
               </div>
               <ul class='enter-x-left'
                   v-show="openFlag==items.id">
- 
+
                 <li v-for="menuItem in items.children"
                     style="margin-bottom:2px">
                   <router-link :to="{path:menuItem.url}">
                     {{ menuItem.menuName }}
                   </router-link>
- 
+
                 </li>
               </ul>
             </div>
           </div>
         </el-aside>
- 
+
         <el-main>
           <div id="main">
             <router-view></router-view>
           </div>
         </el-main>
- 
+
       </el-container>
     </el-container>
   </div>
 </template>
  
 <style scoped>
-#all{
+#all {
   background-color: #eee;
   height: 100%;
 }
-.el-container{
+
+.el-container {
   height: 100vh;
-  width: 99vw
+  width: 99vw;
 }
- 
-*{
+
+* {
   padding: 0;
   margin: 0;
 }
-:deep(.sys-quit){
+
+:deep(.sys-quit) {
   float: right;
   margin-right: 1rem;
   width: 5rem;
 }
+
 /* 妯嚎 */
-#line{
-float:right;
-width: 100%;
-height: 1px;
-/* margin-top: 0.5em; */
-margin-bottom: 0.5em;
-background:#d4c4c4;
-position: relative;
-text-align: center;
+#line {
+  float: right;
+  width: 100%;
+  height: 1px;
+  /* margin-top: 0.5em; */
+  margin-bottom: 0.5em;
+  background: #d4c4c4;
+  position: relative;
+  text-align: center;
 }
-:deep(span){
+
+:deep(span) {
   margin-right: 0;
- 
 }
-.el-collapse{
+
+.el-collapse {
   font-size: 16px;
   font-weight: bold;
 }
-#main{
+
+#main {
   width: 99%;
   float: right;
   height: 99%;
   background-color: #fff;
 }
 /*------------*/
- 
+
 /* .menu div div{
  
   width: 138px;
@@ -195,34 +193,30 @@
   margin-bottom:4px;
   text-align: left;
   cursor: pointer; */
-  /* border-radius:8px; */
-  /*   outline: none; */
-  /* background-color:#5CADFE; */
-  /* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
+/* border-radius:8px; */
+/*   outline: none; */
+/* background-color:#5CADFE; */
+/* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
 /* } */
- 
+
 .menu {
   width: 138px;
   height: 33px;
   line-height: 25px;
- 
+
   color: #000000;
   font-size: 16px;
   padding-left: 15px;
   padding-right: 2px;
- 
- 
- 
 }
- 
+
 ul {
   height: auto;
   margin: 1px auto;
   text-align: center;
 }
- 
+
 ul li {
- 
   height: 28px;
   line-height: 30px;
   /* background: rgb(128, 128, 128); */
@@ -233,34 +227,34 @@
   text-align: left;
   /* border-radius:8px; */
   /*   outline: none; */
- 
+
   /* background: #5CADFE; */
   /* box-shadow: 0 8px 16px 0 rgba(0,0,0,0), 0 6px 5px 0 rgba(0,0,0,0.19); */
 }
- 
+
 ul li:hover {
   /* background:#5CADFE ; */
   color: #ffffff;
 }
- 
+
 ul li a {
   text-decoration: none;
   color: #000000;
   font-size: 14px;
 }
 ul li a:hover {
- 
   color: #1087ff;
 }
- 
+
 .item_divider {
   width: 118px;
   height: 0px;
   /* background-color: white;
   opacity: 0.8; */
-  margin-bottom:2px;
+  margin-bottom: 2px;
 }
-.item a{
+
+.item a {
   width: 138px;
   height: 35px;
   display: block;
@@ -270,7 +264,7 @@
   font-size: 14px;
   text-decoration: none;
 }
- 
+
 .menu_title {
   width: 140px;
   height: 45px;
@@ -284,14 +278,13 @@
   position: relative;
   font-weight: bold;
   overflow: hidden;
- 
 }
- 
+
 .menu_title:hover {
   /* background: #dedede; */
   color: #3b9af9;
 }
- 
+
 .indicator {
   display: block;
   width: 40px;
@@ -303,9 +296,7 @@
   transition: all 0.3s ease;
   text-align: center;
 }
- 
- 
- 
+
 /* 鍔ㄧ敾鏁堟灉 */
 .enter-x-left {
   z-index: 9;
@@ -315,16 +306,20 @@
   transform: translateX(-50px);
   transition: all 0.3s ease;
 }
-.enter-x-left:nth-child(1){
+
+.enter-x-left:nth-child(1) {
   animation-delay: 0.1s;
 }
-.enter-x-left:nth-child(2){
+
+.enter-x-left:nth-child(2) {
   animation-delay: 0.2s;
 }
+
 .enter-x-left:nth-child(3) {
   animation-delay: 0.3s;
 }
-.enter-x-left:nth-child(4){
+
+.enter-x-left:nth-child(4) {
   animation-delay: 0.4s;
 }
 @keyframes enter-x-left {
@@ -333,6 +328,4 @@
     transform: translateX(0);
   }
 }
- 
- 
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Caching/caching.vue b/UI-Project/src/views/Caching/caching.vue
index 18f3a10..76b577a 100644
--- a/UI-Project/src/views/Caching/caching.vue
+++ b/UI-Project/src/views/Caching/caching.vue
@@ -741,8 +741,8 @@
 <template>
   <div>
     <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
-      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 240px;">
-        <el-table height="100%" ref="table" 
+      <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+        <el-table height="240" ref="table" 
         @selection-change="handleSelectionChange"
         :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
           <el-table-column prop="id" align="center" label="鐜荤拑ID" min-width="80" />
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 0dfc7b9..d8d5d79 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -1,13 +1,13 @@
 <template>
   <el-card style="margin-left: 10px; margin-top: 10px; margin-right: 10px;" v-loading="loading">
-    <div style="display: flex;">
+    <div style="display: flex;margin-bottom: 30px;">
       <div style="margin-left: 400px; font-size: 20px;">宸ョ▼鍙凤細P20240305001 </div>
       <div style="margin-left: 150px; font-size: 20px;">鐗堝浘缂栧彿锛�1</div>
     </div>
     <el-scrollbar height="650px">
       <div id="home-card">
       <div id="home-item" v-for="n in 20" :key="n">
-    <svg width="100%" height="690" xmlns="http://www.w3.org/2000/svg" style="margin-top: -40px;">
+    <svg width="100%" height="400" xmlns="http://www.w3.org/2000/svg" style="margin-top: -100px;margin-left: -80px;">
       <defs>
             <marker id="arrow" markerUnits="strokeWidth" markerWidth="12" markerHeight="12" viewBox="0 0 12 12" refX="6"
                 refY="6" orient="auto">
@@ -163,12 +163,13 @@
       border-color: #E4E4E4;
       width: calc(34% - 20px);
       padding: 20px 0px 20px 20px;
-      margin-right: 10px;
+      margin-right: 20px;
       margin-bottom: 10px;
       display: flex;
       justify-content: center;
       /* align-items: center; */
       background: #fff;
+      width: 700px;
       #home-img {
         display: inline-block;
         width: 160px;
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 9c7b9f9..1136815 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -168,11 +168,14 @@
     <!-- <div id="awatch">
   <img src="../../assets/lpl.jpg" alt="" style="width: 10%;height: 10%;margin-left: 160px;">
 </div> -->
-
-
-    <div id="awatch">
-  <img src="../../assets/cp.png" alt="" style="width: 1305px;height: 400px;margin-left: 240px;margin-top: 50px;">
-</div>
+<!-- // 鐖剁骇妗� -->
+	<div class="img-list">  
+	<!-- // 娴湪涓婃柟鐨勫浘鐗�  -->
+  <img class="check-img" src="../../assets/lpl.jpg" alt="" style="width: 13%;height: 12%;margin-left: 160px;">
+  <img class="check-imga" src="../../assets/lpl.jpg" alt="" style="width: 13%;height: 12%;margin-left: 160px;">
+	<!-- // 搴曞浘 -->
+  <img class="data-img " src="../../assets/dlpl.png" alt="" style="width: 1200px;height: 400px;margin-left: 130px;margin-top: 50px;">
+	</div>
   </div>
 <el-dialog v-model="dialogFormVisible" top="12vh" width="85%" title="璇风‘璁ょ幓鐠冧俊鎭�" >
   <div style="margin-left: 50px;margin-bottom: 10px;">
@@ -416,7 +419,7 @@
   width: 3.3125rem;
   height: 2.9375rem;
   top:20rem;
-  right: 52rem;
+  right: 57rem;
   z-index: 10;
   
 }
@@ -425,7 +428,7 @@
   width: 3.3125rem;
   height: 2.9375rem;
   top:15rem;
-  right: 37rem;
+  right: 29rem;
   z-index: 10;
   
 }
diff --git a/UI-Project/vite.config.js b/UI-Project/vite.config.js
index c0255a0..d89091a 100644
--- a/UI-Project/vite.config.js
+++ b/UI-Project/vite.config.js
@@ -22,17 +22,17 @@
     https: false,
     proxy: {
       '/api': {
-        target: 'http://localhost:8080/mesModuleTools',
+        target: 'http://localhost:88/',
         changeOrigin: true,
         rewrite: (path) => path.replace(/^\/api/, '/'),
       },
-      '/api2': {
-        target: 'http://localhost:8085/mesModuleTools',
-        changeOrigin: true,
-        pathRewrite: {
-          '^/api2': '',
-        },
-      },
+      // '/api2': {
+      //   target: 'http://localhost:8085/mesModuleTools',
+      //   changeOrigin: true,
+      //   pathRewrite: {
+      //     '^/api2': '',
+      //   },
+      // },
     },
   },
   configureServer: ({ middlewares }) => {
diff --git a/hangzhoumesParent/common/servicebase/pom.xml b/hangzhoumesParent/common/servicebase/pom.xml
index 46c17d9..bc347e1 100644
--- a/hangzhoumesParent/common/servicebase/pom.xml
+++ b/hangzhoumesParent/common/servicebase/pom.xml
@@ -11,6 +11,13 @@
 
     <artifactId>servicebase</artifactId>
 
+        <dependencies>
+            <dependency>
+                <groupId>com.github.yulichang</groupId>
+                <artifactId>mybatis-plus-join</artifactId>
+                <version>1.1.6</version>
+            </dependency>
+        </dependencies>
     <properties>
         <maven.compiler.source>8</maven.compiler.source>
         <maven.compiler.target>8</maven.compiler.target>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
index 43fd1d7..712cb52 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java
@@ -40,12 +40,15 @@
         return Result.build(200, "", glass);
     }
 
-//    public Result<List<OptimizeProject>> saveProject(@RequestBody OptimizeRequest optimizeRequest) {
-//        log.info("灏嗚姹傚弬鏁板皝瑁呭湪璇锋眰绫婚噷闈�");
-//        List<OptimizeProject> glass = optimizeProjectService.saveProject(optimizeRequest);
-//        log.info("鏄剧ず宸ョ▼閫夋嫨淇℃伅:{}", glass);
-//        return Result.build(200, "", glass);
-//    }
+    @ApiOperation("淇濆瓨宸ョ▼淇℃伅")
+    @PostMapping("/saveProject") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
+    public Result<List<OptimizeProject>> saveProject(@RequestBody OptimizeRequest optimizeRequest) {
+        log.info("鑾峰彇閫夋嫨濂界殑宸ョ▼id杩涜鏌ヨ鏁版嵁鍚庝繚瀛�");
+        List<OptimizeProject> glass = optimizeProjectService.saveProject(optimizeRequest);
+        log.info("鏄剧ず宸ョ▼閫夋嫨淇℃伅鍚庤繘琛屼繚瀛�:{}", glass);
+        //void insetProject(glass);
+        return Result.build(200, "", glass);
+    }
 
 }
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/OptimizeRequest.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/OptimizeRequest.java
index 1560554..c790386 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/OptimizeRequest.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/request/OptimizeRequest.java
@@ -8,10 +8,13 @@
  */
 @Data
 public class OptimizeRequest {
+    @ApiParam("")
+    private String projectNo;
 
     @ApiParam("")
     private Integer state;
 
-    @ApiParam("")
-    private String projectNo;
+
 }
+
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
index be5eec9..7a2c882 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
@@ -1,8 +1,12 @@
 package com.mes.pp.mapper;
 
+import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.entity.request.OptimizeRequest;
 import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,6 +17,7 @@
  * @since 2024-04-16
  */
 @Mapper
+@DS("pp")
 public interface OptimizeProjectMapper extends BaseMapper<OptimizeProject> {
-
+    List<OptimizeProject> saveProject(OptimizeRequest optimizeRequest);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
index c3631d6..61b201a 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
@@ -18,7 +18,22 @@
 
     /**
      * 鏌ヨ鍙鍙栫殑浠诲姟宸ョ▼淇℃伅
+     *
      * @return
      */
     List<OptimizeProject> listByState(OptimizeRequest optimizeRequest);
+
+    /**
+     * 鏌ヨ淇濆瓨鍒板師鐗囦娇鐢ㄨ鎯呰〃鐨勬暟鎹�
+     *
+     * @return
+     */
+    List<OptimizeProject> saveProject(OptimizeRequest optimizeRequest);
+
+    /**
+     * 灏嗗伐绋嬩俊鎭繚瀛樺埌鍘熺墖浣跨敤璇︽儏琛�
+     *
+     * @return
+     */
+    void insetProject(OptimizeProject glass);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
index abcb098..4ec8d74 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
@@ -33,8 +33,24 @@
         LambdaQueryWrapper<OptimizeProject> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(OptimizeProject::getState, optimizeRequest.getState())
                 .like(StringUtils.isNotBlank(optimizeRequest.getProjectNo()), OptimizeProject::getProjectNo, optimizeRequest.getProjectNo())
-                .groupBy(OptimizeProject::getProjectNo);
+        //.groupBy(OptimizeProject::getProjectNo)
+        ;
         log.info("杩斿洖宸ョ▼淇℃伅");
         return this.list(wrapper);
     }
+
+
+    @Override
+    public void insetProject(OptimizeProject glass) {
+
+    }
+
+    @Override
+    public List<OptimizeProject> saveProject(OptimizeRequest optimizeRequest) {
+        log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ");
+
+        log.info("杩斿洖宸ョ▼淇℃伅");
+        return this.baseMapper.saveProject(optimizeRequest);
+    }
+
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
index 218263e..a2463c5 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -22,7 +22,7 @@
         // 2銆佸叏灞�閰嶇疆
         // 鍏ㄥ眬閰嶇疆
         GlobalConfig gc = new GlobalConfig();
-        gc.setOutputDir("D:\\workspace\\hangzhoumesParent1\\");
+        gc.setOutputDir("D:\\Documents\\hangzhoumesParent1\\");
 
         gc.setServiceName("%sService");	//鍘绘帀Service鎺ュ彛鐨勯瀛楁瘝I
         gc.setAuthor("zhoush");
@@ -50,8 +50,7 @@
         // 5銆佺瓥鐣ラ厤缃�
         StrategyConfig strategy = new StrategyConfig();
 
-//        strategy.setInclude("activity_info", "activity_rule", "activity_sku", "coupon_info", "coupon_range",
-//                "coupon_use");
+        strategy.setInclude("up_patten_usage");
 
         strategy.setNaming(NamingStrategy.underline_to_camel);//鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
index 81c937a..bec683f 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
@@ -21,6 +21,10 @@
             <artifactId>mybatis-plus-join</artifactId>
             <version>1.1.6</version>
         </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.github.yulichang</groupId>-->
+<!--            <artifactId>mybatis-plus-join-boot-starter</artifactId>-->
+<!--        </dependency>-->
     </dependencies>
 
     <properties>
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
index 95a9a73..bf6e500 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
@@ -2,10 +2,12 @@
 
 import lombok.extern.slf4j.Slf4j;
 import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
+import com.mes.edgstoragecage.service.*;
 
 /**
  * @Author : zhoush
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 702296e..5e3bed7 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,13 +1,23 @@
 package com.mes.edgstoragecage.controller;
 
+import com.mes.edgstoragecage.entity.EdgStorageCage;
+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.ApiOperation;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+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
@@ -17,11 +27,38 @@
 @RequestMapping("/edgStorageCage")
 public class EdgStorageCageController {
 
-    //todo: 瀹炰緥浠g爜 寰呭垹闄�
-    @ApiOperation("娴嬭瘯")
-    @GetMapping("/index")
-    public String index() {
-        return "hello world";
+    @Autowired
+    private EdgStorageCageServiceImpl edgStorageCageServiceImpl;
+
+
+    //鏌ヨ纾ㄨ竟缂撳瓨鐞嗙墖绗煎唴璇︽儏
+    @PostMapping("/selectEdgStorageCage")
+    @ResponseBody
+    public Result selectEdgStorageCage () {
+        List<Map> list=edgStorageCageServiceImpl.selectEdgStorageCages();
+        return Result.build(200,"鎴愬姛",list);
+    }
+    //娣诲姞纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氱鍐呯粦瀹氱幓鐠�
+    @PostMapping("/insertEdgStorageCage")
+    @ResponseBody
+    public Result insertEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
+        boolean isSucess=edgStorageCageServiceImpl.updateEdgStorageCage(edgStorageCage);
+        return Result.build(200,"娣诲姞鎴愬姛",1);
+    }
+    //淇敼纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸杩涜銆愬惎鐢�/绂佺敤銆�/ 銆愭洿鎹€�戠鍐呮爡鏍肩幓鐠冧俊鎭�
+    @PostMapping("/updateEdgStorageCage")
+    @ResponseBody
+    public Result updateEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
+        boolean isSucess=edgStorageCageServiceImpl.updateEdgStorageCage(edgStorageCage);
+        return Result.build(200,"鏇存崲鎴愬姛",1);
+    }
+
+    //鍒犻櫎纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愭竻闄ゃ��
+    @PostMapping("/deleteEdgStorageCage")
+    @ResponseBody
+    public Result deleteEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
+        boolean isSucess=edgStorageCageServiceImpl.updateEdgStorageCage(edgStorageCage);
+        return Result.build(200,"鍒犻櫎鎴愬姛",1);
     }
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java
index 1961c30..99fb29f 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java
@@ -25,7 +25,7 @@
      * 纾ㄨ竟鍓嶇悊鐗囩璇︽儏琛╥d
      */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
      * 璁惧id
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java
index 2509b1d..bfc7ed2 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java
@@ -1,6 +1,7 @@
 package com.mes.edgstoragecage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 
 /**
@@ -11,6 +12,6 @@
  * @author zhoush
  * @since 2024-04-07
  */
-public interface EdgStorageCageMapper extends BaseMapper<EdgStorageCage> {
+public interface EdgStorageCageMapper extends MPJBaseMapper<EdgStorageCage> {
 
 }
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 1b2282b..5dc7252 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
@@ -8,18 +8,25 @@
 
 /**
  * <p>
- * 鏈嶅姟绫�
+ *  鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-04-07
  */
 public interface EdgStorageCageDetailsService extends IService<EdgStorageCageDetails> {
-    //鑾峰彇鍏ㄩ儴 纾ㄨ竟鍓嶇紦瀛樼淇℃伅
-    public List<Map> getEdgStorageInfos();
 
-    //淇敼 绗煎唴鏁版嵁
-    public List<Map> setEdgStorageInfos();
+    /**
+     * 璇嗗埆 鐮存崯/鎷胯蛋
+     * @param glassid
+     * @param ControlsId
+     * @return
+     */
+    boolean identWorn(String glassid,int ControlsId);
+    //鑾峰彇 鍒囧壊褰撳墠鐗堝浘
+    List<Map> selectCutTerritory();
+    //鑾峰彇 宸ョ▼涓嬬殑褰撳墠鐗堝浘
+    List<Map> selectCurrentCutTerritory(String current);
 
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
index 84362fe..5d2f575 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -17,20 +17,14 @@
 public interface EdgStorageCageService extends IService<EdgStorageCage> {
 
     //鏌ヨ绗煎唴绌烘牸
-    List<EdgStorageCage> selectCacheEmpty();
+    List<Map> selectCacheEmpty();
 
     //鏌ヨ绗煎唴鍑虹墖椤哄簭璇︽儏
-    List<EdgStorageCage> selectCacheOut();
+    List<Map> selectCacheOut();
 
     //鏌ヨ绗煎唴璇︽儏
-    List<Map> selectCacheInfos();
-
-    //娣诲姞鐞嗙墖绗间俊鎭�  浼犲叆glassid
-    boolean insertCacheInfo(String glassid);
+    List<Map> selectEdgStorageCages();
 
     //淇敼鐞嗙墖绗煎唴淇℃伅
-    boolean updateCacheInfo(String cacheId);
-
-    //鍒犻櫎鐞嗙墖绗煎唴淇℃伅
-    boolean deleteCacheInfo(String cacheId);
+    boolean updateEdgStorageCage(EdgStorageCage edgStorageCage);
 }
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 817d3c3..c9df250 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
@@ -1,8 +1,8 @@
 package com.mes.edgstoragecage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
-import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
@@ -24,27 +24,44 @@
 public class EdgStorageCageDetailsServiceImpl extends ServiceImpl<EdgStorageCageDetailsMapper, EdgStorageCageDetails> implements EdgStorageCageDetailsService {
     //鑾峰彇鍏ㄩ儴鏁版嵁
     @Autowired
-    private HangzhouMesMapper hangzhouMesMapper;
-    @Autowired
     private EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
 
-    //鑾峰彇纾ㄨ竟鍓嶇紦瀛樼悊鐗囩淇℃伅
-    @Override
-    public List<Map> getEdgStorageInfos() {
-        List<Map> map = edgStorageCageDetailsMapper.selectJoinList(
-                Map.class, new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
-                        .select("a.c", "a.d")
-                        .leftJoin("ab a on t.id=a.id")
-                        .le("a.id", "1")
-        );
-        return map;
+    //璇嗗埆 鐮存崯/鎷胯蛋
+    public boolean identWorn(String glassid, int ControlsId) {
+        List<EdgStorageCageDetails> edgStorageCageDetails = edgStorageCageDetailsMapper.selectList(new QueryWrapper<EdgStorageCageDetails>().eq("glassid", glassid));
+        if (edgStorageCageDetails.size() == 1) {
+            edgStorageCageDetailsMapper.update(edgStorageCageDetails.get(0), new QueryWrapper<EdgStorageCageDetails>().eq("glassid", glassid));
+            return true;
+        }
+        return false;
     }
 
-    ;
-
+    //鑾峰彇 鍒囧壊褰撳墠鐗堝浘
     @Override
-    public List<Map> setEdgStorageInfos() {
-        return hangzhouMesMapper.selectCachInfo();
+    public List<Map> selectCutTerritory() {
+        List<Map> list = edgStorageCageDetailsMapper.selectJoinList(
+                Map.class, new MPJQueryWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class)
+                        .select("escd.glass_id", "escd.flow_card_id", "escd.width", "escd.height")
+                        .leftJoin("glass_info gi on t.layout_sequence=gi.pattern_sequence and t.engineering_id=gi.engineer_id")
+                        .leftJoin("edg_storage_cage_details escd on gi.id=escd.glass_id")
+                        .eq("state", 1)
+                        .orderByAsc("t.layout_sequence")
+        );
+        return list;
+    }
+
+    //鑾峰彇 宸ョ▼涓嬬殑褰撳墠鐗堝浘
+    @Override
+    public List<Map> selectCurrentCutTerritory(String current) {
+        List<Map> list = edgStorageCageDetailsMapper.selectJoinList(
+                Map.class, new MPJQueryWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class)
+                        .select("escd.glass_id", "escd.flow_card_id", "escd.width", "escd.height")
+                        .leftJoin("glass_info gi on t.layout_sequence=gi.pattern_sequence and t.engineering_id=gi.engineer_id")
+                        .leftJoin("edg_storage_cage_details escd on gi.id=escd.glass_id")
+                        .eq("t.engineering_id", current)
+                        .orderByAsc("t.layout_sequence")
+        );
+        return list;
     }
 
     ;
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 35202ab..b337c2d 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
@@ -1,23 +1,24 @@
 package com.mes.edgstoragecage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.query.MPJQueryWrapper;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
-import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
+import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
 import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -30,50 +31,50 @@
     EdgStorageCageMapper edgStorageCageMapper;
     @Autowired
     EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
+    @Autowired
+    UpPattenUsageMapper upPattenUsageMapper;
 
     @Override
-    //鏌ヨ绗煎唴绌烘牸   EdgStorageCage as esc left join EdgStorageCageDetails as escd esc.device_id=escd.device_id
-    public List<EdgStorageCage> selectCacheEmpty() {
-        List<EdgStorageCage> listEdgStorageCage = edgStorageCageMapper.selectList(null);
-        ;
-        List<EdgStorageCageDetails> orderList = listEdgStorageCage.stream()
-                .flatMap(user -> edgStorageCageDetailsMapper.selectList(
-                        new QueryWrapper<EdgStorageCageDetails>().eq("user_id", user.getId())).stream()
-                )
-                .collect(Collectors.toList());
-
-        return listEdgStorageCage;
+    //鏌ヨ绗煎唴绌烘牸
+    public List<Map> selectCacheEmpty(){
+        List<Map> map=edgStorageCageMapper.selectJoinList(
+                Map.class,new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
+                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+                        .isNull("escd.slot")
+        );
+        return map;
     }
 
     @Override
-    //鏌ヨ绗煎唴鍑虹墖浠诲姟
-    public List<EdgStorageCage> selectCacheOut() {
-        List<EdgStorageCage> list = new ArrayList<EdgStorageCage>();
+    //鏌ヨ绗煎唴鍑虹墖浠诲姟   鎸夐挗鍖栫増鍥惧彿+鐗堝浘鍐呭簭鍙�
+    public List<Map> selectCacheOut(){
+        List<Map> list= upPattenUsageMapper.selectJoinList(
+                Map.class,new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
+                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+                        .isNotNull("escd.slot")
+                        .orderByAsc("escd.tempering_layout_id","escd.tempering_feed_sequence")
+        );
         return list;
     }
 
     @Override
     //鐞嗙墖缂撳瓨璇︽儏
-    public List<Map> selectCacheInfos() {
-        List<Map> mapList = new ArrayList<>();
-        return mapList;
+    public List<Map> selectEdgStorageCages(){
+        List<Map> map=edgStorageCageMapper.selectJoinList(
+                Map.class,new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
+                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+        );
+        return map;
     }
 
     @Override
-    //娣诲姞鐞嗙墖绗间俊鎭�  浼犲叆glassid
-    public boolean insertCacheInfo(String glassid) {
-        return false;
+    //淇敼鐞嗙墖绗煎唴淇℃伅 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+    public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage){
+        edgStorageCageMapper.updateById(edgStorageCage);
+        return true;
     }
 
-    @Override
-    //淇敼鐞嗙墖绗煎唴淇℃伅
-    public boolean updateCacheInfo(String cacheId) {
-        return false;
-    }
-
-    @Override
-    //鍒犻櫎鐞嗙墖绗煎唴淇℃伅
-    public boolean deleteCacheInfo(String cacheId) {
-        return false;
-    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
index 909764f..cd7d224 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -1,7 +1,17 @@
 package com.mes.glassinfo.controller;
 
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.RestController;
+import com.mes.glassinfo.service.impl.GlassInfoServiceImpl;
+
+import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -15,5 +25,28 @@
 @RequestMapping("/glassInfo")
 public class GlassInfoController {
 
+    @Autowired
+    private GlassInfoServiceImpl GlassInfoServiceImpl;
+
+    @PostMapping("/selectId") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
+    @ResponseBody
+    public Result selectId(String ProcessId) {
+        List<GlassInfo> list = GlassInfoServiceImpl.selectId(ProcessId);
+        return Result.build(200,"鎴愬姛",list);
+    }
+
+    @PostMapping("/selectAll") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
+    @ResponseBody
+    public Result selectAll() {
+        List<GlassInfo> list = GlassInfoServiceImpl.selectAll();
+        return Result.build(200,"鎴愬姛",list);
+    }
+
+    @PostMapping("/selectFlowCardId") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
+    @ResponseBody
+    public Result selectFlowCardId(String flowCardId) {
+        List<GlassInfo> list = GlassInfoServiceImpl.selectFlowCardId(flowCardId);
+        return Result.build(200,"鎴愬姛",list);
+    }
 }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index 56eb5a4..081732b 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -30,7 +30,7 @@
     /**
      * 娴佺▼鍗�
      */
-    private String flowcardId;
+    private String flowCardId;
 
     /**
      * 娴佺▼鍗$幓鐠冪被鍨�
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
index bff5ddd..ed5b84a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -7,7 +7,7 @@
 
 /**
  * <p>
- * 鏈嶅姟绫�
+ *  鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
@@ -16,8 +16,6 @@
 public interface GlassInfoService extends IService<GlassInfo> {
 
     public List<GlassInfo> selectAll();
-
     public List<GlassInfo> selectId(String glassId);
-
-    public List<GlassInfo> selectFlowcardId(String flowcard_id);
+    public List<GlassInfo> selectFlowCardId(String flowCardId);
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index 65a8ee5..cae494e 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -9,10 +9,11 @@
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -26,29 +27,19 @@
 
     //鏍规嵁ID 鑾峰彇灏忕墖鏁版嵁
     @Override
-    public List<GlassInfo> selectId(String glassId) {
-        QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<GlassInfo>();
-        queryWrapper.eq("id", glassId);
-        return glassInfoMapper.selectList(queryWrapper);
-    }
-
-    ;
+    public List<GlassInfo> selectId(String glassId){
+        return glassInfoMapper.selectList(new QueryWrapper<GlassInfo>().eq("id",glassId));
+    };
 
     //鑾峰彇鍏ㄩ儴灏忕墖鏁版嵁
     @Override
-    public List<GlassInfo> selectAll() {
+    public List<GlassInfo> selectAll(){
         return glassInfoMapper.selectList(null);
-    }
-
-    ;
+    };
 
     //鏍规嵁宸ョ▼ 鑾峰彇灏忕墖鏁版嵁
     @Override
-    public List<GlassInfo> selectFlowcardId(String flowcardId) {
-        QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<GlassInfo>();
-        queryWrapper.eq("flowcardId", flowcardId);
-        return glassInfoMapper.selectList(queryWrapper);
-    }
-
-    ;
+    public List<GlassInfo> selectFlowCardId(String flowCardId){
+        return glassInfoMapper.selectList(new QueryWrapper<GlassInfo>().eq("flowCardId",flowCardId));
+    };
 }
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 37ad945..cb8fb57 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,5 +1,7 @@
 package com.mes.taskcache.controller;
 
+import com.mes.edgstoragecage.service.impl.EdgStorageCageDetailsServiceImpl;
+import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
 import com.mes.taskcache.service.HangzhoumesService;
 import com.mes.taskcache.service.PpService;
 import com.mes.utils.Result;
@@ -11,7 +13,7 @@
 
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -22,59 +24,55 @@
 public class TaskCacheController {
 
     @Autowired
-    private PpService ppService;
+    private EdgStorageCageServiceImpl edgStorageCageServiceImpl;
+
+    @Autowired
+    private EdgStorageCageDetailsServiceImpl edgStorageCageDetailsServiceImpl;
 
     @Autowired
     private HangzhoumesService hangzhoumesService;
 
-//    @GetMapping("/SelectTerritoryInfo") // 鏌ヨ閽㈠寲鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
-//    @ResponseBody
-//    public Result SelectTerritoryInfo(@RequestParam(name = "ProcessId", required = false) String ProcessId) {
-//        List<Tempered> h = ppService.selectTemperedTerritory(ProcessId);
-//        return Result.seccess(h);
-//    }
-
-    @GetMapping("/CutTerritory") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
+    @PostMapping("/cutTerritory") // 鏌ヨ鍒囧壊鐗堝浘淇℃伅-鏍规嵁 宸ョ▼鍙�
     @ResponseBody
-    public Result CutTerritory(String ProcessId) {
-        List<Map> h = ppService.selectCutTerritory(ProcessId);
-        return Result.build(200, "鎴愬姛", h);
+    public Result cutTerritory(String current) {
+        List<Map> h = edgStorageCageDetailsServiceImpl.selectCurrentCutTerritory(current);
+        return Result.build(200,"鎴愬姛",h);
     }
 
-    @GetMapping("/CurrentCutTerritory") // 璇嗗埆鏄剧ず  褰撳墠鐗堝浘
+    @PostMapping("/currentCutTerritory") // 璇嗗埆鏄剧ず  褰撳墠鐗堝浘
     @ResponseBody
-    public Result CurrentCutTerritory() {
-        List<Map> h = ppService.selectCutTerritory();
-        System.out.println(h);
-        return Result.build(200, "鎴愬姛", h);
+    public Result currentCutTerritory() {
+        List<Map> h = edgStorageCageDetailsServiceImpl.selectCutTerritory();
+        return Result.build(200,"鎴愬姛",h);
     }
 
-    @GetMapping("/SelectCutTerritory") // 璇嗗埆鏄剧ず  鐗瑰畾鐗堝浘
+    @PostMapping("/selectCutTerritory") // 璇嗗埆鏄剧ず  鐗瑰畾鐗堝浘
     @ResponseBody
-    public Result SelectCutTerritory(String TerritoryId) {
-        List<Map> h = ppService.selectCutTerritory(TerritoryId);
-        return Result.build(200, "鎴愬姛", h);
+    public Result selectCutTerritory(String TerritoryId) {
+        List<Map> h = edgStorageCageDetailsServiceImpl.selectCutTerritory();
+        return Result.build(200,"鎴愬姛",h);
     }
 
-    @GetMapping("/IdentControls") //   璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D锛屽姛鑳絒0:鐮存崯锛�1锛氭嬁璧癩锛�
+    @PostMapping("/identControls") //   璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D锛屽姛鑳絒0:鐮存崯锛�1锛氭嬁璧癩锛�
     @ResponseBody
-    public Result Ident(@RequestParam(name = "IdentId", required = false) String ProcessId, @RequestParam(name = "ControlsId", required = false) String ControlsId) {
-        List<Map> h = ppService.selectCutTerritory("P24032508");
-        return Result.build(200, "鎴愬姛", h);
+    public Result identControls(@RequestParam(name = "identId", required = false) String identId,@RequestParam(name = "controlsId", required = false) int controlsId) {
+
+        boolean issucess = edgStorageCageDetailsServiceImpl.identWorn(identId,controlsId);
+        return Result.build(200,"鎴愬姛",issucess);
     }
 
-    @GetMapping("/SelectCageInfo") // 鏌ヨ绗煎唴淇℃伅
+    @PostMapping("/selectCageInfo") // 鏌ヨ绗煎唴淇℃伅
     @ResponseBody
-    public Result SelectCageInfo(String ProcessId) {
+    public Result selectCageInfo(String ProcessId) {
         List<Map> h = hangzhoumesService.SelectCageInfo();
-        return Result.build(200, "鎴愬姛", h);
+        return Result.build(200,"鎴愬姛",h);
     }
 
-    @GetMapping("/SelectEdgTask") //纾ㄨ竟浠诲姟
+    @PostMapping("/selectEdgTask") //纾ㄨ竟浠诲姟
     @ResponseBody
-    public Result SelectEdgTask(String ProcessId) {
+    public Result selectEdgTask(String ProcessId) {
         List<Map> EdgTasks = hangzhoumesService.SelectEdgInfo("1");
-        return Result.build(200, "鎴愬姛", EdgTasks);
+        return Result.build(200,"鎴愬姛",EdgTasks);
     }
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java
index 393d153..5dc3f77 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/LogicService.java
@@ -33,38 +33,38 @@
 //            }
 //        }
 //    }
-    //鐞嗙墖 杩�
-    public boolean processInto(String Number){
-        //鏌ヨ娑堟伅闃熷垪閲岀殑鐜荤拑
-        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
-        PlcParameterObject plcmes= PLCAutoMes.PlcMesObject;
-        if(GlassInfo!=null){//瀛樺湪姝ょ幓鐠冪紪鍙�
-            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
-            List<EdgStorageCageDetails> list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getTemperingFeedSequence(),GlassInfo.getWidth());
-            //绌烘爡鏍煎彿
-            if (list.size()==0) {
-                list=hangzhouMesMapper.selectCacheLeisure();
-            }
-            //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
-            if(list.size()==0){
-                list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getWidth());
-            }
-            if(list.size()>0){
-                //瀛樺湪绌烘牸
-                //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
-                //2.鍥炲 1杩涚墖
-                EdgStorageCageDetails item=list.get(0);
-                hangzhouMesMapper.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
+//    //鐞嗙墖 杩�
+//    public boolean processInto(String Number){
+//        //鏌ヨ娑堟伅闃熷垪閲岀殑鐜荤拑
+//        GlassInfo GlassInfo=hangzhouMesMapper.selectGlassId(Number);
+//        PlcParameterObject plcmes= PLCAutoMes.PlcMesObject;
+//        if(GlassInfo!=null){//瀛樺湪姝ょ幓鐠冪紪鍙�
+//            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
+//            List<EdgStorageCageDetails> list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getTemperingFeedSequence(),GlassInfo.getWidth());
+//            //绌烘爡鏍煎彿
+//            if (list.size()==0) {
+//                list=hangzhouMesMapper.selectCacheLeisure();
+//            }
+//            //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
+//            if(list.size()==0){
+//                list=hangzhouMesMapper.selectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getWidth());
+//            }
+//            if(list.size()>0){
+//                //瀛樺湪绌烘牸
+//                //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
+//                //2.鍥炲 1杩涚墖
+//                EdgStorageCageDetails item=list.get(0);
+//                hangzhouMesMapper.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1");
 //                S7object.getinstance().plccontrol.WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
-                return true;
-            }
-
-        }else{
-            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
-        }
-        //杩斿洖缁撴灉
-        return false;
-    }
+//                return true;
+//            }
+//
+//        }else{
+//            // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
+//        }
+//        //杩斿洖缁撴灉
+//        return false;
+//    }
 //    //鐞嗙墖 鍑�
 //    public boolean processOut(){
 //        //鏌ヨ浠诲姟
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 2d2bafc..4698582 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
@@ -16,23 +16,23 @@
 public interface TaskCacheService extends IService<TaskCache> {
 
     //娣诲姞鐞嗙墖绗间换鍔�
-    public boolean insertTaskCache();
+    boolean insertTaskCache(TaskCache taskCache);
 
     //鏌ヨ纾ㄨ竟浠诲姟
-    public List<TaskCache> selectEdgInfo(String line);
+    List<TaskCache> selectEdgInfo(String line);
 
     //鏌ヨ鐞嗙墖浠诲姟
-    public List<TaskCache> selectCacheInfo();
+    List<TaskCache> selectCacheInfo();
 
     //鏌ヨ鍏ㄩ儴浠诲姟
-    public List<TaskCache> selectAll();
+    List<TaskCache> selectAll();
 
     //鏌ヨ杩涚墖浠诲姟
-    public List<TaskCache> selectInputTaskCache();
+    List<TaskCache> selectInputTaskCache();
 
     //鏌ヨ鍑虹墖浠诲姟
-    public List<TaskCache> selectOutTaskCache();
+    List<TaskCache> selectOutTaskCache();
 
     //鏌ヨ  A09  鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
-    public boolean selectLastOutCacheInfo();
+    List<TaskCache> selectLastOutCacheInfo(String line);
 }
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 aec4976..73efed6 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,16 +1,20 @@
 package com.mes.taskcache.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.taskcache.entity.TaskCache;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.taskcache.mapper.TaskCacheMapper;
 import com.mes.taskcache.service.TaskCacheService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -19,45 +23,46 @@
 @Service
 public class TaskCacheServiceImpl extends ServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
 
+    @Autowired
+    GlassInfoMapper glassInfoMapper;
+    @Autowired
+    TaskCacheMapper taskCacheMapper;
     //娣诲姞鐞嗙墖绗间换鍔�
     @Override
-    public boolean insertTaskCache() {
-        return false;
+    public boolean insertTaskCache(TaskCache taskCache){
+        taskCacheMapper.insert(taskCache);
+        return true;
     }
-
     //鏌ヨ纾ㄨ竟浠诲姟
     @Override
     public List<TaskCache> selectEdgInfo(String line) {
-        return null;
+        return taskCacheMapper.selectList(new QueryWrapper<TaskCache>().eq("endcell",line));
     }
-
-    //鏌ヨ鐞嗙墖浠诲姟
+    //鏌ヨ寰呯悊鐗囧伐浣滅殑浠诲姟
     @Override
-    public List<TaskCache> selectCacheInfo() {
-        return null;
+    public List<TaskCache> selectCacheInfo(){
+        return taskCacheMapper.selectList(new QueryWrapper<TaskCache>().eq("taskstauts",0));
     }
-
     //鏌ヨ鍏ㄩ儴浠诲姟
     @Override
     public List<TaskCache> selectAll() {
-        return null;
+        return taskCacheMapper.selectList(null);
+    }
+    //鏌ヨ寰呰繘鐗囦换鍔�
+    @Override
+    public List<TaskCache> selectInputTaskCache(){
+        return taskCacheMapper.selectList(new QueryWrapper<TaskCache>().eq("taskstauts",0).eq("tasktype",1));
     }
 
-    //鏌ヨ杩涚墖浠诲姟
+    //鏌ヨ寰呭嚭鐗囦换鍔�
     @Override
-    public List<TaskCache> selectInputTaskCache() {
-        return null;
-    }
-
-    //鏌ヨ鍑虹墖浠诲姟
-    @Override
-    public List<TaskCache> selectOutTaskCache() {
-        return null;
+    public List<TaskCache> selectOutTaskCache(){
+        return taskCacheMapper.selectList(new QueryWrapper<TaskCache>().eq("taskstauts",0).eq("tasktype",2));
     }
 
     //鏌ヨ  A09  鎴� A10 鏈�鏂扮殑涓�鐗� 鍑虹墖浠诲姟
     @Override
-    public boolean selectLastOutCacheInfo() {
-        return false;
+    public List<TaskCache> selectLastOutCacheInfo(String line){
+        return taskCacheMapper.selectList(new QueryWrapper<TaskCache>().eq("endcell",line).eq("taskstauts",1).orderByDesc("ID"));
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/controller/uppattenusageController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/controller/uppattenusageController.java
new file mode 100644
index 0000000..a6e1a20
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/controller/uppattenusageController.java
@@ -0,0 +1,43 @@
+package com.mes.uppattenusage.controller;
+
+import com.mes.edgstoragecage.service.impl.EdgStorageCageDetailsServiceImpl;
+import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
+import com.mes.taskcache.service.HangzhoumesService;
+import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@RestController
+@RequestMapping("/taskCache")
+public class uppattenusageController {
+
+    @Autowired
+    private EdgStorageCageServiceImpl edgStorageCageServiceImpl;
+
+    @Autowired
+    private EdgStorageCageDetailsServiceImpl edgStorageCageDetailsServiceImpl;
+
+    @Autowired
+    private HangzhoumesService hangzhoumesService;
+
+
+    @PostMapping("/selectEdgTask") //纾ㄨ竟浠诲姟
+    @ResponseBody
+    public Result selectEdgTask(String ProcessId) {
+        List<Map> EdgTasks = hangzhoumesService.SelectEdgInfo("1");
+        return Result.build(200,"鎴愬姛",EdgTasks);
+    }
+
+}
+
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
new file mode 100644
index 0000000..dba071e
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
@@ -0,0 +1,21 @@
+package com.mes.uppattenusage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data  //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
+@TableName("`up_patten_usage`")
+public class UpPattenUsage {
+    @TableId(type = IdType.AUTO)
+    private  Integer id;//鍘熺墖浣跨敤鎯呭喌琛╥d
+    private  Integer engineeringid;//宸ョ▼鍙�
+    private  Integer filmsid;//鑶滅郴id
+    private  Double width;//瀹�
+    private  Double height;//楂�
+    private  Double thickness;//鍘氬害
+    private  Integer layoutsequence;//鍘熺墖鐗堝浘鐗囧簭
+    private  Integer state;//鐘舵��
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
new file mode 100644
index 0000000..b6efc63
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
@@ -0,0 +1,17 @@
+package com.mes.uppattenusage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+
+/**
+ * <p>
+ * Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpPattenUsageMapper extends MPJBaseMapper<UpPattenUsage> {
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
new file mode 100644
index 0000000..5083b96
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
@@ -0,0 +1,19 @@
+package com.mes.uppattenusage.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+public interface UpPattenUsageService extends IService<UpPattenUsage> {
+
+
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
new file mode 100644
index 0000000..718c4e6
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -0,0 +1,24 @@
+package com.mes.uppattenusage.service.impl;
+
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Service
+public class UpPattenUsageServiceImpl extends ServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService {
+
+}
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 9593dcd..bfda445 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -1,12 +1,16 @@
 package com.mes;
 
+import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @Author : zhoush
@@ -18,9 +22,27 @@
 @SpringBootTest(classes = CacheGlassModuleApplication.class)
 public class CacheGlassModuleApplicationTest {
 
+    @Autowired
+    EdgStorageCageServiceImpl edgStorageCageServiceImpl;
 
     @Test
     public void testFindPath() {
         log.info("瀹屾暣璺緞锛歿}", Arrays.asList("123"));
     }
+
+    @Test
+    public void testCacheGlass() {
+        List<Map> map= edgStorageCageServiceImpl.selectEdgStorageCages();
+        log.info("绗煎唴淇℃伅锛歿}", Arrays.asList(map));
+    }
+    @Test
+    public void testselectCacheEmpty() {
+        List<Map> map= edgStorageCageServiceImpl.selectCacheEmpty();
+        log.info("绗煎唴绌烘牸锛歿}", Arrays.asList(map));
+    }
+    @Test
+    public void testScan() {
+        List<Map> map= edgStorageCageServiceImpl.selectEdgStorageCages();
+        log.info("鍒囧壊褰撳墠鐗堝浘淇℃伅锛歿}", Arrays.asList(map));
+    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
index cefd469..4b53602 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
@@ -10,7 +10,14 @@
 <modelVersion>4.0.0</modelVersion>
 
 <artifactId>cacheVerticalGlass</artifactId>
+    <dependencies>
 
+        <dependency>
+            <groupId>com.github.yulichang</groupId>
+            <artifactId>mybatis-plus-join</artifactId>
+            <version>1.1.6</version>
+        </dependency>
+    </dependencies>
 <properties>
     <maven.compiler.source>8</maven.compiler.source>
     <maven.compiler.target>8</maven.compiler.target>
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
index 25bac7b..9595d77 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java
@@ -2,12 +2,10 @@
 
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.service.BigStorageCageService;
-import com.mes.utils.Result;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
@@ -15,13 +13,13 @@
 
 /**
  * <p>
- * 澶х悊鐗囩淇℃伅
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
  * @since 2024-03-27
  */
-@ApiModel("澶х悊鐗囩淇℃伅")
+@ApiModel("鐞嗙墖绗间俊鎭�")
 @RestController
 @RequestMapping("/bigStorageCage")
 public class BigStorageCageController {
@@ -29,20 +27,17 @@
     @Autowired
     private BigStorageCageService bigStorageCageService;
 
-//    public Result<BigStorageCageDetails> feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails){
-//
-//    }
+    //todo: 瀹炰緥浠g爜 寰呭垹闄�
+    @ApiOperation("娴嬭瘯")
+    @GetMapping("/index")
+    public String index() {
+        return "hello world";
+    }
 
     @ApiOperation("鐞嗙墖绗间俊鎭�")
     @GetMapping("/bigStorageCage")
-    public Result<List<BigStorageCage>> querybigStorageCageDetail() {
-        return Result.success(bigStorageCageService.querybigStorageCageDetail());
+    public List<BigStorageCage> querybigStorageCageDetail() {
+        return bigStorageCageService.querybigStorageCageDetail();
     }
 
-    @ApiOperation("鎵嬪姩瀹屾垚浠诲姟")
-    @PostMapping("/finishTask")
-    public Result<String> finishTask(int type, int id) {
-        //    bigStorageCageDetailsService.FinishTask();
-        return Result.success("success");
-    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
index 7d2bbdc..c4c9f4c 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java
@@ -2,14 +2,13 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
-
 /**
  * <p>
- *
+ * 
  * </p>
  *
  * @author zhoush
@@ -24,8 +23,8 @@
     /**
      * 澶х悊鐗囩璇︽儏琛╥d
      */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+      @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
 
     /**
      * 璁惧id
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
index 493a805..d5e380f 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
+import feign.Param;
 
 
 /**
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
index 491261d..2b18a23 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java
@@ -4,6 +4,7 @@
 import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.entity.GlassInfo;
 
 import java.util.List;
 
@@ -17,7 +18,7 @@
  */
 public interface BigStorageCageService extends IService<BigStorageCage> {
 
-    void updateRemainWidth(int slot);
+    void updateRemainWidth(int Slot);
 
     BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails);
 
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 00f8430..6956b36 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
@@ -1,6 +1,7 @@
 package com.mes.bigstorage.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.bigstorage.entity.BigStorageCage;
@@ -9,7 +10,10 @@
 import com.mes.bigstorage.mapper.BigStorageCageMapper;
 import com.mes.bigstorage.service.BigStorageCageService;
 import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
 import lombok.extern.slf4j.Slf4j;
+import com.mes.glassinfo.entity.GlassInfo;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
@@ -31,94 +35,119 @@
 @Service
 @Slf4j
 public class BigStorageCageServiceImpl extends ServiceImpl<BigStorageCageMapper, BigStorageCage> implements BigStorageCageService {
+    @Resource
+    private BigStorageCageMapper bigStorageCageMapper;
 
     @Resource
     private BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
 
+    @Resource
+    private TemperingGlassInfoService temperingGlassInfoService;
+
     @Override
     public BigStorageCageDetails feedGlass(GlassInfo glassInfo, BigStorageCageDetails bigStorageCageDetails) {
 
-        //1銆佹煡璇㈢悊鐗囩鍐呯幓鐠冪墖搴忕瓑浜庡綋鍓嶇幓鐠冪墖搴�-1鐨勭幓鐠�
+        log.info("1銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠�");
         LambdaQueryWrapper<BigStorageCageDetails> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(BigStorageCageDetails::getTemperingLayoutId, glassInfo.getTemperingLayoutId())
                 .eq(BigStorageCageDetails::getTemperingFeedSequence, glassInfo.getTemperingFeedSequence() + 1);
+        BigStorageCageDetails layoutSlotInfo;
+        layoutSlotInfo= bigStorageCageDetailsMapper.selectOne(wrapper);
 
-        BigStorageCageDetails layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(wrapper);
         BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
-        bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
 
-        //2銆佹湁绗﹀悎鏉′欢鐨勬牸瀛愭椿鐗囧簭涓�1鏃�
-        log.info("鏈夌鍚堟潯浠剁殑鏍煎瓙娲荤墖搴忎负1鏃�");
+        log.info("2銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓嶄负绌烘椂");
         if (layoutSlotInfo.getSlot() != null) {
             bigStorageCageDetails.setSlot(layoutSlotInfo.getSlot());
         } else {
-            //鑾峰彇涓嶅埌鏃讹細
-//            LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
-//            BigStorageCageDetailslambdaQueryWrapper
-//                    .select(BigStorageCageDetails::getTemperingLayoutId)
-//                    .groupBy(BigStorageCageDetails::getTemperingLayoutId);
-//            List<Map<String, Object>> temperingLayoutIdList= bigStorageCageDetailsMapper.selectMaps(BigStorageCageDetailslambdaQueryWrapper);
-//            for (Map<String, Object> map : temperingLayoutIdList) {
-//                for (Map.Entry<String, Object> entry : map.entrySet()) {
-//                    String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-'));
-//                    String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
-//                    if(suffix.equals(entry.getValue())){
-//
-//                    }
-//                }
-//            }
+            log.info("3銆佹煡璇㈢悊鐗囩鍐呯墖搴�+1绛変簬褰撳墠鐜荤拑鐗囧簭鐨勭幓鐠冪殑缁撴灉涓虹┖鏃惰幏鍙栧綋鍓嶇幓鐠冪増鍥緄d鏄惁瀛樺湪鐞嗙墖绗煎唴");
+            LambdaQueryWrapper<BigStorageCageDetails> BigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
+            BigStorageCageDetailslambdaQueryWrapper
+                    .select(BigStorageCageDetails::getTemperingLayoutId);
+            layoutSlotInfo = bigStorageCageDetailsMapper.selectOne(BigStorageCageDetailslambdaQueryWrapper);
 
+            if(layoutSlotInfo != null){
+                log.info("4銆佽幏鍙栫瀛愬唴閫傚悎鐨勬牸瀛�");
+                BigStorageCage bigStorageCage=bigStorageCageSlot(layoutSlotInfo.getDeviceId());
+                bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
+            }else{
+                log.info("5銆佽幏鍙栨瘡涓瀛愮増鍥緄d鐨勪釜鏁�");
+                QueryWrapper<BigStorageCageDetails> queryWrapper = new QueryWrapper<>();
+                queryWrapper.select("a.device_id", "COUNT(DISTINCT b.tempering_layout_id) AS layoutCount")
+                        .groupBy("a.device_id")
+                        .apply("LEFT JOIN (SELECT device_id, tempering_layout_id FROM big_storage_cage_details) b ON a.device_id = b.device_id AND a.slot = b.slot")
+                        .orderByAsc("layoutCount")
+                        .orderByAsc("a.device_id");
+                List<Map<String, Object>> BigStorageCageDetailsCount= bigStorageCageDetailsMapper.selectMaps(queryWrapper);
 
-            //鑾峰彇鍙繘鐗囨牸瀛愪俊鎭�
-//            BigStorageCageDetails EmptySlotInfo = bigStorageCageMapper.selectEmptyFeedSlot();
-//            if (EmptySlotInfo != null) {
-//                bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
-//            } else {
-//                //鑾峰彇鍏朵粬绗兼牸瀛�-
-//                BigStorageCageDetails OtherSlotInfo = bigStorageCageMapper.selectOtherFeedSlot();
-//                bigStorageCageDetails.setSlot(OtherSlotInfo.getSlot());
-//            }
-            //灏嗙幓鐠冧俊鎭斁鍏ヨ鏍煎瓙
-
+                log.info("5銆佹煡璇㈢瀛愬唴鏄惁鏈夊悎閫傜殑鏍煎瓙");
+                for (Map<String, Object> map : BigStorageCageDetailsCount) {
+                    for (Map.Entry<String, Object> entry : map.entrySet()) {
+                        int deviceId = Integer.parseInt(entry.getKey());
+                        BigStorageCage bigStorageCage=bigStorageCageSlot(deviceId);
+                        if(bigStorageCage!=null){
+                            bigStorageCageDetails.setSlot(bigStorageCage.getSlot());
+                        }
+                    }
+                }
+            }
         }
+        log.info("6銆佸綋鎵惧埌鍚堥�傜殑鏍煎瓙鏃舵坊鍔犵幓鐠冨埌绗煎瓙琛�");
         if (bigStorageCageDetails.getSlot() != null) {
+            bigStorageCageDetails.setState(0);
             bigStorageCageDetailsMapper.insert(bigStorageCageDetails);
-            updateRemainWidth(bigStorageCageDetails.getSlot());
+            updateRemainWidth(bigStorageCageDetails.getSlot()) ;
         }
         return bigStorageCageDetails;
     }
 
+    //鑾峰彇绗煎瓙鍐呯殑绌烘牸瀛�
+    private BigStorageCage bigStorageCageSlot(Integer deviceId) {
+        LambdaQueryWrapper<BigStorageCage> bigStorageCageWrapper=new LambdaQueryWrapper<>();
+                bigStorageCageWrapper
+                        .eq(BigStorageCage::getRemainWidth,"5000")
+                        .eq(BigStorageCage::getEnableState,"0")
+                        .eq(BigStorageCage::getDeviceId,deviceId)
+                        .orderByAsc(BigStorageCage::getSlot)
+                        .last("LIMIT 1");
+                return bigStorageCageMapper.selectOne(bigStorageCageWrapper);
+    }
+
+
     @Override
     public boolean outGlass() {
-//        // 1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�
-//        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.SelectTemperingGlassInfo();
-//        //娌℃湁鍙嚭鐨勭幓鐠冩椂
-//        if (temperingGlassInfoList != null) {
-//            //鏌ヨ鏄惁鏈夊皬鐗囧叏閮ㄥ埌榻愮殑閽㈠寲鐗堝浘
-//        } else {
-//            //缁х画褰撳墠閽㈠寲鐗堝浘鐨勪换鍔�
-//        }
-        LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
-        bigStorageCageDetailslambdaQueryWrapper
-                .select(BigStorageCageDetails::getTemperingLayoutId)
-                .groupBy(BigStorageCageDetails::getTemperingLayoutId);
-        List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(bigStorageCageDetailslambdaQueryWrapper);
-        for (Map<String, Object> map : temperingLayoutIdList) {
-            for (Map.Entry<String, Object> entry : map.entrySet()) {
-                String prefix = entry.getKey().substring(0, entry.getKey().indexOf('-'));
-                String suffix = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
-                if (suffix.equals(entry.getValue())) {
+        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.list();
+        log.info("1銆佹煡璇㈤挗鍖栧皬鐗囦换鍔¤〃鏄惁鏈夊緟鍑虹幓鐠�"+temperingGlassInfoList.size());
 
+        if(temperingGlassInfoList!=null){
+            temperingGlassInfoService.addOutTask(temperingGlassInfoList);
+            log.info("2銆佹坊鍔犱换鍔″埌浠诲姟琛�");
+            return true;
+        }else{
+            log.info("3銆佹病鏈夊彲鍑虹殑鐜荤拑鏃惰幏鍙栨槸鍚︽湁灏忕墖鍒伴綈鐨勭増鍥�");
+            LambdaQueryWrapper<BigStorageCageDetails> bigStorageCageDetailslambdaQueryWrapper = new LambdaQueryWrapper<>();
+            bigStorageCageDetailslambdaQueryWrapper
+                    .select(BigStorageCageDetails::getTemperingLayoutId)
+                    .groupBy(BigStorageCageDetails::getTemperingLayoutId);
+            List<Map<String, Object>> temperingLayoutIdList = bigStorageCageDetailsMapper.selectMaps(bigStorageCageDetailslambdaQueryWrapper);
+            for (Map<String, Object> map : temperingLayoutIdList) {
+                for (Map.Entry<String, Object> entry : map.entrySet()) {
+                    String layoutId = entry.getKey().substring(0, entry.getKey().indexOf('-'));
+                    String layoutNum = entry.getKey().substring(entry.getKey().indexOf('-') + 1);
+                    if (layoutNum.equals(entry.getValue())) {
+                        //4銆佹坊鍔犳閽㈠寲鐗堝浘id鎵�鏈夊皬鐗囧皬鐗囧埌閽㈠寲灏忕墖琛�
+                        return false;
+                    }
                 }
             }
         }
-        return true;
+        return false;
     }
 
-    //淇敼鏍煎瓙鍓╀綑瀹藉害
+    //璁$畻鏍煎瓙鍓╀綑瀹藉害
     @Override
     public void updateRemainWidth(int slot) {
-        //鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅
+        log.info("鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅锛岃绠楁牸瀛愬墿浣欏搴�");
         Integer width = 5000;
         List<BigStorageCageDetails> bigStorageCageDetailsList = Collections.singletonList(bigStorageCageDetailsMapper.selectById(slot));
         for (BigStorageCageDetails bigStorageCageDetails : bigStorageCageDetailsList
@@ -130,13 +159,13 @@
         bigStorageCage.setRemainWidth(width);
         UpdateWrapper<BigStorageCage> bigStorageCageWrapper = new UpdateWrapper<>();
         bigStorageCageWrapper.eq("remain_width", width);
-        baseMapper.update(bigStorageCage, bigStorageCageWrapper);
+        bigStorageCageMapper.update(bigStorageCage, bigStorageCageWrapper);
     }
 
     @Override
     public List<BigStorageCage> querybigStorageCageDetail() {
         //1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭�
-        List<BigStorageCage> bigStorageCages = baseMapper.selectList(null);
+        List<BigStorageCage> bigStorageCages = bigStorageCageMapper.selectList(null);
         log.info("1銆佽幏鍙栧ぇ鐞嗙墖绗间俊鎭畬鎴愶紝鑾峰彇鍒扮殑鏁版嵁{}", bigStorageCages.size());
         //2鑾峰彇鐞嗙墖绗兼墍鏈変俊鎭�
         List<BigStorageCageDetails> bigStorageCageDetailsList = bigStorageCageDetailsMapper.selectList(null);
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java
index 88191c8..1330b54 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java
@@ -1,6 +1,8 @@
 package com.mes.userinfo.controller;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mes.bigstorage.entity.BigStorageCage;
 import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
 import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
 import io.swagger.annotations.ApiModel;
@@ -8,13 +10,14 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -27,7 +30,6 @@
 
     @Autowired
     private BigStorageCageOutTaskService bigStorageCageOutTaskService;
-
     @ApiOperation("杩涚墖浠诲姟淇℃伅")
     @GetMapping("/querybigStorageCageTask")
     public List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
index aeec964..a9f3743 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageFeedTask.java
@@ -2,14 +2,13 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
-
 /**
  * <p>
- *
+ * 
  * </p>
  *
  * @author zhoush
@@ -22,7 +21,7 @@
     private static final long serialVersionUID = 1L;
 
       @TableId(value = "id", type = IdType.AUTO)
-      private Integer id;
+    private Long id;
 
     private Integer tragetSlot;
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
index 191264b..ffbb1d7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
@@ -2,14 +2,13 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
-
 /**
  * <p>
- *
+ * 
  * </p>
  *
  * @author zhoush
@@ -22,7 +21,7 @@
     private static final long serialVersionUID = 1L;
 
       @TableId(value = "id", type = IdType.AUTO)
-      private Integer id;
+    private Long id;
 
     private Integer startSlot;
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
index 5d5b982..2e10a4d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
@@ -1,7 +1,7 @@
 package com.mes.bigstoragetask.service;
 
-import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
+import com.baomidou.mybatisplus.extension.service.IService;
 
 import java.util.List;
 
@@ -16,4 +16,8 @@
 public interface BigStorageCageOutTaskService extends IService<BigStorageCageOutTask> {
 
     List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState);
+
+    void updateOutTask();
+
+    void deleteOutTask(Long taskId);
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
index 6da110b..82e77bf 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
@@ -7,8 +7,10 @@
 import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
 import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import net.bytebuddy.matcher.FilterableList;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
index 5c54a59..c06a427 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
@@ -1,29 +1,60 @@
 package com.mes.bigstoragetask.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
 import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
 import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
 import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.List;
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-04-16
  */
+@Slf4j
 @Service
 public class BigStorageCageOutTaskServiceImpl extends ServiceImpl<BigStorageCageOutTaskMapper, BigStorageCageOutTask> implements BigStorageCageOutTaskService {
 
+    @Resource
+    TemperingGlassInfoMapper temperingGlassInfoMapper;
+    @Resource
+    BigStorageCageOutTaskMapper bigStorageCageOutTaskMapper;
+    @Resource
+    BigStorageCageDetailsMapper bigStorageCageDetailsMapper;
     @Override
-    public List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState) {
-        LambdaQueryWrapper<BigStorageCageOutTask> getOutTaskWrapper = new LambdaQueryWrapper<>();
-        getOutTaskWrapper.eq(BigStorageCageOutTask::getTaskState, taskState);
+    public List<BigStorageCageOutTask> querybigStorageCageOutTask(int taskState){
+        log.info("鏍规嵁浼犲叆鐨勪换鍔$姸鎬佹煡璇换鍔′俊鎭細"+taskState);
+        LambdaQueryWrapper<BigStorageCageOutTask> getOutTaskWrapper=new LambdaQueryWrapper<>();
+        getOutTaskWrapper.eq(BigStorageCageOutTask::getTaskState,taskState);
         return baseMapper.selectList(getOutTaskWrapper);
     }
+
+    @Override
+    public void updateOutTask(){
+        List<BigStorageCageOutTask> bigStorageCageOutTaskList=querybigStorageCageOutTask(1);
+        log.info("鏌ヨ浠诲姟琛ㄦ槸鍚︽湁宸插畬鎴愮殑鍑虹墖浠诲姟"+bigStorageCageOutTaskList.size());
+        for (BigStorageCageOutTask bigStorageCageOutTask:bigStorageCageOutTaskList
+        ) {
+            deleteOutTask(bigStorageCageOutTask.getId());
+        }
+    }
+
+    @Override
+    public void deleteOutTask(Long taskId){
+        log.info("鏍规嵁浠诲姟id淇敼閽㈠寲灏忕墖琛ㄧ姸鎬侊紝鍒犻櫎宸插畬鎴愮殑鍑虹墖浠诲姟,鍒犻櫎绗煎瓙琛ㄧ幓鐠�");
+        temperingGlassInfoMapper.deleteById(taskId);
+        bigStorageCageOutTaskMapper.deleteById(taskId);
+        bigStorageCageDetailsMapper.deleteById(taskId);
+    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
index d584dec..a53fcde 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java
@@ -1,13 +1,21 @@
 package com.mes.component;
 
+import cn.hutool.json.JSONObject;
 import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
+import com.mes.edgstoragetask.service.TaskCacheService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
-import com.mes.temperingglass.service.TemperingGlassInfoService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import java.util.List;
+
+@Slf4j
 public class PlcStorageCage extends Thread {
 
     @Autowired
@@ -15,26 +23,66 @@
     @Autowired
     private BigStorageCageDetailsService bigStorageCageDetailsService;
     @Autowired
-    private TemperingGlassInfoService temperingGlassInfoService;
-    @Autowired
     private GlassInfoService glassInfoService;
+    @Autowired
+    private BigStorageCageFeedTaskService bigStorageCageFeedTaskService;
+    @Autowired
+    private BigStorageCageOutTaskService bigStorageCageOutTaskService;
+    @Autowired
+    private TaskCacheService taskCacheService;
 
     @Override
     public void run() {
         while (this != null) {
+            JSONObject jsonObject = new JSONObject();
             try {
-                Thread.sleep(500);
-                String plcFeedReq = "0";
-                String plcFeedGlassid = "111";
-                //Plc杩涚墖璇锋眰鏃�
-                if ("1".equals(plcFeedReq)) {
-                    BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
-                    //浼犲叆鐜荤拑id
-                    GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
+                Thread.sleep(300);
+                boolean bigStorageCageFullAlarm=false;
 
+                String plcD01FeedReq = "0";
+                String plcD04FeedReq = "0";
+                String plcFeedGlassid = "111";
+                String plcFeedReqLine="0";
+                if("1".equals(plcD01FeedReq)){
+                    plcFeedReqLine="1";
+                }else {
+                    //plc浠诲姟鍙戦�佸瓧0
+                }
+                if("1".equals(plcD04FeedReq)){
+                plcFeedReqLine="2";
+                }else {
+                    //plc浠诲姟鍙戦�佸瓧0
+                }
+
+                if (!("0".equals(plcFeedReqLine))) {
+                    log.info("1銆丳lc杩涚墖璇锋眰鏃�");
+                    BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
+                    GlassInfo glassInfo = glassInfoService.getById(plcFeedGlassid);
+                    log.info("2銆佹牴鎹幓鐠僫d鑾峰彇鐜荤拑淇℃伅"+glassInfo);
                     BigStorageCageDetails slotInfo = bigStorageCageService.feedGlass(glassInfo, bigStorageCageDetails);
                     if (slotInfo != null) {
-                        //plc浠诲姟鍙戦�佸瓧
+                        int taskType=taskCacheService.judgeTasktype();
+                        log.info("3銆佹煡璇换鍔¤〃鍒ゆ柇褰撳墠浠诲姟绫诲瀷涓轰笂杞︾瓑鍒拌繕鏄笂杞﹀惎鍔�"+taskType);
+                        bigStorageCageFeedTaskService.addFeedTask(slotInfo,Integer.parseInt(plcFeedReqLine),taskType);
+                        log.info("4銆佹坊鍔犱换鍔″埌浠诲姟琛�");
+                        //plc浠诲姟鍙戦�佸瓧1
+                        bigStorageCageFullAlarm=false;
+                    }else{
+                        //鐞嗙墖绗肩垎绗兼姤璀�
+                        bigStorageCageFullAlarm=true;
+                    }
+                }else{
+                    List<BigStorageCageFeedTask> bigStorageCageFeedTaskList=bigStorageCageFeedTaskService.querybigStorageCageFeedTask(1);
+                    log.info("5銆佹煡璇换鍔¤〃鏄惁鏈夊凡缁忓畬鎴愮殑杩涚墖浠诲姟"+bigStorageCageFeedTaskList.size());
+                    for (BigStorageCageFeedTask bigStorageCageFeedTask:bigStorageCageFeedTaskList
+                         ) {
+                        BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
+                        bigStorageCageDetails.setId(bigStorageCageFeedTask.getId());
+                        bigStorageCageDetails.setState(1);
+                        bigStorageCageDetailsService.updateById(bigStorageCageDetails);
+                        log.info("6銆佷慨鏀圭悊鐗囩璇︽儏鐜荤拑鐘舵��");
+                        bigStorageCageFeedTaskService.removeById(bigStorageCageFeedTask);
+                        log.info("7銆佸垹闄ゅ凡缁忓畬鎴愮殑杩涚墖浠诲姟");
                     }
                 }
 
@@ -42,15 +90,20 @@
                 String plcOutReq = "0";
                 boolean result = false;
                 if ("1".equals(plcOutReq)) {
-                    //鑾峰彇閽㈠寲灏忕墖琛ㄦ湭鍑虹淇℃伅
-
-
-                    if (result == true) {
-                        //plc浠诲姟鍙戦�佸瓧
+                    result=bigStorageCageService.outGlass();
+                    log.info("8銆佸嚭鐗囪姹傛椂璋冪敤鍑虹墖鎺ュ彛"+result);
+                    if (result) {
+                        //plc浠诲姟鍙戦�佸瓧1
                     }
+                }else{
+                    bigStorageCageOutTaskService.updateOutTask();
+                    //plc浠诲姟鍙戦�佸瓧0
                 }
 
+                //鏄剧ず鍓╀綑绌烘牸瀛�
 
+                //鎶ヨ淇℃伅
+                jsonObject.append("bigStorageCageFullAlarm", bigStorageCageFullAlarm);
             } catch (Exception e) {
                 e.printStackTrace();
             }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/entity/TaskCache.java
index 8490e9b..c307e69 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/entity/TaskCache.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/entity/TaskCache.java
@@ -1,14 +1,13 @@
 package com.mes.edgstoragetask.entity;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
-
 /**
  * <p>
- *
+ * 
  * </p>
  *
  * @author zhoush
@@ -23,8 +22,8 @@
     /**
      * ID缂栧彿
      */
-    @TableId("ID")
-    private String id;
+      @TableId("ID")
+    private Long id;
 
     /**
      * 璧峰
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index c056439..43dcc90 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -2,14 +2,13 @@
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
-import java.io.Serializable;
-
 /**
  * <p>
- *
+ * 
  * </p>
  *
  * @author zhoush
@@ -120,7 +119,7 @@
     /**
      * 宸ョ▼鍙�
      */
-    private Integer engineerId;
+    private Long engineerId;
 
     /**
      * 鐢熶骇瑙勫垯id
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
index 709c05d..3280efb 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -14,7 +14,7 @@
  * @since 2024-03-27
  */
 public interface TemperingGlassInfoService extends IService<TemperingGlassInfo> {
+
     public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList);
 
-    public List<TemperingGlassInfo> SelectTemperingGlassInfo();
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index 6d59152..4e4b1c8 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -1,9 +1,11 @@
 package com.mes.temperingglass.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.mapper.TemperingGlassInfoMapper;
 import com.mes.temperingglass.service.TemperingGlassInfoService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -16,26 +18,30 @@
  * @author zhoush
  * @since 2024-03-27
  */
+@Slf4j
 @Service
 public class TemperingGlassInfoServiceImpl extends ServiceImpl<TemperingGlassInfoMapper, TemperingGlassInfo> implements TemperingGlassInfoService {
 
     @Override
     public void addOutTask(List<TemperingGlassInfo> temperingGlassInfoList) {
-        double carwidth = 5000;
-        double gay = 50;
+        double carWidth=5000;
+        double gap=50;
         //鍐欏叆浠诲姟鍒颁换鍔¤〃
-        for (TemperingGlassInfo temperingGlassInfo : temperingGlassInfoList
+        for (TemperingGlassInfo temperingGlassInfo:temperingGlassInfoList
         ) {
-            if ((carwidth - gay - temperingGlassInfo.getWidth()) > 0) {
-                //娣诲姞浠诲姟鍒颁换鍔¤〃
-            } else {
+            log.info("1銆佸綋鍑虹墖杞﹀搴﹀ぇ浜庣幓鐠冨搴︽椂");
+            if((carWidth-temperingGlassInfo.getWidth())>0){
+                carWidth-=temperingGlassInfo.getWidth()-gap;
+                log.info("2銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�");
+                temperingGlassInfo.setState(1);
+                baseMapper.updateById(temperingGlassInfo);
+                log.info("3銆佹坊鍔犲垰灏忕墖琛ㄤ俊鎭埌浠诲姟琛�");
+                BigStorageCageOutTask bigStorageCageOutTask =new BigStorageCageOutTask();
+                bigStorageCageOutTask.setId(temperingGlassInfo.getId());
+            }else{
                 break;
             }
         }
     }
 
-    @Override
-    public List<TemperingGlassInfo> SelectTemperingGlassInfo() {
-        return null;
-    }
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index f1da52d..29a0efb 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,15 +3,10 @@
 
 spring:
   datasource:
-    dynamic:
-      primary: hangzhoumes #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
-      strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
-      datasource:
-        hangzhoumes:
-          url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8
-          username: root
-          password: beibo.123/
-          driver-class-name: com.mysql.cj.jdbc.Driver
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://10.153.19.150:3306/hangzhoumes?serverTimezone=GMT%2b8&characterEncoding=utf-8&useSSL=false
+    username: root
+    password: beibo.123/
   cloud:
     nacos:
       discovery:
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
index 1108e41..9a4e2c8 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java
@@ -35,16 +35,16 @@
         return Result.build(200, "", glass);
     }
 
-
     //鏂板宸ヤ綅淇℃伅淇敼涓�鏉″伐浣嶄俊鎭�,鎺ユ敹瀹炰緥绫诲瓧娈典负瀹介珮鍘氳啘绯绘暟閲忓伐浣峣d
     //鍒犻櫎宸ヤ綅淇℃伅涔熺敤杩欎釜,闄や簡宸ヤ綅id鐜荤拑淇℃伅浼爊ull
+    @ApiOperation("淇敼宸ヤ綅琛ㄥ鍔犵幓鐠冧俊鎭垨鑰呭垹闄ょ幓鐠冧俊鎭�")
     @PostMapping("/updateGlassMessage")
     @ResponseBody
     public void updateGlassMessage(@RequestBody UpWorkstation upwork) {
         upWorkstationService.updateGlassMessage(upwork);
     }
 
-
+    @ApiOperation("寮�濮嬩笂鐗囦换鍔�")
     @PostMapping("/selectPriority") //寮�濮嬩笂鐗囦换鍔�
     @ResponseBody
     public void selectPriority() {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java
index 3e0b335..78ccdb5 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java
@@ -120,7 +120,7 @@
     /**
      * 宸ョ▼鍙�
      */
-    private Integer engineerId;
+    private Long engineerId;
 
     /**
      * 鐢熶骇瑙勫垯id
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
index 5731173..1a5e695 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java
@@ -18,4 +18,5 @@
 public interface UpWorkstationMapper extends BaseMapper<UpWorkstation> {
 
     List<UpWorkSequence> selectPriority(@Param("id") int id);
+
 }
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
index 7a03568..f489ca1 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/UpWorkstationService.java
@@ -19,11 +19,14 @@
     //鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
 
     //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
-    public void selectPriority() ;
+    public void selectPriority();
+
+    //鏌ヨ姝e湪杩涜鐨勫伐绋�
 
 
     /**
      * 澧炲姞浜哄伐杈撳叆鐨勫伐浣嶇幓鐠冧俊鎭�
+     *
      * @param upwork
      */
     void updateGlassMessage(UpWorkstation upwork);
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
index 7578046..9e67249 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/service/impl/UpWorkstationServiceImpl.java
@@ -6,6 +6,7 @@
 import com.mes.workstation.entity.UpWorkstation;
 import com.mes.workstation.mapper.UpWorkstationMapper;
 import com.mes.workstation.service.UpWorkstationService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,16 +18,20 @@
  * @since 2024-04-07
  */
 @Service
+@Slf4j
 public class UpWorkstationServiceImpl extends ServiceImpl<UpWorkstationMapper, UpWorkstation> implements UpWorkstationService {
 
     public static final String DB_100_10 = "DB_100_10";
 
     //鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
     public boolean isCanLoadGlass() {
-        String loadstart="鍚哥墖淇″彿";//plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
+        String loadstart = "鍚哥墖淇″彿";//plcmes.getPlcParameter("鍚哥墖淇″彿").getValue();
         return "1".equals(loadstart);
 
     }
+    //鏄剧ず姝e湪杩涜浠诲姟鐨勫伐绋嬩俊鎭�
+
+
     //鍒ゆ柇浼樺厛鍚哥墖浣嶇疆鍚庡彂閫佸嚭鐗囦换鍔�
     public void selectPriority() {
         //todo:鍒ゆ柇鏄惁鍙互鍚哥墖杩涜浠诲姟
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
index f37361a..40a5d0b 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java
@@ -24,7 +24,7 @@
     /**
      * 涓嬬墖鐜荤拑淇℃伅琛╥d
      */
-    private int id;
+    private Long id;
 
     /**
      * 娴佺▼鍗″彿
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
index 9f354d8..ef7ffd5 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java
@@ -25,7 +25,7 @@
      * id
      */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
      * 璧峰
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
index 88549e7..491e990 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
@@ -17,11 +17,11 @@
 
     List<DownGlassTask> getUnloadingTaskState();
 
-    void updateTaskStateToZero(String flowCardId, int state);
+    void updateTaskStateToZero(String flowCardId);
 
     void deleteTask(String flowCardId);
 
     DownGlassTask selectLastOutCacheInfo(String endCell);
 
-    Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId);
+    Integer insertCacheTask(long id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index a3a480e..579d8f7 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -32,7 +32,7 @@
     }
 
     @Override
-    public void updateTaskStateToZero(String flowCardId,int state) {
+    public void updateTaskStateToZero(String flowCardId) {
         UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
         updateWrapper.set("task_stauts", 0).eq("flow_card_id", flowCardId);
         baseMapper.update(null, updateWrapper);
@@ -58,7 +58,7 @@
     }
 
     @Override
-    public Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId) {
+    public Integer insertCacheTask(long id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId) {
         DownGlassTask glassInfo = new DownGlassTask();
         glassInfo.setId(id);
         glassInfo.setStartCell(start);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
index 6924879..0b24e21 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java
@@ -34,7 +34,7 @@
     private static final int START_VALUE = 0;
     private static final int END_VALUE = 5;
     @GetMapping("/leisure2")
-    public List<Map> getLeisureData2() {
+    public List<DownStorageCageDetails> getLeisureData2() {
         // 璋冪敤Service灞傝幏鍙栨暟鎹�
         return downStorageCageService.getCacheOut(START_VALUE, END_VALUE);
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
index 32aba4d..4cc400f 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java
@@ -25,7 +25,7 @@
      * 涓嬬墖鍓嶇悊鐗囩鏄庣粏琛╥d
      */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
      * 璁惧id
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
index 65ab280..132d1fe 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java
@@ -33,9 +33,7 @@
     private DownStorageCageService downStorageCageService;
     private DownGlassTaskService downGlassTaskService;
 
-    /**
-     * @param Number //璇嗗埆閫昏緫    涓嶄氦浜�
-     */
+
 
 //    public void identify(String Number) {
 //        //鏌ヨ浠诲姟
@@ -89,15 +87,15 @@
         //瀛樺湪姝ょ幓鐠冪紪鍙�
         if (GlassInfo != null) {
             //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿    鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸
-            List<DownStorageCageDetails> list = selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(), GlassInfo.getTemperingFeedSequence(), GlassInfo.getWidth());
+            List<DownStorageCageDetails> list = downStorageCageService.getIsExistIntoCacheByLayoutAndSequence(GlassInfo.getTemperingLayoutId(), GlassInfo.getTemperingFeedSequence(), GlassInfo.getWidth());
             //绌烘爡鏍煎彿
             if (list.size() == 0) {
                 //鏌ヨ绗煎瓙鍐呯┖闂�
-                list = selectInfo.SelectCacheLeisure();
+                list = downStorageCageService.getCacheLeisure();
             }
             //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
             if (list.size() == 0) {
-                list = selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(), GlassInfo.getWidth());
+                list = downStorageCageService.getIsExistIntoCacheByLayout(GlassInfo.getTemperingLayoutId(), GlassInfo.getWidth());
             }
             if (list.size() > 0) {
                 //瀛樺湪绌烘牸  
@@ -125,7 +123,7 @@
         String G11 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
         String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
         PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
-        log.println("666"); ;
+
         List<DownStorageCageDetails> list = selectInfo.SelectCacheOut(1, 5);
         List<DownStorageCageDetails> list2 = selectInfo.SelectCacheOut(6, 10);
         List<DownStorageCageDetails> list3 = selectInfo.SelectCacheOut(1, 10);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
index d491650..f54c837 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downstorage.entity.DownStorageCage;
+import com.mes.downstorage.entity.DownStorageCageDetails;
 
 import java.util.List;
 import java.util.Map;
@@ -18,10 +19,10 @@
     public List<Map> gettask();
 
     //    List<Map<String, Object>> selectCacheLeisure();
-    List<Map> getCacheLeisure();
-    List<Map> getCacheOut(int start, int end);
+    List<DownStorageCageDetails> getCacheLeisure();
+    List<DownStorageCageDetails> getCacheOut(int start, int end);
     List<Map> getCacheInfo();
-    List<Map> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width);
-    List<Map> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width);
+    List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width);
+    List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width);
 
 }
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 4b4dfab..e1cdd23 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
@@ -4,19 +4,15 @@
 import com.mes.downstorage.entity.DownStorageCage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.downstorage.entity.DownStorageCageDetails;
-import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
-import java.util.Collections;
-import java.util.Comparator;
+
 /**
  * <p>
  *  鏈嶅姟瀹炵幇绫�
@@ -40,17 +36,18 @@
 
 
     @Override
-    public List<Map> getCacheLeisure() {
+    public List<DownStorageCageDetails> getCacheLeisure() {
         log.info(" 鏌ヨ绗煎瓙鍐呯┖闂�");
-        List<Map> map = downStorageCageMapper.selectJoinList(
-                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                         .select("escd.*")
                         .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                         .isNull("escd.slot")
                         .orderByAsc("escd.slot")
         );
-        return map;
+        return list;
     }
+
 
 //    @Override
 //    public List<Map> getCacheOut(int start, int end) {
@@ -72,31 +69,23 @@
 
 
     @Override
-    public List<Map> getCacheOut(int start, int end) {
+    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
         log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
-        List<Map> map = downStorageCageMapper.selectJoinList(
-                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                         .select("escd.*")
                         .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                         .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+                        .leftJoin("glass_info gi on dw.flow_card_id = gi.flowcard_id  and gi.flowcard_id=escd.flow_card_id ")
                         .isNotNull("escd.slot")
                         .between("dw.workstation_id", start, end)
-                        .orderByAsc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+                        .orderByDesc("gi.width, gi.height, escd.tempering_layout_id")
         );
-
-        // 瀵硅幏鍙栫殑鏁版嵁鍒楄〃鎸夌収瀹藉害杩涜鎺掑簭
-        Collections.sort(map, new Comparator<Map>() {
-            @Override
-            public int compare(Map o1, Map o2) {
-                // 鑾峰彇瀹藉害骞舵瘮杈�
-                double width1 = (double) o1.get("width");
-                double width2 = (double) o2.get("width");
-                return Double.compare(width2, width1);
-            }
-        });
-
-        return map;
+        return list;
     }
+
+
+
 
 
     @Override
@@ -112,12 +101,11 @@
     }
 
     @Override
-    public List<Map> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
+    public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
         log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸");
 
-
-        List<Map> map = downStorageCageMapper.selectJoinList(
-                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                         .select("escd.*")
                         .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                         .isNotNull("escd.slot")
@@ -126,24 +114,28 @@
                         .gt("t.remain_width", width)
                         .orderByAsc("escd.tempering_feed_sequence")
         );
-        return map;
+        return list;
     }
 
     @Override
-    public List<Map> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
-        List<Map> map = downStorageCageMapper.selectJoinList(
-                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+    public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
+        log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿");
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
                         .select("escd.*")
                         .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
                         .isNotNull("escd.slot")
                         .lt("escd.tempering_layout_id", tempering_layout_id)
-                        .gt("t.remain_width", width)
+                        // 鏉′欢 t.remain_width - width > 0
+                        .apply("t.remain_width - " + width + " > 0")
                         .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
         );
-        return map;
+        return list;
     }
 
 
 
 
+
+
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
index 6fdd959..adb87cf 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java
@@ -25,7 +25,7 @@
      * id
      */
     @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    private Long id;
 
     /**
      * 瀹�
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
index 7ea66c7..e5e7e87 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java
@@ -74,7 +74,7 @@
 
                 downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
                 //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
-                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId(),downGlassInfo.getId());
+                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId());
 
                 sequence++; // 閫掑椤哄簭瀛楁鍊�
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
new file mode 100644
index 0000000..f64b4b3
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -0,0 +1,54 @@
+package mes;
+
+import com.mes.UnLoadGlassApplication;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.service.impl.DownStorageCageServiceImpl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/27 16:37
+ * @Description:
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = UnLoadGlassApplication.class)
+public class UnloadGlassModuleApplicationTest {
+
+    @Autowired
+    DownStorageCageServiceImpl downStorageCageServiceImpl;
+
+    @Test
+    public void testFindPath() {
+        log.info("瀹屾暣璺緞锛歿}", Arrays.asList("123"));
+    }
+
+    @Test
+    public void testCacheGlass() {
+        List<Map> map= downStorageCageServiceImpl.getCacheInfo();
+        log.info("绗煎唴淇℃伅锛歿}", Arrays.asList(map));
+    }
+    @Test
+    public void testselectCacheEmpty() {
+        List<DownStorageCageDetails> map= downStorageCageServiceImpl.getCacheLeisure();
+        log.info("绗煎唴绌烘牸锛歿}", Arrays.asList(map));
+    }
+
+
+    @Test
+    public void testgetCacheOut() {
+        List<DownStorageCageDetails> map= downStorageCageServiceImpl.getCacheOut(1,5);
+        log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗囷細{}", Arrays.asList(map));
+    }
+
+}

--
Gitblit v1.8.0