ZengTao
2025-10-23 c031247a887691a4f86d6562219e5e54dd89fb86
1、新笼子逻辑测试修改
1个文件已修改
25 ■■■■ 已修改文件
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/OpcPlcStorageCageNewTask.java
@@ -140,16 +140,17 @@
        String fromOpcUa = s7DataDLPOne.getFrom1().toString();
        List<String> ids = s7DataDLPOne.getIds();
        log.info("获取到进片任务 玻璃id:{}", ids);
        List<String> glassIdList = new ArrayList<>();
        for (int i = 0; i < 6; i++) {
            String requestWord = ids.get(i);
            if (null != requestWord && !requestWord.isEmpty()) {
            if (StringUtils.isNotBlank(requestWord)) {
                log.info("玻璃id{}加入进片任务", requestWord);
                BigStorageCageTask task = new BigStorageCageTask();
                task.setGlassId(requestWord);
                task.setStartSlot(Integer.parseInt(fromOpcUa));
                inTaskList.add(task);
                glassIdList.add(requestWord);
                break;
            }
        }
        if (CollectionUtil.isEmpty(inTaskList)) {
@@ -225,7 +226,7 @@
            for (Map.Entry<Double, Long> entry : thickCountMap.entrySet()) {
                int count = bigStorageCageService.count(new LambdaQueryWrapper<BigStorageCage>()
                        .eq(BigStorageCage::getEnableState, Const.SLOT_ON).eq(BigStorageCage::getRemainWidth, slotWidth)
                        .ge(BigStorageCage::getDeviceId, 4)
                        .le(BigStorageCage::getDeviceId, 4)
                        .le(BigStorageCage::getMinThickness, entry.getKey())
                        .ge(BigStorageCage::getMaxThickness, entry.getKey()));
                if (count < entry.getValue()) {
@@ -432,10 +433,15 @@
                cageDetails.setFilmsId(info.getFilmsId());
                cageDetails.setId(null);
                bigStorageCageDetailsService.save(cageDetails);
                info.setState(Const.GLASS_STATE_OUT);
                bigStorageCageDetailsService.updateById(info);
            }
            //历史数据入库
            bigStorageCageHistoryTaskService.saveBatch(historyTasks);
            extracted(taskList);
            S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
            s7DataDLPTwo.setMesReply(1);
            s7SerializerDLPTwo.write(s7DataDLPTwo);
            return;
        }
@@ -537,11 +543,15 @@
                        .last("limit 1"));
                List<Integer> slotList = sequenceDTOList.stream().map(BigStorageSequenceDTO::getSlot).collect(Collectors.toList());
                list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN).in(BigStorageCageDetails::getSlot, slotList));
                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                        .in(BigStorageCageDetails::getSlot, slotList)
                        .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence)
                );
                computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
                        bigStorageCage.getSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
                slotList.add(bigStorageCage.getSlot());
                updateSlotRemainBySlots(slotList);
                return;
            }
            //有:统一往5号笼子送
//            无 4号笼子使用数量是否超过阈值 有 生成调度任务按照组号组序由1开始依次往5号笼子送小片
@@ -570,7 +580,10 @@
            BigStorageSlotDTO slotDTO = bigStorageCageDetailsService.queryNeedDispatchSlotBySequence();
            if (null != slotDTO) {
                list = bigStorageCageDetailsService.list(new LambdaQueryWrapper<BigStorageCageDetails>()
                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN).in(BigStorageCageDetails::getSlot, slotDTO.getStartSlot()));
                        .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
                        .in(BigStorageCageDetails::getSlot, slotDTO.getStartSlot())
                        .orderByAsc(BigStorageCageDetails::getTemperingFeedSequence)
                );
                computeOutGlassInfoByVirtualSlot(list, "big_storage_cage_out_one_task",
                        slotDTO.getTargetSlot(), Const.GLASS_STATE_SCHEDULE_ING, Const.BIG_STORAGE_BEFORE_DISPATCH);
                List<Integer> slotList = new ArrayList<>();
@@ -1010,7 +1023,7 @@
     * @return
     */
    private Boolean extracted(List<BigStorageCageTask> bigStorageCageTaskList) {
        resetOutTask();
//        resetOutTask();
        S7DataDLPTwo s7DataDLPTwo = new S7DataDLPTwo();
        for (int i = 0; i < bigStorageCageTaskList.size() && i < 6; i++) {
            String glassId = bigStorageCageTaskList.get(i).getGlassId();