zhoushihao
2025-11-06 22d896ad0828c9af90a079185f133c1915302e6d
hangzhoumesParent/moduleService/hollowGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageHollowTask.java
@@ -468,6 +468,20 @@
        }
        HollowGlassOutRelationInfo hollowGlassOutRelationInfo = null;
        //直通台有玻璃时将中空出片队列中对应玻璃id的格子号替换未直通台
        HollowBigStorageCageDetails details = hollowBigStorageCageDetailsService.getOne(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                .eq(HollowBigStorageCageDetails::getSlot, THROUGH_SLOT)
                .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL).last("limit 1"));
        if (details != null) {
            hollowGlassOutRelationInfo = hollowGlassOutRelationInfoService.getOne(
                    new LambdaQueryWrapper<HollowGlassOutRelationInfo>()
                            .eq(HollowGlassOutRelationInfo::getFlowCardId, details.getFlowCardId())
                            .eq(HollowGlassOutRelationInfo::getState, Const.HOLLOW_FLOW_CARD_START)
                            .orderByAsc(HollowGlassOutRelationInfo::getId)
                            .last("limit 1")
            );
        }
        int cell = -1;
        for (Integer i : resultList) {
            if (null == hollowGlassOutRelationInfo) {
@@ -511,9 +525,6 @@
                    .orderByAsc(HollowGlassQueueInfo::getHollowSequence));
            if (CollectionUtil.isNotEmpty(unFinishHollowQueueList)) {
                //直通台有玻璃时将中空出片队列中对应玻璃id的格子号替换未直通台
                HollowBigStorageCageDetails details = hollowBigStorageCageDetailsService.getOne(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                        .eq(HollowBigStorageCageDetails::getSlot, THROUGH_SLOT)
                        .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL).last("limit 1"));
                log.info("中空大理片直通台玻璃信息{}", details);
                if (details != null) {
                    unFinishHollowQueueList.stream().forEach(e -> {
@@ -908,6 +919,10 @@
            log.info("当前未收到进片请求,结束进片任务");
            return;
        }
        if (StringUtils.isNotBlank(s7DataZKDLPOne.getId1())) {
            log.info("当前存在进片任务请求,结束本次大笼子调度");
            return;
        }
        //有请求信号
        List<String> glassIdList = hollowGlassQueueInfoService.queryNeedInCarGlass();
        if (CollectionUtil.isEmpty(glassIdList)) {
@@ -916,6 +931,7 @@
        int count = hollowBigStorageCageDetailsService.count(new LambdaQueryWrapper<HollowBigStorageCageDetails>()
                .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                .eq(HollowBigStorageCageDetails::getSlot, THROUGH_SLOT));
        log.info("直通片台的任务数量为:{}", count);
        if (count > 0) {
            return;
        }
@@ -923,12 +939,13 @@
                .eq(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN)
//                .in(HollowBigStorageCageDetails::getDeviceId, 6)
                .in(HollowBigStorageCageDetails::getGlassId, glassIdList));
        log.info("获取调度任务列表:{}", list);
        if (CollectionUtil.isEmpty(list)) {
            return;
        }
        HollowBigStorageCageDetails details = list.get(0);
        //todo:生成进进片大车任务
        log.info("获取需要调度的单条任务:{}", details);
        //生成进进片大车任务
        hollowBigStorageCageDetailsService.update(new LambdaUpdateWrapper<HollowBigStorageCageDetails>()
                .set(HollowBigStorageCageDetails::getState, Const.RAW_GLASS_STATE_OUT)
                .eq(HollowBigStorageCageDetails::getGlassId, details.getGlassId()));