From e5e576ab6840b8030a60a1e67fb94728f7ec2ae2 Mon Sep 17 00:00:00 2001
From: 严智鑫 <test>
Date: 星期三, 24 四月 2024 16:27:03 +0800
Subject: [PATCH] Changes

---
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageDetailsServiceImpl.java  |    1 
 hangzhoumesParent/common/pom.xml                                                                                                         |   10 
 hangzhoumesParent/moduleService/CacheGlassModule/pom.xml                                                                                 |    5 
 UI-Project/src/views/Returns/returns.vue                                                                                                 |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/AppRunnerConfig.java                                              |   22 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java                  |   10 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java                                            |   61 ++++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java                                                            |   17 -
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java        |   98 ++++++-
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownStorageCageService.java                  |    3 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java          |    4 
 hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java         |  112 ++++----
 hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java                              |   27 +
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java                  |   19 +
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml                                                                         |   10 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/WebSocketServer.java                                       |  160 ++++++++++++
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java |   67 ++++-
 hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml                                                                                |    7 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java                     |    4 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java                                  |    7 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java                 |   11 
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java                                            |   47 ---
 hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java           |   26 +-
 23 files changed, 522 insertions(+), 210 deletions(-)

diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 759d3ca..6e634d8 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -440,9 +440,7 @@
           </div>
     <template #footer>
       <div id="dialog-footer">
-        <el-button type="primary" @click="adda = false">
-          纭
-        </el-button>
+        <el-button type="primary" @click="adda = false">纭</el-button>
         <el-button @click="adda = false">鍙栨秷</el-button>
       </div>
     </template>
diff --git a/hangzhoumesParent/common/pom.xml b/hangzhoumesParent/common/pom.xml
index ae22d4f..099f637 100644
--- a/hangzhoumesParent/common/pom.xml
+++ b/hangzhoumesParent/common/pom.xml
@@ -172,12 +172,16 @@
             <version>1.2.33</version>
         </dependency>
 
+<!--        <dependency>-->
+<!--            <groupId>com.github.yulichang</groupId>-->
+<!--            <artifactId>mybatis-plus-join</artifactId>-->
+<!--            <version>1.2.4</version>-->
+<!--        </dependency>-->
         <dependency>
             <groupId>com.github.yulichang</groupId>
-            <artifactId>mybatis-plus-join</artifactId>
-            <version>1.2.4</version>
+            <artifactId>mybatis-plus-join-boot-starter</artifactId>
+            <version>1.4.12</version>
         </dependency>
-
     </dependencies>
 
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
index a2463c5..d5d686c 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/tools/CodeGet.java
@@ -23,7 +23,6 @@
         // 鍏ㄥ眬閰嶇疆
         GlobalConfig gc = new GlobalConfig();
         gc.setOutputDir("D:\\Documents\\hangzhoumesParent1\\");
-
         gc.setServiceName("%sService");	//鍘绘帀Service鎺ュ彛鐨勯瀛楁瘝I
         gc.setAuthor("zhoush");
         gc.setOpen(false);
@@ -41,7 +40,7 @@
         // 4銆佸寘閰嶇疆
         PackageConfig pc = new PackageConfig();
         pc.setParent("com.mes");
-        pc.setModuleName("userinfo"); //妯″潡鍚�
+        //pc.setModuleName("userinfo"); //妯″潡鍚�
         pc.setController("controller");
         pc.setService("service");
         pc.setMapper("mapper");
@@ -50,7 +49,7 @@
         // 5銆佺瓥鐣ラ厤缃�
         StrategyConfig strategy = new StrategyConfig();
 
-        strategy.setInclude("up_patten_usage");
+        //strategy.setInclude("up_patten_usage");
 
         strategy.setNaming(NamingStrategy.underline_to_camel);//鏁版嵁搴撹〃鏄犲皠鍒板疄浣撶殑鍛藉悕绛栫暐
 
@@ -69,16 +68,4 @@
     }
 }
 
-/*
-<dependency>
-    <groupId>com.baomidou</groupId>
-    <artifactId>mybatis-plus-generator</artifactId>
-    <version>3.4.1</version>
-</dependency>
 
-<dependency>
-    <groupId>org.apache.velocity</groupId>
-    <artifactId>velocity-engine-core</artifactId>
-    <version>2.0</version>
-</dependency>
- */
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
index 192058e..63b92ad 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/pom.xml
@@ -17,11 +17,6 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>com.github.yulichang</groupId>
-            <artifactId>mybatis-plus-join</artifactId>
-            <version>1.1.6</version>
-        </dependency>
 <!--        <dependency>-->
 <!--            <groupId>com.github.yulichang</groupId>-->
 <!--            <artifactId>mybatis-plus-join-boot-starter</artifactId>-->
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/AppRunnerConfig.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/AppRunnerConfig.java
new file mode 100644
index 0000000..f58a1de
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/AppRunnerConfig.java
@@ -0,0 +1,22 @@
+package com.mes;
+
+import com.mes.common.PlcHomeEdg;
+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("鍚姩瀹屾垚");
+       new PlcHomeEdg().start();
+
+    }
+}
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
index bf6e500..42b56a2 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/CacheGlassModuleApplication.java
@@ -1,11 +1,13 @@
 package com.mes;
 
