From 9472449b4ca46f482d13b6e628660c61101b443f Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期三, 08 五月 2024 14:55:53 +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 |  204 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 143 insertions(+), 61 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 f294138..237d034 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,31 +1,25 @@
 package com.example.springboot.component;
 
-import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
+import lombok.extern.slf4j.Slf4j;
 
-import java.io.IOException;
 import java.sql.SQLException;
 import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 
 import com.example.springboot.service.*;
 
-import org.apache.ibatis.annotations.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 
-import com.example.springboot.entity.Glass;
 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.entity.device.PlcParameterObject;
 import com.example.springboot.mapper.HomeMapper;
 import com.example.springboot.mapper.SpianMapper;
 
+@Slf4j
 public class Plchome extends Thread {
 
     @Autowired
@@ -39,11 +33,11 @@
     public static Boolean isAllowQueue = true;
     public static Boolean isAllowReordering = true;
     // 鍑虹墖闃熷垪璀﹀憡
-    public static Boolean isQueueWarning = true;
+    public static Boolean isQueueWarning = false;
     // 閾濇id
     public static String FrameNo = "";
     // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
-    public static Boolean isConfirm = false;
+    public static Boolean isConfirm = true;
     // 寰呯‘璁ょ殑鍑虹墖闃熷垪
     public static List<north_glass_buffer1> AluminumFrame;
 
@@ -55,6 +49,11 @@
 
     public static StringBuilder feedglassid;
 
+    public static Boolean dbconnected = false;
+
+    public static Boolean plc1 = true;
+    public static Boolean plc2 = false;
+
     // public Plchome() throws IOException {
     // config = new Configuration("config.properties");
     // }
@@ -64,6 +63,7 @@
     @Override
     public void run() {
         while (this != null) {
+            Short zhi = 0;
             JSONObject jsonObject = new JSONObject();
             jsonObject.append("feedglassid", feedglassid);
             try {
@@ -77,6 +77,41 @@
                         .getBean(North_Glass_Buffer1Service.class);
                 storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
                 dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
+
+                // boolean dbconnected = false;
+                try {
+                    dbserve.getConn();
+                    dbconnected = true;
+                } catch (Exception e) {
+                    e.printStackTrace();
+                    dbconnected = false;
+                    log.info("dbconnected:" + dbconnected);
+                }
+                jsonObject.append("dbconnected", dbconnected);
+                // // 鑾峰彇褰撳墠鎵爜鏋幓鐠僫d
+                // String CurrrentGlassId = "X22595911002GV";
+                // if (CurrrentGlassId.toString() != "" && CurrrentGlassId.toString() != null) {
+                // north_glass_buffer1 form6 =
+                // dbserve.SelectGlassByGlassIdOrderIdFrameIdouts(CurrrentGlassId, "",
+                // "");
+                // if (form6.getbarcode() != null) {
+                // jsonObject.append("form6", form6);
+                // double width = 0;
+                // double height = 0;
+                // if (form6.getglassheightmm() < form6.getglasslengthmm()) {
+                // height = form6.getglassheightmm();
+                // width = form6.getglasslengthmm();
+                // } else {
+                // height = form6.getglasslengthmm();
+                // width = form6.getglassheightmm();
+                // }
+                // if (height < 380 || width < 380 || height > 1810 || width > 2760) {
+                // zhi = 600;
+                // } else {
+                // zhi = spianService.selectAlls(form6);
+                // }
+                // }
+                // }
 
                 // 绗煎瓙浣跨敤鎯呭喌
                 List<StorageCage> tableData = homeMapper.selectAll();
@@ -130,39 +165,72 @@
 
                 // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
                 // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
+                try {
+                    // 閾濇绾夸氦浜�
+                    // if (S7controlLK.getinstance().CheckConnected() == true) {
+                    // E02鐜荤拑id
+                    // log.info("frame1"+S7controlLK.getinstance().CheckConnected());
+                    String E02id="";
+                    try {
+                        E02id= S7controlLK.getinstance().readStrings("DB17.40");
+                        plc2=true;
+                    } catch (Exception e) {
+                        // TODO: handle exception
+                        plc2=false;
+                        e.printStackTrace();
+                    }
+                    
+                    jsonObject.append("Plc2", plc2);
+                    // log.info("閾濇绾胯鍙�2"+S7controlLK.getinstance().CheckConnected());
+                    
+                    // log.info("E02id"+E02id);
+                    outSliceServive.FrameStateUpdate(E02id);
+                    if (CurrentFrame != null) {
+                        S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(), "DB17.0");
+                    }
+                    String J01id = S7controlLK.getinstance().readStrings("DB17.22");
+                    List<Short> liststate = S7controlLK.getinstance().ReadWord("DB17.20", 1);
+                    Short framerequest = liststate.get(0);
+                    // log.info("liststate:" + liststate);
+                    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 = 2;
+                        } else {
+                            send = 1;
+                        }
+                        if (J01id != null) {
+                            int barcodeState = spianMapper.SelectOverState(J01id);// 鑾峰彇璇ラ摑妗嗙殑鐘舵��
+                            if (barcodeState == 0) {// 褰撹閾濇鎵�鏈夌殑鐜荤拑閮芥槸瀹屾垚鐘舵�佹椂鍒犻櫎鍦ㄥ嚭鐗囬槦鍒楃殑鏁版嵁
+                                spianMapper.DeleteQueue(J01id);
+                                // log.info("deleteoutslice:" + J01id);
+                            }
+                        }
+                        S7controlLK.getinstance().WriteWord("DB17.38", (short) send);
+                    }
+
+                    String E01id = S7controlLK.getinstance().readStrings("DB17.0");
+                    // log.info("frameno:" + E01id);
+                    List<Short> liststates = S7controlLK.getinstance().ReadWord("DB17.38", 1);
+                    // log.info("frameflip:" + liststates);
+                    // }else{
+                    // log.info("Plc2"+S7controlLK.getinstance().CheckConnected());
+                    // jsonObject.append("Plc2", false);
+                    // }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
 
                 if (S7control.getinstance().CheckConnected() == true) {
-
-                    // 閾濇绾夸氦浜�
-                    if (S7controlLK.getinstance().CheckConnected() == true) {
-                        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);
-                        }
-                    }
 
                     // 鑾峰彇褰撳墠鎵爜鏂瑰紡
                     List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
@@ -173,6 +241,28 @@
                     }
                     // 鑾峰彇褰撳墠鎵爜鏋幓鐠僫d
                     String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
