From 3d9d870ef185961c598943ea45ea71b66f299511 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期五, 12 一月 2024 21:11:02 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 125 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 116 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 93dec60..4ef4ce0 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -148,13 +148,13 @@ && staProtocol.isLoading() && staProtocol.isInEnable() && !staProtocol.isEmptyMk() - && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9990) + && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() > 9999) && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) { // if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { // log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); // //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣 -// staProtocol.setWorkNo((short)9999); +// staProtocol.setWorkNo((short)29999); // staProtocol.setStaNo((short)172); // devpThread.setPakMk(staProtocol.getSiteId(), false); // boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -252,7 +252,7 @@ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999) + && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 29999) && staProtocol.isPakMk()) { // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo()); @@ -423,6 +423,10 @@ continue; } else { staProtocol = staProtocol.clone(); + } + BasDevp basDevp = basDevpService.selectById(staProtocol.getSiteId()); + if (Cools.isEmpty(basDevp) || basDevp.getReportSign()!=1){ + continue; } if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isPakMk() && staProtocol.getWorkNo()==0 && !staProtocol.isOutEnable() && staProtocol.isInEnable()) { @@ -1343,7 +1347,7 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo((short) 9999); // 宸ヤ綔鍙� + crnCommand.setTaskNo((short) 29999); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍥炲師鐐� crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 @@ -2959,6 +2963,7 @@ */ public synchronized void storeEmptyPlt() { for (DevpSlave devp : slaveProperties.getDevp()) { + if (devp.getId()==1) continue; // 閬嶅巻绌烘澘鍏ュ簱鍙� for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) { // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� @@ -2972,7 +2977,7 @@ // 绔欑偣鏉′欢鍒ゆ柇 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && staProtocol.isEmptyMk() && (staProtocol.getWorkNo() > 9990 && staProtocol.getWorkNo() <= 9999) && staProtocol.isPakMk()) { + && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 29990 && staProtocol.getWorkNo() <= 29999) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) { try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); @@ -3008,6 +3013,108 @@ } } } + } + } + + /** + * 鍏ュ簱 ===>> 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,1妤煎彔鐩樻満鍙犵洏 + */ + public synchronized void storeEmptyPlt2() { + for (DevpSlave devp : slaveProperties.getDevp()) { + if (devp.getId()==2) continue; + // 閬嶅巻绌烘澘鍏ュ簱鍙� + for (DevpSlave.Sta emptyInSta : devp.getEmptyInSta()) { + // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(emptyInSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + + // 绔欑偣鏉′欢鍒ゆ柇 + if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() + && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 29990 && staProtocol.getWorkNo() <= 29999) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) { + try { + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L); + if (Cools.isEmpty(wrkMastSta)){ + WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); + wrkMastSta1.setType(2); + wrkMastSta1.setWrkType(1);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� + wrkMastStaMapper.insert(wrkMastSta1); + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + } + } + } + + /** + * 绌烘爤鏉垮垵濮嬪寲鍏ュ簱,鍙夎溅鍏ュ簱绔欐斁璐� + */ + public synchronized void storeEmptyPlt3() { + try{ + for (RgvSlave rgvSlave:slaveProperties.getRgv()) { + RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgvSlave.getId()); + RgvProtocol rgvProtocol = rgvThread.getRgvProtocol(); + if (rgvProtocol == null) { + continue; + } + BasRgv basRgv = basRgvService.selectById(rgvSlave.getId()); + if (basRgv == null) { + log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgvSlave.getId()); + continue; + } + + // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤 + if (rgvProtocol.getStatusType() == RgvStatusType.IDLE + && rgvProtocol.getModeType() == RgvModeType.AUTO + && (rgvProtocol.getLoaded2()==2 || rgvProtocol.getLoaded2()==3 ) ////0 鏃犵墿锛�1 涓�灞傛棤鐗╀簩灞傛湁鐗� 锛�2涓�灞傛湁鐗╀簩灞傛棤鐗� 锛堝彧鑳芥弧鏀撅級锛�3 1銆�2灞傞兘鏈夌墿 + ) { + try { + // 鑾峰彇绌烘澘鍏ュ簱绔欎俊鎭� + + SearchLocParam param = new SearchLocParam(); + param.setIoType(10); + param.setSourceStaNo(122); + param.setLocType1((short)1); + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/pakin/empty/loc/v1") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + if (jsonObject.getInteger("code").equals(200)) { + StartupDto dto = jsonObject.getObject("data", StartupDto.class); + // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护 + WrkMast wrkMast = wrkMastMapper.selectPakInStep3(dto.getWorkNo()); + if (!Cools.isEmpty(wrkMast) && wrkMast.getIoType()==10 && wrkMast.getWrkSts()==2){ + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(wrkMast.getWrkNo().longValue()); + if (Cools.isEmpty(wrkMastSta)){ + WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),0); + wrkMastSta1.setWrkNo(wrkMast.getWrkNo().longValue()); + wrkMastSta1.setType(2); + wrkMastSta1.setWrkType(6);//宸ヤ綔绫诲瀷 1:鍙栵紙鍙犵洏锛� 2锛氭媶鐩� 3锛氬彇鏀� 5锛氭弧鍙� 6锛氭弧鏀� + wrkMastStaMapper.insert(wrkMastSta1); + } + } + } else { + log.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/empty/loc/v1", JSON.toJSONString(param), response); + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + } + }catch (Exception e){ + log.error("3933琛屾墽琛屽皬杞︽斁绌烘澘浠诲姟涓嬪彂澶辫触"); + log.error("3933琛�"+e); } } @@ -4129,7 +4236,7 @@ && rgvProtocol.getLoaded1()==0 && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 ) { - BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); + BasRgvMap basRgvMap = basRgvMapMapper.selectById(basRgv.getRgvNo()); if (basRgvMap == null) { log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱鍦板浘涓繘琛岀淮鎶わ紒", rgvProtocol.getRgvNo()); continue; @@ -4168,7 +4275,7 @@ } } /** - * 鎵ц灏忚溅鎼繍浠诲姟 + * 鎵ц灏忚溅鎼繍浠诲姟//鎷嗙洏 */ public synchronized void rgvRunWrkMastEmptyStaPut() {//鎷嗙洏 try{ @@ -4184,7 +4291,7 @@ continue; } - // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤 + // 鍙湁褰揜GV绌洪棽銆佽嚜鍔�,宸ヤ綅浜屾湁鐗�//rgv鍙敤//鎷嗙洏 if (rgvProtocol.getStatusType() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getTaskNo1()==0 && rgvProtocol.getTaskNo2()==0 @@ -4396,7 +4503,7 @@ continue; } boolean sign = false; - if (wrkMastSta.getStaEnd()==0 && wrkMastSta.getStaStart()!=0){//鍙� + if (wrkMastSta.getStaEnd()==0 && wrkMastSta.getStaStart()!=0){//婊″彇 sign = rgvTakeEmptyFull(rgvProtocol.getRgvNo(),wrkMastSta); }else { continue; -- Gitblit v1.9.1