hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/PushMessageToIndex.java
@@ -3,6 +3,7 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.xingshuangs.iot.protocol.modbus.service.ModbusTcp;
import com.github.xingshuangs.iot.protocol.s7.serializer.S7Serializer;
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
@@ -25,6 +26,7 @@
import com.mes.largenscreen.entity.RunTime;
import com.mes.s7.entity.S7DataZKDLPOne;
import com.mes.s7.entity.S7DataZKDLPTwo;
import com.mes.s7.entity.S7DataZKExtra;
import com.mes.tools.WebSocketServer;
import com.mes.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
@@ -74,23 +76,39 @@
    @Qualifier("s7SerializerZKDLPTwo")
    private S7Serializer s7SerializerZKDLPTwo;
    @Autowired
    @Qualifier("s7SerializerZKQ2")
    private S7Serializer s7SerializerZKQ2;
    @Autowired
    @Qualifier("CMJ1ModbusTcp")
    ModbusTcp CMJ1ModbusTcp;
    @Autowired
    @Qualifier("CMJ2ModbusTcp")
    ModbusTcp CMJ2ModbusTcp;
    private Integer offset = 40001;
    @Resource
    RedisUtil redisUtil;
    @Scheduled(fixedDelay = 5000)
    public void hollowGlassTaskOne() {
        hollowGlassTaskChild(930, "CMJ1.CMJ1.isFree", "HollowGlassOne");
        hollowGlassTaskChild(930, CMJ1ModbusTcp.readUInt16(42027 - offset) + "", "HollowGlassOne");
    }
    @Scheduled(fixedDelay = 5000)
    public void hollowGlassTaskTwo() {
        hollowGlassTaskChild(931, "ZKQ2.ZKQ2.isFree", "HollowGlassTwo");
        S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class);
        hollowGlassTaskChild(931, (s7DataZKExtra.getIsFree() ? 1 : 0) + "", "HollowGlassTwo");
    }
    @Scheduled(fixedDelay = 5000)
    public void hollowGlassTaskThree() {
        S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class);
        //todo:暂无三线的空闲状态信号,临时标签空闲状态
        hollowGlassTaskChild(932, "ZKQ3.ZKQ3.isFree", "HollowGlassThree");
        hollowGlassTaskChild(932, (s7DataZKExtra.getIsFree03() ? 1 : 0) + "", "HollowGlassThree");
    }
    public void hollowGlassTaskChild(int cell, String isFreeTag, String websocketName) {
@@ -102,10 +120,10 @@
            List<HollowGlassQueueInfo> list = hollowGlassQueueInfoService.list(new LambdaQueryWrapper<HollowGlassQueueInfo>().in(HollowGlassQueueInfo::getRelationId, taskIdList));
            jsonObject.append("queueInfo", list);
        }
        try {
            //930空闲信号
            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa(isFreeTag);
            jsonObject.append("freeRequest", freeOneRequestEntity.getValue());
            jsonObject.append("freeRequest", isFreeTag);
        } catch (Exception e) {
            log.error("opc存在异常", e);
        }
@@ -151,6 +169,7 @@
    public void queryDataSource1(JSONObject jsonObject) throws Exception {
        S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class);
        S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class);
        S7DataZKExtra s7DataZKExtra = s7SerializerZKQ2.read(S7DataZKExtra.class);
        List<Double> carPostion = new ArrayList<>();
        carPostion.add(0.25);
        carPostion.add(0.5);
@@ -163,7 +182,7 @@
            List<BigStorageTaskVO> inTaskList = new ArrayList();
