From 7dfc5501decb84bce7fe0563956eae705844a2f2 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期五, 17 五月 2024 08:52:52 +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 |  676 ++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 414 insertions(+), 262 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 46a5d6b..e4b097a 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,25 +1,26 @@
 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.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_frame_buffer1_frames;
 import com.example.springboot.entity.north_glass_buffer1;
 import com.example.springboot.mapper.HomeMapper;
 import com.example.springboot.mapper.SpianMapper;
 
+@Slf4j
 public class Plchome extends Thread {
 
     @Autowired
@@ -37,13 +38,24 @@
     // 閾濇id
     public static String FrameNo = "";
     // 鏄惁闇�瑕佹墜鍔ㄧ‘璁ょ幓鐠�
-    public static Boolean isConfirm = false;
+    public static Boolean isConfirm = true;
     // 寰呯‘璁ょ殑鍑虹墖闃熷垪
     public static List<north_glass_buffer1> AluminumFrame;
+    // 寰呯‘璁ょ殑閾濇淇℃伅
+    public static north_frame_buffer1_frames AluminumFrameInfo=new north_frame_buffer1_frames();
 
     // private Configuration config;
 
     private StorageCageService storageCageService;
+
+    public static Boolean FeedState = false;
+
+    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");
@@ -53,280 +65,420 @@
     // b.put()
     @Override
     public void run() {
+                
         while (this != null) {
+            Short zhi = 0;
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.append("feedglassid", feedglassid);
+            
             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);
 
-            } catch (InterruptedException e) {
-                e.printStackTrace();
-            }
-            JSONObject jsonObject = new JSONObject();
-
-            // 娉ㄥ叆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);
-            // 绗煎瓙浣跨敤鎯呭喌
-            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);
-
-            // List<Short> listd17 = S7control.getinstance().ReadWord("DB17.0",10);
-            // String id=spianService.queGlassid("DB17.10", 14).toString();
-            //
-            // // 閾濇绾夸氦浜�
-            // try {
-            // if (CurrentFrame != null) {
-            // spianService.outmesid(CurrentFrame.getBarCode(), "DB17.0");
-            // }
-            // List<Short> framerequests = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
-            // for (Short framerequest : framerequests) {
-            // if (framerequest == 1) {
-            // // 閾濇id
-            // String franmeno = spianService.queGlassid("DB17.10", 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);
-            // }
-            // }
-            // } catch (Exception e) {
-            // // TODO: handle exception
-            // }
-
-            // 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.40", 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;
+                // boolean dbconnected = false;
                 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;
+                    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);
+                // }
+                // }
+                // }
+                // String frameno ="X226422133V";
+                //     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==0){
+                //                 Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
+                //                 if(Plchome.AluminumFrameInfo.getbarcode()!=null){
+                //                     int sequence = homeMapper.SelectMaxSquence();
+                //                     homeMapper.AddOutSliceS("", AluminumFrameInfo.getflip().toString(), Plchome.FrameNo, "0", "0", sequence,  "0", (short)0,  AluminumFrameInfo.getordernumber(),AluminumFrameInfo.getlistnumber() , AluminumFrameInfo.getboxnumber(), "0", "0", AluminumFrameInfo.getframelength().toString(), AluminumFrameInfo.getframeheight().toString());
+                //                     Plchome.AluminumFrameInfo=new north_frame_buffer1_frames();
+                //                     // 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);
+                //                 }
+                //             }else{
+                //                 if (num == north_glass_buffer1s.size()) {
+                //                     north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+                //                 } else {
+                //                     Plchome.AluminumFrame = north_glass_buffer1s;
+                //                     Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
+                //                 }
+                //             }
+                            
+                //         } catch (SQLException e) {
+                //             // TODO Auto-generated catch block
+                //             e.printStackTrace();
+                //         }
+                //     }
+
+                // 绗煎瓙浣跨敤鎯呭喌
+                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));
+                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();
                         }
-                        num++;
+                        Short send;
+                        if (position.equals("1")) {
+                            send = 1;
+                        } else {
+                            send = 2;
+                        }
+                        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);
                     }
