From f8b836e2c1a6f2e296ee51849b7bd0e3788da719 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期五, 19 四月 2024 13:32:31 +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            |    8 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java  |   27 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java                                |   54 +++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java                     |  126 +++---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassInfoController.java            |    1 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageMapper.java                    |    3 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                  |    9 
 UI-Project/src/views/UnLoadGlass/loadmachinerack.vue                                                                                     |  349 +++++++++++++++----
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java     |   25 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/mapper/DownStorageCageDetailsMapper.java             |   18 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java |    1 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationTaskServiceImpl.java |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownGlassLogic.java                      |   47 --
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java          |    2 
 hangzhoumesParent/common/servicebase/pom.xml                                                                                             |    9 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml                                                     |   12 
 hangzhoumesParent/common/pom.xml                                                                                                         |   10 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java                                      |    5 
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml                                              |   18 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java         |  118 ++++++
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java         |   12 
 /dev/null                                                                                                                                |   65 ---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java                  |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/controller/DownWorkstationController.java        |   28 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/controller/DownStorageCageDetailsController.java     |   33 +
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageDetailsService.java           |    3 
 hangzhoumesParent/moduleService/pom.xml                                                                                                  |   10 
 27 files changed, 663 insertions(+), 338 deletions(-)

diff --git a/CacheVerticalGlassModule/.vs/CacheVerticalGlassModule/v16/.suo b/CacheVerticalGlassModule/.vs/CacheVerticalGlassModule/v16/.suo
deleted file mode 100644
index 83013ee..0000000
--- a/CacheVerticalGlassModule/.vs/CacheVerticalGlassModule/v16/.suo
+++ /dev/null
Binary files differ
diff --git a/CacheVerticalGlassModule/.vs/ProjectSettings.json b/CacheVerticalGlassModule/.vs/ProjectSettings.json
deleted file mode 100644
index f8b4888..0000000
--- a/CacheVerticalGlassModule/.vs/ProjectSettings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "CurrentProjectSetting": null
-}
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/.vs/VSWorkspaceState.json b/CacheVerticalGlassModule/.vs/VSWorkspaceState.json
deleted file mode 100644
index 6b61141..0000000
--- a/CacheVerticalGlassModule/.vs/VSWorkspaceState.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
-  "ExpandedNodes": [
-    ""
-  ],
-  "PreviewInSolutionExplorer": false
-}
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/.vs/slnx.sqlite b/CacheVerticalGlassModule/.vs/slnx.sqlite
deleted file mode 100644
index 308d5b9..0000000
--- a/CacheVerticalGlassModule/.vs/slnx.sqlite
+++ /dev/null
Binary files differ
diff --git a/CacheVerticalGlassModule/pom.xml b/CacheVerticalGlassModule/pom.xml
deleted file mode 100644
index 721b5b5..0000000
--- a/CacheVerticalGlassModule/pom.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.5.9</version>
-        <relativePath/> <!-- lookup parent from repository -->
-    </parent>
-    <groupId>com.MES-Module</groupId>
-    <artifactId>MES-Module</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <name>MES-Module</name>
-    <description>project for Spring Boot</description>
-    <properties>
-        <java.version>1.8</java.version>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>2.3.1</version>
-        </dependency>
-        <dependency>
-            <groupId>com.alibaba</groupId>
-            <artifactId>fastjson</artifactId>
-            <version>1.2.70</version>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.data</groupId>
-            <artifactId>spring-data-commons</artifactId>
-            <version>2.3.1.RELEASE</version>
-       </dependency>
-        <dependency>
-            <groupId>mysql</groupId>
-            <artifactId>mysql-connector-java</artifactId>
-            <version>8.0.20</version>
-            <scope>runtime</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mybatis.spring.boot</groupId>
-            <artifactId>mybatis-spring-boot-starter-test</artifactId>
-            <version>2.3.1</version>
-            <scope>test</scope>
-        </dependency>
-        <!--jwt 椤圭洰鐢熸垚token-->
-        <dependency>
-            <groupId>com.auth0</groupId>
-            <artifactId>java-jwt</artifactId>
-            <version>3.10.3</version>
-        </dependency>
-        <dependency>
-            <groupId>org.assertj</groupId>
-            <artifactId>assertj-core</artifactId>
-        </dependency>
-        <!--hutool java楠岃瘉鏂规硶绫�-->
-        <dependency>
-            <groupId>cn.hutool</groupId>
-            <artifactId>hutool-all</artifactId>
-            <version>5.4.0</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.5.1</version>
-        </dependency>
-
-        <dependency>
-            <groupId>com.baomidou</groupId>
-            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
-            <version>3.5.1</version>
-        </dependency>
-
-<!--        SwaggerUi-->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>2.9.2</version>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>2.9.2</version>
-        </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>1.5.20</version>
-        </dependency>
-
-         <dependency>
-            <groupId>com.github.xingshuangs</groupId>
-            <artifactId>iot-communication</artifactId>
-            <version>1.4.2</version>
-        </dependency>
-        <!--   spring cache 鏁版嵁缂撳瓨     -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-cache</artifactId>
-        </dependency>
-
-<!--websocket-->
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.boot</groupId>-->
-<!--            <artifactId>spring-boot-starter-websocket</artifactId>-->
-<!--        </dependency>-->
-
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-            <version>4.1.36.Final</version>
-        </dependency>
-
-    </dependencies>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                    <excludes>
-                        <exclude>
-                            <groupId>org.projectlombok</groupId>
-                            <artifactId>lombok</artifactId>
-                        </exclude>
-                    </excludes>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-
-
-    <repositories>
-        <repository>
-            <id>nexus-aliyun</id>
-            <name>nexus-aliyun</name>
-            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </repository>
-    </repositories>
-
-    <pluginRepositories>
-        <pluginRepository>
-            <id>public</id>
-            <name>aliyun nexus</name>
-            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
-            <releases>
-                <enabled>true</enabled>
-            </releases>
-            <snapshots>
-                <enabled>false</enabled>
-            </snapshots>
-        </pluginRepository>
-    </pluginRepositories>
-</project>
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/MesApplication.java b/CacheVerticalGlassModule/src/main/java/com/mes/MesApplication.java
deleted file mode 100644
index fc44d4a..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/MesApplication.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.mes;
-
-import com.mes.common.PlcTools.S7object;
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cache.annotation.EnableCaching;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-import org.springframework.transaction.annotation.Transactional;
-
-//springboot 鍚姩鍏ュ彛
-@SpringBootApplication
-@EnableCaching
-@EnableTransactionManagement//浜嬪姟娉ㄨВ
-//@Transactional//鍦╯ervice閲岄潰鏈夊琛ㄦ搷浣滐紝寮�鍚簨鍔℃敞瑙�
-public class MesApplication {
-    public static void main(String[] args) {
-        SpringApplication.run(MesApplication.class, args);
-        try {
-            //new NettyServer(12345).start();
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-}
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/CacheUtil.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/CacheUtil.java
deleted file mode 100644
index df5af14..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/CacheUtil.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mes.common;
-
-import com.mes.controller.dto.UserDTO;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Component;
-
-@Component
-public class CacheUtil {
-    @Cacheable(value="users", key="#id")
-    public UserDTO getCacheData(String id){
-        return null;
-    }
-
-    @Cacheable(value="users", key="#userDTO.getUserId()")
-    public UserDTO setCacheData(UserDTO userDTO){
-
-        return userDTO;
-    }
-
-
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/Constants.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/Constants.java
deleted file mode 100644
index 9e591db..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/Constants.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.mes.common;
-
-/**
- * 瀹氫箟涓�浜涘父閲忚繘琛屼娇鐢�
- */
-public interface Constants {
-    String Code_500="500";//绯荤粺閿欒
-    String Code_401="401";//鏉冮檺涓嶈冻
-    String Code_400="400";//
-    String Code_200="200";//鎴愬姛
-    String Code_600="600";//鍏朵粬闂
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcStorageCage.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcStorageCage.java
deleted file mode 100644
index bbd3ccd..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcStorageCage.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package com.mes.common;
-
-import com.mes.common.PlcTools.S7control;
-import com.mes.entity.BigStorageCage;
-import com.mes.entity.BigStorageCageDetails;
-import com.mes.service.BigStorageCageService;
-
-public class PlcStorageCage extends Thread {
-    private BigStorageCageService bigStorageCageService;
-    private S7control s7control;
-    public void run() {
-        try {
-            Thread.sleep(1000);
-            String glassid="11111";
-            String tempering_layout_id="123";
-            String tempering_feed_sequence="123";
-            
-            //璇嗗埆鍙�
-            //鑾峰彇璇嗗埆鍙拌姹�
-            //鏍规嵁璇锋眰鐨勭幓鐠僫d浠庢秷鎭┖闂寸珯鑾峰彇鐜荤拑淇℃伅
-
-            //妫�娴嬭瘑鍒彴鏄惁鏈夌幓鐠�
-                //鏈夛細鍏佽娓呮礂鏈哄嚭鐗囦俊鍙峰叧闂�
-                //鏃狅細鍏佽娓呮礂鏈哄嚭鐗囦俊鎭紑鍚�
-
-            //鑾峰彇杩涚墖璇锋眰
-                //鏈夎姹傛椂
-                    //鑾峰彇璇锋眰鐨勭幓鐠僫d
-                    //鏍规嵁鐜荤拑id鑾峰彇鐜荤拑淇℃伅鍒ゆ柇鏄惁涓庢秷鎭槦鍒椾竴鑷�
-                    //涓嶄竴鑷达細鏍囪鐜荤拑涓虹牬鎹�
-                    //涓�鑷达細
-                        //鑾峰彇绗煎唴杩涚墖渚х浉鍚屽悓閽㈠寲鐗堝浘鐨勭幓鐠冪墖搴�+1绛変簬褰撳墠鐜荤拑id閽㈠寲鐗囧簭鐨勬牸瀛�
-                        
-                        //灏嗘秷鎭槦鍒楃殑淇℃伅鏀惧叆瀹炰緥涓�
-                        BigStorageCageDetails bigStorageCageDetails=new BigStorageCageDetails();
-
-                        bigStorageCageDetails.setGlassId("1111");
-                        bigStorageCageDetails.setTemperingLayoutId(123);
-                        bigStorageCageDetails.setTemperingFeedSequence(3);
-                        BigStorageCageDetails SlotInfo=bigStorageCageService.FeedGlass(bigStorageCageDetails);
-
-                        //鍙戦�佺粰plc
-                                
-            //鍑虹墖璇锋眰
-                //鑾峰彇褰撳墠
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-}
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
deleted file mode 100644
index 9cc9e37..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7control.java
+++ /dev/null
@@ -1,413 +0,0 @@
-package com.mes.common.PlcTools;
-
-
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.github.xingshuangs.iot.protocol.s7.service.MultiAddressWrite;
-import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
-import com.google.common.primitives.Bytes;
-
-public class S7control {
-
-    S7PLC s7PLC; // PLC閫氳绫诲疄渚�
-    
-    public S7control(EPlcType plcType, String ip, int port, int rack, int slot) {
-        if (s7PLC == null)
-            s7PLC = new S7PLC(plcType, ip, port,0,0);
-    } 
-    /**
-     * 鍏抽棴瑗块棬瀛恠7閫氳杩炴帴
-     */
-    public void CloseS7client() {
-        if (s7PLC == null)
-            s7PLC.close();
-            s7PLC.checkConnected();
-    }
-
-    /**
-     * s7閫氳杩炴帴鐘舵��
-     */
-    public boolean CheckConnected() {
-        return s7PLC.checkConnected();
-    }
-     
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
-     * 
-     * @param address 鍦板潃
-     * @param data    word鐨勫��
-     */
-    public void WriteWord(String address, short data) {
-        if (s7PLC==null)
-        {
-            return;
-        }
-        s7PLC.writeInt16(address, data);
-    }
-
-    /**
-     * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
-     * 
-     * @param address 鍦板潃
-     * @param datas   word鐨勫��
-     */
-    public void WriteWord(String address, List<Short> datas) {
-        if (s7PLC==null)
-            return;
-        // s7PLC.write(address, data);
-        List<String> addresslist = GetAddressList(address, datas.size(), 16);
-        MultiAddressWrite addressWrite = new MultiAddressWrite();
-        for (int i = 0; i < datas.size(); i++) {
-            addressWrite.addInt16(addresslist.get(i), datas.get(i));
-        }
-        s7PLC.writeMultiData(addressWrite);
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
-     * 
-     * @param address 鍦板潃
-     * @param datas   word鐨勫��
-     */
-
-
-
-
-
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
-     * 
-     * @param address 鍦板潃
-     * @param data    Bit鐨勫��
-     */
-    public void WriteBit(String address, Boolean data) {
-        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)
-            return;
-        // s7PLC.write(address, data);
-
-        MultiAddressWrite addressWrite = new MultiAddressWrite();
-        for (int i = 0; i < address.size(); i++) {
-            addressWrite.addBoolean(address.get(i), datas.get(i));
-        }
-        s7PLC.writeMultiData(addressWrite);
-    }
-
-    /**
-     * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
-     * 
-     * @param address 鍦板潃
-     * @param datas   word鐨勫��
-     */
-    public void WriteBit(String address, List<Boolean> datas) {
-        if (s7PLC==null)
-            return;
-        // s7PLC.write(address, data);
-        List<String> addresslist = GetAddressList(address, datas.size(), 1);
-        MultiAddressWrite addressWrite = new MultiAddressWrite();
-        for (int i = 0; i < datas.size(); i++) {
-            addressWrite.addBoolean(addresslist.get(i), datas.get(i));
-        }
-        s7PLC.writeMultiData(addressWrite);
-    }
-     /**
-     * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜byte
-     * 
-     * @param address 鍦板潃
-     * @param datas   byte鐨勫��
-     */
-    public void WriteByte(String address, byte[] datas) {
-        if (s7PLC==null)
-            return;
-        // s7PLC.write(address, data); 
-        s7PLC.writeByte(address, datas);
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     * 
-     * @param address 鍦板潃
-     * @return 缁撴灉
-     */
-    public List<Short> ReadWord(List<String> address) {
-        if (s7PLC == null)
-            return null;
-
-        try {
-            return s7PLC.readInt16(address);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-    }
-
-
-
-
-    private int getIndexFromAddress(String address) {
-
-        // 鍙互瑙f瀽鍑哄湴鍧�涓殑鏁板瓧閮ㄥ垎锛屽苟杞崲涓烘暣鏁�
-        return 0;
-    }
-
-    private String getAddressFromIndex(int index) {
-
-        // 鏁存暟杞崲涓哄湴鍧�鏍煎紡鐨勫瓧绗︿覆
-        return "";
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     * 
-     * @param address 鍦板潃
-     * @param count   杩炵画璇诲灏戜釜word
-     * @return 缁撴灉
-     */
-    public List<Short> ReadWord(String address, int count) {
-        if (s7PLC == null)
-            return null;
-
-        List<String> addresslist = GetAddressList(address, count, 16);
-        try {
-            return s7PLC.readInt16(addresslist);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-
-            return null;
-        }
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 璇诲彇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);
-
-        try {
-            return s7PLC.readByte(address, count);
-        }catch (Exception e) {
-            // 澶勭悊寮傚父
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-
-    }
-
-    /**
-     * 鎸夋寚瀹氱殑鍦板潃 鎸塨it浣� 0 flase 1 true 璇诲彇缁撴灉
-     *
-     * @param addresslist 鍦板潃闆�
-     * @return Boolean缁撴灉
-     */
-    public List<Boolean> ReadBits(List<String> addresslist) {
-        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());
-        }
-    }
-
-    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);
-            }
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            result.add(null);
-        }
-    }
-
-    return result;
-}
-
-
-//涓嶈繛缁湴鍧�鍐欏叆Word
-    public void WriteWord(List<String> address, List<Short> datas) {
-        if (s7PLC == null)
-            return;
-
-        for (int i = 0; i < address.size(); i++) {
-            String addr = address.get(i);
-            short data = datas.get(i);
-
-            if (addr.contains("-")) {
-                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<>();
-        String[] parts = addr.split("-");
-        if (parts.length == 2) {
-            addr = parts[0]; // 鍙繚鐣� "-" 鍓嶉潰鐨勯儴鍒�
-        }
-        for (char iditem : data.toCharArray()) {
-            glassidlist.add(Byte.valueOf(String.valueOf(iditem)));
-        }
-        byte[] bytes = Bytes.toArray(glassidlist);
-        WriteByte(addr, bytes);
-    }
-
-//璇诲彇涓嶈繛缁瓀ord
-    public List<Short> readWords(List<String> addresses) {
-        if (s7PLC == null) {
-            return null;
-        }
-
-        List<Short> data = new ArrayList<>();
-
-        for (String address : addresses) {
-            try {
-
-                // 鍗曚釜鍦板潃
-                Short value = s7PLC.readInt16(address);
-                data.add(value);
-            } catch (Exception e) {
-                System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-
-            }
-
-        }
-        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 void writetime(String address, long datas) {
-        if (s7PLC == null)
-            return;
-
-
-        s7PLC.writeTime(address, datas); // 灏嗘暟鎹啓鍏ュ崟涓湴鍧�
-    }
-
-
-
-
-
-    private int extractAddressNumber(String address) {
-        String numberStr = address.replaceAll("\\D+", ""); // 浣跨敤姝e垯琛ㄨ揪寮忔彁鍙栨暟瀛楅儴鍒�
-        return Integer.parseInt(numberStr);
-    }
-
-
-    /**
-     * 浠庢寚瀹氱殑鍦板潃寮�濮� 杩炵画鎸塨it浣嶈鍙�
-     *
-     * @param address 鍦板潃
-     * @param count   闀垮害
-     * @return Boolean缁撴灉
-     */
-    public List<Boolean> ReadBits(String address, int count) {
-        if (s7PLC == null)
-            return null;
-        List<String> addresslist = GetAddressList(address, count, 1);
-        try {
-            return s7PLC.readBoolean(addresslist);
-        } catch (Exception e) {
-            System.out.println("璇诲彇 " + address + " 澶辫触锛�" + e.getMessage());
-            return null;
-        }
-
-    };
-    
-    
-
-    private List<String> GetAddressList(String address, int count, int addedbit) {
-        List<String> addresslist = new ArrayList<String>();
-
-        String[] stringdatas = address.trim().split("\\.");
-        if (stringdatas.length < 2 || !address.startsWith("DB"))
-            return null;
-        int dbwindex = 0;
-        int bitindex = 0;
-        if (stringdatas.length == 2) {
-            dbwindex = Integer.parseInt(stringdatas[1]);
-        } else if (stringdatas.length == 3) {
-            dbwindex = Integer.parseInt(stringdatas[1]);
-            bitindex = Integer.parseInt(stringdatas[2]);
-        } else
-            return null;
-
-            addresslist.add(address);
-        for (int i = 0; i < count-1; i++) {
-
-            int bitcurrent = bitindex + addedbit;
-            if (bitcurrent > 7) {
-                dbwindex += bitcurrent / 8;
-                bitindex = 0;
-            } else
-                bitindex = bitcurrent;
-
-                String endstr=stringdatas.length==3?"." + bitindex:"";
-            addresslist.add(stringdatas[0] + "." + dbwindex + endstr);
-        }
-        return addresslist;
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7object.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7object.java
deleted file mode 100644
index 16bd1de..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7object.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.mes.common.PlcTools;
-
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
-
-public class S7object {
-    public S7control plccontrol; // PLC閫氳绫诲疄渚�
-    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
-    private String ip = "192.168.10.1"; // plc ip鍦板潃
-    private int port = 102; // plc 绔彛鍙�
-
-    private static volatile S7object instance = null;
-
-    private S7object() {
-        if (plccontrol == null)
-           plccontrol = new S7control(plcType, ip, port,0,0);
-    }
-
-    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
-    public static S7object getinstance() {
-        if (instance == null) {
-            synchronized (S7object.class) {
-                if (instance == null)
-                    instance = new S7object();
-            }
-        }
-        return instance;
-    } 
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7object2.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7object2.java
deleted file mode 100644
index 4ed72d6..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/PlcTools/S7object2.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.mes.common.PlcTools;
-
-import com.github.xingshuangs.iot.protocol.s7.enums.EPlcType;
-import com.github.xingshuangs.iot.protocol.s7.service.S7PLC;
-
-public class S7object2 {
-    public S7control plccontrol; // PLC閫氳绫诲疄渚�
-    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
-    private String ip = "192.168.10.2"; // plc ip鍦板潃
-    private int port = 102; // plc 绔彛鍙�
-
-    private static volatile S7object2 instance = null;
-
-    private S7object2() {
-        if (plccontrol == null)
-           plccontrol = new S7control(plcType, ip, port,0,0);
-    }
-
-    // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
-    public static S7object2 getinstance() {
-        if (instance == null) {
-            synchronized (S7object2.class) {
-                if (instance == null)
-                    instance = new S7object2();
-            }
-        }
-        return instance;
-    } 
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/Result.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/Result.java
deleted file mode 100644
index 654546b..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/Result.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.mes.common;
-//杩斿洖缁撴灉鍖呰绫�
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@NoArgsConstructor
-@AllArgsConstructor
-public class Result {
-    private String code;
-    private String msg;
-    private Object data;
-
-    public static  Result seccess(){
-        return new Result(Constants.Code_200,"",null);
-    }
-    public static  Result seccess(Object data){
-        return new Result(Constants.Code_200,"",data);
-    }
-
-    public static  Result error(String code ,String msg){
-        return new Result(code,msg,null);
-    }
-    public static  Result error(){
-        return new Result(Constants.Code_500,"鏈嶅姟鍣ㄥ彂鐢熷紓甯�",null);
-    }
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/common/interceptor/JwtInterceptor.java b/CacheVerticalGlassModule/src/main/java/com/mes/common/interceptor/JwtInterceptor.java
deleted file mode 100644
index 43104f9..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/common/interceptor/JwtInterceptor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package com.mes.common.interceptor;
-
-import cn.hutool.core.util.StrUtil;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.JWTVerifier;
-import com.auth0.jwt.algorithms.Algorithm;
-import com.auth0.jwt.exceptions.JWTVerificationException;
-import com.mes.common.CacheUtil;
-import com.mes.common.Constants;
-import com.mes.controller.dto.UserDTO;
-import com.mes.exception.ServiceException;
-import com.mes.service.userInfo.UserService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.method.HandlerMethod;
-import org.springframework.web.servlet.HandlerInterceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-@Component
-public class JwtInterceptor implements HandlerInterceptor {
-
-    @Autowired
-    private UserService userService;
-    @Autowired
-    private CacheUtil cacheUtil;
-
-    @Override
-    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-        //return HandlerInterceptor.super.preHandle(request, response, handler);
-        /*String token=request.getHeader("token");
-        if(!(handler instanceof HandlerMethod)){
-            return  true;
-        }
-
-        if(StrUtil.isBlank(token)){
-            throw new ServiceException(Constants.Code_401,"鏃爐oken,閲嶆柊鐧婚檰");
-        }
-        String userId;
-        try{
-            userId = JWT.decode(token).getAudience().get(0);
-        }catch (Exception e){
-            throw new ServiceException(Constants.Code_500,"token鏍煎紡閿欒");
-        }
-
-        UserDTO getUserDTO = cacheUtil.getCacheData(userId);
-
-        if(getUserDTO != null && !getUserDTO.getToken().equals(token)){
-            throw new ServiceException(Constants.Code_600,"鐢ㄦ埛鍦ㄥ叾浠栦綅缃櫥闄�");
-        }
-
-
-        String password=userService.getUserByID(userId).toLowerCase();
-        //鐢ㄦ埛瀵嗙爜鍔犵楠岃瘉
-        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256(password)).build();
-        try {
-            jwtVerifier.verify(token);
-        } catch (JWTVerificationException e) {
-            throw new ServiceException(Constants.Code_401,"token楠岃瘉澶辫触,璇烽噸鏂扮櫥闄�");
-        }*/
-        return true;
-    }
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java b/CacheVerticalGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
deleted file mode 100644
index 777123b..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/config/AppRunnerConfig.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.mes.config;
-
-
-import com.mes.*;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Component;
-
-@Component
-@Order(1)
-
-public class AppRunnerConfig implements ApplicationRunner {
-
-    @Override
-    public void run(ApplicationArguments args) throws Exception {
-        // TODO Auto-generated method stub
-        //
-        System.out.println("鍚姩瀹屾垚2");
- 
- 
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/config/InterceptorConfig.java b/CacheVerticalGlassModule/src/main/java/com/mes/config/InterceptorConfig.java
deleted file mode 100644
index 43bfcc7..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/config/InterceptorConfig.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mes.config;
-
-import com.mes.common.interceptor.JwtInterceptor;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import javax.annotation.Resource;
-
-@Configuration
-
-public class InterceptorConfig implements WebMvcConfigurer {
-    @Resource
-    private JwtInterceptor jwtInterceptor;
-    @Override
-    public void addInterceptors(InterceptorRegistry registry) {
-        registry.addInterceptor(jwtInterceptor)
-                .addPathPatterns("/**")
-                .excludePathPatterns("/user/login",
-                        "/user/register",
-                        "/swagger-resources/**"
-                        ,"/webjars/**"
-                        ,"/v2/**"
-                        ,"/swagger-ui.html/**"
-                        ,"/swagger-ui.html#/**");
-    }
-
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/config/MyCorsConfig.java b/CacheVerticalGlassModule/src/main/java/com/mes/config/MyCorsConfig.java
deleted file mode 100644
index 9cb413e..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/config/MyCorsConfig.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mes.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.CorsRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-@Configuration(proxyBeanMethods = false)
-public class MyCorsConfig {
-    @Bean
-    public WebMvcConfigurer corsConfigurer() {
-        return new WebMvcConfigurer() {
-            @Override
-            public void addCorsMappings(CorsRegistry registry) {
-                registry.addMapping("/**");
-            }
-        };
-    }
-
-
-}
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/config/MybatisPlusConfig.java b/CacheVerticalGlassModule/src/main/java/com/mes/config/MybatisPlusConfig.java
deleted file mode 100644
index d14faae..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/config/MybatisPlusConfig.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mes.config;
-
-import com.baomidou.mybatisplus.annotation.DbType;
-import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
-import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
-import org.springframework.context.annotation.Bean;
-
-public class MybatisPlusConfig {
-    @Bean
-    public MybatisPlusInterceptor mybatisPlusInterceptor() {
-        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
-        interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));//濡傛灉閰嶇疆澶氫釜鎻掍欢,鍒囪鍒嗛〉鏈�鍚庢坊鍔�
-        //interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); 濡傛灉鏈夊鏁版嵁婧愬彲浠ヤ笉閰嶅叿浣撶被鍨� 鍚﹀垯閮藉缓璁厤涓婂叿浣撶殑DbType
-        return interceptor;
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/config/SwaggerConfig.java b/CacheVerticalGlassModule/src/main/java/com/mes/config/SwaggerConfig.java
deleted file mode 100644
index 7ccbf7e..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/config/SwaggerConfig.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.mes.config;
-import com.google.common.collect.Lists;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.ApiInfoBuilder;
-import springfox.documentation.builders.ParameterBuilder;
-import springfox.documentation.builders.PathSelectors;
-import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.schema.ModelRef;
-import springfox.documentation.service.*;
-import springfox.documentation.spi.DocumentationType;
-import springfox.documentation.spi.service.contexts.SecurityContext;
-import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import static springfox.documentation.builders.PathSelectors.regex;
-
-@Configuration
-@EnableSwagger2     //寮�鍚疭wagger2
-public class SwaggerConfig {
-
-    //閰嶇疆浜哠wagger鐨凞ocket鐨刡ean瀹炰緥
-    @Bean
-    public Docket docket(){
-        return new Docket(DocumentationType.SWAGGER_2)
-                .apiInfo(apiInfo())
-                .select()
-                //鍔犱簡ApiOperation娉ㄨВ鐨勭被锛屾墠鐢熸垚鎺ュ彛鏂囨。
-                .apis(RequestHandlerSelectors.basePackage("com.mes.controller"))
-                //鍖呬笅鐨勭被锛屾墠鐢熸垚鎺ュ彛鏂囨。
-                .paths(PathSelectors.any())
-                .build()
-                .securitySchemes(securitySchemes())
-                .securityContexts(securityContexts());
-
-    }
-
-
-    /**
-     * 閰嶇疆璁よ瘉妯″紡
-     * @return
-     */
-    private List<ApiKey> securitySchemes() {
-        List<ApiKey> arrayList = new ArrayList<>();
-        arrayList.add( new ApiKey("token", "token", "header"));
-        return arrayList;
-    }
-
-    /**
-     * 閰嶇疆璁よ瘉涓婁笅鏂�
-     */
-    private List<SecurityContext> securityContexts() {
-        List<SecurityContext> securityContexts = new ArrayList<>();
-        securityContexts.add(SecurityContext.builder().securityReferences(defaultAuth())
-                //杩囨护瑕侀獙璇佺殑璺緞
-                .forPaths(PathSelectors.regex("^(?!auth).*$"))
-                .build());
-        return securityContexts;
-    }
-
-    private List<SecurityReference> defaultAuth() {
-        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
-        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
-        authorizationScopes[0] = authorizationScope;
-        List<SecurityReference> securityReferences = new ArrayList<>();
-        //楠岃瘉澧炲姞锛堟湁璁稿鏁欑▼璇存槑涓繖涓湴鏂规槸Authorization,瀵艰嚧涓嶈兘甯﹀叆鍏ㄥ眬token锛屽洜涓簊ecuritySchemes()鏂规硶涓環eader鍐欏叆token锛屾墍浠ヨ繖涓湴鏂规垜鏀逛负token灏卞彲浠ヤ簡锛�
-        securityReferences.add(new SecurityReference("token", authorizationScopes));
-        return securityReferences;
-    }
-    //閰嶇疆Swagger淇℃伅 = apiInfo
-    private ApiInfo apiInfo(){
-        //浣滆�呬俊鎭�
-        Contact contact = new Contact("閮瓂j", "", "");
-        return new ApiInfo(
-                "NorthGlass-ERP 鎺ュ彛鏂囨。",       //title
-                "閮瓂j",        //description
-                "1.0",                          //version
-                "urn:tos",
-                contact,
-                "Apache 2.0",
-                "http://www.apache.org/licenses/LICENSE-2.0",
-                new ArrayList());
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/config/WebSocketConfig.java b/CacheVerticalGlassModule/src/main/java/com/mes/config/WebSocketConfig.java
deleted file mode 100644
index 1902638..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/config/WebSocketConfig.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.mes.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-//import org.springframework.web.socket.server.standard.ServerEndpointExporter;
-
-/**
- * @author HFL
- * @date 2022/5/16 14:49
- * 閰嶇疆绫�
- */
-//@Configuration
-public class WebSocketConfig {
-
-    //@Bean
-//    public ServerEndpointExporter serverEndpointExporter(){
-//        return new ServerEndpointExporter();
-//    }
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/controller/dto/UserDTO.java b/CacheVerticalGlassModule/src/main/java/com/mes/controller/dto/UserDTO.java
deleted file mode 100644
index 05a2545..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/controller/dto/UserDTO.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package com.mes.controller.dto;
-
-import lombok.Data;
-@Data //鐢ㄤ簬鎺ュ彈鍓嶇鐧诲綍棰漸ser淇℃伅
-public class UserDTO {
-    private String userId;
-    private String pass;
-    private String token;
-    private String userName;
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java b/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java
deleted file mode 100644
index 6eee09a..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuController.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.mes.controller.userInfo;
-
-import com.mes.common.CacheUtil;
-import com.mes.common.Result;
-import com.mes.service.userInfo.SysMenuService;
-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;
-
-
-@RestController
-@RequestMapping("/menu")
-
-public class SysMenuController {
-    @Autowired
-    private CacheUtil cacheUtil;
-    @Autowired
-    private SysMenuService sysMenuService;
-    @GetMapping
-    public Result getMenu(){
-        //MyChannelHandlerPool myChannelHandlerPool = new MyChannelHandlerPool();
-        //myChannelHandlerPool.sendMsg("123");
-        //MyChannelHandlerPool.channelGroup.writeAndFlush( new TextWebSocketFrame("123123"));
-        return Result.seccess(sysMenuService.getMenu());
-
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuItemController.java b/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuItemController.java
deleted file mode 100644
index e7247fe..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/SysMenuItemController.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.controller.userInfo;
-
-import com.mes.common.Result;
-import com.mes.service.userInfo.SysMenuItemService;
-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;
-
-@RestController
-@RequestMapping("/menuItem")
-public class SysMenuItemController {
-    @Autowired
-    SysMenuItemService sysMenuItemService;
-    @GetMapping
-    public Result getMenuItem(){
-        return Result.seccess(sysMenuItemService.getMenuItem());
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java b/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java
deleted file mode 100644
index 9a8eea0..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/controller/userInfo/UserController.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package com.mes.controller.userInfo;
-
-import com.mes.common.CacheUtil;
-import com.mes.common.Constants;
-import com.mes.common.Result;
-import com.mes.controller.dto.UserDTO;
-import com.mes.entity.userInfo.User;
-import com.mes.exception.ServiceException;
-import com.mes.mapper.userInfo.UserMapper;
-import com.mes.service.userInfo.UserService;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-@RestController //娉ㄨВuser鎺у埗鍣紝鎸傝浇鍒皊pringboot褰撲腑
-@RequestMapping("/user")  //娉ㄨВ鍓嶇寮傛璇锋眰濡傦細localhost锛�8080/user
-public class UserController {
-    @Autowired
-    private UserMapper userMapper;
-    @Autowired
-    private UserService userService;
-    @Autowired
-    private CacheUtil cacheUtil;
-
-
-
-
-    @GetMapping
-    public List<User> getUser(){
-        System.out.println(cacheUtil.getCacheData("admin"));
-        return userMapper.findAll();
-    }
-    @ApiOperation("鐧诲綍")
-    @PostMapping("/login")
-    public Result login(@RequestBody UserDTO userDTO){
-        //UserDTO getUserCacheDTO = cacheUtil.getCacheData(userDTO.getUserId());
-        userService.deleteCache(userDTO.getUserId());
-        UserDTO getUserDTO=userService.login(userDTO);
-        if(getUserDTO!=null){
-            return Result.seccess(userDTO);
-        }else{
-            throw new ServiceException(Constants.Code_600,"鐢ㄦ埛鍚嶆垨瀵嗙爜閿欒");
-        }
-    }
-    @ApiOperation("娉ㄥ唽")
-    @PostMapping("/register")
-    public Result register(@RequestBody User user){
-        User getUser= userService.register(user);
-        if(getUser == null){
-            throw new ServiceException(Constants.Code_500,"娉ㄥ唽澶辫触");
-        }else {
-            return Result.seccess(getUser);
-        }
-
-        //return
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/entity/BigStorageCage.java b/CacheVerticalGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
deleted file mode 100644
index 20d0572..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/entity/BigStorageCage.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-/**
- * big_storage_cage澶х悊鐗囩琛ㄥ疄浣撶被
- */
-@Data  //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("big_storage_cage")
-public class BigStorageCage {
-
-    /**
-     * 涓婚敭锛岃嚜鍔ㄩ�掑
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-
-    /**
-     * 璁惧id
-     */
-    private Integer deviceId;
-
-    /**
-     * 鏍呮牸鍙�
-     */
-    private String slot;
-
-    /**
-     * 鍚敤鐘舵��
-     */
-    private String enableState;
-
-    /**
-     * 鍓╀綑瀹藉害
-     */
-    private Integer remainWidth;
-
-    /**
-     * 鐞嗙墖绗艰鎯�
-     */
-    private BigStorageCageDetails bigStorageCageDetail;
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java b/CacheVerticalGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
deleted file mode 100644
index 6da257a..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/entity/BigStorageCageDetails.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.mes.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Data;
-
-/**
- * big_storage_cage_details澶х悊鐗囩璇︽儏琛ㄥ疄浣撶被
- */
-@Data  //lombok 绠�鍐檍ava浠g爜 瀹炰綋绫荤殑get涓巗et
-@TableName("big_storage_cage_details")
-public class BigStorageCageDetails {
-    /**
-     * 琛ㄤ富閿紝鑷姩閫掑
-     */
-    @TableId(value = "id", type = IdType.AUTO)
-    private Integer id;
-
-    /**
-     * 璁惧id
-     */
-    private Integer deviceId;
-
-    /**
-     * 鏍呮牸鍙�
-     */
-    private Integer slot;
-
-    /**
-     * 鐜荤拑id
-     */
-    private String glassId;
-
-    /**
-     * 灏忕墖鍦ㄦ牸鍐呯殑椤哄簭
-     */
-    private Integer sequence;
-
-    /**
-     * 娴佺▼鍗″彿
-     */
-    private String flowCardId;
-
-    /**
-     * 鐜荤拑绫诲瀷
-     */
-    private Integer glassType;
-
-    /**
-     * 瀹�
-     */
-    private Double width;
-
-    /**
-     * 楂�
-     */
-    private Double height;
-
-    /**
-     * 鍘氬害
-     */
-    private Double thickness;
-
-    /**
-     * 閽㈠寲鐗堝浘id
-     */
-    private Integer temperingLayoutId;
-
-    /**
-     * 閽㈠寲鐗堝浘鐗囧簭
-     */
-    private Integer temperingFeedSequence;
-
-    /**
-     * 鐘舵��
-     */
-    private Integer state;
-
-    /**
-     * 鐜荤拑闂撮殭
-     */
-    private Integer gap;
-
-
-    
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysError.java b/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysError.java
deleted file mode 100644
index d756660..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysError.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.mes.entity.userInfo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-@Data
-public class SysError {
-    @TableId(type = IdType.AUTO)
-    private String id;
-    private String func;
-    private String error;
-    private String createTime;
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysMenu.java b/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysMenu.java
deleted file mode 100644
index 5d0a881..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysMenu.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.mes.entity.userInfo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-@Data
-public class SysMenu {
-    @TableId(type = IdType.AUTO)
-    private String id;
-    private String menuName;
-    private String languageType;
-    private String state;
-    private String listSort;
-    private String createTime;
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysMenuItem.java b/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysMenuItem.java
deleted file mode 100644
index 9dc4f03..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/SysMenuItem.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.entity.userInfo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-@Data
-public class SysMenuItem {
-    @TableId(type = IdType.AUTO)
-    private Integer id;
-    private Integer menuID;
-    private String itemName;
-    private String url;
-    private String languageType;
-    private Integer state;
-    private Integer listSort;
-    private String createTime;
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/User.java b/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/User.java
deleted file mode 100644
index 216d340..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/entity/userInfo/User.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.entity.userInfo;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import lombok.Data;
-
-@Data  //get涓巗et浠g爜绠�鍐�
-public class User {
-
-    @TableId(type = IdType.AUTO)
-    private  Integer id;
-    private  String loginName;
-    private  String passWord;
-    private  String userName;
-    private  String address;
-    private  String phone;
-    private  String createTime;
-    private  String updateTime;
-    private  Integer state;
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/exception/GlobalExceptionHandle.java b/CacheVerticalGlassModule/src/main/java/com/mes/exception/GlobalExceptionHandle.java
deleted file mode 100644
index f4ee632..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/exception/GlobalExceptionHandle.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.mes.exception;
-
-import com.mes.common.Result;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.ResponseBody;
-
-@ControllerAdvice
-public class GlobalExceptionHandle {
-    /**
-     * 濡傛灉鏄痵erviceExcaption锛屽垯璋冪敤璇ユ柟娉�
-     */
-    @ExceptionHandler(ServiceException.class)
-    @ResponseBody
-    public Result handle(ServiceException se){
-        return Result.error(se.getCode(),se.getMessage());
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/exception/ServiceException.java b/CacheVerticalGlassModule/src/main/java/com/mes/exception/ServiceException.java
deleted file mode 100644
index 92b6196..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/exception/ServiceException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.mes.exception;
-
-import lombok.Getter;
-
-@Getter
-public class ServiceException extends RuntimeException {
-    private  String code;
-    public ServiceException(String code, String msg){
-        super(msg);
-        this.code=code;
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/BigStorageCageMapper.java b/CacheVerticalGlassModule/src/main/java/com/mes/mapper/BigStorageCageMapper.java
deleted file mode 100644
index 1b70c97..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/BigStorageCageMapper.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.mapper;
-
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.springframework.data.repository.CrudRepository;
-
-import com.mes.entity.BigStorageCage;
-import com.mes.entity.BigStorageCageDetails;
-
-@Mapper
-public interface BigStorageCageMapper extends CrudRepository<BigStorageCage,Long>{
-// public class BigStorageCageMapper {
-
-    BigStorageCageDetails SelectTemperingFeedSlot(@Param("bigStorageCageDetails") BigStorageCageDetails bigStorageCageDetails);
-
-    BigStorageCageDetails SelectEmptyFeedSlot();
-
-    
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysErrorMapper.java b/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysErrorMapper.java
deleted file mode 100644
index ce86b42..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysErrorMapper.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.mes.mapper.userInfo;
-
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.mes.entity.userInfo.SysError;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-@Mapper
-public interface SysErrorMapper extends BaseMapper<SysError> {
-    Boolean saveError(@Param("sysError")SysError sysError);
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java b/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
deleted file mode 100644
index 0bf0923..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuItemMapper.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.mes.mapper.userInfo;
-
-import com.mes.entity.userInfo.SysMenuItem;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-
-@Mapper
-public interface SysMenuItemMapper {
-
-     List<SysMenuItem> findAll() ;
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuMapper.java b/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuMapper.java
deleted file mode 100644
index 1c9baf4..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/SysMenuMapper.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.mes.mapper.userInfo;
-
-import com.mes.entity.userInfo.SysMenu;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
-
-@Mapper
-
-public interface SysMenuMapper {
-    @Select("select  a.id, a.menuName from sys_menu as a where a.state=1 order by a.listSort")
-    List<SysMenu> findAll();
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java b/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
deleted file mode 100644
index a2bf58d..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/mapper/userInfo/UserMapper.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.mes.mapper.userInfo;
-
-
-import com.mes.controller.dto.UserDTO;
-import com.mes.entity.userInfo.User;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-import org.apache.ibatis.annotations.Select;
-
-import java.util.List;
-
-@Mapper
-
-public interface UserMapper {
-    List<User> findAll();
-
-    User findOne(Integer id);
-
-    @Select("select user_name FROM `user` where login_name=#{LoginName}  ")
-    User findOneLoginName(String LoginName);
-
-    @Select("select count(id) FROM `user` where login_name=#{userName} and password=#{password}  ")
-    int  checkUser(@Param("userName") String userName,@Param("password") String password);
-
-    @Select("select password FROM `user` where login_name=#{userId} ")
-    String getUserByID(String userId);
-
-
-    Boolean register(User user);
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/service/BigStorageCageService.java b/CacheVerticalGlassModule/src/main/java/com/mes/service/BigStorageCageService.java
deleted file mode 100644
index 5c39505..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/service/BigStorageCageService.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package com.mes.service;
-
-import java.util.List;
-
-import org.springframework.stereotype.Service;
-
-import com.mes.entity.*;
-import com.mes.mapper.BigStorageCageMapper;
-
-@Service
-public class BigStorageCageService {
-
-    // private BigStorageCageMapper bigStorageCageMapper;
-
-    // 鑾峰彇鐜荤拑瀛樻斁鏍煎瓙
-    public BigStorageCageDetails FeedGlass(BigStorageCageDetails bigStorageCageDetails) {
-        //鑾峰彇鍚岄挗鍖栫増鍥緄d鍙繘鐗囩殑鏍煎瓙
-        BigStorageCageDetails LayoutSlotInfo=bigStorageCageMapper.SelectTemperingFeedSlot(bigStorageCageDetails);
-        //鏈夌鍚堟潯浠剁殑鏍煎瓙鏃�
-        if (LayoutSlotInfo!=null) {
-            //灏嗙幓鐠冧俊鎭~鍏ョ悊鐗囩璇︽儏琛�
-            bigStorageCageDetails.setSlot(LayoutSlotInfo.getSlot());
-        }else{
-            //鑾峰彇涓嶅埌鏃讹細
-
-            //鑾峰彇鍙繘鐗囨牸瀛愪俊鎭�
-            BigStorageCageDetails EmptySlotInfo=bigStorageCageMapper.SelectEmptyFeedSlot();
-            bigStorageCageDetails.setSlot(EmptySlotInfo.getSlot());
-            //鑾峰彇鍏朵粬绗兼牸瀛�-
-            
-            //灏嗙幓鐠冧俊鎭斁鍏ヨ鏍煎瓙
-
-        }
-
-        UpdateRemainWidth(bigStorageCageDetails.getSlot());
-        return bigStorageCageDetails;
-    }
-
-    //淇敼鏍煎瓙鍓╀綑瀹藉害
-    private void UpdateRemainWidth(int Slot){
-        //鑾峰彇璇ユ牸瀛愬唴鐜荤拑淇℃伅
-
-        //淇敼鏍煎瓙鍓╀綑瀹藉害
-        BigStorageCageMapper.UpdateRemainWidth(Slot);
-    }
-    
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java b/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
deleted file mode 100644
index 004399b..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysErrorService.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.mes.service.userInfo;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.entity.userInfo.SysError;
-import com.mes.mapper.userInfo.SysErrorMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-@DS("user_info")
-public class SysErrorService {
-    private final SysErrorMapper sysErrorMapper;
-
-    public SysErrorService(SysErrorMapper sysErrorMapper) {
-        this.sysErrorMapper = sysErrorMapper;
-    }
-
-    public void insert(SysError sysError) {
-        sysErrorMapper.saveError(sysError);
-    }
-
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java b/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
deleted file mode 100644
index 6efd838..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysMenuItemService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.mes.service.userInfo;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.entity.userInfo.SysMenuItem;
-import com.mes.mapper.userInfo.SysMenuItemMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-@DS("user_info")
-public class SysMenuItemService {
-    @Autowired
-    SysMenuItemMapper sysMenuItemMapper;
-    public List<SysMenuItem> getMenuItem() {
-        return sysMenuItemMapper.findAll();
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java b/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
deleted file mode 100644
index 278b057..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/SysMenuService.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.service.userInfo;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.entity.userInfo.SysMenu;
-import com.mes.mapper.userInfo.SysMenuMapper;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-@DS("user_info")
-public class SysMenuService {
-    @Autowired
-    private SysMenuMapper sysMenuMapper;
-
-    public List<SysMenu> getMenu(){
-
-        return sysMenuMapper.findAll();
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/UserService.java b/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
deleted file mode 100644
index 08fb8dd..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/service/userInfo/UserService.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.mes.service.userInfo;
-
-import cn.hutool.core.util.StrUtil;
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.mes.common.CacheUtil;
-import com.mes.common.Result;
-import com.mes.entity.userInfo.User;
-import com.mes.mapper.userInfo.UserMapper;
-import com.mes.controller.dto.UserDTO;
-import com.mes.tools.TokenTools;
-import org.apache.ibatis.jdbc.Null;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.CacheEvict;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-@Service
-@DS("user_info")
-public class UserService {
-
-    @Autowired
-    private  UserMapper userMapper;
-
-
-    @Cacheable(value="users", key="#userDTO.getUserId()")
-    public UserDTO login(UserDTO userDTO) {
-
-        if(StrUtil.isBlank(userDTO.getUserId()) ||StrUtil.isBlank(userDTO.getPass())){
-            return null;
-        }else{
-            int getUserCount=userMapper.checkUser(userDTO.getUserId(),userDTO.getPass());
-            if(getUserCount==1){
-                String token = TokenTools.getToken(userDTO.getUserId(),userDTO.getPass());
-                userDTO.setToken(token);
-                User user = userMapper.findOneLoginName(userDTO.getUserId());
-                userDTO.setUserName(user.getUserName());
-                return userDTO;
-            }
-        return null;
-
-        }
-    }
-
-    @CacheEvict(value="users",key="#id",beforeInvocation=true)
-    public String deleteCache(String id ) {
-        //System.out.println("delete user by id: " + id);
-        return null;
-
-    }
-
-    public String getUserByID(String userId){
-        return userMapper.getUserByID(userId);
-    }
-
-    @Transactional
-    public User register(User user) {
-        User returnUser = new User();
-        if(userMapper.register(user)){
-            User getUser = userMapper.findOne(user.getId());
-            returnUser.setUserName(getUser.getUserName());
-            returnUser.setLoginName(getUser.getLoginName());
-        }
-        return returnUser;
-    }
-}
-
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/tools/TokenTools.java b/CacheVerticalGlassModule/src/main/java/com/mes/tools/TokenTools.java
deleted file mode 100644
index 1cb6dc2..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/tools/TokenTools.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package com.mes.tools;
-
-import cn.hutool.core.date.DateUtil;
-import com.auth0.jwt.JWT;
-import com.auth0.jwt.algorithms.Algorithm;
-
-import java.util.Date;
-
-public class TokenTools {
-
-    /**
-     * 鐢熸垚token
-     * @return
-     */
-    public  static String getToken(String userid,String sign){
-        return JWT.create().withAudience(userid) // 灏� user id 淇濆瓨鍒� token 閲岄潰,浣滀负杞借嵎
-                .withExpiresAt(DateUtil.offsetHour(new Date(), 24)) // 2灏忔椂鍚巘oken杩囨湡
-                .sign(Algorithm.HMAC256(sign)); // 浠� password 浣滀负 token 鐨勫瘑閽�
-
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/java/com/mes/tools/WebSocketServer.java b/CacheVerticalGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
deleted file mode 100644
index c14c54f..0000000
--- a/CacheVerticalGlassModule/src/main/java/com/mes/tools/WebSocketServer.java
+++ /dev/null
@@ -1,167 +0,0 @@
-package com.mes.tools;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.websocket.OnClose;
-import javax.websocket.OnError;
-import javax.websocket.OnMessage;
-import javax.websocket.OnOpen;
-import javax.websocket.Session;
-import javax.websocket.server.PathParam;
-import javax.websocket.server.ServerEndpoint;
-
-import org.springframework.context.ConfigurableApplicationContext;
-import org.springframework.stereotype.Component;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-
-@ServerEndpoint(value = "/api/talk/{username}")
-@Component
-public class WebSocketServer {
-
-    // @Autowired
-    // HomeMapper homeMapper;
-
-    static ConfigurableApplicationContext applicationContext;
-
-    // 瑙e喅鏃犳硶娉ㄥ叆mapper闂 //浣跨敤鏂规硶
-    // homeMapper=WebSocketServer.applicationContext.getBean(HomeMapper.class);
-    public static void setApplicationContext(ConfigurableApplicationContext configurableApplicationContext) {
-        WebSocketServer.applicationContext = configurableApplicationContext;
-    }
-
-    private static final Logger log = LoggerFactory.getLogger(WebSocketServer.class);
-    private List<String> messages;
-    /**
-     * 璁板綍褰撳墠鍦ㄧ嚎杩炴帴鏁�
-     */
-    public static final Map<String, ArrayList<WebSocketServer>> sessionMap = new ConcurrentHashMap<>();
-
-    String username;
-    Session session;
-
-    public WebSocketServer() {
-        this.messages = new ArrayList<>();
-    }
-
-    /**
-     * 杩炴帴寤虹珛鎴愬姛璋冪敤鐨勬柟娉�
-     */
-    @OnOpen
-    public void onOpen(Session session, @PathParam("username") String username) {
-        this.username = username;
-        this.session = session;
-        List<WebSocketServer> webSocketServers = sessionMap.get(username);
-        if (webSocketServers == null) {
-            ArrayList<WebSocketServer> arrayListwebserver = new ArrayList<WebSocketServer>();
-            arrayListwebserver.add(this);
-            sessionMap.put(username, arrayListwebserver);
-        } else {
-            webSocketServers.add(this);
-        }
-        
-        log.info("鏈夋柊鐢ㄦ埛鍔犲叆锛寀sername={}, 褰撳墠鍦ㄧ嚎浜烘暟涓猴細{}", username, sessionMap.get(username).size());
-
-        // JSONObject result = new JSONObject();
-        // JSONArray array = new JSONArray();
-        // result.set("users", array);
-        // for (Object key : sessionMap.keySet()) {
-        // JSONObject jsonObject = new JSONObject();
-        // jsonObject.set("username", key);
-        // array.add(jsonObject);
-        // }
-
-        // sendAllMessage(JSONUtil.toJsonStr(result)); // 鍚庡彴鍙戦�佹秷鎭粰鎵�鏈夌殑瀹㈡埛绔�
-    }
-
-    /**
-     * 杩炴帴鍏抽棴璋冪敤鐨勬柟娉�
-     */
-    @OnClose
-    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) {
-            for (WebSocketServer webSocketServer : webSocketServers) {
-                if(webSocketServer!=this){
-                    arrayListwebserver.add(webSocketServer);
-                }
-            }
-            sessionMap.put(username, arrayListwebserver);
-            log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}鐨勫綋鍓嶅湪绾夸汉鏁颁负锛歿}", username, username, sessionMap.get(username).size());
-        }else{
-            sessionMap.remove(username);
-            log.info("绉婚櫎username={}涓�鍚嶇敤鎴穝ession, {}杩炴帴鍏抽棴, 褰撳墠杩炴帴鏁颁负锛歿}", username, username, sessionMap.size());
-        }
-        
-    }
-
-    /**
-     * 鏀跺埌瀹㈡埛绔秷鎭悗璋冪敤鐨勬柟娉�
-     * 鍚庡彴鏀跺埌瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
-     * onMessage 鏄竴涓秷鎭殑涓浆绔�
-     * 鎺ュ彈 娴忚鍣ㄧ socket.send 鍙戦�佽繃鏉ョ殑 json鏁版嵁
-     * 
-     * @param message 瀹㈡埛绔彂閫佽繃鏉ョ殑娑堟伅
-     */
-    @OnMessage
-    public void onMessage(String message, Session session, @PathParam("username") String username) {
-        log.info("鏈嶅姟绔敹鍒扮敤鎴穟sername={}鐨勬秷鎭�:{}", username, message);
-        JSONObject obj = JSONUtil.parseObj(message);
-        String text = obj.getStr("data");
-
-        JSONObject jsonObject = new JSONObject();
-        jsonObject.set("message", text);
-        this.messages.add(text);
-        this.sendMessage(jsonObject.toString()); // JSONUtil.toJsonStr(jsonObject)
-
-    }
-
-    @OnError
-    public void onError(Session session, Throwable error) {
-        log.error("鍙戠敓閿欒");
-        error.printStackTrace();
-    }
-
-    /**
-     * 鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔�
-     */
-    public void sendMessage(String message) {
-        try {
-            // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message);
-            this.session.getBasicRemote().sendText(message);
-        } catch (Exception e) {
-            log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e);
-        }
-    }
-
-    // /**
-    //  * 鏈嶅姟绔彂閫佹秷鎭粰鎵�鏈夊鎴风
-    //  */
-    // public void sendAllMessage(String message) {
-    //     try {
-    //         for (WebSocketServer webSocketServer : sessionMap.values()) {
-    //             // log.info("鏈嶅姟绔粰瀹㈡埛绔痆{}]鍙戦�佹秷鎭瘂}", this.session.getId(), message);
-    //             webSocketServer.sendMessage(message);
-    //         }
-    //     } catch (Exception e) {
-    //         log.error("鏈嶅姟绔彂閫佹秷鎭粰瀹㈡埛绔け璐�", e);
-    //     }
-    // }
-
-    public List<String> getMessages() {
-        return messages;
-
-    }
-
-    public void clearMessages() {
-        messages.clear();
-    }
-}
diff --git a/CacheVerticalGlassModule/src/main/resources/application.yml b/CacheVerticalGlassModule/src/main/resources/application.yml
deleted file mode 100644
index 887dcc8..0000000
--- a/CacheVerticalGlassModule/src/main/resources/application.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-server:
-  port: 8080
-  servlet:
-   context-path: /mesModuleTools
-
-spring:
-  datasource:
-    dynamic:
-      primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
-      strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
-      datasource:
-        user_info:
-          url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
-          username: root
-          password: beibo.123/
-          driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCage.xml b/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCage.xml
deleted file mode 100644
index 7e800ef..0000000
--- a/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCage.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?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.example.mess.mapper.BigStorageCageMapper">
-    <!-- <resultMap id="BigStorageCage" type="com.example.mes.entity.BigStorageCage" >
-        <id column="id" property="id"/>
-        <result column="device_id" property="deviceId"/>
-        <result column="slot" property="slot"/>
-        <result column="enable_state" property="enableState"/>
-        <result column="remain_width" property="remainWidth"/>
-
-        <result column="glass_id" property="bigStorageCageDetail.glassId"/>
-        <result column="sequence" property="bigStorageCageDetail.sequence"/>
-        <result column="flow_card_id" property="bigStorageCageDetail.flowCardId"/>
-        <result column="glass_type" property="bigStorageCageDetail.glassType"/>
-        <result column="width" property="bigStorageCageDetail.width"/>
-        <result column="height" property="bigStorageCageDetail.height"/>
-        <result column="thickness" property="bigStorageCageDetail.thickness"/>
-        <result column="tempering_layout_id" property="bigStorageCageDetail.temperingLayoutId"/>
-        <result column="tempering_feed_sequence" property="bigStorageCageDetail.temperingFeedSequence"/>
-        <result column="state" property="bigStorageCageDetail.state"/>
-        <result column="gap" property="bigStorageCageDetail.gap"/>
-    </resultMap>
-
-    <resultMap id="BigStorageCageDetails" type="com.example.mes.entity.BigStorageCageDetails" >
-        <id column="id" property="id"/>
-        <result column="device_id" property="deviceId"/>
-        <result column="slot" property="slot"/>
-        <result column="glass_id" property="glassId"/>
-        <result column="sequence" property="sequence"/>
-        <result column="flow_card_id" property="flowCardId"/>
-        <result column="glass_type" property="glassType"/>
-        <result column="width" property="width"/>
-        <result column="height" property="height"/>
-        <result column="thickness" property="thickness"/>
-        <result column="tempering_layout_id" property="temperingLayoutId"/>
-        <result column="tempering_feed_sequence" property="temperingFeedSequence"/>
-        <result column="state" property="state"/>
-        <result column="gap" property="gap"/>
-    </resultMap>
-
-    <select id="SelectTemperingFeedSlot" resultMap="BigStorageCageDetails">
-        select * from big_storage_cage bsc inner join big_storage_cage_details as bscd on bsc.slot=bscd.slot
-        <where>
-            and bscd.id=(select id from big_storage_cage_details where slot=bscd.slot 
-            and tempering_feed_sequence=#{bigStorageCageDetails.temperingFeedSequence}-1
-            and bsc.remain_width>#{bigStorageCageDetails.width}
-            ORDER BY sequence desc LIMIT 1)
-        </where>
-    </select>
-
-    <select id="SelectStorageCageSummary" resultMap="BigStorageCageDetails">
-        select min(case when bsc.remain_width=5000 then bsc.id else null end ) as id,bsc.device_id,
-        min(case when bsc.remain_width=5000 then bsc.slot else null end ) as slot,
-        count(distinct bscd.tempering_layout_id) as tempering_layout_ids
-        from big_storage_cage bsc left join big_storage_cage_details bscd on bsc.slot=bscd.slot
-        <where>
-            and bsc.enable_state=0
-        </where>
-        group by bsc.device_id
-        order by tempering_layout_ids,bsc.device_id limit 1
-    </select> -->
-
-</mapper>
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/src/test/java/com/mes/MesApplicationTests.java b/CacheVerticalGlassModule/src/test/java/com/mes/MesApplicationTests.java
deleted file mode 100644
index 59327a7..0000000
--- a/CacheVerticalGlassModule/src/test/java/com/mes/MesApplicationTests.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.mes;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class MesApplicationTests {
-
-    @Test
-    void contextLoads() {
-    }
-
-}
diff --git a/CacheVerticalGlassModule/target/classes/application.yml b/CacheVerticalGlassModule/target/classes/application.yml
deleted file mode 100644
index d74069d..0000000
--- a/CacheVerticalGlassModule/target/classes/application.yml
+++ /dev/null
@@ -1,32 +0,0 @@
-
-server:
-  port: 8080
-  servlet:
-   context-path: /mesModuleTools
-
-spring:
-  datasource:
-    dynamic:
-      primary: user_info #璁剧疆榛樿鐨勬暟鎹簮鎴栬�呮暟鎹簮缁�,榛樿鍊煎嵆涓簃aster
-      strict: false #璁剧疆涓ユ牸妯″紡,榛樿false涓嶅惎鍔�. 鍚姩鍚庡湪鏈尮閰嶅埌鎸囧畾鏁版嵁婧愭椂鍊欏洖鎶涘嚭寮傚父,涓嶅惎鍔ㄤ細浣跨敤榛樿鏁版嵁婧�.
-      datasource:
-        user_info:
-          url: jdbc:mysql://10.153.19.150:3306/erp_user_info?serverTimezone=GMT%2b8
-          username: root
-          password: beibo.123/
-          driver-class-name: com.mysql.cj.jdbc.Driver
-        sd:
-          url: jdbc:mysql://10.153.19.150:3306/sd?serverTimezone=GMT%2b8
-          username: root
-          password: beibo.123/
-          driver-class-name: com.mysql.cj.jdbc.Driver
-        mm:
-          url: jdbc:mysql://10.153.19.150:3306/mm?serverTimezone=GMT%2b8
-          username: root
-          password: beibo.123/
-          driver-class-name: com.mysql.cj.jdbc.Driver
-        pp:
-          url: jdbc:mysql://10.153.19.150:3306/pp?serverTimezone=GMT%2b8
-          username: root
-          password: beibo.123/
-          driver-class-name: com.mysql.cj.jdbc.Driver
\ No newline at end of file
diff --git a/CacheVerticalGlassModule/target/classes/mapper/BigStorageCage.xml b/CacheVerticalGlassModule/target/classes/mapper/BigStorageCage.xml
deleted file mode 100644
index 7e800ef..0000000
--- a/CacheVerticalGlassModule/target/classes/mapper/BigStorageCage.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?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.example.mess.mapper.BigStorageCageMapper">
-    <!-- <resultMap id="BigStorageCage" type="com.example.mes.entity.BigStorageCage" >
-        <id column="id" property="id"/>
-        <result column="device_id" property="deviceId"/>
-        <result column="slot" property="slot"/>
-        <result column="enable_state" property="enableState"/>
-        <result column="remain_width" property="remainWidth"/>
-
-        <result column="glass_id" property="bigStorageCageDetail.glassId"/>
-        <result column="sequence" property="bigStorageCageDetail.sequence"/>
-        <result column="flow_card_id" property="bigStorageCageDetail.flowCardId"/>
-        <result column="glass_type" property="bigStorageCageDetail.glassType"/>
-        <result column="width" property="bigStorageCageDetail.width"/>
-        <result column="height" property="bigStorageCageDetail.height"/>
-        <result column="thickness" property="bigStorageCageDetail.thickness"/>
-        <result column="tempering_layout_id" property="bigStorageCageDetail.temperingLayoutId"/>
-        <result column="tempering_feed_sequence" property="bigStorageCageDetail.temperingFeedSequence"/>
-        <result column="state" property="bigStorageCageDetail.state"/>
-        <result column="gap" property="bigStorageCageDetail.gap"/>
-    </resultMap>
-
-    <resultMap id="BigStorageCageDetails" type="com.example.mes.entity.BigStorageCageDetails" >
-        <id column="id" property="id"/>
-        <result column="device_id" property="deviceId"/>
-        <result column="slot" property="slot"/>
-        <result column="glass_id" property="glassId"/>
-        <result column="sequence" property="sequence"/>
-        <result column="flow_card_id" property="flowCardId"/>
-        <result column="glass_type" property="glassType"/>
-        <result column="width" property="width"/>
-        <result column="height" property="height"/>
-        <result column="thickness" property="thickness"/>
-        <result column="tempering_layout_id" property="temperingLayoutId"/>
-        <result column="tempering_feed_sequence" property="temperingFeedSequence"/>
-        <result column="state" property="state"/>
-        <result column="gap" property="gap"/>
-    </resultMap>
-
-    <select id="SelectTemperingFeedSlot" resultMap="BigStorageCageDetails">
-        select * from big_storage_cage bsc inner join big_storage_cage_details as bscd on bsc.slot=bscd.slot
-        <where>
-            and bscd.id=(select id from big_storage_cage_details where slot=bscd.slot 
-            and tempering_feed_sequence=#{bigStorageCageDetails.temperingFeedSequence}-1
-            and bsc.remain_width>#{bigStorageCageDetails.width}
-            ORDER BY sequence desc LIMIT 1)
-        </where>
-    </select>
-
-    <select id="SelectStorageCageSummary" resultMap="BigStorageCageDetails">
-        select min(case when bsc.remain_width=5000 then bsc.id else null end ) as id,bsc.device_id,
-        min(case when bsc.remain_width=5000 then bsc.slot else null end ) as slot,
-        count(distinct bscd.tempering_layout_id) as tempering_layout_ids
-        from big_storage_cage bsc left join big_storage_cage_details bscd on bsc.slot=bscd.slot
-        <where>
-            and bsc.enable_state=0
-        </where>
-        group by bsc.device_id
-        order by tempering_layout_ids,bsc.device_id limit 1
-    </select> -->
-
-</mapper>
\ 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 0666da4..a504e69 100644
--- a/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
+++ b/UI-Project/src/views/UnLoadGlass/loadmachinerack.vue
@@ -1,52 +1,209 @@
 <script setup>
 import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {reactive,  onMounted} 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 Landingindicationtwo from "./Landingindicationtwo.vue";
+import unloadrequest from "@/utils/unloadrequest";
+const dialogFormVisiblea = ref(false)
 
-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 dialogFormVisiblea2 = ref(false)
+
+
+
+
+
+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 tableData = reactive([]);
+
+// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
+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 open = () => {
   ElMessageBox.confirm(
     '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
@@ -84,17 +241,6 @@
   }
 }
 
-const dialogForm = () => {
-  ElMessageBox.confirm(
-    '鏄惁娓呯┖璇ユ潯淇℃伅?',
-    '鎻愮ず',
-    {
-      confirmButtonText: '鏄�',
-      cancelButtonText: '鍙栨秷',
-      type: 'warning',
-    }
-  )
-}
 const gridOptions = reactive({
   border:  "full",//琛ㄦ牸鍔犺竟妗�
   keepSource: true,//淇濇寔婧愭暟鎹�
@@ -133,6 +279,10 @@
   ],
 })
 
+
+
+
+
 </script>
 
 <template>
@@ -142,53 +292,80 @@
         <el-table height="100%" ref="table" 
         @selection-change="handleSelectionChange"
         :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="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 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 fixed="right" label="鎿嶄綔" align="center" width="200">
-            <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>
+            <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>
         </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  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>
+      <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>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="dialogFormVisiblea = false">
+        <el-button type="primary" @click="handleConfirm">
           纭
         </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>
@@ -212,7 +389,11 @@
   height: 450px;
 }
 #main-body{
+  margin-top: -20px;
+  margin-left: 300px;
+}
+#main-bodya{
   margin-top: -10px;
-  margin-left: 450px;
+  margin-left: 100px;
 }
 </style>
\ No newline at end of file
diff --git a/hangzhoumesParent/common/pom.xml b/hangzhoumesParent/common/pom.xml
index 79a776c..ae22d4f 100644
--- a/hangzhoumesParent/common/pom.xml
+++ b/hangzhoumesParent/common/pom.xml
@@ -44,13 +44,13 @@
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.2.0</version>
+            <version>3.3.1</version>
         </dependency>
 
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
-            <version>3.2.0</version>
+            <version>3.3.1</version>
         </dependency>
 
         <dependency>
@@ -172,6 +172,12 @@
             <version>1.2.33</version>
         </dependency>
 
+        <dependency>
+            <groupId>com.github.yulichang</groupId>
+            <artifactId>mybatis-plus-join</artifactId>
+            <version>1.2.4</version>
+        </dependency>
+
     </dependencies>
 
 
diff --git a/hangzhoumesParent/common/servicebase/pom.xml b/hangzhoumesParent/common/servicebase/pom.xml
index 5a696a3..e7f1411 100644
--- a/hangzhoumesParent/common/servicebase/pom.xml
+++ b/hangzhoumesParent/common/servicebase/pom.xml
@@ -6,19 +6,12 @@
         <artifactId>common</artifactId>
         <groupId>com.mes</groupId>
         <version>1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
+
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <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/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
index 45cf60f..1710e43 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -10,7 +10,6 @@
 import com.mes.taskcache.mapper.HangzhouMesMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-
 import java.util.List;
 import java.util.Map;
 
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 29a0efb..71c5cb3 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -3,10 +3,20 @@
 
 spring:
   datasource:
-    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/
+    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
+        salve_hangzhoumes:
+          url: jdbc:sqlserver://10.153.19.150:1433;databasename=hangzhoumes
+          username: sa
+          password: beibo.123/
+          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
   cloud:
     nacos:
       discovery:
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 beff854..bd213d8 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,9 +19,10 @@
         System.out.println("鍚姩瀹屾垚");
 
 
-        new PLCAutoMes().start();
 
-        new Plchome().start();
+//       new PLCAutoMes().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 0aa64b9..c9a17a1 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
@@ -8,5 +8,4 @@
 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 ae4a15f..4daca39 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
@@ -15,16 +15,10 @@
  * @author zhoush
  * @since 2024-04-07
  */
-@Api(tags = "涓嬫枡浠诲姟")
+
 @RestController
 @RequestMapping("/downGlassTask")
 public class DownGlassTaskController {
 
-    //todo: 瀹炰緥浠g爜 寰呭垹闄�
-    @ApiOperation("娴嬭瘯")
-    @GetMapping("/index")
-    public String index() {
-        return "hello world";
-    }
 }
 
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 e5aa127..1e8ed89 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
@@ -17,9 +17,9 @@
 
     List<DownGlassTask> getUnloadingTaskState();
 
-    void updateTaskStateToZero(String flowCardId);
+    void updateTaskStateToZero(long id);
 
-    void deleteTask(String flowCardId);
+    void deleteTask(long id);
 
     DownGlassTask selectLastOutCacheInfo(String endCell);
 
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 40469f3..4e9cdf8 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -32,16 +32,16 @@
     }
 
     @Override
-    public void updateTaskStateToZero(String flowCardId) {
+    public void updateTaskStateToZero(long id) {
         UpdateWrapper<DownGlassTask> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("task_stauts", 0).eq("flow_card_id", flowCardId);
+        updateWrapper.set("task_stauts", 0).eq("id", id);
         baseMapper.update(null, updateWrapper);
     }
 
     @Override
-    public void deleteTask(String flowCardId) {
+    public void deleteTask(long id) {
         LambdaQueryWrapper<DownGlassTask> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(DownGlassTask::getFlowCardId, flowCardId);
+        queryWrapper.eq(DownGlassTask::getId, id);
 
         baseMapper.delete(queryWrapper);
     }
@@ -76,4 +76,8 @@
     }
 
 
+
+
+
+
 }
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 e7b0344..4a6a297 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
@@ -2,18 +2,24 @@
 
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import com.mes.downstorage.service.DownStorageCageService;
+import com.mes.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.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 org.springframework.web.bind.annotation.*;
 
+import java.util.List;
+import java.util.Map;
+@Api(tags = "缂撳瓨")
 @RestController
-@RequestMapping("/down-storage-cage-details")
+@RequestMapping("/api/unLoadGlass/downstorage")
 public class DownStorageCageDetailsController {
 
     @Autowired
     private DownStorageCageDetailsService downStorageCageDetailsService;
+    @Autowired
+    private DownStorageCageService downStorageCageService;
 
     @PostMapping("/add")
     public String addDownStorageCageDetails(@RequestBody DownStorageCageDetails details) {
@@ -21,5 +27,22 @@
         return "Details added successfully";
     }
 
+
+
+    //鏌ヨ纾ㄨ竟缂撳瓨鐞嗙墖绗煎唴璇︽儏
+    @ApiOperation("鏌ヨ纾ㄨ竟缂撳瓨鐞嗙墖绗煎唴璇︽儏")
+    @GetMapping("/selectStorageCage")
+    @ResponseBody
+    public Result selectEdgStorageCage () {
+        List<Map> list=downStorageCageService.getCacheInfo();
+        return Result.build(200,"鎴愬姛",list);
+    }
+
+
+
+
+//
+
+
     // Other CRUD operations can be defined here
 }
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 bdb011a..7418618 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 org.apache.ibatis.annotations.Insert;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Select;
+import com.mes.glassinfo.entity.GlassInfo;
+import org.apache.ibatis.annotations.*;
 
 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,13 +27,13 @@
 
     // 鏌ヨ绗﹀悎宸ヤ綅鐨勫嚭鐗囩幓鐠�
     @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* from (SELECT DISTINCT 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 1 and 5   order by escd.tempering_layout_id,escd.tempering_feed_sequence) as cc ORDER BY cc.width desc
     // 鏌ヨ绗煎瓙鍐呬俊鎭�
     @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")
     List<DownStorageCageDetails> SelectCachInfo();
 
-    // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿
+    // 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸
     @Select("select escd.* from down_storage_cage as esc LEFT JOIN down_storage_cage_details as escd on esc.slot=escd.slot where escd.slot is not null and 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<DownStorageCageDetails> SelectIsExistIntoCache(Integer tempering_layout_id, Integer tempering_feed_sequence,
                                                         double width);
@@ -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 ff19df6..ae0b8a2 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
@@ -1,6 +1,7 @@
 package com.mes.downstorage.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
 import com.mes.downstorage.entity.DownStorageCage;
 
 /**
@@ -11,6 +12,6 @@
  * @author zhoush
  * @since 2024-03-27
  */
-public interface DownStorageCageMapper extends BaseMapper<DownStorageCage> {
+public interface DownStorageCageMapper extends MPJBaseMapper<DownStorageCage> {
 
 }
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 ce6d4e3..382665d 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,50 +3,39 @@
 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;
 
 import java.util.List;
 
+import static jdk.nashorn.internal.runtime.regexp.joni.Config.log;
+
 @Data
 @Service
 public class DownGlassCacheLogic {
-    @Autowired
-    private DownStorageCageDetailsMapper selectInfo;
-    private GlassInfoService GlassInfoService;
-    private DownStorageCageDetailsService downStorageCageDetailsService;
-    private DownGlassTaskService downGlassTaskService;
-
-    /**
-     * @param 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);
-        if (isexist) {
-            //瀛樺湪閫昏緫    1.娣诲姞淇℃伅 2.鍥炲PLC瀛樺湪
-            //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 1);
-        } 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";
     public static final String RESULT_IN_OUT = "3";
+    @Autowired
+    private DownStorageCageDetailsMapper selectInfo;
+    private GlassInfoService GlassInfoService;
+    private DownStorageCageService downStorageCageService;
+    private DownGlassTaskService downGlassTaskService;
+
+
+
+
 
     public void process() {
         String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + "";
@@ -77,20 +66,23 @@
 
     public boolean processInto(String Number) {
         GlassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class);
+        downStorageCageService = WebSocketServer.applicationContext.getBean(DownStorageCageService.class);
+
         //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠�
         GlassInfo GlassInfo = GlassInfoService.selectGlassId(Number);
         PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
         //瀛樺湪姝ょ幓鐠冪紪鍙�
         if (GlassInfo != null) {
-            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿
-            List<DownStorageCageDetails> list = selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(), GlassInfo.getTemperingFeedSequence(), GlassInfo.getWidth());
+            //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿    鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸
+            List<DownStorageCageDetails> list = downStorageCageService.getIsExistIntoCacheByLayoutAndSequence(GlassInfo.getTemperingLayoutId(), GlassInfo.getTemperingFeedSequence(), GlassInfo.getWidth());
             //绌烘爡鏍煎彿
             if (list.size() == 0) {
-                list = selectInfo.SelectCacheLeisure();
+                //鏌ヨ绗煎瓙鍐呯┖闂�
+                list = downStorageCageService.getCacheLeisure();
             }
             //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙�
             if (list.size() == 0) {
-                list = selectInfo.SelectIsExistIntoCache(GlassInfo.getTemperingLayoutId(), GlassInfo.getWidth());
+                list = downStorageCageService.getIsExistIntoCacheByLayout(GlassInfo.getTemperingLayoutId(), GlassInfo.getWidth());
             }
             if (list.size() > 0) {
                 //瀛樺湪绌烘牸  
@@ -100,6 +92,7 @@
                 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);
+               //瀹屾垚鍚庢彃鍏ュ皬鐗囨暟鎹埌缂撳瓨琛�
                 return true;
             }
 
@@ -117,12 +110,41 @@
         String G11 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
         String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + "";
         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> list = downStorageCageService.getCacheOut(1, 5);
+        List<DownStorageCageDetails> list2 = downStorageCageService.getCacheOut(6, 10);
+        List<DownStorageCageDetails> list3 = downStorageCageService.getCacheOut(1, 10);
+        // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
+        if (!list3.isEmpty()) {
+            DownStorageCageDetails item3 = list3.get(0);
+            if (item3.getHeight() >= 1 && item3.getWidth() >= 1) {
+
+                String endcell = "13";
+                String SendEndcell = "1";
+
+                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }
+        }
+
+        //鍚屾椂璇锋眰 浼樺厛鍚庣鍑虹墖
+        else if (!list3.isEmpty()) {
+            DownStorageCageDetails item3 = list3.get(0);
+            if (G06.equals("0") && G11.equals("0")) {
+
+                String endcell = "11";
+                String SendEndcell = "1";
+
+                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
+                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
+                return true;
+            }
+        }
         // 鎸夌収椤哄簭绗﹀悎鍓嶇鍑虹墖
-        if (!list.isEmpty()) {
+        else if (!list.isEmpty()) {
             DownStorageCageDetails item = list.get(0);
             if (G06.equals("0") && G11.equals("1")) {
                 // 鍑哄埌 G06
@@ -141,49 +163,19 @@
                 S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
                 return true;
             }
-            // 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊
-        } else if (!list3.isEmpty()) {
-            DownStorageCageDetails item3 = list3.get(0);
-            if (item3.getHeight() >= 3440 && item3.getWidth() >= 1440) {
 
-                String endcell = "06";
-                String SendEndcell = "1";
-
-                selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId());
-                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell);
-                S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1");
-                return true;
-            }
         }
+
 
         // 杩斿洖缁撴灉
         return false;
     }
 
-//鏌ヨ鏄惁缁戝畾鏋跺瓙
-//    public boolean selectFlowCardId(String FlowCardId){
-//
-//    }
 
     /**
-     * @param Number //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
+     * @param Number
+     *  //纾ㄨ竟   涓嶄氦浜�  鐞嗙墖鍜岀(杈规満鑷繁浜や簰
      */
-
-    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");
-        }
-        //杩斿洖缁撴灉
-    }
 
 
     /**
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 bbe9a5c..9bc7a7b 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
@@ -2,6 +2,9 @@
 
 import com.mes.downstorage.entity.DownStorageCageDetails;
 
+import java.util.List;
+import java.util.Map;
+
 public interface DownStorageCageDetailsService {
 
     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 76a7993..f54c837 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.mes.downstorage.entity.DownStorageCage;
+import com.mes.downstorage.entity.DownStorageCageDetails;
 
 import java.util.List;
 import java.util.Map;
@@ -16,4 +17,12 @@
  */
 public interface DownStorageCageService extends IService<DownStorageCage> {
     public List<Map> gettask();
+
+    //    List<Map<String, Object>> selectCacheLeisure();
+    List<DownStorageCageDetails> getCacheLeisure();
+    List<DownStorageCageDetails> getCacheOut(int start, int end);
+    List<Map> getCacheInfo();
+    List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width);
+    List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width);
+
 }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java
index 877de8e..dd58aa6 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
@@ -1,13 +1,27 @@
 package com.mes.downstorage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.wrapper.MPJAbstractLambdaWrapper;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.downstorage.entity.DownStorageCage;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
+import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageDetailsService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 @Service
 public class DownStorageCageDetailsServiceImpl extends ServiceImpl<DownStorageCageDetailsMapper, DownStorageCageDetails> implements DownStorageCageDetailsService {
+
+
 
     @Override
     public void addDownStorageCageDetails(DownStorageCageDetails details) {
@@ -15,5 +29,18 @@
     }
 
 
+
+
+
+
+
+
+
+
+
+
+
+
+
     // 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 fe93e4a..40c62bb 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,9 +1,12 @@
 package com.mes.downstorage.service.impl;
 
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.query.MPJQueryWrapper;
 import com.mes.downstorage.entity.DownStorageCage;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.downstorage.entity.DownStorageCageDetails;
 import com.mes.downstorage.mapper.DownStorageCageMapper;
 import com.mes.downstorage.service.DownStorageCageService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -12,23 +15,128 @@
 
 /**
  * <p>
- * 鏈嶅姟瀹炵幇绫�
+ *  鏈嶅姟瀹炵幇绫�
  * </p>
  *
  * @author zhoush
  * @since 2024-03-27
  */
+@Slf4j
 @Service
 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;
+    };
+
+
+
+    @Override
+    public List<DownStorageCageDetails> getCacheLeisure() {
+        log.info(" 鏌ヨ绗煎瓙鍐呯┖闂�");
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+                        .select("escd.*")
+                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                        .isNull("escd.slot")
+                        .orderByAsc("escd.slot")
+        );
+        return list;
     }
 
-    ;
+
+//    @Override
+//    public List<Map> getCacheOut(int start, int end) {
+//        log.info(" 鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
+//        List<Map> map = downStorageCageMapper.selectJoinList(
+//                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+//                        .select("escd.*")
+//                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+//                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+//                        .isNotNull("escd.slot")
+//                        .between("dw.workstation_id", start, end)
+//                        .orderByAsc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+//        );
+//        return map;
+//    }
+
+
+
+
+
+    @Override
+    public List<DownStorageCageDetails> getCacheOut(int start, int end) {
+        log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+                        .select("escd.*")
+                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                        .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id")
+                        .leftJoin("glass_info gi on dw.flow_card_id = gi.flowcard_id  and gi.flowcard_id=escd.flow_card_id ")
+                        .isNotNull("escd.slot")
+                        .between("dw.workstation_id", start, end)
+                        .orderByDesc("escd.width")
+                        .orderByDesc("escd.height")
+        );
+        return list;
+    }
+
+
+
+
+
+    @Override
+    public List<Map> getCacheInfo() {
+        log.info(" 鏌ヨ绗煎瓙鍐呬俊鎭�");
+        List<Map> map = downStorageCageMapper.selectJoinList(
+                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
+                        .select("escd.*")
+                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                        .orderByAsc("t.slot")
+        );
+        return map;
+    }
+
+    @Override
+    public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
+        log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸");
+
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+                        .select("escd.*")
+                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                        .isNotNull("escd.slot")
+                        .eq("escd.tempering_layout_id", tempering_layout_id)
+                        .lt("escd.tempering_feed_sequence", tempering_feed_sequence)
+                        .gt("t.remain_width", width)
+                        .orderByAsc("escd.tempering_feed_sequence")
+        );
+        return list;
+    }
+
+    @Override
+    public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
+        log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿");
+        List<DownStorageCageDetails> list = downStorageCageMapper.selectJoinList(
+                DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>()
+                        .select("escd.*")
+                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                        .isNotNull("escd.slot")
+                        .lt("escd.tempering_layout_id", tempering_layout_id)
+                        // 鏉′欢 t.remain_width - width > 0
+                        .apply("t.remain_width - " + width + " > 0")
+                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+        );
+        return list;
+    }
+
+
+
+
+
+
 }
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 b08f73b..c2305f2 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
@@ -4,6 +4,8 @@
 import com.mes.downworkstation.entity.DownWorkstation;
 import com.mes.downworkstation.service.DownWorkstationService;
 import com.mes.glassinfo.service.GlassInfoService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -15,7 +17,7 @@
 
 /**
  * <p>
- * 鍓嶇鎺у埗鍣�
+ *  鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author zhoush
@@ -23,6 +25,7 @@
  */
 
 @RestController
+@Api(tags = "宸ヤ綅")
 @RequestMapping("/api/unLoadGlass")
 public class DownWorkstationController {
 
@@ -30,11 +33,11 @@
     private DownWorkstationService downWorkstationService;
     @Autowired
     private GlassInfoService glassInfoService;
-
+    @ApiOperation("鑾峰彇宸ヤ綅淇℃伅")
     @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);
@@ -52,11 +55,7 @@
         }
     }
 
-    @GetMapping("/gettwo")
-    public List<DownWorkstation> gettwoDownWorkstations() {
-        return downWorkstationService.getoneDownWorkstations(6, 10);
-    }
-
+    @ApiOperation("鑾峰彇娴佺▼鍗″彿")
     @GetMapping("/getflowCardId")
     public ResponseEntity<Map<String, Object>> getflowCardId() {
         Map<String, Object> responseData = new HashMap<>();
@@ -75,7 +74,9 @@
     }
 
 
-    //缁戝畾鏋跺瓙
+
+//缁戝畾鏋跺瓙
+@ApiOperation("缁戝畾鏋跺瓙")
     @PostMapping("/updateFlowCardId")
     public ResponseEntity<Map<String, Object>> updateFlowCardId(@RequestBody Map<String, Object> requestData) {
         // 浠� requestData 涓幏鍙栦紶鍏ョ殑 flowCardId
@@ -96,7 +97,7 @@
         return ResponseEntity.ok(responseData);
     }
 
-
+    @ApiOperation("娓呴櫎宸ヤ綅淇℃伅")
     @PostMapping("/clear")
     public ResponseEntity<Map<String, Object>> clearWorkstationInfo(@RequestBody Map<String, Object> requestData) {
         // 璋冪敤 DownWorkstationService 涓殑鏂规硶娓呴櫎鎸囧畾宸ヤ綅ID鐨勪俊鎭�
@@ -113,7 +114,8 @@
             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.");
@@ -127,5 +129,9 @@
     }
 
 
+
+
+
+
 }
 
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 12efb2c..e142356 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
@@ -21,41 +21,16 @@
 @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鏃跺�欏皢鏁版嵁鎻掑叆鍒颁笅鐗囩幓鐠冧俊鎭〃
@@ -68,7 +43,6 @@
         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();
 //
@@ -100,7 +74,7 @@
 
                 downWorkstationTaskService.insertdownWorkstationtask(newdownGlassInfo);
                 //鏇存柊涓嬬墖浠诲姟琛ㄧ姸鎬佷负0
-                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getFlowCardId());
+                downGlassTaskService.updateTaskStateToZero(downGlassInfo.getId());
 
                 sequence++; // 閫掑椤哄簭瀛楁鍊�
 
@@ -126,9 +100,10 @@
                     //鏇存柊涓嬬墖宸ヤ綅琛ㄤ腑宸茶惤鏋舵暟閲�
                     downWorkstationService.updateracksnumber(downWorkstation.getFlowCardId(), downWorkstation.getRacksnumber() + 1);
                     //鏇存柊鏈烘浠诲姟琛ㄤ腑鐘舵�佷负0
-                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getFlowCardId());
+                    downWorkstationTaskService.updateTaskStateToZero(downWorkstation.getId());
+
                     //鍒犻櫎涓嬬墖浠诲姟琛ㄤ腑鐨勮褰�
-                    downGlassTaskService.deleteTask(downWorkstation.getFlowCardId());
+                    downGlassTaskService.deleteTask(downWorkstation.getId());
 
                 }
             }
@@ -142,14 +117,6 @@
     }
 
 
-    /**
-     * @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/DownWorkstationTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/DownWorkstationTaskService.java
index 58e3445..94a7f16 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
@@ -15,5 +15,5 @@
 public interface DownWorkstationTaskService extends IService<DownWorkstationTask> {
     void insertdownWorkstationtask(DownGlassInfo downGlassInfo);
 
-    void updateTaskStateToZero(String flowCardId);
+    void updateTaskStateToZero(long Id);
 }
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 ca152d0..0c44dac 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,6 +3,7 @@
 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;
@@ -13,6 +14,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class DownWorkstationServiceImpl extends ServiceImpl<DownWorkstationMapper, DownWorkstation> implements DownWorkstationService {
@@ -22,7 +24,8 @@
     private DownWorkstationTaskMapper downWorkstationTaskMapper;
 
 
-    //    @Override
+
+//    @Override
 //    public List<DownWorkstation> gettwoDownWorkstations() {
 //        return downWorkstationMapper.getDownWorkstationsInRange(6,10);
 //    }
@@ -43,7 +46,7 @@
 //        return totalQuantity != null ? totalQuantity : 0;
 //    }
 
-    //    @Override
+//    @Override
 //    public int getRacksNumber(int workstationId) {
 //        Integer racksNumber = downWorkstationMapper.getRacksNumber(workstationId);
 //        return racksNumber != null ? racksNumber : 0;
@@ -58,8 +61,7 @@
         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<>();
@@ -75,9 +77,10 @@
     @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
@@ -102,6 +105,13 @@
     }
 
 
+
+
+
+
+
+
+
     @Transactional
     public void crossDatabaseQuery() {
         // 浠� MySQL 鏁版嵁搴撲腑鏌ヨ鏁版嵁锛屽彧杩斿洖涓�鏉$鍚堟潯浠剁殑鏁版嵁
@@ -110,7 +120,10 @@
         // 浠� 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 89bbd8e..4c81b4e 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
@@ -33,9 +33,9 @@
     }
 
     @Override
-    public void updateTaskStateToZero(String flowCardId) {
+    public void updateTaskStateToZero(long id) {
         UpdateWrapper<DownWorkstationTask> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.set("state", 0).eq("flow_card_id", flowCardId);
+        updateWrapper.set("state", 0).eq("id", id);
 
         baseMapper.update(null, updateWrapper);
     }
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index a6b2364..3b51bf1 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -29,12 +29,6 @@
     port: 6379
     password: 123456
 mybatis-plus:
-  mapper-locations: classpath*:mapper/**/*.xml
-
-  #    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
-  # 璁剧疆 MyBatis 鏃ュ織绾у埆涓� ERROR
-logging:
-  level:
-    com:
-      baomidou:
-        mybatisplus=ERROR:
+  mapper-locations: classpath*:mapper/*.xml
+  configuration:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
new file mode 100644
index 0000000..f64b4b3
--- /dev/null
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/test/java/mes/UnloadGlassModuleApplicationTest.java
@@ -0,0 +1,54 @@
+package mes;
+
+import com.mes.UnLoadGlassApplication;
+import com.mes.downstorage.entity.DownStorageCageDetails;
+import com.mes.downstorage.service.impl.DownStorageCageServiceImpl;
+
+import lombok.extern.slf4j.Slf4j;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/3/27 16:37
+ * @Description:
+ */
+@Slf4j
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = UnLoadGlassApplication.class)
+public class UnloadGlassModuleApplicationTest {
+
+    @Autowired
+    DownStorageCageServiceImpl downStorageCageServiceImpl;
+
+    @Test
+    public void testFindPath() {
+        log.info("瀹屾暣璺緞锛歿}", Arrays.asList("123"));
+    }
+
+    @Test
+    public void testCacheGlass() {
+        List<Map> map= downStorageCageServiceImpl.getCacheInfo();
+        log.info("绗煎唴淇℃伅锛歿}", Arrays.asList(map));
+    }
+    @Test
+    public void testselectCacheEmpty() {
+        List<DownStorageCageDetails> map= downStorageCageServiceImpl.getCacheLeisure();
+        log.info("绗煎唴绌烘牸锛歿}", Arrays.asList(map));
+    }
+
+
+    @Test
+    public void testgetCacheOut() {
+        List<DownStorageCageDetails> map= downStorageCageServiceImpl.getCacheOut(1,5);
+        log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗囷細{}", Arrays.asList(map));
+    }
+
+}
diff --git a/hangzhoumesParent/moduleService/pom.xml b/hangzhoumesParent/moduleService/pom.xml
index dabe023..c3bf5ce 100644
--- a/hangzhoumesParent/moduleService/pom.xml
+++ b/hangzhoumesParent/moduleService/pom.xml
@@ -68,6 +68,12 @@
             <scope>test</scope>
         </dependency>
     </dependencies>
-
-
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </build>
 </project>
\ No newline at end of file

--
Gitblit v1.8.0