From f4904c7de38d0fed9b15ed8b52926bb6e8aceb9e Mon Sep 17 00:00:00 2001
From: clll <1320612696@qq.com>
Date: 星期四, 14 九月 2023 17:03:06 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

---
 CanadaMes-ui/src/views/home/index.vue                                               |    5 
 CanadaMes-ui/src/views/Electrical/Sign.vue                                          |    2 
 springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java   |    2 
 CanadaMes-ui/src/store/index.js                                                     |    6 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java         |   45 ++
 springboot-vue3/src/main/java/com/example/springboot/component/S7control.java       |   58 ++-
 CanadaMes-ui/src/views/Electrical/State.vue                                         |    8 
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java        |   19 
 CanadaMes-ui/src/views/Electrical/Parameter.vue                                     |   22 +
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java      |  629 ++++++++++++++++++++++-------------------
 springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java |   27 +
 springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java    |   12 
 CanadaMes-ui/src/views/Electrical/alarm.vue                                         |    2 
 springboot-vue3/src/main/resources/application.properties                           |    2 
 CanadaMes-ui/src/views/Electrical/Action.vue                                        |    5 
 springboot-vue3/src/main/resources/sql/canadames.sql                                |   30 -
 springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java       |    4 
 17 files changed, 485 insertions(+), 393 deletions(-)

diff --git a/CanadaMes-ui/src/store/index.js b/CanadaMes-ui/src/store/index.js
index 9b88426..a10adaa 100644
--- a/CanadaMes-ui/src/store/index.js
+++ b/CanadaMes-ui/src/store/index.js
@@ -10,9 +10,9 @@
   modules: {
     tags,
   },
-  state: {
-    tagData: {} // 瀛樺偍鏍囩鏁版嵁鐨勫璞�
-  },
+  // state: {
+  //   tagData: {} // 瀛樺偍鏍囩鏁版嵁鐨勫璞�
+  // },
   mutations: {
     // 鏇存柊鏍囩鏁版嵁
     updateTagData(state, payload) {
diff --git a/CanadaMes-ui/src/views/Electrical/Action.vue b/CanadaMes-ui/src/views/Electrical/Action.vue
index fa5270b..ce204d6 100644
--- a/CanadaMes-ui/src/views/Electrical/Action.vue
+++ b/CanadaMes-ui/src/views/Electrical/Action.vue
@@ -139,6 +139,7 @@
           }
 
           let obj = JSON.parse(msg.data);
+          if (obj.params ){
           this.record.params[0] = obj.params[0];
 
           for (let a = 0; a <= this.record.params[0].length - 1; a++) {
@@ -148,7 +149,7 @@
               this.record.xyData[a].value = this.record.params[0][a].toString();
             }
           }
-
+        }
           // console.log(this.record.xyData);
           this.$forceUpdate();
         };
@@ -181,7 +182,7 @@
 </script>
  
  
-<style>
+<style scoped>
 .kuai_div {
   /* width: 30%; */
   margin-bottom: 30px;
diff --git a/CanadaMes-ui/src/views/Electrical/Parameter.vue b/CanadaMes-ui/src/views/Electrical/Parameter.vue
index 2d71729..40c48ee 100644
--- a/CanadaMes-ui/src/views/Electrical/Parameter.vue
+++ b/CanadaMes-ui/src/views/Electrical/Parameter.vue
@@ -102,13 +102,23 @@
           }
 
           let obj = JSON.parse(msg.data);
+
+
+          if (obj.params && obj.state){
+
+
+       
+
           this.record.params[0] = obj.params[0];
           this.record.state = obj.state[0];
+          if (obj.state && obj.state.length > 0) {
+  let isButtonDisabled = this.record.state.includes(1);
+  this.isButtonDisabled = isButtonDisabled;
 
-          let isButtonDisabled = this.record.state.includes(1);
+        
           // 鍒ゆ柇state涓槸鍚﹀瓨鍦�1
           //console.log(isButtonDisabled)
-          this.isButtonDisabled = isButtonDisabled; // 灏嗗垽鏂粨鏋滀繚瀛樺埌鍙橀噺isButtonDisabled涓�
+         // 灏嗗垽鏂粨鏋滀繚瀛樺埌鍙橀噺isButtonDisabled涓�
 
           for (let a = 0; a <= this.record.params[0].length - 1; a++) {
             if (!this.record.xyData[a]) {
@@ -117,7 +127,8 @@
               this.record.xyData[a].value = this.record.params[0][a];
             }
           }
-
+        }
+      }
           //console.log(this.record.xyData);
           this.$forceUpdate();
         };
@@ -145,7 +156,7 @@
 };
 </script>
 
