From 051613aa73be3e75af5a6dfdb86a722bcb5af094 Mon Sep 17 00:00:00 2001 From: wangfei <3597712270@qq.com> Date: 星期五, 23 八月 2024 16:46:51 +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 | 275 +++++++++++++++++------------------------------------- 1 files changed, 89 insertions(+), 186 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 d139f5f..18e1259 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,14 +1,13 @@ package com.mes.downstorage.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.github.yulichang.toolkit.JoinWrappers; import com.github.yulichang.wrapper.MPJLambdaWrapper; -import com.mes.common.PLCAutoMes; -import com.mes.common.S7control; -import com.mes.device.PlcParameterObject; +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; @@ -16,7 +15,6 @@ 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 org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -27,7 +25,7 @@ /** * <p> - * 鏈嶅姟瀹炵幇绫� + * 鏈嶅姟瀹炵幇绫� * </p> * * @author zhoush @@ -36,7 +34,7 @@ @Slf4j @Service public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService { - @Autowired(required=false) + @Autowired(required = false) private DownStorageCageMapper downStorageCageMapper; @Autowired @@ -49,46 +47,23 @@ @Autowired private DownStorageCageDetailsMapper downStorageCageDetailsMapper; - - - - - - - - - - - - - - - - - - - - - - - - - public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell,String taskType ) { + @Override + public DownGlassTask createDownGlassTask(GlassInfo glassInfo, Integer startCell, Integer endCell, Integer taskType) { DownGlassTask downGlassTask = new DownGlassTask(); - BeanUtils.copyProperties(glassInfo,downGlassTask); + BeanUtils.copyProperties(glassInfo, downGlassTask); downGlassTask.setStartCell(startCell); - downGlassTask.setTaskType(taskType); - downGlassTask.setEndCell(endCell); + downGlassTask.setTaskType(taskType); + downGlassTask.setEndCell(endCell); return downGlassTask; } - - public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, String startCell, String endCell,String taskType ) { + @Override + public DownGlassTask createDownGlassTask(DownStorageCageDetails glassInfo, Integer startCell, Integer endCell, Integer taskType) { DownGlassTask downGlassTask = new DownGlassTask(); - BeanUtils.copyProperties(glassInfo,downGlassTask); + BeanUtils.copyProperties(glassInfo, downGlassTask); downGlassTask.setStartCell(startCell); downGlassTask.setTaskType(taskType); downGlassTask.setEndCell(endCell); @@ -96,146 +71,62 @@ } - @Override - public boolean processInto(String Number) { - - //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠� - GlassInfo GlassInfo = glassInfoService.selectGlassId(Number); - PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; - //瀛樺湪姝ょ幓鐠冪紪鍙� - if (GlassInfo != null) { - //鍚屾壘鍒板悓娴佺▼鍗¢檮杩戠┖鏍� - List<DownStorageCageDetails> list = selectCacheEmpty(); - - if (list.size() > 0) { - //瀛樺湪绌烘牸 - //1.鐢熸垚浠诲姟锛� 璧峰浣嶇疆0 缁撴潫浣嶇疆this.slot 浠诲姟绫诲瀷 1 锛堣繘鐗囦换鍔★級 - //2.鍥炲 1杩涚墖 - DownStorageCageDetails item = list.get(0); - - //selectInfo.insertCacheTask(GlassInfo.getId() + "", "0", item.getSlot() + "", "1", GlassInfo.getWidth(), GlassInfo.getHeight(), GlassInfo.getFilmsid(), GlassInfo.getThickness(), GlassInfo.getFlowcardId()); - - DownGlassTask downGlassTask = createDownGlassTask(GlassInfo,"0",item.getSlot()+"","1"); - - downGlassTaskService.insertCacheTask(downGlassTask); - - //S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1); - - - //瀹屾垚鍚庢彃鍏ュ皬鐗囨暟鎹埌缂撳瓨琛� - return true; - } - - } else { - // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず - } - //杩斿洖缁撴灉 - return false; - } - - - /** - * 鐞嗙墖 鍑� - * @return - */ - // - @Override - public boolean processOut() { - // 鏌ヨ浠诲姟 - - - // PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; - - List<DownStorageCageDetails> list = downStorageCageDetailsService.CacheOut(1, 5); - List<DownStorageCageDetails> list2 = downStorageCageDetailsService.CacheOut(6, 10); - List<DownStorageCageDetails> list3 = downStorageCageDetailsService.CacheOut(1, 10); - - - - // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊 - - if (!list3.isEmpty()) { - DownStorageCageDetails item3 = list3.get(0); - if (item3.getHeight() >= 1 && item3.getWidth() >= 1) { - - String endcell = "13"; - String SendEndcell = "1"; - - - - DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2"); - - downGlassTaskService.insertCacheTask(downGlassTask); - // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell); - // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); - return true; - } - } - - - //濡傛灉鍚屾椂鍓嶅悗绔兘绌洪棽 浼樺厛鍚庣鍑虹墖骞朵笖浼樺厛婊℃灦 - else if (!list2.isEmpty()&&!list3.isEmpty()) { - - DownStorageCageDetails item3 = list2.get(0); - String endcell = "11"; - String SendEndcell = "1"; - - DownGlassTask downGlassTask =createDownGlassTask(item3,"0",endcell,"2"); - downGlassTaskService.insertCacheTask(downGlassTask); - - //S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell); - //S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); - return true; - - } - // 鎸夌収澶у皬绗﹀悎鍓嶇鍑虹墖 - else if (!list.isEmpty()) { - DownStorageCageDetails item = list.get(0); - - // 鍑哄埌 G06 - - - DownGlassTask downGlassTask =createDownGlassTask(item,"0","06","2"); - downGlassTaskService.insertCacheTask(downGlassTask); - // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "1"); - // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); - return true; - - // 鎸夌収澶у皬绗﹀悎鍚庣鍑虹墖 - } else if (!list2.isEmpty()) { - DownStorageCageDetails item2 = list2.get(0); - - // 鍑哄埌 G11 - - DownGlassTask downGlassTask =createDownGlassTask(item2,"0","11","2"); - downGlassTaskService.insertCacheTask(downGlassTask); - - // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2"); - // S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); - return true; - - - } - - - - // 杩斿洖缁撴灉 - return false; - } - - //鎵惧埌绌烘牸瀛� + //鎵惧埌绌烘牸瀛� @Override public List<DownStorageCageDetails> selectCacheEmpty() { - return baseMapper.selectJoinList(DownStorageCageDetails.class, + return this.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::getSlot, DownStorageCage::getSlot) + .eq(DownStorageCageDetails::getState, Const.GLASS_STATE_IN)) .isNull(DownStorageCageDetails::getSlot) ); } + + //鎵惧埌绌烘牸瀛� + @Override + public DownStorageCage selectCacheEmpty(int currentSlot, boolean flag) { + List<DownStorageCage> emptyList = this.selectJoinList(DownStorageCage.class, + JoinWrappers.lambda(DownStorageCage.class) + .selectAll(DownStorageCage.class) + .leftJoin(DownStorageCageDetails.class, on -> on + .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)) { + return emptyList.get(0); + } + if (CollectionUtil.isEmpty(emptyList) || emptyList.size() == 1) { + return null; + } + return emptyList.get(0); + } + + + @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 @@ -246,49 +137,61 @@ .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::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; + public boolean updateDownStorageCage(DownStorageCage downStorageCage) { + DownStorageCage downItem = baseMapper.selectById(downStorageCage.getId()); + if (downItem != null) { + downItem.setEnableState(downStorageCage.getEnableState()); + int rowsAffected = baseMapper.updateById(downItem); + if (rowsAffected > 0) { + return true; + } else { + return false; + } + } else { + return false; + } } + /** - *淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆� + * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愭坊鍔�/鍒犻櫎/鏇存崲銆� + * * @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()); + 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){ + if (edgDItem != null) { //鍙紶鏍煎瓙 锛氱Щ闄ょ幓鐠� - DownStorageCageDetails newresult=downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId()); + DownStorageCageDetails newresult = downStorageCageDetailsMapper.selectById(downStorageCageDetails.getId()); newresult.setSlot(downItem.getSlot()); downStorageCageDetailsMapper.updateById(newresult); } } - if (downItem!=null){ + if (downItem != null) { //绉婚櫎 - DownStorageCageDetails result=downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot,downStorageCageId)); - if (result!=null){ + DownStorageCageDetails result = downStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<DownStorageCageDetails>().eq(DownStorageCageDetails::getSlot, downStorageCageId)); + if (result != null) { result.setSlot(0); downStorageCageDetailsMapper.updateById(result); } -- Gitblit v1.8.0