ZengTao
2025-09-11 61cae17b15d6a7d256e25ce42f0a4ef4163fd088
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -20,6 +20,8 @@
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
import com.mes.edgstoragecage.service.EdgStorageCageService;
import com.mes.engineering.entity.Engineering;
import com.mes.engineering.mapper.EngineeringMapper;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.taskcache.entity.TaskCache;
@@ -64,6 +66,9 @@
    WebSocketServer webServerService;
    @Autowired
    DamageService damageService;
    @Autowired
    EngineeringMapper engineeringMapper;
    @Value("${mes.threshold}")
    private int threshold;
@@ -121,11 +126,11 @@
        }
//        taskRequestTypeValue = "2";
//        out08Glassstate = "1";
//        out08Glassstate = "0";
//        out10Glassstate = "1";
//        currentSlot = "1";
//        confirmationWrodValue = "0";
//        glassIdeValue = "P25021704|75|12";
//        glassIdeValue = "";
        log.info("1、获取到的请求字为:{},获取到的扫描ID为:{},获取到的确认字为:{},获取到的出片状态分别为:A09:{}、A10:{},当前格子号为:{}",
                taskRequestTypeValue, glassIdeValue, confirmationWrodValue, out08Glassstate, out10Glassstate, currentSlot);
@@ -147,6 +152,20 @@
        if (!result) {
            log.info("此玻璃id已经进过");
            return;
        }
        if (StringUtils.isNotBlank(glassIdeValue)) {
            GlassInfo glassInfo = glassInfoService.getOne(
                    new LambdaQueryWrapper<GlassInfo>()
                            .eq(GlassInfo::getGlassId, glassIdeValue)
            );
            Engineering engineering = engineeringMapper.selectOne(
                    new LambdaQueryWrapper<Engineering>()
                            .eq(Engineering::getEngineerId, glassInfo.getEngineerId())
            );
            if (engineering.getState() == 2) {
                log.info("此订单已禁止生产");
                return;
            }
        }
        if ("1".equals(taskRequestTypeValue) && result) {
            log.info("2、进片请求,且确认字为0,执行进片任务,扫码重复ID验证【有重复=false,无重复=true】:{}", result);
@@ -400,8 +419,13 @@
                            .eq(GlassInfo::getGlassId, glassId)
            );
            if (glassInfos != null) {
                if (Math.max(glassInfos.getWidth(), glassInfos.getHeight()) > Integer.parseInt(firstLength) && out08Glassstate == 1) {
                    endcell = Const.A09_OUT_TARGET_POSITION;
                if (Math.max(glassInfos.getWidth(), glassInfos.getHeight()) > Integer.parseInt(firstLength)) {
                    if (out08Glassstate == 1) {
                        endcell = Const.A09_OUT_TARGET_POSITION;
                    } else {
                        log.info("当前玻璃只能走大线,但大线未空闲玻璃信息:{}", glassInfos);
                        return Boolean.FALSE;
                    }
                } else {
                    endcell = computerLineByState(out08Glassstate, out10Glassstate);
                }
@@ -993,4 +1017,27 @@
            }
        }
    }
//    @Scheduled(fixedDelay = 1000)
//    public void largenScreen() {
//        JSONObject jsonObject = new JSONObject();
//
//        ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("largenScreen");
//        if (sendwServer != null) {
//            List<PieChartVO> pieChartVOS = edgStorageCageDetailsService.queryPieChart();
//            jsonObject.append("pieChartVOS", pieChartVOS);
//            for (WebSocketServer webserver : sendwServer) {
//                if (webserver != null) {
//                    webserver.sendMessage(jsonObject.toString());
//                    List<String> messages = webserver.getMessages();
//                    if (!messages.isEmpty()) {
//                        // // 将最后一个消息转换为整数类型的列表
//                        webserver.clearMessages();
//                    }
//                } else {
//                    log.info("largenScreen is closed");
//                }
//            }
//        }
//    }
}