-<style>
+<style scoped>
 .kuai_div {
   width: calc(100% / 2);
   margin-bottom: 15px;
@@ -153,6 +164,7 @@
 
 .el-input__inner {
   border: 1px solid black;
+  border: none;
 }
 
 .in_mc {
@@ -162,7 +174,7 @@
 
 .blue-button {
   background-color: skyblue;
-  color: #fff;
+ 
 }
 #btn_div {
   width: 100%;
diff --git a/CanadaMes-ui/src/views/Electrical/Sign.vue b/CanadaMes-ui/src/views/Electrical/Sign.vue
index c73308f..11e52a9 100644
--- a/CanadaMes-ui/src/views/Electrical/Sign.vue
+++ b/CanadaMes-ui/src/views/Electrical/Sign.vue
@@ -225,7 +225,7 @@
 
 </script>
 
-<style>
+<style >
 * {
   margin: 0;
   padding: 0;
diff --git a/CanadaMes-ui/src/views/Electrical/State.vue b/CanadaMes-ui/src/views/Electrical/State.vue
index 7098e1b..fdf7dd0 100644
--- a/CanadaMes-ui/src/views/Electrical/State.vue
+++ b/CanadaMes-ui/src/views/Electrical/State.vue
@@ -16,7 +16,7 @@
     <el-form label-width="100px" style="display: flex;flex-wrap: wrap;" :model="messagepack.data">
 
       <div class="kuai_div" v-for="item in this.record.xyData" :key="item.name">
-        <el-input style="width: 280px;" class="in_mc" v-model="item.name"></el-input>
+        <el-input style="width: 280px;" class="in_mc" v-model="item.name" readonly></el-input>
         <el-input v-model="item.value" readonly="readonly" style="width: 90px;"></el-input>
       </div>
 
@@ -151,11 +151,11 @@
 
 </script>
 
-<style>
-* {
+<style scoped>
+/* * {
   margin: 0px;
   padding: 0px;
-}
+} */
 
 .kuai_div {
   width: 30%;
diff --git a/CanadaMes-ui/src/views/Electrical/alarm.vue b/CanadaMes-ui/src/views/Electrical/alarm.vue
index 378a61d..a56d009 100644
--- a/CanadaMes-ui/src/views/Electrical/alarm.vue
+++ b/CanadaMes-ui/src/views/Electrical/alarm.vue
@@ -211,7 +211,7 @@
 </script>
 
 
-<style>
+<style >
 .kuai_div {
   /* width: 30%; */
   margin-bottom: 30px;
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index c2448cd..601989b 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -79,7 +79,7 @@
     margin: 0 auto;
     background-repeat: no-repeat;
     /* background-size: 100% 100%; */
-    background-size: 1660px 560px;
+    background-size: 1660px 560px  ;
     background-attachment: local;
     width: 1660px;
 }
@@ -590,6 +590,9 @@
                     OutByGlassID(glassid).then(res => {
                         if (res.data.message3 == 200) {
                             this.$message.success(this.$t('Operation successful'));
+                        } 
+                        else if (res.data.message2 == 300) {
+                            this.$message.success(this.$t('There is no such grid'));
                         }
                     });
                 } else {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
index 92217b9..1e678c9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -1,6 +1,7 @@
 package com.example.springboot.component;
 
 import java.sql.SQLException;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,6 +10,7 @@
 import com.example.springboot.service.SpianService;
 import com.example.springboot.entity.Glass;
 import com.example.springboot.mapper.AlarmMapper;
+import com.example.springboot.mapper.SpianMapper;
 
 public class PlcHold extends Thread {
 
@@ -16,7 +18,7 @@
 
   @Autowired
   private JdbcConnections jdbcConnections;
-
+  private SpianMapper spianMapper;
   private SpianService spianService;
 
 
@@ -32,10 +34,13 @@
         e.printStackTrace();
       }
       spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
-      
+      spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
       jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+      
+      //鏍规嵁鐜荤拑id鑾峰彇璁㈠崟鍙�
       try {
           Glass glass=jdbcConnections.selectGlass(112);
+
           //System.out.println(glass.getOrderId());
         } catch (SQLException e) {
           // TODO Auto-generated catch block
@@ -43,9 +48,11 @@
         }
 
     
+      //spianService.selectout("11");  
       //鍒ゆ柇杩涚墖璇锋眰 
        List<Short> datas1List=S7control.getinstance().ReadWord("DB106.24", 1);
        List<Short> datas1ListState=S7control.getinstance().ReadWord("DB106.8", 1);
+
       if(datas1List!=null &&datas1ListState!=null){
           //鑾峰彇prc杩涚墖璇锋眰鏁版嵁
        boolean exist = datas1List.contains((short)1); 
@@ -61,16 +68,36 @@
         for(Short list1:datas1ListID){
 
             spianService.selectAll((short)list1);
+         }
+        }
+        //System.out.println(exist);
+       }
+     }
+
+     List<Short> outlist=S7control.getinstance().ReadWord("DB106.20", 1); //鍑虹墖杞︾姸鎬�
+     List<Short> outlist2=S7control.getinstance().ReadWord("DB106.20", 1); //鍑虹墖浠诲姟瀹屾垚
+
+
+     List<Short>ceshi1=new ArrayList<Short>();//鍑虹墖杞︾姸鎬�
+     List<Short>ceshi2=new ArrayList<Short>();//鍑虹墖浠诲姟瀹屾垚
+     ceshi1.add((short)0);
+     ceshi2.add((short)1);
+     if(ceshi1!=null && ceshi2!=null){
+      //鍒ゆ柇鎸夎鍗曞嚭鐗�
+      boolean outstate = ceshi1.contains((short)0); 
+      boolean outstate2 = ceshi1.contains((short)1); 
+      if(outstate=true){ //鍑虹墖杞︾姸鎬佺┖闂叉椂
+        if(outstate2=true){  //鍑虹墖杞︿换鍔″畬鎴愭椂
+           String orderid=spianMapper.SelectOrderout();
+           if(orderid!=null){
+           spianService.selectout(orderid);
+        }
+       
         }
       }
-
+      
+     }
      
-        
-        
-        //System.out.println(exist);
-      }
-    }
-            
           
 
       
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java
index 865c95f..3113709 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcParameter.java
@@ -15,13 +15,13 @@
                 e.printStackTrace();
             }
 
-            List<Short> arraylist = S7control.getinstance().ReadWord("DB100.DBW0", 12);
-            List<Short> state = S7control.getinstance().ReadWord("DB103.DBW0", 10);
+            List<Short> arraylist = S7control.getinstance().ReadWord("DB100.0", 12);
+            List<Short> state = S7control.getinstance().ReadWord("DB103.0", 10);
             JSONObject jsonObject = new JSONObject();
-//            new short[]{65545,65545, 65545, 65545, 65545, 65545, 65545, 65545, 65545,65545, 65545, 65545}
-            //            new short[]{65545,65545, 65545, 65545, 65545, 65545, 65545, 65545, 65545, 65545}
+//            new short[]{1,1, 1, 1, 1, 1, 2, 33, 2,3, 4, 5}
+            //            new short[]{0,0, 0, 0, 0, 0, 0, 0, 0, 0}
             jsonObject.append("params",  arraylist );
