From 946143efb7cedfd12e82205cd8149e465f22466e Mon Sep 17 00:00:00 2001 From: pjb <pjb123456> Date: 星期二, 29 七月 2025 09:16:29 +0800 Subject: [PATCH] 空托盘出库修复 --- src/main/java/com/zy/service/impl/MainServiceImpl.java | 122 +++++++++++++++++++++++----------------- 1 files changed, 70 insertions(+), 52 deletions(-) diff --git a/src/main/java/com/zy/service/impl/MainServiceImpl.java b/src/main/java/com/zy/service/impl/MainServiceImpl.java index 7cc1322..20e548c 100644 --- a/src/main/java/com/zy/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/service/impl/MainServiceImpl.java @@ -118,6 +118,9 @@ private WaitPakinMapper waitPakinMapper; @Autowired private LocMastService locMastService; + + @Resource + private LocMastMapper locMastMapper; @Autowired private StaDescService staDescService; @Autowired @@ -177,34 +180,34 @@ // 灏哄妫�娴嬪紓甯� boolean back = false; String errMsg = ""; -// if (staProtocol.isFrontErr()) { -// errMsg = "鍓嶈秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isBackErr()) { -// errMsg = "鍚庤秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isHighErr()) { -// errMsg = "楂樿秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isLeftErr()) { -// errMsg = "宸﹁秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isRightErr()) { -// errMsg = "鍙宠秴闄�"; -// back = true; -// } -// if (!back && staProtocol.isWeightErr()) { -// errMsg = "瓒呴噸"; -// back = true; -// } -// if (!back && staProtocol.isBarcodeErr()) { -// errMsg = "鎵爜澶辫触"; -// back = true; -// } + if (staProtocol.isFrontErr()) { + errMsg = "鍓嶈秴闄�"; + back = true; + } + if (!back && staProtocol.isBackErr()) { + errMsg = "鍚庤秴闄�"; + back = true; + } + if (!back && staProtocol.isHighErr()) { + errMsg = "楂樿秴闄�"; + back = true; + } + if (!back && staProtocol.isLeftErr()) { + errMsg = "宸﹁秴闄�"; + back = true; + } + if (!back && staProtocol.isRightErr()) { + errMsg = "鍙宠秴闄�"; + back = true; + } + if (!back && staProtocol.isWeightErr()) { + errMsg = "瓒呴噸"; + back = true; + } + if (!back && staProtocol.isBarcodeErr()) { + errMsg = "鎵爜澶辫触"; + back = true; + } // 閫�鍥� if (back && staProtocol.isInEnable() && staProtocol.isLoading() && staProtocol.getWorkNo() == 0) { MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(3, errMsg)); @@ -898,7 +901,7 @@ } } - } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { + } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("M")|| shallowLoc.getLocSts().equals("Z")) { News.warnNoLog(""+mark+" - 2"+" - 9"+" - // F銆丏 搴撲綅鐘舵��={}",shallowLoc.getLocSts()); // WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); //2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟 @@ -1152,21 +1155,23 @@ // 绌烘《鍏ュ簱瀹屾垚锛屽厛瀹屾垚瀵瑰簲搴撲綅缁勪换鍔� if(wrkMast.getWorkNoOther() != 0 ){ WrkMast wrkMast1 = wrkMastService.selectByWrkNo(wrkMast.getWorkNoOther()); - // 浜ゆ崲搴撲綅鍙� - String locNo = wrkMast.getLocNo(); - wrkMast.setLocNo(wrkMast1.getLocNo()); - // 浜ゆ崲鍏ュ簱鏃堕棿锛屾彁鍙栧簱瀛樻椂鎸夐『搴忓厛娴呭悗娣� - Date ioTime = wrkMast.getIoTime(); - if(locNo.startsWith("10")) { - wrkMast.setIoTime(wrkMast1.getIoTime()); - wrkMast1.setIoTime(ioTime); + if (wrkMast1 != null) { + // 浜ゆ崲搴撲綅鍙� + String locNo = wrkMast.getLocNo(); + wrkMast.setLocNo(wrkMast1.getLocNo()); + // 浜ゆ崲鍏ュ簱鏃堕棿锛屾彁鍙栧簱瀛樻椂鎸夐『搴忓厛娴呭悗娣� + Date ioTime = wrkMast.getIoTime(); + if(locNo.startsWith("10")) { + wrkMast.setIoTime(wrkMast1.getIoTime()); + wrkMast1.setIoTime(ioTime); + } + wrkMast1.setLocNo(locNo); + wrkMast1.setCrnEndTime(now); + wrkMast1.setModiTime(now); + wrkMast1.setWrkSts(4L); + wrkMast1.setWorkNoOther(0); + wrkMastMapper.updateById(wrkMast1); } - wrkMast1.setLocNo(locNo); - wrkMast1.setCrnEndTime(now); - wrkMast1.setModiTime(now); - wrkMast1.setWrkSts(4L); - wrkMast1.setWorkNoOther(0); - wrkMastMapper.updateById(wrkMast1); } wrkMast.setCrnEndTime(now); wrkMast.setModiTime(now); @@ -1242,7 +1247,7 @@ basCrnpService.updateById(basCrnp); // 璁剧疆鏇存柊鏃堕棿锛岄伩鍏嶉噸澶嶄笅鍙戝洖鍘熺偣 log.info("{}鍙峰爢鍨涙満鍥炲師鐐逛换鍔′笅鍙戞垚鍔燂細{}", crn.getId(), JSON.toJSON(crnCommand)); } - Thread.sleep(2000); + Thread.sleep(3000); } } } @@ -1526,13 +1531,25 @@ */ private synchronized void moveLocForDeepLoc(CrnSlave crn, LocMast shallowLoc,Integer mark) { + // 鍙湁208L鑳芥斁11灞� + String model = null; + if(shallowLoc.getLocSts().equals("F")) { + LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); + if(locDetl != null && locDetl.getModel() != null) { + String matModel = locMastMapper.selectMatMatnrByMaktx(locDetl.getModel()); + if(matModel != null && matModel.equals("208L")) { + model = "208L"; + } + } + } try { News.warnNoLog(""+mark+"moveLocForDeepLoc"+" - 0"+" - 寮�濮嬫墽琛�:鍥犲弻娣卞簱浣嶉樆濉烇紝瀵规祬搴撲綅杩涜绉昏浆锛堢珛鍗虫墽琛岀増)"); List<Integer> rows = locMastService.queryDistinctRow(crn.getId()); LocMast loc = null; for (Integer row : rows) { if (Utils.isDeepLoc(slaveProperties, row)) { - loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2()); +// loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2()); + loc = locMastMapper.queryFreeLocMastNew(row,model); if (loc != null) { if (Utils.isDeepLoc(slaveProperties, loc.getLocNo())) { @@ -1551,8 +1568,8 @@ if (null == loc) { for (Integer row : rows) { if (Utils.isShallowLoc(slaveProperties, row)) { - loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2()); - +// loc = locMastService.queryFreeLocMast(row, shallowLoc.getLocType2()); + loc = locMastMapper.queryFreeLocMastNew(row,model); if (null != loc) {//瀵瑰簲娣卞簱浣嶉潪鍦ㄥ簱鐘舵��,涓嶈兘绉诲簱 String deepLoc = Utils.getDeepLoc(slaveProperties, loc.getLocNo()); LocMast deepLoc1 = locMastService.selectById(deepLoc); @@ -1616,7 +1633,7 @@ } } // 淇敼婧愬簱浣嶇姸鎬� - if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("M") || shallowLoc.getLocSts().equals("Z")) { + if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("M") || shallowLoc.getLocSts().equals("Z")) { shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害 shallowLoc.setModiTime(new Date()); if (!locMastService.updateById(shallowLoc)) { @@ -1808,7 +1825,7 @@ /** * rgv鏀捐揣瀹屾垚锛岀粰杈撻�佺嚎涓嬪彂浠诲姟 */ - public synchronized void rgvToDev() { + public synchronized void rgvToDev() throws InterruptedException { for (Integer site : rgvConnectionSiteList) { // 杈撻�佺嚎plc缂栧彿 Integer devpPlcId = site < 1044 ? 1 : site <= 1090 ? 2 : 3; @@ -1846,7 +1863,7 @@ wrkMast.setWrkSts(15L); wrkMast.setModiTime(new Date()); wrkMastService.updateById(wrkMast); - } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035)) { + } else if(wrkMast.getIoType() == 110 && (wrkMast.getStaNo() == 1002 || wrkMast.getStaNo() == 1020 ||wrkMast.getStaNo() == 1035 || wrkMast.getStaNo() == 1024)) { if(wrkMast.getWrkSts() != 2 ){ log.warn("rgv鏀捐揣瀹屾垚110锛宺gv鏈浣�:rgv鍙穥}锛屼换鍔″彿锛歿}锛屼换鍔$姸鎬亄}",wrkMast.getRgvNo(),wrkMast.getWrkNo(),wrkMast.getWrkSts()); continue; @@ -1860,10 +1877,11 @@ staProtocol.setWorkNo(staProtocol.getHideWorkNo()); staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); if (!MessageQueue.offer(SlaveType.Devp, devpPlcId, new Task(2, staProtocol))) { - log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护澶辫触!,plc id:{},绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getStaNo(), staProtocol.getWorkNo(), staProtocol.getStaNo()); + log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护澶辫触!,plc id:{},绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getSiteId(), staProtocol.getWorkNo(), staProtocol.getStaNo()); } else { - log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护鎴愬姛plc id:{}!,绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getStaNo(), staProtocol.getWorkNo(), staProtocol.getStaNo()); + log.info("rgv鎼繍瀹屾垚缁欒緭閫佺嚎涓嬪彂鍛戒护鎴愬姛plc id:{}!,绔欑偣{}锛屼换鍔″彿锛歿}锛岀洰鏍囩珯锛歿}", devpPlcId,staProtocol.getSiteId(), staProtocol.getWorkNo(), staProtocol.getStaNo()); } + Thread.sleep(300); } } } -- Gitblit v1.9.1