From 12ae82141c1d6ed1a55922aae128ccfefb5b35dd Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期三, 24 一月 2024 13:34:06 +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 |  435 ++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 310 insertions(+), 125 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 64216cd..d81c8d7 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
@@ -1,125 +1,310 @@
-package com.example.springboot.component;
-
-import cn.hutool.json.JSONObject;
-
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-
-import com.example.springboot.entity.Out_slice;
-import com.example.springboot.entity.Queue;
-import com.example.springboot.entity.StorageCage;
-import com.example.springboot.entity.alarmmg;
-import com.example.springboot.mapper.HomeMapper;
-import com.example.springboot.mapper.SpianMapper;
-import com.example.springboot.service.JdbcConnections;
-
-
-public class Plchome extends Thread {
-
-    @Autowired
-    private HomeMapper homeMapper;
-    private SpianMapper spianMapper;
-    private JdbcConnections dbserve;
-    private JdbcConnections jdbcConnections;
-
-
-    public static Boolean isAllowQueue=true;
-    // public static Map b=new HashMap<>();
-    // b.put()
-    @Override
-    public void run() {
-        while (this != null) {
-            try {
-                Thread.sleep(1000);
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-            JSONObject jsonObject = new JSONObject();
-
-            // 娉ㄥ叆mapper
-            homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
-            spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
-            jdbcConnections = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
-            // 绗煎瓙浣跨敤鎯呭喌
-            List<StorageCage> tableData = homeMapper.selectAll();
-            jsonObject.append("tableData", tableData);
-            // 鏍肩悊鐗囩鏍煎瓙鐘舵��
-            List<StorageCage> cagelist1 = homeMapper.selectRack1();
-            List<StorageCage> cagelist2 = homeMapper.selectRack2();
-            List<StorageCage> cagelist3 = homeMapper.selectRack3();
-            List<StorageCage> cagelist4 = homeMapper.selectRack4();
-            jsonObject.append("cagelist1", cagelist1);
-            jsonObject.append("cagelist2", cagelist2);
-            jsonObject.append("cagelist3", cagelist3);
-            jsonObject.append("cagelist4", cagelist4);
-            // 杩涘嚭鐗囦换鍔�
-            List<StorageCage> tasklist1 = homeMapper.selectinout(3);
-            List<StorageCage> tasklist2 = homeMapper.selectinout(2);
-            jsonObject.append("tasklist1", tasklist1);
-            jsonObject.append("tasklist2", tasklist2);
-            // 鏌ヨ鎶ヨ淇℃伅
-            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);
-            // }
-            // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
-            String queid = spianMapper.Selectqueueid();
-            int state = spianMapper.Selectqueuestate();
-            jsonObject.append("queid", queid);
-            jsonObject.append("state", state);
-            // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
-            Queue form2 = homeMapper.GetQueueInfo(2);
-            Queue form3 = homeMapper.GetQueueInfo(1);
-            if(form2.getglassId()!=null&&form2.getglassId()!=""){
-                jsonObject.append("form2", form2);
-            }
-            if(form3.getglassId()!=null&&form3.getglassId()!=""){
-                jsonObject.append("form3", form3);
-            }
-            // 鑾峰彇鍑虹墖闃熷垪淇℃伅
-            List<Out_slice> listoutslice = homeMapper.SelectProductionqueue();
-            for (Out_slice out_slice : listoutslice) {
-                out_slice.setstorageCage(homeMapper.SelectStorageGlassById(out_slice.getGlassId()));
-            }
-            jsonObject.append("listoutslice", listoutslice);
-            //鑾峰彇褰撳墠鍑虹墖闃熷垪鐘舵��
-            jsonObject.append("isAllowQueue", isAllowQueue);
-            
-
-            dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
-            boolean dbconnected = false;
-            try {
-                dbserve.getConn();
-                dbconnected = true;
-            } catch (Exception e) {
-                // TODO: handle exception
-                dbconnected = false;
-            }
-            jsonObject.append("dbconnected", dbconnected);
-            // jsonObject.append("params", new short[] { 30, 40, });
-            WebSocketServer sendwServer = WebSocketServer.sessionMap.get("Home");
-            if (sendwServer != null) {
-                sendwServer.sendMessage(jsonObject.toString());
-            }
-
-        }
-    }
-}
+package com.example.springboot.component;
+
+import cn.hutool.json.JSONArray;
+import cn.hutool.json.JSONObject;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.example.springboot.service.*;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import com.example.springboot.entity.Out_slice;
+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;
+
+public class Plchome extends Thread {
+
+    @Autowired
+    private HomeMapper homeMapper;
+    private OutSliceServive outSliceServive;
+    private SpianMapper spianMapper;
+    private SpianService spianService;
+    private North_Glass_Buffer1Service north_Glass_Buffer1Service;
+    private JdbcConnections dbserve;
+    // 鍑虹墖闃熷垪鏄惁鍏佽鍑虹墖
+    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 StorageCageService storageCageService;
+
+    // public Plchome() throws IOException {
+    // config = new Configuration("config.properties");
+    // }
+
+    // public static Map b=new HashMap<>();
+    // b.put()
+    @Override
+    public void run() {
+        while (this != null) {
+            JSONObject jsonObject = new JSONObject();
+            try {
+                Thread.sleep(1000);
+                // 娉ㄥ叆mapper
+
+            homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
+            spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
+            spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
+            outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
+            north_Glass_Buffer1Service = WebSocketServer.applicationContext.getBean(North_Glass_Buffer1Service.class);
+            storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
+            dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+
+            // 绗煎瓙浣跨敤鎯呭喌
+            List<StorageCage> tableData = homeMapper.selectAll();
+            jsonObject.append("tableData", tableData);
+            // 鏍肩悊鐗囩鏍煎瓙鐘舵��
+            List<StorageCage> cagelist1 = homeMapper.selectRack1();
+            List<StorageCage> cagelist2 = homeMapper.selectRack2();
+            List<StorageCage> cagelist3 = homeMapper.selectRack3();
+            List<StorageCage> cagelist4 = homeMapper.selectRack4();
+            jsonObject.append("cagelist1", cagelist1);
+            jsonObject.append("cagelist2", cagelist2);
+            jsonObject.append("cagelist3", cagelist3);
+            jsonObject.append("cagelist4", cagelist4);
+            // 杩涘嚭鐗囦换鍔�
+            List<StorageCage> tasklist1 = homeMapper.selectinout(3);
+            List<StorageCage> tasklist2 = homeMapper.selectinout(2);
+            jsonObject.append("tasklist1", tasklist1);
+            jsonObject.append("tasklist2", tasklist2);
+            // 鏌ヨ鎶ヨ淇℃伅
+            List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
+            jsonObject.append("alarmmg", alarmmg);
+
+            // 浼� 鑾峰彇杩涙槸鍚︽湁寰呯‘璁ょ殑鐜荤拑id
+            String queid = spianMapper.Selectqueueid();
+            int state = spianMapper.Selectqueuestate();
+            jsonObject.append("queid", queid);
+            jsonObject.append("state", state);
+            // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
+            Queue form2 = homeMapper.GetQueueInfo(2);
+            Queue form3 = homeMapper.GetQueueInfo(1);
+            if (form2.getglassId() != null && form2.getglassId() != "") {
+                jsonObject.append("form2", form2);
+            }
+            if (form3.getglassId() != null && form3.getglassId() != "") {
+                jsonObject.append("form3", form3);
+            }
+            // 鑾峰彇鍑虹墖闃熷垪淇℃伅
+            List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
+            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);
+
+            // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
+            // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
+
+            
+
+            
+            
+
+           
+
+            // 閾濇绾夸氦浜�
+            if (CurrentFrame != null) {
+                S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(),"DB17.0");
+            }
+            String E01id=S7controlLK.getinstance().readStrings("DB17.0");
+            String J01id=S7controlLK.getinstance().readStrings("DB17.22");
+            
+            List<Short> liststates=S7controlLK.getinstance().ReadWord("DB17.38", 1);
+            List<Short> liststate=S7controlLK.getinstance().ReadWord("DB17.20", 1);
+            Short framerequest = liststate.get(0);
+                if (framerequest == 1) {
+                    // 閾濇id
+                    String position;
+                    try {
+                        position = dbserve.SelectPositionByFrameBarcode(J01id);
+                    } catch (SQLException e) {
+                        // TODO Auto-generated catch block
+                        position = "0";
+                        e.printStackTrace();
+                    }
+                    Short send;
+                    if (position.equals("0")) {
+                        send = 0;
+                    } else {
+                        send = 1;
+                    }
+                    S7controlLK.getinstance().WriteWord("DB17.38", (short) send);
+                }
+            
+            
+
+            if (S7control.getinstance().CheckConnected() == true) {
+                // 鑾峰彇褰撳墠鎵爜鏂瑰紡
+
+                List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
+                if (Scanningmethods != null) {
+                    for (Boolean Scanningmethod : Scanningmethods) {
+                        jsonObject.append("Scanningmethod", Scanningmethod);
+                    }
+                }
+
+                String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
+                jsonObject.append("CurrrentGlassId", CurrrentGlassId);
+
+                // 鑾峰彇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.44", 14).toString());
+                GlassIdList.add(spianService.queGlassid("DB103.58", 14).toString());
+
+                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> 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);
+                }
+
+                // 鑾峰彇杩涚墖璇锋眰鐘舵��
+                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);
+                }
+            }
+
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            
+
+            
+            
+            boolean dbconnected = false;
+            try {
+                dbserve.getConn();
+                dbconnected = true;
+            } catch (Exception e) {
+                // TODO: handle exception
+                dbconnected = false;
+            }
+            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 (webserver != null) {
+
+                        List<String> messages = webserver.getMessages();
+
+                        if (!messages.isEmpty()) {
+                            // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
+                            webserver.clearMessages();
+                        }
+
+                    }
+
+                }
+            }
+        }
+    }
+}

--
Gitblit v1.8.0