zhoushihao
2024-11-20 649e50a1b4fa3811072843c79787163b87ab3889
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/opccallback/CacheGlassStartCallback.java
@@ -67,16 +67,7 @@
    @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;
@@ -85,6 +76,10 @@
            if (task == null) {
                log.info("任务表基础数据录入失败,请检查数据是否录入成功");
                return;
            }
            if (task.getTaskState() == 2) {
                //防止出片任务且笼前有玻璃的情况,将进片id置空,即出片仅考虑笼内的玻璃
                task.setGlassIdIn("");
            }
            int request = Integer.parseInt("" + value);
            log.info("开始执行任务,任务请信息为{}", task);
@@ -246,6 +241,8 @@
            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));
@@ -286,28 +283,24 @@
            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;