+                    if (CurrrentGlassId.toString() != "" && CurrrentGlassId.toString() != null) {
+                        north_glass_buffer1 form6 = dbserve.SelectGlassByGlassIdOrderIdFrameIdouts(CurrrentGlassId, "",
+                                "");
+                        if (form6.getbarcode() != null) {
+                            jsonObject.append("form6", form6);
+                            double width = 0;
+                            double height = 0;
+                            if (form6.getglassheightmm() < form6.getglasslengthmm()) {
+                                height = form6.getglassheightmm();
+                                width = form6.getglasslengthmm();
+                            } else {
+                                height = form6.getglasslengthmm();
+                                width = form6.getglassheightmm();
+                            }
+                            if (height < 380 || width < 380 || height > 1810 || width > 2760) {
+                                zhi = 600;
+                            } else {
+                                zhi = spianService.selectAlls(form6);
+                            }
+                        }
+                    }
+
                     jsonObject.append("CurrrentGlassId", CurrrentGlassId);
 
                     // 鑾峰彇D01-D06,A01,A02,B01,B02鐘舵��
@@ -287,42 +377,34 @@
                             width = form3.getglassheight();
                         }
                         if (height < 380 || width < 380 || height > 1810 || width > 2760) {
-                            FeedState = true;
-                            jsonObject.append("FeedState", FeedState);
-                            FeedState = false;
+                            zhi = 600;
                         } else {
                             if (D01RequestState == true && D01ResponseState != true) {
-                                storageCageService.InsertQueueGlassId((short) 1, form3);
+                                zhi = storageCageService.InsertQueueGlassIds((short) 1, form3);
                             }
                         }
                     }
+                    plc1=true;
+                } else {
+                    plc1=false;
+                    log.info("Plc1" + S7controlLK.getinstance().CheckConnected());
                 }
-                boolean dbconnected = false;
-                try {
-                    dbserve.getConn();
-                    dbconnected = true;
-                } catch (Exception e) {
-                    // TODO: handle exception
-                    dbconnected = false;
-                }
-                jsonObject.append("dbconnected", dbconnected);
+                jsonObject.append("zhi", zhi);
+                jsonObject.append("Plc1", plc1);
                 // 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) {
-
+                        if (webserver != null && webserver.session.isOpen()) {
+                            webserver.sendMessage(jsonObject.toString());
                             List<String> messages = webserver.getMessages();
-
                             if (!messages.isEmpty()) {
                                 // // 灏嗘渶鍚庝竴涓秷鎭浆鎹负鏁存暟绫诲瀷鐨勫垪琛�
                                 webserver.clearMessages();
                             }
-
+                        } else {
+                            log.info("Home is closed");
                         }
-
                     }
                 }
             } catch (InterruptedException | SQLException e) {

--
Gitblit v1.8.0