From 1a56f6f4a0c2b8fc61bfde8bd3418a9731b87647 Mon Sep 17 00:00:00 2001 From: 野心家 <1051256694@qq.com> Date: 星期五, 25 十月 2024 12:38:43 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/tzhtwcs' into tzhtwcs --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 372 +++++++++++++++++++++++++++------------------------- 1 files changed, 194 insertions(+), 178 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 2ebbc06..7ec7829 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -45,10 +45,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -151,6 +148,12 @@ // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep1(inSta.getStaNo(), barcode); + WrkMast wrkMast1 = wrkMastMapper.selectPakInStepBarcode(barcode); + if (wrkMast1 !=null){ + if (wrkMast1.getIoType()==103 || wrkMast1.getIoType()==107 || wrkMast1.getIoType()==104){ + continue; + } + } if (wrkMast != null) { log.error("宸ヤ綔妗d腑宸插瓨鍦ㄨ绔欑姸鎬佷负锛� 2.璁惧涓婅蛋 锛夌殑鏁版嵁,宸ヤ綔鍙�={}", wrkMast.getWrkNo()); continue; @@ -199,11 +202,7 @@ if(!Cools.isEmpty(ledThread)){ String errorMsg = jsonObject.getString("msg"); - if(!Cools.isEmpty(errorMsg)){ - LedCommand ledCommand = new LedCommand(); - ledCommand.setTitle(errorMsg); - MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(9, ledCommand)); - } + MessageQueue.offer(SlaveType.Led, inSta.getLed(), new Task(5, errorMsg)); } log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl+"/rpc/pakin/loc/v1", JSON.toJSONString(param), response); } @@ -303,7 +302,7 @@ if ( inSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } if ( inSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; } if ( inSta.getStaNo()==107 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; } - +// staProtocol.setPakMk(true); // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) @@ -370,7 +369,7 @@ } - staProtocol.setPakMk(true); +// staProtocol.setPakMk(true); // // 鍏ュ嚭搴撴ā寮忓垽鏂� // if (devpThread.ioMode != IoModeType.PAKIN_MODE) { continue; } if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() && staProtocol.isPakMk()){ @@ -638,6 +637,7 @@ * 鍏ュ簱 ===>> 鍫嗗灈鏈虹珯鍒板簱浣� */ public synchronized void crnStnToLoc(CrnSlave slave, CrnProtocol crnProtocol){ + Collections.shuffle(slave.getCrnInStn()); for (CrnSlave.CrnStn crnStn : slave.getCrnInStn()) { boolean flag = false; // 鑾峰彇鍫嗗灈鏈哄叆搴撶珯淇℃伅 @@ -717,7 +717,7 @@ // 鐢熸垚宸ヤ綔妗c�佹敼鍙樻祬搴撲綅鐨勬簮搴�/鐩爣搴� 搴撲綅鐘舵�併�佷笅鍙戝爢鍨涙満鍛戒护锛堢珛椹墽琛�) // moveLocForDeepLocPakin(slave, shallowLoc, wrkMast); } - continue; + break; } else if (shallowLoc.getLocSts().equals("Q")){ WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); if (null != waitWrkMast && waitWrkMast.getWrkSts()==4) { @@ -771,10 +771,18 @@ * 2022-06-09 TQS淇敼锛屾煡璇㈠伐浣滄。LIST锛岄亶鍘嗕笅鍙戯紝闃叉绗竴涓换鍔″牭濉炲嚭搴� */ public synchronized void locToCrnStn(CrnSlave slave, CrnProtocol crnProtocol){ + + + for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { // 鑾峰彇宸ヤ綔鐘舵�佷负11锛堢敓鎴愬嚭搴揑D锛夌殑鍑哄簱宸ヤ綔妗� // WrkMast wrkMast = wrkMastMapper.selectPakOutStep1(slave.getId(), crnStn.getStaNo()); List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo()); + // 鑾峰彇宸ヤ綔鐘舵�佷负14鐨勫伐浣滄。 涓� 鍑哄簱浠诲姟涓虹洏鐐�/鎷f枡鍑哄簱鐨勪换鍔� + WrkMast wrkMast1 = wrkMastMapper.selectPakOutStep14(slave.getId(), crnStn.getStaNo()); + if ( wrkMast1 !=null) { + continue; + } for (WrkMast wrkMast : wrkMasts){ if (wrkMast == null) { continue; @@ -890,6 +898,7 @@ if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); } else { + log.info("鍫嗗灈鏈哄懡浠や笅鍙戞垚鍔燂紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� Date now = new Date(); wrkMast.setWrkSts(12L); @@ -1058,35 +1067,109 @@ return; } - // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� - if (wrkMastMapper.selectWorking(slave.getId()) != null) { - return; - } + // 鍙屾繁搴撲綅涓旀祬搴撲綅鏈夎揣锛屽垯闇�鍏堝娴呭簱浣嶈繘琛屽簱浣嶇Щ杞� + if (Utils.isDeepLoc(slaveProperties, wrkMast.getSourceLocNo())) { + String shallowLocNo = Utils.getShallowLoc(slaveProperties, wrkMast.getSourceLocNo()); + LocMast shallowLoc = locMastService.selectById(shallowLocNo); + // O.绌哄簱浣嶃�丵.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴撱�丼.鍏ュ簱棰勭害銆乆.绂佺敤 鐩存帴鎼紒 + if (shallowLoc.getLocSts().equals("P") || shallowLoc.getLocSts().equals("R")) { + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + if (null == waitWrkMast) { + log.error("{}搴撲綅寮傚父锛屾湭妫�绱㈠埌鐩稿簲宸ヤ綔妗o紒", shallowLocNo); + } else { + if(waitWrkMast.getWrkSts() == 11) { + waitWrkMast.setIoPri(15D); + waitWrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(waitWrkMast) == 0) { + log.error("璋冩暣宸ヤ綔妗d紭鍏堢骇澶辫触锛佸伐浣滃彿={}", waitWrkMast.getWrkNo()); + } + } else { - // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- - CrnCommand crnCommand = new CrnCommand(); - crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� - crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� - crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 - crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 - crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 - crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰 - crnCommand.setDestinationPosX(sta.getRow1().shortValue()); // 鐩爣搴撲綅鎺� - crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒� - crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞� - if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { - log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); - } else { - // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� - Date now = new Date(); - wrkMast.setWrkSts(12L); - wrkMast.setCrnStrTime(now); - wrkMast.setModiTime(now); - if (wrkMastMapper.updateById(wrkMast) == 0) { - log.error("銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + } else if (shallowLoc.getLocSts().equals("F") || shallowLoc.getLocSts().equals("D")) { +// WrkMast waitWrkMast = wrkMastMapper.selectByLocNo(shallowLocNo); + //2022-08-16 modify,涓嶆牴鎹畊pdmk鏍囪绉诲簱浠诲姟(瀹规槗琚彇娑堝鑷村牭濉�)锛屾煡璇㈠伐浣滄。鏄惁瀛樺湪浠诲姟 + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); + // 姝ゆ爣璁伴伩鍏嶅娆℃墽琛岀Щ搴撲换鍔� +// if (Cools.isEmpty(wrkMast.getUpdMk()) || "N".equals(wrkMast.getUpdMk()) +// || Cools.isEmpty(waitWrkMast)) { + if (Cools.isEmpty(waitWrkMast)) { + wrkMast.setUpdMk("Y"); + wrkMastMapper.updateById(wrkMast); + // 鐢熸垚宸ヤ綔妗�,灏嗘祬搴撲綅绉昏浆鍒版柊鐨勫簱浣嶄腑 + moveLocForDeepLoc(slave, shallowLoc); + } + log.error("{}浠诲姟鍑哄簱澶辫触锛屾祬搴撲綅鍫靛锛佹祬搴撲綅鍙�:{}", wrkMast.getWrkNo(),shallowLocNo); + + } else if (shallowLoc.getLocSts().equals("Q") || shallowLoc.getLocSts().equals("S")){ + WrkMast waitWrkMast = wrkMastMapper.selectByLocNo1(shallowLocNo); + if (null != waitWrkMast && waitWrkMast.getWrkSts()==4) { + } + }else if(shallowLoc.getLocSts().equals("O")){ + // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� + if (wrkMastMapper.selectWorking(slave.getId()) != null) { + return; + } + + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(sta.getRow1().shortValue()); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞� + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� + Date now = new Date(); + wrkMast.setWrkSts(12L); + wrkMast.setCrnStrTime(now); + wrkMast.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } + } + } + }else { + // 宸茬粡瀛樺湪鍚婅溅鎵ц浠诲姟鏃讹紝鍒欒繃婊� + if (wrkMastMapper.selectWorking(slave.getId()) != null) { + return; + } + + // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- + CrnCommand crnCommand = new CrnCommand(); + crnCommand.setCrnNo(slave.getId()); // 鍫嗗灈鏈虹紪鍙� + crnCommand.setTaskNo(wrkMast.getWrkNo().shortValue()); // 宸ヤ綔鍙� + crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� + crnCommand.setTaskMode(CrnTaskModeType.LOC_MOVE); // 浠诲姟妯″紡: 搴撲綅绉昏浆 + crnCommand.setSourcePosX(sourceSta.getRow1().shortValue()); // 婧愬簱浣嶆帓 + crnCommand.setSourcePosY(sourceSta.getBay1().shortValue()); // 婧愬簱浣嶅垪 + crnCommand.setSourcePosZ(sourceSta.getLev1().shortValue()); // 婧愬簱浣嶅眰 + crnCommand.setDestinationPosX(sta.getRow1().shortValue()); // 鐩爣搴撲綅鎺� + crnCommand.setDestinationPosY(sta.getBay1().shortValue()); // 鐩爣搴撲綅鍒� + crnCommand.setDestinationPosZ(sta.getLev1().shortValue()); // 鐩爣搴撲綅灞� + if (!MessageQueue.offer(SlaveType.Crn, wrkMast.getCrnNo(), new Task(2, crnCommand))) { + log.error("鍫嗗灈鏈哄懡浠や笅鍙戝け璐ワ紝鍫嗗灈鏈哄彿={}锛屼换鍔℃暟鎹�={}", wrkMast.getCrnNo(), JSON.toJSON(crnCommand)); + } else { + // 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� + Date now = new Date(); + wrkMast.setWrkSts(12L); + wrkMast.setCrnStrTime(now); + wrkMast.setModiTime(now); + if (wrkMastMapper.updateById(wrkMast) == 0) { + log.error("銆愬簱浣嶇Щ杞�� 淇敼宸ヤ綔妗g姸鎬� 11.鐢熸垚鍑哄簱ID => 12.鍚婅溅鍑哄簱涓� 澶辫触锛侊紒锛屽伐浣滃彿={}", wrkMast.getWrkNo()); + } } } + + } @@ -1268,10 +1351,7 @@ staProtocol = staProtocol.clone(); } -// // 鍏ュ嚭搴撴ā寮忓垽鏂� -// if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F != IoModeType.PAKIN_MODE) { continue; } -// if ( emptyInSta.getStaNo()==203 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } -// if ( emptyInSta.getStaNo()==402 && devpThread.ioModeOf4F == IoModeType.PAKOUT_MODE) { continue; } + // 鍏ュ嚭搴撴ā寮忓垽鏂� if ( emptyInSta.getStaNo()==101 && devpThread.ioModeOf1F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==103 && devpThread.ioModeOf2F == IoModeType.PAKOUT_MODE) { continue; } if ( emptyInSta.getStaNo()==105 && devpThread.ioModeOf3F == IoModeType.PAKOUT_MODE) { continue; } @@ -1312,66 +1392,7 @@ e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); } - - - - -// // 妫�绱㈠簱浣� -// LocTypeDto locTypeDto = new LocTypeDto(staProtocol); -// StartupDto startupDto = commonService.getLocNo(1, 10, emptyInSta.getStaNo(), null, locTypeDto, 0); -// // 宸ヤ綔鍙� -// int workNo = startupDto.getWorkNo(); -// -// try { -// // 鎻掑叆宸ヤ綔涓绘。 -// WrkMast wrkMast = new WrkMast(); -// wrkMast.setWrkNo(workNo); -// wrkMast.setIoTime(new Date()); -// wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細2.璁惧涓婅蛋 -// wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱 -// wrkMast.setIoPri(10D); // 浼樺厛绾э細10 -// wrkMast.setCrnNo(startupDto.getCrnNo()); -// wrkMast.setSourceStaNo(startupDto.getSourceStaNo()); -// wrkMast.setStaNo(startupDto.getStaNo()); -// wrkMast.setLocNo(startupDto.getLocNo()); -// wrkMast.setFullPlt("N"); // 婊℃澘 -// wrkMast.setPicking("N"); // 鎷f枡 -// wrkMast.setExitMk("N"); // 閫�鍑� -// wrkMast.setEmptyMk("Y"); // 绌烘澘 -// wrkMast.setLinkMis("N"); -//// wrkMast.setCtnType(sourceStaNo.getCtnType()); // 瀹瑰櫒绫诲瀷 -// // 鎿嶄綔浜哄憳鏁版嵁 -// wrkMast.setAppeTime(new Date()); -// wrkMast.setModiTime(new Date()); -// Integer insert = wrkMastMapper.insert(wrkMast); -// if (insert == 0) { -// throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); -// } -// // 鏇存柊鐩爣搴撲綅鐘舵�� -// LocMast locMast = locMastService.selectById(startupDto.getLocNo()); -// locMast.setLocSts("S"); // S.鍏ュ簱棰勭害 -// locMast.setModiTime(new Date()); -// if (!locMastService.updateById(locMast)){ -// throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�"); -// } -// // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- -// -// // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 -// staProtocol.setWorkNo((short) workNo); -// staProtocol.setStaNo(startupDto.getStaNo().shortValue()); -// devpThread.setPakMk(staProtocol.getSiteId(), false); -// boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); -// if (!result) { -// throw new CoolException("鏇存柊plc绔欑偣淇℃伅澶辫触"); -// } -// } catch (Exception e) { -// e.printStackTrace(); -// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); -// } - } - - } } } @@ -1438,7 +1459,7 @@ // ledCommand.setSourceStaNo(wrkMast.getSourceStaNo()); if (wrkMast.getIoType() != 110 && wrkMast.getIoType() != 10 ) { List<WrkDetl> wrkDetls = wrkDetlService.findByWorkNo(wrkMast.getWrkNo()); - wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme()))); + wrkDetls.forEach(wrkDetl -> ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(),wrkDetl.getSpecs(),wrkDetl.getModel()))); } commands.add(ledCommand); } @@ -1451,15 +1472,15 @@ } // 鍛戒护涓嬪彂 ------------------------------------------------------------------------------- if (!commands.isEmpty()) { - if (led.getId() == 7) { - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) { + if (led.getId()>4){ + if (!MessageQueue.offer(SlaveType.Led, led.getId()-4, new Task(3, commands))) { log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); continue; } else { ledThread.setLedMk(false); } - } else { - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(1, commands))) { + }else { + if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(3, commands))) { log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); continue; } else { @@ -1541,20 +1562,10 @@ LedThread ledThread = (LedThread) SlaveConnection.get(SlaveType.Led, led.getId()); // led鏄剧ず榛樿鍐呭 if (reset && !ledThread.isLedMk()) { - if (led.getId() == 7) { - ledThread.setLedMk(true); - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(4, new ArrayList<>()))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - } else { - - } + ledThread.setLedMk(true); + if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { + log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); } else { - ledThread.setLedMk(true); - if (!MessageQueue.offer(SlaveType.Led, led.getId(), new Task(2, new ArrayList<>()))) { - log.error("{}鍙稬ED鍛戒护涓嬪彂澶辫触锛侊紒锛乕ip锛歿}] [port锛歿}]", led.getId(), led.getIp(), led.getPort()); - } else { - - } } } } @@ -1684,69 +1695,71 @@ if (null == loc) { log.error("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); - throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); - } - - // 鑾峰彇宸ヤ綔鍙� - int workNo = commonService.getWorkNo(0); - // 淇濆瓨宸ヤ綔妗� - WrkMast wrkMast = new WrkMast(); - wrkMast.setWrkNo(workNo); - wrkMast.setIoTime(new Date()); - wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID - wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 - wrkMast.setIoPri(13D); - wrkMast.setCrnNo(crn.getId()); - wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣� - wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅 - wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘 - wrkMast.setPicking("N"); // 鎷f枡 - wrkMast.setExitMk("N"); // 閫�鍑� - wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘 - wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮� - wrkMast.setLinkMis("N"); - wrkMast.setAppeTime(new Date()); - wrkMast.setModiTime(new Date()); - int res = wrkMastMapper.insert(wrkMast); - if (res == 0) { - throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); - } - // 宸ヤ綔妗f槑缁嗕繚瀛� - if (shallowLoc.getLocSts().equals("F")) { - List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); - for (LocDetl locDetl : locDetls) { - WrkDetl wrkDetl = new WrkDetl(); - wrkDetl.setWrkNo(workNo); - wrkDetl.setIoTime(new Date()); - wrkDetl.setAnfme(locDetl.getAnfme()); - VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 - wrkDetl.setAppeTime(new Date()); - wrkDetl.setModiTime(new Date()); - if (!wrkDetlService.insert(wrkDetl)) { - throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); +// throw new CoolException("鍙屾繁搴撲綅 --- 娴呭簱浣嶉樆濉炲紓甯革紒 寰呯Щ杞祬搴撲綅锛�" + shallowLoc.getLocNo()); + }else{ + // 鑾峰彇宸ヤ綔鍙� + int workNo = commonService.getWorkNo(0); + // 淇濆瓨宸ヤ綔妗� + WrkMast wrkMast = new WrkMast(); + wrkMast.setWrkNo(workNo); + wrkMast.setIoTime(new Date()); + wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID + wrkMast.setIoType(11); // 鍏ュ嚭搴撶姸鎬侊細 11.搴撴牸绉昏浇 + wrkMast.setIoPri(13D); + wrkMast.setCrnNo(crn.getId()); + wrkMast.setSourceLocNo(shallowLoc.getLocNo()); // 婧愬簱浣� + wrkMast.setLocNo(loc.getLocNo()); // 鐩爣搴撲綅 + wrkMast.setFullPlt(shallowLoc.getFullPlt()); // 婊℃澘 + wrkMast.setPicking("N"); // 鎷f枡 + wrkMast.setExitMk("N"); // 閫�鍑� + wrkMast.setEmptyMk(shallowLoc.getLocSts().equals("D") ? "Y" : "N"); // 绌烘澘 + wrkMast.setBarcode(shallowLoc.getBarcode()); // 鎵樼洏鐮� + wrkMast.setLinkMis("N"); + wrkMast.setAppeTime(new Date()); + wrkMast.setModiTime(new Date()); + int res = wrkMastMapper.insert(wrkMast); + if (res == 0) { + throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�"); + } + // 宸ヤ綔妗f槑缁嗕繚瀛� + if (shallowLoc.getLocSts().equals("F")) { + List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", shallowLoc.getLocNo())); + for (LocDetl locDetl : locDetls) { + WrkDetl wrkDetl = new WrkDetl(); + wrkDetl.setWrkNo(workNo); + wrkDetl.setIoTime(new Date()); + wrkDetl.setAnfme(locDetl.getAnfme()); + VersionUtils.setWrkDetl(wrkDetl, locDetl); // 鐗堟湰鎺у埗 + wrkDetl.setAppeTime(new Date()); + wrkDetl.setModiTime(new Date()); + if (!wrkDetlService.insert(wrkDetl)) { + throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�"); + } } } - } - // 淇敼婧愬簱浣嶇姸鎬� - if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) { - shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害 - shallowLoc.setModiTime(new Date()); - if (!locMastService.updateById(shallowLoc)) { - throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); + // 淇敼婧愬簱浣嶇姸鎬� + if (shallowLoc.getLocSts().equals("D") || shallowLoc.getLocSts().equals("F")) { + shallowLoc.setLocSts("R"); // R.鍑哄簱棰勭害 + shallowLoc.setModiTime(new Date()); + if (!locMastService.updateById(shallowLoc)) { + throw new CoolException("鏇存柊婧愬簱浣嶇姸鎬佸け璐�"); + } + } else { + throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�"); } - } else { - throw new CoolException("婧愬簱浣嶅嚭搴撳け璐�"); - } - // 淇敼鐩爣搴撲綅鐘舵�� - if (loc.getLocSts().equals("O")) { - loc.setLocSts("S"); // S.鍏ュ簱棰勭害 - loc.setModiTime(new Date()); - if (!locMastService.updateById(loc)) { - throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); + // 淇敼鐩爣搴撲綅鐘舵�� + if (loc.getLocSts().equals("O")) { + loc.setLocSts("S"); // S.鍏ュ簱棰勭害 + loc.setModiTime(new Date()); + if (!locMastService.updateById(loc)) { + throw new CoolException("鏇存柊鐩爣搴撲綅鐘舵�佸け璐�"); + } + } else { + throw new CoolException("绉昏浆澶辫触"); } - } else { - throw new CoolException("绉昏浆澶辫触"); } + + } catch (Exception e) { log.error("鍙屾繁搴撲綅闃诲锛屽娴呭簱浣嶈繘琛岀Щ杞け璐�", e); e.printStackTrace(); @@ -1778,7 +1791,10 @@ continue; } - LocMast sourceLoc = locMastService.queryDemoSourceLoc(crn.getId()); + LocMast sourceLoc = locMastService.queryDemoSourceLoc0(crn.getId()); + if(sourceLoc == null){ + locMastService.queryDemoSourceLoc(crn.getId()); + } LocMast loc = locMastService.queryDemoLoc(crn.getId()); if (null == sourceLoc || null == loc) { continue; -- Gitblit v1.9.1