wu
2024-03-12 f36e31f82fde353c7864ec1543fae99e5b193ed7
Merge branch 'master' of http://10.153.19.25:10101/r/Albania_Mes

# Conflicts:
# springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
5个文件已修改
107 ■■■■■ 已修改文件
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 57 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/entity/device/PlcParameterInfo.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/HomeService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
            }
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -176,7 +176,7 @@
        }
    }
    private int getIndexFromAddress(String address) {
springboot-vue3/src/main/java/com/example/springboot/entity/MeasureSetting.java
@@ -31,5 +31,6 @@
     * 线路
     */
    private Integer line;
}
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);
    }
}
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;
    }
}