From ef9d846de18b685d61197c73c3eab07d2b801dc1 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 23 一月 2024 16:08:30 +0800
Subject: [PATCH] 增加握手协议和增加Json文件

---
 CanadaMes-ui/src/views/home/index.vue                                               |    4 
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java         |   72 ++++++--------
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java        |    8 
 CanadaMes-ui/src/lang/locales/en-US.json                                            |    1 
 springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java        |    2 
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java      |   77 ++++++++++-----
 springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java   |   23 ++--
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java         |   34 ------
 springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java         |   15 ++-
 CanadaMes-ui/src/layout/index.vue                                                   |    6 
 springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java |    6 -
 CanadaMes-ui/src/lang/locales/zh-CN.json                                            |    4 
 12 files changed, 125 insertions(+), 127 deletions(-)

diff --git a/CanadaMes-ui/src/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index 562e83d..24aabbb 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -360,6 +360,7 @@
   "Hand Movement":"Hand Movement",
   "Please enter the correct glassID":"Please enter the correct glassID",
   "Switch":"Switch",
+  "This frame has glass that is currently outing":"This frame has glass that is currently outing",
     "ServoManualone": {
       "A01 鎵�鍦ㄦ牸瀛�": "A01 Current Grid",
       "鏁伴噺": "Quantity",
diff --git a/CanadaMes-ui/src/lang/locales/zh-CN.json b/CanadaMes-ui/src/lang/locales/zh-CN.json
index 1135939..0591804 100644
--- a/CanadaMes-ui/src/lang/locales/zh-CN.json
+++ b/CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -36,6 +36,9 @@
   "northglassMESsystem": "鍖楃幓MES绯荤粺",
   "exit": "閫�鍑�",
   "changePassword": "淇敼瀵嗙爜",
+  "Old password":"鏃у瘑鐮�",
+  "New password":"鏂板瘑鐮�",
+  "Confirm password":"鎻愪氦瀵嗙爜",
   "resetPassword": "閲嶇疆瀵嗙爜",
   "home": "涓婚〉",
   "role": "瑙掕壊",
@@ -350,6 +353,7 @@
   "Hand Movement":"鎵嬪姩",
   "Please enter the correct glassID":"璇疯緭鍏ユ纭殑鐜荤拑ID",
   "Switch":"鍒囨崲",
+  "This frame has glass that is currently outing":"姝ら摑妗嗘湁姝e湪鍑虹墖鐨勭幓鐠�",
   "langparameter": {
     "conveyor Velocity(Auto FAST)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄥ揩閫�",
     "conveyor Velocity(Auto SLOW)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄦ參閫�",
diff --git a/CanadaMes-ui/src/layout/index.vue b/CanadaMes-ui/src/layout/index.vue
index 13cc3f5..0ca9cdd 100644
--- a/CanadaMes-ui/src/layout/index.vue
+++ b/CanadaMes-ui/src/layout/index.vue
@@ -130,6 +130,7 @@
 // import Tag from '../layout/tag.vue';
 // import store from '../store';
 let socket;
+let timer;
 
 export default {
   name: "Layout",
@@ -312,8 +313,9 @@
     },
     //45绉掑浣嶅�掓暟璁℃椂
     CountDown() {
-      let count = 45;
-      let timer = setInterval(
+      let count = 60;
+      clearInterval(timer);
+      timer = setInterval(
         () => {
           if (this.EmergencyStop == true) {
             this.dialogFormCountDown = false;
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index c7eab6f..48158a8 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -787,7 +787,7 @@
                         <el-table-column :min-width="90" prop="barcode" :label="$t('Complete')">
                             <template slot-scope='scope' style="height:100px;height:100px;">
                                 <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
-                                    :disabled="!(!isAllowQueue && scope.row.state != 2 && scope.row.state != 4)"
+                                    :disabled="!(!isAllowQueue && scope.row.state != 1 && scope.row.state != 2)"
                                     @click="CompleteQueue(scope.row.id, scope.row.barcode, scope.row.glassId)">{{
                                         $t('Complete')
                                     }}</el-button>
@@ -1629,6 +1629,8 @@
                     DeleteProductionQueueGlass(id).then(res => {
                         if (res.data.message == 200) {
                             this.$message.success(this.$t('Operation successful'));
+                        }else{
+                            this.$message.error(this.$t('This frame has glass that is currently outing'));
                         }
                     });
                 }
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 0b9ea37..296a397 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
@@ -43,36 +43,38 @@
       // // TODO Auto-generated catch block
       // e.printStackTrace();
       // }
-     
+
       // 鍑虹墖浠诲姟////////////////////////////////
       List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 鍑虹墖杞︾姸鎬�
       List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 鍑虹墖浠诲姟鏄惁鍚姩
 
-       boolean Plcadd = spianService.listbool("DB106.62"); // 鍑虹墖璇锋眰瀛�
-       
-       if(Plcadd==false){
-        S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负0
-       }
+      boolean Plcout = spianService.listbool("DB106.64"); // 鍑虹墖璇锋眰瀛�
+      boolean Plcout2 = spianService.listbool("DB105.18"); // 鍑虹墖鍚姩
+      if (Plcout == false&&Plcout2==true) {
+        S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
+        System.out.println("鍏抽棴鍑虹墖鍚姩" + LocalDateTime.now());// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负0
+      }
+      boolean Plcadd = spianService.listbool("DB106.24"); // 杩涚墖璇锋眰瀛�
+      boolean Plcadd2 = spianService.listbool("DB105.16"); // 杩涚墖鍚姩
+      if (Plcadd == false&&Plcadd2==true) {
+        S7control.getinstance().WriteWord("DB105.16", (short) 0);//杩涚墖浠诲姟鍚姩鏀逛负0
+        System.out.println("鍏抽棴杩涚墖鍚姩" + LocalDateTime.now());// 杩涚墖浠诲姟鍙戦�佸瓧鏀逛负0
+      }
       
-      
+
 
       // StringBuilder writedstrIdOut = new StringBuilder();
       // 鑾峰彇宸蹭笅鍙戠殑鍑虹墖id
       byte[] writedglassidbytesOut = S7control.getinstance().ReadByte("DB105.30", 14);
       String writedstrIdOut = new String(writedglassidbytesOut);
 
-      boolean outstate = false;// 鍑虹墖杞︾┖闂插垽鏂�
-      boolean outstate1 = false;// 鍑虹墖杞︿换鍔℃槸鍚﹀惎鍔�
-      if (outlist != null && outlist1 != null) {
-
-        outstate = outlist.contains((short) 0);// 鍑虹墖杞︾┖闂插垽鏂� 褰撳嚭鐗囪溅绌洪棽鏃朵负true
-        outstate1 = outlist1.contains((short) 1);// 鍑虹墖杞︿换鍔℃槸鍚﹀惎鍔� 褰撳嚭鐗囪溅浠诲姟鍚姩鏃朵负true
-
+   
+      if (Plcout == true) {
         // 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
-        int outnum = spianMapper.SelectOutSliceshu();
-        int cageoutsum = spianMapper.Selectcageout(3);
+        int outnum = spianMapper.SelectOutSliceshu();//鏄惁鏈夋鍦ㄥ嚭鐗囩殑浠诲姟
+        int cageoutsum = spianMapper.Selectcageout(3);//绗煎瓙鍐呮槸鍚﹁繕鏈夊湪鍑虹墖鐨勭幓鐠�
         // 褰撴病鏈変换鍔℃墽琛屽苟涓斿嚭鐗囪溅绌洪棽鏃�
-        if (outnum == 0 && outstate == true && Plchome.isAllowQueue == true && cageoutsum == 0) {
+        if (outnum == 0 &&  Plchome.isAllowQueue == true && cageoutsum == 0) {
           // 鍒ゆ柇閾濇鍑虹墖闃熷垪琛ㄦ槸鍚︽湁寰呭嚭鐗囩殑鐜荤拑
           String outglassid = spianMapper.SelectOutSlice();
           // 褰撴湁寰呭嚭鐗囩殑鐜荤拑鏃�
@@ -83,20 +85,13 @@
             if (glassdisabled == 0) {
               spianService.selectout2(outglassid);
               Plchome.isQueueWarning = false;
-              outstate = false;
             } else { // 绂佺敤鏇存敼鐘舵�佸脊鍑烘彁绀�
               Plchome.isQueueWarning = true;
             }
 
           }
         }
-        if (outstate == true) {// 褰撳嚭鐗囪溅绌洪棽鏃�,涓斿嚭鐗囧惎鍔ㄤ负1鏃讹紝浠诲姟鍚姩鏀逛负0
-          if (outstate1 == true) {
-            S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
-            System.out.println("鍏抽棴鍚姩" + LocalDateTime.now());
-
-          }
-        }
+     
       }
 
       ///////////// 杩涚墖浠诲姟
@@ -105,7 +100,6 @@
       List<Short> datas1ListState2 = S7control.getinstance().ReadWord("DB105.16", 1);// 鑾峰彇杩涚墖杞︿换鍔℃槸鍚﹀惎鍔�
 
       boolean B01backs = spianService.listbool("DB106.60");// b01姹囨姤
-
       boolean B02backs = spianService.listbool("DB106.62");// b02姹囨姤
       StringBuilder B01glassid = spianService.queGlassid("DB103.184", 14);// BO1鐨勭幓鐠僫d
       StringBuilder B02glassid = spianService.queGlassid("DB103.212", 14);// B02鐨勭幓鐠僫d
@@ -116,15 +110,17 @@
         int HB = spianMapper.SelectHB(B01glassid.toString());
         if (HB > 0) {
           // 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬� 涓�1
-          S7control.getinstance().WriteWord("DB106.60", (short) 0);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负0
-          boolean yingda = spianService.listbool("DB106.60");// b01姹囨姤
-          if (yingda == false) {
+          S7control.getinstance().WriteWord("DB105.48", (short) 1);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
+          boolean yingda = spianService.listbool("DB105.48");// b01姹囨姤
+          if (yingda == true) {
             spianService.overtask(B01glassid.toString());// 瀹屾垚浠诲姟
           }
           System.out.println("姹囨姤鏃禕01|绗�" + aaa + "娆�" + B01glassid + "搴旂瓟" + yingda);
           aaa += 1;
         }
 
+      }else{
+        S7control.getinstance().WriteWord("DB105.48", (short) 0);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负1
       }
 
       // 褰撳嚭鐗囧皬杞﹀畬鎴愪换鍔℃椂
@@ -135,21 +131,17 @@
         if (HB > 0) {
           // 褰揃02灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬佷负0
 
-          S7control.getinstance().WriteWord("DB106.62", (short) 0);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负0
-          System.out.println("姹囨姤鏃禕02|" + B02glassid);
-          boolean yingda = spianService.listbool("DB106.62");// b02姹囨姤
-          if (yingda == false) {
+          S7control.getinstance().WriteWord("DB105.50", (short) 1);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负1
+          System.out.println("姹囨姤鏃禕02ID|" + B02glassid);
+          boolean yingda = spianService.listbool("DB105.50");// b02姹囨姤
+          if (yingda == true) {
             spianService.overtask(B02glassid.toString());// 瀹屾垚浠诲姟
           }
           System.out.println("姹囨姤鏃禕02|绗�" + aaa + "娆�" + B02glassid + "搴旂瓟" + yingda);
         }
+      }else{
+         S7control.getinstance().WriteWord("DB105.50", (short) 0);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负0
       }
-
-
-      boolean Plcout = spianService.listbool("DB106.62"); // 杩涚墖璇锋眰瀛�
-        if(Plcout==false){
-        S7control.getinstance().WriteWord("DB105.18", (short) 0);// 杩涚墖浠诲姟鍙戦�佸瓧鏀逛负0
-       }
 
 
       // 鑾峰彇DO1鏁版嵁
@@ -188,8 +180,6 @@
         }
 
       }
-
-    
 
       // 鏌ヨ鏁版嵁搴�
       // 鎺ㄩ�佸埌鍓嶇
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
index 4de113f..7b334f5 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plcalarm.java
@@ -28,7 +28,7 @@
     FileInputStream fileInputStream;
     try {
       // 浠庢枃浠朵腑璇诲彇瀛楄妭鏁版嵁瀛樺叆 fileInputStream
-      fileInputStream = new FileInputStream("D:/code/canadames/Alarm.json");
+      fileInputStream = new FileInputStream("D:/Documents/canadames/Alarm.json");
       // 璇诲彇 fileInputStream 涓瓧鑺傚苟灏嗗叾瑙g爜涓哄瓧绗�
       InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "utf-8");
       // 鎻愰珮璇诲彇鏁堢巼锛屽湪 BufferedReader 鍐呭寘瑁� InputStreamReader
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
index b8a0c05..0850abc 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -153,7 +153,7 @@
             // // TODO: handle exception
             // }
 
-            // if (S7control.getinstance().CheckConnected() == true) {
+            if (S7control.getinstance().CheckConnected() == true) {
                 // 鑾峰彇褰撳墠鎵爜鏂瑰紡
 
                 List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
@@ -264,37 +264,7 @@
                 for (Boolean emergencystop : emergencystops) {
                     jsonObject.append("emergencystop", emergencystop);
                 }
-
-                // // 缁堟缁х画鎸夐挳
-                // List<String> niuanaddressList3 =
-                // Arrays.asList(config.getProperty("Parameter2.stop").split(","));
-                // List<Boolean> anniuread =
-                // S7control.getinstance().readBits(niuanaddressList3);
-                // // Boolean[] value4 = { false, false};
-                // // List<Boolean> anniuread = new ArrayList<>(Arrays.asList(value4));
-                // Boolean[] value5 = { true };
-                // List<Boolean> resets = new ArrayList<>(Arrays.asList(value5));
-                // short[] anniuparams = new short[anniuread.size()];
-                // for (int i = 0; i < anniuread.size(); i++) {
-                // boolean value = anniuread.get(i);
-                // anniuparams[i] = value ? (short) 1 : (short) 0;
-                // }
-
-                // short[] resets2 = new short[resets.size()];
-                // for (int i = 0; i < resets.size(); i++) {
-                // boolean value = resets.get(i);
-                // resets2[i] = value ? (short) 1 : (short) 0;
-                // }
-
-                // for (short number : resets2) {
-
-                // if (number == 1) {
-                // jsonObject.append("Abort", anniuparams);
-
-                // }
-
-                // }
-            // }
+            }
 
             storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
             dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
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 69666cd..ca448cd 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
@@ -335,11 +335,7 @@
   // 鏍规嵁閾濇id鍒犻櫎鍑虹墖闃熷垪鐜荤拑
   @PostMapping("/DeleteProductionQueueGlass")
   public Result DeleteProductionQueueGlass(String FrameNo) {
-    homeMapper.CompleteQueueByFrameNo(FrameNo);
-
-    Map<String, Object> map = new HashMap<>();
-    map.put("message", "200");
-    return Result.success(map);
+    return outSliceServive.CompleteQueueByFrameNo(FrameNo);
   }
 
   // 娣诲姞閾濇id瀵瑰簲鐜荤拑鍒板嚭鐗囬槦鍒�
diff --git a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
index f5a7bee..c81c75c 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -165,7 +165,7 @@
   Out_slice SelectQueueByglassid(String getbarcode);
 
   //娣诲姞鍑虹墖闃熷垪
-  @Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm` ,`framewidthmm` ,`frameheightmm` ) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight}, #{framewidthmm}, #{frameheightmm});")
+  @Insert("INSERT INTO out_slice( `glassId`, `barcode`, `glasswidth`, `glassheight`, `state`, `flip`, `sequence`, `time` ,`position` ,`orderid` ,`listid` ,`boxid` ,`glasswidthmm` ,`glassheightmm` ,`framewidthmm` ,`frameheightmm` ,`framestate` ) VALUES ( #{glassid}, #{FrameNo}, #{glasslengthMm}, #{glassheightMm}, #{state}, #{flip}, #{sequence}, now(), #{position}, #{orderid}, #{listid}, #{boxid}, #{glasswidth}, #{glassheight}, #{framewidthmm}, #{frameheightmm}, 0);")
   void AddOutSliceS(String glassid, String flip, String FrameNo, String glasslengthMm, String glassheightMm, int sequence, String position, Short state,String orderid, String listid, String boxid, String glasswidth, String glassheight,String framewidthmm,String frameheightmm);
 
   //鍑虹墖闃熷垪璋冨簭
@@ -179,12 +179,12 @@
   @Select("select rp.* from role_permission rp inner join user r on rp.role_id=r.role_id and r.username=#{username} and (permission_id=32 or permission_id=33 or permission_id=34 or permission_id=35 or permission_id=36 or permission_id=37 or permission_id=38 or permission_id=39)")
   List<RolePermission> SelectPermissionByUserName(String username);
 
-  //鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
-  @Update("update out_slice set state=3 where id=#{id}")
-  void CompleteQueue(String id);
+  // //鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
+  // @Update("update out_slice set state=2 where id=#{id}")
+  // void CompleteQueue(String id);
 
   //鏍规嵁鐜荤拑瀹屾垚鍑虹墖浠诲姟
-  @Update("update out_slice set state=3 where id=#{id}")
+  @Update("update out_slice set state=2 where glassid=#{glassid}")
   void CompleteQueueByGlassId(String glassid);
 
   //鏌ヨ閾濇id瀵瑰簲鐜荤拑瀹屾垚鏁伴噺
@@ -223,4 +223,9 @@
   @Update("update storage_cage set width=width+#{width} where   cage=#{cage} and cell=#{cell};")
   void UpdataCageWidth(double width, int cage, int cell);
 
+  //鑾峰彇閾濇鏈夋病鏈夋鍦ㄥ嚭鐗囩殑鐜荤拑
+  @Select("select count(*) from out_slice where barcode=#{frameNo} and state=1")
+  Short SelectOutingQueueCount(String frameNo);
+  
+
 }
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 20a4424..fd3424e 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
@@ -15,7 +15,7 @@
     @Select("select COUNT(if(a.state1=0,cell,0))as cell,ROUND(id/2)as id from (select *,max(state)as state1 from storage_cage a  GROUP BY cage,cell)as a where (a.cage=#{cage1}-1 or a.cage=#{cage1}+1)and if(a.cage<6,a.cage>0 and a.cage<6,a.cage>5) and disabled=0 GROUP BY cage ORDER BY cell desc LIMIT 1")
     int selectCage(int cage1);
     // 鑾峰彇绗煎瓙鍙疯鍗曞彿鎺掑簭鐨勭┖璁㈠崟绗煎瓙
-    @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,max(a.state)as state2,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage  where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c  on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY (FrameBarcode=#{Fbarcode} or ''='') desc,shu desc,shu2,state2 asc,cage asc;")
+    @Select("select a.cage,FrameBarcode,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,max(a.state)as state2,disabled,FrameBarcode from storage_cage a left join (select COUNT(*)shu,cage from storage_cage  where order_id=#{orderids} GROUP BY cage)as b on a.cage=b.cage left join(select cage ,COUNT(glass_id)as shu2 from storage_cage GROUP BY cage)c  on a.cage=c.cage where (order_id=#{orderids} or ''='') GROUP BY cage,cell HAVING state1=0 ORDER BY shu desc,shu2,state2 asc,cage asc;")
     List<StorageCage> selectAll(String orderids,String Fbarcode);
     //浼樺厛鍒ゆ柇涓�娆℃槸鍚︽湁鍚岄摑妗嗙殑绌轰綅
     @Select("select *,min(state) state1 from storage_cage where width>=(#{width}+#{width2})  GROUP BY cage,cell HAVING state1=0 and  FrameBarcode=#{Fbarcode} ORDER BY width desc LIMIT 1;")
@@ -105,8 +105,8 @@
     // #{date}, #{address}, #{userNo})")
     // void insert (Spian spian);
     // 鏂板浠诲姟琛�
-    @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,count) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{count});")
-    void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int count);
+    @Insert("INSERT INTO `canadames`.`storage_task`(`task_type`, `task_state`, `shelf_rack`, `load_rack`,start_time,glass_id,count,finsh_time) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid},#{count},#{qidong});")
+    void Inserttask(int tasktype, int taskstate, int shelfrack, int loadrack, String glassid, int count,int qidong);
 
     // 淇敼浠诲姟琛�
     @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;")
@@ -233,6 +233,6 @@
     @Select(" select disabled from storage_cage where glass_id=#{glassid} limit 1;")
     int SelectCageGlassState(String glassid);
     //鍒ゆ柇姹囨姤鐨刬d鏄惁姝g‘
-    @Select("SELECT count(*) FROM `storage_cage` where state!=0 and state!=1 and glass_id=#{glassid}")
+    @Select("SELECT count(*) FROM `storage_cage` where state!=0 and glass_id=#{glassid}")
     int SelectHB(String glassid);
 }
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java b/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
index c7a9a27..ed78fe2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java
@@ -52,16 +52,7 @@
 
   // 瀹屾垚鍑虹墖浠诲姟
   public Result CompleteQueue(String id, String frameid, String glassid) {
-    homeMapper.CompleteQueue(id);
-    Short num = homeMapper.SelectCountByFrameNo(frameid);
-    if (num == 0) {
-      homeMapper.CompleteQueueByFrameNo(frameid);
-    }
-    StorageCage storageCage = homeMapper.SelectGlassInfo(glassid);
-    if (storageCage != null && storageCage.getState().equals("3")) {
-      spianMapper.UpdataOutCage1(storageCage.getGlassWidth(), storageCage.getCage(), storageCage.getCell());
-      homeMapper.DeleteByGlassID(glassid);
-    }
+    homeMapper.CompleteQueueByGlassId(glassid);
     Map<String, Object> map = new HashMap<>();
     map.put("message", "200");
     return Result.success(map);
@@ -122,4 +113,16 @@
     return homeMapper.SelectCurrentFrame();
   }
 
+public Result CompleteQueueByFrameNo(String frameNo) {
+  Map<String, Object> map = new HashMap<>();
+  Short num= homeMapper.SelectOutingQueueCount(frameNo);
+  if(num==0){
+    homeMapper.CompleteQueueByFrameNo(frameNo);
+    map.put("message", "200");
+  }else{
+    map.put("message", "300");
+  }
+  return Result.success(map);
+}
+
 }
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 79c7d40..74c092d 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
@@ -57,7 +57,7 @@
         List<Short> datas = new ArrayList<>();
 
         // String orderid="A001";
-        // 鑾峰彇璁㈠崟鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
+        // 鑾峰彇閾濇鐩稿叧搴︽渶楂樼殑绗煎瓙鎺掑簭
         List<StorageCage> storageCage = spianMapper.selectAllFbarcode(FrameBarcode, widths, 400);
         // 鍒ゆ柇閾濇鎸囧畾绌烘牸鏄惁闇�瑕侀棿闅旂┖闂�
 
@@ -108,26 +108,34 @@
                     // 灏嗗鐗囩幓鐠冪殑鏁版嵁鏇存柊鍒板唴鐗�
                     spianMapper.UpdateDBCage(ids, cage1, cells, 1);
                     // 灏嗘柊鍏ョ殑鐜荤拑瀛樺叆澶栫墖
-                    // spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids-1, 2);
+
                     spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids - 1, 2);
                     spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
-                    spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 鏂板浠诲姟
-                    S7control.getinstance().WriteWord(adddresslist, datas);
 
-                    S7control.getinstance().WriteWord("DB105.18", (short) 1);// 杩涚墖浠诲姟鍙戦�佸瓧鏀逛负1
+                    S7control.getinstance().WriteWord(adddresslist, datas);
+                    boolean qidong = listbool("DB105.16");
+                    int qidong2 = 0;
+                    if (qidong == true) {
+                        qidong2 = 1;
+                    }
+                    spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,qidong2);// 鏂板浠诲姟
                     System.out.println("杩涚墖浠诲姟|" + datas);
 
                 } else {
                     // 鏁版嵁搴撲慨鏀圭瀛愯〃鏂板涓�鏉$幓鐠�
-                    // spianMapper.UpdataAddCage(orderids, glassid, widths, cage1, cells, ids, 2);
+
                     spianMapper.UpdataAddCage2(orderids, glassid, glasslist, cage1, cells, ids, 2);
                     spianMapper.UpdataAddCage1(widths, cage1, cells);// 鍑忓皯鏍煎瓙瀹藉害
-                    spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier);// 鏂板浠诲姟
+
                     S7control.getinstance().WriteWord(adddresslist, datas);
-                    S7control.getinstance().WriteWord("DB105.18", (short) 1);// 杩涚墖浠诲姟鍙戦�佸瓧鏀逛负1
+                    boolean qidong = listbool("DB105.16");
+                    int qidong2 = 0;
+                    if (qidong == true) {
+                        qidong2 = 1;
+                    }
+                    spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(), prctier,qidong2);// 鏂板浠诲姟
                     System.out.println("杩涚墖浠诲姟|" + datas);
 
-                    // S7control.getinstance().WriteByte("DB105.16",glassid);
                 }
                 outmesid(glassid, "DB105.20");
                 return (200);
@@ -178,15 +186,15 @@
             spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
             spianMapper.UpdataGlassCageState(glassid.toString(), 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
 
-            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state);// 鏂板浠诲姟
-            // int state = spianMapper.selectGlassState(cage, cell);//鑾峰彇鏍煎瓙鏁伴噺
-            // if (state == 2) {
-            // spianMapper.UpdateDBCage1(cage, cell);// 灏嗗唴鐗囨暟鎹洿鏂板埌澶栫墖閲�
-            // spianMapper.UpdateDBCage2(cage, cell);// 娓呴櫎鍐呯墖鏁版嵁
-            // }
             System.out.println("鍑虹墖浠诲姟|" + datas);
             S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
             S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
+            boolean qidong = listbool("DB105.18");
+            int qidong2 = 0;
+            if (qidong == true) {
+                qidong2 = 1;
+            }
+            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, state, qidong2);// 鏂板浠诲姟
             outmesid(glassid, "DB105.34");// 娲惧彂鍑虹墖ID
 
             return (200);// 缁撴潫
@@ -201,7 +209,7 @@
                 datas.add((short) 1);
                 datas.add((short) 1);
                 spianMapper.OverOutSlice(glassid.toString(), 1, 0);// 鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
-                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1);// 鏂板浠诲姟
+
                 spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
                 spianMapper.UpdataGlassCageState(glassid, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
 
@@ -209,7 +217,12 @@
                 outmesid(glassid, "DB105.34");// 娲惧彂鍑虹墖ID
                 S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
                 S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
-
+                boolean qidong = listbool("DB105.18");
+                int qidong2 = 0;
+                if (qidong == true) {
+                    qidong2 = 1;
+                }
+                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid, 1, qidong2);// 鏂板浠诲姟
                 return (200);// 缁撴潫
 
             } else {
@@ -236,12 +249,19 @@
                     spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
                     spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
                     spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
-                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids, 2);// 鏂板璋冨害浠诲姟
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
                     System.out.println("鍑虹墖浠诲姟|" + datas);
                     S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
                     S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
                     outmesid(glassids, "DB105.34");// 娲惧彂璋冩嫧鐜荤拑ID
+
+                    boolean qidong = listbool("DB105.18");
+                    int qidong2 = 0;
+                    if (qidong == true) {
+                        qidong2 = 1;
+                    }
+                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassids, 2, qidong2);// 鏂板璋冨害浠诲姟
+
                     return (200); // 缁撴潫
 
                 } else {// 绗煎瓙鍙峰ぇ浜�5鏃�
@@ -260,17 +280,23 @@
                     datas.add((short) 2);
                     datas.add((short) 1);
                     String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
-                    spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
-                    spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids, 2);// 鏂板璋冨害浠诲姟
-                    // spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板鍑虹墖浠诲姟
-                    spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
-                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
-                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
                     System.out.println("鍑虹墖浠诲姟|" + datas);
                     S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
                     S7control.getinstance().WriteWord("DB105.18", (short) 1);// 鍑虹墖浠诲姟鍙戦�佸瓧鏀逛负1
+
                     outmesid(glassids, "DB105.34");// 娲惧彂璋冩嫧鐜荤拑ID
+                    spianMapper.UpdataGlassCageState(glassids, 3);// 鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
+                    boolean qidong = listbool("DB105.18");
+                    int qidong2 = 2;
+                    if (qidong == true) {
+                        qidong2 = 1;
+                    }
+                    spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassids, 2, qidong2);// 鏂板璋冨害浠诲姟
+                    spianMapper.UpdateDBCage(ids, cage, cell, 2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
+                    spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
+                    spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
+
                     return (200);// 缁撴潫
 
                 }
@@ -343,6 +369,5 @@
         // }
 
     }
- 
-    
+
 }

--
Gitblit v1.8.0