| | |
| | | log.info("当前大车无进片玻璃,结束进片任务"); |
| | | return; |
| | | } |
| | | //玻璃状态存在卧转立上结束 |
| | | List<BigStorageCageTask> unTaskList = inTaskList.stream().filter(e -> e.getTaskState() < 1).collect(Collectors.toList()); |
| | | if (CollectionUtil.isNotEmpty(unTaskList)) { |
| | | log.info("存在未上车的玻璃信息,玻璃:{}", unTaskList); |
| | | return; |
| | | } |
| | | log.info("获取任务的玻璃id:{}", glassIdList); |
| | | Map<String, Long> glassCountMap = glassIdList.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting())); |
| | | for (Map.Entry<String, Long> entry : glassCountMap.entrySet()) { |
| | |
| | | @Scheduled(fixedDelay = 1000) |
| | | public void inCarTask() { |
| | | //读取协议数据 |
| | | S7DataZKDLPTwo s7DataZKDLPTwo = s7SerializerZKDLPTwo.read(S7DataZKDLPTwo.class); |
| | | //汇报字为1 启动字为1是 清除所有任务信息 |
| | | //启动字和汇报字是否均为0 |
| | | S7DataZKDLPOne s7DataZKDLPOne = s7SerializerZKDLPOne.read(S7DataZKDLPOne.class); |
| | | log.info("进片任务读取s7DataZKDLPOne:{}", s7DataZKDLPOne); |
| | | Boolean inkageEntity = s7DataZKDLPOne.getMesControl(); |
| | | if (!inkageEntity) { |
| | | log.info("当前为非联机状态,结束进片任务"); |
| | | return; |
| | | } |
| | | if (StringUtils.isNotBlank(s7DataZKDLPOne.getId1())) { |
| | | //汇报字为1 启动字为1是 清除所有任务信息 |
| | | if (s7DataZKDLPOne.getId1().equals(s7DataZKDLPOne.getId1())) { |
| | | //todo:清空任务 |
| | | s7DataZKDLPOne.setFrom1(0); |
| | | s7DataZKDLPOne.getId1(); |
| | | } |
| | | log.info("存在任务,结束"); |
| | | return; |
| | | } |
| | | Integer requestEntity = s7DataZKDLPOne.getRequestMes(); |
| | | if (1 != requestEntity) { |
| | | log.info("当前未收到进片请求,结束进片任务"); |
| | | return; |
| | | } |
| | | //有请求信号 |
| | | List<String> glassIdList = hollowGlassQueueInfoService.queryNeedInCarGlass(); |
| | | if (CollectionUtil.isEmpty(glassIdList)) { |
| | | return; |
| | | } |
| | | int count = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>() |
| | | .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN) |
| | | .eq(HollowBigStorageCageDetails::getSlot, THROUGH_SLOT)); |
| | | if (count > 0) { |
| | | return; |
| | | } |
| | | List<HollowBigStorageCageDetails> list = hollowBigStorageCageDetailsService.list(new LambdaQueryWrapper<HollowBigStorageCageDetails>() |
| | |
| | | if (CollectionUtil.isEmpty(list)) { |
| | | return; |
| | | } |
| | | HollowBigStorageCageDetails details = list.get(0); |
| | | //todo:生成进进片大车任务 |
| | | hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>() |
| | | .set(HollowBigStorageCageDetails::getState, Const.RAW_GLASS_STATE_OUT) |
| | | .eq(HollowBigStorageCageDetails::getGlassId, details.getGlassId())); |
| | | |
| | | } |
| | | |