+import com.mes.common.WebSocketServer;
 import lombok.extern.slf4j.Slf4j;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.context.ConfigurableApplicationContext;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
 import com.mes.edgstoragecage.service.*;
 
@@ -23,7 +25,10 @@
 
     public static void main(String[] args) {
         try {
-            SpringApplication.run(CacheGlassModuleApplication.class, args);
+            SpringApplication springApplication = new SpringApplication(CacheGlassModuleApplication.class);
+            ConfigurableApplicationContext applicationContext = springApplication.run(args);
+            WebSocketServer.setApplicationContext(applicationContext);
+            //SpringApplication.run(CacheGlassModuleApplication.class, args);
         } catch (Exception e) {
             log.error(e.getMessage());
         }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
index a97b2c6..2e921b4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PLCAutoMes.java
@@ -7,45 +7,18 @@
 
 public class PLCAutoMes extends Thread {
 
-    // // 鐢ㄤ簬瀛樺偍搴旂敤绋嬪簭鐨勯厤缃俊鎭�
-    // private Configuration config;
     private static InitUtil initUtil;
-    // public static PlcParameterObject PlcMesObject;
-    // public static PlcParameterObject PlcReadObject;
-    // public static PlcParameterObject PlcframeObject;
-
-    // // 鍒涘缓涓�涓嚜瀹氫箟鐨� S7 鎺у埗鍣ㄦ秷鎭鐞嗗櫒瀵硅薄
-    // MessageHandler customS7Control = new MessageHandler();
 
     // 鍗曚緥瀹炰緥
     private static PLCAutoMes instance;
-    // private static String PlcMes = PLCAutoMes.class.getResource("/JsonFile/PlcMes.json").getPath();
     private static String PlcAlbania = PLCAutoMes.class.getResource("/JsonFile/PlcAlbania.json").getPath();
-    // private static String PlcRead = PLCAutoMes.class.getResource("/JsonFile/PlcRead.json").getPath();
-    // private static String Plcframe = PLCAutoMes.class.getResource("/JsonFile/Plcframe.json").getPath();
-    // private static String PlcParameter = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcParameter.json").getPath();
 
-    // private static String PlcSign = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcSign.json").getPath();
 
-    // private static String PlcState = PLCAutomaticParameterSettingReview2.class.getResource("/JsonFile/PlcState.json").getPath();
 
-    // private static String PlcAlarm = PLCAutoMes.class.getResource("/JsonFile/PlcAlarm.json").getPath();
-    // private static String PlcTest = PLCAutoMes.class.getResource("/JsonFile/PlcTest.json").getPath();
-
-    // 璋冪敤initword鏂规硶
-
-    // public static PlcParameterObject plcParameterObject = initUtil.initword(PlcParameter);
-    // public static PlcBitObject plcPlcTest = initUtil.initbit(PlcTest);
-    // public static PlcBitObject  plcBitObject = initUtil.initbit(PlcSign);
-    // public static PlcParameterObject  plcStateObject= initUtil.initword(PlcState);
-    // public static PlcBitObject plcPlcAlarm = initUtil.initbit(PlcAlarm);
     public static PlcParameterObject PlcMesObject = InitUtil.initword(PlcAlbania);
-    // public static PlcParameterObject PlcReadObject = initUtil.initword(PlcRead);
-    // public static PlcParameterObject PlcframeObject = initUtil.initword(Plcframe);
 
     // 绉佹湁鏋勯�犲嚱鏁�
     public PLCAutoMes() throws IOException {
-        //config = new Configuration("config.properties");
         initUtil = new InitUtil();
     }
 
@@ -67,28 +40,8 @@
                 e.printStackTrace();
             }
 
-            // System.out.println(jsonFilePath);
-
-            //readAndUpdateWordValues(PlcReadObject);
             readAndUpdateWordValues(PlcMesObject);
-            //readAndUpdateWordValues(PlcframeObject);
-            // readAndUpdateWordValues(PlcframeObject);
 
-            // readAndUpdateWordValues(plcStateObject);
-            // int index = PlcMesObject.getPlcParameter("AddStart").getAddressIndex();
-            // // System.out.println(index);
-            // PlcMesObject.getPlcParameter("AddStart").getAddress(index);
-            // // System.out.println(PlcMesObject.getPlcParameter("AddStart").getAddress(index));
-            // List<String> addresses = new ArrayList<>();
-            // addresses.add("FeedID");
-            // addresses.add("AddStart");
-            // // System.out.println(addresses);
-            // // System.out.println(PlcMesObject.getPlcParameterValues(addresses));
-            // List<String> addresses2 = new ArrayList<>();
-            // addresses2.add("FeedID");
-            // addresses2.add("FeedCarStatus");
-
-            //System.out.println(PlcReadObject.getPlcParameterValues(addresses2));
 
         }
     }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java
