From 495b677051e2cbb6a26c0f1e55d9b7f85c5cb9f3 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期一, 10 七月 2023 17:06:51 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 101 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 80 insertions(+), 21 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 debb4c3..c693737 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -336,8 +336,6 @@ staNo = 103; if (basDevps1.size()!=0 && basDevps2.size()!=0){ continue; - } else if (basDevps1.size()!=0){ - staNo = 203; } List<WrkMast> wrkMasts1 = wrkMastMapper.selectWrkStsAndIoType((int)staNo); @@ -360,8 +358,6 @@ staNo = 203; if (basDevps1.size()!=0 && basDevps2.size()!=0){ continue; - } else if (basDevps2.size()!=0){ - staNo = 103; } // if (basDevps2.size()!=0){ @@ -391,6 +387,9 @@ staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue()); staProtocol.setStaNo(staNo); devpThread.setPakMk(staProtocol.getSiteId(), false); + BasDevp basDevp = basDevpMapper.selectByDevNo(300); + basDevp.setWrkNo1(wrkMast.getWrkNo()); + basDevpService.selectById(basDevp); boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); if (!result) { News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId()); @@ -492,6 +491,15 @@ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)) { + // led 寮傚父鏄剧ず + String errorMsg = ""; + LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, pickSta.getLed()); + if (wrkMast.getIoType() == 103) { + errorMsg = "褰撳墠鎷f枡浠诲姟璇风Щ鍔ㄨ嚦203绔�"; + } else { + errorMsg = "褰撳墠鎷f枡浠诲姟璇风Щ鍔ㄨ嚦103绔�"; + } + if (ledThread != null) {MessageQueue.offer(SlaveType.Led, pickSta.getLed(), new Task(3, errorMsg));} News.error("鍏ュ簱璺緞涓嶅瓨鍦紒type_no={},stn_no={},crn_no={}", wrkMast.getIoType(), pickSta.getStaNo(), wrkMast.getCrnNo()); continue; } @@ -993,18 +1001,22 @@ } } - } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { - News.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo()); +// } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")) { +// News.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo()); +// flag = true; +// break; + } else if (shallowLoc.getLocSts().equals("R") || shallowLoc.getLocSts().equals("P")) { + News.error("搴撲綅鍑哄簱鍒板爢鍨涙満绔� ===>> 搴撲綅鐘舵�佸湪搴擄紝浣嗘槸娴呭簱浣嶅凡瀛樺湪宸ヤ綔妗d换鍔★紒鍑哄簱搴撲綅={},娴呭簱浣嶅彿={}", shallowLoc.getLocNo()); flag = true; break; } - //20230307 ADD锛屽啀鍔犱竴娆″垽鏂紝褰撴祬搴撲綅鐘舵�佷笉涓篛鏃讹紝涓嶆墽琛屽綋鍓嶅嚭搴撲换鍔� - if (shallowLoc != null && !shallowLoc.getLocSts().equals("O")) { - News.error("鍋氫簡娴呭簱浣嶉樆濉炲鐞嗗悗鍙嶅鍒ゆ柇锛屾祬搴撲綅鐘舵�佷笉涓篛 ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", wrkMast.getSourceLocNo(), shallowLoc.getLocNo()); - flag = true; - break; - } +// //20230307 ADD锛屽啀鍔犱竴娆″垽鏂紝褰撴祬搴撲綅鐘舵�佷笉涓篛鏃讹紝涓嶆墽琛屽綋鍓嶅嚭搴撲换鍔� +// if (shallowLoc != null && !shallowLoc.getLocSts().equals("O")) { +// News.error("鍋氫簡娴呭簱浣嶉樆濉炲鐞嗗悗鍙嶅鍒ゆ柇锛屾祬搴撲綅鐘舵�佷笉涓篛 ===>> 娴呭簱浣嶅簱浣嶇姸鎬佷负鍏ュ簱棰勭害锛佸嚭搴撳簱浣�={},娴呭簱浣嶅彿={}", wrkMast.getSourceLocNo(), shallowLoc.getLocNo()); +// flag = true; +// break; +// } } } } @@ -1194,6 +1206,10 @@ } // 鍫嗗灈鏈烘惉杩愬皬杞� if (wrkMast.getWrkSts() == 3L) { + if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0){ + News.error("宸ヤ綔鍙�={}鍗冲皢寮�濮嬫惉杩愬皬杞︿絾鏄伐浣滄。娌℃湁灏忚溅鍙�",wrkMast.getWrkNo()); + return false; + } this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol); } } @@ -1316,12 +1332,27 @@ News.error("搴撲綅寮傚父"); }else { if (waitWrkMast.getIoType() != 11 || waitWrkMast.getWrkSts() != 17){ - waitWrkMast.setIoPri((double)9999); + if(waitWrkMast.getIoPri()<=9980.0){ + waitWrkMast.setIoPri(waitWrkMast.getIoPri()+10.0); + }else { + waitWrkMast.setIoPri(9999d); + } + if(wrkMast.getIoPri()>=9000.0){ + wrkMast.setIoPri(9999d); + }else if (wrkMast.getIoPri()>20.0){ + wrkMast.setIoPri(wrkMast.getIoPri()-10.0); + }else { + wrkMast.setIoPri(13.0d); + } + if (wrkMastMapper.updateById(wrkMast)==0){ + News.error("璋冩暣浼樺厛绾уけ璐�"); + } if (wrkMastMapper.updateById(waitWrkMast)==0){ News.error("璋冩暣浼樺厛绾уけ璐�"); }else if (waitWrkMast.getWrkSts() != 17){ flag = true; } + break; } } @@ -1553,6 +1584,10 @@ } // 鍫嗗灈鏈烘惉杩愬皬杞� if (wrkMast.getWrkSts() == 12L) { + if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0) { + News.error("宸ヤ綔鍙�={}鍗冲皢寮�濮嬫惉杩愬皬杞︿絾鏄伐浣滄。娌℃湁灏忚溅鍙�",wrkMast.getWrkNo()); + return false; + } this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol); } } @@ -2451,6 +2486,10 @@ } // 鍫嗗灈鏈烘惉杩愬皬杞� if (wrkMast.getWrkSts() == 12L) { + if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0) { + News.error("宸ヤ綔鍙�={}鍗冲皢寮�濮嬫惉杩愬皬杞︿絾鏄伐浣滄。娌℃湁灏忚溅鍙�",wrkMast.getWrkNo()); + return; + } this.carMoveIn(wrkMast, wrkMast.getSteNo(), crnProtocol); } } @@ -3395,6 +3434,10 @@ switch (wrkMast.getWrkSts().intValue()) { case 2: // 淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.灏忚溅寰呮惉 + if (Cools.isEmpty(wrkMast.getSteNo()) || wrkMast.getSteNo()==0){ + News.error("淇敼宸ヤ綔妗g姸鎬� 2.璁惧涓婅蛋 => 3.灏忚溅寰呮惉 澶辫触锛侊紒锛屽伐浣滃彿={} 鍘熷洜锛氬伐浣滃彿娌″皬杞�", wrkMast.getWrkNo()); + break; + } wrkMast.setWrkSts(3L); wrkMast.setModiTime(now); if (wrkMastMapper.updateById(wrkMast) == 0) { @@ -3873,15 +3916,24 @@ ledCommand.setBarcode(wrkMast.getBarcode()); if (wrkMast.getIoType() != 110) { List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); + wrkDetls.forEach(wrkDetl -> { + Double total = 0.0; + EntityWrapper<LocDetl> wrapper = new EntityWrapper<>(); + LocDetl locDetl = locDetlService.selectOne(wrapper.eq("zpallet", wrkDetl.getZpallet()).eq("matnr", wrkDetl.getMatnr())); + if (Cools.isEmpty(locDetl)) { + total = wrkDetl.getAnfme(); + } else { + total = locDetl.getAnfme(); + } if (wrkMast.getIoType() == 101) { - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme())); + 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())) { - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme())); + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total)); } if (wrkMast.getIoType() == 107) { - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme())); + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total)); } }); } @@ -4323,15 +4375,21 @@ || Utils.getBay(one.getLocNo()) != Utils.getBay(shallowLoc.getLocNo()) || Utils.getLev(one.getLocNo()) != Utils.getLev(shallowLoc.getLocNo())){ - Integer steNo = this.hasCarOfIdle(one.getLocNo()); + Integer steNo = this.hasCar(one.getLocNo()); if (steNo != null) { //鏈夊皬杞� continue; } - //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 - if (Utils.checkInsideLocIsDFX(one.getLocNo())) { - //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� +// //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆 +// if (Utils.checkInsideLocIsDFX(one.getLocNo())) { +// //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆備笉鑳介�夊彇璇ュ簱浣� +// continue; +// } + + //妫�娴嬪綋鍓嶅簱浣嶅唴渚у叾浠栧簱浣嶆槸鍚︿负D銆丗銆乆銆丱 + if (Utils.checkInsideLocIsDFXO(one.getLocNo())) { + //鍐呬晶鍏朵粬搴撲綅涓嶆槸D銆丗銆乆銆丱銆備笉鑳介�夊彇璇ュ簱浣� continue; } @@ -4342,7 +4400,8 @@ if (null == loc) { News.error("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); - throw new CoolException("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); +// return; +// throw new CoolException("娣卞簱浣嶅嚭搴� --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); } // 鑾峰彇宸ヤ綔鍙� -- Gitblit v1.9.1