From 82154c2033851ba6c871467acedde11a4376c59c Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期五, 10 五月 2024 17:00:56 +0800 Subject: [PATCH] 卧式理片笼线程改造:整理出片逻辑 --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java | 72 +++++++++++++++++++----------------- 1 files changed, 38 insertions(+), 34 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java index 4709fcf..7c71c38 100644 --- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java +++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/edgstoragecage/service/impl/EdgStorageCageServiceImpl.java @@ -1,26 +1,22 @@ package com.mes.edgstoragecage.service.impl; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.yulichang.base.MPJBaseServiceImpl; -import com.github.yulichang.query.MPJLambdaQueryWrapper; -import com.github.yulichang.query.MPJQueryWrapper; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.mes.common.config.Const; import com.mes.edgstoragecage.entity.EdgStorageCage; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mes.edgstoragecage.entity.EdgStorageCageDetails; -import com.mes.edgstoragecage.mapper.EdgStorageCageMapper; import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper; +import com.mes.edgstoragecage.mapper.EdgStorageCageMapper; import com.mes.edgstoragecage.service.EdgStorageCageService; import com.mes.uppattenusage.entity.UpPattenUsage; import com.mes.uppattenusage.mapper.UpPattenUsageMapper; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.List; import java.util.Map; -import java.util.*; -import java.util.stream.Collectors; /** * <p> @@ -30,6 +26,7 @@ * @author zhoush * @since 2024-04-07 */ +@Slf4j @Service public class EdgStorageCageServiceImpl extends MPJBaseServiceImpl<EdgStorageCageMapper, EdgStorageCage> implements EdgStorageCageService { @@ -38,25 +35,32 @@ @Autowired UpPattenUsageMapper upPattenUsageMapper; + @Override + public EdgStorageCage selectNearestEmpty(int currentSlot) { + return this.selectJoinOne(EdgStorageCage.class,new MPJLambdaWrapper<EdgStorageCage>() + .selectAll(EdgStorageCage.class) + .leftJoin(EdgStorageCageDetails.class,on->on + .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot) + .eq(EdgStorageCageDetails::getState, Const.GLASS_STATE_IN)) + .isNull(EdgStorageCageDetails::getSlot) + .last("order by abs(slot - 4) asc limit 1") + ); + } + /** * 鏌ヨ绗煎唴绌烘牸 * @return */ @Override - public List<Map<String, Object>> selectCacheEmpty(){ - return baseMapper.selectJoinMaps(JoinWrappers.lambda(EdgStorageCage.class).selectAll(EdgStorageCage.class) - .select(EdgStorageCageDetails::getWidth, EdgStorageCageDetails::getHeight,EdgStorageCageDetails::getGlassId) + public List<EdgStorageCage> selectCacheEmpty(){ + return baseMapper.selectJoinList(EdgStorageCage.class,new MPJLambdaWrapper<EdgStorageCage>() + .selectAll(EdgStorageCage.class) .leftJoin(EdgStorageCageDetails.class,on->on - .eq(EdgStorageCageDetails::getDeviceId,EdgStorageCage::getDeviceId) - .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot)) + .eq(EdgStorageCageDetails::getSlot,EdgStorageCage::getSlot) + .eq(EdgStorageCageDetails::getState,"100")) .isNull(EdgStorageCageDetails::getSlot) + .last("order by abs(slot - 4) asc") ); - -// return baseMapper.selectJoinMaps(new MPJQueryWrapper<EdgStorageCage>().selectAll(EdgStorageCage.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") -// .isNull("escd.slot") -// ); } /** @@ -116,28 +120,28 @@ /** *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆� - * @param edgStorageCage + * @param edgStorageCageId * @param edgStorageCageDetails * @return */ @Override - public boolean updateEdgStorageCageDetails(EdgStorageCage edgStorageCage,EdgStorageCageDetails edgStorageCageDetails){ - EdgStorageCage edgItem=baseMapper.selectById(edgStorageCage.getId()); + public boolean updateEdgStorageCageDetails(int edgStorageCageId,EdgStorageCageDetails edgStorageCageDetails){ + EdgStorageCage edgItem=baseMapper.selectById(edgStorageCageId); + log.info("姝e父"+edgItem); EdgStorageCageDetails edgDItem=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId()); if (edgItem!=null){ - if(edgDItem==null){ - //绉婚櫎鐜荤拑 - EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getId,edgStorageCageDetails.getId())); + //绉婚櫎 + EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot,edgStorageCageId)); + if (result!=null){ result.setSlot(0); edgStorageCageDetailsMapper.updateById(result); - }else{ - //1.缁戝畾鏂扮殑鐜荤拑 2.鏇存崲鐜荤拑 涓婁竴鐗囨竻闄� 閲嶆柊缁戝畾 - EdgStorageCageDetails lastResult=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>().eq(EdgStorageCageDetails::getSlot,edgStorageCage.getSlot())); - lastResult.setSlot(0); - edgStorageCageDetailsMapper.updateById(lastResult); - EdgStorageCageDetails result=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId()); - result.setSlot(edgStorageCageDetails.getSlot()); - edgStorageCageDetailsMapper.updateById(result); + } + //娣诲姞 + if(edgDItem!=null){ + //鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠� + EdgStorageCageDetails newresult=edgStorageCageDetailsMapper.selectById(edgStorageCageDetails.getId()); + newresult.setSlot(edgItem.getSlot()); + edgStorageCageDetailsMapper.updateById(newresult); } } return true; -- Gitblit v1.8.0