From 211cd083bc9fc1871779802650dfe0e607d8ca77 Mon Sep 17 00:00:00 2001 From: 严智鑫 <test> Date: 星期五, 10 五月 2024 08:25:12 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java | 174 ++++++++++++++++++++++++--------------------------------- 1 files changed, 74 insertions(+), 100 deletions(-) diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java index bc6f9a4..0421bed 100644 --- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java +++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/common/PlcHomeEdg.java @@ -1,8 +1,9 @@ package com.mes.common; + import cn.hutool.core.date.DateTime; import cn.hutool.json.JSONObject; -import com.github.yulichang.query.MPJLambdaQueryWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.mes.device.PlcParameterObject; import com.mes.edgstoragecage.entity.EdgStorageCage; import com.mes.edgstoragecage.entity.EdgStorageCageDetails; import com.mes.edgstoragecage.mapper.EdgStorageCageDetailsMapper; @@ -11,12 +12,12 @@ import com.mes.glassinfo.entity.GlassInfo; import com.mes.glassinfo.service.GlassInfoService; import com.mes.taskcache.entity.TaskCache; -import com.mes.taskcache.mapper.TaskCacheMapper; import com.mes.taskcache.service.TaskCacheService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -27,7 +28,6 @@ public class PlcHomeEdg extends Thread { - @Autowired TaskCacheService taskCacheService; @Autowired @@ -36,52 +36,30 @@ EdgStorageCageService edgStorageCageService; @Autowired EdgStorageCageDetailsService edgStorageCageDetailsService; - @Autowired + @Resource private EdgStorageCageDetailsMapper edgStorageCageDetailsMapper; - private Map<String,String> mapParameter=new HashMap<String,String>(); - private Map<String,String> mapValue=new HashMap<String,String>(); - private Map<String,Object> mapSettings=new HashMap<String,Object>(); + private Map<String, String> mapParameter = new HashMap<String, String>(); + private Map<String, String> mapValue = new HashMap<String, String>(); + private Map<String, String> mapType = new HashMap<String, String>(); + private Map<String, Object> mapSettings = new HashMap<String, Object>(); - - private void initialize(){ - mapParameter.put("A06_request_word","DB11.0");//璇锋眰瀛� - mapParameter.put("A05_scanning_ID","DB11.2");//璇锋眰ID - mapParameter.put("MES_confirmation_word","DB11.40");//MES鍙戦�佸瓧 - mapParameter.put("A09_glass_status","DB11.70");//A09鐜荤拑鐘舵�� - mapParameter.put("A10_glass_status","DB11.72");//A10鐜荤拑鐘舵�� - mapParameter.put("A09_prohibit_film_production","DB11.74");//A9绂佹鍑虹墖 - mapParameter.put("A10_prohibit_film_production","DB11.76");//A10绂佹鍑虹墖 - mapSettings.put("territoryPoor",3); - -// mapValue.put("A06_request_word","1");//璇锋眰瀛� -// mapValue.put("A05_scanning_ID","7");//璇锋眰ID -// mapValue.put("MES_confirmation_word","0");//MES鍙戦�佸瓧 -// mapValue.put("A09_glass_status","0");//A09鐜荤拑鐘舵�� -// mapValue.put("A10_glass_status","0");//A09鐜荤拑鐘舵�� -// mapValue.put("A09_prohibit_film_production","0");//A9绂佹鍑虹墖 -// mapValue.put("A10_prohibit_film_production","0");//A10绂佹鍑虹墖 - for (String key:mapParameter.keySet()){ - String value=S7object.getinstance().plccontrol.readString(mapParameter.get(key)); - mapValue.put(key,value); - } - } - private boolean inTo(){ - List<GlassInfo> glassInfos=glassInfoService.selectId(mapValue.get("A05_scanning_ID")); - if(glassInfos.size()<1){ + private void inTo() { + List<GlassInfo> glassInfos = glassInfoService.selectId(mapValue.get("A05_scanning_ID")); + if (glassInfos.size() < 1) { log.info("姝ょ幓鐠冪紪鍙蜂笉瀛樺湪"); - }else if(glassInfos.size()==1){ + } else if (glassInfos.size() == 1) { //娣诲姞杩涚墖浠诲姟 鏌ユ壘绌烘牸 log.info("姝e父"); - List<EdgStorageCage> list=edgStorageCageService.selectCacheEmpty(); + List<EdgStorageCage> list = edgStorageCageService.selectCacheEmpty(); - if(list.size()>1){ - EdgStorageCageDetails edgStorageCageDetails=edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>() - .eq(EdgStorageCageDetails::getGlassId,glassInfos.get(0).getGlassId())); + if (list.size() > 1) { + EdgStorageCageDetails edgStorageCageDetails = edgStorageCageDetailsMapper.selectOne(new MPJLambdaWrapper<EdgStorageCageDetails>() + .eq(EdgStorageCageDetails::getGlassId, glassInfos.get(0).getGlassId())); edgStorageCageDetails.setState(200); - TaskCache taskCache=new TaskCache(); - EdgStorageCage edgStorageCage=list.get(0); + TaskCache taskCache = new TaskCache(); + EdgStorageCage edgStorageCage = list.get(0); taskCache.setGlassId(glassInfos.get(0).getGlassId()); taskCache.setTaskStatus(0); taskCache.setStartCell(0); @@ -90,36 +68,36 @@ taskCache.setCreateTime(new DateTime()); edgStorageCageDetailsMapper.updateById(edgStorageCageDetails); taskCacheService.insertTaskCache(taskCache); - return true; - }else{ + S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"), (short)1); + } else { log.info("涓嶅瓨鍦ㄧ┖鏍�"); } - }else{ + } else { log.info("姝ょ幓鐠冪紪鍙峰瓨鍦ㄥ涓�"); } - return false; } - private boolean outTo(int line){ - int endcell=0; - EdgStorageCageDetails outEdgStorageCageDetails=new EdgStorageCageDetails(); - TaskCache taskCacheA09=taskCacheService.selectLastOutCacheInfo(2001); - TaskCache taskCacheA10=taskCacheService.selectLastOutCacheInfo(2002); + + private void outTo(int line) { + int endcell = 0; + EdgStorageCageDetails outEdgStorageCageDetails = new EdgStorageCageDetails(); + TaskCache taskCacheA09 = taskCacheService.selectLastOutCacheInfo(2001); + TaskCache taskCacheA10 = taskCacheService.selectLastOutCacheInfo(2002); //涓ょ嚎鍚勮嚜瑕佸嚭鐨勭幓鐠� - EdgStorageCageDetails glassInfo09=edgStorageCageDetailsService.selectConformGlass(taskCacheA09.getGlassId(),(int)mapSettings.get("territoryPoor")); - EdgStorageCageDetails glassInfo10=edgStorageCageDetailsService.selectConformGlass(taskCacheA10.getGlassId(),(int)mapSettings.get("territoryPoor")); + EdgStorageCageDetails glassInfo09 = edgStorageCageDetailsService.selectConformGlass(taskCacheA09.getGlassId(), (int) mapSettings.get("territoryPoor")); + EdgStorageCageDetails glassInfo10 = edgStorageCageDetailsService.selectConformGlass(taskCacheA10.getGlassId(), (int) mapSettings.get("territoryPoor")); //鍐冲畾绾胯矾 - if(line==1){ - endcell=2001; - outEdgStorageCageDetails=glassInfo09; - }else if(line==2){ - endcell=2002; - outEdgStorageCageDetails=glassInfo10; - }else if(line==3){ - endcell=2001;//榛樿璧颁竴鍙风嚎 浼樺寲鏂瑰悜鍙牴鎹� 瀵规瘮涓ょ嚎閫熷害/涓ょ嚎褰撳墠浠诲姟鎯呭喌鍋� - outEdgStorageCageDetails=glassInfo09; + if (line == 1) { + endcell = 2001; + outEdgStorageCageDetails = glassInfo09; + } else if (line == 2) { + endcell = 2002; + outEdgStorageCageDetails = glassInfo10; + } else if (line == 3) { + endcell = 2001;//榛樿璧颁竴鍙风嚎 浼樺寲鏂瑰悜鍙牴鎹� 瀵规瘮涓ょ嚎閫熷害/涓ょ嚎褰撳墠浠诲姟鎯呭喌鍋� + outEdgStorageCageDetails = glassInfo09; } - if(outEdgStorageCageDetails!=null&&endcell>0){ - TaskCache taskCache=new TaskCache(); + if (outEdgStorageCageDetails != null && endcell > 0) { + TaskCache taskCache = new TaskCache(); taskCache.setGlassId(outEdgStorageCageDetails.getGlassId()); taskCache.setTaskStatus(0); taskCache.setStartCell(outEdgStorageCageDetails.getSlot()); @@ -127,56 +105,52 @@ taskCache.setTaskType(2); taskCache.setCreateTime(new DateTime()); taskCacheService.insertTaskCache(taskCache); - return true; + S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"), (short)1); } - return false; - } + @Override public void run() { - boolean start=false; - boolean isSend=false; - while (this != null&&start) { + boolean start = true; + log.info("褰撳墠鍙傛暟鍊硷細{}", mapValue); + while (this != null && start) { JSONObject jsonObject = new JSONObject(); + for (String key : mapParameter.keySet()) { + String value = ""; + if ("String".equals(mapType.get(key))) { + value = S7object.getinstance().plccontrol.readString(mapParameter.get(key)); + } else { + value = S7object.getinstance().plccontrol.readWord(mapParameter.get(key)) + ""; + } + mapValue.put(key, value); + } + S7object.getinstance().plccontrol.WriteWord(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word").getAddress(), (short)1); try { Thread.sleep(1000); - taskCacheService = WebSocketServer.applicationContext.getBean(TaskCacheService.class); - glassInfoService = WebSocketServer.applicationContext.getBean(GlassInfoService.class); - edgStorageCageService = WebSocketServer.applicationContext.getBean(EdgStorageCageService.class); - edgStorageCageDetailsMapper = WebSocketServer.applicationContext.getBean(EdgStorageCageDetailsMapper.class); - initialize();//鍒濆鍖栨暟鎹� - log.info("褰撳墠鍙傛暟鍊硷細{}",mapValue); - if("0".equals(mapValue.get("A06_request_word"))){ +// initialize();//鍒濆鍖栨暟鎹� + if ("0".equals(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word"))) { //娓呴櫎 - //S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"),(short) 0); - }else if("1".equals(mapValue.get("A06_request_word"))&& - "0".equals(mapValue.get("MES_confirmation_word"))) - { - //杩涚墖浠诲姟 鏌ユ壘鏄惁瀛樺湪姝ょ墖鐜荤拑 瀛樺湪鍒欑敓鎴愪换鍔� - isSend=inTo(); - }else if("2".equals(mapValue.get("A06_request_word"))&& - "0".equals(mapValue.get("MES_confirmation_word"))&& - ( - "0".equals(mapValue.get("A09_glass_status"))|| - "0".equals(mapValue.get("A10_glass_status")) - ) - ){ - //鍑虹墖浠诲姟 鏌ユ壘涓ゆ潯绾夸笂涓�娆′换鍔$殑灏哄 - isSend=outTo(3); - }else if("3".equals(mapValue.get("A06_request_word"))&& - "0".equals(mapValue.get("MES_confirmation_word"))){ - //鍏堝嚭鍚庤繘 - if("0".equals(mapValue.get("A09_glass_status"))||"0".equals(mapValue.get("A10_glass_status"))){ - isSend=outTo(3); - }else{ - isSend=inTo(); + S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"), (short) 0); + } else if ("1".equals(S7object.getinstance().PlcMesObject.getPlcParameter("A06_request_word")) && + "0".equals(S7object.getinstance().PlcMesObject.getPlcParameter("MES_confirmation_word"))) { + + inTo(); + } else if ("2".equals(mapValue.get("A06_request_word")) && + "0".equals(mapValue.get("MES_confirmation_word")) && !"0".equals(mapValue.get("A09_glass_status"))) { + //09绌洪棽 锛�1 10绌洪棽 锛�2 閮界┖闂诧細3 鍏朵粬0 + outTo(Integer.parseInt(mapValue.get("A09_glass_status"))); + } else if ("3".equals(mapValue.get("A06_request_word")) && + "0".equals(mapValue.get("MES_confirmation_word"))) { + + if ("0".equals(mapValue.get("A09_glass_status")) || "0".equals(mapValue.get("A10_glass_status"))) { + outTo(Integer.parseInt(mapValue.get("A09_glass_status"))); + } else { + inTo(); } } - if(isSend){ - S7object.getinstance().plccontrol.WriteWord(mapParameter.get("MES_confirmation_word"),(short)1); - } + } catch (InterruptedException e) { e.printStackTrace(); -- Gitblit v1.8.0