-            jsonObject.append("state",  state);
+            jsonObject.append("state",   state);
             WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Parameter");
             if (sendwServer != null) {
                 sendwServer.sendMessage(jsonObject.toString());
@@ -31,7 +31,7 @@
             if (webSocketServer != null) {
                 List<String> messages = webSocketServer.getMessages();
 
-                String addressList = "DB100.DBW0";
+                String addressList = "DB100.0";
 
                 if (!messages.isEmpty()) {
                     // 灏嗘渶鍚庝竴涓秷鎭浆鎹负 short 绫诲瀷鐨勫垪琛�
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java
index cc0f805..50ab8a9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcaction.java
@@ -21,7 +21,7 @@
 //      JSONObject jsonObject = new JSONObject();
 //      jsonObject.append("params", new short[]{1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0});
 
- List<Boolean> paramlist = S7control.getinstance().ReadBits("DB2.DBX0.0 ", 26);
+ List<Boolean> paramlist = S7control.getinstance().ReadBits("DB2.0.0 ", 26);
 //      Boolean[] values = {true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,true, true,false, true};
 //      List<Boolean> paramlist = new ArrayList<>(Arrays.asList(values));
       if (paramlist == null) {
@@ -47,7 +47,7 @@
 
           List<String> messages = webSocketServer.getMessages();
 
-          String addressList = "DB100.DBW0";
+          String addressList = "DB100.0";
 
           if (!messages.isEmpty()) {
             // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
index 5942a98..30ff968 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -10,15 +10,15 @@
 public class S7control {
 
     S7PLC s7PLC; // PLC閫氳绫诲疄渚�
-    private EPlcType plcType = EPlcType.S1200; // 瑗块棬瀛怭LC绫诲瀷
-    private String ip = "127.0.0.1"; // plc ip鍦板潃
-    private int port = 21; // plc 绔彛鍙�
+    private EPlcType plcType = EPlcType.S1500; // 瑗块棬瀛怭LC绫诲瀷
+    private String ip = "192.168.10.1"; // plc ip鍦板潃
+    private int port = 102; // plc 绔彛鍙�
 
     private static volatile S7control instance = null;
 
     private S7control() {
         if (s7PLC == null)
-            s7PLC = new S7PLC(plcType, ip, port);
+            s7PLC = new S7PLC(plcType, ip, port,0,0);
     }
 
     // 鍗曚緥妯″紡 鑾峰彇绫荤殑鍞竴瀹炰緥
@@ -42,24 +42,26 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓獁ord
-     * 
+     *
      * @param address 鍦板潃
      * @param data    word鐨勫��
      */
     public void WriteWord(String address, short data) {
-        if (!s7PLC.checkConnected())
+        if (s7PLC==null)
+        {
             return;
+        }
         s7PLC.writeInt16(address, data);
     }
 
     /**
      * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜word
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
     public void WriteWord(String address, List<Short> datas) {
-        if (!s7PLC.checkConnected())
+        if (s7PLC==null)
             return;
         // s7PLC.write(address, data);
         List<String> addresslist = GetAddressList(address, datas.size(), 16);
@@ -72,12 +74,12 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆澶氫釜word
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
     public void WriteWord(List<String> address, List<Short> datas) {
-        if (!s7PLC.checkConnected())
+        if (s7PLC==null)
             return;
         // s7PLC.write(address, data);
 
@@ -90,24 +92,24 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 鍐欏叆涓�涓狟it
-     * 
+     *
      * @param address 鍦板潃
      * @param data    Bit鐨勫��
      */
     public void WriteBit(String address, Boolean data) {
-        if (!s7PLC.checkConnected())
+        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.checkConnected())
+        if (s7PLC==null)
             return;
         // s7PLC.write(address, data);
 
@@ -120,12 +122,12 @@
 
     /**
      * 浠庢煇鍦板潃杩炵画 鍐欏叆澶氫釜bit
-     * 
+     *
      * @param address 鍦板潃
      * @param datas   word鐨勫��
      */
     public void WriteBit(String address, List<Boolean> datas) {
-        if (!s7PLC.checkConnected())
+        if (s7PLC==null)
             return;
         // s7PLC.write(address, data);
         List<String> addresslist = GetAddressList(address, datas.size(), 1);
@@ -138,26 +140,26 @@
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     * 
+     *
      * @param address 鍦板潃
      * @return 缁撴灉
      */
     public List<Short> ReadWord(List<String> address) {
-        if (!s7PLC.checkConnected())
-            return null;
+        if (s7PLC==null)
+            return new ArrayList<Short>();
         return s7PLC.readInt16(address);
     }
 
     /**
      * 鎸夋寚瀹氱殑鍦板潃 璇诲彇word缁撴灉闆�
-     * 
+     *
      * @param address 鍦板潃
      * @param count   杩炵画璇诲灏戜釜word
      * @return 缁撴灉
      */
     public List<Short> ReadWord(String address, int count) {
-        if (!s7PLC.checkConnected())
-            return null;
+        if (s7PLC==null)
+            return new ArrayList<Short>();
 
         List<String> addresslist = GetAddressList(address, count, 16);
         return s7PLC.readInt16(addresslist);
@@ -170,8 +172,8 @@
      * @return Boolean缁撴灉
      */
     public List<Boolean> ReadBits(List<String> addresslist) {
-        if (!s7PLC.checkConnected())
-            return null;
+        if (s7PLC==null)
+            return new ArrayList<Boolean>();
         return s7PLC.readBoolean(addresslist);
     }
 
@@ -183,14 +185,14 @@
      * @return Boolean缁撴灉
      */
     public List<Boolean> ReadBits(String address, int count) {
-        if (!s7PLC.checkConnected())
-            return null;
+        if (s7PLC==null)
+            return new ArrayList<Boolean>();
         List<String> addresslist = GetAddressList(address, count, 1);
         return s7PLC.readBoolean(addresslist);
     }
 
     private List<String> GetAddressList(String address, int count, int addedbit) {
-        List<String> addresslist = new ArrayList<>();
+        List<String> addresslist = new ArrayList<String>();
 
         String[] stringdatas = address.split(".");
         if (stringdatas.length < 2 || !address.startsWith("DB"))
@@ -216,4 +218,4 @@
         }
         return addresslist;
     }
-}
+}
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
index 01b46fd..4636ae8 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -79,12 +79,12 @@
             map.put("message2", "500");
         } else {
             // 璋冪敤浼嶄笂鐗囧嚱鏁�
-            short results= spianService.selectAll(glassid);
-            if(results==200){
+            short results = spianService.selectAll(glassid);
+            if (results == 200) {
                 map.put("message2", "200");
-            }else if(results==300){
+            } else if (results == 300) {
                 map.put("message2", "300");
-            }else if(results==400){
+            } else if (results == 400) {
                 map.put("message2", "400");
             }
         }
@@ -96,9 +96,9 @@
         Map<String, Object> map = new HashMap<>();
         homeMapper.UpdateTask(types, shelfrack);
         if (types == 0) {
-            homeMapper.UpdateCageTask1(shelfrack,glassid);
+            homeMapper.UpdateCageTask1(shelfrack, glassid);
         } else {
-            homeMapper.UpdateCageTask2(shelfrack,glassid);
+            homeMapper.UpdateCageTask2(shelfrack, glassid);
         }
         map.put("message3", "200");
         return Result.success(map);
@@ -130,10 +130,19 @@
 
     @GetMapping("/OutByGlassID")
     public Result OutByGlassID(String glassid) {
-        spianService.selectout2(glassid);
-        
+       
+
         Map<String, Object> map = new HashMap<>();
-        map.put("message3", "200");
+        // 璋冪敤浼嶄笂鐗囧嚱鏁�
+        Short results = spianService.selectout2(glassid);
+        if (results == 200) {
+            map.put("message2", "200");
+        } else if (results == 300) {
+            map.put("message2", "300");
+        } else if (results == 400) {
+            map.put("message2", "400");
+        }
+
         return Result.success(map);
     }
 
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
index dd6690d..ae9b6a6 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java
@@ -65,15 +65,22 @@
     void UpdataAddCage1(double width,int cage,int cell);
     //淇敼鍚岀瀛愭牸瀛愬搴�(鍑虹墖)
      @Update("update storage_cage set width=width+#{width} where   cage=#{cage} and cell=#{cell};")
-    void UpdataOutCage(double width,int cage,int cell);
+    void UpdataOutCage1(double width,int cage,int cell);
     //璋冩嫧鏇存崲绗煎瓙淇℃伅
-    @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.width=a.width-b.glasswidth,a.state=1 where a.id=#{id1}")
+    @Update("update storage_cage as a,(select*from storage_cage b where b.cage=#{cage} and b.cell=#{cell} and b.tier=2)as b set a.glass_id=b.glass_id,a.order_id=b.order_id,a.state=1 where a.id=#{id1}")
     void UpdateDBCage(int id1,int cage,int cell);
     // @Insert("insert into user(name, date, address, user_no) values (#{name}, #{date}, #{address}, #{userNo})")
     // void insert (Spian spian);
     //鏂板浠诲姟琛�
-    @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`, `start_time`, `finsh_time`) VALUES (#{task_type},#{task_state},#{shelf_rack},#{load_rack},NOW(),NOW());")
-    void Inserttask(int task_type,int task_state,int shelf_rack,int load_rack);
-
-    void UpdataAddCage(double glasswidth, int cages, int cells);
+    @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now());")
+    void Inserttask(int tasktype,int taskstate,int shelfrack,int loadrack);
+    //淇敼浠诲姟琛�
+    @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;")
+    void Updatetask(int state,int type);
+    //淇敼浠诲姟琛�
+    @Update("update storage_task set task_state=1 where (task_type=1 or task_type=2) and task_state=0;")
+    void UpdatetaskOut();
+    //鏌ヨ鎸夎鍗曞嚭鐗�
+    @Select("select order_id state from order_out where state=0")
+    String  SelectOrderout();
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java b/springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java
index 0f670ca..5a5c756 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/JdbcConnections.java
@@ -34,7 +34,7 @@
          while (rs.next()) {
 			glass.setOrderId(rs.getShort("orderid"));
          }
-
+		 conn.close();
          return glass;
     }
 	/**
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
index 4e5c075..8b4729a 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java
@@ -14,323 +14,356 @@
 
 @Service
 public class SpianService {
-  @Autowired
-  private SpianMapper spianMapper;
+    @Autowired
+    private SpianMapper spianMapper;
 
-  // @GetMapping("/all2")
-  public Result selectout(String orderid) {
-    // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
-    List<String> adddresslist = new ArrayList<>();
-    adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
-    adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃�
-    adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟
-    adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔�
-    List<Short> datas = new ArrayList<>();
-    // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
-    StorageCage cageout = spianMapper.selectOut(orderid);
-    int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
-    int cell = cageout.getCell();// 鍑虹墖鏍煎彿
-    int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
-    int prcid = cageout.getPrcId();// prcid
-    int prcid2;
-    int ids;
-    int cages;
-    int cells;
-    double glasswidth = cageout.getGlassWidth();
-    // 鍒ゆ柇鐜荤拑鍐呭鐗�
-    if (tier == 2) {
-      // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
-      // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-      spianMapper.UpdataOutCage(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-      spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
+    // @GetMapping("/all2")
+    public Result selectout(String orderid) {
+        
+        spianMapper.UpdatetaskOut(); //瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰皟搴︿换鍔�
+        // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
+        List<String> adddresslist = new ArrayList<>();
+        adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
+        adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃�
+        adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟
+        adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔�
+        List<Short> datas = new ArrayList<>();
+        // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
+        StorageCage cageout = spianMapper.selectOut(orderid);
+        if(cageout==null){
+           return Result.success("200");
+        }
+        
+       
+        
 
-      datas.add((short) prcid);
-      datas.add((short) 1000);
-      datas.add((short) 1);
-      datas.add((short) 1);
-      S7control.getinstance().WriteWord(adddresslist, datas);
-      return Result.success(datas);
-    } else {
-      // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
-      int state = spianMapper.selectGlassState(cage, cell);
-      // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
-      if (state == 0) {
-        spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
-        datas.add((short) prcid);
-        datas.add((short) 1000);
-        datas.add((short) 1);
-        datas.add((short) 1);
-        S7control.getinstance().WriteWord(adddresslist, datas);
-        return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖");
-      } else {
-        // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
-        if (cage < 6) {
-          StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
-          if (cagecell == null) {
-            return Result.success(cagecell);
-          }
-          // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
-          prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
-          ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
-          cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
-          cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
-          // 鏇存崲鐜荤拑鐨勭瀛�
-          spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
-          spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-          spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
-          spianMapper.UpdataOutCage(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-          // 濉叆璋冩嫧鏁版嵁
-          datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
-          datas.add((short) prcid2);
-          datas.add((short) 2);
-          datas.add((short) 1);
-          // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-          // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁
-          datas.add((short) prcid);
-          datas.add((short) 1000);
-          datas.add((short) 1);
-          datas.add((short) 1);
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
+        int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
+        int cell = cageout.getCell();// 鍑虹墖鏍煎彿
+        int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
+        int prcid = cageout.getPrcId();// prcid
+        int prcid2;
+        int ids;
+        int cages;
+        int cells;
+        double glasswidth = cageout.getGlassWidth();
+        // 鍒ゆ柇鐜荤拑鍐呭鐗�
+        if (tier == 2) {
+            // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
+            // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
+            datas.add((short) prcid);
+            datas.add((short) 1000);
+            datas.add((short) 1);
+            datas.add((short) 1);
+               
+            spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+            spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+           
+            S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+            S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+            S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+            return Result.success(datas);//缁撴潫
+        } else {
+            // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
+            int state = spianMapper.selectGlassState(cage, cell);
+            // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
+            if (state == 0) {
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
+                datas.add((short) prcid);
+                datas.add((short) 1000);
+                datas.add((short) 1);
+                datas.add((short) 1);
+                spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+                spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+                S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+                return Result.success(datas);//缁撴潫
 
-          return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+            } else {
+                // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
+                if (cage < 6) {
+                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
+                    if (cagecell == null) {
+                        return Result.success(cagecell);
+                    }
+                    // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
+                    prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
+                    ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
+                                          
+                    
+                   
+                 
+                    // 濉叆璋冩嫧鏁版嵁
+                    datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
+                    datas.add((short) prcid2);
+                    datas.add((short) 2);
+                    datas.add((short) 1);
+                   // 鏇存崲鐜荤拑鐨勭瀛�
+                   spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+                   spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                   spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+                   spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+                    // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�          
+                    return Result.success(cagecell); //缁撴潫
 
-        } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
-          StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
-          if (cagecell == null) {
-            return Result.success(cagecell);
-          }
-          // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
-          prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
-          ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
-          cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
-          cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
-          // 濉叆璋冩嫧鏁版嵁
-          datas.add((short) prcid);
-          datas.add((short) prcid2);
-          datas.add((short) 2);
-          datas.add((short) 1);
-          // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹�
-          spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
-          spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-          spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
-          spianMapper.UpdataOutCage(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-          // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-          // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�
-          // 濉叆鍑虹墖鏁版嵁
-          datas.add((short) prcid);
-          datas.add((short) 1000);
-          datas.add((short) 1);
-          datas.add((short) 1);
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+                } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
+                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
+                    if (cagecell == null) {
+                        return Result.success(cagecell);
+                    }
+                    // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
+                    prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
+                    ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
+                    // 濉叆璋冩嫧鏁版嵁
+                    datas.add((short) prcid);
+                    datas.add((short) prcid2);
+                    datas.add((short) 2);
+                    datas.add((short) 1);
+                    spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+                    spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+                    // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�             
+                     return Result.success(cagecell); //缁撴潫
 
+                }
+
+            }
         }
 
-      }
     }
 
-  }
+    // @GetMapping("/all")
+    // 杩涚墖浠诲姟,浼犺鍗昳d
+    // 鎸夎鍗曚紭鍏堣繘鐗�
+    public Short selectAll(Short glassid) {
 
-  // @GetMapping("/all")
-  // 杩涚墖浠诲姟,浼犺鍗昳d
-  // 鎸夎鍗曚紭鍏堣繘鐗�
-  public Short selectAll(Short glassid) {
-
-    int cage1;
-    int cells;
-    int ids;
-    int prcid;
-    int tiers;
-    int prctier;
-
-    Glass glasslist = spianMapper.selectGlass(glassid);
-    if (glasslist == null) {
-      return (300);
-    }
-    double widths = glasslist.getWidth();
-    Short orderids = glasslist.getOrderId();
-
-    List<String> adddresslist = new ArrayList<>();
-    adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃�
-    adddresslist.add("DB105.2");// 杩涚墖杞︾洰鏍囦綅缃�
-    adddresslist.add("DB105.4");// 杩涚墖绗肩幓鐠冩暟
-    adddresslist.add("DB105.12");// 杩涚墖杞﹀惎鍔� 1涓哄惎鍔�
-    List<Short> datas = new ArrayList<>();
-
-    // String orderid="A001";
-    // 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
-    List<StorageCage> storageCage = spianMapper.selectAll(orderids);
-    if (storageCage == null) {
-      return (400);
-    }
-    for (StorageCage storageCage2 : storageCage) {
-      // 淇濆瓨璁㈠崟浼樺厛椤哄簭绗煎瓙鍙�
-      cage1 = storageCage2.getCage();
-      // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁�
-      int cages = spianMapper.selectCage(cage1);
-      // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍�
-      StorageCage cages1 = spianMapper.selectCage1(cage1, widths);
-      if (cages1 != null) {
-        ids = cages1.getId();// 鏁版嵁搴揑D
-        tiers = cages1.getTier();// 鍐呭鐗�
-        cells = cages1.getCell();// 鏍煎瓙鍙�
-        prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
-        prctier = spianMapper.selectsum(cage1, cells);// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁�
-        // 鏈夊悎閫傜┖鏍兼椂杩涚墖
-        if (cages > 1 && cages1.getTier() != null) {
-          // 鎵ц杩涚墖
-          datas.add((short) 1000);
-          datas.add((short) prcid);
-          datas.add((short) prctier);
-          datas.add((short) 1);
-          // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
-          spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 1);
-          spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
-          S7control.getinstance().WriteWord(adddresslist, datas);
-
-          return (200);
+        int cage1;
+        int cells;
+        int ids;
+        int prcid;
+        int tiers;
+        int prctier;
+        
+        
+        Glass glasslist = spianMapper.selectGlass(glassid);
+        if(glasslist==null){
+          return (300);
         }
-      }
+        double widths = glasslist.getWidth();
+        Short orderids = glasslist.getOrderId();
 
-    }
-    return (400);
+        List<String> adddresslist = new ArrayList<>();
+        adddresslist.add("DB105.0");// 杩涚墖杞﹁捣濮嬩綅缃�
+        adddresslist.add("DB105.2");// 杩涚墖杞︾洰鏍囦綅缃�
+        adddresslist.add("DB105.4");// 杩涚墖绗肩幓鐠冩暟
+        adddresslist.add("DB105.12");// 杩涚墖杞﹀惎鍔� 1涓哄惎鍔�
+        List<Short> datas = new ArrayList<>();
 
-  }
+        // String orderid="A001";
+        // 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
+        List<StorageCage> storageCage = spianMapper.selectAll(orderids);
+        if (storageCage == null) {
+            return (400);
+        }
+        for (StorageCage storageCage2 : storageCage) {
+            // 淇濆瓨璁㈠崟浼樺厛椤哄簭绗煎瓙鍙�
+            cage1 = storageCage2.getCage();
+            // 鍒ゆ柇璇ョ瀛愬彿鐩搁偦鏈�澶х殑绌烘牸鏁�
+            int cages = spianMapper.selectCage(cage1);
+            // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍�
+            StorageCage cages1 = spianMapper.selectCage1(cage1, widths);
+            if (cages1 != null) {
+                ids = cages1.getId();// 鏁版嵁搴揑D
+                tiers = cages1.getTier();// 鍐呭鐗�
+                cells = cages1.getCell();// 鏍煎瓙鍙�
+                prcid = cages1.getPrcId();// 浼犵粰prc鐨勭洰鏍囧湴id
+                
+                
+               if (glasslist == null) {
+                    return (300);
+                }
+                spianMapper.Inserttask(0, 0, 1000, ids);//鏂板浠诲姟
+                prctier = spianMapper.selectsum(cage1, cells);// 浼犵粰prc鐨勬牸瀛愬唴鐜荤拑鏁�
+                // 鏈夊悎閫傜┖鏍兼椂杩涚墖
+                if (cages > 1 && cages1.getTier() != null) {
+                    // 鎵ц杩涚墖
+                    datas.add((short) 1000);
+                    datas.add((short) prcid);
+                    datas.add((short) prctier);
+                    datas.add((short) 1);
+                    // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
+                    spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 1);
+                    spianMapper.UpdataAddCage1(widths, cage1, cells);//鍑忓皯鏍煎瓙瀹藉害
+                    spianMapper.Updatetask(1, 0);//瀹屾垚浠诲姟
+                    S7control.getinstance().WriteWord(adddresslist, datas);
 
-  // @GetMapping("/all2")
-  public Result selectout2(String glassid) {
-    // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
-    List<String> adddresslist = new ArrayList<>();
-    adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
-    adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃�
-    adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟
-    adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔�
-    List<Short> datas = new ArrayList<>();
-    // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
-    StorageCage cageout = spianMapper.selectOut2(glassid);
-    int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
-    int cell = cageout.getCell();// 鍑虹墖鏍煎彿
-    int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
-    int prcid = cageout.getPrcId();// prcid
-    int prcid2;
-    int ids;
-    int cages;
-    int cells;
-    double glasswidth = cageout.getGlassWidth();
-    // 鍒ゆ柇鐜荤拑鍐呭鐗�
-    if (tier == 2) {
-      // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
-      // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-      spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
-      spianMapper.UpdataOutCage(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-      datas.add((short) prcid);
-      datas.add((short) 1000);
-      datas.add((short) 1);
-      datas.add((short) 1);
-      S7control.getinstance().WriteWord(adddresslist, datas);
-      return Result.success(datas);
-    } else {
-      // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
-      int state = spianMapper.selectGlassState(cage, cell);
-      // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
-      if (state == 0) {
-        return Result.success("鐘舵�佷负0,鐩存帴鍑虹墖");
-      } else {
-        // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
-        if (cage < 6) {
-          StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
-          if (cagecell == null) {
-            return Result.success(cagecell);
-          }
-          // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
-          prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
-          ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
-          cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
-          cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
-          // 鏇存崲鐜荤拑鐨勭瀛�
-          spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
-          spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-          spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
-          spianMapper.UpdataOutCage(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-          // 濉叆璋冩嫧鏁版嵁
-          datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
-          datas.add((short) prcid2);
-          datas.add((short) 2);
-          datas.add((short) 1);
-          // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-          // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�,濉叆鍑虹墖鏁版嵁
-          datas.add((short) prcid);
-          datas.add((short) 1000);
-          datas.add((short) 1);
-          datas.add((short) 1);
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
-
-          return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
-
-        } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
-          StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
-          if (cagecell == null) {
-            return Result.success(cagecell);
-          }
-          // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
-          prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
-          ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
-          cages = cagecell.getCage();// 璋冩嫧鐩爣浣嶇瀛�
-          cells = cagecell.getCell();// 璋冩嫧鐩爣浣嶆牸瀛�
-
-          // 濉叆璋冩嫧鏁版嵁
-          datas.add((short) prcid);
-          datas.add((short) prcid2);
-          datas.add((short) 2);
-          datas.add((short) 1);
-          // 杞Щ鍘熻皟鎷ㄦ牸瀛愭暟鎹�
-          spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-          spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
-          spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎鍘熸牸瀛愭暟鎹�
-          spianMapper.UpdataOutCage(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-          // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          datas.clear(); // 娓呯┖鏁翠釜鍒楄〃
-          // 鍒ゆ柇璋冩嫧缁撴潫鍚庡啀娆″嚭鐗�
-          // 濉叆鍑虹墖鏁版嵁
-          datas.add((short) prcid);
-          datas.add((short) 1000);
-          datas.add((short) 1);
-          datas.add((short) 1);
-          S7control.getinstance().WriteWord(adddresslist, datas);
-          return Result.success(cagecell); // 璋冩嫧浣嶇疆鐨勫弬鏁板唴瀹�
+                    return (200);
+                }
+            }
 
         }
+        return (400);
 
-      }
     }
 
-  }
+    // @GetMapping("/all2")
+    public Short selectout2(String glassid) {
+        // 瀹氫箟PRC鏁版嵁浼犻�佹暟缁�
+        List<String> adddresslist = new ArrayList<>();
+        adddresslist.add("DB105.6");// 鍑虹墖杞﹁捣濮嬩綅缃�
+        adddresslist.add("DB105.8");// 鍑虹墖杞︾洰鏍囦綅缃�
+        adddresslist.add("DB105.10");// 鍑虹墖绗肩幓鐠冩暟
+        adddresslist.add("DB105.14");// 鍑虹墖杞﹀惎鍔� 1涓哄惎鍔�
+        List<Short> datas = new ArrayList<>();
+        // 鑾峰彇浼樺厛鍑虹墖鐨勪綅缃�
+        StorageCage cageout = spianMapper.selectOut2(glassid);
+        if(cageout==null){
+           return (300);
+        }
+        
+       
+        
 
-  /*** 淇敼鐢ㄦ埛* @throws SQLException */
-  // public static int updateUser(Glass user) throws SQLException {conn =
-  // getConn();
-  // String sql = "update t_user set name=?,gender=?,age=?,score=?"+ " where
-  // id=?";ps = conn.prepareStatement(sql);
-  // ps.setString(1, user.getName());ps.setString(2, user.getGender());
-  // ps.setInt(3, user.getAge());ps.setDouble(4, user.getScore());ps.setInt(5,
-  // user.getId());return ps.executeUpdate();}
-  // /*** 澧炲姞鐢ㄦ埛* @throws SQLException */
-  // public static int insertUser(User user) throws SQLException {
-  // conn = getConn();
-  // String sql = "insert into t_user(name,gender,age,score)"+ " values(?,?,?,?)";
-  // ps = conn.prepareStatement(sql);ps.setString(1,
-  // user.getName());ps.setString(2, user.getGender());
-  // ps.setInt(3, user.getAge());ps.setDouble(4, user.getScore());return
-  // ps.executeUpdate();
-  // }
+        int cage = cageout.getCage(); // 鍌ㄥ瓨鍑虹墖浣嶇疆锛岀瀛愭牸瀛愬嚑鍙风幓鐠�
+        int cell = cageout.getCell();// 鍑虹墖鏍煎彿
+        int tier = cageout.getTier();// 鍑虹墖鍐呭鐗�
+        int prcid = cageout.getPrcId();// prcid
+        int prcid2;
+        int ids;
+        int cages;
+        int cells;
+        double glasswidth = cageout.getGlassWidth();
+        // 鍒ゆ柇鐜荤拑鍐呭鐗�
+        if (tier == 2) {
+            // 鍒ゆ柇鐜荤拑鍙洿鎺ュ嚭鐗囨椂
+            // 淇敼鏁版嵁搴撶瀛愯〃(鍑虹墖)
+            datas.add((short) prcid);
+            datas.add((short) 1000);
+            datas.add((short) 1);
+            datas.add((short) 1);
+               
+            spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+            spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+            spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+           
+            S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+            S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+            S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+            return (200);//缁撴潫
+        } else {
+            // 鑾峰彇鏍煎瓙鐨勭幓鐠冩暟閲�
+            int state = spianMapper.selectGlassState(cage, cell);
+            // 鍒ゆ柇鍐呯墖鏄惁闇�瑕佽皟鎷�
+            if (state == 0) {
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);
+                datas.add((short) prcid);
+                datas.add((short) 1000);
+                datas.add((short) 1);
+                datas.add((short) 1);
+                spianMapper.Inserttask(1, 0,cageout.getId(),1000 );//鏂板浠诲姟
+                spianMapper.UpdataOutCage1(glasswidth, cage, cell);//澧炲姞鍘熸牸瀛愬搴�
+                spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, tier, 0);//娓呴櫎鏍煎瓙鐜荤拑淇℃伅
+                S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�
+                //spianMapper.Updatetask(1, 1);//瀹屾垚浠诲姟
+                return (200);//缁撴潫
+
+            } else {
+                // 鐜荤拑闇�瑕佽皟鎷ㄦ椂锛屽垽鏂睘浜庡摢涓崐鍖虹殑绗煎瓙
+                if (cage < 6) {
+                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 0, 6);
+                    if (cagecell == null) {
+                        return (300);
+                    }
+                    // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
+                    prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峆RCID
+                    ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
+                    
+                       
+                    
+                   
+                 
+                    // 濉叆璋冩嫧鏁版嵁
+                    datas.add((short) prcid);// 璋冩嫧澶栫墖璧峰浣嶇疆
+                    datas.add((short) prcid2);
+                    datas.add((short) 2);
+                    datas.add((short) 1);
+                   // 鏇存崲鐜荤拑鐨勭瀛�
+                   spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+                   spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                   spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+                   spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+                    // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�          
+                    return (200); //缁撴潫
+
+                } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
+                    StorageCage cagecell = spianMapper.selectGlassCage(cage, glasswidth, 5, 11);
+                    if (cagecell == null) {
+                        return (300);
+                    }
+                    // 鑾峰彇璋冩嫧浣嶇疆杩涜璋冩嫧
+                    prcid2 = cagecell.getPrcId();// 璋冩嫧鐩爣浣峱rcID
+                    ids = cagecell.getId();// 璋冩嫧鐩爣浣岻D
+                    cages=cagecell.getCage();//璋冩嫧鐩爣浣嶇瀛�
+                    cells=cagecell.getCell();//璋冩嫧鐩爣浣嶆牸瀛�
+                    // 濉叆璋冩嫧鏁版嵁
+                    datas.add((short) prcid);
+                    datas.add((short) prcid2);
+                    datas.add((short) 2);
+                    datas.add((short) 1);
+                    spianMapper.Inserttask(2, 0,cageout.getId(),ids );//鏂板璋冨害浠诲姟
+                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);//鍑忓皯鏂版牸瀛愬搴�
+                    spianMapper.UpdateDBCage(ids, cage, cell);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                    spianMapper.UpdataGlassCage("", "", glasswidth, cage, cell, 2, 0);// 娓呴櫎琚皟鎷ㄦ牸瀛愭暟鎹�
+                    // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
+                        S7control.getinstance().WriteWord("DB106.22", (short)0); //鍑虹墖浠诲姟瀹屾垚鏀规垚0
+                        S7control.getinstance().WriteWord("DB106.20", (short)1); //鍑虹墖杞︾姸鎬佹敼鎴愬繖纰�
+                        S7control.getinstance().WriteWord(adddresslist, datas);//娲惧彂鍑虹墖杞︿换鍔�             
+                     return (200);//缁撴潫
+
+                }
+            }
+        }
+
+    }
+
+    /*** 淇敼鐢ㄦ埛* @throws SQLException */
+    // public static int updateUser(Glass user) throws SQLException {conn =
+    // getConn();
+    // String sql = "update t_user set name=?,gender=?,age=?,score=?"+ " where
+    // id=?";ps = conn.prepareStatement(sql);
+    // ps.setString(1, user.getName());ps.setString(2, user.getGender());
+    // ps.setInt(3, user.getAge());ps.setDouble(4, user.getScore());ps.setInt(5,
+    // user.getId());return ps.executeUpdate();}
+    // /*** 澧炲姞鐢ㄦ埛* @throws SQLException */
+    // public static int insertUser(User user) throws SQLException {
+    // conn = getConn();
+    // String sql = "insert into t_user(name,gender,age,score)"+ " values(?,?,?,?)";
+    // ps = conn.prepareStatement(sql);ps.setString(1,
+    // user.getName());ps.setString(2, user.getGender());
+    // ps.setInt(3, user.getAge());ps.setDouble(4, user.getScore());return
+    // ps.executeUpdate();
+    // }
 
 }
+
diff --git a/springboot-vue3/src/main/resources/application.properties b/springboot-vue3/src/main/resources/application.properties
index dfc1dbb..92e61eb 100644
--- a/springboot-vue3/src/main/resources/application.properties
+++ b/springboot-vue3/src/main/resources/application.properties
@@ -9,7 +9,7 @@
 spring.datasource.url=jdbc:mysql://localhost:3306/canadames?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
 #\u6570\u636E\u5E93\u7528\u6237\u540D
 spring.datasource.username=root
-#\u6570\u636E\u5E93\u7528\u6237\u5BC6\u7801
+#\u6570\u636E\u5E93\u7528\u6237\u5BC6\u7801  
 spring.datasource.password=beibo.123/
 #\u6620\u5C04\u6587\u4EF6\u7684\u4F4D\u7F6E
 mybatis-plus.mapper-locations=classpath:com/example/springboot/mapper/*Mapper.xml
diff --git a/springboot-vue3/src/main/resources/sql/canadames.sql b/springboot-vue3/src/main/resources/sql/canadames.sql
index 09a2669..dadc176 100644
--- a/springboot-vue3/src/main/resources/sql/canadames.sql
+++ b/springboot-vue3/src/main/resources/sql/canadames.sql
@@ -1,17 +1,17 @@
 /*
  Navicat MySQL Data Transfer
 
- Source Server         : server-150
+ Source Server         : 鏈湴
  Source Server Type    : MySQL
- Source Server Version : 80019
- Source Host           : 10.153.19.150:3306
+ Source Server Version : 80022
+ Source Host           : localhost:3306
  Source Schema         : canadames
 
  Target Server Type    : MySQL
- Target Server Version : 80019
+ Target Server Version : 80022
  File Encoding         : 65001
 
- Date: 13/09/2023 09:48:14
+ Date: 14/09/2023 09:47:12
 */
 
 SET NAMES utf8mb4;
@@ -27,7 +27,7 @@
   `timeon` datetime(0) NULL DEFAULT NULL COMMENT '寮�濮嬫椂闂�',
   `endTime` datetime(0) NULL DEFAULT NULL COMMENT '缁撴潫鏃堕棿',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1338 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 1378 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of alarmmg
@@ -150,7 +150,7 @@
   `width` decimal(10, 2) NULL DEFAULT NULL,
   `height` decimal(10, 2) NULL DEFAULT NULL,
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of glass
@@ -203,7 +203,7 @@
   `order_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '璁㈠崟鍙�',
   `state` int NULL DEFAULT NULL COMMENT '鐘舵��(0锛氭寜姝よ鍗曞彿鍑虹墖锛�1缁撴潫鍑虹墖)',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of order_out
@@ -394,8 +394,8 @@
 INSERT INTO `role_permission` VALUES (69, 2, 26, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
 INSERT INTO `role_permission` VALUES (70, 2, 27, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
 INSERT INTO `role_permission` VALUES (71, 2, 28, 1, '2021-11-28 15:07:54', '2021-11-28 15:07:54');
-INSERT INTO `role_permission` VALUES (72, 2, 30, 0, '2023-08-24 08:55:34', '2023-08-24 08:55:34');
-INSERT INTO `role_permission` VALUES (73, 2, 29, 0, '2023-08-24 08:56:15', '2023-08-28 15:33:14');
+INSERT INTO `role_permission` VALUES (72, 2, 30, 1, '2023-08-24 08:55:34', '2023-08-24 08:55:34');
+INSERT INTO `role_permission` VALUES (73, 2, 29, 1, '2023-08-24 08:56:15', '2023-08-28 15:33:14');
 INSERT INTO `role_permission` VALUES (74, 2, 1, 1, '2023-08-30 16:29:46', '2023-08-30 16:29:46');
 
 -- ----------------------------
@@ -431,9 +431,9 @@
 INSERT INTO `storage_cage` VALUES (9, NULL, NULL, 1, 5, 1, 1500.00, NULL, NULL, 1, NULL);
 INSERT INTO `storage_cage` VALUES (10, NULL, NULL, 1, 5, 2, 1600.00, NULL, NULL, 0, NULL);
 INSERT INTO `storage_cage` VALUES (11, NULL, NULL, 1, 6, 1, 1600.00, NULL, NULL, 0, NULL);
-INSERT INTO `storage_cage` VALUES (12, '12', 'NG2202301', 1, 6, 2, 1602.00, 0.00, 2.00, 2, '2');
+INSERT INTO `storage_cage` VALUES (12, '12', 'NG2202301', 1, 6, 2, 1602.00, 0.00, 2.00, 1, '2');
 INSERT INTO `storage_cage` VALUES (13, NULL, NULL, 1, 7, 1, 1600.00, NULL, NULL, 0, NULL);
-INSERT INTO `storage_cage` VALUES (14, '122', 'NG2202302', 1, 7, 2, 1500.00, 2.00, 2.00, 3, '3');
+INSERT INTO `storage_cage` VALUES (14, NULL, NULL, 1, 7, 2, 1500.00, NULL, NULL, 0, NULL);
 INSERT INTO `storage_cage` VALUES (15, NULL, NULL, 1, 8, 1, 1500.00, NULL, NULL, 0, NULL);
 INSERT INTO `storage_cage` VALUES (16, NULL, NULL, 1, 8, 2, 1500.00, NULL, NULL, 0, NULL);
 INSERT INTO `storage_cage` VALUES (17, NULL, NULL, 1, 9, 1, 1500.00, NULL, NULL, 1, NULL);
@@ -1323,7 +1323,7 @@
   `create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '鍒涘缓鏃堕棿',
   `update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '鏇存柊鏃堕棿',
   PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
+) ENGINE = InnoDB AUTO_INCREMENT = 23 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
 
 -- ----------------------------
 -- Records of user
@@ -1331,13 +1331,11 @@
 INSERT INTO `user` VALUES (1, 0, '', 0, 1, 'admin', 'b2f0c414a5ffb6944c424bc18ae3a8a0', NULL, NULL, NULL, 1, '2023-08-25 08:58:58', '2023-09-05 16:12:28');
 INSERT INTO `user` VALUES (2, 1, '1-', 1, 2, 'user1', '601b99523f82de29f87771d5f95accdc', 'user1@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2021-11-28 15:09:36');
 INSERT INTO `user` VALUES (3, 1, '1-', 1, 2, 'user2', 'f403c87893db29eb71b21905b57bbd0d', 'user2@qq.com', NULL, NULL, 1, '2021-11-28 14:31:39', '2021-11-28 15:09:36');
-INSERT INTO `user` VALUES (9, 1, '1-', 1, 1, 'yttttttttttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '666@qq.com', NULL, NULL, 1, '2023-08-23 20:35:32', '2023-08-23 20:35:32');
 INSERT INTO `user` VALUES (10, 1, '1-', 1, 2, '767655555', '500637c0d48b442a3be6d4fce12e0910', NULL, NULL, NULL, 1, '2023-08-23 20:42:58', '2023-08-23 20:42:58');
 INSERT INTO `user` VALUES (11, 1, '1-', 1, 5, 'uiuyiuy', 'e046c4175152aa3001d2c71c5bc1aee5', '767676767tt@qq.com', NULL, NULL, 1, '2023-08-23 20:43:42', '2023-08-23 20:43:42');
-INSERT INTO `user` VALUES (13, 1, '1-', 1, 2, 'user3', '500637c0d48b442a3be6d4fce12e0910', '2265557345@qq.com', NULL, NULL, 1, '2023-08-24 09:58:40', '2023-08-24 09:58:40');
+INSERT INTO `user` VALUES (13, 1, '1-', 1, 2, 'user3', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '2265557345@qq.com', NULL, NULL, 1, '2023-08-24 09:58:40', '2023-08-24 09:58:40');
 INSERT INTO `user` VALUES (15, 1, '1-', 1, 2, '99999', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '2267666@qq.com', NULL, NULL, 1, '2023-08-25 09:37:05', '2023-08-28 14:37:27');
 INSERT INTO `user` VALUES (16, 1, '1-', 1, 2, '5656tttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '5454@qq.com', NULL, NULL, 1, '2023-08-28 14:17:44', '2023-08-28 14:37:24');
-INSERT INTO `user` VALUES (17, 1, '1-', 1, 2, '6767ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '225@qq.com', NULL, NULL, 1, '2023-08-28 14:20:05', '2023-08-28 14:23:53');
 INSERT INTO `user` VALUES (18, 1, '1-', 1, 2, '8989ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '224@qq.com', NULL, NULL, 1, '2023-08-28 14:26:17', '2023-08-28 14:37:22');
 INSERT INTO `user` VALUES (19, 1, '1-', 1, 5, '8080ttt', 'b2f0c414a5ffb6944c424bc18ae3a8a0', '87@qq.com', NULL, NULL, 1, '2023-08-28 14:34:39', '2023-08-29 16:03:38');
 

--
Gitblit v1.8.0