| | |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.json.JSONObject; |
| | | 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; |
| | |
| | | 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"); //work |
| | | // mapParameter.put("A05_scanning_ID", "DB11.2"); |
| | | // mapParameter.put("MES_confirmation_word", "DB11.40"); |
| | | // mapParameter.put("A09_glass_status", "DB11.70"); |
| | | // //mapParameter.put("A10_glass_status", "DB11.72"); |
| | | // mapParameter.put("A09_prohibit_film_production", "DB11.74"); |
| | | // mapParameter.put("A10_prohibit_film_production", "DB11.76"); |
| | | // mapSettings.put("territoryPoor", 3); |
| | | // mapType.put("A06_request_word", "Word"); |
| | | // mapType.put("A05_scanning_ID", "String"); |
| | | // mapType.put("MES_confirmation_word", "Word"); |
| | | // mapType.put("A09_glass_status", "Word"); |
| | | // //mapType.put("A10_glass_status", "Word"); |
| | | // mapType.put("A09_prohibit_film_production", "Word"); |
| | | // mapType.put("A10_prohibit_film_production", "Word"); |
| | | mapValue.put("A06_request_word","1");//请求字 |
| | | mapValue.put("A05_scanning_ID","11111111111");//请求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禁止出片 |
| | | |
| | | } |
| | | |
| | | private void inTo() { |
| | | List<GlassInfo> glassInfos = glassInfoService.selectId(mapValue.get("A05_scanning_ID")); |
| | | if (glassInfos.size() < 1) { |
| | |
| | | private void outTo(int line) { |
| | | int endcell = 0; |
| | | EdgStorageCageDetails outEdgStorageCageDetails = new EdgStorageCageDetails(); |
| | | TaskCache taskCacheA09 = taskCacheService.selectLastOutCacheInfo(""); |
| | | TaskCache taskCacheA10 = taskCacheService.selectLastOutCacheInfo(""); |
| | | 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")); |
| | | //决定线路 |
| | | if (line == 1) { |
| | | endcell = 9000; |
| | | endcell = 2001; |
| | | outEdgStorageCageDetails = glassInfo09; |
| | | } else if (line == 2) { |
| | | endcell = 1000; |
| | | endcell = 2002; |
| | | outEdgStorageCageDetails = glassInfo10; |
| | | } else if (line == 3) { |
| | | endcell = 9000;//默认走一号线 优化方向可根据 对比两线速度/两线当前任务情况做 |
| | | endcell = 2001;//默认走一号线 优化方向可根据 对比两线速度/两线当前任务情况做 |
| | | outEdgStorageCageDetails = glassInfo09; |
| | | } |
| | | if (outEdgStorageCageDetails != null && endcell > 0) { |
| | |
| | | @Override |
| | | public void run() { |
| | | boolean start = true; |
| | | initialize(); |
| | | log.info("当前参数值:{}", mapValue); |
| | | while (this != null && start) { |
| | | JSONObject jsonObject = new JSONObject(); |
| | |
| | | } |
| | | 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();//初始化数据 |
| | | if ("0".equals(mapValue.get("A06_request_word"))) { |
| | | 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"))) { |
| | | } 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")) && |