From ad28331c1e3ed456b72765874b41b83b49dc279f Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期四, 18 四月 2024 14:44:11 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java                     |    6 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json                                                       |  740 +++---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java                     |   13 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java                                                                         |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                           |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java                                           |  215 
 UI-Project/src/views/LoginView.vue                                                                                                                |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java                                                       |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java                                            |   12 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterInfo.java                                               |  157 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitObject.java                                                   |   11 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java          |    3 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java                                                           |  152 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/BigStorageCageDetails.java                       |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java                               |  313 +-
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java                                           |   24 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java                                               |    1 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java                                 |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java                                               |    5 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java                                  |    7 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java                    |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java             |  139 
 UI-Project/src/assets/dlpl.png                                                                                                                    |    0 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java                                                                     |    5 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/UpWorkstationMapper.java                                 |    1 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java                                   |  131 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java                                      |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java                  |   11 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java                 |   17 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/GlassInfo.java                                           |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java                                                      |    8 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java         |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java                                                     |   10 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java                           |    3 
 hangzhoumesParent/moduleService/pom.xml                                                                                                           |   10 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/component/PlcStorageCage.java                                      |   87 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java              |    2 
 UI-Project/src/views/Identify/identify.vue                                                                                                        |   84 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java                              |  112 
 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                  |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json                                                       |  568 ++--
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java                                                       |  123 
 hangzhoumesParent/readMe.md                                                                                                                       |   17 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java                                                              |    2 
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                              |  349 --
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java                       |   22 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java              |   21 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java                           |    5 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java                                     |   10 
 UI-Project/src/assets/cp.png                                                                                                                      |    0 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java            |   17 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java                  |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java                   |    7 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java                                        |   22 
 UI-Project/config.js                                                                                                                              |    3 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java                          |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml                                                       |   13 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java                                                   |    5 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java                                         |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java                             |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java                  |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java                               |    7 
 UI-Project/src/views/Slicecage/slicecage.vue                                                                                                      |  285 -
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java                                  |   38 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageService.java                      |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java                                   |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/edgstoragetask/entity/TaskCache.java                               |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml                                                 |   23 
 hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java                                                        |   33 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java                                       |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java                    |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java                          |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java                                                |   14 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java                              |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java  |   39 
 UI-Project/src/views/Returns/returns.vue                                                                                                          |  174 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java             |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java                        |    4 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java           |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassInfo.java                                   |    7 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java     |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java                                                    |   16 
 TemperingGlassModule/MES-Module (1).iml                                                                                                           |  134 -
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java                             |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java                                         |   39 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java                                     |    5 
 hangzhoumesParent/moduleService/LoadGlassModule/pom.xml                                                                                           |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                                            |    4 
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml                                                          |   24 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java     |   22 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                                           |    4 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java                                                               |   11 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java                                             |    7 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java                     |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java                      |   14 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java                                                                 |   16 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json                                           |  414 +++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstationTask.java                           |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCageDetails.java                            |    9 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java                                                         |   69 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java                                                |   66 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml                                       |    5 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java                             |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java                       |    5 
 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                      |    8 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java                                    |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/controller/UpWorkstationController.java                         |    7 
 UI-Project/src/assets/dlpla.png                                                                                                                   |    0 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java                                          |   16 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageMapper.java                            |    2 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java                                   |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/entity/DownGlassTask.java                                   |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json                                                        |  754 +++---
 hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml                                                                                         |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java                          |    3 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java                 |    1 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java                                  |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java           |    2 
 UI-Project/src/layout/MainErpView.vue                                                                                                             |  191 
 hangzhoumesParent/moduleService/CacheGlassModule/pom.xml                                                                                          |    1 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java                                   |    3 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterObject.java                                             |   67 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java                     |    6 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java                               |   35 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java                         |   15 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java                                                                    |   25 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java                                                     |  188 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java                     |    2 
 UI-Project/src/utils/request.js                                                                                                                   |    2 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java                                                                 |  112 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/controller/OptimizeProjectController.java                                           |   20 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageController.java                |   25 
 hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml                                                                                      |    2 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java                   |    2 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java                             |    2 
 hangzhoumesParent/common/servicebase/pom.xml                                                                                                      |    7 
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java                                                        |    2 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java                  |    2 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java                                    |   12 
 TemperingGlassModule/MES-Module.iml                                                                                                               |  125 
 hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java                           |   17 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitInfo.java                                                     |  111 
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java                                        |   17 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java                                                  |   94 
 UI-Project/src/assets/lpl.jpg                                                                                                                     |    0 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java                           |    6 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java             |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java              |    5 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCageDetails.java                           |    9 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java                                           |    2 
 UI-Project/vite.config.js                                                                                                                         |   16 
 155 files changed, 3,810 insertions(+), 3,228 deletions(-)

diff --git "a/TemperingGlassModule/MES-Module \0501\051.iml" "b/TemperingGlassModule/MES-Module \0501\051.iml"
index 100b632..9855791 100644
--- "a/TemperingGlassModule/MES-Module \0501\051.iml"
+++ "b/TemperingGlassModule/MES-Module \0501\051.iml"
@@ -1,139 +1,13 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
-  <component name="FacetManager">
-    <facet type="web" name="Web">
-      <configuration>
-        <webroots />
-        <sourceRoots>
-          <root url="file://$MODULE_DIR$/src/main/java" />
-          <root url="file://$MODULE_DIR$/src/main/resources" />
-        </sourceRoots>
-      </configuration>
-    </facet>
-    <facet type="Spring" name="Spring">
-      <configuration />
-    </facet>
-  </component>
+<module type="JAVA_MODULE" version="4">
   <component name="MavenCustomPomFilePath">
     <option name="mavenPomFileUrl" value="file://$MODULE_DIR$/effective-pom.xml" />
   </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$/src/main/java">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-    </content>
-    <content url="file://$MODULE_DIR$/src/main/resources">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-    </content>
-    <content url="file://$MODULE_DIR$/src/test/java">
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-    </content>
+    <output url="file://$MODULE_DIR$/../../../Documents/HangZhouMes/TemperingGlassModule/target/classes" />
+    <output-test url="file://$MODULE_DIR$/../../../Documents/HangZhouMes/TemperingGlassModule/target/test-classes" />
+    <exclude-output />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.10" level="project" />
-    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.10" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.33" level="project" />
-    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
-    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.28" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.56" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.56" level="project" />
-    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.56" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.13" level="project" />
-    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.1.1" level="project" />
-    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.70" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.1.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.33" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.20" level="project" />
-    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.9" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.5.9" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.9" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.5.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.7" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.7" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.9.0" level="project" />
-    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.9.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.15" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.8.4" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.3.1" level="project" />
-    <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-test-autoconfigure:2.3.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: com.auth0:java-jwt:3.10.3" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6" level="project" />
-    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.15" level="project" />
-    <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.19.0" level="project" />
-    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.0" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.3" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.5.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
-    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
-    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
-    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
-    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
-    <orderEntry type="library" name="Maven: com.github.xingshuangs:iot-communication:1.4.2" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.5.9" level="project" />
-    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.15" level="project" />
-    <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.36.Final" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/TemperingGlassModule/MES-Module.iml b/TemperingGlassModule/MES-Module.iml
index ddaeab8..643a1de 100644
--- a/TemperingGlassModule/MES-Module.iml
+++ b/TemperingGlassModule/MES-Module.iml
@@ -1,15 +1,124 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="web" name="Web">
+      <configuration>
+        <webroots />
+      </configuration>
+    </facet>
+    <facet type="Spring" name="Spring">
+      <configuration />
+    </facet>
+  </component>
   <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
-    <output url="file://$MODULE_DIR$/target/classes" />
-    <output-test url="file://$MODULE_DIR$/target/test-classes" />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <excludeFolder url="file://$MODULE_DIR$/target" />
-    </content>
+    <output url="file://$MODULE_DIR$/../../../Documents/HangZhouMes/TemperingGlassModule/target/classes" />
+    <output-test url="file://$MODULE_DIR$/../../../Documents/HangZhouMes/TemperingGlassModule/target/test-classes" />
+    <content url="file://$MODULE_DIR$" />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.10" level="project" />
+    <orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.10" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.17.1" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.17.1" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.33" level="project" />
+    <orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" />
+    <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.28" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.12.6" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.12.6" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.12.6" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.56" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-el:9.0.56" level="project" />
+    <orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.56" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-web:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: com.zaxxer:HikariCP:4.0.3" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis:3.5.13" level="project" />
+    <orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:2.1.1" level="project" />
+    <orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.70" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.data:spring-data-commons:2.3.1.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-core:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-beans:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.33" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: mysql:mysql-connector-java:8.0.20" level="project" />
+    <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.22" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.5.9" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.5.9" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.5.9" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.5.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.4.7" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:2.4.7" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:9.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest:2.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter:5.7.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-api:5.7.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-commons:1.7.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-params:5.7.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.7.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.junit.platform:junit-platform-engine:1.7.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:3.9.0" level="project" />
+    <orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.22" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.22" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:3.2" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-junit-jupiter:3.9.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.3.15" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.8.4" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter-test:2.3.1" level="project" />
+    <orderEntry type="library" scope="TEST" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-test-autoconfigure:2.3.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-tx:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: com.auth0:java-jwt:3.10.3" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.12.6" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.12.6" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.12.6" level="project" />
+    <orderEntry type="library" scope="RUNTIME" name="Maven: commons-codec:commons-codec:1.15" level="project" />
+    <orderEntry type="library" name="Maven: org.assertj:assertj-core:3.19.0" level="project" />
+    <orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.4.0" level="project" />
+    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-boot-starter:3.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus:3.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-extension:3.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-core:3.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.baomidou:mybatis-plus-annotation:3.5.1" level="project" />
+    <orderEntry type="library" name="Maven: com.github.jsqlparser:jsqlparser:4.3" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: com.baomidou:dynamic-datasource-spring-boot-starter:3.5.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger2:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: io.swagger:swagger-models:1.5.20" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-spi:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-core:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-schema:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-common:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-spring-web:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: com.google.guava:guava:20.0" level="project" />
+    <orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-core:1.2.0.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.plugin:spring-plugin-metadata:1.2.0.RELEASE" level="project" />
+    <orderEntry type="library" name="Maven: org.mapstruct:mapstruct:1.2.0.Final" level="project" />
+    <orderEntry type="library" name="Maven: io.springfox:springfox-swagger-ui:2.9.2" level="project" />
+    <orderEntry type="library" name="Maven: io.swagger:swagger-annotations:1.5.20" level="project" />
+    <orderEntry type="library" name="Maven: com.github.xingshuangs:iot-communication:1.4.2" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.5.9" level="project" />
+    <orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.3.15" level="project" />
+    <orderEntry type="library" name="Maven: io.netty:netty-all:4.1.36.Final" level="project" />
   </component>
 </module>
\ No newline at end of file
diff --git a/UI-Project/config.js b/UI-Project/config.js
index dc510d3..1871721 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,5 +1,6 @@
 export default {
-  serverUrl: "localhost:8085",
+  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/assets/cp.png b/UI-Project/src/assets/cp.png
new file mode 100644
index 0000000..e3272b2
--- /dev/null
+++ b/UI-Project/src/assets/cp.png
Binary files differ
diff --git a/UI-Project/src/assets/dlpl.png b/UI-Project/src/assets/dlpl.png
new file mode 100644
index 0000000..818a0a2
--- /dev/null
+++ b/UI-Project/src/assets/dlpl.png
Binary files differ
diff --git a/UI-Project/src/assets/dlpla.png b/UI-Project/src/assets/dlpla.png
new file mode 100644
index 0000000..9aa315e
--- /dev/null
+++ b/UI-Project/src/assets/dlpla.png
Binary files differ
diff --git a/UI-Project/src/assets/lpl.jpg b/UI-Project/src/assets/lpl.jpg
new file mode 100644
index 0000000..d66b84d
--- /dev/null
+++ b/UI-Project/src/assets/lpl.jpg
Binary files differ
diff --git a/UI-Project/src/layout/MainErpView.vue b/UI-Project/src/layout/MainErpView.vue
index 4638722..d2e3ed7 100644
--- a/UI-Project/src/layout/MainErpView.vue
+++ b/UI-Project/src/layout/MainErpView.vue
@@ -2,29 +2,28 @@
 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('/menu/sysMenu/list').then((res) => {
+request.get('/loadGlass/menu/sysMenu/list').then((res) => {
   if (res.code == 200) {
     menuList = deepClone(res.data)
   } else {
@@ -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/utils/request.js b/UI-Project/src/utils/request.js
index 2159de6..35f97cb 100644
--- a/UI-Project/src/utils/request.js
+++ b/UI-Project/src/utils/request.js
@@ -4,7 +4,7 @@
 const userStore=useUserInfoStore()
 const request = axios.create({
     baseURL: `http://${config.serverUrl}`,  // 娉ㄦ剰锛侊紒 杩欓噷鏄叏灞�缁熶竴鍔犱笂浜� 鍚庣鎺ュ彛鍓嶇紑 鍓嶇紑锛屽悗绔繀椤昏繘琛岃法鍩熼厤缃紒
-    timeout: 5000
+    timeout: 30000
 })
  
 //
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index be0e99f..0dfc7b9 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -4,6 +4,9 @@
       <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;">
       <defs>
             <marker id="arrow" markerUnits="strokeWidth" markerWidth="12" markerHeight="12" viewBox="0 0 12 12" refX="6"
@@ -25,24 +28,9 @@
         />
         <line x1='510' y1='309' x2='260' y2='310' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'>
         </line>
-        <line x1='850' y1='309' x2='1100' y2='310' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'>
-        </line>
-        <line x1='510' y1='409' x2='260' y2='410' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'>
-        </line>
-        <line x1='1200' y1='650' x2='1200' y2='470' stroke='#911005' stroke-width='2' marker-end='url(#arrow)'>
-        </line>
         <text x="370" y="240" dominant-baseline="middle" text-anchor="middle">NG2024030501A-01</text> 
         <text x="370" y="260" dominant-baseline="middle" text-anchor="middle">500*300</text> 
 
-        <text x="970" y="240" dominant-baseline="middle" text-anchor="middle">NG2024030501A-02</text> 
-        <text x="970" y="260" dominant-baseline="middle" text-anchor="middle">500*300</text> 
-
-        <text x="600" y="500" dominant-baseline="middle" text-anchor="middle">NG2024030501A-03</text> 
-        <text x="600" y="520" dominant-baseline="middle" text-anchor="middle">800*450</text> 
-
-        
-        <text x="1280" y="520" dominant-baseline="middle" text-anchor="middle">NG2024030501A-04</text> 
-        <text x="1280" y="540" dominant-baseline="middle" text-anchor="middle">400*300</text> 
         <g v-for="(item, itemIndex) in rack.items" :key="itemIndex">
           <rect 
             :x="calculateItemXPosition(rack, item, itemIndex)" 
@@ -54,6 +42,9 @@
         </g>
       </g>
     </svg>
+    </div>
+    </div>
+    </el-scrollbar>
   </el-card>
 </template>
 
@@ -84,30 +75,6 @@
             { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG12345678' }
           ]
         },
-        { 
-          x: 685, y: 126, width: 600, height: 240,  fillColor: '#93d2f3', 
-          items: [
-            { position: 'bottom-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' },
-            { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' },
-            { position: 'top-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' }
-          ]
-        },
-        { 
-          x: 70, y: 380, width: 1100, height: 260, fillColor: '#81b337', 
-          items: [
-            { position: 'top-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' },
-            { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' },
-            { position: 'top-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' }
-          ]
-        },
-        { 
-          x: 1185, y: 380, width: 200, height: 300,fillColor: '#81b337', 
-          items: [
-            { position: 'bottom-right', width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' },
-            { position: 'top-right',width: 40, height: 30, fillColor: '#ffffff', content: 'NG123456' },
-            { position: 'top-left', width: 40, height: 30, fillColor: '#ffffff', content: 'NG1234567' },
-          ]
-        }
         
         // Add more racks and items here as needed
       ],
@@ -183,4 +150,43 @@
   color: black;
   border: 1px solid black;
 }
+
+#home-card {
+    width: 100%;
+    overflow: hidden;
+    padding: 10px 0px;
+    display: flex;
+    flex-wrap: wrap;
+    #home-item {
+      border-style: solid;
+      border-width: 1px;
+      border-color: #E4E4E4;
+      width: calc(34% - 20px);
+      padding: 20px 0px 20px 20px;
+      margin-right: 10px;
+      margin-bottom: 10px;
+      display: flex;
+      justify-content: center;
+      /* align-items: center; */
+      background: #fff;
+      #home-img {
+        display: inline-block;
+        width: 160px;
+        height: 60px;
+        margin: 0;
+        padding: 0;
+      }
+      #home-right {
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+        align-items: flex-start;
+        margin-left: 10px;
+        #home-num {
+          font-size: 40px;
+          margin: 5px 0;
+        }
+      }
+    }
+  }
 </style>
diff --git a/UI-Project/src/views/LoginView.vue b/UI-Project/src/views/LoginView.vue
index 43eea2f..70fd9e6 100644
--- a/UI-Project/src/views/LoginView.vue
+++ b/UI-Project/src/views/LoginView.vue
@@ -48,7 +48,7 @@
     if (valid) {
       loginLoadings.value = true
       request
-          .post('/userinfo/login', userForm)
+          .post('/loadGlass/userinfo/login', userForm)
           .then((res) => {
             if (res['code'] == 200) {
               store.$patch({user: res.data})
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index a8e0996..97d7b27 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -15,7 +15,23 @@
 
 import { ref, onMounted } from "vue";
 // import http from "@/http/index";
-const tableData = ref([])
+// const tableData = ref([])
+// let app = ref({
+//     data(){
+//         return {
+//           enableState:'',
+//         }
+//     },
+//   })
+// const tableData = ref({
+//   workstationId:'',
+//   patternWidth :'',
+//   patternHeigth :'',
+//   filmsId :'',
+//   number :'',
+//   patternThickness :'',
+//   enableState:'',
+// })
 // request.post(`/LoadGlass/list`).then((res) => {
 //  if (res.code == 200) {
 //   console.log(res.data);
@@ -33,22 +49,66 @@
 //           router.push("/login")
 //           }
 //           });
-onMounted(() => {
-  request
-    .get("/LoadGlass/list")
+
+  // request
+  // const requestData = {
+  //   projectNo:"P24030805",
+  //   state:0
+  // };
+
+  
+ const requestData = {
+    // projectNo:"P24030805",
+    state:100
+  };
+  
+  const tableData = reactive([]);
+
+// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
+const fetchTableData = async () => {
+  try {
+    // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
+    // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData);
+    const response = await request.get("/loadGlass/LoadGlass/list");
+
+    // 妫�鏌ュ搷搴旂姸鎬�
+    if (response.code === 200) {
+      // 鏇存柊琛ㄦ牸鏁版嵁
+      console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
+      tableData.splice(0, tableData.length, ...response.data);
+    } else {
+      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+      ElMessage.error(response.msg);
+    }
+  } catch (error) {
+    // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
+    ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
+  }
+};
+const user = ref('');
+const remoteMethod = () => {
+  request.post("/loadGlass/optimizeProject/listByState", requestData)
     .then((res: any) => {
+      // if (res.code == 200) {
       tableData.value = res.data;
+      // let self = this
+      // }
     })
     .catch((err: any) => {});
-});
-onMounted(() => {
-  request
-    .post("/LoadGlass/selectPriority")
-    .then((res: any) => {
-      tableData.value = res.data;
-    })
-    .catch((err: any) => {});
-});
+}
+
+
+onMounted(fetchTableData);
+
+
+// onMounted(() => {
+//   request
+//     .post("/loadGlass/LoadGlass/selectPriority")
+//     .then((res: any) => {
+//       tableData.value = res.data;
+//     })
+//     .catch((err: any) => {});
+// });
 interface User {
   id: string
   name: string
@@ -83,59 +143,7 @@
       }
     }
   }
-}
-
-const options = [
-  {
-    value: 'Option1',
-    label: 'P202561456',
-  },
-  {
-    value: 'Option2',
-    label: 'P202561456',
-  },
-  {
-    value: 'Option3',
-    label: 'P202561456',
-  },
-  {
-    value: 'Option4',
-    label: 'P202561456',
-  },
-  {
-    value: 'Option5',
-    label: 'P202561456',
-  },
-]
-// const tableData: User[] = [
-
-//   {
-//     id: 'P202561456',
-//     long: '1005',
-//     wide: '183.6',
-//     thick: '1991',
-//   },
-//   {
-//     id: 'P202561456',
-//     long: '105',
-//     wide: '183',
-//     thick: '191',
-//   }
-// ]
-const tableDataa = [
-  {
-    long: '1005',
-    wide: '183.6',
-    thick: '1991',
-    station: '1'
-  },
-  {
-    long: '105',
-    wide: '183',
-    thick: '191',
-    station: '1'
-  }
-]
+} 
 const open = () => {
   ElMessageBox.confirm(
     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
@@ -230,20 +238,6 @@
     <el-button style="margin-top: 5px;margin-left: 20px;"  id="searchButton" type="danger" >鍋滄浠诲姟</el-button>
     <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">
-        <!-- <el-table height="100%" ref="table" :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="id" align="center" label="宸ョ▼鍙�" min-width="80" />
-          <el-table-column prop="long" align="center" label="鍘熺墖瀹�" min-width="120" />
-          <el-table-column prop="wide" align="center" label="鍘熺墖闀�" min-width="120" />
-          <el-table-column prop="thick" align="center" label="鑶滅郴" min-width="120" />
-          <el-table-column prop="thick" align="center" label="鏁伴噺" min-width="120" />
-          <el-table-column
-            align="center"
-            label="鐘舵��"
-            min-width="80"
-          >
-          <el-tag type="success">灏辩华</el-tag>
-          </el-table-column>
-        </el-table> -->
     <el-table
     height="100%"
      ref="table"
@@ -251,7 +245,7 @@
       :data="tableData"
       :span-method="objectSpanMethod"
     >
-      <el-table-column prop="workstationId" label="宸ョ▼鍙�" width="200" align="center"/>
+    <el-table-column prop="workstationId" label="宸ョ▼鍙�" width="200" align="center"/>
       <el-table-column prop="patternWidth" label="鍘熺墖瀹�" align="center"/>
       <el-table-column prop="patternHeigth" label="鍘熺墖闀�" align="center"/>
       <el-table-column prop="filmsId" label="鑶滅郴" align="center"/>
@@ -283,25 +277,19 @@
     <div style="margin-left: 50px;margin-bottom: 10px;">
       <el-form-item label="宸ョ▼鍙凤細" :required="true">
         <el-select
-          v-model="form.workstationId"
           clearable
           placeholder="璇烽�夋嫨宸ョ▼"
           style="width: 300px"
+           filterable 
+           :remote-method="remoteMethod"
         >
          <el-option
-           v-for="item in options"
-           :key="item.value"
-           :label="item.label"
-           :value="item.value"
+           v-for="item in remoteMethod"
+           :key="item.projectNo"
+           :label="item.projectNo"
+           :value="item.projectNo"
          />
        </el-select>
-       <!-- <el-select clearable filterable size="mini" v-model="form.fvId" 
-             style="margin-right: 50px;width: 200px" placeholder="璇烽�夋嫨鏋滆敩绉嶇被">
-              <el-option v-for="item in billall"
-                :key="item.id"
-                :label="item.fruitVagetableCate"
-                :value="item.id"></el-option>
-          </el-select> -->
               </el-form-item>
           </div>
     <template #footer>
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index ea231b5..9c7b9f9 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -12,203 +12,30 @@
 
 const currentPage4 = ref(4)
 const pageSize4 = ref(100)
-// const tableData = [
-//   {
-//     id: '1',
-//     long: '1005',
-//     wide: '183.6',
-//     thick: '1991',
-//     type: '1234567',
-//     typea: '1',
-//   },
-// ]
-// const tableDatab = [
-//   {
-//     idb: '2',
-//     longb: '105',
-//     wideb: '183',
-//     typeb: '123456',
-//   }
-// ]
-const tableDataa = [
+const tableData = [
   {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
-  },
-  {
-    ida: '3',
-    typea: '1991',
+    id: '1',
+    a: '1',
+    b: '1',
+    c: '123456789',
+    d: '1568251',
+    e: '1',
+    f: '100',
+    g: '',
   },
 ]
-
+const tableDatab = [
+  {
+    id: '2',
+    a: '2',
+    b: '2',
+    c: '123456789',
+    d: '1568251',
+    e: '1',
+    f: '100',
+    g: '',
+  }
+]
 const dialogForm = () => {
   ElMessageBox.confirm(
     '纭畾瑕佹�ュ仠鍚�?',
@@ -300,13 +127,13 @@
         @selection-change="handleSelectionChange"
         :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
           <el-table-column prop="id" align="center" label="鍑虹墖鐜荤拑ID" min-width="80" />
-          <el-table-column prop="long" align="center" label="绗煎瓙" min-width="120" />
-          <el-table-column prop="wide" align="center" label="鏍煎瓙" min-width="120" />
-          <el-table-column prop="type" align="center" label="宸ョ▼鍙�" min-width="120" />
-          <el-table-column prop="type" align="center" label="娴佺▼鍗″彿" min-width="120" />
-          <el-table-column prop="type" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="120" />
-          <el-table-column prop="type" align="center" label="灏哄" min-width="120" />
-          <el-table-column prop="type" align="center" label="缁撴潫浠诲姟" min-width="120" />
+          <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
+          <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
+          <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
+          <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
+          <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
+          <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
+          <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120" />
         </el-table>
       </div>
     </el-card>
@@ -315,14 +142,14 @@
         <el-table height="100%" ref="table" 
         @selection-change="handleSelectionChange"
         :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="idb" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
-          <el-table-column prop="longb" align="center" label="绗煎瓙" min-width="120" />
-          <el-table-column prop="wideb" align="center" label="鏍煎瓙" min-width="120" />
-          <el-table-column prop="typeb" align="center" label="宸ョ▼鍙�" min-width="120" />
-          <el-table-column prop="typeb" align="center" label="娴佺▼鍗″彿" min-width="120" />
-          <el-table-column prop="typeb" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="120" />
-          <el-table-column prop="typeb" align="center" label="灏哄" min-width="120" />
-          <el-table-column prop="typeb" align="center" label="缁撴潫浠诲姟" min-width="120" />
+          <el-table-column prop="id" align="center" label="杩涚墖鐜荤拑ID" min-width="80" />
+          <el-table-column prop="a" align="center" label="绗煎瓙" min-width="120" />
+          <el-table-column prop="b" align="center" label="鏍煎瓙" min-width="120" />
+          <el-table-column prop="c" align="center" label="宸ョ▼鍙�" min-width="120" />
+          <el-table-column prop="d" align="center" label="娴佺▼鍗″彿" min-width="120" />
+          <el-table-column prop="e" align="center" label="閽㈠寲鐗堝浘鍙�" min-width="157" />
+          <el-table-column prop="f" align="center" label="灏哄" min-width="120" />
+          <el-table-column prop="g" align="center" label="缁撴潫浠诲姟" min-width="120" />
         </el-table>
       </div>
     </el-card>
@@ -338,8 +165,13 @@
                     </el-col>
                 </div>
     </div>
+    <!-- <div id="awatch">
+  <img src="../../assets/lpl.jpg" alt="" style="width: 10%;height: 10%;margin-left: 160px;">
+</div> -->
+
+
     <div id="awatch">
-  <img src="../../assets/xmjc.png" alt="" style="width: 70%;height: 100%;margin-left: 160px;">
+  <img src="../../assets/cp.png" alt="" style="width: 1305px;height: 400px;margin-left: 240px;margin-top: 50px;">
 </div>
   </div>
 <el-dialog v-model="dialogFormVisible" top="12vh" width="85%" title="璇风‘璁ょ幓鐠冧俊鎭�" >
@@ -565,4 +397,37 @@
    ::-webkit-scrollbar {
      width: 0 !important;height: 0;
    }
+   .img-list{
+	
+  position:relative;
+}
+.data-img{
+  @apply float-none ;
+  
+  width:100%;
+  height:16rem;
+  background: rgba(0, 0, 0, 0);
+  opacity: 1;
+  border-radius: 0.5rem 0.5rem 0px 0px;
+
+}
+.check-img{
+  position: absolute;
+  width: 3.3125rem;
+  height: 2.9375rem;
+  top:20rem;
+  right: 52rem;
+  z-index: 10;
+  
+}
+.check-imga{
+  position: absolute;
+  width: 3.3125rem;
+  height: 2.9375rem;
+  top:15rem;
+  right: 37rem;
+  z-index: 10;
+  
+}
+
 </style>
\ No newline at end of file
diff --git a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
index 1bcac06..0666da4 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,209 +1,52 @@
 <script setup>
 import {Search} from "@element-plus/icons-vue";
-import {reactive,  onMounted} from "vue";
+import {reactive} from "vue";
 import {useRouter} from "vue-router"
 const router = useRouter()
 
+const dialogFormVisiblea = ref(false)
 import { ref } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 import Landingindication from "./Landingindication.vue";
-import Landingindicationtwo from "./Landingindicationtwo.vue";
-import unloadrequest from "@/utils/unloadrequest";
-const dialogFormVisiblea = ref(false)
+// import Landingindicationtwo from "./Landingindicationtwo.vue";
 
-
-
-const dialogFormVisiblea2 = ref(false)
-
-
-const tableData = reactive([]);
-
-
-let socket;
-
-
-const initWebSocket = (token) =>{ //鍒濆鍖杦e
-
-let viewname = "unloadglass";
-
-if (typeof WebSocket === "undefined") {
-  console.log("鎮ㄧ殑娴忚鍣ㄤ笉鏀寔WebSocket");
-} else {
-  let socketUrl = "ws://" + "localhost"+":88" + "/api/unLoadGlass/api/talk/" + viewname;
-  if (socket != null) {
-    socket.close();
-    socket = null;
-  }
-
-  // 寮�鍚竴涓獁ebsocket鏈嶅姟
-  socket = new WebSocket(socketUrl);
-
-  // 鎵撳紑浜嬩欢
-  socket.onopen = function () {
-    console.log("websocket宸叉墦寮�");
-  };
-
-
-
-socket.onmessage = (msg) => {
-if (!msg.data) {
-return; // 濡傛灉鏀跺埌绌烘暟鎹紝鍒欑洿鎺ヨ繑鍥烇紝涓嶆墽琛屽悗缁�昏緫
-}
-
-
-
-    let obj = JSON.parse(msg.data);
-
-    
-      console.log('鏀跺埌娑堟伅锛�', obj.data);
- 
-  }
-
-  }
-  }
-
-
-
-
-// 鏁版嵁
-const loading = ref(false);
-
-
-// 寮规鏄剧ず鎺у埗
-
-const dialogFormVisible = ref(false);
-
-// 琛ㄥ崟鏁版嵁
-const workstationId = ref('');
-const flowCardId = ref('');
-const flowCardOptions = ref([]);
-
-
-// 鏂规硶
-const handleSelectionChange = () => {
-  // 澶勭悊琛ㄦ牸琛岄�夋嫨浜嬩欢
-};
-
-const handleBindRack = (row) => {
-  workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
-  // 鍙戣捣鎺ュ彛璇锋眰鑾峰彇娴佺▼鍗″彿
-    fetchFlowCardId(); 
-
-
-  dialogFormVisiblea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
-};
-
-
-
-//鑾峰彇娴佺▼鍗″彿
-const fetchFlowCardId = async () => {
-  try {
-    const response = await unloadrequest.get('/api/unLoadGlass/getflowCardId');
-    console.log(response)
-    if (response.code === 200) {
-      flowCardOptions.value = response.data.map(item => ({ flowcard_id: item.flowcard_id }));
-    } else {
-      ElMessage.error(response.msg);
-    }
-  } catch (error) {
-    console.error(error);
-  }
-};
-//纭
-const handleConfirm = async () => {
-  try {
-    const response = await unloadrequest.post('/api/unLoadGlass/updateFlowCardId', {
-      workstationId: workstationId.value,
-      flowCardId: flowCardId.value
-    }); 
-
-    console.log(response)
-    if (response.code == 200) {
-      // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
-      console.log('缁戝畾鎴愬姛');
-      ElMessage.success(response.message);
-      dialogFormVisiblea.value = false;
-    } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
-      ElMessage.error(response.msg);
-    }
-  } catch (error) {
-    // 澶勭悊閿欒
-    console.error(error);
-  }
-};
-
-
-
-const handleBindRack2 = (row) => {
-  workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
-
-
-
-  dialogFormVisiblea2.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
-};
-//娓呴櫎鍐呭
-const handleclear = async () => {
-    try {
-        const response = await unloadrequest.post('/api/unLoadGlass/clear', {
-            workstationId: workstationId.value,
-        });
-
-        console.log(response);
-
-        if (response.code === 200) {
-            // 娓呴櫎鎴愬姛鐨勯�昏緫
-            console.log('娓呴櫎鎴愬姛');
-            ElMessage.success(response.message);
-            dialogFormVisiblea2.value = false;
-        } else if (response.code === 400) {
-            // 娓呴櫎澶辫触鐨勯�昏緫
-            console.log('娓呴櫎澶辫触');
-            console.log(response.message); // 鎵撳嵃鏈嶅姟鍣ㄨ繑鍥炵殑閿欒淇℃伅
-            ElMessage.error(response.message);
-            dialogFormVisiblea2.value = false;
-        }
-    } catch (error) {
-        // console.log(error);
-         ElMessage.error("娓呴櫎澶辫触");
-            dialogFormVisiblea2.value = false;
-    }
-};
-
-
-
-
-
-// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
-const fetchTableData = async () => {
-  try {
-    // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲
-    const response = await unloadrequest.get('/api/unLoadGlass/getone');
-
-    // 妫�鏌ュ搷搴旂姸鎬�
-    if (response.code === 200) {
-      // 鏇存柊琛ㄦ牸鏁版嵁
-      console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
-      tableData.splice(0, tableData.length, ...response.data);
-    } else {
-      // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
-      ElMessage.error(response.msg);
-    }
-  } catch (error) {
-    // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
-    ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
-  }
-};
-
-
-
-
-initWebSocket();
-onMounted(fetchTableData);
-setInterval(fetchTableData, 2000)
-
+const tableData = [
+  {
+    id: '1',
+    long: '1005',
+    wide: '183.6',
+    thick: '1991',
+    state: '鏈惎鐢�',
+  },
+  {
+    id: '2',
+    long: '105',
+    wide: '183',
+    thick: '191',
+    state: '鏈惎鐢�'
+  },
+  {
+    id: '3',
+    long: '105',
+    wide: '183',
+    thick: '191',
+    state: '鏈惎鐢�'
+  },
+  {
+    id: '4',
+    long: '105',
+    wide: '183',
+    thick: '191',
+    state: '鏈惎鐢�'
+  },
+  {
+    id: '5',
+    long: '105',
+    wide: '183',
+    thick: '191',
+    state: '鏈惎鐢�'
+  },
+]
 const open = () => {
   ElMessageBox.confirm(
     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
@@ -241,6 +84,17 @@
   }
 }
 
+const dialogForm = () => {
+  ElMessageBox.confirm(
+    '鏄惁娓呯┖璇ユ潯淇℃伅?',
+    '鎻愮ず',
+    {
+      confirmButtonText: '鏄�',
+      cancelButtonText: '鍙栨秷',
+      type: 'warning',
+    }
+  )
+}
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
@@ -279,10 +133,6 @@
   ],
 })
 
-
-
-
-
 </script>
 
 <template>
@@ -292,80 +142,53 @@
         <el-table height="100%" ref="table" 
         @selection-change="handleSelectionChange"
         :data="tableData" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
-          <el-table-column prop="workstationId" align="center" label="涓嬬墖浣�" min-width="80" />
-          <el-table-column prop="workstationId" align="center" label="鏋跺彿" min-width="120" />
-          <el-table-column prop="flowCardId" align="center" label="娴佺▼鍗″彿" min-width="120" />
-          <el-table-column prop="totalquantity" align="center" label="鎬绘暟閲�" min-width="120" />
-          <el-table-column prop="racksnumber" align="center" label="宸茶惤鏋舵暟閲�" min-width="120" />
-          <el-table-column prop="work_state" align="center" label="鐘舵��" min-width="120" />
-          <el-table-column prop="deviceId" align="center" label="璁惧鍙�" min-width="120" />
-          <el-table-column prop="enableState" align="center" label="鍚敤鐘舵��" min-width="120" />
+          <el-table-column prop="id" align="center" label="涓嬬墖浣�" min-width="80" />
+          <el-table-column prop="long" align="center" label="鏋跺彿" min-width="120" />
+          <el-table-column prop="wide" align="center" label="娴佺▼鍗″彿" min-width="120" />
+          <el-table-column prop="wide" align="center" label="鎬绘暟閲�" min-width="120" />
+          <el-table-column prop="wide" align="center" label="宸茶惤鏋舵暟閲�" min-width="120" />
+          <el-table-column prop="state" align="center" label="鍚敤鐘舵��" min-width="120" />
           <el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
-            <template #default="scope">
-            <el-button size="mini" type="text" plain v-show="scope.row.enableState !== '宸插惎鐢�' " @click="handleBindRack(scope.row)">缁戝畾鏋跺瓙</el-button>
-            <el-button size="mini" type="text" plain  @click="handleBindRack2(scope.row)">娓呯┖</el-button>
-          </template>
+            <template #default>
+              <el-button size="mini" type="text" plain v-show="state !== '宸插惎鐢�' " @click="dialogFormVisiblea = true">缁戝畾鏋跺瓙</el-button>
+              <el-button size="mini" type="text" plain   @click="dialogForm">娓呯┖</el-button>
+            </template>
         </el-table-column>
         </el-table>
       </div>
     </el-card>
-
-
+   
+  </div>
+  <div style="display: flex;">
+  <div id="main-body">
+      <Landingindication></Landingindication>
+    </div>
+  <!-- <div id="main-body">
+    <Landingindicationtwo></Landingindicationtwo>
+    </div> -->
+    </div>
     <el-dialog v-model="dialogFormVisiblea" top="21vh" width="30%" title="缁戝畾鏋跺瓙" >
     <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;">
-      <el-form  size="mini" label-width="150px">
-        <el-form  label-width="100px" label-position="right">
-          <el-form-item label="鏋跺彿锛�" :required="true" style="width: 18vw">
-            <el-input v-model="workstationId" autocomplete="off"/>
-          </el-form-item>
-          <el-form-item label="娴佺▼鍗″彿锛�" :required="true" style="width: 18vw;">
-          <el-select v-model="flowCardId" placeholder="璇烽�夋嫨娴佺▼鍗″彿">
-            <el-option v-for="item in flowCardOptions" :key="item.flowcard_id" :label="item.flowcard_id" :value="item.flowcard_id" />
-          </el-select>
-        </el-form-item>
-      </el-form>
-      </el-form>
-    </div>
+            <el-form  size="mini" label-width="150px">
+      <el-form  label-width="100px" label-position="right">
+              <el-form-item label="鏋跺彿锛�" :required="true" style="width: 18vw">
+                <el-input  autocomplete="off"/>
+              </el-form-item>
+              <el-form-item label="娴佺▼鍗″彿锛�" :required="true" style="width: 18vw;">
+                <el-input autocomplete="off" />
+              </el-form-item>
+        </el-form>
+            </el-form>
+          </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="handleConfirm">
+        <el-button type="primary" @click="dialogFormVisiblea = false">
           纭
         </el-button>
         <el-button @click="dialogFormVisiblea = false">鍙栨秷</el-button>
       </div>
     </template>
   </el-dialog>
-
-
-
-
-  <el-dialog v-model="dialogFormVisiblea2" top="21vh" width="30%" title="娓呴櫎鏋跺瓙鐜荤拑" >
-
-    <template #footer>
-      <div id="dialog-footer">
-        <el-button type="primary" @click="handleclear">
-          纭
-        </el-button>
-        <el-button @click="dialogFormVisiblea2 = false">鍙栨秷</el-button>
-      </div>
-    </template>
-  </el-dialog>
-
-
-    <!-- workstationId: '1',
-    workstationId: '1005',
-    flowCardId: '183.6',
-    totalquantity: '1991',
-    racksnumber:"1",
-    work_state: '寰呰瘑鍒�', -->
-  </div>
-  <div style="display: flex;">
-  <div id="main-body">
-      <Landingindication></Landingindication>
-    </div>
-  <div id="main-bodya">
-    <Landingindicationtwo></Landingindicationtwo>
-    </div></div>
 </template>
 
 <style scoped>
@@ -389,11 +212,7 @@
   height: 450px;
 }
 #main-body{
-  margin-top: -20px;
-  margin-left: 300px;
-}
-#main-bodya{
   margin-top: -10px;
