From f36e31f82fde353c7864ec1543fae99e5b193ed7 Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期二, 12 三月 2024 15:43:22 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes

---
 springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java            |   43 +++++++++++++++++++++
 springboot-vue3/src/main/java/com/example/springboot/component/S7control.java            |    2 
 springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java          |    1 
 springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java |    4 ++
 springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java              |   57 +++++++++++++++++++++++++---
 5 files changed, 99 insertions(+), 8 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 43d90c2..ed2af46 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
@@ -5,23 +5,36 @@
 import java.util.List;
 import com.example.springboot.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
+
+import com.example.springboot.entity.GlassInfo;
+import com.example.springboot.entity.MeasureSetting;
 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.GlassInfoMapper;
+import com.example.springboot.mapper.MeasureSettingMapper;
+import com.example.springboot.mapper.QueueMapper;
 import com.example.springboot.mapper.SpianMapper;
 
 public class Plchome extends Thread {
 
     @Autowired
     private HomeMapper homeMapper;
+    @Autowired
+    private HomeService HomeService;
+    private QueueMapper QueueMapper;
+    private GlassInfoMapper GlassInfoMapper;
+    private MeasureSettingMapper MeasureSettingMapper;
     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;
@@ -53,6 +66,8 @@
             try {
                 Thread.sleep(1000);
                 // 娉ㄥ叆mapper
+                HomeService  = WebSocketServer.applicationContext.getBean(HomeService.class);
+                QueueMapper  = WebSocketServer.applicationContext.getBean(QueueMapper.class);
                 homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
                 spianMapper = WebSocketServer.applicationContext.getBean(SpianMapper.class);
                 spianService = WebSocketServer.applicationContext.getBean(SpianService.class);
@@ -83,7 +98,6 @@
                 List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
                 jsonObject.append("alarmmg", alarmmg);
 
-                
                 // 鑾峰彇鎵爜浣嶄笌涓婄墖浣嶇幓鐠冧俊鎭�
                 Queue form2 = homeMapper.GetQueueInfo(2);
                 Queue form3 = homeMapper.GetQueueInfo(1);
@@ -107,14 +121,45 @@
                 // 鏌ヨ褰撳墠閾濇淇℃伅
                 Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
                 jsonObject.append("CurrentFrame", CurrentFrame);
-
+              
+                //璇诲彇DB105鍖烘枃浠�
+                PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
+      
+                //String PlcRequest=plcmes.getPlcParameter("GaToMES").getValue();//鍑虹墖璇锋眰涓�绾�
+                //double width=plcmes.getPlcParameter("Height").getValue();//鍑虹墖璇锋眰涓�绾�
+                //double height=plcmes.getPlcParameter("width").getValue();//鍑虹墖璇锋眰涓�绾�
+                // 鑾峰彇娴嬮噺鐨勯暱锛屽
+                String PlcRequest = "1";
+                double width = 402;
+                double height = 402;
+                
+                //鑾峰彇鍖归厤璁剧疆
+                if ("1".equals(PlcRequest)) {
+                    List<GlassInfo> Result=HomeService.NormalGlassInfo(width, height, "1");
+                    if(Result.size()==1){
+                        //鍖归厤鎴愬姛  灏变竴绉嶇被鍨�  娣诲姞鏁版嵁
+                        GlassInfo GlassInfo=Result.get(0);
+                        QueueMapper.insert(GlassInfo.getGlassid(),width,height,1);
+                        System.out.println("鍖归厤鎴愬姛");
+                        //S7control.getinstance().WriteWord(plcmes.getPlcParameter("GaToMES").getAddress(), (short) 1);
+                        System.out.println(GlassInfo.getGlassid());
+                    }else if(Result.size()>1){
+                        //鍖归厤澶辫触 鍖归厤鍒板鏉$鍚堢殑鏁版嵁  娣诲姞鏁版嵁
+                        QueueMapper.insert(null,width,height,2);
+                        System.out.println("鍖归厤澶辫触");
+                    }
+                    else{
+                        //鍖归厤澶辫触 鏈壘鍒扮鍚堢殑鏁版嵁 娣诲姞鏁版嵁
+                        QueueMapper.insert(null,width,height,3);
+                        System.out.println("鏈壘鍒扮鍚堢殑鏁版嵁");
+                    }
+                    
+                }
                 // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
                 // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
+
                 
-                //鏌ヨ鐞嗙墖绗间俊鎭�
-                List<StorageCage> StorageCageInfo = storageCageService.SelectStorageCageInfo();
-                jsonObject.append("StorageCageInfo", StorageCageInfo);
-                
+
             } catch (InterruptedException e) {
                 e.printStackTrace();
             }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
index ce4f674..f069ca9 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -176,7 +176,7 @@
         }
     }
 
-
+    
 
 
     private int getIndexFromAddress(String address) {
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java b/springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java
index 92bfdef..583d8b1 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java
@@ -31,5 +31,6 @@
      * 绾胯矾
      */
     private Integer line;
+    
 
 }
diff --git a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java
index e1d7e6e..f0bc2e2 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java
@@ -91,6 +91,7 @@
         public void setRatio(int ratio) {
             this.ratio = ratio;
         }
+       
 
            /**
      * 鑾峰彇鍦板潃
@@ -121,4 +122,7 @@
 
         return addressIndex;
     }
+    public String getAddress() {
+       return getAddress(this.addressIndex);
+    }
 }
\ No newline at end of file
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java b/springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java
index 0daec53..452b8eb 100644
--- a/springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java
@@ -1,9 +1,50 @@
 package com.example.springboot.service;
 
+import java.util.ArrayList;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.example.springboot.entity.GlassInfo;
+import com.example.springboot.entity.MeasureSetting;
+import com.example.springboot.mapper.GlassInfoMapper;
+import com.example.springboot.mapper.MeasureSettingMapper;
+import com.example.springboot.mapper.QueueMapper;
 
 @Service
 public class HomeService {
-    
+
+    @Autowired
+    MeasureSettingMapper MeasureSettingMapper;
+    @Autowired
+    GlassInfoMapper GlassInfoMapper;
+    @Autowired
+    QueueMapper QueueMapper;
+
+    // 鍖归厤鐜荤拑 瀹斤紝楂橈紝绾胯矾
+    public List<GlassInfo> NormalGlassInfo(double width, double height, String line) {
+        //
+        List<GlassInfo> Results=new ArrayList<GlassInfo>();
+        // 鑾峰彇鍖归厤璁剧疆
+        MeasureSetting MeasureSetting = MeasureSettingMapper.SelectMeasureSetting(line);
+        if (height > 0 && width > 0 && MeasureSetting != null) {
+            // 鏈夋晥鍙傛暟 璇锋眰=1 闀�/瀹�>0
+            double maxheight = height + MeasureSetting.getErrorHeight();
+            double minheight = height - MeasureSetting.getErrorHeight();
+            double maxwidth = width + MeasureSetting.getErrorWidth();
+            double minwidth = width - MeasureSetting.getErrorWidth();
+            // 鏌ヨ褰撳墠娴嬮噺鏁版嵁
+            List<GlassInfo> GlassInfos = GlassInfoMapper.selectGlassInfos(maxwidth, minwidth, maxheight, minheight);
+            List types = new ArrayList<>();
+            for (int i = 0; i < GlassInfos.size(); i++) {
+                Integer glasstype = GlassInfos.get(i).getGlasstype();
+                if (!types.contains(glasstype)) {
+                    types.add(glasstype);
+                    Results.add(GlassInfos.get(i));
+                }
+            }
+        }
+        return Results;
+    }
 }

--
Gitblit v1.8.0