From 1b7967093be5c6af64571a37bd9bbce27be11686 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 12 四月 2024 08:33:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 45 insertions(+), 9 deletions(-) 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 3d0c749..b1ab546 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -185,6 +185,13 @@ if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode) || "00000000".equals(barcode)) { News.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); + staProtocol.setWorkNo(wrkNo); + News.info("{}鍏ュ簱鍥為��锛歿}锛屼换鍔″彿锛歿}", inSta.getStaNo(), errMsg,wrkNo); + wrkNo++; + staProtocol.setStaNo(inSta.getBackSta().shortValue()); + devpThread.setPakMk(staProtocol.getSiteId(), false); + MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); + log.error("杈撻�佺嚎涓嬪彂1锛�"+wrkNo+","+inSta.getBackSta()); continue; } // 鍒ゆ柇閲嶅宸ヤ綔妗� @@ -226,12 +233,14 @@ devpThread.setPakMk(staProtocol.getSiteId(), false); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); log.error("杈撻�佺嚎涓嬪彂2锛�"+dto.getWorkNo()+","+dto.getStaNo()); + + ledThread.errorReset(); + log.error("缁勬墭璇锋眰鍚嶭ED閿欒娓呴櫎"); + if (!result) { News.error(methodName + ":鏇存柊plc绔欑偣淇℃伅澶辫触"); throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); - }else { - ledThread.errorReset(); } } else { staProtocol.setWorkNo(wrkNo); @@ -593,12 +602,16 @@ staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo((short)161); devpThread.setPakMk(staProtocol.getSiteId(), false); - ledThread.errorReset(); + boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { log.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); } log.info("浠诲姟鍙�"+wrkMast.getWrkNo()+"鐩樼偣鍐嶅叆搴撲换鍔′笅鍙戞垚鍔�===>>" + staProtocol); + + ledThread.errorReset(); + log.error("鐩樼偣鍚巐ed閿欒鍒犻櫎"); + } catch (Exception e) { log.error("鐩樼偣鍐嶅叆搴撳け璐�===>>" + e); e.printStackTrace(); @@ -1621,7 +1634,7 @@ } // 鑾峰彇宸ヤ綔妗f暟鎹� WrkMast wrkMast = wrkMastMapper.selectById(staProtocol.getWorkNo()); - if (null == wrkMast || wrkMast.getWrkSts() < 14 || wrkMast.getIoType() < 100) { continue; } + if (null == wrkMast) { continue; } wrkMasts.add(wrkMast); // 缁勮鍛戒护 LedCommand ledCommand = new LedCommand(); @@ -1629,6 +1642,12 @@ ledCommand.setIoType(wrkMast.getIoType()); // 鍑哄簱妯″紡 switch (wrkMast.getIoType()) { + case 1: + ledCommand.setTitle("鍏ㄦ澘鍏ュ簱"); + break; + case 10: + ledCommand.setTitle("绌烘澘鍏ュ簱"); + break; case 101: ledCommand.setTitle("鍏ㄦ澘鍑哄簱"); break; @@ -1652,7 +1671,7 @@ ledCommand.setSourceLocNo(wrkMast.getSourceLocNo()); ledCommand.setStaNo(wrkMast.getStaNo()); ledCommand.setBarcode(wrkMast.getBarcode()); - if (wrkMast.getIoType() != 110) { + if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10) { List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); wrkDetls.forEach(wrkDetl -> { @@ -1664,7 +1683,7 @@ } else { total = locDetl.getAnfme(); } - if (wrkMast.getIoType() == 101) { + if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) { ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total)); } if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) { @@ -1687,7 +1706,7 @@ // 鍛戒护涓嬪彂 ------------------------------------------------------------------------------- if (!commands.isEmpty()) { if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { - News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + News.error("{}鍙稬ED鏄剧ず鍐呭鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); continue; } } @@ -1740,7 +1759,7 @@ } ledThread.errorReset(); if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { - News.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); + News.error("{}鍙稬ED鏄剧ず榛樿鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); } } } @@ -2346,6 +2365,7 @@ rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴 && (rgvProtocol.getTaskNo1()==0) + &&rgvThread.isPakMk() ) { BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); @@ -2361,9 +2381,17 @@ && rgvProtocolOther.getModeType() == RgvModeType.AUTO && rgvProtocolOther.getLoaded1()==0 && (rgvProtocolOther.getTaskNo1()==0) + &&rgvThreadOther.isPakMk() ){ + //瀵瑰伐浣滄。杩涜鍒ゆ柇 basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); - rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366"); + if (rgvProtocol.getTaskNo1() >0 && rgvProtocol.getTaskNo1()<=9000){ + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); + rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2366"); + }else if (rgvProtocol.getTaskNo1() == 0){ + rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2366"); + } + } @@ -2413,6 +2441,7 @@ BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2415"); + rgvThread.setPakMk(true); break; } WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); @@ -2464,11 +2493,17 @@ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); break; } + WrkMast wrkMast1 = wrkMastService.selectByWrkNo(rgvProtocol.getTaskNo1().intValue()); + wrkMast1.setUpdMk("Y"); + + wrkMastService.updateById(wrkMast1); + wrkMastSta.setWrkSts(3); wrkMastStaMapper.updateById(wrkMastSta); BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute(),"2471"); + rgvThread.setPakMk(true); } else { @@ -2523,6 +2558,7 @@ boolean sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //鍛戒护涓嬪彂 wrkEnable = true; if (sign){ + rgvThread.setPakMk(false); boolean signMap = rgvMapUpdate(basRgvMap, wrkMastSta.getStaStart(), wrkMastSta.getStaEnd(),"2526"); if (signMap){ Thread.sleep(300); -- Gitblit v1.9.1