-  margin-left: 100px;
+  margin-left: 450px;
 }
 </style>
\ No newline at end of file
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/common/config/Swagger2Config.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java
index df6bfb7..8a8dca4 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/common/config/Swagger2Config.java
@@ -25,7 +25,7 @@
 public class Swagger2Config {
 
     @Bean
-    public Docket webApiConfig(){
+    public Docket webApiConfig() {
         List<Parameter> pars = new ArrayList<>();
         ParameterBuilder tokenPar = new ParameterBuilder();
         tokenPar.name("userId")
@@ -50,7 +50,7 @@
     }
 
     @Bean
-    public Docket adminApiConfig(){
+    public Docket adminApiConfig() {
         List<Parameter> pars = new ArrayList<>();
         ParameterBuilder tokenPar = new ParameterBuilder();
         tokenPar.name("adminId")
@@ -73,7 +73,7 @@
                 .globalOperationParameters(pars);
     }
 
-    private ApiInfo webApiInfo(){
+    private ApiInfo webApiInfo() {
         return new ApiInfoBuilder()
                 .title("缃戠珯-API鏂囨。")
                 .description("鏈枃妗f弿杩颁簡mes缃戠珯寰湇鍔℃帴鍙e畾涔�")
@@ -82,7 +82,7 @@
                 .build();
     }
 
-    private ApiInfo adminApiInfo(){
+    private ApiInfo adminApiInfo() {
         return new ApiInfoBuilder()
                 .title("鍚庡彴绠$悊绯荤粺-API鏂囨。")
                 .description("鏈枃妗f弿杩颁簡mes鍚庡彴绯荤粺鏈嶅姟鎺ュ彛瀹氫箟")
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
index cd418c5..0d60791 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PLCAutoMes.java
@@ -19,19 +19,19 @@
     private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
     private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
     private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
-//    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
+    //    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
 //            .getResource("/JsonFile/PlcParameter.json").getPath();
 //    private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
 //            .getPath();
 //    private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
 //            .getPath();
     private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
-   // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
+    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
 
     // 璋冪敤initword鏂规硶
 
-//
-   // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+    //
+    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
     public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
     public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
     public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
@@ -62,15 +62,15 @@
 
             // System.out.println(jsonFilePath);
 
-          // readAndUpdateWordValues(PlcReadObject);
+            // readAndUpdateWordValues(PlcReadObject);
             InitUtil.readAndUpdateWordValues(PlcMesObject);
 //      readAndUpdateWordValues(PlcframeObject);
             // readAndUpdateWordValues(PlcframeObject);
 
             // readAndUpdateWordValues(plcStateObject);
-          //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+            //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
             // System.out.println(index);
-          //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+            //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
             // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
             List<String> addresses = new ArrayList<>();
             addresses.add("FeedID");
@@ -81,7 +81,7 @@
             addresses2.add("FeedID");
             addresses2.add("FeedCarStatus");
 
-         //   System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
+            //   System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
 
         }
     }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
index 7ff0ee3..3fefdac 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitInfo.java
@@ -1,75 +1,75 @@
 package com.mes.device;
 
-public  class PlcBitInfo {
+public class PlcBitInfo {
 
-        public PlcBitInfo(String startAddress) {
-            this.startAddress = startAddress;
-        }
-        private String startAddress;
-        // 鍙傛暟鏍囪瘑
-        private String codeId;
+    public PlcBitInfo(String startAddress) {
+        this.startAddress = startAddress;
+    }
 
-        // 鍙傛暟鍚嶇О
-        private String name;
+    private String startAddress;
+    // 鍙傛暟鏍囪瘑
+    private String codeId;
 
-        // 璇诲彇 鍙傛暟鍊�
-        private Boolean value;
-        // 鍙傛暟鍦板潃
-        private int addressIndex;
+    // 鍙傛暟鍚嶇О
+    private String name;
 
-        public String getCodeId() {
-            return this.codeId;
-        }
+    // 璇诲彇 鍙傛暟鍊�
+    private Boolean value;
+    // 鍙傛暟鍦板潃
+    private int addressIndex;
 
-        public void setCodeId(String codeId) {
-            this.codeId = codeId;
-        }
+    public String getCodeId() {
+        return this.codeId;
+    }
 
-        public String getName() {
-            return this.name;
-        }
+    public void setCodeId(String codeId) {
+        this.codeId = codeId;
+    }
 
-        public void setName(String name) {
-            this.name = name;
-        }
+    public String getName() {
+        return this.name;
+    }
 
-        public Boolean getValue() {
-            return this.value;
-        }
+    public void setName(String name) {
+        this.name = name;
+    }
 
-        public void setValue(Boolean value) {
-            this.value = value;
-        } 
-         
+    public Boolean getValue() {
+        return this.value;
+    }
 
-        public int getAddressIndex() {
-            return this.addressIndex;
-        } 
-         /**
+    public void setValue(Boolean value) {
+        this.value = value;
+    }
+
+
+    public int getAddressIndex() {
+        return this.addressIndex;
+    }
+
+    /**
      * 鑾峰彇鍦板潃
-     * 
+     *
      * @param index 绱㈠紩鍦板潃
      */
-        public String getAddress(int index) {
-            String[] stringdatas = this.startAddress.trim().split("\\.");
-            if (stringdatas.length < 2 )
-                return null;
-            int dbwindex = 0;
-            int bitindex = 0;
-             if (stringdatas.length == 3) {
-                dbwindex = Integer.parseInt(stringdatas[1]);
-                bitindex = Integer.parseInt(stringdatas[2]);
-            } else
-                return null; 
-              dbwindex+=index/8;
-              bitindex+=index%8;
-            return stringdatas[0]+"."+dbwindex+"."+bitindex;
-        }
-
-
+    public String getAddress(int index) {
+        String[] stringdatas = this.startAddress.trim().split("\\.");
+        if (stringdatas.length < 2)
+            return null;
+        int dbwindex = 0;
+        int bitindex = 0;
+        if (stringdatas.length == 3) {
+            dbwindex = Integer.parseInt(stringdatas[1]);
+            bitindex = Integer.parseInt(stringdatas[2]);
+        } else
+            return null;
+        dbwindex += index / 8;
+        bitindex += index % 8;
+        return stringdatas[0] + "." + dbwindex + "." + bitindex;
+    }
 
 
     public void setAddressIndex(int addressindex) {
-            this.addressIndex = addressindex;
-        } 
+        this.addressIndex = addressindex;
     }
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
index e9eb1f7..2a86a0f 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcBitObject.java
@@ -50,7 +50,7 @@
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeid 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -67,7 +67,7 @@
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeid 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -112,7 +112,7 @@
 
     /**
      * 娣诲姞鍙傛暟瀹炰緥
-     * 
+     *
      * @param param 鍙傛暟瀹炰緥
      */
     public void addPlcBit(PlcBitInfo param) {
@@ -126,7 +126,7 @@
 
     /**
      * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
-     * 
+     *
      * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
      */
     public void setPlcBitList(List<Boolean> plcValueArray) {
@@ -136,7 +136,6 @@
             }
         }
     }
-   
 
-   
+
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
index f4f3be0..15fa1e7 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterInfo.java
@@ -1,118 +1,120 @@
 package com.mes.device;
-public  class PlcParameterInfo {
-      public PlcParameterInfo(String startAddress) {
+
+public class PlcParameterInfo {
+    public PlcParameterInfo(String startAddress) {
         this.startAddress = startAddress;
-      } 
-        private String startAddress;
-        // 鍙傛暟鏍囪瘑
-        private String codeId;
+    }
 
-        // 鍙傛暟鍚嶇О
-        private String name;
+    private String startAddress;
+    // 鍙傛暟鏍囪瘑
+    private String codeId;
 
-        // 璇诲彇 鍙傛暟鍊�
-        private String value;
+    // 鍙傛暟鍚嶇О
+    private String name;
 
-        // // 鍐欏叆 鍙傛暟鍊�
-        // private String writeValue;
+    // 璇诲彇 鍙傛暟鍊�
+    private String value;
 
-        // 鍙傛暟鍗曚綅
-        private String unit;
+    // // 鍐欏叆 鍙傛暟鍊�
+    // private String writeValue;
 
-        // 鍙傛暟鍊艰浆鎹㈢郴鏁�
-        private int ratio;
+    // 鍙傛暟鍗曚綅
+    private String unit;
 
-        // 鍙傛暟鍦板潃
-        private int addressIndex;
+    // 鍙傛暟鍊艰浆鎹㈢郴鏁�
+    private int ratio;
 
-        // 鍙傛暟鍦板潃浣嶉暱搴�
-        private int addressLength;
+    // 鍙傛暟鍦板潃
+    private int addressIndex;
 
-        public String getCodeId() {
-            return this.codeId;
-        }
+    // 鍙傛暟鍦板潃浣嶉暱搴�
+    private int addressLength;
 
-        public void setCodeId(String codeId) {
-            this.codeId = codeId;
-        }
+    public String getCodeId() {
+        return this.codeId;
+    }
 
-        public String getName() {
-            return this.name;
-        }
+    public void setCodeId(String codeId) {
+        this.codeId = codeId;
+    }
 
-        public void setName(String name) {
-            this.name = name;
-        }
+    public String getName() {
+        return this.name;
+    }
 
-        public String getValue() {
-            return this.value;
-        }
+    public void setName(String name) {
+        this.name = name;
+    }
 
-        public void setValue(String value) {
-            this.value = value;
-        }
+    public String getValue() {
+        return this.value;
+    }
 
-        // public String getWriteValue() {
-        //     return this.writeValue;
-        // }
+    public void setValue(String value) {
+        this.value = value;
+    }
 
-        // public void setWriteValue(String writeValue) {
-        //     this.writeValue = writeValue;
-        // }
+    // public String getWriteValue() {
+    //     return this.writeValue;
+    // }
 
-        public String getUnit() {
-            return this.unit;
-        }
+    // public void setWriteValue(String writeValue) {
+    //     this.writeValue = writeValue;
+    // }
 
-        public void setUnit(String unit) {
-            this.unit = unit;
-        }
+    public String getUnit() {
+        return this.unit;
+    }
 
-        public int getAddressIndex() {
-            return this.addressIndex;
-        }
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
 
-        public void setAddressIndex(int addressindex) {
-            this.addressIndex = addressindex;
-        }
+    public int getAddressIndex() {
+        return this.addressIndex;
+    }
 
-        public int getAddressLength() {
-            return this.addressLength;
-        }
+    public void setAddressIndex(int addressindex) {
+        this.addressIndex = addressindex;
+    }
 
-        public void setAddressLength(int addresslength) {
-            this.addressLength = addresslength;
-        }
+    public int getAddressLength() {
+        return this.addressLength;
+    }
 
-        public int getRatio() {
-            return this.ratio;
-        }
+    public void setAddressLength(int addresslength) {
+        this.addressLength = addresslength;
+    }
 
-        public void setRatio(int ratio) {
-            this.ratio = ratio;
-        }
+    public int getRatio() {
+        return this.ratio;
+    }
 
-           /**
+    public void setRatio(int ratio) {
+        this.ratio = ratio;
+    }
+
+    /**
      * 鑾峰彇鍦板潃
-     * 
+     *
      * @param index 绱㈠紩鍦板潃
      */
     public String getAddress(int index) {
         String[] stringdatas = this.startAddress.trim().split("\\.");
-        int addressLength=this.addressLength;
-        if (addressLength < 2 ){
+        int addressLength = this.addressLength;
+        if (addressLength < 2) {
             return null;
         }
 
-        if (addressLength == 2 ) {
+        if (addressLength == 2) {
             int wordindex = index;
 
             return stringdatas[0] + "." + wordindex;
         }
-        if (addressLength == 14 ) {
+        if (addressLength == 14) {
             int wordindex = index;
             int newIndex = wordindex + 13;
-            return stringdatas[0] + "." + wordindex +"-" + newIndex;
+            return stringdatas[0] + "." + wordindex + "-" + newIndex;
         }
         return null;
     }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
index e4f45f6..10a3b2f 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/device/PlcParameterObject.java
@@ -16,7 +16,6 @@
     private ArrayList<PlcParameterInfo> plcParameterList;
 
 
-
     /**
      * @return 鏁版嵁鍖哄紑濮嬪湴鍧�
      */
@@ -54,7 +53,7 @@
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeid 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -70,10 +69,9 @@
     }
 
 
-
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeids 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -116,13 +114,9 @@
     }
 
 
-
-
-
-
     /**
      * 娣诲姞鍙傛暟瀹炰緥
-     * 
+     *
      * @param param 鍙傛暟瀹炰緥
      */
     public void addPlcParameter(PlcParameterInfo param) {
@@ -136,14 +130,14 @@
 
     /**
      * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
-     * 
+     *
      * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
      */
     public void setPlcParameterList(byte[] plcValueArray) {
         if (plcParameterList != null) {
-          
+
             for (PlcParameterInfo plcParameterInfo : plcParameterList) {
-               
+
                 byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
 
 //                System.out.println(plcParameterInfo.getAddressLength());
@@ -152,54 +146,51 @@
                     Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
 
                 }
-                if (plcParameterInfo.getAddressLength()==2) { 
-                      plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
-                }
-                else if (plcParameterInfo.getAddressLength()==14) {
+                if (plcParameterInfo.getAddressLength() == 2) {
+                    plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+                } else if (plcParameterInfo.getAddressLength() == 14) {
                     plcParameterInfo.setValue((byteToHexString(valueList)));
-                }
-
-                else
-                {
+                } else {
                     String valuestr = new String(valueList);
                     plcParameterInfo.setValue(valuestr);
                 }
             }
         }
     }
-     /**
+
+    /**
      * short绫诲瀷杞琤yte[]
-     * 
+     *
      * @param s short绫诲瀷鍊�
      */
-    public static byte[] short2byte(short s){
-        byte[] b = new byte[2]; 
-        for(int i = 0; i < 2; i++){
-            int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
-            b[i] = (byte)((s >> offset)&0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
+    public static byte[] short2byte(short s) {
+        byte[] b = new byte[2];
+        for (int i = 0; i < 2; i++) {
+            int offset = 16 - (i + 1) * 8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+            b[i] = (byte) ((s >> offset) & 0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
         }
         return b;
-   }
-     /**
+    }
+
+    /**
      * byte[]绫诲瀷杞瑂hort
-     * 
+     *
      * @param b byte[]绫诲瀷鍊�
      */
-   public static short byte2short(byte[] b){
-       short l = 0;
-       for (int i = 0; i < 2; i++) {
-           l<<=8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8 
-           l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑  l = l | (b[i]&0xff)
-       }
-       return l;
-   }
+    public static short byte2short(byte[] b) {
+        short l = 0;
+        for (int i = 0; i < 2; i++) {
+            l <<= 8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
+            l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑  l = l | (b[i]&0xff)
+        }
+        return l;
+    }
 
     public static String byteToHexString(byte[] bytes) {
 
         String str = new String(bytes, StandardCharsets.UTF_8);
         return str;
     }
-
 
 
 }
\ No newline at end of file
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 448a4d5..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
@@ -8,7 +8,10 @@
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
@@ -37,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 43a8c82..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,7 +1,9 @@
 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;
@@ -15,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 1e13fdd..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
@@ -31,10 +31,26 @@
     public List<OptimizeProject> listByState(OptimizeRequest optimizeRequest) {
         log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ");
         LambdaQueryWrapper<OptimizeProject> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(OptimizeProject::getState,optimizeRequest.getState())
-                .like(StringUtils.isNotBlank(optimizeRequest.getProjectNo()),OptimizeProject::getProjectNo,optimizeRequest.getProjectNo())
-                .groupBy(OptimizeProject::getProjectNo);
+        wrapper.eq(OptimizeProject::getState, optimizeRequest.getState())
+                .like(StringUtils.isNotBlank(optimizeRequest.getProjectNo()), OptimizeProject::getProjectNo, optimizeRequest.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/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java
index 4352331..07a4c33 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/DatabaseDesignDocUtil.java
@@ -32,7 +32,7 @@
         //鏁版嵁婧�
         HikariConfig hikariConfig = new HikariConfig();
         hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
-        hikariConfig.setJdbcUrl("jdbc:mysql://10.153.19.150:3306/hangzhoumes"+"?serverTimezone=GMT%2B8");
+        hikariConfig.setJdbcUrl("jdbc:mysql://10.153.19.150:3306/hangzhoumes" + "?serverTimezone=GMT%2B8");
         hikariConfig.setUsername("root");
         hikariConfig.setPassword("beibo.123/");
         //璁剧疆鍙互鑾峰彇tables remarks淇℃伅
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
index 8888513..0bf1a9f 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/InitUtil.java
@@ -48,9 +48,9 @@
                 plcParameterInfo.setUnit(parameterObj.getStr("unit"));
                 plcParameterObject.addPlcParameter(plcParameterInfo);
             }
-           // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
-           // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
-           // plcParameterObject.setPlcParameterList(getplcvlues);
+            // byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02};
+            // byte[] getplcvlues = S7control.getinstance().ReadByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+            // plcParameterObject.setPlcParameterList(getplcvlues);
 
             return plcParameterObject;
         } catch (IOException e) {
@@ -96,21 +96,21 @@
         } catch (IOException e) {
             e.printStackTrace();
         }
-           //Boolean[] values1 = { false, true, true, true, false, false, true, false,
-          //  false, true ,true };
-   // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+        //Boolean[] values1 = { false, true, true, true, false, false, true, false,
+        //  false, true ,true };
+        // List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
 
 //        List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
 //        plcBitObject.setPlcBitList(getplcvlues);
         return plcBitObject;
     }
 
-//
+    //
     public static void readAndUpdateBitValues(PlcBitObject plcBitObject) {
 
-        Boolean[] values1 = { false, true, true, true, false, false, true, false,
-          false, true ,true };
-         List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
+        Boolean[] values1 = {false, true, true, true, false, false, true, false,
+                false, true, true};
+        List<Boolean> getplcvlues = new ArrayList<>(Arrays.asList(values1));
         //List<Boolean> getplcvlues = S7control.getinstance().ReadBits(plcBitObject.getPlcAddressBegin(), plcBitObject.getPlcAddressLength());
         plcBitObject.setPlcBitList(getplcvlues);
     }
@@ -118,11 +118,10 @@
 
     public static void readAndUpdateWordValues(PlcParameterObject plcParameterObject) {
 
-         byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03, 0x04,0x01, 0x02, 0x03,0x03};
-       // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
+        byte[] getplcvlues = {0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x04, 0x01, 0x02, 0x03, 0x03};
+        // byte[] getplcvlues = MockS7PLC.getInstance().readByte(plcParameterObject.getPlcAddressBegin(), plcParameterObject.getPlcAddressLength());
         plcParameterObject.setPlcParameterList(getplcvlues);
     }
-
 
 
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
new file mode 100644
index 0000000..156cd06
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/controller/UpPattenUsageController.java
@@ -0,0 +1,38 @@
+package com.mes.uppattenusage.controller;
+
+
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.utils.Result;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+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
+ * @since 2024-04-18
+ */
+@RestController
+@RequestMapping("/userinfo/up-patten-usage")
+@Slf4j
+public class UpPattenUsageController {
+
+    @Autowired
+    private UpPattenUsageService upPattenUsageService;
+    @ApiOperation("鏄剧ず姝e湪鍑虹墖鐨勫伐绋嬩俊鎭�")
+    @GetMapping("/prioritylist") //鏌ヨ鐜板湪涓婄墖鏈虹殑鐜荤拑淇℃伅
+    public Result<List<UpPattenUsage>> prioritylist() {
+        List<UpPattenUsage> glass = upPattenUsageService.prioritylist(1);
+        log.info("鏄剧ず宸ヤ綅涓婄殑鐜荤拑淇℃伅:{}", glass);
+        return Result.build(200, "", glass);
+    }
+}
+
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
new file mode 100644
index 0000000..680bc4d
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/entity/UpPattenUsage.java
@@ -0,0 +1,66 @@
+package com.mes.uppattenusage.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class UpPattenUsage implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍘熺墖浣跨敤鎯呭喌琛╥d
+     */
+      @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 宸ョ▼鍙�
+     */
+    private String engineeringId;
+
+    /**
+     * 鑶滅郴id
+     */
+    private Integer filmsId;
+
+    /**
+     * 瀹�
+     */
+    private Double width;
+
+    /**
+     * 楂�
+     */
+    private Double height;
+
+    /**
+     * 鍘氬害
+     */
+    private Double thickness;
+
+    /**
+     * 鍘熺墖鐗堝浘鐗囧簭
+     */
+    private Integer layoutSequence;
+
+    /**
+     * 鐘舵��
+     */
+    private Integer state;
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
new file mode 100644
index 0000000..a53a12b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/UpPattenUsageMapper.java
@@ -0,0 +1,16 @@
+package com.mes.uppattenusage.mapper;
+
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-18
+ */
+public interface UpPattenUsageMapper extends BaseMapper<UpPattenUsage> {
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml
new file mode 100644
index 0000000..2ec0f1a
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/mapper/xml/UpPattenUsageMapper.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.uppattenusage.mapper.UpPattenUsageMapper">
+
+</mapper>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
new file mode 100644
index 0000000..ff18b32
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/UpPattenUsageService.java
@@ -0,0 +1,17 @@
+package com.mes.uppattenusage.service;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  鏈嶅姟绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-18
+ */
+public interface UpPattenUsageService extends IService<UpPattenUsage> {
+     List<UpPattenUsage> prioritylist(int state);
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
new file mode 100644
index 0000000..ab87070
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -0,0 +1,35 @@
+package com.mes.uppattenusage.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.mes.uppattenusage.entity.UpPattenUsage;
+import com.mes.uppattenusage.service.UpPattenUsageService;
+import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-18
+ */
+@Service
+@Slf4j
+public class UpPattenUsageServiceImpl extends ServiceImpl<UpPattenUsageMapper, UpPattenUsage> implements UpPattenUsageService {
+    @Override
+    public List<UpPattenUsage> prioritylist(int state) {
+        log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷,宸ョ▼鍙峰仛闈炵┖鍒ゆ柇妯$硦鏌ヨ");
+        LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(UpPattenUsage::getState,state);
+        log.info("杩斿洖宸ョ▼淇℃伅");
+        return this.list(wrapper);
+    }
+
+
+
+}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java
index 653275e..e0153d2 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/MD5.java
@@ -8,8 +8,8 @@
 
     public static String encrypt(String strSrc) {
         try {
-            char hexChars[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
-                    '9', 'a', 'b', 'c', 'd', 'e', 'f' };
+            char hexChars[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8',
+                    '9', 'a', 'b', 'c', 'd', 'e', 'f'};
             byte[] bytes = strSrc.getBytes();
             MessageDigest md = MessageDigest.getInstance("MD5");
             md.update(bytes);
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java
index 539967c..f29b532 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/utils/ResultCodeEnum.java
@@ -9,7 +9,7 @@
 @Getter
 public enum ResultCodeEnum {
 
-    SUCCESS(200,"鎴愬姛"),
+    SUCCESS(200, "鎴愬姛"),
     FAIL(201, "澶辫触"),
     SERVICE_ERROR(2012, "鏈嶅姟寮傚父"),
     DATA_ERROR(204, "鏁版嵁寮傚父"),
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml
new file mode 100644
index 0000000..0c7707c
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.pp.mapper.OptimizeProjectMapper">
+
+    <resultMap id="sequenceMap" type="com.mes.uppattenusage.entity.UpPattenUsage">
+        <result property="engineeringId" column="project_no"/>
+        <result property="filmsId" column="glass_type"/>
+        <result property="width" column="width"/>
+        <result property="height" column="height"/>
+        <result property="thickness" column="glass_thickness"/>
+        <result property="layoutSequence" column="heat_layout_sort"/>
+        <result property="state" column="state"/>
+
+    </resultMap>
+
+    <select id="saveProject" parameterType="com.mes.pp.entity.request.OptimizeRequest" resultMap="sequenceMap">
+        select a.project_no, 1 as glass_type, a.width, a.height, REGEXP_REPLACE(b.glass_thickness, '\\D', '')as glass_thickness, a.heat_layout_sort, 0 as state
+        from optimize_detail a
+                 left join optimize_project b on a.project_no = b.project_no
+        where a.project_no = #{projectNo}
+    </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
index d64de87..81c937a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
@@ -29,5 +29,4 @@
     </properties>
 
 
-
 </project>
\ No newline at end of file
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 e1eb378..bf6e500 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
@@ -24,7 +24,7 @@
     public static void main(String[] args) {
         try {
             SpringApplication.run(CacheGlassModuleApplication.class, args);
-        }catch (Exception e){
+        } catch (Exception e) {
             log.error(e.getMessage());
         }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
index 06efda5..a97b2c6 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -2,8 +2,6 @@
 
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 import static com.mes.common.InitUtil.readAndUpdateWordValues;
 
@@ -26,11 +24,11 @@
     // private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
     // private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
     // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
-            
+
     // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
-            
+
     // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
-            
+
     // private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
     // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
 
@@ -44,7 +42,7 @@
     public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
     // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
     // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
-  
+
     // 绉佹湁鏋勯�犲嚱鏁�
     public PLCAutoMes() throws IOException {
         //config = new Configuration("config.properties");
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitInfo.java
index 0c0f241..fe3439d 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitInfo.java
@@ -1,77 +1,76 @@
 package com.mes.common;
 
 
+public class PlcBitInfo {
 
-public  class PlcBitInfo {
+    public PlcBitInfo(String startAddress) {
+        this.startAddress = startAddress;
+    }
 
-        public PlcBitInfo(String startAddress) {
-            this.startAddress = startAddress;
-        }
-        private String startAddress;
-        // 鍙傛暟鏍囪瘑
-        private String codeId;
+    private String startAddress;
+    // 鍙傛暟鏍囪瘑
+    private String codeId;
 
-        // 鍙傛暟鍚嶇О
-        private String name;
+    // 鍙傛暟鍚嶇О
+    private String name;
 
-        // 璇诲彇 鍙傛暟鍊�
-        private Boolean value;
-        // 鍙傛暟鍦板潃
-        private int addressIndex;
+    // 璇诲彇 鍙傛暟鍊�
+    private Boolean value;
+    // 鍙傛暟鍦板潃
+    private int addressIndex;
 
-        public String getCodeId() {
-            return this.codeId;
-        }
+    public String getCodeId() {
+        return this.codeId;
+    }
 
-        public void setCodeId(String codeId) {
-            this.codeId = codeId;
-        }
+    public void setCodeId(String codeId) {
+        this.codeId = codeId;
+    }
 
-        public String getName() {
-            return this.name;
-        }
+    public String getName() {
+        return this.name;
+    }
 
-        public void setName(String name) {
-            this.name = name;
-        }
+    public void setName(String name) {
+        this.name = name;
+    }
 
-        public Boolean getValue() {
-            return this.value;
-        }
+    public Boolean getValue() {
+        return this.value;
+    }
 
-        public void setValue(Boolean value) {
-            this.value = value;
-        } 
-         
+    public void setValue(Boolean value) {
+        this.value = value;
+    }
 
-        public int getAddressIndex() {
-            return this.addressIndex;
-        } 
-         /**
+
+    public int getAddressIndex() {
+        return this.addressIndex;
+    }
+
+    /**
      * 鑾峰彇鍦板潃
-     * 
+     *
      * @param index 绱㈠紩鍦板潃
      */
-        public String getAddress(int index) {
-            String[] stringdatas = this.startAddress.trim().split("\\.");
-            if (stringdatas.length < 2 )
-                return null;
-            int dbwindex = 0;
-            int bitindex = 0;
-             if (stringdatas.length == 3) {
-                dbwindex = Integer.parseInt(stringdatas[1]);
-                bitindex = Integer.parseInt(stringdatas[2]);
-            } else
-                return null; 
-              dbwindex+=index/8;
-              bitindex+=index%8;
-            return stringdatas[0]+"."+dbwindex+"."+bitindex;
-        }
-
-
+    public String getAddress(int index) {
+        String[] stringdatas = this.startAddress.trim().split("\\.");
+        if (stringdatas.length < 2)
+            return null;
+        int dbwindex = 0;
+        int bitindex = 0;
+        if (stringdatas.length == 3) {
+            dbwindex = Integer.parseInt(stringdatas[1]);
+            bitindex = Integer.parseInt(stringdatas[2]);
+        } else
+            return null;
+        dbwindex += index / 8;
+        bitindex += index % 8;
+        return stringdatas[0] + "." + dbwindex + "." + bitindex;
+    }
 
 
     public void setAddressIndex(int addressindex) {
-            this.addressIndex = addressindex;
-        } 
+        this.addressIndex = addressindex;
     }
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitObject.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitObject.java
index e01cb3c..4bd20de 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitObject.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcBitObject.java
@@ -50,7 +50,7 @@
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeid 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -67,7 +67,7 @@
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeid 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -112,7 +112,7 @@
 
     /**
      * 娣诲姞鍙傛暟瀹炰緥
-     * 
+     *
      * @param param 鍙傛暟瀹炰緥
      */
     public void addPlcBit(PlcBitInfo param) {
@@ -126,7 +126,7 @@
 
     /**
      * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
-     * 
+     *
      * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
      */
     public void setPlcBitList(List<Boolean> plcValueArray) {
@@ -136,7 +136,6 @@
             }
         }
     }
-   
 
-   
+
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterInfo.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterInfo.java
index 2ae2998..c4d17af 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterInfo.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterInfo.java
@@ -1,119 +1,121 @@
 package com.mes.common;
-public  class PlcParameterInfo {
-      public PlcParameterInfo(String startAddress) {
+
+public class PlcParameterInfo {
+    public PlcParameterInfo(String startAddress) {
         this.startAddress = startAddress;
-      } 
-        private String startAddress;
-        // 鍙傛暟鏍囪瘑
-        private String codeId;
+    }
 
-        // 鍙傛暟鍚嶇О
-        private String name;
+    private String startAddress;
+    // 鍙傛暟鏍囪瘑
+    private String codeId;
 
-        // 璇诲彇 鍙傛暟鍊�
-        private String value;
+    // 鍙傛暟鍚嶇О
+    private String name;
 
-        // // 鍐欏叆 鍙傛暟鍊�
-        // private String writeValue;
+    // 璇诲彇 鍙傛暟鍊�
+    private String value;
 
-        // 鍙傛暟鍗曚綅
-        private String unit;
+    // // 鍐欏叆 鍙傛暟鍊�
+    // private String writeValue;
 
-        // 鍙傛暟鍊艰浆鎹㈢郴鏁�
-        private int ratio;
+    // 鍙傛暟鍗曚綅
+    private String unit;
 
-        // 鍙傛暟鍦板潃
-        private int addressIndex;
+    // 鍙傛暟鍊艰浆鎹㈢郴鏁�
+    private int ratio;
 
-        // 鍙傛暟鍦板潃浣嶉暱搴�
-        private int addressLength;
+    // 鍙傛暟鍦板潃
+    private int addressIndex;
 
-        public String getCodeId() {
-            return this.codeId;
-        }
+    // 鍙傛暟鍦板潃浣嶉暱搴�
+    private int addressLength;
 
-        public void setCodeId(String codeId) {
-            this.codeId = codeId;
-        }
+    public String getCodeId() {
+        return this.codeId;
+    }
 
-        public String getName() {
-            return this.name;
-        }
+    public void setCodeId(String codeId) {
+        this.codeId = codeId;
+    }
 
-        public void setName(String name) {
-            this.name = name;
-        }
+    public String getName() {
+        return this.name;
+    }
 
-        public String getValue() {
-            return this.value;
-        }
+    public void setName(String name) {
+        this.name = name;
+    }
 
-        public void setValue(String value) {
-            this.value = value;
-        }
+    public String getValue() {
+        return this.value;
+    }
 
-        // public String getWriteValue() {
-        //     return this.writeValue;
-        // }
+    public void setValue(String value) {
+        this.value = value;
+    }
 
-        // public void setWriteValue(String writeValue) {
-        //     this.writeValue = writeValue;
-        // }
+    // public String getWriteValue() {
+    //     return this.writeValue;
+    // }
 
-        public String getUnit() {
-            return this.unit;
-        }
+    // public void setWriteValue(String writeValue) {
+    //     this.writeValue = writeValue;
+    // }
 
-        public void setUnit(String unit) {
-            this.unit = unit;
-        }
+    public String getUnit() {
+        return this.unit;
+    }
 
-        public int getAddressIndex() {
-            return this.addressIndex;
-        }
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
 
-        public void setAddressIndex(int addressindex) {
-            this.addressIndex = addressindex;
-        }
+    public int getAddressIndex() {
+        return this.addressIndex;
+    }
 
-        public int getAddressLength() {
-            return this.addressLength;
-        }
+    public void setAddressIndex(int addressindex) {
+        this.addressIndex = addressindex;
+    }
 
-        public void setAddressLength(int addresslength) {
-            this.addressLength = addresslength;
-        }
+    public int getAddressLength() {
+        return this.addressLength;
+    }
 
-        public int getRatio() {
-            return this.ratio;
-        }
+    public void setAddressLength(int addresslength) {
+        this.addressLength = addresslength;
+    }
 
-        public void setRatio(int ratio) {
-            this.ratio = ratio;
-        }
-       
+    public int getRatio() {
+        return this.ratio;
+    }
 
-           /**
+    public void setRatio(int ratio) {
+        this.ratio = ratio;
+    }
+
+
+    /**
      * 鑾峰彇鍦板潃
-     * 
+     *
      * @param index 绱㈠紩鍦板潃
      */
     public String getAddress(int index) {
         String[] stringdatas = this.startAddress.trim().split("\\.");
-        int addressLength=this.addressLength;
-        if (addressLength < 2 ){
+        int addressLength = this.addressLength;
+        if (addressLength < 2) {
             return null;
         }
 
-        if (addressLength == 2 ) {
+        if (addressLength == 2) {
             int wordindex = index;
 
             return stringdatas[0] + "." + wordindex;
         }
-        if (addressLength == 14 ) {
+        if (addressLength == 14) {
             int wordindex = index;
             //int newIndex = wordindex + 13;
-            return stringdatas[0] + "." + wordindex ;
+            return stringdatas[0] + "." + wordindex;
         }
         return null;
     }
@@ -122,7 +124,8 @@
 
         return addressIndex;
     }
+
     public String getAddress() {
-       return getAddress(this.addressIndex);
+        return getAddress(this.addressIndex);
     }
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterObject.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterObject.java
index 26736c3..e06fc12 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterObject.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcParameterObject.java
@@ -52,7 +52,7 @@
 
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeid 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -68,10 +68,9 @@
     }
 
 
-
     /**
      * 鏍规嵁鍙傛暟鏍囪瘑 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
-     * 
+     *
      * @param codeids 鍙傛暟鏍囪瘑
      * @return 鑾峰彇鏌愪釜鍙傛暟瀹炰緥
      */
@@ -114,13 +113,9 @@
     }
 
 
-
-
-
-
     /**
      * 娣诲姞鍙傛暟瀹炰緥
-     * 
+     *
      * @param param 鍙傛暟瀹炰緥
      */
     public void addPlcParameter(PlcParameterInfo param) {
@@ -134,14 +129,14 @@
 
     /**
      * 鏍规嵁PLC杩斿洖鐨勬暟鎹� 缁欏弬鏁板疄渚嬭祴鍊�
-     * 
+     *
      * @param plcValueArray PLC璇诲彇鍥炴潵鐨刡yte绫诲瀷鏁版嵁闆嗗悎
      */
     public void setPlcParameterList(byte[] plcValueArray) {
         if (plcParameterList != null) {
-          
+
             for (PlcParameterInfo plcParameterInfo : plcParameterList) {
-               
+
                 byte[] valueList = new byte[plcParameterInfo.getAddressLength()];
 
 //                System.out.println(plcParameterInfo.getAddressLength());
@@ -150,47 +145,45 @@
                     Array.setByte(valueList, i, plcValueArray[plcParameterInfo.getAddressIndex() + i]);
 
                 }
-                if (plcParameterInfo.getAddressLength()==2) { 
-                      plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
-                }
-                else if (plcParameterInfo.getAddressLength()==14) {
+                if (plcParameterInfo.getAddressLength() == 2) {
+                    plcParameterInfo.setValue(String.valueOf(byte2short(valueList)));
+                } else if (plcParameterInfo.getAddressLength() == 14) {
                     plcParameterInfo.setValue((byteToHexString(valueList)));
-                }
-
-                else
-                {
+                } else {
                     String valuestr = new String(valueList);
                     plcParameterInfo.setValue(valuestr);
                 }
             }
         }
     }
-     /**
+
+    /**
      * short绫诲瀷杞琤yte[]
-     * 
+     *
      * @param s short绫诲瀷鍊�
      */
-    public static byte[] short2byte(short s){
-        byte[] b = new byte[2]; 
-        for(int i = 0; i < 2; i++){
-            int offset = 16 - (i+1)*8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
-            b[i] = (byte)((s >> offset)&0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
+    public static byte[] short2byte(short s) {
+        byte[] b = new byte[2];
+        for (int i = 0; i < 2; i++) {
+            int offset = 16 - (i + 1) * 8; //鍥犱负byte鍗�4涓瓧鑺傦紝鎵�浠ヨ璁$畻鍋忕Щ閲�
+            b[i] = (byte) ((s >> offset) & 0xff); //鎶�16浣嶅垎涓�2涓�8浣嶈繘琛屽垎鍒瓨鍌�
         }
         return b;
-   }
-     /**
+    }
+
+    /**
      * byte[]绫诲瀷杞瑂hort
-     * 
+     *
      * @param b byte[]绫诲瀷鍊�
      */
-   public static short byte2short(byte[] b){
-       short l = 0;
-       for (int i = 0; i < 2; i++) {
-           l<<=8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8 
-           l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑  l = l | (b[i]&0xff)
-       }
-       return l;
-   }
+    public static short byte2short(byte[] b) {
+        short l = 0;
+        for (int i = 0; i < 2; i++) {
+            l <<= 8; //<<=鍜屾垜浠殑 +=鏄竴鏍风殑锛屾剰鎬濆氨鏄� l = l << 8
+            l |= (b[i] & 0xff); //鍜屼笂闈篃鏄竴鏍风殑  l = l | (b[i]&0xff)
+        }
+        return l;
+    }
 
     public static String byteToHexString(byte[] bytes) {
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java
index 088a7fd..3fe9ba4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageDetailsController.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
index 66a1712..1e7b87a 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/entity/EdgStorageCage.java
@@ -2,13 +2,14 @@
 
 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
@@ -23,7 +24,7 @@
     /**
      * 纾ㄨ竟鍓嶇悊鐗囩琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
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 b30af45..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
@@ -2,13 +2,14 @@
 
 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
@@ -23,8 +24,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/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
index e86fbc3..5b857ef 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/mapper/EdgStorageCageDetailsMapper.java
@@ -1,15 +1,11 @@
 package com.mes.edgstoragecage.mapper;
 
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 
-import java.util.List;
-import java.util.Map;
-
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
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 7a83c6a..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
@@ -6,7 +6,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
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 008cd26..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
@@ -2,14 +2,13 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
-import com.mes.glassinfo.entity.GlassInfo;
 
 import java.util.List;
 import java.util.Map;
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
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 3144313..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
@@ -15,7 +15,7 @@
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
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 082c2b3..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
@@ -9,7 +9,7 @@
 
 /**
  * <p>
- * 
+ *
  * </p>
  *
  * @author zhoush
@@ -24,7 +24,7 @@
     /**
      * 鐜荤拑淇℃伅琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
index 5bb1f2f..93bbc01 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
index 2969f2c..acd8f83 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -6,10 +6,10 @@
 @Data  //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
 @TableName("task_cache")
 public class TaskCache {
-    private  String ID;//浠诲姟缂栧彿
-    private  String startcell;//璧峰
-    private  String endcell;//缁撴潫
-    private  String tasktype;//浠诲姟绫诲瀷
-    private  String taskstauts;//浠诲姟鐘舵��
-   
+    private String ID;//浠诲姟缂栧彿
+    private String startcell;//璧峰
+    private String endcell;//缁撴潫
+    private String tasktype;//浠诲姟绫诲瀷
+    private String taskstauts;//浠诲姟鐘舵��
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java
index 3839bd5..ab38e20 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/HangzhouMesMapper.java
@@ -1,21 +1,21 @@
 package com.mes.taskcache.mapper;
 
 
-
-import java.util.List;
-import java.util.Map;
-
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.taskcache.entity.TaskCache;
 import org.apache.ibatis.annotations.*;
 
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 public interface HangzhouMesMapper {
-    
+
     // 鐜荤拑淇℃伅 鎸塈D鏌ヨ
     @Select("select * from `glass_info` where id=#{id}")
     GlassInfo selectGlassId(String id);
+
     // 鏌ヨ纾ㄨ竟淇℃伅
     @Select("select * from task_cache where task_type='2' and task_stauts='2' and end_cell=#{EndCell}")
     List<Map> selectEdgInfo(String EndCell);
@@ -34,7 +34,7 @@
 
     // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
     @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id=#{tempering_layout_id} and escd.tempering_feed_sequence<#{tempering_feed_sequence} and esc.remain_width-#{width}>0 order by escd.tempering_feed_sequence")
-    List<EdgStorageCageDetails> selectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,double width);
+    List<EdgStorageCageDetails> selectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence, double width);
 
     // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
     @Select("select escd.* from edg_storage_cage as esc LEFT JOIN edg_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null escd.tempering_layout_id<#{tempering_layout_id} and esc.remain_width-#{width}>0 order by escd.tempering_layout_id desc,escd.tempering_feed_sequence")
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java
index 4617917..8f2c0dc 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/mapper/PpMapper.java
@@ -1,23 +1,24 @@
 package com.mes.taskcache.mapper;
 
 
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 import java.util.Map;
 
-import org.apache.ibatis.annotations.*;
 //
 //@DS("pp")
 @Mapper
 public interface PpMapper {
-    
+
 //    // 閽㈠寲鎸夊伐绋嬫煡璇�
 //    @Select("select * from `v_optimize_heat_layout` where project_no=#{projeceid} ")
 //    List<Tempered> selectTemperedTerritory(String projeceid);
 
     // 鍒囧壊鐗堝浘 鎸夊伐绋�,鐗堝浘缂栧彿鏌ヨ
     @Select("select * from optimize_detail where project_no=#{projeceid} and stock_id=#{TerritoryId}")
-    List<Map> selectCutTerritory(String projeceid,String TerritoryId);
+    List<Map> selectCutTerritory(String projeceid, String TerritoryId);
 
     // 鍒囧壊鐗堝浘 鎸夊伐绋嬫煡璇�
     @Select("select * from optimize_detail where project_no=#{projeceid} ")
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java
index d4c5166..7c59022 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/HangzhoumesService.java
@@ -14,21 +14,22 @@
 
     @Autowired
     private HangzhouMesMapper hangzhouMesMapper;
+
     //鏍规嵁缂栧彿 鏌ユ壘鐜荤拑灏忕墖淇℃伅
-    public GlassInfo getUserInfo(String process_id){
+    public GlassInfo getUserInfo(String process_id) {
         return hangzhouMesMapper.selectGlassId(process_id);
     }
 
     //鐞嗙墖缂撳瓨 绗煎唴淇℃伅
-    public List<Map> SelectCageInfo(){
+    public List<Map> SelectCageInfo() {
         return hangzhouMesMapper.selectCachInfo();
     }
 
     //纾ㄨ竟灏忕墖淇℃伅
-    public List<Map> SelectEdgInfo(String line){
+    public List<Map> SelectEdgInfo(String line) {
         return hangzhouMesMapper.selectEdgInfo(line);
     }
 
-    
+
 }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java
index 6dcb8ff..d6b8f14 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/PpService.java
@@ -26,24 +26,26 @@
 //    }
 
     //鍒囧壊鐗堝浘   褰撳墠璇嗗埆鐗堝浘 
-    public List<Map> selectCutTerritory(){
+    public List<Map> selectCutTerritory() {
         //寰楀埌瑕佹樉绀虹殑 宸ョ▼ID 浠ュ強鐗堝浘ID
         //1.鍦℉angzhoumes鏁版嵁搴撻噷 寰楀埌鐩墠宸茬粡  棰嗗彇浣嗘湭瀹屾垚鐨� 宸ョ▼ID闆嗗悎
         //2.鎷垮伐绋嬮泦鍚堝幓PP鏁版嵁搴撻噷 寰楀埌瀵瑰簲鐨勫皬鐗囬泦鍚�
         //3.鎷垮搴旂殑灏忕墖闆嗗悎 涓� 缂撳瓨浠诲姟琛ㄨ繘琛屽姣� 鏌ユ壘涓嬩竴鐗堝浘鏄剧ず   
         String process_id = "P24032204";
         String territory_id = "1";
-        return selectInfoMapper.selectCutTerritory(process_id,territory_id);
-    }
-    //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙锋煡璇�   鎵�鏈夌増鍥惧皬鐗囨暟鎹�
-    public List<Map> selectCutTerritory(String process_id){
-        return selectInfoMapper.selectCutTerritory(process_id);
-    }
-    //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙�,鐗堝浘缂栧彿鏌ヨ   鐗堝浘缂栧彿閲屾墍鏈夊皬鐗囨暟鎹�
-    public List<Map> selectCutTerritory(String process_id,String TerritoryId){
-        return selectInfoMapper.selectCutTerritory(process_id,TerritoryId);
+        return selectInfoMapper.selectCutTerritory(process_id, territory_id);
     }
 
-    
+    //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙锋煡璇�   鎵�鏈夌増鍥惧皬鐗囨暟鎹�
+    public List<Map> selectCutTerritory(String process_id) {
+        return selectInfoMapper.selectCutTerritory(process_id);
+    }
+
+    //鍒囧壊鐗堝浘 鏍规嵁宸ョ▼鍙�,鐗堝浘缂栧彿鏌ヨ   鐗堝浘缂栧彿閲屾墍鏈夊皬鐗囨暟鎹�
+    public List<Map> selectCutTerritory(String process_id, String TerritoryId) {
+        return selectInfoMapper.selectCutTerritory(process_id, TerritoryId);
+    }
+
+
 }
 
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 029d7e0..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
@@ -24,7 +24,7 @@
      * 澶х悊鐗囩璇︽儏琛╥d
      */
       @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    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 60ba4df..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
@@ -18,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 e6d5946..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
@@ -17,7 +17,7 @@
 
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -30,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 db9fb95..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
@@ -21,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 a760643..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
@@ -21,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 54fa79a..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
@@ -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 c8e558e..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.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 a42018b..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
@@ -23,7 +23,7 @@
      * ID缂栧彿
      */
       @TableId("ID")
-    private String 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 28effe7..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
@@ -119,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 b9fa01f..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
         ) {
-            if((carwidth-gay-temperingGlassInfo.getWidth())>0){
-                //娣诲姞浠诲姟鍒颁换鍔¤〃
+            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/pom.xml b/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
index 0f8bb2e..b5c3882 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/pom.xml
@@ -2,7 +2,7 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-<parent>
+    <parent>
         <artifactId>moduleService</artifactId>
         <groupId>com.mes</groupId>
         <version>1.0-SNAPSHOT</version>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json
new file mode 100644
index 0000000..eed5688
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/JsonFile/PlcLoadGlass.json
@@ -0,0 +1,414 @@
+{
+   "plcAddressBegin":"DB14.0",
+   "plcAddressLenght":"208",
+   "dataType":"word",
+   "parameteInfor":[
+      {
+         "codeId": "PLCToMES",  
+         "addressIndex":"0",
+         "addressLenght":"2", 
+         "ratio":"1", 
+         "unit":"m/min"    
+      },
+      {
+          "codeId": "IDStatus1",
+          "addressIndex":"2",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"m/min"      
+       },
+       {
+          "codeId": "IDStatus2",
+          "addressIndex":"4",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"m/min"
+       },
+       {
+          "codeId": "IDStatus3",
+          "addressIndex":"6",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "IDStatus4",
+          "addressIndex":"8",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "IDStatus5",
+          "addressIndex":"10",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       }
+       ,
+       {
+          "codeId": "IDStatus6",
+          "addressIndex":"12",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "StautsID1",
+          "addressIndex":"14",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       }
+       ,
+       {
+          "codeId": "StautsID2",
+          "addressIndex":"16",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       }
+       ,
+       {
+          "codeId": "StautsID3",
+          "addressIndex":"18",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       }
+       ,
+       {
+          "codeId": "StautsID4",
+          "addressIndex":"20",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       }
+       ,
+       {
+          "codeId": "StautsID5",
+          "addressIndex":"22",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "StautsID6",
+          "addressIndex":"24",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "GaToMES",
+          "addressIndex":"26",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "Height",
+          "addressIndex":"28",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "width",
+          "addressIndex":"30",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "ExportTOMES1",
+          "addressIndex":"32",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       }
+       ,
+       {
+          "codeId": "ExportToMES2",
+          "addressIndex":"34",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       } ,
+       {
+          "codeId": "MESToPLC",
+          "addressIndex":"36",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       } ,
+       {
+          "codeId": "MESID1",
+          "addressIndex":"38",
+          "addressLenght":"14",
+          "ratio":"1",
+          "unit":"mm/S"
+       } ,
+       {
+          "codeId": "MESID2",
+          "addressIndex":"54",
+          "addressLenght":"14",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "MESID3",
+          "addressIndex":"70",
+          "addressLenght":"14",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "MESID4",
+          "addressIndex":"86",
+          "addressLenght":"14",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "MESID5",
+          "addressIndex":"102",
+          "addressLenght":"14",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "MESID6",
+          "addressIndex":"118",
+          "addressLenght":"14",
+          "ratio":"1",
+          "unit":"mm/S"
+       },
+       {
+          "codeId": "MESToPLCStart1",
+          "addressIndex":"134",
+          "addressLenght":"2",
+          "ratio":"1",
+          "unit":"mm/S"
+       },{
+         "codeId": "MESToPLCStart2",
+         "addressIndex":"136",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStart3",
+         "addressIndex":"138",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      }
+      ,{
+         "codeId": "MESToPLCStart4",
+         "addressIndex":"140",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      }
+      ,{
+         "codeId": "MESToPLCStart5",
+         "addressIndex":"142",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      }
+      ,{
+         "codeId": "MESToPLCStart6",
+         "addressIndex":"144",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCTarget1",
+         "addressIndex":"146",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCTarget2",
+         "addressIndex":"148",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCTarget3",
+         "addressIndex":"150",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCTarget4",
+         "addressIndex":"152",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCTarget5",
+         "addressIndex":"154",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCTarget6",
+         "addressIndex":"156",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStatus1",
+         "addressIndex":"158",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStatus2",
+         "addressIndex":"160",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStatus3",
+         "addressIndex":"162",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStatus4",
+         "addressIndex":"164",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStatus5",
+         "addressIndex":"166",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToPLCStatus6",
+         "addressIndex":"168",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "MESToGaStatus",
+         "addressIndex":"170",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "A01Err",
+         "addressIndex":"172",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "A02Err",
+         "addressIndex":"174",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "B01Err",
+         "addressIndex":"176",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "C01Err",
+         "addressIndex":"178",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "C02Err",
+         "addressIndex":"180",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "ErrSpace1",
+         "addressIndex":"182",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "ErrSpace2",
+         "addressIndex":"184",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "ErrSpace3",
+         "addressIndex":"186",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "B01Position",
+         "addressIndex":"188",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "C01Position",
+         "addressIndex":"190",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "C02Position",
+         "addressIndex":"192",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "DeviceState",
+         "addressIndex":"194",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "AllFVRun",
+         "addressIndex":"196",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "A01State",
+         "addressIndex":"198",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "A02State",
+         "addressIndex":"200",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "B01State",
+         "addressIndex":"202",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "C01State",
+         "addressIndex":"204",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      },{
+         "codeId": "C02State",
+         "addressIndex":"206",
+         "addressLenght":"2",
+         "ratio":"1",
+         "unit":"mm/S"
+      }
+   ]
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
index 4111dfe..45e5467 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/common/S7object.java
@@ -18,7 +18,7 @@
 
     private S7object() {
         if (plccontrol == null) {
-            plccontrol = new S7control(plcType, ip, port,0,0);
+            plccontrol = new S7control(plcType, ip, port, 0, 0);
         }
     }
 
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
index a988198..c95e08f 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/controller/UpPattenUsageController.java
@@ -2,12 +2,11 @@
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
index bde85bb..279f93b 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/entity/UpPattenUsage.java
@@ -2,13 +2,14 @@
 
 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
@@ -23,7 +24,7 @@
     /**
      * 鍘熺墖浣跨敤鎯呭喌琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
index 6e7b58b..4dca443 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/mapper/UpPattenUsageMapper.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
index 56f3fa2..bc3d5d7 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/UpPattenUsageService.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
index fade915..9f2301a 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/UpPattenUsageServiceImpl.java
@@ -1,14 +1,14 @@
 package com.mes.glassinfo.service.impl;
 
-import com.mes.glassinfo.entity.UpPattenUsage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.glassinfo.entity.UpPattenUsage;
 import com.mes.glassinfo.mapper.UpPattenUsageMapper;
 import com.mes.glassinfo.service.UpPattenUsageService;
 import org.springframework.stereotype.Service;
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
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 78c21a3..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
@@ -1,10 +1,10 @@
 package com.mes.workstation.controller;
 
 
+import com.mes.utils.Result;
 import com.mes.workstation.entity.GlassInfo;
 import com.mes.workstation.entity.UpWorkstation;
 import com.mes.workstation.service.UpWorkstationService;
-import com.mes.utils.Result;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,17 +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/entity/UpWorkstation.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
index 66a5c48..546b6a7 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/entity/UpWorkstation.java
@@ -2,13 +2,14 @@
 
 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
@@ -23,7 +24,7 @@
     /**
      * 涓婄墖宸ヤ綅琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java
index 83bc50b..aedecb4 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/workstation/mapper/LoadGlassMapper.java
@@ -1,16 +1,18 @@
 package com.mes.workstation.mapper;
+
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.mes.workstation.entity.UpWorkstation;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.Map;
 
-import org.apache.ibatis.annotations.*;
-import com.mes.workstation.entity.UpWorkstation;
 @Mapper
 public interface LoadGlassMapper extends BaseMapper<UpWorkstation> {
     //鍒ゆ柇浼樺厛宸ヤ綅鍚哥墖
     @Select("select b.layout_sequence,a.number from up_workstation a left join up_patten_usage b " +
             "on a.pattern_width=b.width and a.pattern_heigth=b.width " +
             "and a.pattern_thickness=b.thickness where a.workstation_id=#{id}")
-    Map<String,Object> selectPriority(int id);
-    
+    Map<String, Object> selectPriority(int 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 9639aa5..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
@@ -2,11 +2,11 @@
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-//import com.mes.common.S7object;
 import com.mes.workstation.entity.UpWorkSequence;
 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;
 
 /**
@@ -18,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/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml
new file mode 100644
index 0000000..2dce130
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/UpWorkstationMapper.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.workstation.mapper.UpWorkstationMapper">
+
+    <resultMap id="sequenceMap" type="com.mes.workstation.entity.UpWorkSequence">
+        <id property="sequence" column="layout_sequence"/>
+        <result property="number" column="number"/>
+    </resultMap>
+
+    <select id="selectPriority" resultMap="sequenceMap">
+        SELECT
+            b.layout_sequence,a."number"
+        FROM
+            up_workstation a
+                LEFT JOIN up_patten_usage b ON a.pattern_width = b.width
+                AND a.pattern_heigth = b.width
+                AND a.pattern_thickness = b.thickness
+        WHERE
+            a.workstation_id = #{id}
+    </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java
new file mode 100644
index 0000000..9f636a1
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/ApplicationTest.java
@@ -0,0 +1,33 @@
+package com.mes;
+
+import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.service.OptimizeDetailService;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/16 9:46
+ * @Description:
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = LoadGlassModuleApplication.class)
+public class ApplicationTest {
+
+
+    @Resource
+    OptimizeDetailService optimizationDetailService;
+
+    @Test
+    public void test() {
+        List<OptimizeDetail> list = optimizationDetailService.list();
+        System.out.println("鑾峰彇璁板綍鏁帮細" + list.size());
+    }
+}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
new file mode 100644
index 0000000..5ebb233
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/test/java/com/mes/LoadGlassModuleApplicationTest.java
@@ -0,0 +1,39 @@
+package com.mes;
+
+import com.mes.pp.entity.OptimizeProject;
+import com.mes.pp.mapper.OptimizeProjectMapper;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import javax.annotation.Resource;
+import java.util.Arrays;
+import java.util.List;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/27 16:37
+ * @Description:
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = LoadGlassModuleApplication.class)
+public class LoadGlassModuleApplicationTest {
+
+    @Resource
+    private OptimizeProjectMapper optimizeProjectMapper;
+
+    @Test
+    public void test() {
+//        List<OptimizeProject> list = optimizeProjectMapper.saveProject("P24032204");
+//        log.info("list:{}", list);
+
+    }
+
+    @Test
+    public void testFindPath() {
+        log.info("瀹屾暣璺緞锛歿}", Arrays.asList("123"));
+    }
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml b/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
index 2c23116..bce3faf 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/pom.xml
@@ -3,7 +3,7 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-          <artifactId>moduleService</artifactId>
+        <artifactId>moduleService</artifactId>
         <groupId>com.mes</groupId>
         <version>1.0-SNAPSHOT</version>
     </parent>
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
index 740d65a..c78f5bf 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/controller/TemperingGlassInfoController.java
@@ -1,12 +1,13 @@
 package com.mes.temperingglass.controller;
-import java.util.List;
 
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.service.TemperingOverService;
 import com.mes.temperingglass.service.TemperingService;
 import com.mes.utils.Result;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
 
 
 @RestController
@@ -16,7 +17,7 @@
 public class TemperingGlassInfoController {
 
     @Autowired
-     TemperingService temperingService;
+    TemperingService temperingService;
 
     @Autowired
     private TemperingOverService temperingOverService;
@@ -26,7 +27,7 @@
     public Result SelectWaitingGlass(@RequestParam(name = "ProcessId", required = false) String ProcessId) {
         List<TemperingGlassInfo> glass = temperingService.SelectWaitingGlass();
         System.out.println(glass);
-        return Result.build(200,"", glass);
+        return Result.build(200, "", glass);
     }
 
     @GetMapping("/SelectIntoGlass") // 鏌ヨ杩涚倝涓殑閽㈠寲绛夌墖涓殑鐗堝浘淇℃伅,鐘舵�佸叏涓�1鐨勪负宸插埌銆�
@@ -34,7 +35,7 @@
     public Result SelectIntoGlass(String ProcessId) {
         List<TemperingGlassInfo> glass = temperingService.SelectIntoGlass();
         System.out.println(glass);
-        return Result.build(200,"", glass);
+        return Result.build(200, "", glass);
     }
 
     @GetMapping("/SelectOutGlass") //閽㈠寲鍚庢樉绀哄嚭鐐夌殑鐗堝浘淇℃伅
@@ -42,10 +43,8 @@
     public Result SelectOutGlass(String ProcessId) {
         List<TemperingGlassInfo> glass = temperingOverService.SelectOutGlass();
         System.out.println(glass);
-        return Result.build(200,"", glass);
+        return Result.build(200, "", glass);
     }
 
-
-  
 
 }
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java
new file mode 100644
index 0000000..9ca72f2
--- /dev/null
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/GlassInfo.java
@@ -0,0 +1,131 @@
+package com.mes.temperingglass.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author zhoush
+ * @since 2024-04-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class GlassInfo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鐜荤拑淇℃伅琛╥d
+     */
+      @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 娴佺▼鍗�
+     */
+    private String flowcardId;
+
+    /**
+     * 娴佺▼鍗$幓鐠冪被鍨�
+     */
+    private Integer glassType;
+
+    /**
+     * 瀹�
+     */
+    private Double width;
+
+    /**
+     * 楂�
+     */
+    private Double height;
+
+    /**
+     * 鍘氬害
+     */
+    private Double thickness;
+
+    /**
+     * 鑶滅郴
+     */
+    private Integer filmsid;
+
+    /**
+     * 纾ㄥ墠瀹�
+     */
+    private Double edgWidth;
+
+    /**
+     * 纾ㄥ墠楂�
+     */
+    private Double edgHeight;
+
+    /**
+     * 鏄惁閰嶇墖
+     */
+    private Integer ismultiple;
+
+    /**
+     * 閰嶇墖鏈�澶у
+     */
+    private Double maxWidth;
+
+    /**
+     * 閰嶇墖鏈�澶ч珮
+     */
+    private Double maxHeight;
+
+    /**
+     * 閽㈠寲鏄惁鎺ュ彈妯斁
+     */
+    private Integer ishorizontal;
+
+    /**
+     * 鍘熺墖椤哄簭
+     */
+    private Integer patternSequence;
+
+    /**
+     * 閽㈠寲鐗堝浘id
+     */
+    private Integer temperingLayoutId;
+
+    /**
+     * 閽㈠寲鐗堝浘鐗囧簭
+     */
+    private Integer temperingFeedSequence;
+
+    /**
+     * x鍧愭爣
+     */
+    private Integer xCoordinate;
+
+    /**
+     * y鍧愭爣
+     */
+    private Integer yCoordinate;
+
+    /**
+     * 鏃嬭浆瑙掑害锛堥�嗘椂閽堬級
+     */
+    private Integer angle;
+
+    /**
+     * 宸ョ▼鍙�
+     */
+    private Long engineerId;
+
+    /**
+     * 鐢熶骇瑙勫垯id
+     */
+    private Integer ruleId;
+
+
+}
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
index ba66fca..8aaa9b1 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/entity/TemperingGlassInfo.java
@@ -2,13 +2,14 @@
 
 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
@@ -23,7 +24,7 @@
     /**
      * 閽㈠寲灏忕墖淇℃伅琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
index f8d3860..adc5786 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
index 0ce1942..36e9d45 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingGlassInfoService.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java
index f6d45f3..387d325 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingOverService.java
@@ -1,30 +1,36 @@
 package com.mes.temperingglass.service;
+
 import com.mes.temperingglass.entity.TemperingGlassInfo;
 import com.mes.temperingglass.mapper.TemperingMapper;
-import java.util.List;
 import org.springframework.stereotype.Service;
+
+import java.util.List;
 
 @Service
 public class TemperingOverService {
-private final TemperingMapper temperingMapper;
-   //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+    private final TemperingMapper temperingMapper;
+
+    //PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
     public TemperingOverService(TemperingMapper temperingMapper) {
         this.temperingMapper = temperingMapper;
     }
+
     //鎺ユ敹鍑虹倝淇″彿鍜岀倝鍙�
-    public String SelectOutSignal () {
-        
+    public String SelectOutSignal() {
+
         //S7control.getinstance().WriteWord("鍑虹倝淇″彿", (short)1);
         return "GlassInfo";
     }
+
     //鍙戦�佺‘璁ゆ敹鍒颁俊鍙�
-    public void OverSignal () {
+    public void OverSignal() {
         //S7control.getinstance().WriteWord("纭瀛�", (short)1);
     }
+
     //鏄剧ず閽㈠寲鍑虹倝鍚庣殑鐗堝浘淇℃伅
-    public List <TemperingGlassInfo> SelectOutGlass () {
+    public List<TemperingGlassInfo> SelectOutGlass() {
         return temperingMapper.SelectOutGlass();
     }
 
-       
+
 }
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
index bac2fa6..f122d7d 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/TemperingService.java
@@ -34,26 +34,29 @@
         int tempering = temperingMapper.SelectTempering(glassid);
         if (tempering == 1) {
             return 1;
-        }
-        else {
+        } else {
             return 0;
         }
     }
+
     //鍙戦�佽繘鐐変俊鍙�
-    public void SendIntoGlass (short start) {
+    public void SendIntoGlass(short start) {
         s7control.WriteWord("DB100.10", start);
     }
+
     //鎺ュ彈瀹屾垚瀛楀洖澶嶇‘璁ゅ瓧
-    public void SendIntoGlass () {
-        s7control.WriteWord("DB100.10", (short)1);
+    public void SendIntoGlass() {
+        s7control.WriteWord("DB100.10", (short) 1);
     }
+
     //鏄剧ず绛夊緟涓殑鐗堝浘
-    public List <TemperingGlassInfo> SelectWaitingGlass () {
+    public List<TemperingGlassInfo> SelectWaitingGlass() {
         List<TemperingGlassInfo> WaitingGlass = temperingMapper.SelectWaitingGlass();
         return WaitingGlass;
     }
+
     //鏄剧ず姝e湪杩涚倝鐨勭増鍥�
-    public List<TemperingGlassInfo> SelectIntoGlass () {
+    public List<TemperingGlassInfo> SelectIntoGlass() {
         List<TemperingGlassInfo> IntoGlass = temperingMapper.SelectInGlass();
         return IntoGlass;
     }
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
index d34064a..0687213 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/temperingglass/service/impl/TemperingGlassInfoServiceImpl.java
@@ -8,7 +8,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
index 2bafe07..27baa5d 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
@@ -25,8 +25,6 @@
         </dependency>
 
 
-
-
         <dependency>
             <groupId>com.github.yulichang</groupId>
             <artifactId>mybatis-plus-join</artifactId>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
index cd7139c..f3d0880 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/UnLoadGlassApplication.java
@@ -22,7 +22,6 @@
 public class UnLoadGlassApplication {
 
 
-
     public static void main(String[] args) {
         SpringApplication springApplication = new SpringApplication(UnLoadGlassApplication.class);
         ConfigurableApplicationContext applicationContext = springApplication.run(args);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
index a21fed9..e6eaef7 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -22,19 +22,19 @@
     private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
     private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
     private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
-//    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
+    //    private static String PlcParameter = PLCAutomaticParameterSettingReview2.class
 //            .getResource("/JsonFile/PlcParameter.json").getPath();
 //    private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json")
 //            .getPath();
 //    private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json")
 //            .getPath();
     private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
-   // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
+    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
 
     // 璋冪敤initword鏂规硶
 
-//
-   // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
+    //
+    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
     public static PlcParameterObject PlcMesObject = initUtil.initword(PlcMes);
     public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
     public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
@@ -65,15 +65,15 @@
 
             // System.out.println(jsonFilePath);
 
-          // readAndUpdateWordValues(PlcReadObject);
+            // readAndUpdateWordValues(PlcReadObject);
             readAndUpdateWordValues(PlcMesObject);
 //      readAndUpdateWordValues(PlcframeObject);
             // readAndUpdateWordValues(PlcframeObject);
 
             // readAndUpdateWordValues(plcStateObject);
-          //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
+            //  int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
             // System.out.println(index);
-          //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
+            //  PlcMesObject.getPlcParameter("AddStart").getAddress(index);
             // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
             List<String> addresses = new ArrayList<>();
             addresses.add("FeedID");
@@ -84,7 +84,7 @@
             addresses2.add("FeedID");
             addresses2.add("FeedCarStatus");
 
-         //   System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
+            //   System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
 
         }
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
index 32903a6..9a4a882 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/Plchome.java
@@ -1,62 +1,61 @@
-package com.mes.common;
-
-import cn.hutool.json.JSONObject;
-import com.mes.downworkstation.service.DownGlassLogic;
-import com.mes.tools.WebSocketServer;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-import java.util.ArrayList;
-import java.util.function.Supplier;
-
-@Component
-public class Plchome extends Thread {
-    private int i = 1;
-    private static final Logger log = LogManager.getLogger(Plchome.class);
-
-    private final Supplier<DownGlassLogic> plcServiceSupplier;
-
-    public Plchome() {
-        this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(DownGlassLogic.class);
-    }
-
-
-
-    @Override
-    public void run() {
-        while (!Thread.currentThread().isInterrupted()) {
-            try {
-                i++;
-                Thread.sleep(100);
-                DownGlassLogic plcService = plcServiceSupplier.get();
-               // plcService.performPlcActions();
-                //plcService.unloadpush();
-
-                //褰撲笅鐗囦换鍔¤〃鐘舵�佷负1鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
-                plcService.insertdownglassinfo();
-
-
-
-                //褰撴満姊版墜浠诲姟琛ㄤ腑鐘舵�佷负1 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑閭f潯璁板綍鍒犳帀 宸ヤ綅琛ㄦ祦绋嬪崱缁戝畾浜嗘灦瀛�
-                plcService.downWorkstation();
-
-
-            } catch (InterruptedException e) {
-                Thread.currentThread().interrupt();
-                e.printStackTrace();
-            }
-
-            JSONObject jsonObject = new JSONObject();
-            // System.out.println(arraylist6);
-            jsonObject.append("data", 1);
-            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
-            if (sendwServer != null) {
-                for (WebSocketServer webserver : sendwServer) {
-                    webserver.sendMessage(jsonObject.toString());
-                    log.info("鍑嗗鍚� WebSocket 鏈嶅姟鍣ㄥ彂閫佹秷鎭�: {}", jsonObject.toString());
-                }}
-
-        }
-    }
-}
+package com.mes.common;
+
+import cn.hutool.json.JSONObject;
+import com.mes.downworkstation.service.DownGlassLogic;
+import com.mes.tools.WebSocketServer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.function.Supplier;
+
+@Component
+public class Plchome extends Thread {
+    private int i = 1;
+    private static final Logger log = LogManager.getLogger(Plchome.class);
+
+    private final Supplier<DownGlassLogic> plcServiceSupplier;
+
+    public Plchome() {
+        this.plcServiceSupplier = () -> WebSocketServer.applicationContext.getBean(DownGlassLogic.class);
+    }
+
+
+    @Override
+    public void run() {
+        while (!Thread.currentThread().isInterrupted()) {
+            try {
+                i++;
+                Thread.sleep(100);
+                DownGlassLogic plcService = plcServiceSupplier.get();
+                // plcService.performPlcActions();
+                //plcService.unloadpush();
+
+                //褰撲笅鐗囦换鍔¤〃鐘舵�佷负1鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
+                plcService.insertdownglassinfo();
+
+
+                //褰撴満姊版墜浠诲姟琛ㄤ腑鐘舵�佷负1 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑閭f潯璁板綍鍒犳帀 宸ヤ綅琛ㄦ祦绋嬪崱缁戝畾浜嗘灦瀛�
+                plcService.downWorkstation();
+
+
+            } catch (InterruptedException e) {
+                Thread.currentThread().interrupt();
+                e.printStackTrace();
+            }
+
+            JSONObject jsonObject = new JSONObject();
+            // System.out.println(arraylist6);
+            jsonObject.append("data", 1);
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
+                    log.info("鍑嗗鍚� WebSocket 鏈嶅姟鍣ㄥ彂閫佹秷鎭�: {}", jsonObject.toString());
+                }
+            }
+
+        }
+    }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
index 26d30b5..429a6e0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/common/S7control.java
@@ -20,7 +20,7 @@
 
     private S7control() {
         if (s7PLC == null)
-            s7PLC = new S7PLC(plcType, ip, port,0,0);
+            s7PLC = new S7PLC(plcType, ip, port, 0, 0);
     }
 
     // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
@@ -34,14 +34,14 @@
         }
         return instance;
     }
-    
+
     /**
      * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
      */
     public void CloseS7client() {
         if (s7PLC == null)
             s7PLC.close();
-            s7PLC.checkConnected();
+        s7PLC.checkConnected();
     }
 
     /**
@@ -53,13 +53,12 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
-     * 
+     *
      * @param address 鍦板潃
      * @param data    word鐨勫��
      */
     public void WriteWord(String address, short data) {
-        if (s7PLC==null)
-        {
+        if (s7PLC == null) {
             return;
         }
         s7PLC.writeInt16(address, data);
@@ -67,12 +66,12 @@
 
     /**
      * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
     public void WriteWord(String address, List<Short> datas) {
-        if (s7PLC==null)
+        if (s7PLC == null)
             return;
         // s7PLC.write(address, data);
         List<String> addresslist = GetAddressList(address, datas.size(), 16);
@@ -85,36 +84,32 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
 
 
-
-
-
-
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
-     * 
+     *
      * @param address 鍦板潃
      * @param data    Bit鐨勫��
      */
     public void WriteBit(String address, Boolean data) {
-        if (s7PLC==null)
+        if (s7PLC == null)
             return;
         s7PLC.writeBoolean(address, data);
     }
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜bit
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   bit鐨勫��
      */
     public void WriteBit(List<String> address, List<Boolean> datas) {
-        if (s7PLC==null)
+        if (s7PLC == null)
             return;
         // s7PLC.write(address, data);
 
@@ -127,12 +122,12 @@
 
     /**
      * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
     public void WriteBit(String address, List<Boolean> datas) {
-        if (s7PLC==null)
+        if (s7PLC == null)
             return;
         // s7PLC.write(address, data);
         List<String> addresslist = GetAddressList(address, datas.size(), 1);
@@ -142,14 +137,15 @@
         }
         s7PLC.writeMultiData(addressWrite);
     }
-     /**
+
+    /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   byte鐨勫��
      */
     public void WriteByte(String address, byte[] datas) {
-        if (s7PLC==null)
+        if (s7PLC == null)
             return;
         // s7PLC.write(address, data); 
         s7PLC.writeByte(address, datas);
@@ -157,7 +153,7 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     * 
+     *
      * @param address 鍦板潃
      * @return 缁撴灉
      */
@@ -174,8 +170,6 @@
     }
 
 
-
-
     private int getIndexFromAddress(String address) {
 
         // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
@@ -190,7 +184,7 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     * 
+     *
      * @param address 鍦板潃
      * @param count   杩炵画璇诲灏戜釜word
      * @return 缁撴灉
@@ -211,19 +205,19 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇byte缁撴灉闆�
-     * 
+     *
      * @param address 鍦板潃
      * @param count   杩炵画璇诲灏戜釜byte
      * @return 缁撴灉
      */
     public byte[] ReadByte(String address, int count) {
-        if (s7PLC==null)
-             return null;
-       // List<String> addresslist = GetAddressList(address, count, 16);
+        if (s7PLC == null)
+            return null;
+        // List<String> addresslist = GetAddressList(address, count, 16);
 
         try {
             return s7PLC.readByte(address, count);
-        }catch (Exception e) {
+        } catch (Exception e) {
             // 澶勭悊寮傚父
             System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             return null;
@@ -238,55 +232,53 @@
      * @return Boolean缁撴灉
      */
     public List<Boolean> ReadBits(List<String> addresslist) {
-        if (s7PLC==null)
-             return null;
+        if (s7PLC == null)
+            return null;
         return s7PLC.readBoolean(addresslist);
     }
-//璇诲彇涓嶈繛缁湴鍧�bit
-public List<Boolean> readBits(List<String> addressList) {
-    if (s7PLC == null || addressList.isEmpty()) {
-        return null;
-    }
 
-    List<Boolean> values = new ArrayList<>();
-    for (String address : addressList) {
-        try {
-            boolean value = s7PLC.readBoolean(address);
-            values.add(value);
-        } catch (Exception e) {
-            // 澶勭悊寮傚父
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+    //璇诲彇涓嶈繛缁湴鍧�bit
+    public List<Boolean> readBits(List<String> addressList) {
+        if (s7PLC == null || addressList.isEmpty()) {
+            return null;
         }
-    }
 
-    return values;
-}
-
-
-//璇诲彇String
-public List<String> readStrings(List<String> addressList) {
-    if (s7PLC == null) {
-        return null;
-    }
-    List<String> result = new ArrayList<>();
-    for (String address : addressList) {
-        try {
-            byte[] bytes = s7PLC.readByte(address, 14);
-            if (bytes != null) {
-                String str = new String(bytes, StandardCharsets.UTF_8);
-                result.add(str);
+        List<Boolean> values = new ArrayList<>();
+        for (String address : addressList) {
+            try {
+                boolean value = s7PLC.readBoolean(address);
+                values.add(value);
+            } catch (Exception e) {
+                // 澶勭悊寮傚父
+                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
             }
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            result.add(null);
         }
+
+        return values;
     }
 
-    return result;
-}
 
+    //璇诲彇String
+    public List<String> readStrings(List<String> addressList) {
+        if (s7PLC == null) {
+            return null;
+        }
+        List<String> result = new ArrayList<>();
+        for (String address : addressList) {
+            try {
+                byte[] bytes = s7PLC.readByte(address, 14);
+                if (bytes != null) {
+                    String str = new String(bytes, StandardCharsets.UTF_8);
+                    result.add(str);
+                }
+            } catch (Exception e) {
+                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+                result.add(null);
+            }
+        }
 
-
+        return result;
+    }
 
 
     public List<String> readStringsandword(List<String> addressList) {
@@ -320,8 +312,7 @@
     }
 
 
-
-//涓嶈繛缁湴鍧�鍐欏叆Word
+    //涓嶈繛缁湴鍧�鍐欏叆Word
     public void WriteWord(List<String> address, List<Short> datas) {
         if (s7PLC == null)
             return;
@@ -331,16 +322,15 @@
             short data = datas.get(i);
 
             if (addr.contains("-")) {
-                outmesid(String.valueOf(data),addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
+                outmesid(String.valueOf(data), addr); // 鍗曠嫭澶勭悊甯︾牬鎶樺彿鐨勫湴鍧�
             } else {
                 s7PLC.writeInt16(addr, data); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
             }
         }
     }
-    
-    
-    
-//瀛楃涓插啓鍏�
+
+
+    //瀛楃涓插啓鍏�
     public void outmesid(String data, String addr) {
 //        System.out.println("outmesid: " + data);
         List<Byte> glassidlist = new ArrayList<>();
@@ -355,7 +345,7 @@
         S7control.getinstance().WriteByte(addr, bytes);
     }
 
-//璇诲彇涓嶈繛缁瓀ord
+    //璇诲彇涓嶈繛缁瓀ord
     public List<Short> readWords(List<String> addresses) {
         if (s7PLC == null) {
             return null;
@@ -378,17 +368,17 @@
         return data;
     }
 
-//璇诲彇鏃堕棿
-public Long readtime(String address) {
-    if (s7PLC == null)
-        return null;
-    try {
-        return s7PLC.readTime(address);
-    } catch (Exception e) {
-        System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-        return null;
+    //璇诲彇鏃堕棿
+    public Long readtime(String address) {
+        if (s7PLC == null)
+            return null;
+        try {
+            return s7PLC.readTime(address);
+        } catch (Exception e) {
+            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
+            return null;
+        }
     }
-}
 
 
     public void writetime(String address, long datas) {
@@ -398,9 +388,6 @@
 
         s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
     }
-
-
-
 
 
     private int extractAddressNumber(String address) {
@@ -427,14 +414,15 @@
             return null;
         }
 
-    };
-
-
-    public void writeString(String addr,String data) {
-        s7PLC.writeString(addr,data);
     }
-    
-    
+
+    ;
+
+
+    public void writeString(String addr, String data) {
+        s7PLC.writeString(addr, data);
+    }
+
 
     private List<String> GetAddressList(String address, int count, int addedbit) {
         List<String> addresslist = new ArrayList<String>();
@@ -452,8 +440,8 @@
         } else
             return null;
 
-            addresslist.add(address);
-        for (int i = 0; i < count-1; i++) {
+        addresslist.add(address);
+        for (int i = 0; i < count - 1; i++) {
 
             int bitcurrent = bitindex + addedbit;
             if (bitcurrent > 7) {
@@ -462,7 +450,7 @@
             } else
                 bitindex = bitcurrent;
 
-                String endstr=stringdatas.length==3?"." + bitindex:"";
+            String endstr = stringdatas.length == 3 ? "." + bitindex : "";
             addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
         }
         return addresslist;
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
index 4fdb170..beff854 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
@@ -19,10 +19,9 @@
         System.out.println("鍚姩瀹屾垚");
 
 
+        new PLCAutoMes().start();
 
-       new PLCAutoMes().start();
-
-    new Plchome().start();
+        new Plchome().start();
 
     }
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
index d8bde4a..0aa64b9 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java
@@ -1,20 +1,11 @@
 package com.mes.downglassinfo.controller;
 
-import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.service.DownGlassInfoService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/downGlassInfo")
 public class DownGlassInfoController {
-
-
-
-
-
 
 
     // Other endpoints can be added for CRUD operations
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
index 5919edf..ae4a15f 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
@@ -3,11 +3,13 @@
 
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
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 b871250..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
@@ -1,13 +1,14 @@
 package com.mes.downglassinfo.entity;
 
-import java.io.Serializable;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springframework.stereotype.Component;
 
+import java.io.Serializable;
+
 /**
  * <p>
- * 
+ *
  * </p>
  *
  * @author zhoush
@@ -23,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 6f70c14..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
@@ -2,13 +2,14 @@
 
 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
@@ -23,8 +24,8 @@
     /**
      * id
      */
-      @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
 
     /**
      * 璧峰
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
index 7fd31e5..7450c30 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassInfoMapper.java
@@ -2,13 +2,7 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.downglassinfo.entity.DownGlassInfo;
-import org.apache.ibatis.annotations.Delete;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
 import org.springframework.stereotype.Repository;
-
-import java.util.List;
 
 @Repository
 public interface DownGlassInfoMapper extends BaseMapper<DownGlassInfo> {
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
index 7fdfb20..cb91c98 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/mapper/DownGlassTaskMapper.java
@@ -1,15 +1,11 @@
 package com.mes.downglassinfo.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
index e3368d3..7ba3394 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassInfoService.java
@@ -6,12 +6,9 @@
 public interface DownGlassInfoService extends IService<DownGlassInfo> {
 
 
-
-
     Integer getMaxSequenceByFlowCardId(String flowCardId);
+
     void insertDownGlassInfo(DownGlassInfo downGlassInfo);
-
-
 
 
 }
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 cfa1764..cd89680 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
@@ -7,7 +7,7 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
@@ -18,8 +18,10 @@
     List<DownGlassTask> getUnloadingTaskState();
 
     void updateTaskStateToZero(String flowCardId);
+
     void deleteTask(String flowCardId);
 
-    DownGlassTask  selectLastOutCacheInfo(String endCell);
+    DownGlassTask selectLastOutCacheInfo(String endCell);
+
     Integer insertCacheTask(int 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/DownGlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
index 8138eab..e493c74 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassInfoServiceImpl.java
@@ -1,4 +1,5 @@
 package com.mes.downglassinfo.service.impl;
+
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.downglassinfo.entity.DownGlassInfo;
@@ -27,9 +28,6 @@
     public void insertDownGlassInfo(DownGlassInfo downGlassInfo) {
         baseMapper.insert(downGlassInfo);
     }
-
-
-
 
 
 }
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 9087138..31d78d0 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
@@ -5,7 +5,6 @@
 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.downglassinfo.entity.DownGlassInfo;
 import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.mapper.DownGlassTaskMapper;
 import com.mes.downglassinfo.service.DownGlassTaskService;
@@ -15,7 +14,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -23,7 +22,6 @@
  */
 @Service
 public class DownGlassTaskServiceImpl extends ServiceImpl<DownGlassTaskMapper, DownGlassTask> implements DownGlassTaskService {
-
 
 
     @Override
@@ -39,6 +37,7 @@
         updateWrapper.set("task_stauts", 0).eq("flow_card_id", flowCardId);
         baseMapper.update(null, updateWrapper);
     }
+
     @Override
     public void deleteTask(String flowCardId) {
         LambdaQueryWrapper<DownGlassTask> queryWrapper = new LambdaQueryWrapper<>();
@@ -46,6 +45,7 @@
 
         baseMapper.delete(queryWrapper);
     }
+
     @Override
     public DownGlassTask selectLastOutCacheInfo(String endCell) {
         QueryWrapper<DownGlassTask> queryWrapper = new QueryWrapper<>();
@@ -56,6 +56,7 @@
 
         return baseMapper.selectOne(queryWrapper);
     }
+
     @Override
     public Integer insertCacheTask(int id, String start, String end, String type, double width, double height, String filmsId, double thickness, String flowCardId) {
         DownGlassTask glassInfo = new DownGlassTask();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
index 6e666e2..82c4d3a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageController.java
@@ -2,12 +2,11 @@
 
 
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
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 f78f833..e7b0344 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
@@ -3,7 +3,10 @@
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
 @RestController
 @RequestMapping("/down-storage-cage-details")
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
index 833e9d8..e747ab1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/entity/DownStorageCage.java
@@ -2,13 +2,14 @@
 
 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
@@ -23,7 +24,7 @@
     /**
      * 涓嬬墖鍓嶇悊鐗囩琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
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 8bd7830..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
@@ -2,13 +2,14 @@
 
 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
@@ -23,8 +24,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/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
index 9c8a595..bdb011a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java
@@ -1,16 +1,16 @@
 package com.mes.downstorage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downstorage.entity.DownStorageCageDetails;
-import com.mes.glassinfo.entity.GlassInfo;
-import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 
 import java.util.List;
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
@@ -18,7 +18,7 @@
  */
 @Mapper
 public interface DownStorageCageDetailsMapper extends BaseMapper<DownStorageCageDetails> {
-//
+    //
 //    @Select("select * from `glass_info` where id=#{id}")
 //    GlassInfo SelectGlassId(String id);
     // 鏌ヨ绗煎瓙鍐呯┖闂�
@@ -27,7 +27,7 @@
 
     // 鏌ヨ绗﹀悎宸ヤ綅鐨勫嚭鐗囩幓鐠�
     @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot left join down_workstation as dw  on escd.flow_card_id=dw.flow_card_id WHERE escd.slot IS NOT NULL and dw.workstation_id BETWEEN #{start} and #{end} order by escd.tempering_layout_id,escd.tempering_feed_sequence")
-    List<DownStorageCageDetails> SelectCacheOut(int start,int end);
+    List<DownStorageCageDetails> SelectCacheOut(int start, int end);
 
     // 鏌ヨ绗煎瓙鍐呬俊鎭�
     @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot order by esc.slot")
@@ -64,7 +64,7 @@
 
     // 娣诲姞涓嬬墖浠诲姟
     @Insert("INSERT into down_glass_task VALUES(#{id},#{start},#{end},#{type},0,)")
-    Integer insertCacheTask(String id, String start, String end, String type,double width,double height,Integer filmsId,double thickness,String flowCardId);
+    Integer insertCacheTask(String id, String start, String end, String type, double width, double height, Integer filmsId, double thickness, String flowCardId);
 
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java
index 7e42ee7..ff19df6 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java
@@ -5,7 +5,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
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 8a505fa..ce6d4e3 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
@@ -3,15 +3,12 @@
 import com.mes.common.PLCAutoMes;
 import com.mes.common.S7control;
 import com.mes.device.PlcParameterObject;
-
-import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downglassinfo.service.DownGlassTaskService;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
-import com.mes.downworkstation.mapper.DownWorkstationMapper;
-import com.mes.tools.WebSocketServer;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.tools.WebSocketServer;
 import lombok.Data;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -28,24 +25,24 @@
     private DownGlassTaskService downGlassTaskService;
 
     /**
-     * @param Number
-     *    //璇嗗埆閫昏緫    涓嶄氦浜�
+     * @param Number //璇嗗埆閫昏緫    涓嶄氦浜�
      */
 
-    public void identify(String Number){
+    public void identify(String Number) {
         //鏌ヨ浠诲姟
-        PlcParameterObject plcmes= PLCAutoMes.PlcMesObject;
-        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
-        String s=S7control.getinstance().ReadWord("DB14.26", 1).get(0)+"";
-        boolean isexist=isExist(Number);
+        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
+        String s = S7control.getinstance().ReadWord("DB14.26", 1).get(0) + "";
+        boolean isexist = isExist(Number);
         if (isexist) {
             //瀛樺湪閫昏緫    1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
             //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
-        }else {
+        } else {
             //涓嶅瓨鍦ㄩ�昏緫  1.鍥炲PLC涓嶅瓨鍦�
             //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 2);
         }
     }
+
     //涓嬬墖鍓嶇悊鐗�
     public static final String RESULT_IN = "1";
     public static final String RESULT_OUT = "2";
@@ -75,44 +72,44 @@
 
     /**
      * @param Number
-     * @return
-     *   //涓嬬墖鍓嶇悊鐗� 杩�
+     * @return //涓嬬墖鍓嶇悊鐗� 杩�
      */
 
-    public boolean processInto(String Number){
+    public boolean processInto(String Number) {
         GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
         //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
-        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
-        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
+        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
         //瀛樺湪姝ょ幓鐠冪紪鍙�
-        if(GlassInfo!=null){
+        if (GlassInfo != null) {
             //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
-            List<DownStorageCageDetails> list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getTemperingFeedSequence(),GlassInfo.getWidth());
+            List<DownStorageCageDetails> list = selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(), GlassInfo.getTemperingFeedSequence(), GlassInfo.getWidth());
             //绌烘爡鏍煎彿
-            if (list.size()==0) {
-                list=selectInfo.SelectCacheLeisure();
+            if (list.size() == 0) {
+                list = selectInfo.SelectCacheLeisure();
             }
             //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
-            if(list.size()==0){
-                list=selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(),GlassInfo.getWidth());
+            if (list.size() == 0) {
+                list = selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(), GlassInfo.getWidth());
             }
-            if(list.size()>0){
+            if (list.size() > 0) {
                 //瀛樺湪绌烘牸  
                 //1.鐢熸垚浠诲姟锛�  璧峰浣嶇疆0   缁撴潫浣嶇疆this.slot  浠诲姟绫诲瀷 1   锛堣繘鐗囦换鍔★級
                 //2.鍥炲 1杩涚墖
-                DownStorageCageDetails item=list.get(0);
-                selectInfo.insertCacheTask(GlassInfo.getId()+"","0",item.getSlot()+"","1",GlassInfo.getWidth(),GlassInfo.getHeight(),GlassInfo.getFilmsid(),GlassInfo.getThickness(),GlassInfo.getFlowcardId());
+                DownStorageCageDetails item = list.get(0);
+                selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId());
 
-                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
+                S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1);
                 return true;
             }
-            
-        }else{
+
+        } else {
             // ID缂栧彿涓嶅瓨鍦�   涓嶅鐞�/鍥炲PLC  杩涜鎶ヨ鎻愮ず
         }
         //杩斿洖缁撴灉
         return false;
     }
+
     //鐞嗙墖 鍑�
     public boolean processOut() {
         // 鏌ヨ浠诲姟
@@ -122,7 +119,7 @@
         PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
         List<DownStorageCageDetails> list = selectInfo.SelectCacheOut(1, 5);
         List<DownStorageCageDetails> list2 = selectInfo.SelectCacheOut(6, 10);
-        List<DownStorageCageDetails>  list3 = selectInfo.SelectCacheOut(1, 10);
+        List<DownStorageCageDetails> list3 = selectInfo.SelectCacheOut(1, 10);
 
         // 鎸夌収椤哄簭绗﹀悎鍓嶇鍑虹墖
         if (!list.isEmpty()) {
@@ -169,22 +166,21 @@
 //    }
 
     /**
-     * @param Number
-     *  //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+     * @param Number //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
      */
 
-    public void processMb(String Number){
-          //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
-        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
-        PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
-        if(GlassInfo!=null){
+    public void processMb(String Number) {
+        //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
+        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
+        PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
+        if (GlassInfo != null) {
             //鍙戦�佷换鍔�   ID   闀� 瀹� 鍘� 鍊掕 宸ヨ壓鍔熻兘绛�
-            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(),"N10000");  
-            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");  
-            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(),"800");  
-            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(),"60");  
-            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");  
-            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");   
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.22").getAddress(), "N10000");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.24").getAddress(), "1000");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.26").getAddress(), "800");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "60");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.30").getAddress(), "2");
+            S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
         }
         //杩斿洖缁撴灉
     }
@@ -192,14 +188,13 @@
 
     /**
      * @param Number
-     * @return
-     * 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+     * @return 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
      */
-    public boolean selectMessageId(String Number){
+    public boolean selectMessageId(String Number) {
         //鏌ヨ鏄惁瀛樺湪
 
-        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
-        if(GlassInfo==null){
+        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
+        if (GlassInfo == null) {
             //杩斿洖 涓嶅瓨鍦�
             return false;
 
@@ -210,38 +205,35 @@
 
     /**
      * @param Number
-     * @return
-     *   鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
+     * @return 鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹�
      */
 
-    public boolean deleteMessageId(String Number){
+    public boolean deleteMessageId(String Number) {
         //鏌ヨ鏄惁瀛樺湪
-        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
-        if(GlassInfo==null){
+        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
+        if (GlassInfo == null) {
             //杩斿洖 涓嶅瓨鍦�
             return false;
         }
         //杩斿洖 瀛樺湪
         return true;
     }
-
 
 
     /**
      * @param Number
-     * @return
-     *   //鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
+     * @return //鏄惁瀛樺湪姝ょ紪鍙风幓鐠�
      */
-    public boolean isExist(String Number){
+    public boolean isExist(String Number) {
         //鏌ヨ鏄惁瀛樺湪
-        GlassInfo GlassInfo=GlassInfoService.selectGlassId(Number);
-        if(GlassInfo==null){
+        GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
+        if (GlassInfo == null) {
             //杩斿洖 涓嶅瓨鍦�
             return false;
         }
         //杩斿洖 瀛樺湪
         return true;
     }
-    
+
 }
 
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
index a5c57bc..bbe9a5c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java
@@ -7,6 +7,4 @@
     void addDownStorageCageDetails(DownStorageCageDetails details);
 
 
-
-
 }
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 87595f5..76a7993 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
@@ -8,7 +8,7 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index cb8604a..877de8e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
@@ -15,7 +15,5 @@
     }
 
 
-
-
     // Other business methods can be implemented here
 }
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 618c2b1..fe93e4a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,7 +1,7 @@
 package com.mes.downstorage.service.impl;
 
-import com.mes.downstorage.entity.DownStorageCage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.entity.DownStorageCage;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,7 +12,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -22,10 +22,13 @@
 public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
     @Autowired
     private DownStorageCageMapper downStorageCageMapper;
+
     @Override
-    public List<Map> gettask(){
+    public List<Map> gettask() {
         downStorageCageMapper.selectList(null);
 //        downStorageCageMapper.selectJoin();
         return null;
-    };
+    }
+
+    ;
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
index 8788d0e..b08f73b 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java
@@ -15,7 +15,7 @@
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -34,7 +34,7 @@
     @GetMapping("/getone")
     public ResponseEntity<?> getOneDownWorkstations() {
         try {
-            List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1,5);
+            List<DownWorkstation> data = downWorkstationService.getoneDownWorkstations(1, 5);
             // 鏋勫缓绗﹀悎棰勬湡鏍煎紡鐨勫搷搴旀暟鎹�
             Map<String, Object> responseData = new HashMap<>();
             responseData.put("code", 200);
@@ -54,8 +54,9 @@
 
     @GetMapping("/gettwo")
     public List<DownWorkstation> gettwoDownWorkstations() {
-        return downWorkstationService.getoneDownWorkstations(6,10);
+        return downWorkstationService.getoneDownWorkstations(6, 10);
     }
+
     @GetMapping("/getflowCardId")
     public ResponseEntity<Map<String, Object>> getflowCardId() {
         Map<String, Object> responseData = new HashMap<>();
@@ -74,8 +75,7 @@
     }
 
 
-
-//缁戝畾鏋跺瓙
+    //缁戝畾鏋跺瓙
     @PostMapping("/updateFlowCardId")
     public ResponseEntity<Map<String, Object>> updateFlowCardId(@RequestBody Map<String, Object> requestData) {
         // 浠� requestData 涓幏鍙栦紶鍏ョ殑 flowCardId
@@ -113,8 +113,7 @@
             responseData.put("code", 200);
             // 杩斿洖澶勭悊缁撴灉
             return ResponseEntity.ok(responseData);
-        }
-        else {
+        } else {
             // 濡傛灉鎬绘暟閲忓拰钀芥灦鏁伴噺涓嶄竴鑷达紝杩斿洖閿欒鍝嶅簲
             Map<String, Object> errorResponse = new HashMap<>();
             errorResponse.put("message", "Total workstations count does not match down workstations count.");
@@ -126,10 +125,6 @@
         // 鏋勫缓鍝嶅簲鏁版嵁
 
     }
-
-
-
-
 
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
index 9e83179..396acb1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationTaskController.java
@@ -1,12 +1,11 @@
 package com.mes.downworkstation.controller;
 
 import org.springframework.web.bind.annotation.RequestMapping;
-
 import org.springframework.web.bind.annotation.RestController;
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
index c0b4824..e9f6e7a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/entity/DownWorkstation.java
@@ -3,13 +3,14 @@
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 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,7 +25,7 @@
     /**
      * 涓嬬墖宸ヤ綅琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Integer id;
 
     /**
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 54fe265..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
@@ -2,13 +2,14 @@
 
 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
@@ -23,8 +24,8 @@
     /**
      * id
      */
-      @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
+    @TableId(value = "id", type = IdType.AUTO)
+    private Long id;
 
     /**
      * 瀹�
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
index 8607c8d..29165dd 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationMapper.java
@@ -3,18 +3,16 @@
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.entity.DownGlassTask;
 import com.mes.downworkstation.entity.DownWorkstation;
-import org.apache.ibatis.annotations.*;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
@@ -29,7 +27,7 @@
 public interface DownWorkstationMapper extends BaseMapper<DownWorkstation> {
 
 
-//鏌ヨ宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
+    //鏌ヨ宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
     @Select("SELECT dwt.flow_card_id,dw.id,dw.racks_number FROM down_workstation_task dwt JOIN down_workstation dw ON dwt.flow_card_id = dw.flow_card_id WHERE dwt.state = 1 LIMIT 1")
     List<DownWorkstation> selectdownWorkstationstate();
 
@@ -52,17 +50,12 @@
 //    void updateFlowCardId(DownWorkstation downWorkstation);
 
 
-
-
-
-
 //    @Update("UPDATE down_workstation_task SET state = 0 WHERE flow_card_id = #{flowCardId}")
 //    void update_task_state_to_zero(@Param("flowCardId") String flowCardId);
 
 
 //    @Select("SELECT * FROM down_workstation WHERE workstation_id BETWEEN #{startId} AND #{endId}")
 //    List<DownWorkstation> getDownWorkstationsInRange(@Param("startId") int startId, @Param("endId") int endId);
-
 
 
 //    @Select("SELECT DISTINCT  flowcard_id from glass_info")
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
index 1183e63..b9209fc 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/mapper/DownWorkstationTaskMapper.java
@@ -8,7 +8,7 @@
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
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 150a27a..12efb2c 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
@@ -1,160 +1,155 @@
-package com.mes.downworkstation.service;
-
-import com.mes.common.PLCAutoMes;
-import com.mes.downglassinfo.entity.DownGlassInfo;
-import com.mes.downglassinfo.entity.DownGlassTask;
-import com.mes.downglassinfo.service.DownGlassInfoService;
-import com.mes.downglassinfo.service.DownGlassTaskService;
-import com.mes.downstorage.entity.DownStorageCageDetails;
-import com.mes.downworkstation.entity.DownWorkstation;
-import com.mes.device.PlcParameterObject;
-import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
-import com.mes.downworkstation.mapper.DownWorkstationMapper;
-import com.mes.tools.WebSocketServer;
-import lombok.Data;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Data
-@Service
-public class DownGlassLogic {
-    @Autowired
-    private DownGlassInfo downGlassInfo;
-    private DownWorkstation downWorkstation;
-    private DownGlassInfoMapper downGlassInfoMapper;
-    private DownGlassInfoService downGlassInfoService;
-    private DownGlassTaskService downGlassTaskService;
-    private DownWorkstationMapper downWorkstationMapper;
-    private DownWorkstationService downWorkstationService;
-    private DownWorkstationTaskService downWorkstationTaskService;
-    PlcParameterObject plcread = PLCAutoMes.PlcReadObject;
-    /**
-     * // 鏈烘鎵�1PLC璇锋眰瀛�
-     */
-    String robot1PLCrequestword = plcread.getPlcParameter("A01Position").getValue();
-    /**
-     * // 鏈烘鎵�2PLC璇锋眰瀛�
-     */
-    String robot2PLCrequestword = plcread.getPlcParameter("A01Position").getValue();
-    /**
-     * // 鐜荤拑id
-     */
-    String glassID = plcread.getPlcParameter("A01Position").getValue();
-    String glasswidth = plcread.getPlcParameter("A01Position").getValue();
-    String glassheight = plcread.getPlcParameter("A01Position").getValue();
-    //
-    String glassthickness = plcread.getPlcParameter("A01Position").getValue();
-    String pLcwancheng = plcread.getPlcParameter("A01Position").getValue();
-
-    /**
-     * // 瀛樻斁寰呭鐞嗙殑鐜荤拑淇℃伅
-     */
-    private List<DownGlassInfo> glassList;
-    /**
-     * 瀛樻斁鐜荤拑鏀剧疆鍦ㄧ紦瀛樼涓殑璇︾粏淇℃伅
-     */
-    private List<DownStorageCageDetails> cageDetailsList;
-
-    /**
-     * //褰撲笅鐗囦换鍔¤〃鐘舵�佷负1鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
-     */
-
-    public void insertdownglassinfo() {
-
-
-      downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
-        downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
-        downWorkstationTaskService = WebSocketServer.applicationContext.getBean(DownWorkstationTaskService.class);
-        downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
-      downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
-        downGlassTaskService = WebSocketServer.applicationContext.getBean(DownGlassTaskService.class);
-        List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
-//
-
-
-        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
-
-//
-
-            for (DownGlassTask downGlassInfo : taskdownGlassInf) {
-                // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
-                DownGlassInfo newdownGlassInfo = new DownGlassInfo();
-
-                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
-                Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
-                // 鍒濆鍖栭『搴忓瓧娈靛��
-                int sequence = maxSequence != null ? maxSequence + 1 : 1;
-
-                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
-                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
-                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
-                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
-                // 璁剧疆椤哄簭瀛楁鍊�
-                newdownGlassInfo.setSequence(sequence);
-
-                // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
-                downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
-                //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
-
-                downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
-                //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
-                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId());
-
-                sequence++; // 閫掑椤哄簭瀛楁鍊�
-
-
-            }
-        }
-    }
-
-
-    /**
-     * //褰撴満姊版墜浠诲姟琛ㄤ腑鐘舵�佷负1锛屽伐浣嶈〃娴佺▼鍗$粦瀹氫簡鏋跺瓙 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑瀵瑰簲璁板綍鍒犳帀
-     */
-
-    public void downWorkstation() {
-
-
-        try {
-            //鏌ヨ涓嬬墖宸ヤ綅琛ㄤ腑鏋跺瓙鏄惁缁戝畾浜嗘祦绋嬪崱鍙� 宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
-            List<DownWorkstation> taskdownWorkstation = downWorkstationMapper.selectdownWorkstationstate();
-            if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
-                //锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                for (DownWorkstation downWorkstation : taskdownWorkstation) {
-                    //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
-                    downWorkstationService.updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
-                    //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
-                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getFlowCardId());
-                    //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                    downGlassTaskService.deleteTask(downWorkstation.getFlowCardId());
-
-                }
-            }
-        } catch (Exception e) {
-            // 鎵撳嵃寮傚父淇℃伅
-            e.printStackTrace();
-            // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
-        }
-
-
-    }
-
-
-
-
-
-
-
-    /**
-     * @param downWorkstation // 婊℃灦鎷夎蛋 娓呴櫎娴佺▼鍗′俊鎭�
-     */
-
-//    public void clearFlowCardId(DownWorkstation downWorkstation) {
-//
-//        downWorkstationMapper.clearFlowCardId(downWorkstation);
-//    }
-
-
+package com.mes.downworkstation.service;
+
+import com.mes.common.PLCAutoMes;
+import com.mes.device.PlcParameterObject;
+import com.mes.downglassinfo.entity.DownGlassInfo;
+import com.mes.downglassinfo.entity.DownGlassTask;
+import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
+import com.mes.downglassinfo.service.DownGlassInfoService;
+import com.mes.downglassinfo.service.DownGlassTaskService;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downworkstation.entity.DownWorkstation;
+import com.mes.downworkstation.mapper.DownWorkstationMapper;
+import com.mes.tools.WebSocketServer;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Data
+@Service
+public class DownGlassLogic {
+    @Autowired
+    private DownGlassInfo downGlassInfo;
+    private DownWorkstation downWorkstation;
+    private DownGlassInfoMapper downGlassInfoMapper;
+    private DownGlassInfoService downGlassInfoService;
+    private DownGlassTaskService downGlassTaskService;
+    private DownWorkstationMapper downWorkstationMapper;
+    private DownWorkstationService downWorkstationService;
+    private DownWorkstationTaskService downWorkstationTaskService;
+    PlcParameterObject plcread = PLCAutoMes.PlcReadObject;
+    /**
+     * // 鏈烘鎵�1PLC璇锋眰瀛�
+     */
+    String robot1PLCrequestword = plcread.getPlcParameter("A01Position").getValue();
+    /**
+     * // 鏈烘鎵�2PLC璇锋眰瀛�
+     */
+    String robot2PLCrequestword = plcread.getPlcParameter("A01Position").getValue();
+    /**
+     * // 鐜荤拑id
+     */
+    String glassID = plcread.getPlcParameter("A01Position").getValue();
+    String glasswidth = plcread.getPlcParameter("A01Position").getValue();
+    String glassheight = plcread.getPlcParameter("A01Position").getValue();
+    //
+    String glassthickness = plcread.getPlcParameter("A01Position").getValue();
+    String pLcwancheng = plcread.getPlcParameter("A01Position").getValue();
+
+    /**
+     * // 瀛樻斁寰呭鐞嗙殑鐜荤拑淇℃伅
+     */
+    private List<DownGlassInfo> glassList;
+    /**
+     * 瀛樻斁鐜荤拑鏀剧疆鍦ㄧ紦瀛樼涓殑璇︾粏淇℃伅
+     */
+    private List<DownStorageCageDetails> cageDetailsList;
+
+    /**
+     * //褰撲笅鐗囦换鍔¤〃鐘舵�佷负1鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
+     */
+
+    public void insertdownglassinfo() {
+
+
+        downWorkstationMapper = WebSocketServer.applicationContext.getBean(DownWorkstationMapper.class);
+        downWorkstationService = WebSocketServer.applicationContext.getBean(DownWorkstationService.class);
+        downWorkstationTaskService = WebSocketServer.applicationContext.getBean(DownWorkstationTaskService.class);
+        downGlassInfoService = WebSocketServer.applicationContext.getBean(DownGlassInfoService.class);
+        downGlassInfoMapper = WebSocketServer.applicationContext.getBean(DownGlassInfoMapper.class);
+        downGlassTaskService = WebSocketServer.applicationContext.getBean(DownGlassTaskService.class);
+        List<DownGlassTask> taskdownGlassInf = downGlassTaskService.getUnloadingTaskState();
+//
+
+
+        if (taskdownGlassInf != null && !taskdownGlassInf.isEmpty()) {
+
+//
+
+            for (DownGlassTask downGlassInfo : taskdownGlassInf) {
+                // 鍒涘缓鏂扮殑 DownGlassInfo 瀵硅薄骞惰缃浉鍏冲睘鎬�
+                DownGlassInfo newdownGlassInfo = new DownGlassInfo();
+
+                newdownGlassInfo.setFlowCardId(downGlassInfo.getFlowCardId());
+                Integer maxSequence = downGlassInfoService.getMaxSequenceByFlowCardId(downGlassInfo.getFlowCardId());
+                // 鍒濆鍖栭『搴忓瓧娈靛��
+                int sequence = maxSequence != null ? maxSequence + 1 : 1;
+
+                newdownGlassInfo.setWidth(downGlassInfo.getWidth());
+                newdownGlassInfo.setHeight(downGlassInfo.getHeight());
+                newdownGlassInfo.setThickness(downGlassInfo.getThickness());
+                newdownGlassInfo.setFilmsid(downGlassInfo.getFilmsid());
+                // 璁剧疆椤哄簭瀛楁鍊�
+                newdownGlassInfo.setSequence(sequence);
+
+                // 鎻掑叆鏁版嵁鍒颁笅鐗囩幓鐠冧俊鎭〃
+                downGlassInfoService.insertDownGlassInfo(newdownGlassInfo);
+                //鎻掑叆鏁版嵁鍒版満姊版墜浠诲姟琛�
+
+                downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
+                //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
+                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId());
+
+                sequence++; // 閫掑椤哄簭瀛楁鍊�
+
+
+            }
+        }
+    }
+
+
+    /**
+     * //褰撴満姊版墜浠诲姟琛ㄤ腑鐘舵�佷负1锛屽伐浣嶈〃娴佺▼鍗$粦瀹氫簡鏋跺瓙 鏇存柊宸茬粡钀芥灦鏁伴噺锛屽苟涓旀妸涓嬬墖浠诲姟琛ㄧ殑瀵瑰簲璁板綍鍒犳帀
+     */
+
+    public void downWorkstation() {
+
+
+        try {
+            //鏌ヨ涓嬬墖宸ヤ綅琛ㄤ腑鏋跺瓙鏄惁缁戝畾浜嗘祦绋嬪崱鍙� 宸ヤ綅琛ㄥ拰浠诲姟琛ㄤ腑鐘舵�佷负1鐨勬祦绋嬪崱鍙峰拰宸茶惤鏋舵暟閲�
+            List<DownWorkstation> taskdownWorkstation = downWorkstationMapper.selectdownWorkstationstate();
+            if (taskdownWorkstation != null && !taskdownWorkstation.isEmpty()) {
+                //锛屽鏋滃凡缁忕粦瀹氬垯鏇存柊宸茶惤鏋舵暟閲�,骞朵笖鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
+                for (DownWorkstation downWorkstation : taskdownWorkstation) {
+                    //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
+                    downWorkstationService.updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
+                    //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
+                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getFlowCardId());
+                    //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
+                    downGlassTaskService.deleteTask(downWorkstation.getFlowCardId());
+
+                }
+            }
+        } catch (Exception e) {
+            // 鎵撳嵃寮傚父淇℃伅
+            e.printStackTrace();
+            // 鎴栬�呭彲浠ヨ繘琛屽叾浠栧紓甯稿鐞嗭紝姣斿璁板綍鏃ュ織鎴栬�呰繑鍥炵壒瀹氱殑閿欒淇℃伅
+        }
+
+
+    }
+
+
+    /**
+     * @param downWorkstation // 婊℃灦鎷夎蛋 娓呴櫎娴佺▼鍗′俊鎭�
+     */
+
+//    public void clearFlowCardId(DownWorkstation downWorkstation) {
+//
+//        downWorkstationMapper.clearFlowCardId(downWorkstation);
+//    }
+
+
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
index 04f8dc2..76d3fb3 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationService.java
@@ -4,11 +4,10 @@
 import com.mes.downworkstation.entity.DownWorkstation;
 
 import java.util.List;
-import java.util.Map;
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
@@ -24,7 +23,7 @@
 
     void clearFlowCardId(int workstationId);
 
-    void updateracksnumber( String flowCardId, int racksnumber);
+    void updateracksnumber(String flowCardId, int racksnumber);
 
 
     int updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
index 3ba5fe1..58e3445 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
@@ -6,13 +6,14 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-04-07
  */
 public interface DownWorkstationTaskService extends IService<DownWorkstationTask> {
-     void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
-     void updateTaskStateToZero(String flowCardId);
+    void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
+
+    void updateTaskStateToZero(String flowCardId);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index 2752c15..ca152d0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -3,7 +3,6 @@
 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.downglassinfo.entity.DownGlassTask;
 import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.entity.DownWorkstationTask;
 import com.mes.downworkstation.mapper.DownWorkstationMapper;
@@ -14,7 +13,6 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
-import java.util.Map;
 
 @Service
 public class DownWorkstationServiceImpl extends ServiceImpl<DownWorkstationMapper, DownWorkstation> implements DownWorkstationService {
@@ -24,8 +22,7 @@
     private DownWorkstationTaskMapper downWorkstationTaskMapper;
 
 
-
-//    @Override
+    //    @Override
 //    public List<DownWorkstation> gettwoDownWorkstations() {
 //        return downWorkstationMapper.getDownWorkstationsInRange(6,10);
 //    }
@@ -46,7 +43,7 @@
 //        return totalQuantity != null ? totalQuantity : 0;
 //    }
 
-//    @Override
+    //    @Override
 //    public int getRacksNumber(int workstationId) {
 //        Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
 //        return racksNumber != null ? racksNumber : 0;
@@ -61,7 +58,8 @@
         DownWorkstation result = baseMapper.selectOne(queryWrapper);
         return result != null ? result.getRacksnumber() : 0;
     }
-//鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
+
+    //鏍规嵁鏉′欢鑾峰彇宸ヤ綅鐜荤拑淇℃伅
     @Override
     public List<DownWorkstation> getoneDownWorkstations(int startId, int endId) {
         QueryWrapper<DownWorkstation> queryWrapper = new QueryWrapper<>();
@@ -77,10 +75,9 @@
     @Override
     public void updateracksnumber(String flowCardId, int racksNumber) {
         UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("racks_number",racksNumber).eq("flow_card_id", flowCardId);
+        updateWrapper.set("racks_number", racksNumber).eq("flow_card_id", flowCardId);
         baseMapper.update(null, updateWrapper);
     }
-
 
 
     @Override
@@ -105,13 +102,6 @@
     }
 
 
-
-
-
-
-
-
-
     @Transactional
     public void crossDatabaseQuery() {
         // 浠� MySQL 鏁版嵁搴撲腑鏌ヨ鏁版嵁锛屽彧杩斿洖涓�鏉$鍚堟潯浠剁殑鏁版嵁
@@ -119,7 +109,6 @@
 
         // 浠� SQL Server 鏁版嵁搴撲腑鏌ヨ鏁版嵁
         List<DownWorkstationTask> downWorkstationTasks = downWorkstationTaskMapper.selectList();
-
 
 
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
index 1b35075..89bbd8e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java
@@ -10,7 +10,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -18,7 +18,6 @@
  */
 @Service
 public class DownWorkstationTaskServiceImpl extends ServiceImpl<DownWorkstationTaskMapper, DownWorkstationTask> implements DownWorkstationTaskService {
-
 
 
     public void insertdownWorkstationtask(DownGlassInfo downGlassInfo) {
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
index c8b2e3b..b58b5b0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/controller/GlassInfoController.java
@@ -6,7 +6,7 @@
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
index 6ab4929..dc023ed 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/entity/GlassInfo.java
@@ -9,7 +9,7 @@
 
 /**
  * <p>
- * 
+ *
  * </p>
  *
  * @author zhoush
@@ -24,7 +24,7 @@
     /**
      * 鐜荤拑淇℃伅琛╥d
      */
-      @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
     /**
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
index a8efa7c..7f5b32c 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/mapper/GlassInfoMapper.java
@@ -2,14 +2,11 @@
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.mes.glassinfo.entity.GlassInfo;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-import org.apache.ibatis.annotations.Update;
 import org.mapstruct.Mapper;
 
 /**
  * <p>
- *  Mapper 鎺ュ彛
+ * Mapper 鎺ュ彛
  * </p>
  *
  * @author zhoush
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
index 672b60f..4019774 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/GlassInfoService.java
@@ -8,7 +8,7 @@
 
 /**
  * <p>
- *  鏈嶅姟绫�
+ * 鏈嶅姟绫�
  * </p>
  *
  * @author zhoush
@@ -19,5 +19,6 @@
     int getGlassInfoCountByFlowCardId(String flowCardId);
 
     List<Map<String, Object>> getFlowCardId();
+
     GlassInfo selectGlassId(String id);
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index fcf4605..d064db4 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -1,9 +1,7 @@
 package com.mes.uppattenusage.service.impl;
 
 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.downworkstation.entity.DownWorkstation;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.glassinfo.service.GlassInfoService;
@@ -15,7 +13,7 @@
 
 /**
  * <p>
- *  鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
@@ -38,10 +36,12 @@
 
         return baseMapper.selectCount(queryWrapper);
     }
+
     @Override
     public List<Map<String, Object>> getFlowCardId() {
         return baseMapper.selectMaps(new QueryWrapper<GlassInfo>().select("DISTINCT flowcard_id"));
     }
+
     @Override
     public GlassInfo selectGlassId(String id) {
         QueryWrapper<GlassInfo> queryWrapper = new QueryWrapper<>();
@@ -49,7 +49,6 @@
 
         return baseMapper.selectOne(queryWrapper);
     }
-
 
 
 //    public void updateFlowCardIdAndCount(String flowCardId, int glassInfoCount, int workstationId) {
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java
index 1f64390..319a5d4 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/Configuration.java
@@ -1,48 +1,46 @@
-package com.mes.tools;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-/**
- * @author SNG-012
- *
- *  Configuration 绫荤敤浜庡姞杞介厤缃枃浠跺苟鎻愪緵璁块棶閰嶇疆椤圭殑鏂规硶銆�
- */
-public class Configuration {
-
-    /**
-     * // Properties 瀵硅薄锛岀敤浜庡瓨鍌ㄩ厤缃枃浠朵腑鐨勯敭鍊煎銆�
-     */
-    private Properties properties;
-
-    /**
-     * @param fileName
-     * @throws IOException
-     *     // 鏋勯�犲嚱鏁帮紝鏍规嵁浼犲叆鐨勬枃浠跺悕鍔犺浇閰嶇疆鏂囦欢銆�
-     */
-
-    public Configuration(String fileName) throws IOException {
-        // 浣跨敤绫诲姞杞藉櫒鑾峰彇璧勬簮鏂囦欢鐨勮緭鍏ユ祦銆�
-        InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fileName);
-        // 濡傛灉杈撳叆娴佷负null锛岃〃绀烘湭鎵惧埌鏂囦欢锛屾姏鍑篎ileNotFoundException銆�
-        if (inputStream == null) {
-            throw new FileNotFoundException("Property file '" + fileName + "' not found in the classpath");
-        }
-        // 瀹炰緥鍖朠roperties瀵硅薄銆�
-        properties = new Properties();
-        // 浠庤緭鍏ユ祦鍔犺浇閰嶇疆椤广��
-        properties.load(inputStream);
-    }
-
-    /**
-     * @param key
-     * @return
-     *     // 鏍规嵁閰嶇疆椤圭殑閿幏鍙栧叾瀵瑰簲鐨勫�笺��
-     */
-
-    public String getProperty(String key) {
-        return properties.getProperty(key);
-    }
-}
+package com.mes.tools;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+/**
+ * @author SNG-012
+ * <p>
+ * Configuration 绫荤敤浜庡姞杞介厤缃枃浠跺苟鎻愪緵璁块棶閰嶇疆椤圭殑鏂规硶銆�
+ */
+public class Configuration {
+
+    /**
+     * // Properties 瀵硅薄锛岀敤浜庡瓨鍌ㄩ厤缃枃浠朵腑鐨勯敭鍊煎銆�
+     */
+    private Properties properties;
+
+    /**
+     * @param fileName
+     * @throws IOException // 鏋勯�犲嚱鏁帮紝鏍规嵁浼犲叆鐨勬枃浠跺悕鍔犺浇閰嶇疆鏂囦欢銆�
+     */
+
+    public Configuration(String fileName) throws IOException {
+        // 浣跨敤绫诲姞杞藉櫒鑾峰彇璧勬簮鏂囦欢鐨勮緭鍏ユ祦銆�
+        InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fileName);
+        // 濡傛灉杈撳叆娴佷负null锛岃〃绀烘湭鎵惧埌鏂囦欢锛屾姏鍑篎ileNotFoundException銆�
+        if (inputStream == null) {
+            throw new FileNotFoundException("Property file '" + fileName + "' not found in the classpath");
+        }
+        // 瀹炰緥鍖朠roperties瀵硅薄銆�
+        properties = new Properties();
+        // 浠庤緭鍏ユ祦鍔犺浇閰嶇疆椤广��
+        properties.load(inputStream);
+    }
+
+    /**
+     * @param key
+     * @return // 鏍规嵁閰嶇疆椤圭殑閿幏鍙栧叾瀵瑰簲鐨勫�笺��
+     */
+
+    public String getProperty(String key) {
+        return properties.getProperty(key);
+    }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java
index e1ad35c..8fbb58a 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/ExcelToJsonConverter.java
@@ -1,108 +1,107 @@
-package com.mes.tools;
-
-import com.google.gson.Gson;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-
-import java.io.FileInputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-
-public class ExcelToJsonConverter {
-
-    public static void main(String[] args) {
-        String excelFilePath = "src/main/resources/JsonFile/alarm.xlsx";
-        String sheetName = "Sheet1";
-        int addressColumnIndex = 0;
-        int nameColumnIndex = 1;
-
-        //int unitColumnIndex = 2;
-        String outputFilePath = "src/main/resources/JsonFile/PlcAlarm.json";
-
-        try (Workbook workbook = new XSSFWorkbook(new FileInputStream(excelFilePath))) {
-            Sheet sheet = workbook.getSheet(sheetName);
-
-            List<LinkedHashMap<String, Object>> jsonList = new ArrayList<>();
-
-            Iterator<Row> rowIterator = sheet.iterator();
-            // Skip the header row
-            if (rowIterator.hasNext()) {
-                rowIterator.next();
-            }
-
-            int plcAddressLength = 0; // 璁板綍鎵�鏈� addressLenght 鐨勫拰
-            int addressIndex = 0; // 鑷鐨勫湴鍧�绱㈠紩
-            while (rowIterator.hasNext()) {
-                Row row = rowIterator.next();
-
-                Cell nameCell = row.getCell(nameColumnIndex);
-                Cell addressCell = row.getCell(addressColumnIndex);
-              //  Cell unitCell = row.getCell(unitColumnIndex);
-
-                String name = nameCell.getStringCellValue();
-                String address = addressCell.getStringCellValue();
-               // String unit = unitCell.getStringCellValue();
-
-              //  String addressIndex = extractAddressIndex(address);
-
-                LinkedHashMap<String, Object> jsonObject = new LinkedHashMap<>();
-                jsonObject.put("codeId", name);
-                jsonObject.put("addressIndex", addressIndex);
-
-                int addressLength = 0;
-                if (address.contains("~")) {
-                    addressLength = 14;
-                } else {
-                    addressLength = 2;
-                }
-               // jsonObject.put("addressLenght", String.valueOf(addressLength));
-
-                //jsonObject.put("unit", unit);
-
-                plcAddressLength += addressLength;
-
-                jsonList.add(jsonObject);
-                addressIndex++;
-            }
-
-            LinkedHashMap<String, Object> resultObject = new LinkedHashMap<>();
-            resultObject.put("plcAddressBegin", "DB100.0");
-            resultObject.put("plcAddressLenght", String.valueOf(plcAddressLength));
-           // resultObject.put("dataType", "word");
-            resultObject.put("dataType", "bit");
-            resultObject.put("parameteInfor", jsonList);
-
-            Gson gson = new Gson();
-            String jsonOutput = gson.toJson(resultObject);
-
-            try (FileWriter fileWriter = new FileWriter(outputFilePath)) {
-                fileWriter.write(jsonOutput);
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-
-
-    private static String extractAddressIndex(String address) {
-        // Assuming the address format is "DB103.DBW0" or "DB103.DBB100~DBB113"
-        if (address.startsWith("DB") && address.contains(".DBW")) {
-            int startIndex = address.indexOf(".DBW") + 4;
-            int endIndex = address.length();
-            return address.substring(startIndex, endIndex);
-        } else if (address.startsWith("DB") && address.contains(".DBB")) {
-            int startIndex2 = address.indexOf(".DBB") + 4;
-            int endIndex2 = address.indexOf("~");
-            return address.substring(startIndex2, endIndex2);
-        }
-        return "";
-    }
-}
+package com.mes.tools;
+
+import com.google.gson.Gson;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.FileInputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+public class ExcelToJsonConverter {
+
+    public static void main(String[] args) {
+        String excelFilePath = "src/main/resources/JsonFile/alarm.xlsx";
+        String sheetName = "Sheet1";
+        int addressColumnIndex = 0;
+        int nameColumnIndex = 1;
+
+        //int unitColumnIndex = 2;
+        String outputFilePath = "src/main/resources/JsonFile/PlcAlarm.json";
+
+        try (Workbook workbook = new XSSFWorkbook(new FileInputStream(excelFilePath))) {
+            Sheet sheet = workbook.getSheet(sheetName);
+
+            List<LinkedHashMap<String, Object>> jsonList = new ArrayList<>();
+
+            Iterator<Row> rowIterator = sheet.iterator();
+            // Skip the header row
+            if (rowIterator.hasNext()) {
+                rowIterator.next();
+            }
+
+            int plcAddressLength = 0; // 璁板綍鎵�鏈� addressLenght 鐨勫拰
+            int addressIndex = 0; // 鑷鐨勫湴鍧�绱㈠紩
+            while (rowIterator.hasNext()) {
+                Row row = rowIterator.next();
+
+                Cell nameCell = row.getCell(nameColumnIndex);
+                Cell addressCell = row.getCell(addressColumnIndex);
+                //  Cell unitCell = row.getCell(unitColumnIndex);
+
+                String name = nameCell.getStringCellValue();
+                String address = addressCell.getStringCellValue();
+                // String unit = unitCell.getStringCellValue();
+
+                //  String addressIndex = extractAddressIndex(address);
+
+                LinkedHashMap<String, Object> jsonObject = new LinkedHashMap<>();
+                jsonObject.put("codeId", name);
+                jsonObject.put("addressIndex", addressIndex);
+
+                int addressLength = 0;
+                if (address.contains("~")) {
+                    addressLength = 14;
+                } else {
+                    addressLength = 2;
+                }
+                // jsonObject.put("addressLenght", String.valueOf(addressLength));
+
+                //jsonObject.put("unit", unit);
+
+                plcAddressLength += addressLength;
+
+                jsonList.add(jsonObject);
+                addressIndex++;
+            }
+
+            LinkedHashMap<String, Object> resultObject = new LinkedHashMap<>();
+            resultObject.put("plcAddressBegin", "DB100.0");
+            resultObject.put("plcAddressLenght", String.valueOf(plcAddressLength));
+            // resultObject.put("dataType", "word");
+            resultObject.put("dataType", "bit");
+            resultObject.put("parameteInfor", jsonList);
+
+            Gson gson = new Gson();
+            String jsonOutput = gson.toJson(resultObject);
+
+            try (FileWriter fileWriter = new FileWriter(outputFilePath)) {
+                fileWriter.write(jsonOutput);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
+
+    private static String extractAddressIndex(String address) {
+        // Assuming the address format is "DB103.DBW0" or "DB103.DBB100~DBB113"
+        if (address.startsWith("DB") && address.contains(".DBW")) {
+            int startIndex = address.indexOf(".DBW") + 4;
+            int endIndex = address.length();
+            return address.substring(startIndex, endIndex);
+        } else if (address.startsWith("DB") && address.contains(".DBB")) {
+            int startIndex2 = address.indexOf(".DBB") + 4;
+            int endIndex2 = address.indexOf("~");
+            return address.substring(startIndex2, endIndex2);
+        }
+        return "";
+    }
+}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
index 13a3bde..fcd2a10 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
@@ -59,7 +59,7 @@
         } else {
             webSocketServers.add(this);
         }
-        
+
         log.info("鏈夋柊鐢ㄦ埛鍔犲叆锛寀sername={}, 褰撳墠鍦ㄧ嚎浜烘暟涓猴細{}", username, sessionMap.get(username).size());
 
         // JSONObject result = new JSONObject();
@@ -81,19 +81,19 @@
     public void onClose(Session session, @PathParam("username") String username) {
         List<WebSocketServer> webSocketServers = sessionMap.get(username);
         ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
-        if (webSocketServers.size()>1) {
+        if (webSocketServers.size() > 1) {
             for (WebSocketServer webSocketServer : webSocketServers) {
-                if(webSocketServer!=this){
+                if (webSocketServer != this) {
                     arrayListwebserver.add(webSocketServer);
                 }
             }
             sessionMap.put(username, arrayListwebserver);
             log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}鐨勫綋鍓嶅湪绾夸汉鏁颁负锛歿}", username, username, sessionMap.get(username).size());
-        }else{
+        } else {
             sessionMap.remove(username);
             log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}杩炴帴鍏抽棴, 褰撳墠杩炴帴鏁颁负锛歿}", username, username, sessionMap.size());
         }
-        
+
     }
 
     /**
@@ -101,7 +101,7 @@
      * 鍚庡彴鏀跺埌瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
      * onMessage 鏄竴涓秷鎭殑涓浆绔�
      * 鎺ュ彈 娴忚鍣ㄧ socket.send 鍙戦�佽繃鏉ョ殑 json鏁版嵁
-     * 
+     *
      * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
      */
     @OnMessage
@@ -157,8 +157,6 @@
     public void clearMessages() {
         messages.clear();
     }
-
-
 
 
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json
index a840092..acfdad0 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcAlarm.json
@@ -1,371 +1,371 @@
-{
-  "plcAddressBegin": "DB104.0.0",
-  "plcAddressLenght": "91",
-  "dataType": "bit",
-  "parameteInfor": [
-    {
-      "codeId": "D01VFDerror",
-      "addressIndex": 0
-    },
-    {
-      "codeId": "D02VFDerror",
-      "addressIndex": 1
-    },
-    {
-      "codeId": "D03VFDerror",
-      "addressIndex": 2
-    },
-    {
-      "codeId": "D04VFDerror",
-      "addressIndex": 3
-    },
-    {
-      "codeId": "D05VFDerror",
-      "addressIndex": 4
-    },
-    {
-      "codeId": "D06VFDerror",
-      "addressIndex": 5
-    },
-    {
-      "codeId": "B01VFDerror",
-      "addressIndex": 6
-    },
-    {
-      "codeId": "B02VFDerror",
-      "addressIndex": 7
-    },
-    {
-      "codeId": "A01VFDerror",
-      "addressIndex": 8
-    },
-    {
-      "codeId": "A02VFDerror",
-      "addressIndex": 9
-    },
-    {
-      "codeId": "A01servoturnerror",
-      "addressIndex": 10
-    },
-    {
-      "codeId": "A02servoturnerror",
-      "addressIndex": 11
-    },
-    {
-      "codeId": "A01servotravelerror",
-      "addressIndex": 12
-    },
-    {
-      "codeId": "A02servotravelerror",
-      "addressIndex": 13
-    },
-    {
-      "codeId": "B01servotravelerror",
-      "addressIndex": 14
-    },
-    {
-      "codeId": "B02servotravelerror",
-      "addressIndex": 15
-    },
-    {
-      "codeId": "D01DECerror",
-      "addressIndex": 16
-    },
-    {
-      "codeId": "D01poserror",
-      "addressIndex": 17
-    },
-    {
-      "codeId": "D02DECerror",
-      "addressIndex": 18
-    },
-    {
-      "codeId": "D02poserror",
-      "addressIndex": 19
-    },
-    {
-      "codeId": "D03DECerror",
-      "addressIndex": 20
-    },
-    {
-      "codeId": "D03poserror",
-      "addressIndex": 21
-    },
-    {
-      "codeId": "D04DECerror",
-      "addressIndex": 22
-    },
-    {
-      "codeId": "D04poserror",
-      "addressIndex": 23
-    },
-    {
-      "codeId": "D05DECerror",
-      "addressIndex": 24
-    },
-    {
-      "codeId": "D05poserror",
-      "addressIndex": 25
-    },
-    {
-      "codeId": "D06DECerror",
-      "addressIndex": 26
-    },
-    {
-      "codeId": "D06poserror",
-      "addressIndex": 27
-    },
-    {
-      "codeId": "A01DECerror",
-      "addressIndex": 28
-    },
-    {
-      "codeId": "A01poserror",
-      "addressIndex": 29
-    },
-    {
-      "codeId": "A02DECerror",
-      "addressIndex": 30
-    },
-    {
-      "codeId": "A02poserror",
-      "addressIndex": 31
-    },
-    {
-      "codeId": "B01INDECerror",
-      "addressIndex": 32
-    },
-    {
-      "codeId": "B01INposerror",
-      "addressIndex": 33
-    },
-    {
-      "codeId": "B01OUTDECerror",
-      "addressIndex": 34
-    },
-    {
-      "codeId": "B01OUTposerror",
-      "addressIndex": 35
-    },
-    {
-      "codeId": "B02INDECerror",
-      "addressIndex": 36
-    },
-    {
-      "codeId": "B02INposerror",
-      "addressIndex": 37
-    },
-    {
-      "codeId": "B02OUTDECerror",
-      "addressIndex": 38
-    },
-    {
-      "codeId": "B02OUTposerror",
-      "addressIndex": 39
-    },
-    {
-      "codeId": "D01Scanglassexceedinglimit",
-      "addressIndex": 40
-    },
-    {
-      "codeId": "emergencystopalarm",
-      "addressIndex": 41
-    },
-    {
-      "codeId": "Moreglassthanknown",
-      "addressIndex": 42
-    },
-    {
-      "codeId": "lessglassthanknown",
-      "addressIndex": 43
-    },
-    {
-      "codeId": "D01conveyortimeoutalarm",
-      "addressIndex": 44
-    },
-    {
-      "codeId": "D02conveyortimeoutalarm",
-      "addressIndex": 45
-    },
-    {
-      "codeId": "D03conveyortimeoutalarm",
-      "addressIndex": 46
-    },
-    {
-      "codeId": "D04conveyortimeoutalarm",
-      "addressIndex": 47
-    },
-    {
-      "codeId": "D05conveyortimeoutalarm",
-      "addressIndex": 48
-    },
-    {
-      "codeId": "D06conveyortimeoutalarm",
-      "addressIndex": 49
-    },
-    {
-      "codeId": "A01conveyortimeoutalarm",
-      "addressIndex": 50
-    },
-    {
-      "codeId": "A02conveyortimeoutalarm",
-      "addressIndex": 51
-    },
-    {
-      "codeId": "B01conveyortimeoutalarm",
-      "addressIndex": 52
-    },
-    {
-      "codeId": "B02conveyortimeoutalarm",
-      "addressIndex": 53
-    },
-    {
-      "codeId": "A01conveyorLeftsafetyalarm",
-      "addressIndex": 54
-    },
-    {
-      "codeId": "A01conveyorrightsafetyalarm",
-      "addressIndex": 55
-    },
-    {
-      "codeId": "A02conveyorLeftsafetyalarm",
-      "addressIndex": 56
-    },
-    {
-      "codeId": "A02conveyorrightsafetyalarm",
-      "addressIndex": 57
-    },
-    {
-      "codeId": "1#buffersafetyalarm",
-      "addressIndex": 58
-    },
-    {
-      "codeId": "2#buffersafetyalarm",
-      "addressIndex": 59
-    },
-    {
-      "codeId": "3#buffersafetyalarm",
-      "addressIndex": 60
-    },
-    {
-      "codeId": "4#buffersafetyalarm",
-      "addressIndex": 61
-    },
-    {
-      "codeId": "A01.SRrightinposerror",
-      "addressIndex": 62
-    },
-    {
-      "codeId": "A02.SRleftinposerror",
-      "addressIndex": 63
-    },
-    {
-      "codeId": "B01.SRleftinposerror",
-      "addressIndex": 64
-    },
-    {
-      "codeId": "B01.SRleftdecerror",
-      "addressIndex": 65
-    },
-    {
-      "codeId": "B01.SRrightdecerror",
-      "addressIndex": 66
-    },
-    {
-      "codeId": "B01.SRrightinposerror",
-      "addressIndex": 67
-    },
-    {
-      "codeId": "B02.SRleftinposerror",
-      "addressIndex": 68
-    },
-    {
-      "codeId": "B02.SRleftdecerror",
-      "addressIndex": 69
-    },
-    {
-      "codeId": "B02.SRrightdecerror",
-      "addressIndex": 70
-    },
-    {
-      "codeId": "B02.SRrightinposerror",
-      "addressIndex": 71
-    },
-    {
-      "codeId": "A01servoturnhomed",
-      "addressIndex": 72
-    },
-    {
-      "codeId": "A02servoturnhomed",
-      "addressIndex": 73
-    },
-    {
-      "codeId": "A01servotravelhomed",
-      "addressIndex": 74
-    },
-    {
-      "codeId": "A02servotravelhomed",
-      "addressIndex": 75
-    },
-    {
-      "codeId": "B01servotravelhomed",
-      "addressIndex": 76
-    },
-    {
-      "codeId": "B02servotravelhomed",
-      "addressIndex": 77
-    },
-    {
-      "codeId": "resetDelay",
-      "addressIndex": 78
-    },
-    {
-      "codeId": "A01travelNegativelimit",
-      "addressIndex": 79
-    },
-    {
-      "codeId": "A01travelPositivelimit",
-      "addressIndex": 80
-    },
-    {
-      "codeId": "A01turnuplimit",
-      "addressIndex": 81
-    },
-    {
-      "codeId": "A01turndownlimit",
-      "addressIndex": 82
-    },
-    {
-      "codeId": "A02travelNegativelimit",
-      "addressIndex": 83
-    },
-    {
-      "codeId": "A02travelPositivelimit",
-      "addressIndex": 84
-    },
-    {
-      "codeId": "A02turnuplimit",
-      "addressIndex": 85
-    },
-    {
-      "codeId": "A02turndownlimit",
-      "addressIndex": 86
-    },
-    {
-      "codeId": "B01travelNegativelimit",
-      "addressIndex": 87
-    },
-    {
-      "codeId": "B01travelPositivelimit",
-      "addressIndex": 88
-    },
-    {
-      "codeId": "B02travelNegativelimit",
-      "addressIndex": 89
-    },
-    {
-      "codeId": "B02travelPositivelimit",
-      "addressIndex": 90
-    }
-  ]
+{
+  "plcAddressBegin": "DB104.0.0",
+  "plcAddressLenght": "91",
+  "dataType": "bit",
+  "parameteInfor": [
+    {
+      "codeId": "D01VFDerror",
+      "addressIndex": 0
+    },
+    {
+      "codeId": "D02VFDerror",
+      "addressIndex": 1
+    },
+    {
+      "codeId": "D03VFDerror",
+      "addressIndex": 2
+    },
+    {
+      "codeId": "D04VFDerror",
+      "addressIndex": 3
+    },
+    {
+      "codeId": "D05VFDerror",
+      "addressIndex": 4
+    },
+    {
+      "codeId": "D06VFDerror",
+      "addressIndex": 5
+    },
+    {
+      "codeId": "B01VFDerror",
+      "addressIndex": 6
+    },
+    {
+      "codeId": "B02VFDerror",
+      "addressIndex": 7
+    },
+    {
+      "codeId": "A01VFDerror",
+      "addressIndex": 8
+    },
+    {
+      "codeId": "A02VFDerror",
+      "addressIndex": 9
+    },
+    {
+      "codeId": "A01servoturnerror",
+      "addressIndex": 10
+    },
+    {
+      "codeId": "A02servoturnerror",
+      "addressIndex": 11
+    },
+    {
+      "codeId": "A01servotravelerror",
+      "addressIndex": 12
+    },
+    {
+      "codeId": "A02servotravelerror",
+      "addressIndex": 13
+    },
+    {
+      "codeId": "B01servotravelerror",
+      "addressIndex": 14
+    },
+    {
+      "codeId": "B02servotravelerror",
+      "addressIndex": 15
+    },
+    {
+      "codeId": "D01DECerror",
+      "addressIndex": 16
+    },
+    {
+      "codeId": "D01poserror",
+      "addressIndex": 17
+    },
+    {
+      "codeId": "D02DECerror",
+      "addressIndex": 18
+    },
+    {
+      "codeId": "D02poserror",
+      "addressIndex": 19
+    },
+    {
+      "codeId": "D03DECerror",
+      "addressIndex": 20
+    },
+    {
+      "codeId": "D03poserror",
+      "addressIndex": 21
+    },
+    {
+      "codeId": "D04DECerror",
+      "addressIndex": 22
+    },
+    {
+      "codeId": "D04poserror",
+      "addressIndex": 23
+    },
+    {
+      "codeId": "D05DECerror",
+      "addressIndex": 24
+    },
+    {
+      "codeId": "D05poserror",
+      "addressIndex": 25
+    },
+    {
+      "codeId": "D06DECerror",
+      "addressIndex": 26
+    },
+    {
+      "codeId": "D06poserror",
+      "addressIndex": 27
+    },
+    {
+      "codeId": "A01DECerror",
+      "addressIndex": 28
+    },
+    {
+      "codeId": "A01poserror",
+      "addressIndex": 29
+    },
+    {
+      "codeId": "A02DECerror",
+      "addressIndex": 30
+    },
+    {
+      "codeId": "A02poserror",
+      "addressIndex": 31
+    },
+    {
+      "codeId": "B01INDECerror",
+      "addressIndex": 32
+    },
+    {
+      "codeId": "B01INposerror",
+      "addressIndex": 33
+    },
+    {
+      "codeId": "B01OUTDECerror",
+      "addressIndex": 34
+    },
+    {
+      "codeId": "B01OUTposerror",
+      "addressIndex": 35
+    },
+    {
+      "codeId": "B02INDECerror",
+      "addressIndex": 36
+    },
+    {
+      "codeId": "B02INposerror",
+      "addressIndex": 37
+    },
+    {
+      "codeId": "B02OUTDECerror",
+      "addressIndex": 38
+    },
+    {
+      "codeId": "B02OUTposerror",
+      "addressIndex": 39
+    },
+    {
+      "codeId": "D01Scanglassexceedinglimit",
+      "addressIndex": 40
+    },
+    {
+      "codeId": "emergencystopalarm",
+      "addressIndex": 41
+    },
+    {
+      "codeId": "Moreglassthanknown",
+      "addressIndex": 42
+    },
+    {
+      "codeId": "lessglassthanknown",
+      "addressIndex": 43
+    },
+    {
+      "codeId": "D01conveyortimeoutalarm",
+      "addressIndex": 44
+    },
+    {
+      "codeId": "D02conveyortimeoutalarm",
+      "addressIndex": 45
+    },
+    {
+      "codeId": "D03conveyortimeoutalarm",
+      "addressIndex": 46
+    },
+    {
+      "codeId": "D04conveyortimeoutalarm",
+      "addressIndex": 47
+    },
+    {
+      "codeId": "D05conveyortimeoutalarm",
+      "addressIndex": 48
+    },
+    {
+      "codeId": "D06conveyortimeoutalarm",
+      "addressIndex": 49
+    },
+    {
+      "codeId": "A01conveyortimeoutalarm",
+      "addressIndex": 50
+    },
+    {
+      "codeId": "A02conveyortimeoutalarm",
+      "addressIndex": 51
+    },
+    {
+      "codeId": "B01conveyortimeoutalarm",
+      "addressIndex": 52
+    },
+    {
+      "codeId": "B02conveyortimeoutalarm",
+      "addressIndex": 53
+    },
+    {
+      "codeId": "A01conveyorLeftsafetyalarm",
+      "addressIndex": 54
+    },
+    {
+      "codeId": "A01conveyorrightsafetyalarm",
+      "addressIndex": 55
+    },
+    {
+      "codeId": "A02conveyorLeftsafetyalarm",
+      "addressIndex": 56
+    },
+    {
+      "codeId": "A02conveyorrightsafetyalarm",
+      "addressIndex": 57
+    },
+    {
+      "codeId": "1#buffersafetyalarm",
+      "addressIndex": 58
+    },
+    {
+      "codeId": "2#buffersafetyalarm",
+      "addressIndex": 59
+    },
+    {
+      "codeId": "3#buffersafetyalarm",
+      "addressIndex": 60
+    },
+    {
+      "codeId": "4#buffersafetyalarm",
+      "addressIndex": 61
+    },
+    {
+      "codeId": "A01.SRrightinposerror",
+      "addressIndex": 62
+    },
+    {
+      "codeId": "A02.SRleftinposerror",
+      "addressIndex": 63
+    },
+    {
+      "codeId": "B01.SRleftinposerror",
+      "addressIndex": 64
+    },
+    {
+      "codeId": "B01.SRleftdecerror",
+      "addressIndex": 65
+    },
+    {
+      "codeId": "B01.SRrightdecerror",
+      "addressIndex": 66
+    },
+    {
+      "codeId": "B01.SRrightinposerror",
+      "addressIndex": 67
+    },
+    {
+      "codeId": "B02.SRleftinposerror",
+      "addressIndex": 68
+    },
+    {
+      "codeId": "B02.SRleftdecerror",
+      "addressIndex": 69
+    },
+    {
+      "codeId": "B02.SRrightdecerror",
+      "addressIndex": 70
+    },
+    {
+      "codeId": "B02.SRrightinposerror",
+      "addressIndex": 71
+    },
+    {
+      "codeId": "A01servoturnhomed",
+      "addressIndex": 72
+    },
+    {
+      "codeId": "A02servoturnhomed",
+      "addressIndex": 73
+    },
+    {
+      "codeId": "A01servotravelhomed",
+      "addressIndex": 74
+    },
+    {
+      "codeId": "A02servotravelhomed",
+      "addressIndex": 75
+    },
+    {
+      "codeId": "B01servotravelhomed",
+      "addressIndex": 76
+    },
+    {
+      "codeId": "B02servotravelhomed",
+      "addressIndex": 77
+    },
+    {
+      "codeId": "resetDelay",
+      "addressIndex": 78
+    },
+    {
+      "codeId": "A01travelNegativelimit",
+      "addressIndex": 79
+    },
+    {
+      "codeId": "A01travelPositivelimit",
+      "addressIndex": 80
+    },
+    {
+      "codeId": "A01turnuplimit",
+      "addressIndex": 81
+    },
+    {
+      "codeId": "A01turndownlimit",
+      "addressIndex": 82
+    },
+    {
+      "codeId": "A02travelNegativelimit",
+      "addressIndex": 83
+    },
+    {
+      "codeId": "A02travelPositivelimit",
+      "addressIndex": 84
+    },
+    {
+      "codeId": "A02turnuplimit",
+      "addressIndex": 85
+    },
+    {
+      "codeId": "A02turndownlimit",
+      "addressIndex": 86
+    },
+    {
+      "codeId": "B01travelNegativelimit",
+      "addressIndex": 87
+    },
+    {
+      "codeId": "B01travelPositivelimit",
+      "addressIndex": 88
+    },
+    {
+      "codeId": "B02travelNegativelimit",
+      "addressIndex": 89
+    },
+    {
+      "codeId": "B02travelPositivelimit",
+      "addressIndex": 90
+    }
+  ]
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json
index dfdbaec..595107e 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcState.json
@@ -1,285 +1,285 @@
-{
-  "plcAddressBegin": "DB103.0",
-  "plcAddressLenght": "258",
-  "dataType": "word",
-  "parameteInfor": [
-    {
-      "codeId": "D01.State",
-      "addressIndex": "0",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "D02.State",
-      "addressIndex": "2",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B01.State",
-      "addressIndex": "4",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B02.State",
-      "addressIndex": "6",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A01.State",
-      "addressIndex": "8",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02.State",
-      "addressIndex": "10",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "D03.State",
-      "addressIndex": "12",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "D04.State",
-      "addressIndex": "14",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "D05.State",
-      "addressIndex": "16",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "D06.State",
-      "addressIndex": "18",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A01tavelActualPosition",
-      "addressIndex": "20",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A01turnActualangle",
-      "addressIndex": "22",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02tavelActualPosition",
-      "addressIndex": "24",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02turnActualangle",
-      "addressIndex": "26",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B01tavelActualPosition",
-      "addressIndex": "28",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B02tavelActualPosition",
-      "addressIndex": "30",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A01CurrentGrid",
-      "addressIndex": "32",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02CurrentGrid",
-      "addressIndex": "34",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B01CurrentGrid",
-      "addressIndex": "36",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B01TargetGrid",
-      "addressIndex": "38",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B02CurrentGrid",
-      "addressIndex": "40",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B02TargetGrid",
-      "addressIndex": "42",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "D01ID",
-      "addressIndex": "44",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "D02ID",
-      "addressIndex": "58",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "D03ID",
-      "addressIndex": "72",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "D04ID",
-      "addressIndex": "86",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "D05ID",
-      "addressIndex": "100",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "D06ID",
-      "addressIndex": "114",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "A01ID1",
-      "addressIndex": "128",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "A01ID2",
-      "addressIndex": "142",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "A02ID1",
-      "addressIndex": "156",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "A02ID2",
-      "addressIndex": "170",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "B01ID1",
-      "addressIndex": "184",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "B01ID2",
-      "addressIndex": "198",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "B02ID1",
-      "addressIndex": "212",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "B02ID2",
-      "addressIndex": "226",
-      "addressLenght": "14",
-      "unit": ""
-    },
-    {
-      "codeId": "A01conveyorFaultcodes",
-      "addressIndex": "240",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A01turnservoFaultcodes",
-      "addressIndex": "242",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A01travelservoFaultcodes",
-      "addressIndex": "244",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02conveyorFaultcodes",
-      "addressIndex": "246",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02turnservoFaultcodes",
-      "addressIndex": "248",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "A02travelservoFaultcodes",
-      "addressIndex": "250",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B01travelservoFaultcodes",
-      "addressIndex": "252",
-      "addressLenght": "2",
-      "unit": ""
-    },
-    {
-      "codeId": "B02travelservoFaultcodes",
-      "addressIndex": "254",
-      "addressLenght": "2",
-      "unit": ""
-    }
-    ,
-    {
-      "codeId": "Scanningguns",
-      "addressIndex": "256",
-      "addressLenght": "2",
-      "unit": ""
-    }
-    ,
-    {
-      "codeId": "Frameid",
-      "addressIndex": "270",
-      "addressLenght": "2",
-      "unit": ""
-    }
-  ]
+{
+  "plcAddressBegin": "DB103.0",
+  "plcAddressLenght": "258",
+  "dataType": "word",
+  "parameteInfor": [
+    {
+      "codeId": "D01.State",
+      "addressIndex": "0",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "D02.State",
+      "addressIndex": "2",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B01.State",
+      "addressIndex": "4",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B02.State",
+      "addressIndex": "6",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A01.State",
+      "addressIndex": "8",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02.State",
+      "addressIndex": "10",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "D03.State",
+      "addressIndex": "12",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "D04.State",
+      "addressIndex": "14",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "D05.State",
+      "addressIndex": "16",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "D06.State",
+      "addressIndex": "18",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A01tavelActualPosition",
+      "addressIndex": "20",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A01turnActualangle",
+      "addressIndex": "22",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02tavelActualPosition",
+      "addressIndex": "24",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02turnActualangle",
+      "addressIndex": "26",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B01tavelActualPosition",
+      "addressIndex": "28",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B02tavelActualPosition",
+      "addressIndex": "30",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A01CurrentGrid",
+      "addressIndex": "32",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02CurrentGrid",
+      "addressIndex": "34",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B01CurrentGrid",
+      "addressIndex": "36",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B01TargetGrid",
+      "addressIndex": "38",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B02CurrentGrid",
+      "addressIndex": "40",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B02TargetGrid",
+      "addressIndex": "42",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "D01ID",
+      "addressIndex": "44",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "D02ID",
+      "addressIndex": "58",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "D03ID",
+      "addressIndex": "72",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "D04ID",
+      "addressIndex": "86",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "D05ID",
+      "addressIndex": "100",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "D06ID",
+      "addressIndex": "114",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "A01ID1",
+      "addressIndex": "128",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "A01ID2",
+      "addressIndex": "142",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "A02ID1",
+      "addressIndex": "156",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "A02ID2",
+      "addressIndex": "170",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "B01ID1",
+      "addressIndex": "184",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "B01ID2",
+      "addressIndex": "198",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "B02ID1",
+      "addressIndex": "212",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "B02ID2",
+      "addressIndex": "226",
+      "addressLenght": "14",
+      "unit": ""
+    },
+    {
+      "codeId": "A01conveyorFaultcodes",
+      "addressIndex": "240",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A01turnservoFaultcodes",
+      "addressIndex": "242",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A01travelservoFaultcodes",
+      "addressIndex": "244",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02conveyorFaultcodes",
+      "addressIndex": "246",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02turnservoFaultcodes",
+      "addressIndex": "248",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "A02travelservoFaultcodes",
+      "addressIndex": "250",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B01travelservoFaultcodes",
+      "addressIndex": "252",
+      "addressLenght": "2",
+      "unit": ""
+    },
+    {
+      "codeId": "B02travelservoFaultcodes",
+      "addressIndex": "254",
+      "addressLenght": "2",
+      "unit": ""
+    }
+    ,
+    {
+      "codeId": "Scanningguns",
+      "addressIndex": "256",
+      "addressLenght": "2",
+      "unit": ""
+    }
+    ,
+    {
+      "codeId": "Frameid",
+      "addressIndex": "270",
+      "addressLenght": "2",
+      "unit": ""
+    }
+  ]
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json
index 263c782..95a2010 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/JsonFile/PlcTest.json
@@ -1,378 +1,378 @@
-{
-  "plcAddressBegin": "DB101.0.0",
-  "plcAddressLenght": "93",
-  "dataType": "bit",
-  "parameteInfor": [
-    {
-      "codeId": "D01VFDconveyor",
-      "addressIndex": 0
-    },
-    {
-      "codeId": "D02VFDconveyor",
-      "addressIndex": 1
-    },
-    {
-      "codeId": "D03VFDconveyor",
-      "addressIndex": 2
-    },
-    {
-      "codeId": "D04VFDconveyor",
-      "addressIndex": 3
-    },
-    {
-      "codeId": "D05VFDconveyor",
-      "addressIndex": 4
-    },
-    {
-      "codeId": "D06VFDconveyor",
-      "addressIndex": 5
-    },
-    {
-      "codeId": "A01VFDconveyor",
-      "addressIndex": 6
-    },
-    {
-      "codeId": "A02VFDconveyor",
-      "addressIndex": 7
-    },
-    {
-      "codeId": "B01VFDconveyor",
-      "addressIndex": 8
-    },
-    {
-      "codeId": "B02VFDconveyor",
-      "addressIndex": 9
-    },
-    {
-      "codeId": "A01SERVETURN",
-      "addressIndex": 10
-    },
-    {
-      "codeId": "A02SERVETURN",
-      "addressIndex": 11
-    },
-    {
-      "codeId": "A01SERVETRAVEL",
-      "addressIndex": 12
-    },
-    {
-      "codeId": "A02SERVETRAVEL",
-      "addressIndex": 13
-    },
-    {
-      "codeId": "B01SERVETRAVEL",
-      "addressIndex": 14
-    },
-    {
-      "codeId": "B02SERVETRAVEL",
-      "addressIndex": 15
-    },
-    {
-      "codeId": "A01SERVETURNPOS",
-      "addressIndex": 16
-    },
-    {
-      "codeId": "A02SERVETURNPOS",
-      "addressIndex": 17
-    },
-    {
-      "codeId": "A01SERVETRAVELPOS",
-      "addressIndex": 18
-    },
-    {
-      "codeId": "A02SERVETRAVELPOS",
-      "addressIndex": 19
-    },
-    {
-      "codeId": "B01SERVETRAVELPOS",
-      "addressIndex": 20
-    },
-    {
-      "codeId": "B02SERVETRAVELPOS",
-      "addressIndex": 21
-    },
-    {
-      "codeId": "B01YVTURN",
-      "addressIndex": 22
-    },
-    {
-      "codeId": "B01YVUPDOWN",
-      "addressIndex": 23
-    },
-    {
-      "codeId": "B02YVTURN",
-      "addressIndex": 24
-    },
-    {
-      "codeId": "B02YVUPDOWN",
-      "addressIndex": 25
-    },
-    {
-      "codeId": "B01YVGassing",
-      "addressIndex": 26
-    },
-    {
-      "codeId": "B02YVGassing",
-      "addressIndex": 27
-    },
-    {
-      "codeId": "A01VFDconveyorreverse",
-      "addressIndex": 28
-    },
-    {
-      "codeId": "A02VFDconveyorreverse",
-      "addressIndex": 29
-    },
-    {
-      "codeId": "A01SERVETURNreset",
-      "addressIndex": 30
-    },
-    {
-      "codeId": "A01SERVETURNhome",
-      "addressIndex": 31
-    },
-    {
-      "codeId": "A01SERVETRAVELreset",
-      "addressIndex": 32
-    },
-    {
-      "codeId": "A02SERVETURNreset",
-      "addressIndex": 33
-    },
-    {
-      "codeId": "A02SERVETURNhome",
-      "addressIndex": 34
-    },
-    {
-      "codeId": "A02SERVETRAVELreset",
-      "addressIndex": 35
-    },
-    {
-      "codeId": "B01SERVETRAVELreset",
-      "addressIndex": 36
-    },
-    {
-      "codeId": "B01SERVETRAVELhome",
-      "addressIndex": 37
-    },
-    {
-      "codeId": "B02SERVETRAVELreset",
-      "addressIndex": 38
-    },
-    {
-      "codeId": "B02SERVETRAVELhome",
-      "addressIndex": 39
-    },
-    {
-      "codeId": "Manualstoragestartup",
-      "addressIndex": 40
-    },
-    {
-      "codeId": "Manualoutputstartup",
-      "addressIndex": 41
-    },
-    {
-      "codeId": "A01oilpump",
-      "addressIndex": 42
-    },
-    {
-      "codeId": "A02oilpump",
-      "addressIndex": 43
-    },
-    {
-      "codeId": "A01get1#gridaddress",
-      "addressIndex": 44
-    },
-    {
-      "codeId": "A01get22#gridaddress",
-      "addressIndex": 45
-    },
-    {
-      "codeId": "A01get43#gridaddress",
-      "addressIndex": 46
-    },
-    {
-      "codeId": "A01get64#gridaddress",
-      "addressIndex": 47
-    },
-    {
-      "codeId": "A01get85#gridaddress",
-      "addressIndex": 48
-    },
-    {
-      "codeId": "A01get106#gridaddress",
-      "addressIndex": 49
-    },
-    {
-      "codeId": "A01get127#gridaddress",
-      "addressIndex": 50
-    },
-    {
-      "codeId": "A01get148#gridaddress",
-      "addressIndex": 51
-    },
-    {
-      "codeId": "A01get169#gridaddress",
-      "addressIndex": 52
-    },
-    {
-      "codeId": "A02get190#gridaddress",
-      "addressIndex": 53
-    },
-    {
-      "codeId": "A02get1#gridaddress",
-      "addressIndex": 54
-    },
-    {
-      "codeId": "A02get22#gridaddress",
-      "addressIndex": 55
-    },
-    {
-      "codeId": "A02get43#gridaddress",
-      "addressIndex": 56
-    },
-    {
-      "codeId": "A02get64#gridaddress",
-      "addressIndex": 57
-    },
-    {
-      "codeId": "A02get85#gridaddress",
-      "addressIndex": 58
-    },
-    {
-      "codeId": "A02get106#gridaddress",
-      "addressIndex": 59
-    },
-    {
-      "codeId": "A02get127#gridaddress",
-      "addressIndex": 60
-    },
-    {
-      "codeId": "A02get148#gridaddress",
-      "addressIndex": 61
-    },
-    {
-      "codeId": "A02get169#gridaddress",
-      "addressIndex": 62
-    },
-    {
-      "codeId": "A02get190#gridaddress",
-      "addressIndex": 63
-    },
-    {
-      "codeId": "B01get1#gridaddress",
-      "addressIndex": 64
-    },
-    {
-      "codeId": "B01get22#gridaddress",
-      "addressIndex": 65
-    },
-    {
-      "codeId": "B01get43#gridaddress",
-      "addressIndex": 66
-    },
-    {
-      "codeId": "B01get64#gridaddress",
-      "addressIndex": 67
-    },
-    {
-      "codeId": "B01get85#gridaddress",
-      "addressIndex": 68
-    },
-    {
-      "codeId": "B02get106#gridaddress",
-      "addressIndex": 69
-    },
-    {
-      "codeId": "B02get127#gridaddress",
-      "addressIndex": 70
-    },
-    {
-      "codeId": "B02get148#gridaddress",
-      "addressIndex": 71
-    },
-    {
-      "codeId": "B02get169#gridaddress",
-      "addressIndex": 72
-    },
-    {
-      "codeId": "B02get190#gridaddress",
-      "addressIndex": 73
-    },
-    {
-      "codeId": "D01IDClean",
-      "addressIndex": 74
-    },
-    {
-      "codeId": "D02IDClean",
-      "addressIndex": 75
-    },
-    {
-      "codeId": "D03IDClean",
-      "addressIndex": 76
-    },
-    {
-      "codeId": "D04IDClean",
-      "addressIndex": 77
-    },
-    {
-      "codeId": "D05IDClean",
-      "addressIndex": 78
-    },
-    {
-      "codeId": "D06IDClean",
-      "addressIndex": 79
-    },
-    {
-      "codeId": "A01IDClean",
-      "addressIndex": 80
-    },
-    {
-      "codeId": "A02IDClean",
-      "addressIndex": 81
-    },
-    {
-      "codeId": "B01IDClean",
-      "addressIndex": 82
-    },
-    {
-      "codeId": "B02IDClean",
-      "addressIndex": 83
-    },
-    {
-      "codeId": "abort/resumeTasks",
-      "addressIndex": 84
-    },
-    {
-      "codeId": "A01SERVETRAVELhome",
-      "addressIndex": 85
-    },
-    {
-      "codeId": "A02SERVETRAVELhome",
-      "addressIndex": 86
-    },
-    {
-      "codeId": "A01A02travelHoming",
-      "addressIndex": 87
-    },
-    {
-      "codeId": "A01halfAutoSelect",
-      "addressIndex": 88
-    },
-    {
-      "codeId": "A02halfAutoSelect",
-      "addressIndex": 89
-    },
-    {
-      "codeId": "A02abortTasks",
-      "addressIndex": 90
-    },
-    {
-      "codeId": "emgHMI",
-      "addressIndex": 91
-    },
-    {
-      "codeId": "Scanningmethod",
-      "addressIndex": 92
-  ]
+{
+  "plcAddressBegin": "DB101.0.0",
+  "plcAddressLenght": "93",
+  "dataType": "bit",
+  "parameteInfor": [
+    {
+      "codeId": "D01VFDconveyor",
+      "addressIndex": 0
+    },
+    {
+      "codeId": "D02VFDconveyor",
+      "addressIndex": 1
+    },
+    {
+      "codeId": "D03VFDconveyor",
+      "addressIndex": 2
+    },
+    {
+      "codeId": "D04VFDconveyor",
+      "addressIndex": 3
+    },
+    {
+      "codeId": "D05VFDconveyor",
+      "addressIndex": 4
+    },
+    {
+      "codeId": "D06VFDconveyor",
+      "addressIndex": 5
+    },
+    {
+      "codeId": "A01VFDconveyor",
+      "addressIndex": 6
+    },
+    {
+      "codeId": "A02VFDconveyor",
+      "addressIndex": 7
+    },
+    {
+      "codeId": "B01VFDconveyor",
+      "addressIndex": 8
+    },
+    {
+      "codeId": "B02VFDconveyor",
+      "addressIndex": 9
+    },
+    {
+      "codeId": "A01SERVETURN",
+      "addressIndex": 10
+    },
+    {
+      "codeId": "A02SERVETURN",
+      "addressIndex": 11
+    },
+    {
+      "codeId": "A01SERVETRAVEL",
+      "addressIndex": 12
+    },
+    {
+      "codeId": "A02SERVETRAVEL",
+      "addressIndex": 13
+    },
+    {
+      "codeId": "B01SERVETRAVEL",
+      "addressIndex": 14
+    },
+    {
+      "codeId": "B02SERVETRAVEL",
+      "addressIndex": 15
+    },
+    {
+      "codeId": "A01SERVETURNPOS",
+      "addressIndex": 16
+    },
+    {
+      "codeId": "A02SERVETURNPOS",
+      "addressIndex": 17
+    },
+    {
+      "codeId": "A01SERVETRAVELPOS",
+      "addressIndex": 18
+    },
+    {
+      "codeId": "A02SERVETRAVELPOS",
+      "addressIndex": 19
+    },
+    {
+      "codeId": "B01SERVETRAVELPOS",
+      "addressIndex": 20
+    },
+    {
+      "codeId": "B02SERVETRAVELPOS",
+      "addressIndex": 21
+    },
+    {
+      "codeId": "B01YVTURN",
+      "addressIndex": 22
+    },
+    {
+      "codeId": "B01YVUPDOWN",
+      "addressIndex": 23
+    },
+    {
+      "codeId": "B02YVTURN",
+      "addressIndex": 24
+    },
+    {
+      "codeId": "B02YVUPDOWN",
+      "addressIndex": 25
+    },
+    {
+      "codeId": "B01YVGassing",
+      "addressIndex": 26
+    },
+    {
+      "codeId": "B02YVGassing",
+      "addressIndex": 27
+    },
+    {
+      "codeId": "A01VFDconveyorreverse",
+      "addressIndex": 28
+    },
+    {
+      "codeId": "A02VFDconveyorreverse",
+      "addressIndex": 29
+    },
+    {
+      "codeId": "A01SERVETURNreset",
+      "addressIndex": 30
+    },
+    {
+      "codeId": "A01SERVETURNhome",
+      "addressIndex": 31
+    },
+    {
+      "codeId": "A01SERVETRAVELreset",
+      "addressIndex": 32
+    },
+    {
+      "codeId": "A02SERVETURNreset",
+      "addressIndex": 33
+    },
+    {
+      "codeId": "A02SERVETURNhome",
+      "addressIndex": 34
+    },
+    {
+      "codeId": "A02SERVETRAVELreset",
+      "addressIndex": 35
+    },
+    {
+      "codeId": "B01SERVETRAVELreset",
+      "addressIndex": 36
+    },
+    {
+      "codeId": "B01SERVETRAVELhome",
+      "addressIndex": 37
+    },
+    {
+      "codeId": "B02SERVETRAVELreset",
+      "addressIndex": 38
+    },
+    {
+      "codeId": "B02SERVETRAVELhome",
+      "addressIndex": 39
+    },
+    {
+      "codeId": "Manualstoragestartup",
+      "addressIndex": 40
+    },
+    {
+      "codeId": "Manualoutputstartup",
+      "addressIndex": 41
+    },
+    {
+      "codeId": "A01oilpump",
+      "addressIndex": 42
+    },
+    {
+      "codeId": "A02oilpump",
+      "addressIndex": 43
+    },
+    {
+      "codeId": "A01get1#gridaddress",
+      "addressIndex": 44
+    },
+    {
+      "codeId": "A01get22#gridaddress",
+      "addressIndex": 45
+    },
+    {
+      "codeId": "A01get43#gridaddress",
+      "addressIndex": 46
+    },
+    {
+      "codeId": "A01get64#gridaddress",
+      "addressIndex": 47
+    },
+    {
+      "codeId": "A01get85#gridaddress",
+      "addressIndex": 48
+    },
+    {
+      "codeId": "A01get106#gridaddress",
+      "addressIndex": 49
+    },
+    {
+      "codeId": "A01get127#gridaddress",
+      "addressIndex": 50
+    },
+    {
+      "codeId": "A01get148#gridaddress",
+      "addressIndex": 51
+    },
+    {
+      "codeId": "A01get169#gridaddress",
+      "addressIndex": 52
+    },
+    {
+      "codeId": "A02get190#gridaddress",
+      "addressIndex": 53
+    },
+    {
+      "codeId": "A02get1#gridaddress",
+      "addressIndex": 54
+    },
+    {
+      "codeId": "A02get22#gridaddress",
+      "addressIndex": 55
+    },
+    {
+      "codeId": "A02get43#gridaddress",
+      "addressIndex": 56
+    },
+    {
+      "codeId": "A02get64#gridaddress",
+      "addressIndex": 57
+    },
+    {
+      "codeId": "A02get85#gridaddress",
+      "addressIndex": 58
+    },
+    {
+      "codeId": "A02get106#gridaddress",
+      "addressIndex": 59
+    },
+    {
+      "codeId": "A02get127#gridaddress",
+      "addressIndex": 60
+    },
+    {
+      "codeId": "A02get148#gridaddress",
+      "addressIndex": 61
+    },
+    {
+      "codeId": "A02get169#gridaddress",
+      "addressIndex": 62
+    },
+    {
+      "codeId": "A02get190#gridaddress",
+      "addressIndex": 63
+    },
+    {
+      "codeId": "B01get1#gridaddress",
+      "addressIndex": 64
+    },
+    {
+      "codeId": "B01get22#gridaddress",
+      "addressIndex": 65
+    },
+    {
+      "codeId": "B01get43#gridaddress",
+      "addressIndex": 66
+    },
+    {
+      "codeId": "B01get64#gridaddress",
+      "addressIndex": 67
+    },
+    {
+      "codeId": "B01get85#gridaddress",
+      "addressIndex": 68
+    },
+    {
+      "codeId": "B02get106#gridaddress",
+      "addressIndex": 69
+    },
+    {
+      "codeId": "B02get127#gridaddress",
+      "addressIndex": 70
+    },
+    {
+      "codeId": "B02get148#gridaddress",
+      "addressIndex": 71
+    },
+    {
+      "codeId": "B02get169#gridaddress",
+      "addressIndex": 72
+    },
+    {
+      "codeId": "B02get190#gridaddress",
+      "addressIndex": 73
+    },
+    {
+      "codeId": "D01IDClean",
+      "addressIndex": 74
+    },
+    {
+      "codeId": "D02IDClean",
+      "addressIndex": 75
+    },
+    {
+      "codeId": "D03IDClean",
+      "addressIndex": 76
+    },
+    {
+      "codeId": "D04IDClean",
+      "addressIndex": 77
+    },
+    {
+      "codeId": "D05IDClean",
+      "addressIndex": 78
+    },
+    {
+      "codeId": "D06IDClean",
+      "addressIndex": 79
+    },
+    {
+      "codeId": "A01IDClean",
+      "addressIndex": 80
+    },
+    {
+      "codeId": "A02IDClean",
+      "addressIndex": 81
+    },
+    {
+      "codeId": "B01IDClean",
+      "addressIndex": 82
+    },
+    {
+      "codeId": "B02IDClean",
+      "addressIndex": 83
+    },
+    {
+      "codeId": "abort/resumeTasks",
+      "addressIndex": 84
+    },
+    {
+      "codeId": "A01SERVETRAVELhome",
+      "addressIndex": 85
+    },
+    {
+      "codeId": "A02SERVETRAVELhome",
+      "addressIndex": 86
+    },
+    {
+      "codeId": "A01A02travelHoming",
+      "addressIndex": 87
+    },
+    {
+      "codeId": "A01halfAutoSelect",
+      "addressIndex": 88
+    },
+    {
+      "codeId": "A02halfAutoSelect",
+      "addressIndex": 89
+    },
+    {
+      "codeId": "A02abortTasks",
+      "addressIndex": 90
+    },
+    {
+      "codeId": "emgHMI",
+      "addressIndex": 91
+    },
+    {
+      "codeId": "Scanningmethod",
+      "addressIndex": 92
+  ]
 }
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/pom.xml b/hangzhoumesParent/moduleService/pom.xml
index 6171540..4541032 100644
--- a/hangzhoumesParent/moduleService/pom.xml
+++ b/hangzhoumesParent/moduleService/pom.xml
@@ -37,11 +37,11 @@
         </dependency>
 
         <!--渚濊禆鏈嶅姟鐨勫伐鍏风被-->
-<!--        <dependency>-->
-<!--            <groupId>com.mes</groupId>-->
-<!--            <artifactId>common</artifactId>-->
-<!--            <version>1.0-SNAPSHOT</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>com.mes</groupId>-->
+        <!--            <artifactId>common</artifactId>-->
+        <!--            <version>1.0-SNAPSHOT</version>-->
+        <!--        </dependency>-->
 
         <dependency>
             <artifactId>servicebase</artifactId>
diff --git a/hangzhoumesParent/readMe.md b/hangzhoumesParent/readMe.md
index 7b29abf..d2ffe19 100644
--- a/hangzhoumesParent/readMe.md
+++ b/hangzhoumesParent/readMe.md
@@ -1,5 +1,5 @@
 1銆佹湰椤圭洰鏄熀浜嶴pringBoot+Mybatis-plus+Mysql+Vue+ElementUI+Maven+Nginx鐨勯」鐩�,鐩綍缁撴灉缁撴瀯濡備笅锛�
-   
+
     鈹溾攢src
     鈹溾攢com   鎻掍欢鐢熸垚鐨勪唬鐮侊紝鐢ㄤ簬鍚勮嚜寮�鍙戜娇鐢�
     鈹�  鈹斺攢mes
@@ -11,13 +11,8 @@
         鈹溾攢-LoadGlassModule
         鈹溾攢-TemperingGlassModule
         鈹斺攢-UnLoadGlassModule
-2銆佽繍琛岄」鐩細
-    1銆佸惎鍔ㄩ」鐩細鍚姩鍚勮嚜妯″潡鍚姩绫� 渚嬪锛欳acheGlassModuleApplication.java#main()
-    2銆佽闂」鐩細
-    3銆侀」鐩湴鍧�锛歨ttp://localhost:8081/mesModuleCache/doc.html#/home
-    4銆侀」鐩鏄庯細 鏈晫闈负Api鏂囨。锛屽叕寮�浜哄憳鐢ㄤ簬璋冭瘯
-3銆侀」鐩鏄庯細
-    1銆侀」鐩垎涓哄叕鍏辨ā鍧梒ommon锛屼笟鍔℃ā鍧梞oduleService銆�
-    2銆乧ommon妯″潡涓寘鍚叕鍏辩殑绫伙紝渚嬪锛氬叕鍏辩殑瀹炰綋绫汇�佹嫤鎴櫒銆佸伐鍏风被銆佸父閲忕被銆佸紓甯稿鐞嗙瓑銆�
-    3銆乵oduleService涓寘鍚悇涓笟鍔℃ā鍧楋紝姣忎釜涓氬姟妯″潡涓寘鍚竴涓惎鍔ㄧ被,寮�鍙戜汉鍛橀渶瑕佸紑鍙戝悇鑷礋璐g殑涓氬姟妯″潡銆�
-    4銆乧om鐩綍涓嬬殑鏂囦欢涓烘彃浠剁敓鎴愮殑浠g爜锛岀敤浜庡悇鑷紑鍙戜娇鐢ㄣ�傜敤瀹屽垹闄ゅ嵆鍙紝閬垮厤褰卞搷寮�鍙戙��
\ No newline at end of file
+
+2銆佽繍琛岄」鐩細 1銆佸惎鍔ㄩ」鐩細鍚姩鍚勮嚜妯″潡鍚姩绫� 渚嬪锛欳acheGlassModuleApplication.java#main()
+2銆佽闂」鐩細 3銆侀」鐩湴鍧�锛歨ttp://localhost:8081/mesModuleCache/doc.html#/home
+4銆侀」鐩鏄庯細 鏈晫闈负Api鏂囨。锛屽叕寮�浜哄憳鐢ㄤ簬璋冭瘯 3銆侀」鐩鏄庯細 1銆侀」鐩垎涓哄叕鍏辨ā鍧梒ommon锛屼笟鍔℃ā鍧梞oduleService銆� 2銆乧ommon妯″潡涓寘鍚叕鍏辩殑绫伙紝渚嬪锛氬叕鍏辩殑瀹炰綋绫汇�佹嫤鎴櫒銆佸伐鍏风被銆佸父閲忕被銆佸紓甯稿鐞嗙瓑銆�
+3銆乵oduleService涓寘鍚悇涓笟鍔℃ā鍧楋紝姣忎釜涓氬姟妯″潡涓寘鍚竴涓惎鍔ㄧ被,寮�鍙戜汉鍛橀渶瑕佸紑鍙戝悇鑷礋璐g殑涓氬姟妯″潡銆� 4銆乧om鐩綍涓嬬殑鏂囦欢涓烘彃浠剁敓鎴愮殑浠g爜锛岀敤浜庡悇鑷紑鍙戜娇鐢ㄣ�傜敤瀹屽垹闄ゅ嵆鍙紝閬垮厤褰卞搷寮�鍙戙��
\ No newline at end of file

--
Gitblit v1.8.0