ZengTao
2024-03-18 7a4da65b270b1eb8dadf1fbf46b09f25274f5422
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -4,24 +4,35 @@
import java.util.List;
import com.example.springboot.service.*;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.entity.Flowcard;
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.StorageTask;
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;
    // 出片队列是否允许出片
    public static Boolean isAllowQueue = true;
    public static Boolean isAllowReordering = true;
@@ -53,6 +64,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);
@@ -81,7 +94,6 @@
                jsonObject.append("alarmmg", alarmmg);
                
                // 获取出片队列信息
                List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
                jsonObject.append("listoutslice", listoutslice);
@@ -97,9 +109,43 @@
                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);