zhoushihao
2024-07-16 b639aacebde9923c025a3b1f9d2f6c41aaa6cb0e
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -75,7 +75,9 @@
            List<BigStorageCageDetails> bigStorageCageDetailsList = baseMapper.selectList(feedWrapper);
            LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskWrapper = new LambdaQueryWrapper<>();
            feedTaskWrapper.lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT);
            feedTaskWrapper
                    .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
                    .isNotNull(BigStorageCageFeedTask::getTargetSlot);
            List<BigStorageCageFeedTask> bigStorageCageFeedTaskList = bigStorageCageFeedTaskMapper.selectList(feedTaskWrapper);
            Map<String, BigStorageCageFeedTask> listMap = bigStorageCageFeedTaskList.stream()
@@ -88,6 +90,20 @@
                if (bigStorageCageDetails.getBigStorageCageFeedTask() == null) {
                    iterator.remove();
                }
            }
            LambdaQueryWrapper<BigStorageCageFeedTask> feedTaskNoTargetWrapper = new LambdaQueryWrapper<>();
            feedTaskNoTargetWrapper
                    .lt(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_SLOT)
                    .isNull(BigStorageCageFeedTask::getTargetSlot);
            List<BigStorageCageFeedTask> bigStorageCageFeedTaskNoTargetList = bigStorageCageFeedTaskMapper.selectList(feedTaskNoTargetWrapper);
            for (BigStorageCageFeedTask bigStorageCageFeedTask : bigStorageCageFeedTaskNoTargetList
            ) {
                BigStorageCageDetails bigStorageCageDetails = new BigStorageCageDetails();
                LambdaQueryWrapper<GlassInfo> glassInfoWrapper = new LambdaQueryWrapper<>();
                glassInfoWrapper.eq(GlassInfo::getGlassId, bigStorageCageFeedTask.getGlassId());
                GlassInfo glassInfo = glassInfoMapper.selectOne(glassInfoWrapper);
                BeanUtils.copyProperties(glassInfo, bigStorageCageDetails);
                bigStorageCageDetailsList.add(bigStorageCageDetails);
            }
            return bigStorageCageDetailsList;
        } else {
@@ -269,9 +285,12 @@
            bigStorageDTO.setSlot(bigStorageCage.getSlot());
            return bigStorageDTO;
        }
        //todo:获取玻璃的厚度:重新选笼子需要按照笼子可放玻璃厚度进行选择
        bigStorageCage = bigStorageCageService.getOne(new LambdaQueryWrapper<BigStorageCage>()
                .eq(BigStorageCage::getRemainWidth, slotWidth)
                .eq(BigStorageCage::getEnableState, Const.SLOT_ON)
                .gt(BigStorageCage::getMaxThickness, glassInfo.getThickness())
                .orderByAsc(BigStorageCage::getDeviceId)
                .last("limit 1"));
        Assert.isTrue(null != bigStorageCage, "没有空余的笼子存放玻璃");
        bigStorageDTO = new BigStorageDTO();