//            ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1");
            String fromOpcUa = s7DataZKDLPOne.getFrom1().toString();
            for (int i = 1; i <= 6; i++) {
            for (int i = 0; i < 6; i++) {
//                ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i);
//                ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i);
//                ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i);
@@ -172,32 +191,32 @@
                String targetSlotWord = "";
                switch (i) {
                    case 0:
                        requestWord = s7DataZKDLPOne.getId1().toString();
                        requestWord = s7DataZKDLPOne.getId1();
                        stateWord = s7DataZKDLPOne.getState1().toString();
                        targetSlotWord = s7DataZKDLPOne.getTo1().toString();
                        break;
                    case 1:
                        requestWord = s7DataZKDLPOne.getId2().toString();
                        requestWord = s7DataZKDLPOne.getId2();
                        stateWord = s7DataZKDLPOne.getState2().toString();
                        targetSlotWord = s7DataZKDLPOne.getTo2().toString();
                        break;
                    case 2:
                        requestWord = s7DataZKDLPOne.getId3().toString();
                        requestWord = s7DataZKDLPOne.getId3();
                        stateWord = s7DataZKDLPOne.getState3().toString();
                        targetSlotWord = s7DataZKDLPOne.getTo3().toString();
                        break;
                    case 3:
                        requestWord = s7DataZKDLPOne.getId4().toString();
                        requestWord = s7DataZKDLPOne.getId4();
                        stateWord = s7DataZKDLPOne.getState4().toString();
                        targetSlotWord = s7DataZKDLPOne.getTo4().toString();
                        break;
                    case 4:
                        requestWord = s7DataZKDLPOne.getId5().toString();
                        requestWord = s7DataZKDLPOne.getId5();
                        stateWord = s7DataZKDLPOne.getState5().toString();
                        targetSlotWord = s7DataZKDLPOne.getTo5().toString();
                        break;
                    case 5:
                        requestWord = s7DataZKDLPOne.getId6().toString();
                        requestWord = s7DataZKDLPOne.getId6();
                        stateWord = s7DataZKDLPOne.getState6().toString();
                        targetSlotWord = s7DataZKDLPOne.getTo6().toString();
                        break;
@@ -255,20 +274,77 @@
            String outRequestEntity = s7DataZKDLPTwo.getRequestMes().toString();
            jsonObject.append("outInkageEntity", outInkageEntity);
            //930空闲信号
            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
            jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue());
//            ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree");
//            jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue());
            jsonObject.append("freeOneRequestEntity", CMJ1ModbusTcp.readUInt16(42027 - offset));
            //931空闲信号
            ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
            jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
//            ReadWriteEntity freeTwoRequestEntity = miloService.readFromOpcUa("ZKQ2.ZKQ2.isFree");
//            jsonObject.append("freeTwoRequestEntity", freeTwoRequestEntity.getValue());
            jsonObject.append("freeTwoRequestEntity", s7DataZKExtra.getIsFree());
            //932空闲信号
            ReadWriteEntity freeThreeRequestEntity = miloService.readFromOpcUa("ZKQ3.ZKQ3.isFree");
            jsonObject.append("freeThreeRequestEntity", freeThreeRequestEntity.getValue());
//            ReadWriteEntity freeThreeRequestEntity = miloService.readFromOpcUa("ZKQ3.ZKQ3.isFree");
//            jsonObject.append("freeThreeRequestEntity", freeThreeRequestEntity.getValue());
            jsonObject.append("freeThreeRequestEntity", s7DataZKExtra.getIsFree());
        } catch (Exception e) {
            //todo:不做任务处理
        }
        //出片任务数据
        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_two_task");
//        List<BigStorageCageTask> outTaskList = bigStorageCageTaskService.queryTaskMessage("big_storage_cage_out_two_task");
//        jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        List<BigStorageCageTask> outTaskList = new ArrayList<>();
        for (int i = 0; i < 6; i++) {
            BigStorageCageTask bigStorageCageTask = new BigStorageCageTask();
            String glassId = "";
            Integer startSlot = 0;
            Integer targetSlot = 0;
            Integer taskState = 0;
            switch (i) {
                case 0:
                    glassId = s7DataZKDLPTwo.getId1();
                    startSlot = s7DataZKDLPTwo.getFrom1();
                    targetSlot = s7DataZKDLPTwo.getTo1();
                    taskState = s7DataZKDLPTwo.getState1();
                    ;
                    break;
                case 1:
                    glassId = s7DataZKDLPTwo.getId2();
                    startSlot = s7DataZKDLPTwo.getFrom2();
                    targetSlot = s7DataZKDLPTwo.getTo2();
                    taskState = s7DataZKDLPTwo.getState2();
                    break;
                case 2:
                    glassId = s7DataZKDLPTwo.getId3();
                    startSlot = s7DataZKDLPTwo.getFrom3();
                    targetSlot = s7DataZKDLPTwo.getTo3();
                    taskState = s7DataZKDLPTwo.getState3();
                    break;
                case 3:
                    glassId = s7DataZKDLPTwo.getId4();
                    startSlot = s7DataZKDLPTwo.getFrom4();
                    targetSlot = s7DataZKDLPTwo.getTo4();
                    taskState = s7DataZKDLPTwo.getState4();
                    break;
                case 4:
                    glassId = s7DataZKDLPTwo.getId5();
                    startSlot = s7DataZKDLPTwo.getFrom5();
                    targetSlot = s7DataZKDLPTwo.getTo5();
                    taskState = s7DataZKDLPTwo.getState5();
                    break;
                case 5:
                    glassId = s7DataZKDLPTwo.getId6();
                    startSlot = s7DataZKDLPTwo.getFrom6();
                    targetSlot = s7DataZKDLPTwo.getTo6();
                    taskState = s7DataZKDLPTwo.getState6();
                    break;
            }
            bigStorageCageTask.setGlassId(glassId);
            bigStorageCageTask.setStartSlot(startSlot);
            bigStorageCageTask.setTargetSlot(targetSlot);
            bigStorageCageTask.setTaskState(taskState);
            outTaskList.add(bigStorageCageTask);
        }
        jsonObject.append("bigStorageCageDetailsOutTask", outTaskList);
        //调度开关