new file mode 100644
index 0000000..6321ba4
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java
@@ -0,0 +1,61 @@
+package com.mes.common;
+import cn.hutool.json.JSONObject;
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class PlcHomeEdg extends Thread {
+    @Override
+    public void run() {
+        while (this != null) {
+            JSONObject jsonObject = new JSONObject();
+            try {
+                Thread.sleep(1000);
+                // 娉ㄥ叆mapper
+//                HomeService  = WebSocketServer.applicationContext.getBean(HomeService.class);
+//                QueueMapper  = WebSocketServer.applicationContext.getBean(QueueMapper.class);
+
+
+//                //璇诲彇DB105鍖烘枃浠�
+//                PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+//
+//                String PlcRequest=plcmes.getPlcParameter("GaToMES").getValue();//璇锋眰
+//                String MesSend=plcmes.getPlcParameter("MESToGaStatus").getValue();//鍙戦��
+//                double width=Double.valueOf(plcmes.getPlcParameter("width").getValue());//瀹�
+//                double height=Double.valueOf(plcmes.getPlcParameter("Height").getValue());//楂�
+
+                //鑾峰彇娴嬮噺鐨勯暱锛屽
+                 boolean istest = true;
+                // String PlcRequest = "1";
+                // String MesSend = "0";
+                // double width = 516;
+                // double height = 507;
+                //System.out.println(111);
+                // //鏌ヨ褰撳墠璁㈠崟浠诲姟
+                //List<FlowCard> OrderTask = storageCageService.SelectOrderTask();
+                //jsonObject.append("OrderTask", OrderTask);
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+
+            // jsonObject.append("params", new short[] { 30, 40, });
+            ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("Home");
+            if (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
+                    if (webserver != null) {
+
+                        List<String> messages = webserver.getMessages();
+
+                        if (!messages.isEmpty()) {
+                            // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                            webserver.clearMessages();
+                        }
+                    }
+
+                }
+            }
+        }
+    }
+}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/WebSocketServer.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/WebSocketServer.java
new file mode 100644
index 0000000..5fabafa
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/WebSocketServer.java
@@ -0,0 +1,160 @@
+package com.mes.common;
+
+import cn.hutool.json.JSONObject;
+import cn.hutool.json.JSONUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.context.ConfigurableApplicationContext;
+import org.springframework.stereotype.Component;
+
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+@ServerEndpoint(value = "/api/talk/{username}")
+@Component("webSocketServer")
+public class WebSocketServer {
+
+
+    public 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/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
index defc8cb..3e49ae0 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/controller/EdgStorageCageController.java
@@ -37,28 +37,28 @@
     @PostMapping("/selectEdgStorageCage")
     @ResponseBody
     public Result selectEdgStorageCage () {
-        List<Map> list=edgStorageCageService.selectEdgStorageCages();
+        List<Map<String, Object>> list=edgStorageCageService.selectEdgStorageCages();
         return Result.build(200,"鎴愬姛",list);
     }
-    @ApiOperation("娣诲姞纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氱鍐呯粦瀹氱幓鐠�  鍙傛暟(EdgStorageCage edgStorageCage)")
-    @PostMapping("/insertEdgStorageCage")
-    @ResponseBody
-    public Result insertEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
-        boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
-        return Result.build(200,"娣诲姞鎴愬姛",1);
-    }
-    @ApiOperation("淇敼纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸杩涜銆愬惎鐢�/绂佺敤銆�/ 銆愭洿鎹€�戠鍐呮爡鏍肩幓鐠冧俊鎭�")
+//    @ApiOperation("娣诲姞纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氱鍐呯粦瀹氱幓鐠�  鍙傛暟(EdgStorageCage edgStorageCage)")
+//    @PostMapping("/insertEdgStorageCage")
+//    @ResponseBody
+//    public Result insertEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
+//        boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
+//        return Result.build(200,"娣诲姞鎴愬姛",1);
+//    }
+    @ApiOperation("淇敼纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸杩涜銆愬惎鐢�/绂佺敤銆�")
     @PostMapping("/updateEdgStorageCage")
     @ResponseBody
     public Result updateEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage) {
         boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
         return Result.build(200,"鏇存崲鎴愬姛",1);
     }
-    @ApiOperation("鍒犻櫎纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愭竻闄ゃ��")
-    @PostMapping("/deleteEdgStorageCage")
+    @ApiOperation("纾ㄨ竟缂撳瓨鐞嗙墖绗间俊鎭�   鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑杩涜銆愭竻闄�/鏇存崲/缁戝畾銆� EdgStorageCage鏍煎瓙淇℃伅,EdgStorageCageDetails 鐜荤拑淇℃伅 ")
+    @PostMapping("/edgStorageCageGlass")
     @ResponseBody
