From b9b44b51b201e2f5a9a1f3665c7fb76b5690f9af Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期一, 23 十二月 2024 16:13:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 46 insertions(+), 0 deletions(-) diff --git a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java index 68350a7..3a365aa 100644 --- a/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java +++ b/hangzhoumesParent/moduleService/howllowGlassModule/src/main/java/com/mes/hollow/service/impl/HollowBigStorageCageServiceImpl.java @@ -1,10 +1,22 @@ package com.mes.hollow.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.mes.common.config.Const; import com.mes.hollow.entity.HollowBigStorageCage; +import com.mes.hollow.entity.HollowBigStorageCageDetails; +import com.mes.hollow.entity.dto.HollowBigStorageAndDetailsDTO; +import com.mes.hollow.entity.vo.HollowBigStorageDetailsQueryVO; import com.mes.hollow.mapper.HollowBigStorageCageMapper; import com.mes.hollow.service.HollowBigStorageCageService; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * (HollowBigStorageCage)琛ㄦ湇鍔″疄鐜扮被 @@ -15,5 +27,39 @@ @Service public class HollowBigStorageCageServiceImpl extends ServiceImpl<HollowBigStorageCageMapper, HollowBigStorageCage> implements HollowBigStorageCageService { + @Value("${mes.slotWidth}") + private Integer slotWidth; + @Override + public List<HollowBigStorageAndDetailsDTO> queryHollowBigStorageCageDetail(HollowBigStorageDetailsQueryVO query) { + MPJLambdaWrapper<HollowBigStorageCage> wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(HollowBigStorageCage.class).selectCollection(HollowBigStorageCageDetails.class, HollowBigStorageCage::getHollowBigStorageCageDetails) + .leftJoin(HollowBigStorageCageDetails.class, on -> on.eq(HollowBigStorageCageDetails::getSlot, HollowBigStorageCage::getSlot) + .like(StringUtils.isNotBlank(query.getFilmsId()), HollowBigStorageCageDetails::getFilmsId, query.getFilmsId()) + .like(StringUtils.isNotBlank(query.getFlowCardId()), HollowBigStorageCageDetails::getFlowCardId, query.getFlowCardId()) + .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL, Const.GLASS_STATE_OUT_ING)) + .eq(HollowBigStorageCage::getDeviceId, query.getDeviceId()) + .orderByAsc(HollowBigStorageCage::getDeviceId) + .orderByAsc(HollowBigStorageCage::getSlot); + return baseMapper.selectJoinList(HollowBigStorageAndDetailsDTO.class, wrapper); + } + + @Override + public Map<Integer, List<HollowBigStorageCage>> queryHollowbigStorageCageDetail() { + MPJLambdaWrapper<HollowBigStorageCage> wrapper = new MPJLambdaWrapper<>(); + wrapper.selectAll(HollowBigStorageCage.class).selectCollection(HollowBigStorageCageDetails.class, HollowBigStorageCage::getHollowBigStorageCageDetails) + .leftJoin(HollowBigStorageCageDetails.class, on -> on.eq(HollowBigStorageCageDetails::getSlot, HollowBigStorageCage::getSlot) + .in(HollowBigStorageCageDetails::getState, Const.GLASS_STATE_IN_ALL).orderByAsc(HollowBigStorageCageDetails::getUpdateTime)); + List<HollowBigStorageCage> bigStorageCages = baseMapper.selectJoinList(HollowBigStorageCage.class, wrapper); + Map<Integer, List<HollowBigStorageCage>> listMap = bigStorageCages.stream().collect(Collectors.groupingBy(item -> item.getDeviceId())); + return listMap; + } + + @Override + public List<Map<String, Object>> selectBigStorageCageUsage() { + QueryWrapper<HollowBigStorageCage> wrapper = new QueryWrapper<>(); + wrapper.select("device_id,ROUND(1 - SUM(CASE WHEN remain_width = " + slotWidth + " THEN 1 ELSE 0 END) / COUNT(device_id), 2)*100 AS percentage,SUM(CASE WHEN remain_width = " + slotWidth + " THEN 1 ELSE 0 END) AS count") + .groupBy("device_id"); + return baseMapper.selectMaps(wrapper); + } } -- Gitblit v1.8.0