From 64cad8c9b74d1450e873ce378110a7ed8c1aef56 Mon Sep 17 00:00:00 2001
From: wuyouming666 <2265557248@qq.com>
Date: 星期一, 22 一月 2024 09:04:34 +0800
Subject: [PATCH] 增加xlsx转换为json 工具类

---
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java |  223 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 176 insertions(+), 47 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 9de15ae..46a5d6b 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,23 +1,24 @@
 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;
-import com.example.springboot.service.JdbcConnections;
-import com.example.springboot.service.North_Glass_Buffer1Service;
-import com.example.springboot.service.OutSliceServive;
-import com.example.springboot.service.SpianService;
 
 public class Plchome extends Thread {
 
@@ -30,10 +31,23 @@
     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 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()
@@ -49,6 +63,7 @@
             JSONObject jsonObject = new JSONObject();
 
             // 娉ㄥ叆mapper
+
             homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
             spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
             spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
@@ -92,10 +107,86 @@
             // 鑾峰彇鍑虹墖闃熷垪淇℃伅
             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>();
@@ -108,28 +199,47 @@
             // 鑾峰彇杩涚墖杞︾姸鎬�
             List<Short> datas1ListState = S7control.getinstance().ReadWord("DB106.8",
                     1);// 鑾峰彇杩涚墖杞︾姸鎬�
-            boolean exist1 = datas1ListState.contains((short) 0);
-            jsonObject.append("zhuangtai", exist1);
+            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)
+                if (inglassInfo.size() > 0) {
                     jsonObject.append("loadglassheight", inglassInfo.get(0) * 70);
-            }
-            
+                }
 
-            // 鑾峰彇閾濇idDB106.DBW64
-            String frameno=spianService.queGlassid("DB103.270",14).toString();
-            if(frameno!=Plchome.FrameNo&&frameno!=""){
-            Plchome.FrameNo=frameno;
             }
-            try {
-            north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
-            } catch (SQLException e) {
-            // TODO Auto-generated catch block
-            e.printStackTrace();
+            // // 鑾峰彇閾濇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);
@@ -144,9 +254,9 @@
                 jsonObject.append("countdown", countdowns);
             }
             // jsonObject.append("countdown", true);
-            // 澶嶄綅瀹屾垚淇″彿
-            List<Boolean> resets = S7control.getinstance().ReadBits("DB103.284", 1);
-            for (Boolean reset : resets) {
+            // 澶嶄綅瀹屾垚淇″彿ss
+            List<Boolean> resetss = S7control.getinstance().ReadBits("DB103.284", 1);
+            for (Boolean reset : resetss) {
                 jsonObject.append("reset", reset);
             }
 
@@ -156,30 +266,38 @@
                 jsonObject.append("emergencystop", emergencystop);
             }
 
-            // 閾濇绾夸氦浜�
-
-            // //閾濇id璇锋眰瀛�
-            // List<Short> framerequest = S7control.getinstance().ReadWord("閾濇id璇锋眰瀛楀湴鍧�", 1);
-            // if(framerequest!=null){
-            // //閾濇id
-            // String franmeno= spianService.queGlassid("閾濇id鍦板潃", 14).toString();
-            // String position;
-            // try {
-            // position=dbserve.SelectPositionByFrameBarcode(franmeno);
-            // } catch (SQLException e) {
-            // // TODO Auto-generated catch block
-            // position="0";
-            // e.printStackTrace();
-            // }
-            // Short send;
-            // if(position=="0"){
-            // send=0;
-            // }else{
-            // send=1;
-            // }
-            // S7control.getinstance().WriteWord("閾濇缈昏浆鍙戦�佸湴鍧�", (short)send);
+            // // 缁堟缁х画鎸夐挳
+            // 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 {
@@ -195,9 +313,20 @@
             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