-    public Result deleteEdgStorageCage(@RequestBody EdgStorageCage edgStorageCage, EdgStorageCageDetails edgStorageCageDetails) {
-        boolean isSucess=edgStorageCageService.updateEdgStorageCage(edgStorageCage);
+    public Result edgStorageCageGlass(@RequestBody EdgStorageCage edgStorageCage,@RequestBody EdgStorageCageDetails edgStorageCageDetails) {
+        boolean isSucess=edgStorageCageService.updateEdgStorageCageDetails(edgStorageCage,edgStorageCageDetails);
         return Result.build(200,"鍒犻櫎鎴愬姛",1);
     }
 
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
index 5b217ed..e09fb31 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageDetailsService.java
@@ -30,14 +30,14 @@
      * 鑾峰彇 鍒囧壊褰撳墠鐗堝浘
      * @return
      */
-    List<OptimizeDetail> selectCutTerritory();
+    List<Map<String, Object>> selectCutTerritory();
 
     /**
      * 鑾峰彇 宸ョ▼涓嬬殑褰撳墠鐗堝浘
      * @param current
      * @return
      */
-    List<OptimizeDetail> selectCurrentCutTerritory(String current);
+    List<Map<String, Object>> selectCurrentCutTerritory(String current);
 
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
index a8309dc..a72c8bb 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/EdgStorageCageService.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.github.yulichang.base.MPJBaseService;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
+import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 
 import java.util.List;
 import java.util.Map;
@@ -21,24 +22,26 @@
      * 鏌ヨ绗煎唴绌烘牸
      * @return
      */
-    List<Map> selectCacheEmpty();
+    List<Map<String, Object>> selectCacheEmpty();
 
     /**
      * 鏌ヨ绗煎唴鍑虹墖椤哄簭璇︽儏
      * @return
      */
-    List<Map> selectCacheOut();
+    List<Map<String, Object>> selectCacheOut();
 
     /**
      * 鏌ヨ绗煎唴璇︽儏
      * @return
      */
-    List<Map> selectEdgStorageCages();
+    List<Map<String, Object>> selectEdgStorageCages();
 
     /**
-     * 淇敼鐞嗙墖绗煎唴淇℃伅
+     * 淇敼鐞嗙墖绗间俊鎭�
      * @param edgStorageCage
      * @return
      */
     boolean updateEdgStorageCage(EdgStorageCage edgStorageCage);
+
+    boolean updateEdgStorageCageDetails(EdgStorageCage edgStorageCage, EdgStorageCageDetails edgStorageCageDetails);
 }
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 cebe39d..64837c0 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageDetailsServiceImpl.java
@@ -2,11 +2,15 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
 import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
 import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeLayout;
 import com.mes.pp.mapper.OptimizeDetailMapper;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
@@ -14,6 +18,7 @@
 import org.springframework.stereotype.Service;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 /**
  * <p>
@@ -38,13 +43,21 @@
      * @return
      */
     public boolean identWorn(String glassId, int ControlsId) {
-        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
+        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new MPJLambdaQueryWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId,glassId));
         if (edgStorageCageDetails.size() == 1) {
             EdgStorageCageDetails item=edgStorageCageDetails.get(0);
             item.setState(ControlsId);
-            baseMapper.update(edgStorageCageDetails.get(0), new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
+            baseMapper.update(edgStorageCageDetails.get(0), new MPJLambdaWrapper<EdgStorageCageDetails>().selectAll(EdgStorageCageDetails.class).eq(EdgStorageCageDetails::getGlassId,glassId));
             return true;
         }
+//            Sql鐗堟湰
+//        List<EdgStorageCageDetails> edgStorageCageDetails = baseMapper.selectList(new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
+//        if (edgStorageCageDetails.size() == 1) {
+//            EdgStorageCageDetails item=edgStorageCageDetails.get(0);
+//            item.setState(ControlsId);
+//            baseMapper.update(edgStorageCageDetails.get(0), new QueryWrapper<EdgStorageCageDetails>().eq("glass_id", glassId));
+//            return true;
+//        }
         return false;
     }
 
@@ -53,15 +66,31 @@
      * @return
      */
     @Override
