zhoushihao
2024-12-19 88903b37521e91e5bcc2e6ef6d8e3b1a1f00599c
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java
@@ -1,6 +1,7 @@
package com.mes.edgstoragecage.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -9,6 +10,7 @@
import com.mes.damage.service.DamageService;
import com.mes.edgstoragecage.entity.EdgStorageCage;
import com.mes.edgstoragecage.entity.EdgStorageCageDetails;
import com.mes.edgstoragecage.entity.vo.EdgStorageCageVO;
import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper;
import com.mes.edgstoragecage.mapper.EdgStorageCageMapper;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
@@ -64,62 +66,20 @@
    }
    /**
     * 查询笼内空格
     * 按照设备号返回对应的笼内详情数据
     *
     * @return
     */
    @Override
    public List<EdgStorageCage> selectCacheEmpty() {
        return baseMapper.selectJoinList(EdgStorageCage.class, new MPJLambdaWrapper<EdgStorageCage>()
                .selectAll(EdgStorageCage.class)
                .leftJoin(EdgStorageCageDetails.class, on -> on
    public List<EdgStorageCageVO> selectEdgStorageCagesByDeviceId(int deviceId) {
        List<EdgStorageCageVO> storageCageVOS = this.selectJoinList(EdgStorageCageVO.class, new MPJLambdaWrapper<EdgStorageCage>().leftJoin(EdgStorageCageDetails.class, on -> on
                .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
                        .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot)
                        .eq(EdgStorageCageDetails::getState, "100"))
                .isNull(EdgStorageCageDetails::getSlot)
                .last("order by abs(t.slot - 4)  asc")
        );
                .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN))
                .eq(EdgStorageCage::getDeviceId, deviceId));
        return storageCageVOS;
    }
    /**
     * 查询笼内出片任务   按钢化版图号+版图内序号
     *
     * @return
     */
    @Override
    public List<Map<String, Object>> selectCacheOut() {
        return upPattenUsageMapper.selectJoinMaps(JoinWrappers.lambda(UpPattenUsage.class).selectAll(UpPattenUsage.class)
                .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight, EdgStorageCageDetails::getGlassId)
                .leftJoin(EdgStorageCageDetails.class, on -> on
                        .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
                        .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
                .isNull(EdgStorageCageDetails::getSlot)
        );
//        return upPattenUsageMapper.selectJoinMaps(new MPJQueryWrapper<UpPattenUsage>().selectAll(UpPattenUsage.class)
//                        .select("escd.glass_id","escd.flow_card_id","escd.width","escd.height")
//                        .leftJoin("edg_storage_cage_details escd on t.device_id=escd.device_id and t.slot=escd.slot")
//                        .isNotNull("escd.slot")
//                        .orderByAsc("escd.tempering_layout_id","escd.tempering_feed_sequence")
//        );
    }
    /**
     * 理片缓存详情
     *
     * @return
     */
    @Override
    public List<Map<String, Object>> selectEdgStorageCages() {
        return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class)
                .selectAll(EdgStorageCage.class)
                .selectAs(EdgStorageCageDetails::getId, "esdId")
                .select(EdgStorageCageDetails::getGlassId, EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight, EdgStorageCageDetails::getId)
                .leftJoin(EdgStorageCageDetails.class, on -> on
                        .eq(EdgStorageCageDetails::getDeviceId, EdgStorageCage::getDeviceId)
                        .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)
                        .eq(EdgStorageCageDetails::getSlot, EdgStorageCage::getSlot))
        );
    }
    /**
     * 修改理片笼信息 功能:对笼内栅格玻璃 【启用/禁用】