| | |
| | | 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.s7.serializer.S7Serializer; |
| | | import com.kangaroohy.milo.model.ReadWriteEntity; |
| | | import com.kangaroohy.milo.service.MiloService; |
| | | import com.mes.bigstoragecagetask.entity.BigStorageCageTask; |
| | |
| | | import com.mes.hollow.service.HollowGlassRelationInfoService; |
| | | import com.mes.hollowqueue.entity.HollowGlassQueueInfo; |
| | | import com.mes.hollowqueue.service.HollowGlassQueueInfoService; |
| | | import com.mes.hollowtask.service.HollowBigStorageCageHistoryTaskService; |
| | | import com.mes.largenscreen.entity.PieChartVO; |
| | | import com.mes.largenscreen.entity.RunTime; |
| | | import com.mes.s7.entity.S7DataZKDLPOne; |
| | | import com.mes.s7.entity.S7DataZKDLPTwo; |
| | | import com.mes.tools.WebSocketServer; |
| | | import com.mes.utils.RedisUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Qualifier; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | BigStorageCageTaskService bigStorageCageTaskService; |
| | | @Resource |
| | | HollowGlassRelationInfoService hollowGlassRelationInfoService; |
| | | @Resource |
| | | HollowBigStorageCageHistoryTaskService hollowBigStorageCageHistoryTaskService; |
| | | |
| | | @Autowired(required = false) |
| | | MiloService miloService; |
| | | |
| | | @Autowired |
| | | @Qualifier("s7SerializerZKDLPOne") |
| | | private S7Serializer s7SerializerZKDLPOne; |
| | | |
| | | @Autowired |
| | | @Qualifier("s7SerializerZKDLPTwo") |
| | | private S7Serializer s7SerializerZKDLPTwo; |
| | | |
| | | @Resource |
| | | RedisUtil redisUtil; |
| | |
| | | |
| | | |
| | | public void queryDataSource1(JSONObject jsonObject) throws Exception { |
| | | S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class); |
| | | S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class); |
| | | List<Double> carPostion = new ArrayList<>(); |
| | | carPostion.add(0.25); |
| | | carPostion.add(0.5); |
| | |
| | | try { |
| | | //进片任务数据 |
| | | List<BigStorageTaskVO> inTaskList = new ArrayList(); |
| | | ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1"); |
| | | // ReadWriteEntity fromOpcUa = miloService.readFromOpcUa("DLP2A.DLP2A.FROM1"); |
| | | String fromOpcUa = s7DataZKDLPOne.getFrom1().toString(); |
| | | for (int i = 1; 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); |
| | | if (null != requestWord.getValue()) { |
| | | // ReadWriteEntity requestWord = miloService.readFromOpcUa("DLP2A.DLP2A.DI" + i); |
| | | // ReadWriteEntity targetSlotWord = miloService.readFromOpcUa("DLP2A.DLP2A.TO" + i); |
| | | // ReadWriteEntity stateWord = miloService.readFromOpcUa("DLP2A.DLP2A.STATE" + i); |
| | | String requestWord = ""; |
| | | String stateWord = ""; |
| | | String targetSlotWord = ""; |
| | | switch (i) { |
| | | case 0: |
| | | requestWord = s7DataZKDLPOne.getId1().toString(); |
| | | stateWord = s7DataZKDLPOne.getState1().toString(); |
| | | targetSlotWord = s7DataZKDLPOne.getTo1().toString(); |
| | | break; |
| | | case 1: |
| | | requestWord = s7DataZKDLPOne.getId2().toString(); |
| | | stateWord = s7DataZKDLPOne.getState2().toString(); |
| | | targetSlotWord = s7DataZKDLPOne.getTo2().toString(); |
| | | break; |
| | | case 2: |
| | | requestWord = s7DataZKDLPOne.getId3().toString(); |
| | | stateWord = s7DataZKDLPOne.getState3().toString(); |
| | | targetSlotWord = s7DataZKDLPOne.getTo3().toString(); |
| | | break; |
| | | case 3: |
| | | requestWord = s7DataZKDLPOne.getId4().toString(); |
| | | stateWord = s7DataZKDLPOne.getState4().toString(); |
| | | targetSlotWord = s7DataZKDLPOne.getTo4().toString(); |
| | | break; |
| | | case 4: |
| | | requestWord = s7DataZKDLPOne.getId5().toString(); |
| | | stateWord = s7DataZKDLPOne.getState5().toString(); |
| | | targetSlotWord = s7DataZKDLPOne.getTo5().toString(); |
| | | break; |
| | | case 5: |
| | | requestWord = s7DataZKDLPOne.getId6().toString(); |
| | | stateWord = s7DataZKDLPOne.getState6().toString(); |
| | | targetSlotWord = s7DataZKDLPOne.getTo6().toString(); |
| | | break; |
| | | } |
| | | // if (null != requestWord.getValue()) { |
| | | if (null != requestWord) { |
| | | BigStorageTaskVO task = new BigStorageTaskVO(); |
| | | task.setGlassId(requestWord.getValue() + ""); |
| | | // task.setGlassId(requestWord.getValue() + ""); |
| | | task.setGlassId(requestWord); |
| | | int isExistCount = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>().in(HollowBigStorageCageDetails::getGlassId, task.getGlassId()) |
| | | .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL)); |
| | | if (isExistCount > 0) { |
| | |
| | | } else { |
| | | task.setIsSame(0); |
| | | } |
| | | task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); |
| | | task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); |
| | | task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); |
| | | // task.setStartSlot(Integer.parseInt(fromOpcUa.getValue() + "")); |
| | | // task.setTargetSlot(Integer.parseInt(targetSlotWord.getValue() + "")); |
| | | // task.setTaskState(Integer.parseInt(stateWord.getValue() + "")); |
| | | task.setStartSlot(Integer.parseInt(fromOpcUa)); |
| | | task.setTargetSlot(Integer.parseInt(targetSlotWord)); |
| | | task.setTaskState(Integer.parseInt(stateWord)); |
| | | inTaskList.add(task); |
| | | continue; |
| | | } |
| | |
| | | } |
| | | try { |
| | | //进片联机 |
| | | ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl"); |
| | | jsonObject.append("inkageEntity", inkageEntity.getValue()); |
| | | // ReadWriteEntity inkageEntity = miloService.readFromOpcUa("DLP2A.DLP2A.mesControl"); |
| | | // jsonObject.append("inkageEntity", inkageEntity.getValue()); |
| | | Boolean inkageEntity = s7DataZKDLPOne.getMesControl(); |
| | | jsonObject.append("inkageEntity", inkageEntity); |
| | | //进片请求 |
| | | ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes"); |
| | | jsonObject.append("requestEntity", requestEntity.getValue()); |
| | | // ReadWriteEntity requestEntity = miloService.readFromOpcUa("DLP2A.DLP2A.RequestMes"); |
| | | // jsonObject.append("requestEntity", requestEntity.getValue()); |
| | | String requestEntity = s7DataZKDLPOne.getRequestMes().toString(); |
| | | jsonObject.append("requestEntity", requestEntity); |
| | | //启动命令 |
| | | ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply"); |
| | | jsonObject.append("mesReplyEntity", mesReplyEntity.getValue()); |
| | | // ReadWriteEntity mesReplyEntity = miloService.readFromOpcUa("DLP2A.DLP2A.MesReply"); |
| | | // jsonObject.append("mesReplyEntity", mesReplyEntity.getValue()); |
| | | String mesReplyEntity = s7DataZKDLPOne.getMesReply().toString(); |
| | | jsonObject.append("mesReplyEntity", mesReplyEntity); |
| | | //出片联机 |
| | | ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl"); |
| | | jsonObject.append("outInkageEntity", outInkageEntity.getValue()); |
| | | // ReadWriteEntity outInkageEntity = miloService.readFromOpcUa("DLP2B.DLP2B.mesControl"); |
| | | // jsonObject.append("outInkageEntity", outInkageEntity.getValue()); |
| | | String outInkageEntity = s7DataZKDLPTwo.getMesControl().toString(); |
| | | jsonObject.append("outInkageEntity", outInkageEntity); |
| | | //出片请求 |
| | | ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes"); |
| | | jsonObject.append("outRequestEntity", outRequestEntity.getValue()); |
| | | // ReadWriteEntity outRequestEntity = miloService.readFromOpcUa("DLP2B.DLP2B.RequestMes"); |
| | | // jsonObject.append("outRequestEntity", outRequestEntity.getValue()); |
| | | String outRequestEntity = s7DataZKDLPTwo.getRequestMes().toString(); |
| | | jsonObject.append("outInkageEntity", outInkageEntity); |
| | | //930空闲信号 |
| | | ReadWriteEntity freeOneRequestEntity = miloService.readFromOpcUa("CMJ1.CMJ1.isFree"); |
| | | jsonObject.append("freeOneRequestEntity", freeOneRequestEntity.getValue()); |
| | |
| | | //理片笼使用情况 |
| | | List<Map<String, Object>> hollowBigStorageCageUsage = hollowBigStorageCageService.selectBigStorageCageUsage(); |
| | | jsonObject.append("hollowBigStorageCageUsage", hollowBigStorageCageUsage); |
| | | //钢化饼图数据 |
| | | List<PieChartVO> pieChartVOS = hollowGlassOutRelationInfoService.queryPieChart(); |
| | | jsonObject.append("pieChartVOS", pieChartVOS); |
| | | List<RunTime> hollowRunTimes = hollowBigStorageCageHistoryTaskService.queryRunTimes(); |
| | | jsonObject.append("hollowRunTimes", hollowRunTimes); |
| | | ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen"); |
| | | if (sendwServer != null) { |
| | | for (WebSocketServer webserver : sendwServer) { |