wu
2024-11-19 b092806a662b99310cdb050292de2721ba06acd9
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -3,15 +3,18 @@
import cn.hutool.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
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.Glass;
import com.example.springboot.entity.GlassInfo;
import com.example.springboot.entity.MeasureSetting;
import com.example.springboot.entity.OutTask;
import com.example.springboot.entity.Out_slice;
import com.example.springboot.entity.Queue;
import com.example.springboot.entity.StorageCage;
@@ -31,6 +34,8 @@
    private HomeMapper homeMapper;
    @Autowired
    private HomeService HomeService;
    @Autowired
    private GlassInfoMapper glassInfoMapper;
    private QueueMapper QueueMapper;
    private OutSliceServive outSliceServive;
@@ -63,19 +68,20 @@
    @Override
    public void run() {
        while (this != null) {
            JSONObject jsonObject = new JSONObject();
            try {
                Thread.sleep(1000);
                Thread.sleep(500);
                // 注入mapper
                HomeService = WebSocketServer.applicationContext.getBean(HomeService.class);
                QueueMapper = WebSocketServer.applicationContext.getBean(QueueMapper.class);
                homeMapper = WebSocketServer.applicationContext.getBean(HomeMapper.class);
                outSliceServive = WebSocketServer.applicationContext.getBean(OutSliceServive.class);
                storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
                glassInfoMapper = WebSocketServer.applicationContext.getBean(GlassInfoMapper.class);
                // 获取其车的位置
                if (S7control.getinstance().CheckConnected() == true) {
                if (S7control.getinstance().CheckConnected() == true && false) {
                    double carposition = 0;
                    float car = S7control.getinstance().readFloat32("DB10.1992");
                    carposition = (-40 + (car / (carend - carstart) * 595));
@@ -115,8 +121,8 @@
                // 是否需要人工确认上片玻璃
                jsonObject.append("isConfirm", isConfirm);
                // 查询当前铝框信息
                Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
                jsonObject.append("CurrentFrame", CurrentFrame);
                // Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
                // jsonObject.append("CurrentFrame", CurrentFrame);
                // 读取DB105区文件
                PlcParameterObject plcmes = PLCAutoMes.PlcMesObject;
@@ -128,49 +134,68 @@
                boolean istest = true;
                // String PlcRequest = "1";
                // String MesSend = "0";
                // double width = 0;
                // double height = 0;
                // double width = 727;
                // double height = 414;
                // 匹配
                // System.err.println(PlcRequest+","+MesSend+","+width+","+height);
                // if (plcmes.getPlcParameter("GaToMES").getValue() != null) {
                //     String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求
                //     String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送
                //     double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());// 宽
                //     double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高
                //     if ("0".equals(PlcRequest) && istest) {
                //         S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                //                 (short) 0);
                //     }
                //     if ("1".equals(PlcRequest) && "0".equals(MesSend)) {
                //         boolean is = HomeService.Normal(width, height, "1");
                //         if (is && istest) {
                //             // 测量成功
                //             S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                //                     (short) 1);
                if (plcmes.getPlcParameter("GaToMES").getValue() != null) {
                    String PlcRequest = plcmes.getPlcParameter("GaToMES").getValue();// 请求
                    String MesSend = plcmes.getPlcParameter("MESToGaStatus").getValue();// 发送
                    double width = Double.valueOf(plcmes.getPlcParameter("width").getValue());//
                    // 宽
                    double height = Double.valueOf(plcmes.getPlcParameter("Height").getValue());// 高
                    // if ("0".equals(PlcRequest) && "1".equals(MesSend)|| "0".equals(PlcRequest) && "4".equals(MesSend)) {
                    //     S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0);
                    // }
                    // if ("2".equals(PlcRequest) && "1".equals(MesSend)) {
                    //     S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0);
                    // }
                     if ("4".equals(PlcRequest)) {
                        S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),(short) 0);
                        System.out.println("收四归零");
                    }
                    // System.out.println("PlcRequest:" + PlcRequest+"MesSend:" + MesSend+"width:" +
                    // width+"height:" + height);
                //         } else if (istest) {
                //             // 重新测量
                //             S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                //                     (short) 4);
                //         }
                //     }
                // }
                    if ("1".equals(PlcRequest) && "0".equals(MesSend)) {
                        boolean is = HomeService.Normal(width, height, "1");
                        if (is && istest) {
                            // 测量成功
                            S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                                    (short) 1);
                        }
                        else if (istest) {
                            // 匹配失败
                            S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(),
                                    (short) 4);
                        }
                    }
                }
                // S7control.getinstance().WriteWord("DB14.170", (short)0);
                Queue LastQueue = QueueMapper.selectLastQueue();
                // 正在上片订单中的所有小片信息
                List<GlassInfo> glassInfoFlowCard = glassInfoMapper.selectOrderState(1);
                jsonObject.append("glassInfoFlowCard", glassInfoFlowCard);
                Queue LastQueue = QueueMapper.selectLastQueue2();
                if (LastQueue == null) {
                    Queue nullQueue = new Queue();
                    nullQueue.setglassId("");
                    nullQueue.setglassheight(0);
                    nullQueue.setglasswidth(0);
                    nullQueue.setglassheightmm(0);
                    nullQueue.setglasstype(0);
                    nullQueue.setglasswidthmm(0);
                    jsonObject.append("LastQueue", nullQueue);
                } else {
                    if (LastQueue.getstate() < 1) {
                        LastQueue.setglasswidth(0);
                        LastQueue.setglassheight(0);
                        LastQueue.setglasswidth(LastQueue.getglasswidthmm());
                        LastQueue.setglassheight(LastQueue.getglassheightmm());
                    }
                    jsonObject.append("LastQueue", LastQueue);
                }
@@ -189,8 +214,27 @@
                List<StorageTask> StoragTaskeTaskOut = storageCageService.SelectStorageTask(1);
                jsonObject.append("StoragTaskeTaskOut", StoragTaskeTaskOut);
                 // 查询当前出片队列
                 List<Map> OutTask = storageCageService.SelectOutTask();
                 jsonObject.append("OutTask", OutTask);
                 // 查询最后6次出片记录
                 List<Map> OutLog = storageCageService.SelectOutLog();
                 jsonObject.append("OutLog", OutLog);
                // 查询所有玻璃厚度和膜系
                List<GlassInfo> SelectMeasure = storageCageService.SelectMeasure();
                jsonObject.append("SelectMeasure", SelectMeasure);
                // 查询当前膜系厚度
                MeasureSetting SelectSetting = storageCageService.SelectSetting();
                jsonObject.append("SelectSetting", SelectSetting);
                // 查询现在的玻璃厚度和膜系
                Map StorageCageForm = storageCageService.StorageCageForm();
                jsonObject.append("StorageCageForm", StorageCageForm);
                // //查询当前订单任务
                List<FlowCard> OrderTask = storageCageService.SelectOrderTask();
                List<Flowcard> OrderTask = storageCageService.SelectOrderTask();
                jsonObject.append("OrderTask", OrderTask);
                // jsonObject.append("params", new short[] { 30, 40, });