| | |
| | | |
| | | @Override |
| | | public void onSubscribe(String identifier, Object value) { |
| | | if (identifier.equals("PLC.WL2.plc_task_tate")) { |
| | | startDate = new Date(); |
| | | log.info("本次任务获取plc的值为{},时间:{},共耗时:{}ms", value, startDate); |
| | | return; |
| | | } |
| | | if (!identifier.equals("PLC.WL2.plc_task_tate")) { |
| | | Date endDate = new Date(); |
| | | log.info("本次任务link后的值为{},时间:{},共耗时:{}ms", value, endDate, endDate.getTime() - startDate.getTime()); |
| | | startDate = null; |
| | | } |
| | | |
| | | log.info("当前正在执行的任务为{}", value); |
| | | String tableName = identifier.contains("edg_storage_device_one_task") ? EDG_STORAGE_DEVICE_ONE_TASK : EDG_STORAGE_DEVICE_TWO_TASK; |
| | | int device = tableName.equals("edg_storage_device_one_task") ? 1 : 2; |
| | |
| | | if (task == null) { |
| | | log.info("任务表基础数据录入失败,请检查数据是否录入成功"); |
| | | return; |
| | | } |
| | | if (task.getTaskState() == 2) { |
| | | //防止出片任务且笼前有玻璃的情况,将进片id置空,即出片仅考虑笼内的玻璃 |
| | | task.setGlassIdIn(""); |
| | | } |
| | | int request = Integer.parseInt("" + value); |
| | | log.info("开始执行任务,任务请信息为{}", task); |
| | |
| | | log.info("5、直通任务,将玻璃信息插入卧式理片笼,当前玻璃信息:{}", edgStorageCageDetails); |
| | | //玻璃信息替换 |
| | | String glassIdChange = queryAndChangeGlass(glassId); |
| | | //处理在卧理内的玻璃信息:笼内的数据处理 |
| | | queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange); |
| | | if (StringUtils.isNotBlank(glassIdChange)) { |
| | | edgStorageCageDetails = new EdgStorageCageDetails(); |
| | | GlassInfo one = glassInfoService.getOne(new LambdaQueryWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassId)); |
| | |
| | | edgStorageCageDetailsService.update(wrapper); |
| | | log.info("5、更新出片玻璃的状态为{}", Const.GLASS_STATE_OUT); |
| | | } |
| | | |
| | | //玻璃信息替换 |
| | | // String glassIdChange = queryAndChangeGlass(edgStorageCageDetails.getGlassId()); |
| | | //处理在卧理内的玻璃信息:笼内的数据处理 |
| | | // queryEdgAndChangeGlass(edgStorageCageDetails.getGlassId(), glassIdChange); |
| | | //生成出片任务 |
| | | task.setGlassIdOut(edgStorageCageDetails.getGlassId()); |
| | | task.setStartCell(edgStorageCageDetails.getSlot()); |
| | | task.setTaskRunning(taskType); |
| | | // task.setWidth((int) edgStorageCageDetails.getWidth() * 10); |
| | | // task.setHeight((int) edgStorageCageDetails.getHeight() * 10); |
| | | // task.setThickness((int) edgStorageCageDetails.getThickness() * 10); |
| | | // task.setFilmRemove(0); |
| | | |
| | | edgStorageDeviceTaskService.updateTaskMessage(tableName, task); |
| | | saveHistoryTask(task); |
| | | //更新详情表任务出片中 |
| | | edgStorageCageDetailsService.update(new LambdaUpdateWrapper<EdgStorageCageDetails>() |
| | | .set(EdgStorageCageDetails::getState, Const.GLASS_STATE_OUT) |
| | | .eq(EdgStorageCageDetails::getGlassId, edgStorageCageDetails.getGlassId())); |
| | | //todo:磨边对列表新增一条数据 |
| | | //磨边对列表新增一条数据 |
| | | EdgGlassTaskQueueInfo edgInfo = new EdgGlassTaskQueueInfo(); |
| | | BeanUtils.copyProperties(task, edgInfo); |
| | | edgInfo.setCreateTime(new Date()); |
| | | edgInfo.setWidth((int) edgStorageCageDetails.getWidth()); |
| | | edgInfo.setHeight((int) edgStorageCageDetails.getWidth()); |
| | | edgInfo.setThickness((int) edgStorageCageDetails.getWidth()); |
| | | edgInfo.setState(Const.GLASS_STATE_NEW); |
| | | edgGlassTaskQueueInfoService.save(edgInfo); |
| | | return Boolean.TRUE; |