From 3b0c30d5918f1b50b3eb1a92b17124d5087e4a75 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期五, 10 五月 2024 16:29:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 275 insertions(+), 6 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..d139f5f 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,24 @@ package com.mes.downstorage.service.impl; +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.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 org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -18,14 +33,268 @@ * @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; + + + + + + + + + + + + + + + + + + + + + + + + + + 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; + } + + + 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<Map> gettask(){ - downStorageCageMapper.selectList(null); -// downStorageCageMapper.selectJoin(); - return null; - }; + 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, + 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)) + .isNull(DownStorageCageDetails::getSlot) + ); + } + + + @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)) + ); + + } + + /** + * 淇敼鐞嗙墖绗间俊鎭� 鍔熻兘锛氬绗煎唴鏍呮牸鐜荤拑 銆愬惎鐢�/绂佺敤銆� + * @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