zhoushihao
2025-04-14 e42b239ac2c2a922172badbe32afaa4ba4f615f8
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageServiceImpl.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -18,6 +19,7 @@
import com.mes.common.config.Const;
import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.largenscreen.entity.PieChartVO;
import com.mes.temperingglass.entity.TemperingGlassInfo;
import com.mes.temperingglass.service.TemperingGlassInfoService;
import lombok.extern.slf4j.Slf4j;
@@ -225,7 +227,7 @@
                        .like(StringUtils.isNotBlank(query.getFilmsId()), BigStorageCageDetails::getFilmsId, query.getFilmsId())
                        .like(StringUtils.isNotBlank(query.getFlowCardId()), BigStorageCageDetails::getFlowCardId, query.getFlowCardId())
                        .in(BigStorageCageDetails::getState, Const.GLASS_STATE_IN, Const.GLASS_STATE_ARTIFICIAL, Const.GLASS_STATE_OUT_ING))
                .eq(BigStorageCage::getDeviceId, query.getDeviceId())
//                .eq(BigStorageCage::getDeviceId, query.getDeviceId())
                .orderByAsc(BigStorageCage::getDeviceId)
                .orderByAsc(BigStorageCage::getSlot);
        return bigStorageCageMapper.selectJoinList(BigStorageAndDetailsDTO.class, wrapper);
@@ -285,6 +287,7 @@
    public List<Map<String, Object>> selectBigStorageCageUsage() {
        QueryWrapper<BigStorageCage> 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")
                .eq("enable_state", Const.SLOT_ON)
                .groupBy("device_id");
        List<Map<String, Object>> bigStorageCageUsages = baseMapper.selectMaps(wrapper);
@@ -311,6 +314,19 @@
        return baseMapper.selectBigStorageSummary();
    }
    @Override
    public Boolean resetCage() {
        bigStorageCageDetailsMapper.delete(Wrappers.<BigStorageCageDetails>lambdaQuery().eq(BigStorageCageDetails::getState, Const.GLASS_STATE_NEW));
        this.update(new LambdaUpdateWrapper<BigStorageCage>().set(BigStorageCage::getRemainWidth, slotWidth)
                .notInSql(BigStorageCage::getSlot, "select distinct slot from big_storage_cage_details where state in ( 100, 102, 103, 104)"));
        return Boolean.TRUE;
    }
    @Override
    public List<PieChartVO> queryPieChart() {
        return baseMapper.queryPieChart();
    }
//    @Override
//    public List<Integer> queryFreeDeviceByNotUsed(double thickness) {
//        return baseMapper.queryFreeDeviceByNotUsed(thickness);