From a487e1560cddf1d8b3e7372d9791b9589e9af96c Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期一, 11 十二月 2023 13:31:23 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

---
 CanadaMes-ui/src/views/home/index.vue                                               |   18 --
 springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java         |  183 ++++++++++++++++++++++++++
 springboot-vue3/src/main/java/com/example/springboot/mapper/SpianMapper.java        |    6 
 springboot-vue3/src/main/java/com/example/springboot/service/SpianService.java      |   14 +-
 springboot-vue3/src/main/java/com/example/springboot/service/OutSliceServive.java   |   29 ++-
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java         |  132 ++++++++----------
 springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java         |    4 
 springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java |    6 
 CanadaMes-ui/src/lang/locales/zh-CN.json                                            |    3 
 springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java    |    6 
 CanadaMes-ui/src/api/home.js                                                        |    4 
 CanadaMes-ui/src/lang/locales/en-US.json                                            |    3 
 springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java        |   10 +
 13 files changed, 300 insertions(+), 118 deletions(-)

diff --git a/CanadaMes-ui/src/api/home.js b/CanadaMes-ui/src/api/home.js
index 29d0964..1d4772c 100644
--- a/CanadaMes-ui/src/api/home.js
+++ b/CanadaMes-ui/src/api/home.js
@@ -222,9 +222,9 @@
     })
 }
 
