From eeb25c1d45e28f0c09145d335d6a3e9535891bad Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 27 十二月 2023 21:53:44 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/SiteController.java | 72 +++++++++++++++++++++++++++--------- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 17 +++++++- src/main/webapp/views/pipeline.html | 2 src/main/resources/application.yml | 6 ++- 4 files changed, 73 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/SiteController.java b/src/main/java/com/zy/asrs/controller/SiteController.java index d3dab66..2ef5e89 100644 --- a/src/main/java/com/zy/asrs/controller/SiteController.java +++ b/src/main/java/com/zy/asrs/controller/SiteController.java @@ -2,6 +2,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; +import com.core.common.Cools; import com.core.common.R; import com.zy.asrs.domain.vo.PlcErrorTableVo; import com.zy.asrs.domain.vo.SiteTableVo; @@ -101,31 +102,66 @@ Map<Integer, StaProtocol> station = devpThread.getStation(); for(Map.Entry<Integer, StaProtocol> entry : station.entrySet()) { - StaProtocol staProtocol = entry.getValue(); -// if (staProtocol) { -// PlcErrorTableVo vo = new PlcErrorTableVo(); -// vo.setNo(entry.getKey()); // 搴忓彿 -// -// vo.setPlcDesc(""); // todo:luxiaotao plc閿欒鎻忚堪 -// vo.setError(""); // todo:luxiaotao 寮傚父淇℃伅 -// list.add(vo); -// } + if (!Cools.isEmpty(staPlcErr(entry))){ + list.add(staPlcErr(entry).get(0)) ; + } + } } - list.sort((o1, o2) -> { - if (o1.getNo().compareTo(o2.getNo()) > 0){ - return 1; - }else if (o1.getNo().compareTo(o2.getNo()) < 0){ - return 0; - }else{ - return -1; - } - }); return R.ok().add(list); } + public List<PlcErrorTableVo> staPlcErr(Map.Entry<Integer, StaProtocol> entry){ + List<PlcErrorTableVo> list = new ArrayList<>(); + StaProtocol staProtocol = entry.getValue(); + if (staProtocol.isFrontErr()){ + PlcErrorTableVo vo = new PlcErrorTableVo(); + vo.setNo(entry.getKey()); // 搴忓彿 + vo.setPlcDesc("鍓嶈秴闄�"); + vo.setError("鍓嶈秴闄�"); + list.add(vo); + } + if (staProtocol.isBackErr()){ + PlcErrorTableVo vo = new PlcErrorTableVo(); + vo.setNo(entry.getKey()); // 搴忓彿 + vo.setPlcDesc("鍚庤秴闄�"); + vo.setError("鍚庤秴闄�"); + list.add(vo); + } + if (staProtocol.isHighErr()){ + PlcErrorTableVo vo = new PlcErrorTableVo(); + vo.setNo(entry.getKey()); // 搴忓彿 + vo.setPlcDesc("楂樿秴闄�"); + vo.setError("楂樿秴闄�"); + list.add(vo); + } + if (staProtocol.isLeftErr()){ + PlcErrorTableVo vo = new PlcErrorTableVo(); + vo.setNo(entry.getKey()); // 搴忓彿 + vo.setPlcDesc("宸﹁秴闄�"); + vo.setError("宸﹁秴闄�"); + list.add(vo); + } + if (staProtocol.isRightErr()){ + PlcErrorTableVo vo = new PlcErrorTableVo(); + vo.setNo(entry.getKey()); // 搴忓彿 + vo.setPlcDesc("鍙宠秴闄�"); + vo.setError("鍙宠秴闄�"); + list.add(vo); + } + if (staProtocol.isBarcodeErr()){ + PlcErrorTableVo vo = new PlcErrorTableVo(); + vo.setNo(entry.getKey()); // 搴忓彿 + vo.setPlcDesc("鎵爜澶辫触"); + vo.setError("鎵爜澶辫触"); + list.add(vo); + } + + + return list; + } @PostMapping("/output/site") @ManagerAuth(memo = "绔欑偣璁惧鎶ユ枃鏃ュ織杈撳嚭") diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 6aa9b68..662e8d7 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -369,7 +369,7 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk() - && staProtocol.getWorkNo() == 9991) { + && staProtocol.getWorkNo() == 9999) { // WrkMast wrkMast = wrkMastMapper.selectPickStep(barcode); LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); if (barcode.equals("") || barcode.equals("99999999")) { @@ -389,7 +389,8 @@ continue; } - WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); +// WrkMast wrkMast = wrkMastMapper.selectPakInStep3(staProtocol.getWorkNo().intValue()); + WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", barcode)); ledThread.errorReset(); if (wrkMast == null) { wrkMast = wrkMastMapper.selectPickStep(barcode); @@ -474,6 +475,8 @@ boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); + }else { + ledThread.errorReset(); } } @@ -1293,6 +1296,7 @@ // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, emptyInSta.getLed()); if (staProtocol == null) { continue; } else { @@ -1303,6 +1307,13 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() >= 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) { + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .eq("sta_no", emptyInSta.getStaNo()) + .eq("io_type", 10) + .eq("wrk_sts", 2)); + if (!Cools.isEmpty(wrkMasts)){ + continue; + } try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); @@ -1319,7 +1330,7 @@ JSONObject jsonObject = JSON.parseObject(response); if (jsonObject.getInteger("code").equals(200)) { StartupDto dto = jsonObject.getObject("data", StartupDto.class); - + ledThread.errorReset(); // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 staProtocol.setWorkNo(dto.getWorkNo().shortValue()); staProtocol.setStaNo(dto.getStaNo().shortValue()); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 820db48..76c8efb 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -160,17 +160,19 @@ # 绌烘澘鍏ュ簱鍙�1 emptyInSta[0]: staNo: 1002 + led: ${wcs-slave.led[0].id} emptyInSta[1]: staNo: 1012 + led: ${wcs-slave.led[3].id} # 鎷f枡鍏ュ簱鍙�1 pickSta[0]: - staNo: 1003 + staNo: 1002 barcode: ${wcs-slave.barcode[0].id} backSta: 1001 led: ${wcs-slave.led[0].id} # 鎷f枡鍏ュ簱鍙�2 pickSta[1]: - staNo: 1013 + staNo: 1012 barcode: ${wcs-slave.barcode[1].id} backSta: 1011 led: ${wcs-slave.led[3].id} diff --git a/src/main/webapp/views/pipeline.html b/src/main/webapp/views/pipeline.html index 4ed983e..b73dbf2 100644 --- a/src/main/webapp/views/pipeline.html +++ b/src/main/webapp/views/pipeline.html @@ -61,7 +61,7 @@ <table id="plc-error-table"> <thead> <tr> - <th style="width: 200px">搴忓彿</th> + <th style="width: 200px">绔欑偣</th> <th style="width: 400px">PLC閿欒鎻忚堪</th> <th style="width: 400px">寮傚父</th> </tr> -- Gitblit v1.9.1