zhoushihao
2024-10-11 d5d0d1c7a84b996b9bbcebfaf2c2c95f1a5a3678
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java
@@ -1,14 +1,18 @@
package com.mes.downstorage.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.mes.common.config.Const;
import com.mes.damage.entity.Damage;
import com.mes.damage.service.DamageService;
import com.mes.downglassinfo.entity.DownGlassTask;
import com.mes.downglassinfo.service.DownGlassTaskService;
import com.mes.downstorage.entity.DownStorageCage;
import com.mes.downstorage.entity.DownStorageCageDetails;
import com.mes.downstorage.entity.request.CacheWornRequest;
import com.mes.downstorage.mapper.DownStorageCageDetailsMapper;
import com.mes.downstorage.mapper.DownStorageCageMapper;
import com.mes.downstorage.service.DownStorageCageDetailsService;
@@ -46,9 +50,11 @@
    private DownStorageCageDetailsService downStorageCageDetailsService;
    @Autowired
    private DownStorageCageDetailsMapper downStorageCageDetailsMapper;
    @Autowired
    DamageService damageService;
    @Override
    public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, String taskType) {
    public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) {
        DownGlassTask downGlassTask = new DownGlassTask();
        BeanUtils.copyProperties(glassInfo, downGlassTask);
@@ -60,7 +66,7 @@
    }
    @Override
    public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, String taskType) {
    public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, Integer taskType) {
        DownGlassTask downGlassTask = new DownGlassTask();
        BeanUtils.copyProperties(glassInfo, downGlassTask);
@@ -92,10 +98,10 @@
                JoinWrappers.lambda(DownStorageCage.class)
                        .selectAll(DownStorageCage.class)
                        .leftJoin(DownStorageCageDetails.class, on -> on
                                .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId)
                                .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot)
                                .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN))
                        .isNull(DownStorageCageDetails::getSlot)
                        .eq(DownStorageCage::getEnableState, Const.SLOT_ON)
                        .last("order by abs(t.slot - " + currentSlot + ")  asc limit 2")
        );
        if (flag && CollectionUtil.isNotEmpty(emptyList)) {
@@ -106,6 +112,7 @@
        }
        return emptyList.get(0);
    }
    @Override
    public List<DownStorageCageDetails> selectCacheMax() {
@@ -150,10 +157,19 @@
    @Override
    public boolean updateDownStorageCage(DownStorageCage downStorageCage) {
        DownStorageCage downItem = baseMapper.selectById(downStorageCage.getId());
        downItem.setEnableState(downStorageCage.getEnableState());
        baseMapper.updateById(downItem);
        return true;
        if (downItem != null) {
            downItem.setEnableState(downStorageCage.getEnableState());
            int rowsAffected = baseMapper.updateById(downItem);
            if (rowsAffected > 0) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
    /**
     * 修改理片笼信息 功能:对笼内栅格玻璃 【添加/删除/更换】
@@ -179,7 +195,10 @@
        if (downItem != null) {
            //移除
            DownStorageCageDetails result = downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot, downStorageCageId));
            DownStorageCageDetails result = downStorageCageDetailsMapper
                    .selectOne(new MPJLambdaWrapper<DownStorageCageDetails>()
                            .eq(DownStorageCageDetails::getSlot, downStorageCageId)
                    );
            if (result != null) {
                result.setSlot(0);
                downStorageCageDetailsMapper.updateById(result);
@@ -189,4 +208,19 @@
        return true;
    }
    @Override
    public void deleteDownStorageCage(CacheWornRequest cacheWornRequest) {
        Damage damage = new Damage();
        BeanUtils.copyProperties(cacheWornRequest, damage);
        damage.setType(cacheWornRequest.getState());
        damage.setRemark("");
        damage.setStatus(0);
        damageService.insertDamage(damage);
        downStorageCageDetailsService.update(new LambdaUpdateWrapper<DownStorageCageDetails>()
                .set(DownStorageCageDetails::getState, Const.GLASS_STATE_OUT)
                .eq(DownStorageCageDetails::getGlassId, cacheWornRequest.getGlassId())
                .eq(DownStorageCageDetails::getState,Const.GLASS_STATE_IN));
    }
}