-    public List<OptimizeDetail> selectCutTerritory() {
-        List<UpPattenUsage> upPattenUsage=upPattenUsageMapper.selectList(new QueryWrapper<UpPattenUsage>()
-                        .eq("state", 1));
+    public List<Map<String, Object>> selectCutTerritory() {
+        List<UpPattenUsage> upPattenUsage=upPattenUsageMapper.selectList(new MPJLambdaWrapper<UpPattenUsage>()
+                .selectAll(UpPattenUsage.class)
+                .eq(UpPattenUsage::getState, 1));
+
         if(!upPattenUsage.isEmpty()){
             UpPattenUsage upPattenUsage1=upPattenUsage.get(0);
-            return optimizeDetailMapper.selectList(new QueryWrapper<OptimizeDetail>()
-                    .eq("project_no", upPattenUsage1.getEngineeringId())
-                    .eq("stock_id",upPattenUsage1.getLayoutSequence())
+            return optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+                    .selectAll(OptimizeDetail.class)
+                    .selectAs(OptimizeLayout::getWidth,"olWidth")
+                    .selectAs(OptimizeLayout::getWidth,"olHeight")
+                    .leftJoin(OptimizeLayout.class,on->on
+                            .eq(OptimizeLayout::getProjectNo,OptimizeDetail::getProjectNo)
+                            .eq(OptimizeLayout::getStockId,OptimizeDetail::getStockId))
+                    .eq(OptimizeDetail::getProjectNo, upPattenUsage1.getEngineeringId())
+                    .eq(OptimizeDetail::getStockId,upPattenUsage1.getLayoutSequence())
             );
+
+//            Sql鐗堟湰
+//            return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
+//                    .select("ol.width as olwidth","ol.height as olheight")
+//                    .leftJoin("optimize_layout ol on t.project_no=ol.project_no and t.stock_id=ol.stock_id")
+//                    .eq("t.project_no", upPattenUsage1.getEngineeringId())
+//                    .eq("t.stock_id",upPattenUsage1.getLayoutSequence())
+//            );
         }
         return null;
     }
@@ -72,11 +101,23 @@
      * @return
      */
     @Override
-    public List<OptimizeDetail> selectCurrentCutTerritory(String current) {
-      return optimizeDetailMapper.selectList(new QueryWrapper<OptimizeDetail>().eq("project_no", current));
+    public List<Map<String, Object>> selectCurrentCutTerritory(String current) {
+
+        return optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+                .selectAll(OptimizeDetail.class)
+                .selectAs(OptimizeLayout::getWidth,"olWidth")
+                .selectAs(OptimizeLayout::getWidth,"olHeight")
+                .leftJoin(OptimizeLayout.class,on->on
+                        .eq(OptimizeLayout::getProjectNo,OptimizeDetail::getProjectNo)
+                        .eq(OptimizeLayout::getStockId,OptimizeDetail::getStockId))
+                .eq(OptimizeDetail::getProjectNo, current)
+        );
+//Sql鐗堟湰
+//        return optimizeDetailMapper.selectJoinMaps(new MPJQueryWrapper<OptimizeDetail>().selectAll(OptimizeDetail.class)
+//                .select("ol.width as olwidth","ol.height as olheight")
+//                .leftJoin("optimize_layout ol on t.project_no=ol.project_no and t.stock_id=ol.stock_id")
+//                .eq("t.project_no",current)
+//        );
     }
-
-    ;
-
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
index ee05420..4709fcf 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -1,8 +1,13 @@
 package com.mes.edgstoragecage.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
 import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.edgstoragecage.entity.EdgStorageCage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
@@ -38,13 +43,20 @@
      * @return
      */
     @Override
-    public List<Map> selectCacheEmpty(){
-        return baseMapper.selectJoinList(
-                Map.class,new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
-                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
-                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
-                        .isNull("escd.slot")
+    public List<Map<String, Object>> selectCacheEmpty(){
+        return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class).selectAll(EdgStorageCage.class)
+                .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getGlassId)
+                .leftJoin(EdgStorageCageDetails.class,on->on
+                        .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                        .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+                .isNull(EdgStorageCageDetails::getSlot)
         );
+
+//        return baseMapper.selectJoinMaps(new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//                        .isNull("escd.slot")
+//        );
     }
 
     /**
@@ -52,14 +64,21 @@
      * @return
      */
     @Override
-    public List<Map> selectCacheOut(){
-        return upPattenUsageMapper.selectJoinList(
-                Map.class,new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
-                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
-                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
-                        .isNotNull("escd.slot")
-                        .orderByAsc("escd.tempering_layout_id","escd.tempering_feed_sequence")
+    public List<Map<String, Object>> selectCacheOut(){
+
+        return upPattenUsageMapper.selectJoinMaps(JoinWrappers.lambda(UpPattenUsage.class).selectAll(UpPattenUsage.class)
+                .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getGlassId)
+                .leftJoin(EdgStorageCageDetails.class,on->on
+                        .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                        .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
+                .isNull(EdgStorageCageDetails::getSlot)
         );
+//        return upPattenUsageMapper.selectJoinMaps(new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//                        .isNotNull("escd.slot")
+//                        .orderByAsc("escd.tempering_layout_id","escd.tempering_feed_sequence")
+//        );
     }
 
     /**
@@ -67,23 +86,62 @@
      * @return
      */
     @Override
-    public List<Map> selectEdgStorageCages(){
-        return baseMapper.selectJoinList(
-                Map.class,new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
-                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
-                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+    public List<Map<String, Object>> selectEdgStorageCages(){
+        return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class)
+                .selectAll(EdgStorageCage.class)
+                .selectAs(EdgStorageCageDetails::getId,"esdId")
+                .select(EdgStorageCageDetails::getGlassId,EdgStorageCageDetails::getWidth,EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getId)
+                .leftJoin(EdgStorageCageDetails.class,on->on
+                        .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId)
+                        .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot))
         );
+//        return baseMapper.selectJoinMaps(new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.class)
+//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
+//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
+//        );
     }
 
     /**
-     * 淇敼鐞嗙墖绗煎唴淇℃伅 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+     * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆�
      * @param edgStorageCage
      * @return
      */
     @Override
     public boolean updateEdgStorageCage(EdgStorageCage edgStorageCage){
-        baseMapper.updateById(edgStorageCage);
+        EdgStorageCage edgItem=baseMapper.selectById(edgStorageCage.getId());
+        edgItem.setEnableState(edgStorageCage.getEnableState());
+        baseMapper.updateById(edgItem);
         return true;
     }
 
+    /**
+     *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆�
+     * @param edgStorageCage
+     * @param edgStorageCageDetails
+     * @return
+     */
+    @Override
+    public boolean updateEdgStorageCageDetails(EdgStorageCage edgStorageCage,EdgStorageCageDetails edgStorageCageDetails){
+        EdgStorageCage edgItem=baseMapper.selectById(edgStorageCage.getId());
+        EdgStorageCageDetails edgDItem=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+        if (edgItem!=null){
+            if(edgDItem==null){
+                //绉婚櫎鐜荤拑
+                EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getId,edgStorageCageDetails.getId()));
+                result.setSlot(0);
+                edgStorageCageDetailsMapper.updateById(result);
+            }else{
+                //1.缁戝畾鏂扮殑鐜荤拑    2.鏇存崲鐜荤拑  涓婁竴鐗囨竻闄�   閲嶆柊缁戝畾
+                EdgStorageCageDetails lastResult=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot,edgStorageCage.getSlot()));
+                lastResult.setSlot(0);
+                edgStorageCageDetailsMapper.updateById(lastResult);
+                EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId());
+                result.setSlot(edgStorageCageDetails.getSlot());
+                edgStorageCageDetailsMapper.updateById(result);
+            }
+        }
+        return true;
+    }
+
+
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
index f62e9ca..7e04d74 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/glassinfo/service/impl/GlassInfoServiceImpl.java
@@ -2,9 +2,12 @@
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.glassinfo.service.GlassInfoService;
+import com.mes.taskcache.entity.TaskCache;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -30,7 +33,8 @@
      */
     @Override
     public List<GlassInfo> selectId(String glassId){
-        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("glass_id",glassId));
+        return baseMapper.selectList(new MPJLambdaWrapper<GlassInfo>().selectAll(GlassInfo.class).eq(GlassInfo::getGlassId,glassId));
+//        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("glass_id",glassId));
     };
 
     /**
@@ -49,6 +53,8 @@
      */
     @Override
     public List<GlassInfo> selectFlowCardId(String flowCardId){
-        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("flow_card_id",flowCardId));
+        return baseMapper.selectList(new MPJLambdaWrapper<GlassInfo>().selectAll(GlassInfo.class).eq(GlassInfo::getFlowCardId,flowCardId));
+        //Sql鐗堟湰
+//        return baseMapper.selectList(new QueryWrapper<GlassInfo>().eq("flow_card_id",flowCardId));
     };
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index fae360b..85e1ef5 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -39,14 +39,14 @@
     @PostMapping("/cutTerritory")
     @ResponseBody
     public Result cutTerritory(String current) {
-        List<OptimizeDetail> h = edgStorageCageDetailsService.selectCurrentCutTerritory(current);
+        List<Map<String, Object>> h = edgStorageCageDetailsService.selectCurrentCutTerritory(current);
         return Result.build(200,"鎴愬姛",h);
     }
     @ApiOperation("璇嗗埆鏄剧ず  褰撳墠鐗堝浘   鍙傛暟()")
     @PostMapping("/currentCutTerritory")
     @ResponseBody
     public Result currentCutTerritory() {
-        List<OptimizeDetail> h = edgStorageCageDetailsService.selectCutTerritory();
+        List<Map<String, Object>> h = edgStorageCageDetailsService.selectCutTerritory();
         return Result.build(200,"鎴愬姛",h);
     }
     @ApiOperation("璇嗗埆鎿嶄綔锛�   鐮存崯/鎷胯蛋     鍙傛暟锛圛D,鍔熻兘[200锛氭嬁璧帮紝201:鐮存崯]锛�")
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
index 6560f03..ffa237c 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -1,12 +1,15 @@
 package com.mes.taskcache.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
 import com.mes.taskcache.entity.TaskCache;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.mes.taskcache.mapper.TaskCacheMapper;
 import com.mes.taskcache.service.TaskCacheService;
