wu
2024-12-23 b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/OpcCacheGlassTask.java
@@ -9,6 +9,7 @@
import com.kangaroohy.milo.model.ReadWriteEntity;
import com.kangaroohy.milo.service.MiloService;
import com.mes.common.config.Const;
import com.mes.damage.service.DamageService;
import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
@@ -72,6 +73,8 @@
    EdgStorageCageService edgStorageCageService;
    @Resource
    EdgStorageDeviceTaskHistoryService edgStorageDeviceTaskHistoryService;
    @Resource
    DamageService damageService;
    @Value("${mes.glassGap}")
    private int glassGap;
@@ -122,17 +125,17 @@
    private void startOneOpcTaskChild(String tableName, int device) {
        EdgStorageDeviceTask task = edgStorageDeviceTaskService.queryTaskMessage(tableName);
//        try {
            if (task == null) {
                log.info("任务表基础数据录入失败,请检查数据是否录入成功");
                return;
            }
            if (task.getTaskState() == 2) {
                //防止出片任务且笼前有玻璃的情况,将进片id置空,即出片仅考虑笼内的玻璃
                task.setGlassIdIn("");
            }
        if (task == null) {
            log.info("任务表基础数据录入失败,请检查数据是否录入成功");
            return;
        }
        if (task.getTaskState() == 2) {
            //防止出片任务且笼前有玻璃的情况,将进片id置空,即出片仅考虑笼内的玻璃
            task.setGlassIdIn("");
        }
        int request = task.getTaskState();
        int taskRunning = task.getTaskRunning();
            log.info("开始执行任务,任务请信息为{}", task);
        log.info("开始执行任务,任务请信息为{}", task);
        if (request == 0) {
            log.info("设备:{}状态:{}", device, request);
            log.info("未收到任务请求,结束本次任务");
@@ -487,6 +490,10 @@
                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
                .eq(EdgStorageDeviceTaskHistory::getDeviceId, device)
                .orderByDesc(EdgStorageDeviceTaskHistory::getCreateTime).last("limit 1"));
        //如果任务类型为1,3,将切割完成的玻璃自动报工
        if (Const.GLASS_CACHE_TYPE_IN_ALL.contains(taskHistory.getTaskType())) {
            damageService.autoSubmitReport(taskHistory.getGlassIdIn(), taskHistory.getDeviceId(),"切割","进卧理");
        }
        updateCellRemainWidth(cell, device, taskHistory);
        edgStorageDeviceTaskHistoryService.update(new LambdaUpdateWrapper<EdgStorageDeviceTaskHistory>()
                .eq(EdgStorageDeviceTaskHistory::getTaskState, Const.RAW_GLASS_TASK_NEW)
@@ -528,10 +535,23 @@
                .last("Limit 1");
        GlassInfo swapGlassInfo = glassInfoService.getOne(queryWrapper);
        if (swapGlassInfo != null && !glassInfo.getGlassId().equals(swapGlassInfo.getGlassId())) {
            int patternSequence = glassInfo.getPatternSequence();
            int xAxis = glassInfo.getXAxis();
            int yAxis = glassInfo.getYAxis();
            String swapGlassId = swapGlassInfo.getGlassId();
            log.info("将玻璃{}和玻璃{},信息互换,进玻璃 {}", glassInfo, swapGlassInfo, swapGlassInfo);
            int swapPatternSequence = swapGlassInfo.getPatternSequence();
            int swapXAxis = swapGlassInfo.getXAxis();
            int swapYAxis = swapGlassInfo.getYAxis();
            swapGlassInfo.setGlassId(glassId);
            swapGlassInfo.setPatternSequence(patternSequence);
            swapGlassInfo.setXAxis(xAxis);
            swapGlassInfo.setYAxis(yAxis);
            glassInfo.setGlassId(swapGlassId);
            glassInfo.setPatternSequence(swapPatternSequence);
            glassInfo.setXAxis(swapXAxis);
            glassInfo.setYAxis(swapYAxis);
            log.info("将玻璃{}和玻璃{},信息互换(原片序号及坐标除外),进玻璃 {}", glassInfo, swapGlassInfo, swapGlassInfo);
            glassInfoService.updateById(swapGlassInfo);
            glassInfoService.updateById(glassInfo);
            return swapGlassId;