From 09a010c5dc11c68a866a6075a74bd1bbefb4a9a8 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期一, 24 六月 2024 16:38:23 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 162 insertions(+), 7 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java index 618c2b1..3643a74 100644 --- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java @@ -1,9 +1,28 @@ package com.mes.downstorage.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; + +//import com.mes.device.PlcParameterObject; +import com.google.common.base.Functions; +import com.mes.common.config.Const; +import com.mes.downglassinfo.entity.DownGlassTask; +import com.mes.downglassinfo.service.DownGlassTaskService; import com.mes.downstorage.entity.DownStorageCage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mes.downstorage.entity.DownStorageCageDetails; +import com.mes.downstorage.mapper.DownStorageCageDetailsMapper; import com.mes.downstorage.mapper.DownStorageCageMapper; +import com.mes.downstorage.service.DownStorageCageDetailsService; import com.mes.downstorage.service.DownStorageCageService; +import com.mes.glassinfo.entity.GlassInfo; +import com.mes.glassinfo.service.GlassInfoService; +import com.mes.pp.entity.OptimizeDetail; +import lombok.extern.slf4j.Slf4j; +import net.sf.jsqlparser.statement.select.SelectItem; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -12,20 +31,156 @@ /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author zhoush * @since 2024-03-27 */ +@Slf4j @Service public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService { - @Autowired + @Autowired(required = false) private DownStorageCageMapper downStorageCageMapper; + + @Autowired + private GlassInfoService glassInfoService; + + @Autowired + private DownGlassTaskService downGlassTaskService; + @Autowired + private DownStorageCageDetailsService downStorageCageDetailsService; + @Autowired + private DownStorageCageDetailsMapper downStorageCageDetailsMapper; + @Override - public List<Map> gettask(){ - downStorageCageMapper.selectList(null); -// downStorageCageMapper.selectJoin(); - return null; - }; + public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell, String taskType) { + DownGlassTask downGlassTask = new DownGlassTask(); + + BeanUtils.copyProperties(glassInfo, downGlassTask); + + downGlassTask.setStartCell(startCell); + downGlassTask.setTaskType(taskType); + downGlassTask.setEndCell(endCell); + return downGlassTask; + } + + @Override + public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell, String taskType) { + DownGlassTask downGlassTask = new DownGlassTask(); + + BeanUtils.copyProperties(glassInfo, downGlassTask); + downGlassTask.setStartCell(startCell); + downGlassTask.setTaskType(taskType); + downGlassTask.setEndCell(endCell); + return downGlassTask; + } + + + + + //鎵惧埌绌烘牸瀛� + @Override + public List<DownStorageCageDetails> selectCacheEmpty() { + return baseMapper.selectJoinList(DownStorageCageDetails.class, + JoinWrappers.lambda(DownStorageCage.class) + .selectAll(DownStorageCage.class) + .select(DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getGlassId) + .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) + ); + } + + @Override + public List<DownStorageCageDetails> selectCacheMax() { + return baseMapper.selectJoinList(DownStorageCageDetails.class, + JoinWrappers.lambda(DownStorageCage.class) + // 娣诲姞 DownStorageCage 鐨� enableState 涓� 1 鐨勬潯浠� + .select(DownStorageCageDetails::getFlowCardId) + .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, 1) + .groupBy(DownStorageCageDetails::getFlowCardId) // 鏍规嵁 flowCardId 鍒嗙粍 + // 浣跨敤瀛愭煡璇㈠拰鎺掑簭鏉ヨ幏鍙栫浉鍚� FlowCardId 涓殑鏈�澶氳褰� + .having("count(*) = (select max(cnt) from (select count(*) as cnt from down_storage_cage_details group by flow_card_id) as temp)") + + ); + } + + + + + + + + + @Override + public List<Map<String, Object>> selectDownStorageCages() { + return baseMapper.selectJoinMaps(JoinWrappers.lambda(DownStorageCage.class) + .selectAll(DownStorageCage.class) + .selectAs(DownStorageCageDetails::getId, "esdId") + .select(DownStorageCageDetails::getGlassId, DownStorageCageDetails::getWidth, DownStorageCageDetails::getHeight, DownStorageCageDetails::getId) + .leftJoin(DownStorageCageDetails.class, on -> on + .eq(DownStorageCageDetails::getDeviceId, DownStorageCage::getDeviceId) + .eq(DownStorageCageDetails::getSlot, DownStorageCage::getSlot) + .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN)) + ); + + } + + /** + * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆� + * + * @param downStorageCage + * @return + */ + @Override + public boolean updateDownStorageCage(DownStorageCage downStorageCage) { + DownStorageCage downItem = baseMapper.selectById(downStorageCage.getId()); + downItem.setEnableState(downStorageCage.getEnableState()); + baseMapper.updateById(downItem); + return true; + } + + /** + * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆� + * + * @param downStorageCageId + * @param downStorageCageDetails + * @return + */ + @Override + public boolean updateDownStorageCageDetails(int downStorageCageId, DownStorageCageDetails downStorageCageDetails) { + DownStorageCage downItem = baseMapper.selectById(downStorageCageId); + log.info("姝e父" + downItem); + if (downStorageCageDetails != null) { + DownStorageCageDetails edgDItem = downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId()); + //娣诲姞 + if (edgDItem != null) { + //鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠� + DownStorageCageDetails newresult = downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId()); + newresult.setSlot(downItem.getSlot()); + downStorageCageDetailsMapper.updateById(newresult); + } + } + + if (downItem != null) { + //绉婚櫎 + DownStorageCageDetails result = downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot, downStorageCageId)); + if (result != null) { + result.setSlot(0); + downStorageCageDetailsMapper.updateById(result); + } + + } + return true; + } + } -- Gitblit v1.8.0