+import com.mes.uppattenusage.entity.UpPattenUsage;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -41,7 +44,8 @@
      */
     @Override
     public List<TaskCache> selectEdgInfo(String line) {
-        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line));
+//        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line));
     }
 
     /**
@@ -50,7 +54,8 @@
      */
     @Override
     public List<TaskCache> selectCacheInfo(){
-        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0));
+//        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0));
     }
 
     /**
@@ -68,7 +73,9 @@
      */
     @Override
     public List<TaskCache> selectInputTaskCache(){
-        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,1));
+
+//        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",1));
     }
 
     /**
@@ -77,7 +84,8 @@
      */
     @Override
     public List<TaskCache> selectOutTaskCache(){
-        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getTaskStatus,0).eq(TaskCache::getTaskType,2));
+//        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("task_status",0).eq("task_type",2));
     }
 
     /**
@@ -87,6 +95,7 @@
      */
     @Override
     public List<TaskCache> selectLastOutCacheInfo(String line){
-        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_xxxxcell",line).eq("task_status",1).orderByDesc("ID"));
+        return baseMapper.selectList(new MPJLambdaWrapper<TaskCache>().selectAll(TaskCache.class).eq(TaskCache::getEndCell,line).eq(TaskCache::getTaskStatus,1).orderByDesc(TaskCache::getID));
+//        return baseMapper.selectList(new QueryWrapper<TaskCache>().eq("end_cell",line).eq("task_status",1).orderByDesc("ID"));
     }
 }
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
index 53f728a..2b083c4 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/test/java/com/mes/CacheGlassModuleApplicationTest.java
@@ -1,10 +1,14 @@
 package com.mes;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.github.yulichang.query.MPJLambdaQueryWrapper;
