From e5e576ab6840b8030a60a1e67fb94728f7ec2ae2 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期三, 24 四月 2024 16:27:03 +0800 Subject: [PATCH] Changes --- hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java | 236 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 236 insertions(+), 0 deletions(-) diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java new file mode 100644 index 0000000..1aa2bdf --- /dev/null +++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downstorage/service/DownGlassCacheLogic.java @@ -0,0 +1,236 @@ +package com.mes.downstorage.service; + +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.DownStorageCageDetails; +import com.mes.downstorage.mapper.DownStorageCageDetailsMapper; +import com.mes.downworkstation.mapper.DownWorkstationMapper; +import com.mes.tools.WebSocketServer; +import com.mes.glassinfo.entity.GlassInfo; +import com.mes.glassinfo.service.GlassInfoService; +import lombok.Data; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; + +@Data +@Service +public class DownGlassCacheLogic { + //涓嬬墖鍓嶇悊鐗� + public static final String RESULT_IN = "1"; + public static final String RESULT_OUT = "2"; + public static final String RESULT_IN_OUT = "3"; + @Autowired + private DownStorageCageDetailsMapper selectInfo; + @Autowired + private GlassInfoService glassInfoService; + @Autowired + private DownStorageCageService downStorageCageService; + @Autowired + private DownGlassTaskService downGlassTaskService; + + + + + + public void process() { + String result = S7control.getinstance().ReadWord("DB14.0", 1).get(0) + ""; + String number = S7control.getinstance().ReadWord("DB14.2", 1).get(0) + ""; + + // 杩涚墖璇锋眰 + if (RESULT_IN.equals(result)) { + processInto(number); + } + // 鍑虹墖璇锋眰 + else if (RESULT_OUT.equals(result)) { + processOut(); + } + // 杩涘嚭鐗囪姹� + else if (RESULT_IN_OUT.equals(result)) { + // 鍏堝嚭鍚庤繘 + if (!processOut()) { + processInto(number); + } + } + } + + + /** + * @param Number + * @return //涓嬬墖鍓嶇悊鐗� 杩� + */ + + public boolean processInto(String Number) { + glassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class); + downStorageCageService = WebSocketServer.applicationContext.getBean(DownStorageCageService.class); + + //鎸塱d鏌ヨ鐜荤拑淇℃伅琛ㄩ噷鐨勭幓鐠� + GlassInfo GlassInfo = glassInfoService.selectGlassId(Number); + PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; + //瀛樺湪姝ょ幓鐠冪紪鍙� + if (GlassInfo != null) { + //鍚岄挗鍖栫増鍥惧唴鐨勬爡鏍煎彿 鎵惧埌鐩稿悓鐗堝浘id骞朵笖澶т簬鍓嶉潰鐨勯『搴忕殑绌烘牸 + List<DownStorageCageDetails> list = downStorageCageService.getIsExistIntoCacheByLayoutAndSequence(GlassInfo.getTemperingLayoutId(), GlassInfo.getTemperingFeedSequence(), GlassInfo.getWidth()); + //绌烘爡鏍煎彿 + if (list.size() == 0) { + //鏌ヨ绗煎瓙鍐呯┖闂� + list = downStorageCageService.getCacheLeisure(); + } + //灏忎簬姝ょ幓鐠冮挗鍖栫増鍥惧簭鍙风殑鏍呮牸鍙� + if (list.size() == 0) { + list = downStorageCageService.getIsExistIntoCacheByLayout(GlassInfo.getTemperingLayoutId(), 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()); + + S7control.getinstance().WriteWord(plcmes.getPlcParameter("MESToGaStatus").getAddress(), (short) 1); + + //瀹屾垚鍚庢彃鍏ュ皬鐗囨暟鎹埌缂撳瓨琛� + return true; + } + + } else { + // ID缂栧彿涓嶅瓨鍦� 涓嶅鐞�/鍥炲PLC 杩涜鎶ヨ鎻愮ず + } + //杩斿洖缁撴灉 + return false; + } + + //鐞嗙墖 鍑� + public boolean processOut() { + // 鏌ヨ浠诲姟 + String G06 = S7control.getinstance().ReadWord("DB14.56", 1).get(0) + ""; + String G11 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + ""; + String G13 = S7control.getinstance().ReadWord("DB14.58", 1).get(0) + ""; + PlcParameterObject plcmes = PLCAutoMes.PlcMesObject; + + + List<DownStorageCageDetails> list = downStorageCageService.getCacheOut(1, 5); + List<DownStorageCageDetails> list2 = downStorageCageService.getCacheOut(6, 10); + List<DownStorageCageDetails> list3 = downStorageCageService.getCacheOut(1, 10); + GlassInfo Maxglass=glassInfoService.selectGlassId("2");; + + // 浼樺厛 瓒呭嚭灏哄浼樺厛浜哄伐鍑虹墖 浜哄伐澶勭悊 + 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()); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), SendEndcell); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); + return true; + } + } + + //鍚屾椂璇锋眰 浼樺厛鍚庣鍑虹墖 + else if (!list3.isEmpty()&&Maxglass.equals(list3.get(0))) { + DownStorageCageDetails item3 = list3.get(0); + if (G06.equals("0") && G11.equals("0")) { + String endcell = "11"; + String SendEndcell = "1"; + selectInfo.insertCacheTask(item3.getGlassId() + "", "0", endcell, "2", item3.getWidth(), item3.getHeight(), item3.getFilmsid(), item3.getThickness(), item3.getFlowCardId()); + 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); + if (G06.equals("0") && G11.equals("1")) { + // 鍑哄埌 G06 + selectInfo.insertCacheTask(item.getGlassId() + "", "0", "06", "2", item.getWidth(), item.getHeight(), item.getFilmsid(), item.getThickness(), item.getFlowCardId()); + 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); + if (G06.equals("1") && G11.equals("0")) { + // 鍑哄埌 G11 + selectInfo.insertCacheTask(item2.getGlassId() + "", "0", "11", "2", item2.getWidth(), item2.getHeight(), item2.getFilmsid(), item2.getThickness(), item2.getFlowCardId()); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.28").getAddress(), "2"); + S7control.getinstance().writeString(plcmes.getPlcParameter("DB14.20").getAddress(), "1"); + return true; + } + + } + + + // 杩斿洖缁撴灉 + return false; + } + + + /** + * @param Number + * //纾ㄨ竟 涓嶄氦浜� 鐞嗙墖鍜岀(杈规満鑷繁浜や簰 + */ + + + /** + * @param Number + * @return 鏌ヨ娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹� + */ + public boolean selectMessageId(String Number) { + //鏌ヨ鏄惁瀛樺湪 + + GlassInfo GlassInfo = glassInfoService.selectGlassId(Number); + if (GlassInfo == null) { + //杩斿洖 涓嶅瓨鍦� + return false; + + } + //杩斿洖 瀛樺湪 + return true; + } + + /** + * @param Number + * @return 鍒犻櫎娑堟伅闃熷垪閲屾鐜荤拑ID鐨勬暟鎹� + */ + + public boolean deleteMessageId(String Number) { + //鏌ヨ鏄惁瀛樺湪 + GlassInfo GlassInfo = glassInfoService.selectGlassId(Number); + if (GlassInfo == null) { + //杩斿洖 涓嶅瓨鍦� + return false; + } + //杩斿洖 瀛樺湪 + return true; + } + + + /** + * @param Number + * @return //鏄惁瀛樺湪姝ょ紪鍙风幓鐠� + */ + public boolean isExist(String Number) { + //鏌ヨ鏄惁瀛樺湪 + GlassInfo GlassInfo = glassInfoService.selectGlassId(Number); + if (GlassInfo == null) { + //杩斿洖 涓嶅瓨鍦� + return false; + } + //杩斿洖 瀛樺湪 + return true; + } + +} + -- Gitblit v1.8.0