-                    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
+
+                    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 (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);
+                if (S7control.getinstance().CheckConnected() == true) {
 
-            // 澶嶄綅鍊掕鏃�
-            // 鍦板潃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);
-
-            // }
-
-            // }
-            // }
-
-            storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
-            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, });
-            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();
+                    // 鑾峰彇褰撳墠鎵爜鏂瑰紡
+                    List<Boolean> Scanningmethods = S7control.getinstance().ReadBits("DB101.11.4", 1);
+                    if (Scanningmethods != null) {
+                        for (Boolean Scanningmethod : Scanningmethods) {
+                            jsonObject.append("Scanningmethod", Scanningmethod);
                         }
-
+                    }
+                    // 鑾峰彇褰撳墠鎵爜鏋幓鐠僫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 < 225 || width < 380 || height > 1810 || width > 2760) {
+                                zhi = 600;
+                            } else {
+                                zhi = spianService.selectAlls(form6);
+                            }
+                        }
                     }
 
+                    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", 11).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==0){
+                                Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
+                                if(Plchome.AluminumFrameInfo.getbarcode()!=null){
+                                    int count=homeMapper.SelectCountFrame(AluminumFrameInfo.getbarcode());
+                                    if(count==0){
+                                        int sequence = homeMapper.SelectMaxSquence();
+                                        homeMapper.AddOutSliceS("", AluminumFrameInfo.getflip().toString(), Plchome.FrameNo, "0", "0", sequence,  "0", (short)3,  AluminumFrameInfo.getordernumber(),AluminumFrameInfo.getlistnumber() , AluminumFrameInfo.getboxnumber(), "0", "0", AluminumFrameInfo.getframelength().toString(), AluminumFrameInfo.getframeheight().toString());
+                                        log.info("NoGlass"+AluminumFrameInfo.getbarcode());
+                                        Plchome.AluminumFrameInfo=new north_frame_buffer1_frames();
+                                    }
+                                    
+                                    
+                                    // 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);
+                                }
+                            }else{
+                                if (num == north_glass_buffer1s.size()) {
+                                    north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
+                                } else {
+                                    Plchome.AluminumFrame = north_glass_buffer1s;
+                                    Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
+                                }
+                            }
+                            
+                        } catch (SQLException e) {
+                            // TODO Auto-generated catch block
+                            e.printStackTrace();
+                        }
+                    }
+                    
+
+                    // 澶嶄綅鍊掕鏃�
+                    // 鍦板潃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> 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<Short> D01Request = S7control.getinstance().ReadWord("DB106.24", 1);
+                    boolean D01RequestState = D01Request.contains((short) 1);
+                    jsonObject.append("D01RequestState", D01RequestState);
+
+                    // 鑾峰彇杩涚墖鍙戦�佺姸鎬�
+                    List<Short> D01respnse = S7control.getinstance().ReadWord("DB106.16", 1);
+                    boolean D01ResponseState = D01respnse.contains((short) 1);
+                    // jsonObject.append("D01RequestState", D01RequestState);
+                    // 鑷姩杩涚墖
+                    if (isConfirm == true && form3.getglassId() != null && form3.getglassId() != "") {
+                        double width = 0;
+                        double height = 0;
+                        if (form3.getglassheight() < form3.getglasswidth()) {
+                            height = form3.getglassheight();
+                            width = form3.getglasswidth();
+                        } else {
+                            height = form3.getglasswidth();
+                            width = form3.getglassheight();
+                        }
+                        if (height < 225 || width < 380 || height > 1810 || width > 2760) {
+                            zhi = 600;
+                        } else {
+                            if (D01RequestState == true && D01ResponseState != true) {
+                                zhi = storageCageService.InsertQueueGlassIds((short) 1, form3);
+                            }
+                        }
+                    }
+                    plc1=true;
+                } else {
+                    plc1=false;
+                    log.info("Plc1" + S7controlLK.getinstance().CheckConnected());
                 }
+                if (AluminumFrame != null) {
+                    jsonObject.append("AluminumFrame", AluminumFrame);
+                }
+                if (AluminumFrameInfo.getbarcode() != null) {
+                    jsonObject.append("AluminumFrameInfo", AluminumFrameInfo);
+                }
+                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) {
+                        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) {
+                e.printStackTrace();
             }
+
         }
     }
 }

--
Gitblit v1.8.0