+import com.github.yulichang.query.MPJQueryWrapper;
+import com.github.yulichang.toolkit.JoinWrappers;
 import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
 import com.mes.edgstoragecage.service.EdgStorageCageService;
 import com.mes.edgstoragecage.service.impl.EdgStorageCageServiceImpl;
 import com.mes.pp.entity.OptimizeDetail;
+import com.mes.pp.entity.OptimizeLayout;
 import com.mes.pp.mapper.OptimizeDetailMapper;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
@@ -42,17 +46,17 @@
 
     @Test
     public void testCacheGlass() {
-        List<Map> map= edgStorageCageService.selectEdgStorageCages();
+        List<Map<String, Object>> map= edgStorageCageService.selectEdgStorageCages();
         log.info("绗煎唴淇℃伅锛歿}", Arrays.asList(map));
     }
     @Test
-    public void testselectCacheEmpty() {
-        List<Map> map= edgStorageCageService.selectCacheEmpty();
+    public void testSelectCacheEmpty() {
+        List<Map<String, Object>> map= edgStorageCageService.selectCacheEmpty();
         log.info("绗煎唴绌烘牸锛歿}", Arrays.asList(map));
     }
     @Test
     public void testScan() {
-        List<OptimizeDetail> map= edgStorageCageDetailsService.selectCutTerritory();
+        List<Map<String, Object>> map= edgStorageCageDetailsService.selectCutTerritory();
         log.info("鍒囧壊褰撳墠鐗堝浘淇℃伅锛歿}", Arrays.asList(map));
     }
 
@@ -65,5 +69,20 @@
         log.info("鍒囧壊褰撳墠鐗堝浘淇℃伅锛歿}", Arrays.asList(optimizeDetail));
 
     }
+    @Test
+    public void testOptimizeDetail() {
+
+        List<Map<String, Object>> map2=optimizeDetailMapper.selectJoinMaps(JoinWrappers.lambda(OptimizeDetail.class)
+                .selectAll(OptimizeDetail.class)
+                .selectAs(OptimizeLayout::getWidth,"olWidth")
+                .selectAs(OptimizeLayout::getWidth,"olHeight")
+                .select(OptimizeLayout::getWidth,OptimizeLayout::getHeight)
+                .leftJoin(OptimizeLayout.class,on-> on.eq(OptimizeLayout::getProjectNo,OptimizeDetail::getProjectNo)
+                        .eq(OptimizeLayout::getStockId,OptimizeDetail::getStockId))
+                .eq(OptimizeDetail::getProjectNo,"P24032204" )
+                .eq(OptimizeDetail::getStockId,5)
+        );
+        log.info("鍒囧壊褰撳墠鐗堝浘淇℃伅1锛歿}", Arrays.asList(map2));
+    }
 
 }
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
index 23fa7e1..e7c15af 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/pom.xml
@@ -13,16 +13,6 @@
 <artifactId>cacheVerticalGlass</artifactId>
     <dependencies>
 
-        <dependency>
-            <groupId>com.github.yulichang</groupId>
-            <artifactId>mybatis-plus-join</artifactId>
-            <version>1.1.6</version>
-        </dependency>
-                <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>
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
index 7f8d916..f447221 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/pom.xml
@@ -25,13 +25,6 @@
             <scope>compile</scope>
         </dependency>
 
