From a72412ea76015aa84883da72e643c63096c71a24 Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期三, 24 四月 2024 09:00:44 +0800 Subject: [PATCH] 认证权限 --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/impl/DownStorageCageServiceImpl.java | 389 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 388 insertions(+), 1 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 1ace668..958affc 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,10 +1,23 @@ package com.mes.downstorage.service.impl; -import com.mes.downstorage.entity.DownStorageCage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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.mes.downstorage.entity.DownStorageCageDetails; import com.mes.downstorage.mapper.DownStorageCageMapper; import com.mes.downstorage.service.DownStorageCageService; +import com.mes.glassinfo.entity.GlassInfo; +import com.mes.glassinfo.service.GlassInfoService; +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; /** * <p> @@ -14,7 +27,381 @@ * @author zhoush * @since 2024-03-27 */ +@Slf4j @Service public class DownStorageCageServiceImpl extends ServiceImpl<DownStorageCageMapper, DownStorageCage> implements DownStorageCageService { + @Autowired + private GlassInfoService glassInfoService; + @Autowired + private DownStorageCageService downStorageCageService; + @Autowired + private DownGlassTaskService downGlassTaskService; + @Override + public List<Map> gettask(){ + baseMapper.selectList(null); +// downStorageCageMapper.selectJoin(); + return null; + }; + + + + @Override + public List<DownStorageCageDetails> getCacheLeisure() { + log.info(" 鏌ヨ绗煎瓙鍐呯┖闂�"); +// MPJLambdaWrapper<DownStorageCageDetails> wrapper = new MPJLambdaWrapper<>(); +// wrapper.selectAll(DownStorageCageDetails.class) +// List<DownStorageCageDetails> list = baseMapper.selectJoinList( +// DownStorageCageDetails.class,Wrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .isNull("escd.slot") +// .orderByAsc("escd.slot") +// ); +// return list; + return null; + } + + +// @Override +// public List<Map> getCacheOut(int start, int end) { +// log.info(" 鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�"); +// List<Map> map = downStorageCageMapper.selectJoinList( +// Map.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id") +// .isNotNull("escd.slot") +// .between("dw.workstation_id", start, end) +// .orderByAsc("escd.tempering_layout_id, escd.tempering_feed_sequence") +// ); +// return map; +// } + + + + + + @Override + public List<DownStorageCageDetails> getCacheOut(int start, int end) { + log.info("鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓ч『搴忓拰澶у皬鍑虹墖鐨勫皬鐗�"); +// return baseMapper.selectJoinList( +// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id") +// .leftJoin("glass_info gi on dw.flow_card_id = gi.flowcard_id and gi.flowcard_id=escd.flow_card_id ") +// .isNotNull("escd.slot") +// .between("dw.workstation_id", start, end) +// .orderByDesc("escd.width") +// .orderByDesc("escd.height") +// ); + return null; + } + + + + + + @Override + public List<Map> getCacheInfo() { + log.info(" 鏌ヨ绗煎瓙鍐呬俊鎭�"); +// return baseMapper.selectJoinList( +// Map.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .orderByAsc("t.slot") +// ); + return null; + + } + + + + @Override + public List<DownStorageCageDetails> getIsExistIntoCacheByLayoutAndSequence(Integer tempering_layout_id, Integer tempering_feed_sequence, double width) { + log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿 鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸"); +// List<DownStorageCageDetails> list = baseMapper.selectJoinList( +// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .isNotNull("escd.slot") +// .eq("escd.tempering_layout_id", tempering_layout_id) +// .lt("escd.tempering_feed_sequence", tempering_feed_sequence) +// .gt("t.remain_width", width) +// .orderByAsc("escd.tempering_feed_sequence") +// ); +// return list; + return null; + } + + + + + + + + @Override + public List<DownStorageCageDetails> IsExistIntoCacheByflowcardid(String flowcardid, double width) { + log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿"); +// return baseMapper.selectJoinList( +// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .isNotNull("escd.slot") +// .lt("escd.flow_card_id", flowcardid) +// // 鏉′欢 t.remain_width - width > 0 +// .apply("t.remain_width - " + width + " > 0") +// .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence") +// ); + return null; + + } + + + @Override + public List<DownStorageCageDetails> getIsExistIntoCacheByLayout(Integer tempering_layout_id, double width) { +// log.info(" 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿"); +// return baseMapper.selectJoinList( +// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .isNotNull("escd.slot") +// .lt("escd.tempering_layout_id", tempering_layout_id) +// // 鏉′欢 t.remain_width - width > 0 +// .apply("t.remain_width - " + width + " > 0") +// .orderByDesc("escd.tempering_layout_id, escd.tempering_feed_sequence") +// ); + return null; + } + + + + + + + + @Override + public List<DownStorageCageDetails> getIsExistIntoCacheByflowcardid(String flowcardid, double width) { + log.info(" 鍗曠墖鎯呭喌 鏌ヨ鍙繘姝ょ墖鐜荤拑鐨勬爡鏍煎彿 鎵惧埌鐩稿悓娴佺▼鍗″彿鐨勭┖鏍�"); + +// return baseMapper.selectJoinList( +// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .isNotNull("escd.slot") +// .eq("escd.flow_card_id", flowcardid) +// .gt("t.remain_width", width) +// .orderByAsc("escd.sequence") +// ); + return null; + + } + + +// @Override +// public List<DownStorageCageDetails> Out() { +// log.info("鍗曠墖鎯呭喌 鏍规嵁浼犲叆鐨勫伐浣嶆煡璇㈢鍚堟寜鐓уぇ灏忓嚭鐗囩殑灏忕墖"); +// +// +// return downStorageCageMapper.selectJoinList( +// DownStorageCageDetails.class, new MPJQueryWrapper<DownStorageCageDetails>() +// .select("escd.*") +// .leftJoin("down_storage_cage_details escd on t.slot = escd.slot") +// .leftJoin("down_workstation dw on escd.flow_card_id = dw.flow_card_id") +// .isNotNull("escd.slot") +// +// .orderByDesc("escd.width") +// .orderByDesc("escd.height") +// ); +// } + + + + + + + + public DownGlassTask createDownGlassTask(GlassInfo glassInfo, String startCell, String endCell,String taskType ) { + DownGlassTask downGlassTask = new DownGlassTask(); + downGlassTask.setId(glassInfo.getId()); + downGlassTask.setStartCell(startCell); + downGlassTask.setTaskType(taskType); + downGlassTask.setEndCell(endCell); + downGlassTask.setWidth(glassInfo.getWidth()); + downGlassTask.setHeight(glassInfo.getHeight()); + downGlassTask.setFilmsid(String.valueOf(glassInfo.getFilmsid())); + downGlassTask.setThickness(glassInfo.getThickness()); + downGlassTask.setFlowCardId(glassInfo.getFlowcardId()); + + return downGlassTask; + } + + + + @Override + public boolean processInto(String Number) { + + //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠� + GlassInfo GlassInfo = glassInfoService.selectGlassId(Number); + PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; + //瀛樺湪姝ょ幓鐠冪紪鍙� + if (GlassInfo != null) { + //鍚屾壘鍒板悓娴佺▼鍗¢檮杩戠┖鏍� + List<DownStorageCageDetails> list = getIsExistIntoCacheByflowcardid(GlassInfo.getFlowcardId(), GlassInfo.getWidth()); + 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 = getCacheOut(1, 5); + List<DownStorageCageDetails> list2 = getCacheOut(6, 10); + List<DownStorageCageDetails> list3 = getCacheOut(1, 10); + //鑷姩缁戝畾鏋跺瓙 + + + + // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊 + + if (!list3.isEmpty()) { + DownStorageCageDetails item3 = list3.get(0); + if (item3.getHeight() >= 1 && item3.getWidth() >= 1) { + + String endcell = "13"; + String SendEndcell = "1"; + +// selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId()); + + DownGlassTask downGlassTask = new DownGlassTask(); + downGlassTask.setId(item3.getId()); // 璁剧疆鐜荤拑ID + downGlassTask.setStartCell("0"); + downGlassTask.setEndCell(endcell); + downGlassTask.setTaskType("2"); + downGlassTask.setWidth(item3.getWidth()); // 璁剧疆鐜荤拑瀹藉害 + downGlassTask.setHeight(item3.getHeight()); // 璁剧疆鐜荤拑楂樺害 + downGlassTask.setFilmsid(item3.getFilmsid()+""); // 璁剧疆鑶淚D + downGlassTask.setThickness(item3.getThickness()); // 璁剧疆鐜荤拑鍘氬害 + downGlassTask.setFlowCardId(item3.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿 + 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 (!list3.isEmpty()) { + DownStorageCageDetails item3 = list3.get(0); + String endcell = "11"; + String SendEndcell = "1"; + // selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId()); + DownGlassTask downGlassTask = new DownGlassTask(); + downGlassTask.setId(item3.getId()); // 璁剧疆鐜荤拑ID + downGlassTask.setStartCell("0"); + downGlassTask.setEndCell(endcell); + downGlassTask.setTaskType("2"); + downGlassTask.setWidth(item3.getWidth()); // 璁剧疆鐜荤拑瀹藉害 + downGlassTask.setHeight(item3.getHeight()); // 璁剧疆鐜荤拑楂樺害 + downGlassTask.setFilmsid(item3.getFilmsid()+""); // 璁剧疆鑶淚D + downGlassTask.setThickness(item3.getThickness()); // 璁剧疆鐜荤拑鍘氬害 + downGlassTask.setFlowCardId(item3.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿 + 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 + //selectInfo.insertCacheTask(item.getGlassId() + "", "0", "06", "2", item.getWidth(), item.getHeight(), item.getFilmsid(), item.getThickness(), item.getFlowCardId()); + DownGlassTask downGlassTask = new DownGlassTask(); + downGlassTask.setId(item.getId()); // 璁剧疆鐜荤拑ID + downGlassTask.setStartCell("0"); + downGlassTask.setEndCell("06"); + downGlassTask.setTaskType("2"); + downGlassTask.setWidth(item.getWidth()); // 璁剧疆鐜荤拑瀹藉害 + downGlassTask.setHeight(item.getHeight()); // 璁剧疆鐜荤拑楂樺害 + downGlassTask.setFilmsid(item.getFilmsid()+""); // 璁剧疆鑶淚D + downGlassTask.setThickness(item.getThickness()); // 璁剧疆鐜荤拑鍘氬害 + downGlassTask.setFlowCardId(item.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿 + 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 + // selectInfo.insertCacheTask(item2.getGlassId() + "", "0", "11", "2", item2.getWidth(), item2.getHeight(), item2.getFilmsid(), item2.getThickness(), item2.getFlowCardId()); + DownGlassTask downGlassTask = new DownGlassTask(); + downGlassTask.setId(item2.getId()); // 璁剧疆鐜荤拑ID + downGlassTask.setStartCell("0"); + downGlassTask.setEndCell("11"); + downGlassTask.setTaskType("2"); + downGlassTask.setWidth(item2.getWidth()); // 璁剧疆鐜荤拑瀹藉害 + downGlassTask.setHeight(item2.getHeight()); // 璁剧疆鐜荤拑楂樺害 + downGlassTask.setFilmsid(item2.getFilmsid()+""); // 璁剧疆鑶淚D + downGlassTask.setThickness(item2.getThickness()); // 璁剧疆鐜荤拑鍘氬害 + downGlassTask.setFlowCardId(item2.getFlowCardId()); // 璁剧疆娴佺▼鍗″彿 + 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; + } + + + + + + } -- Gitblit v1.8.0