严智鑫
2024-03-22 1fb67fa712ec8844a6e6215d71dd67c2a935a136
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -3,25 +3,40 @@
import java.util.ArrayList;
import java.util.List;
import com.example.springboot.service.*;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.beans.factory.annotation.Autowired;
import com.example.springboot.entity.Flowcard;
import com.example.springboot.entity.FlowCard;
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 +68,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);
@@ -60,13 +77,13 @@
                storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
                // 笼子使用情况
                List<StorageCage> tableData = homeMapper.selectAll();
                List<StorageCage> tableData = homeMapper.selectAlls();
                jsonObject.append("tableData", tableData);
                // 格理片笼格子状态
                List<StorageCage> cagelist1 = homeMapper.selectRack1();
                List<StorageCage> cagelist2 = homeMapper.selectRack2();
                List<StorageCage> cagelist3 = homeMapper.selectRack3();
                List<StorageCage> cagelist4 = homeMapper.selectRack4();
                List<StorageCage> cagelist1=storageCageService.SelectStorageCageByCage(1);
                List<StorageCage> cagelist2=storageCageService.SelectStorageCageByCage(2);
                List<StorageCage> cagelist3=storageCageService.SelectStorageCageByCage(3);
                List<StorageCage> cagelist4=storageCageService.SelectStorageCageByCage(4);
                jsonObject.append("cagelist1", cagelist1);
                jsonObject.append("cagelist2", cagelist2);
                jsonObject.append("cagelist3", cagelist3);
@@ -80,7 +97,6 @@
                List<alarmmg> alarmmg = homeMapper.SelectAlarmmgInfo();
                jsonObject.append("alarmmg", alarmmg);
                
                // 获取出片队列信息
                List<Out_slice> listoutslice = outSliceServive.SelectProductionqueue();
@@ -96,10 +112,40 @@
                // 查询当前铝框信息
                Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
                jsonObject.append("CurrentFrame", CurrentFrame);
                //读取DB105区文件
                PlcParameterObject plcmes=PLCAutoMes.PlcMesObject;
                //String PlcRequest=plcmes.getPlcParameter("GaToMES").getValue();//请求
                //String MesSend=plcmes.getPlcParameter("MESToGaStatus").getValue();//发送
                //double width=plcmes.getPlcParameter("Height").getValue();//宽
                //double height=plcmes.getPlcParameter("width").getValue();//高
                //获取测量的长,宽
                //String url="C:\\Users\\SNG-ZDH-012\\Desktop\\阿尔巴尼亚数据要求.xlsx";E:\
                //String url="E:\\阿尔巴尼亚数据要求.xlsx";
                // List result= HomeService.ReadExecl(url);
                // for(int i=0;i<result.size();i++){
                //     System.out.println(result.get(i));
                // }
                String PlcRequest = "1";
                String MesSend = "0";
                double width = 402;
                double height = 402;
                //匹配
                if ("1".equals(PlcRequest)&&"0".equals(PlcRequest)) {
                    GlassInfo MesureGlassinfo=HomeService.Normal(width, height, "1");
                }
                Queue LastQueue= QueueMapper.selectLastQueue();
                // String E01id = new String( S7controlLK.getinstance().ReadByte("DB17.0",16));
                // String J01id = new String( S7controlLK.getinstance().ReadByte("DB17.22",14));
                jsonObject.append("LastQueue", LastQueue);
                //查询理片笼信息
                List<StorageCage> StorageCageInfo = storageCageService.SelectStorageCageInfo();
                jsonObject.append("StorageCageInfo", StorageCageInfo);
@@ -113,7 +159,7 @@
                jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut);
                //查询当前订单任务
                List<Flowcard> OrderTask = storageCageService.SelectOrderTask();
                List<FlowCard> OrderTask = storageCageService.SelectOrderTask();
                jsonObject.append("OrderTask", OrderTask);
            } catch (InterruptedException e) {