-
-        <dependency>
-            <groupId>com.github.yulichang</groupId>
-            <artifactId>mybatis-plus-join</artifactId>
-            <version>1.2.4</version>
-        </dependency>
-
         <dependency>
             <groupId>com.microsoft.sqlserver</groupId>
             <artifactId>sqljdbc4</artifactId>
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 343af18..ddac68b 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
@@ -1,6 +1,7 @@
 package com.mes.downstorage.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.yulichang.base.MPJBaseService;
 import com.mes.downstorage.entity.DownStorageCage;
 import com.mes.downstorage.entity.DownStorageCageDetails;
 
@@ -15,7 +16,7 @@
  * @author zhoush
  * @since 2024-03-27
  */
-public interface DownStorageCageService extends IService<DownStorageCage> {
+public interface DownStorageCageService extends MPJBaseService<DownStorageCage> {
     public List<Map> gettask();
 
     //    List<Map<String, Object>> selectCacheLeisure();
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 fb0e5b0..de9b0aa 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
@@ -2,7 +2,6 @@
 
 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;
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 ecceaf3..566d3e1 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,5 +1,7 @@
 package com.mes.downstorage.service.impl;
 
+
+import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
 import com.mes.downstorage.entity.DownStorageCage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -23,7 +25,7 @@
  */
 @Slf4j
 @Service
-public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
+public class DownStorageCageServiceImpl extends MPJBaseServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService {
     @Autowired
     private DownStorageCageMapper downStorageCageMapper;
     @Override
@@ -38,12 +40,13 @@
     @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")
+        MPJQueryWrapper mpjQueryWrapper = new MPJQueryWrapper<DownStorageCageDetails>()
+                .select("escd.*")
+                .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                .isNull("escd.slot")
+                .orderByAsc("escd.slot");
+        List<DownStorageCageDetails> list = baseMapper.selectJoinList(
+                DownStorageCageDetails.class,mpjQueryWrapper
         );
         return list;
     }
@@ -71,16 +74,17 @@
     @Override
     public List<DownStorageCageDetails> getCacheOut(int start, int end) {
         log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�");
+        MPJQueryWrapper mpjQueryWrapper =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  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")
+                DownStorageCageDetails.class, mpjQueryWrapper
         );
     }
 
@@ -91,11 +95,12 @@
     @Override
     public List<Map> getCacheInfo() {
         log.info(" 鏌ヨ绗煎瓙鍐呬俊鎭�");
+        MPJQueryWrapper mpjQueryWrapper =new MPJQueryWrapper<DownStorageCageDetails>()
+                .select("escd.*")
+                .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                .orderByAsc("t.slot");
         return downStorageCageMapper.selectJoinList(
-                Map.class, new MPJQueryWrapper<DownStorageCageDetails>()
-                        .select("escd.*")
-                        .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
-                        .orderByAsc("t.slot")
+                Map.class,mpjQueryWrapper
         );
 
     }
@@ -105,15 +110,16 @@
     @Override
     public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) {
         log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸");
+        MPJQueryWrapper mpjQueryWrapper =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");
         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")
+                DownStorageCageDetails.class, mpjQueryWrapper
         );
         return list;
     }
@@ -124,15 +130,15 @@
     @Override
     public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) {
         log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿  鎵惧埌鐩稿悓娴佺▼鍗″彿鐨勭┖鏍�");
-
+        MPJQueryWrapper mpjQueryWrapper =new MPJQueryWrapper<DownStorageCageDetails>()
+                .select("escd.*")
+                .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                .isNotNull("escd.slot")
+                .eq("escd.flow_card_id", flowcardid)
+                .gt("t.remain_width", width)
+                .orderByAsc("escd.tempering_feed_sequence");
         return 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.flow_card_id", flowcardid)
-                        .gt("t.remain_width", width)
-                        .orderByAsc("escd.tempering_feed_sequence")
+                DownStorageCageDetails.class, mpjQueryWrapper
         );
 
     }
@@ -142,15 +148,16 @@
     @Override
     public List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width) {
         log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿");
+        MPJQueryWrapper mpjQueryWrapper =new MPJQueryWrapper<DownStorageCageDetails>()
+                .select("escd.*")
+                .leftJoin("down_storage_cage_details escd on t.slot = escd.slot")
+                .isNotNull("escd.slot")
+                .lt("escd.flow_card_id", flowcardid)
+                // 鏉′欢 t.remain_width - width > 0
+                .apply("t.remain_width - " + width + " > 0")
+                .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence");
         return 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.flow_card_id", flowcardid)
-                        // 鏉′欢 t.remain_width - width > 0
-                        .apply("t.remain_width - " + width + " > 0")
-                        .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence")
+                DownStorageCageDetails.class,mpjQueryWrapper
         );
 
     }
@@ -159,15 +166,16 @@
     @Override
     public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) {
         log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿");
+        MPJQueryWrapper mpjQueryWrapper =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 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")
+                DownStorageCageDetails.class, mpjQueryWrapper
         );
 
     }

--
Gitblit v1.8.0