From 9a0dd8244282d90b08b16d2c239683bbac62fab2 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期二, 16 一月 2024 15:02:21 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/CanadaMes

---
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java |  354 ++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 216 insertions(+), 138 deletions(-)

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 47b88f7..147586b 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
@@ -16,9 +16,9 @@
 import com.example.springboot.entity.Queue;
 import com.example.springboot.entity.StorageCage;
 import com.example.springboot.entity.alarmmg;
+import com.example.springboot.entity.north_glass_buffer1;
 import com.example.springboot.mapper.HomeMapper;
 import com.example.springboot.mapper.SpianMapper;
-import com.example.springboot.service.StorageCageService;
 
 public class Plchome extends Thread {
 
@@ -32,18 +32,22 @@
     // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
     public static Boolean isAllowQueue = true;
     public static Boolean isAllowReordering = true;
+    // 鍑虹墖闃熷垪璀﹀憡
+    public static Boolean isQueueWarning = false;
     // 閾濇id
     public static String FrameNo = "";
     // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
     public static Boolean isConfirm = false;
+    //寰呯‘璁ょ殑鍑虹墖闃熷垪
+    public static List<north_glass_buffer1> AluminumFrame;
 
-    private Configuration config;
+    // private Configuration config;
 
     private StorageCageService storageCageService;
 
-    public Plchome() throws IOException {
-        config = new Configuration("config.properties");
-    }
+    // public Plchome() throws IOException {
+    //     config = new Configuration("config.properties");
+    // }
 
     // public static Map b=new HashMap<>();
     // b.put()
@@ -105,98 +109,171 @@
             jsonObject.append("listoutslice", listoutslice);
             // 鑾峰彇褰撳墠鍑虹墖闃熷垪鍑虹墖鐘舵��
             jsonObject.append("isAllowQueue", Plchome.isAllowQueue);
+            // 鑾峰彇鍑虹墖闃熷垪璀﹀憡鐘舵��
+            jsonObject.append("isQueueWarning", Plchome.isQueueWarning);
             // 鑾峰彇褰撳墠鍑虹墖闃熷垪璋冨簭鐘舵��
             jsonObject.append("isAllowReordering", Plchome.isAllowReordering);
             // 鏄惁闇�瑕佷汉宸ョ‘璁や笂鐗囩幓鐠�
             jsonObject.append("isConfirm", isConfirm);
+            // 鏌ヨ褰撳墠閾濇淇℃伅
+            Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
+            jsonObject.append("CurrentFrame", CurrentFrame);
 
-            // 璇诲幓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);// 鑾峰彇杩涚墖杞︾姸鎬�
-            if(datas1ListState!=null){
-                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);
-            }
+                
+            if (S7control.getinstance().CheckConnected() == true) {
+                // 鑾峰彇D01-D06,A01,A02,B01,B02鐘舵��
+                List<Short> DeviceList = S7control.getinstance().ReadWord("DB103.0", 10);
+                jsonObject.append("DeviceList", DeviceList);
+                // 鑾峰彇D01-D06,A01,A02,B01,B02鐜荤拑id
+                List<String> GlassIdList = new ArrayList<String>();
+                GlassIdList.add(spianService.queGlassid("DB103.40", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
 
-            // 鑾峰彇閾濇idDB106.DBW64
-            String frameno = spianService.queGlassid("DB103.270", 14).toString();
-            // String frameno="X12345611002GV";
-            if (!frameno.equals(Plchome.FrameNo)) {
-                Plchome.FrameNo = frameno;
-                try {
-                    north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
-                } catch (SQLException e) {
-                    // TODO Auto-generated catch block
-                    e.printStackTrace();
+                GlassIdList.add(spianService.queGlassid("DB103.184", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.212", 14).toString());
+
+                GlassIdList.add(spianService.queGlassid("DB103.128", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.142", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.156", 14).toString());
+
+                GlassIdList.add(spianService.queGlassid("DB103.72", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.86", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.100", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.114", 14).toString());
+                jsonObject.append("GlassIdList", GlassIdList);
+
+                // 璇诲幓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> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
-            boolean D01RequestState = D01Request.contains((short) 1);
-            // boolean D01RequestState =true;
-            jsonObject.append("D01RequestState", D01RequestState);
-
-            // 澶嶄綅鍊掕鏃�
-            // 鍦板潃104.9.6
-            List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
-            for (Boolean countdowns : countdown) {
-                jsonObject.append("countdown", countdowns);
-            }
-            // jsonObject.append("countdown", true);
-            // 澶嶄綅瀹屾垚淇″彿
-            List<Boolean> resets = S7control.getinstance().ReadBits("DB103.284", 1);
-            for (Boolean reset : resets) {
-                jsonObject.append("reset", reset);
-            }
-
-            // 鏄惁鎬ュ仠
-            List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
-            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);
-
+                // 鑾峰彇杩涚墖杞︾姸鎬�
+                List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
+                        1);// 鑾峰彇杩涚墖杞︾姸鎬�
+                if (datas1ListState != null) {
+                    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);
+                    }
+
+                }
+                // // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
+                // String frameno="X21763329601FB";
+                String frameno = spianService.queGlassid("DB103.270", 14).toString();
+                if (!frameno.equals(Plchome.FrameNo)) {
+                    Plchome.FrameNo = frameno;
+                    try {
+                        Short num=0;
+                        List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(Plchome.FrameNo);
+                        for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
+                            if(north_glass_buffer1.getstorageCage()==null){
+                                break;
+                            }
+                            num++;
+                        }
+                        if(num==north_glass_buffer1s.size()){
+                            north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+                        }else{
+                            Plchome.AluminumFrame=north_glass_buffer1s;
+                        }
+                    } catch (SQLException e) {
+                        // TODO Auto-generated catch block
+                        e.printStackTrace();
+                    }
+                }
+                if(AluminumFrame!=null){
+                    jsonObject.append("AluminumFrame", AluminumFrame);
+                }
+
+                // // 鑾峰彇閾濇idDB106.DBW64锛屾坊鍔犲埌鍑虹墖闃熷垪
+                // String frameno = spianService.queGlassid("DB103.270", 14).toString();
+                // // String frameno="X12345611002GV";
+                // // frameno="X21763329601FB";
+                // if (!frameno.equals(Plchome.FrameNo)) {
+                //     Plchome.FrameNo = frameno;
+                //     try {
+                //         Short num=0;
+                //         List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service.SelectAluminumFrameInfoById(Plchome.FrameNo);
+                //         for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
+                //             if(north_glass_buffer1.getstorageCage()==null){
+                //                 north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+                //                 break;
+                //             }
+                //             num++;
+                //         }
+                //         if(num==north_glass_buffer1s.size()){
+                //             jsonObject.append("AluminumFrame", north_glass_buffer1s);
+                //         }
+                //     } catch (SQLException e) {
+                //         // TODO Auto-generated catch block
+                //         e.printStackTrace();
+                //     }
+                // }
+
+                // 鑾峰彇杩涚墖璇锋眰鐘舵��
+                List<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+                boolean D01RequestState = D01Request.contains((short) 1);
+                // boolean D01RequestState =true;
+                jsonObject.append("D01RequestState", D01RequestState);
+
+                // 澶嶄綅鍊掕鏃�
+                // 鍦板潃104.9.6
+                List<Boolean> countdown = S7control.getinstance().ReadBits("DB104.9.6", 1);
+                for (Boolean countdowns : countdown) {
+                    jsonObject.append("countdown", countdowns);
+                }
+                // jsonObject.append("countdown", true);
+                // 澶嶄綅瀹屾垚淇″彿ss
+                List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
+                for (Boolean reset : resetss) {
+                    jsonObject.append("reset", reset);
+                }
+
+                // 鏄惁鎬ュ仠
+                List<Boolean> emergencystops = S7control.getinstance().ReadBits("DB104.5.1", 1);
+                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);
+
+                // }
+
+                // }
             }
 
             // 閾濇绾夸氦浜�
@@ -244,64 +321,65 @@
                         List<String> messages = webserver.getMessages();
 
                         if (!messages.isEmpty()) {
-                            // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
-                            String lastMessage = messages.get(messages.size() - 1);
+                            // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                            // String lastMessage = messages.get(messages.size() - 1);
                             // System.out.println("lastMessage锛�" + lastMessage);
-                            JSONArray messageArray = new JSONArray(lastMessage);
+                            // JSONArray messageArray = new JSONArray(lastMessage);
 
-                            try {
-                                // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
-                                if (messageArray.getJSONArray(0).size() > 0) {
-                                    // 鑾峰彇娑堟伅鏁扮粍
-                                    JSONArray jsonArray = messageArray.getJSONArray(0);
-                                    // 鍒涘缓涓�涓竷灏斿�煎垪琛�
-                                    List<Boolean> sValue = new ArrayList<>();
-                                    // 閬嶅巻娑堟伅鏁扮粍
-                                    for (int i = 0; i < jsonArray.size(); i++) {
-                                        // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
-                                        Object value = jsonArray.get(i);
-                                        // 妫�鏌ュ�兼槸鍚︽湁鏁�
-                                        if (value != null && !value.toString().equals("null")) {
-                                            try {
-                                                // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
-                                                String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
-                                                // 瑙f瀽涓哄竷灏斿��
-                                                boolean val = "1".equals(cleanedValue.trim());
-                                                // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
-                                                sValue.add(val);
-                                                System.out.println(
-                                                        "messageValue: " + Arrays.asList(val) + " added to the list");
+                            // try {
+                            // // 妫�鏌ョ储寮曟槸鍚︽湁鏁�
+                            // if (messageArray.getJSONArray(0).size() > 0) {
+                            // // 鑾峰彇娑堟伅鏁扮粍
+                            // JSONArray jsonArray = messageArray.getJSONArray(0);
+                            // // 鍒涘缓涓�涓竷灏斿�煎垪琛�
+                            // List<Boolean> sValue = new ArrayList<>();
+                            // // 閬嶅巻娑堟伅鏁扮粍
+                            // for (int i = 0; i < jsonArray.size(); i++) {
+                            // // 鑾峰彇娑堟伅鏁扮粍涓殑鍊�
+                            // Object value = jsonArray.get(i);
+                            // // 妫�鏌ュ�兼槸鍚︽湁鏁�
+                            // if (value != null && !value.toString().equals("null")) {
+                            // try {
+                            // // 绉婚櫎闈炴暟瀛楀拰鏁板瓧瀛楃
+                            // String cleanedValue = value.toString().replaceAll("[^0-9-]", "");
+                            // // 瑙f瀽涓哄竷灏斿��
+                            // boolean val = "1".equals(cleanedValue.trim());
+                            // // 灏嗗竷灏斿�兼坊鍔犲埌甯冨皵鍊煎垪琛ㄤ腑
+                            // sValue.add(val);
+                            // System.out.println(
+                            // "messageValue: " + Arrays.asList(val) + " added to the list");
 
-                                            } catch (NumberFormatException e) {
-                                                // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
-                                                System.err.println("Could not parse value: " + value);
-                                            }
-                                        }
-                                    }
-                                    // 缁堟杩涚墖浠诲姟
-                                    boolean Value1 = sValue.get(0);
-                                    boolean Value2 = sValue.get(1);
+                            // } catch (NumberFormatException e) {
+                            // // 濡傛灉鏃犳硶瑙f瀽涓� boolean 绫诲瀷锛屽垯蹇界暐璇ラ儴鍒�
+                            // System.err.println("Could not parse value: " + value);
+                            // }
+                            // }
+                            // }
+                            // // 缁堟杩涚墖浠诲姟
+                            // boolean Value1 = sValue.get(0);
+                            // boolean Value2 = sValue.get(1);
 
-                                    if (Value1) {
-                                        storageCageService.EndTask(0);
+                            // if (Value1) {
+                            // storageCageService.EndTask(0);
 
-                                    }
-                                    if (Value2) {
-                                        storageCageService.EndTask(1);
+                            // }
+                            // if (Value2) {
+                            // storageCageService.EndTask(1);
 
-                                    }
-                                    // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
-                                    if (!sValue.isEmpty()) {
+                            // }
+                            // // 妫�鏌ュ竷灏斿�煎垪琛ㄦ槸鍚︿负绌�
+                            // if (!sValue.isEmpty()) {
 
-                                        // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
-                                        S7control.getinstance().WriteBit(niuanaddressList3, sValue);
-                                        System.out.println(
-                                                "Values " + sValue + " written to PLC at address " + niuanaddressList3);
-                                    }
-                                }
-                            } catch (Exception e) {
-                                System.err.println("An error occurred while writing bit to PLC: " + e.getMessage());
-                            }
+                            // // 璋冪敤 S7control.getinstance().WriteBit 鏂规硶灏嗗竷灏斿�煎垪琛ㄥ啓鍏ュ湴鍧�鍒楄〃
+                            // S7control.getinstance().WriteBit(niuanaddressList3, sValue);
+                            // System.out.println(
+                            // "Values " + sValue + " written to PLC at address " + niuanaddressList3);
+                            // }
+                            // }
+                            // } catch (Exception e) {
+                            // System.err.println("An error occurred while writing bit to PLC: " +
+                            // e.getMessage());
+                            // }
                             webserver.clearMessages();
                         }
 

--
Gitblit v1.8.0