-export function CompleteQueue(id,frameid) {
+export function CompleteQueue(id,frameid,glassid) {
     return request({
-        url: '/home/CompleteQueue?id=' + id+'&frameid='+frameid,
+        url: '/home/CompleteQueue?id=' + id+'&frameid='+frameid+'&glassid='+glassid,
         method: 'post',
         data:""
     })
diff --git a/CanadaMes-ui/src/lang/locales/en-US.json b/CanadaMes-ui/src/lang/locales/en-US.json
index 1cd1b3a..6df08de 100644
--- a/CanadaMes-ui/src/lang/locales/en-US.json
+++ b/CanadaMes-ui/src/lang/locales/en-US.json
@@ -325,7 +325,8 @@
   "Unable to find whether the aluminum frame is flipped or not":"Unable to find whether the aluminum frame is flipped or not",
   "You do not have this permission":"You do not have this permission",
   "This glass is already in the Queue":"This glass is already in the Queue",
-  "complete":"complete",
+  "Complete":"Complete",
+  "Not Allow":"Not Allow",
     "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 6d3fc03..5814617 100644
--- a/CanadaMes-ui/src/lang/locales/zh-CN.json
+++ b/CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -317,7 +317,8 @@
   "Unable to find the placement method of the aluminum frame":"鏌ヨ涓嶅埌閾濇鎽嗘斁鏂瑰紡",
   "Unable to find whether the aluminum frame is flipped or not":"鏌ヨ涓嶅埌閾濇鏄惁缈昏浆",
   "This glass is already in the Queue":"姝ょ幓鐠冨凡鍦ㄥ嚭鐗囬槦鍒椾腑",
-  "complete":"瀹屾垚",
+  "Complete":"瀹屾垚",
+  "Not Allow":"涓嶅厑璁�",
   "langparameter": {
     "conveyor Velocity(Auto FAST)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄥ揩閫�",
     "conveyor Velocity(Auto SLOW)": "D01-D06 鐨甫杈撻�佽嚜鍔ㄦ參閫�",
diff --git a/CanadaMes-ui/src/views/home/index.vue b/CanadaMes-ui/src/views/home/index.vue
index 14fbabe..00ecd88 100644
--- a/CanadaMes-ui/src/views/home/index.vue
+++ b/CanadaMes-ui/src/views/home/index.vue
@@ -663,7 +663,7 @@
                 <el-table-column prop="barcode" :label="$t('Complete')">
                     <template slot-scope='scope'>
                         <el-button type="primary" style="padding: 4px 10px;font-size: 12px;" :disabled="!isAllowQueue"
-                            @click="CompleteQueue(scope.row.id,scope.row.barcode)">{{ $t('Complete') }}</el-button>
+                            @click="CompleteQueue(scope.row.id,scope.row.barcode,scope.row.glassId)">{{ $t('Complete') }}</el-button>
                     </template>
                 </el-table-column>
                 <el-table-column :width="280" :label="$t('Operate')">
@@ -825,11 +825,6 @@
     created() {
         this.load();
         this.init();
-        setInterval(() => {
-            if(socket.readyState != 1){
-            this.init();
-            }
-        }, 20000);
     }
     ,
     methods: {
@@ -851,13 +846,6 @@
                 //鎵撳紑浜嬩欢
                 socket.onopen = function () {
                     console.log("websocket宸叉墦寮�");
-                    // setInterval(()=>{
-                    //     if(socket){
-                    //         if(socket.readyState==socket.OPEN){
-                    //             socket.send('');
-                    //         }
-                    //     }
-                    // },5000);
                 };
                 //  娴忚鍣ㄧ鏀舵秷鎭紝鑾峰緱浠庢湇鍔$鍙戦�佽繃鏉ョ殑鏂囨湰娑堟伅
                 socket.onmessage = function (msg) {
@@ -1690,8 +1678,8 @@
             this.form5 = {};
         },
         //鎵嬪姩瀹屾垚鍑虹墖浠诲姟
-        CompleteQueue(id,frameid) {
-            CompleteQueue(id,frameid).then(res => {
+        CompleteQueue(id,frameid,glassid) {
+            CompleteQueue(id,frameid,glassid).then(res => {
                 if (res.data.message == 200) {
                     this.$message.success(this.$t('Operation successful'));
                 }
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
new file mode 100644
index 0000000..799ff79
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/PlcHold.java
@@ -0,0 +1,183 @@
+package com.example.springboot.component;
+import java.util.List;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.example.springboot.service.JdbcConnections;
+import com.example.springboot.service.SpianService;
+import com.example.springboot.entity.north_glass_buffer1;
+import com.example.springboot.mapper.AlarmMapper;
+import com.example.springboot.mapper.SpianMapper;
+
+public class PlcHold extends Thread {
+
+  private AlarmMapper alarmMapper;
+
+  @Autowired
+  private JdbcConnections jdbcConnections;
+  private SpianMapper spianMapper;
+  private SpianService spianService;
+  
+  @Override
+  public void run() {
+    boolean inglassbegin = false;
+    boolean outglassbegin = false;
+    while (this != null) {
+      try {
+
+        Thread.sleep(1000);
+      } catch (InterruptedException e) {
+        // \\ TODO Auto-generated catch block
+        e.printStackTrace();
+      }
+       spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
+      spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
+      jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+      // 鏍规嵁鐜荤拑id鑾峰彇璁㈠崟鍙�,鍗曠嫭鏁版嵁婧�
+      // try {
+      // north_glass_buffer1 glass = jdbcConnections.selectGlass(112);
+      // // System.out.println(glass.getOrderId());
+      // } catch (SQLException e) {
+      // // TODO Auto-generated catch block
+      // e.printStackTrace(); 
+      // }
+      //spianService.selectAll("X12345610102GV");
+      List<Short> datas1List = S7control.getinstance().ReadWord("DB106.24", 1);// 鑾峰彇prc杩涚墖璇锋眰鏁版嵁
+      List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8", 1);// 鑾峰彇杩涚墖杞︾姸鎬�
+      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
+      // 褰撹繘鐗囧皬杞﹀畬鎴愪换鍔℃椂
+      if (B01backs == true) {
+        // 褰揃01灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬�  涓�1
+        spianMapper.UpdateCageOver(B01glassid.toString(), 1);// 鏇存敼绗煎瓙琛ㄨ繘鐗囩姸鎬�
+        spianMapper.Updatetask(1, 0);// 鏇存敼杩涚墖浠诲姟鐘舵�佷负1
+        spianMapper.UpdatetaskOut(B01glassid.toString()); // 瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰繘鐗囦换鍔�
+        spianMapper.OverOutSlice(B01glassid.toString(), 2);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
+        spianMapper.UpdataGlassCage(B01glassid.toString(),0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
+        S7control.getinstance().WriteWord("DB106.60", (short) 0);// 鎭㈠B01灏忚溅搴旂瓟鏀逛负0
+        System.out.println("姹囨姤鏃禕01|" + B01glassid);
+
+        // S7control.getinstance().WriteWord("DB105.48", (short) 1);//姹囨姤B01灏忚溅鏀跺埌
+      }
+
+      // 褰撳嚭鐗囧皬杞﹀畬鎴愪换鍔℃椂
+      if (B02backs == true) {
+        // 褰揃02灏忚溅姹囨姤瀹屾垚鏃舵洿鏀圭幓鐠冪姸鎬佷负0
+        spianMapper.UpdateCageOver(B02glassid.toString(), 0);// 鏇存敼绗煎瓙琛ㄥ嚭鐗囩姸鎬�
+        spianMapper.UpdatetaskOut(B02glassid.toString()); // 瀹屾垚涓婁竴娆″嚭鐗囨垨鑰呰繘鐗囦换鍔�
+        spianMapper.OverOutSlice(B02glassid.toString(), 2);// 瀹屾垚鍑虹墖闃熷垪浠诲姟
+        spianMapper.UpdataGlassCage(B01glassid.toString(),0);// 娓呴櫎鍑虹墖鏍煎瓙鐜荤拑淇℃伅
+        S7control.getinstance().WriteWord("DB106.62", (short) 0);// 鎭㈠B02灏忚溅搴旂瓟鏀逛负0
+        // S7control.getinstance().WriteWord("DB105.50", (short) 1);//姹囨姤B02灏忚溅鏀跺埌
+        System.out.println("姹囨姤鏃禕02|" + B02glassid);
+      }
+
+      // 鑾峰彇DO1鏁版嵁
+      StringBuilder queueid1 = spianService.queGlassid("DB106.26", 14);// 鑾峰彇璇锋眰鐨刬d璺烡O1鍚屾椂娓�
+      // 鑾峰彇DO2鏁版嵁
+      StringBuilder queueid2 = spianService.queGlassid("DB103.58", 14);
+//      System.out.println("D01|" + queueid1);
+//      System.out.println("D02|" + queueid2);
+
+      int questate = spianMapper.Selectquecount(queueid1.toString());// 鍒ゆ柇鎵爜浣嶆槸鍚︽湁鐜荤拑宸茬‘璁�
+      // queueid1.toString().isEmpty()
+      north_glass_buffer1 glass1 = spianMapper.selectGlass(queueid1.toString());// D01鐨勭幓鐠冧俊鎭�
+      north_glass_buffer1 glass2 = spianMapper.selectGlass(queueid2.toString());// D02鐜荤拑淇℃伅
+      // 褰撴壂鐮佷綅鐜荤拑id涓虹┖鏃� 瀹藉害涓�0
+
+      if (queueid1 != null && questate == 0) {
+        // 鍐欏叆D01鐨勬暟鎹埌涓婄墖闃熷垪琛�
+        if (glass1 == null) { // 褰撴病鏈夊�兼椂浼犵┖
+          spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 1);
+        } else {
+
+          spianMapper.Updatequeue(queueid1.toString(), glass1.getordernumber(), glass1.getlistnumber(),
+              glass1.getboxnumber(), 0, glass1.getglasslengthmm().toString(), glass1.getglassheightmm().toString(),
+              glass1.getglasslength().toString(), glass1.getglassheight().toString(), 1);
+        }
+
+      }
+      if (queueid2 != null) {
+        // 鍐欏叆D02鐨勬暟鎹埌涓婄墖闃熷垪琛�
+        if (glass2 == null) {
+          spianMapper.Updatequeue(null, null, null, null, 0, null, null, null, null, 2);
+        } else {
+          spianMapper.Updatequeue(queueid2.toString(), glass2.getordernumber(), glass2.getlistnumber(),
+              glass2.getboxnumber(), 0, glass2.getglasslengthmm().toString(), glass2.getglassheightmm().toString(),
+              glass2.getglasslength().toString(), glass2.getglassheight().toString(), 2);
+          spianMapper.overqueue2(queueid2.toString(), 0, 1);// 鏇存敼鎵爜浣嶄换鍔¤〃鐨勭姸鎬佷负0
+          S7control.getinstance().WriteWord("DB105.16", (short) 0);// 鍏抽棴浠诲姟鍚姩
+        }
+
+      }
+
+      // 鍑虹墖浠诲姟////////////////////////////////
+      List<Short> outlist = S7control.getinstance().ReadWord("DB106.20", 1); // 鍑虹墖杞︾姸鎬�
+      List<Short> outlist1 = S7control.getinstance().ReadWord("DB105.18", 1); // 鍑虹墖浠诲姟鏄惁鍚姩
+      // 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
+
+        north_glass_buffer1 glass = spianMapper.SelectDBOut();// 鍒ゆ柇鏄惁鏈夎皟鎷ㄥ悗鐨勫嚭鐗囦换鍔℃湭瀹屾垚
+
+        if (!outglassbegin & !outstate)// 褰撲换鍔¤繕鏈紑濮嬶紝涓斿嚭鐗囪溅涓嶇┖闂叉椂,浠诲姟鐘舵�佹敼涓哄紑濮�
+        {
+          outglassbegin = true;
+        }
+        if (outglassbegin & outstate)// 褰撲换鍔″紑濮嬩笖鍑虹墖杞︾┖闂叉椂
+        {
+          outglassbegin = false;
+        }
+
+        if (outstate == true & glass.getbarcode() != null&&Plchome.isAllowQueue==true) { // 褰撳嚭鐗囪溅绌洪棽涓旀湁鍑虹墖浠诲姟寰呭畬鎴愭椂
+          // 鍒ゆ柇鏈変袱涓嚭鐗囨垨璋冩嫧浠诲姟鏃跺苟涓斿嚭鐗噄d鍜屾湭瀹屾垚鐨勫嚭鐗囦换鍔d涓嶄竴鏍锋椂鎵ц鍑虹墖
+          if (!writedstrIdOut.toString().equals(glass.getbarcode().toString())) {
+            spianService.selectout2(glass.getbarcode().toString());
+            outstate = false;
+          }
+        }
+        // 鍒ゆ柇褰撳墠鏄惁鏈夋湭鎵ц鐨勪换鍔�
+        int outnum = spianMapper.SelectOutSliceshu();
+        // 褰撴病鏈変换鍔℃墽琛屽苟涓斿嚭鐗囪溅绌洪棽鏃�
+        if (outnum == 0 && outstate == true&&Plchome.isAllowQueue==true) {
+          // 鍒ゆ柇閾濇鍑虹墖闃熷垪琛ㄦ槸鍚︽湁寰呭嚭鐗囩殑鐜荤拑
+          String outglassid = spianMapper.SelectOutSlice();
+          if (outglassid != null) {
+            
+            spianService.selectout2(outglassid);
+            outstate = false;
+          }
+        }
+        if (outstate == true) {// 褰撳嚭鐗囪溅绌洪棽鏃�,涓斿嚭鐗囧惎鍔ㄤ负1鏃讹紝浠诲姟鍚姩鏀逛负0
+          if (outstate1 == true) {
+            S7control.getinstance().WriteWord("DB105.18", (short) 0);// 鍑虹墖浠诲姟鍚姩鏀逛负0
+          }
+        }
+      }
+
+      // if (outstate == true) { // 鍑虹墖杞︾姸鎬佺┖闂叉椂
+      // Integer state = spianMapper.Selectoutstate();
+      // String orderid = spianMapper.SelectOrderout();
+
+      // if (orderid != null && state == 0) {
+      // spianService.selectout(orderid);
+      // }
+      // }
+
+      // 鏌ヨ鏁版嵁搴�
+      // 鎺ㄩ�佸埌鍓嶇
+
+    }
+  }
+
+}
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 583f3fe..144c3bd 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
@@ -17,7 +17,6 @@
 import com.example.springboot.service.OutSliceServive;
 import com.example.springboot.service.SpianService;
 
-
 public class Plchome extends Thread {
 
     @Autowired
@@ -27,12 +26,13 @@
     private SpianService spianService;
     private North_Glass_Buffer1Service north_Glass_Buffer1Service;
     private JdbcConnections dbserve;
-    //鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
-    public static Boolean isAllowQueue=true;
-    //閾濇id
+    // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
+    public static Boolean isAllowQueue = true;
+    // 閾濇id
     public static String FrameNo;
-    //鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
-    public static Boolean isConfirm=false;
+    // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
+    public static Boolean isConfirm = false;
+
     // public static Map b=new HashMap<>();
     // b.put()
     @Override
@@ -71,26 +71,26 @@
             // 鏌ヨ鎶ヨ淇℃伅
             List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
             jsonObject.append("alarmmg", alarmmg);
-            // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
-             List<String> addressList = new ArrayList<String>();
-             addressList.add("DB106.12");
-             addressList.add("DB106.0");
-             List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
-             if (paramlist != null) {
-             jsonObject.append("params", paramlist);
-             }
-//             // 鑾峰彇杩涚墖杞︾姸鎬�
-//             List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
-//             1);// 鑾峰彇杩涚墖杞︾姸鎬�
-//             boolean exist1 = datas1ListState.contains((short) 0);
-//             jsonObject.append("zhuangtai", exist1);
-             //鑾峰彇杩涚墖鐜荤拑淇℃伅
-             List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
-             if (inglassInfo != null) {
-             if (inglassInfo.size() > 0)
-             jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
-             }
-            
+            // // 璇诲幓Plc杩涚墖杞︿笌鍑虹墖杞︿綅缃甒
+            // List<String> addressList = new ArrayList<String>();
+            // addressList.add("DB106.12");
+            // addressList.add("DB106.0");
+            // List<Short> paramlist = S7control.getinstance().ReadWord(addressList);
+            // if (paramlist != null) {
+            //     jsonObject.append("params", paramlist);
+            // }
+            // // 鑾峰彇杩涚墖杞︾姸鎬�
+            // List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+            //         1);// 鑾峰彇杩涚墖杞︾姸鎬�
+            // boolean exist1 = datas1ListState.contains((short) 0);
+            // jsonObject.append("zhuangtai", exist1);
+            // // 鑾峰彇杩涚墖鐜荤拑淇℃伅
+            // List<Short> inglassInfo = S7control.getinstance().ReadWord("DB106.24", 1);
+            // if (inglassInfo != null) {
+            //     if (inglassInfo.size() > 0)
+            //         jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
+            // }
+
             // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
             String queid = spianMapper.Selectqueueid();
             int state = spianMapper.Selectqueuestate();
@@ -99,66 +99,60 @@
             // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
             Queue form2 = homeMapper.GetQueueInfo(2);
             Queue form3 = homeMapper.GetQueueInfo(1);
-            if(form2.getglassId()!=null&&form2.getglassId()!=""){
+            if (form2.getglassId() != null && form2.getglassId() != "") {
                 jsonObject.append("form2", form2);
             }
-            if(form3.getglassId()!=null&&form3.getglassId()!=""){
+            if (form3.getglassId() != null && form3.getglassId() != "") {
                 jsonObject.append("form3", form3);
             }
             // 鑾峰彇鍑虹墖闃熷垪淇℃伅
-            List<Out_slice> listoutslice=outSliceServive.SelectProductionqueue();
+            List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
             // List<Out_slice> listoutslice = homeMapper.SelectProductionqueue();
             // for (Out_slice out_slice : listoutslice) {
-            //     out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
+            // out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
             // }
             jsonObject.append("listoutslice", listoutslice);
-            //鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
-            jsonObject.append("isAllowQueue",Plchome.isAllowQueue);
+            // 鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
+            jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
 
-            //鑾峰彇閾濇idDB106.DBW64
+            // // 鑾峰彇閾濇idDB106.DBW64
             // String frameno=spianService.queGlassid("DB106.24",14).toString();
             // if(frameno!=Plchome.FrameNo){
-            //     Plchome.FrameNo=frameno;
+            // Plchome.FrameNo=frameno;
             // }
-            // Plchome.FrameNo="123";
             // try {
-            //     north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+            // north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
             // } catch (SQLException e) {
-            //     // TODO Auto-generated catch block
-            //     e.printStackTrace();
+            // // TODO Auto-generated catch block
+            // e.printStackTrace();
             // }
-            //鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
+            // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
             jsonObject.append("isConfirm", isConfirm);
 
-            //閾濇绾夸氦浜�
+            // 閾濇绾夸氦浜�
 
             // //閾濇id璇锋眰瀛�
             // List<Short> framerequest = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
             // if(framerequest!=null){
-            //     //閾濇id
-            //     String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
-            //     String position;
-            //         try {
-            //             position=dbserve.SelectPositionByFrameBarcode(franmeno);
-            //         } catch (SQLException e) {
-            //             // TODO Auto-generated catch block
-            //             position="0";
-            //             e.printStackTrace();
-            //         }
-            //     Short send;
-            //     if(position=="0"){
-            //         send=0;
-            //     }else{
-            //         send=1;
-            //     }
-            //     S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
+            // //閾濇id
+            // String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
+            // String position;
+            // try {
+            // position=dbserve.SelectPositionByFrameBarcode(franmeno);
+            // } catch (SQLException e) {
+            // // TODO Auto-generated catch block
+            // position="0";
+            // e.printStackTrace();
             // }
-            
+            // Short send;
+            // if(position=="0"){
+            // send=0;
+            // }else{
+            // send=1;
+            // }
+            // S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
+            // }
 
-            
-            
-
-            
             dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
             boolean dbconnected = false;
             try {
@@ -171,16 +165,12 @@
             jsonObject.append("dbconnected", dbconnected);
             // 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 (sendwServer != null) {
+                for (WebSocketServer webserver : sendwServer) {
+                    webserver.sendMessage(jsonObject.toString());
+                }
+            }
 
-
-
-
-            
         }
     }
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
index 55c00b2..84afd96 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/config/AppRunnerConfig.java
@@ -20,7 +20,7 @@
 //new PlcHold().start();
 //
     //
-//   new Plchome().start();
+  new Plchome().start();
 ////    //
 //      new PlcParameter().start();
 //      //
@@ -32,13 +32,13 @@
 //      new Plcstate().start();
 //      new PlcPositioning1().start();
 //      new PlcPositioning2().start();
-  //   new PlcParameter2().start();
+    //  new PlcParameter2().start();
 //      new PlcParameter1().start();
 //      new PLCAutomaticParameterSetting().start();
 //
 //      new PlcManualonePosition().start();
 //      new PlcManualonePosition2().start();
-    new PlcServoManualone().start();
+//      new PlcServoManualone().start();
 //      new PLCManualJog().start();
   }
 }
\ 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 b85fc8a..dbe13fa 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
@@ -140,7 +140,7 @@
   @GetMapping("/UpdateTask")
   public Result UpdateTask(Integer types, Integer shelfrack, String glassid) {
     Map<String, Object> map = new HashMap<>();
-    homeMapper.UpdateTask(types);
+    homeMapper.UpdateTask(types,glassid);
     StorageCage glass = homeMapper.SelectGlassInfo(glassid);
     if (types == 0) {
       homeMapper.UpdateCageTask1(glassid);
@@ -374,8 +374,8 @@
 
   //鎵嬪姩瀹屾垚浠诲姟
   @PostMapping("/CompleteQueue")
-  public Result CompleteQueue(String id,String frameid) {
-    return outSliceServive.CompleteQueue(id,frameid);
+  public Result CompleteQueue(String id,String frameid,String glassid) {
+    return outSliceServive.CompleteQueue(id,frameid,glassid);
     
   }
   
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
index e1bd6bf..76883ce 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/StorageTask.java
@@ -7,6 +7,7 @@
     private String cataskStatege;
     private String shelfRack;//璧峰浣�
     private String loadrack;//鐩爣浣�
+    private Integer count;//鐜荤拑鏁伴噺
     
 
     public Integer id() {
@@ -18,7 +19,14 @@
     public Integer getId() {
         return id;
     }
-
+    public Integer getCount() {
+        return count;
+    }
+ 
+    public void setCount(Integer count) {
+        this.count = count;
+    }
+ 
     public String getTaskType() {
         return taskType;
     }
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 b41062a..e494aba 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
@@ -55,8 +55,8 @@
   short SelectInTask();
 
   // 鎵嬪姩瀹屾垚浠诲姟
-  @Update("update storage_task set task_state=1 where task_type=#{task_type} and task_state=0")
-  void UpdateTask(@Param("task_type") Integer task_type);
+  @Update("update storage_task set task_state=1 where task_type=#{task_type} and task_state=0 and glass_id=#{glassid}")
+  void UpdateTask(@Param("task_type") Integer task_type,String glassid);
 
   // 鎵嬪姩瀹屾垚杩涚墖浠诲姟淇敼绗煎瓙鏁版嵁
   @Update("update storage_cage set state=1 where glass_id=#{glassid} and state=2")
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 42a458d..404cb87 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
@@ -20,7 +20,7 @@
      
      //@Select("(select*from storage_cage as a  where a.state=0 and cage%2=0 ORDER BY id LIMIT 1)union (select a.* from storage_cage a inner join  (select cage,if(shu2=1,shu3,shu5) as gezi from ( select  cage, count(case when state1=1 and state2=0 then cell else null end)as shu1,  count(case when state1=0 then cell else null end) as shu2, min(case when state1=1 and state2=0 then cell else null end) as shu3, min(case when state1=0 then cell else null end) as shu4, min(case when state1=0 or state2=0 then cell else null end) as shu5 from  (select *,max(state) as state1,min(state) as state2 from storage_cage group by cage,cell) as a where  cage%2!=0  GROUP BY cage HAVING shu2>1 or (shu2=1 and shu1>0)  ) as sss limit 1)as b on a.cage=b.cage and a.cell=b.gezi and a.state=0 order by tier limit 1) ORDER BY id LIMIT 1;")
     //鑾峰彇璁㈠崟鍙锋帓搴忕殑绌鸿鍗曠瀛�
-     @Select("select a.cage,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1 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,cage asc; ")
+     @Select("select a.cage,COUNT(if(a.order_id=#{orderids},a.order_id,null))as orderid,b.shu,c.shu2,a.cell,min(a.state)as state1,disabled 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,cage asc; ")
      List<StorageCage> selectAll(String orderids);
     //鑾峰彇鍒ゆ柇璇ユ牸瀛愭槸鍚﹂渶瑕佹妸澶栫墖鎺ㄥ叆鍐呯墖浣嶇疆
      @Select("select state from storage_cage where  cage=#{cage} and cell=#{cell} and tier=1;")
@@ -89,8 +89,8 @@
     // @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,glass_id) VALUES (#{tasktype},#{taskstate},#{shelfrack},#{loadrack},now(),#{glassid});")
-    void Inserttask(int tasktype,int taskstate,int shelfrack,int loadrack,String glassid);
+    @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);
     //淇敼浠诲姟琛�
     @Update("update storage_task set task_state=#{state} where task_type=#{type} and task_state=0;")
     void Updatetask(int state,int type);
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 e29eb16..4e670f0 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
@@ -6,17 +6,23 @@
 import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.mongo.embedded.EmbeddedMongoProperties.Storage;
 import org.springframework.stereotype.Service;
 
 import com.example.springboot.common.Result;
+import com.example.springboot.component.S7control;
 import com.example.springboot.entity.Out_slice;
+import com.example.springboot.entity.StorageCage;
 import com.example.springboot.mapper.HomeMapper;
+import com.example.springboot.mapper.SpianMapper;
 
 @Service
 public class OutSliceServive {
 
   @Autowired
   private HomeMapper homeMapper;
+  @Autowired
+  private SpianMapper spianMapper;
 
   @Autowired
   private JdbcConnections jdbcConnections;
@@ -43,15 +49,20 @@
     return listoutslice;
   }
 
-public Result CompleteQueue(String id, String frameid) {
-  homeMapper.CompleteQueue(id);
-  Short num=homeMapper.SelectCountByFrameNo(frameid);
-  if(num==0){
-    homeMapper.CompleteQueueByFrameNo(frameid);
+  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);
+    spianMapper.UpdataOutCage1(storageCage.getGlassWidth(), storageCage.getCage(), storageCage.getCell());
+    
+    homeMapper.UpdateCageTask2(glassid);
+    S7control.getinstance().WriteWord("DB105.12", (short) 0);
+    Map<String, Object> map = new HashMap<>();
+    map.put("message", "200");
+    return Result.success(map);
   }
-  Map<String, Object> map = new HashMap<>();
-  map.put("message", "200");
-  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 2a1c301..1c6f951 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
@@ -64,7 +64,7 @@
             }
             // 鍒ゆ柇閫変腑绗煎瓙鏄惁鏈夊悎閫傚搴︾┖鏍�
             // 鏈夊悎閫傜┖鏍兼椂杩涚墖
-            if (cages1 != null && cages >= 1) {
+            if (cages1 != null && cages >= 1&&storageCage2.getDisabled()==0) {
                 ids = cages1.getId();// 鏁版嵁搴揑D
                 tiers = cages1.getTier();// 鍐呭鐗�
                 cells = cages1.getCell();// 鏍煎瓙鍙�
@@ -87,7 +87,7 @@
                     //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());// 鏂板浠诲姟
+                    spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(),prctier);// 鏂板浠诲姟
                     S7control.getinstance().WriteWord(adddresslist, datas);
                     System.out.println("姹囨姤鏃朵换鍔" + datas);
                    
@@ -96,7 +96,7 @@
                 //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());// 鏂板浠诲姟
+                spianMapper.Inserttask(0, 0, 1000, ids, glassid.toString(),prctier);// 鏂板浠诲姟
                 S7control.getinstance().WriteWord(adddresslist, datas);
                     System.out.println("姹囨姤鏃朵换鍔" + datas);
 
@@ -152,7 +152,7 @@
             spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
             spianMapper.UpdataGlassCageState(glassid,3);//鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
             
-            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板浠诲姟
+            spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid,state);// 鏂板浠诲姟
             // int state = spianMapper.selectGlassState(cage, cell);//鑾峰彇鏍煎瓙鏁伴噺
             if (state == 2) {
                 spianMapper.UpdateDBCage1(cage, cell);// 灏嗗唴鐗囨暟鎹洿鏂板埌澶栫墖閲�
@@ -174,7 +174,7 @@
                 datas.add((short) 1);
                 datas.add((short) 1);
                 spianMapper.OverOutSlice(glassid, 1);//鏇存柊鍑虹墖闃熷垪浠诲姟鐘舵�佷负杩涜涓�
-                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板浠诲姟
+                spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid,1);// 鏂板浠诲姟
                 spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
                 spianMapper.UpdataGlassCageState(glassid,3);//鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
                 spianMapper.OverOutSlice(glassid,2);//瀹屾垚鍑虹墖闃熷垪浠诲姟
@@ -207,7 +207,7 @@
                     spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�
                     spianMapper.UpdataOutCage1(glasswidth, cage, cell);// 澧炲姞鍘熸牸瀛愬搴�
                     spianMapper.UpdataGlassCageState(glassids,3);//鏇存敼绗煎瓙琛ㄧ殑鐜荤拑鐘舵��
-                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid);// 鏂板璋冨害浠诲姟
+                    spianMapper.Inserttask(2, 0, cageout.getId(), ids, glassid,2);// 鏂板璋冨害浠诲姟
                     //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板鍑虹墖浠诲姟
                     // 浼犺緭mes鏁版嵁,鍧愭爣锛屾暟鎹�
                     S7control.getinstance().WriteWord(adddresslist, datas);// 娲惧彂鍑虹墖杞︿换鍔�
@@ -231,7 +231,7 @@
                     datas.add((short) 2);
                     datas.add((short) 1);
                     String glassids = spianMapper.SelectGlassid(cage, cell); // 鑾峰彇琚皟鎷ㄧ殑鐜荤拑id
-                    spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassid);// 鏂板璋冨害浠诲姟
+                    spianMapper.Inserttask(2, 0, cageout.getId() + 1, ids, glassid,2);// 鏂板璋冨害浠诲姟
                     //spianMapper.Inserttask(1, 0, cageout.getId(), 1000, glassid);// 鏂板鍑虹墖浠诲姟
                     spianMapper.UpdateDBCage(ids, cage, cell,2);// 灏嗗師鏍煎瓙鏁版嵁鏇存柊鍒版柊鏍煎瓙閲�
                     spianMapper.UpdataAddCage1(glasswidth, cages, cells);// 鍑忓皯鏂版牸瀛愬搴�

--
Gitblit v1.8.0