From 07559603c6ae9a98139716b6443a4a7b6dd66755 Mon Sep 17 00:00:00 2001 From: lsh <1> Date: 星期日, 14 一月 2024 16:24:47 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 98 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 75 insertions(+), 23 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 4ef4ce0..9530193 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() > 9999) + && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) {// && !Cools.isEmpty(barcode)) { // if(Cools.isEmpty(barcode) || "NG".endsWith(barcode) || "NoRead".equals(barcode)) { // log.info("{}鍙锋潯鐮佹壂鎻忓櫒妫�娴嬫潯鐮佷俊鎭細{}", inSta.getBarcode(), barcode); // //鏉$爜涓虹┖鎴栬�呬笉绗﹀悎锛岄��搴撳埌172绔欑偣 -// staProtocol.setWorkNo((short)29999); +// staProtocol.setWorkNo((short)32222); // staProtocol.setStaNo((short)172); // devpThread.setPakMk(staProtocol.getSiteId(), false); // boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); @@ -228,6 +228,62 @@ } /** + * 缁勬墭 + * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿閫氱煡妗佹灦鐮佸灈 + */ + public synchronized void generateStoreWrkFileFull2LouM() { + // 鏍规嵁杈撻�佺嚎plc閬嶅巻 + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鐮佸灈鍙� + for (DevpSlave.Sta driveSta : devp.getDriveSta()) { + // 鑾峰彇鏉$爜鎵弿浠俊鎭� + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, driveSta.getBarcode()); + if (barcodeThread == null) { + continue; + } + String barcode = barcodeThread.getBarcode(); + + if (!Cools.isEmpty(barcode) && !barcode.equals("") && !barcode.equals(" ")) { + if ("NG".endsWith(barcode) || "NoRead".equals(barcode)) { + continue; + } + } else { + continue; + } + + // 鑾峰彇鐮佸灈鍙d俊鎭� + SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(driveSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 + if (staProtocol.isAutoing() + && staProtocol.isLoading() + && staProtocol.isInEnable() + && staProtocol.isEmptyMk() + && (staProtocol.getWorkNo() == 0 || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000) ) + ) { + try { + BasDevp basDevp = basDevpService.selectById(driveSta.getStaNo()); + if (basDevp.getReportSign()>0){ + continue; + } + basDevp.setBarcode(barcode); + basDevp.setReportSign(1); + basDevpService.updateById(basDevp); + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + } + } + } + } + + /** * wms鍏ュ簱 * 鍏ュ簱绔欙紝鏍规嵁鏉$爜鎵弿鐢熸垚鍏ュ簱宸ヤ綔妗o紝宸ヤ綔鐘舵�� 1 ==>> 2 */ @@ -252,7 +308,7 @@ // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 29999) + && !staProtocol.isEmptyMk() && staProtocol.getWorkNo() == 0 && staProtocol.isPakMk()) { // 鍒ゆ柇閲嶅宸ヤ綔妗� WrkMast wrkMast = wrkMastMapper.selectPakInStep11(inSta.getStaNo()); @@ -1347,7 +1403,7 @@ // 鍛戒护涓嬪彂鍖� -------------------------------------------------------------------------- CrnCommand crnCommand = new CrnCommand(); crnCommand.setCrnNo(crnProtocol.getCrnNo()); // 鍫嗗灈鏈虹紪鍙� - crnCommand.setTaskNo((short) 29999); // 宸ヤ綔鍙� + crnCommand.setTaskNo((short) 63333); // 宸ヤ綔鍙� crnCommand.setAckFinish((short) 0); // 浠诲姟瀹屾垚纭浣� crnCommand.setTaskMode(CrnTaskModeType.GO_ORIGIN); // 浠诲姟妯″紡: 鍥炲師鐐� crnCommand.setSourcePosX((short) 0); // 婧愬簱浣嶆帓 @@ -1512,8 +1568,6 @@ if(crnStn1.getStaNo().equals(wrkMast.getStaNo())){ crnStn = crnStn1; break; - } else { - continue; } } if(Cools.isEmpty(crnStn)){ @@ -1784,8 +1838,6 @@ if(crnStn1.getStaNo().equals(wrkMast.getSourceStaNo())){ crnStn = crnStn1; break; - } else { - continue; } } if(Cools.isEmpty(crnStn)){ @@ -2676,7 +2728,7 @@ } // 鐘舵�侊細绛夊緟纭 骞朵笖 浠诲姟瀹屾垚浣� = 1 if (crnProtocol.statusType == CrnStatusType.WAITING && crnProtocol.getTaskNo() != 0) { - if (crnProtocol.getTaskNo() == 9999) { + if (crnProtocol.getTaskNo() == 32222) { // 鍫嗗灈鏈哄浣� crnThread.setResetFlag(true); } else { @@ -2977,7 +3029,7 @@ // 绔欑偣鏉′欢鍒ゆ柇 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 29990 && staProtocol.getWorkNo() <= 29999) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) { + && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) { try { LocTypeDto locTypeDto = new LocTypeDto(staProtocol); @@ -3035,9 +3087,9 @@ // 绔欑偣鏉′欢鍒ゆ柇 if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 29990 && staProtocol.getWorkNo() <= 29999) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) { + && staProtocol.isEmptyMk() && ((staProtocol.getWorkNo() > 32222 && staProtocol.getWorkNo() <= 63333) || staProtocol.getWorkNo()==0) && staProtocol.isPakMk()) { try { - WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 9999L); + WrkMastSta wrkMastSta = wrkMastStaMapper.selectByWrkNo(staProtocol.getSiteId() + 19999L); if (Cools.isEmpty(wrkMastSta)){ WrkMastSta wrkMastSta1 = new WrkMastSta(new Date(),staProtocol.getSiteId()); wrkMastSta1.setType(2); @@ -3958,7 +4010,7 @@ if (staProtocol.isAutoing() && staProtocol.isLoading() && staProtocol.isInEnable() - && staProtocol.getWorkNo() == 0 + && (staProtocol.getWorkNo() == 0 || (staProtocol.getWorkNo()>9899 && staProtocol.getWorkNo()<10000)) ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) { //浠诲姟瀹屾垚 @@ -4052,7 +4104,7 @@ int[] staNos=new int[]{144};//(1妤�1涓创鏍囦綅,鏍规嵁鐜板満淇敼) for (int staNo : staNos){ BasDevp basDevp = basDevpService.selectById(staNo); - if (basDevp.getWrkNo()<9990){ + if ((basDevp.getWrkNo()<9900 || basDevp.getWrkNo()>19999) && basDevp.getWrkNo()!=32222){ continue; } WrkMast wrkMast = wrkMastMapper.selectWrkMastUnstackingOne202(staNo); @@ -4078,7 +4130,7 @@ log.info("{}绔欑偣鏃犵墿锛屽紓甯革紒",staNo); continue; } - if (!staProtocol.getWorkNo().equals(wrkMast.getWrkNo().shortValue())){ + if (!staProtocol.getWorkNo().equals(wrkMast.getWrkNo())){ log.info("绔欑偣宸ヤ綔鍙�={} 涓庤创鏍囧伐浣滃彿={} 涓嶄竴鑷达紝寮傚父锛�",staProtocol.getWorkNo(),wrkMast.getWrkNo().shortValue()); } // 鍒ゆ柇鏄惁婊¤冻鍏ュ簱鏉′欢 @@ -4130,7 +4182,7 @@ ) { log.info("{}鍙峰皬杞︾瓑寰厀cs纭锛岀姸鎬亄}锛屽弬鏁皗}",rgvProtocol.getRgvNo(),rgvProtocol.getStatusType(),rgvProtocol); if (rgvProtocol.getTaskNo1()!=0 && (rgvProtocol.getStatusType1()==RgvStatusType.WAITING || rgvProtocol.getStatusType1()==RgvStatusType.FETCHWAITING)){ - if (rgvProtocol.getTaskNo1()==29999){ + if (rgvProtocol.getTaskNo1()==(short)32222){ boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); if (!rgvComplete){ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); @@ -4156,7 +4208,7 @@ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue()); if (!Cools.isEmpty(wrkMast)){ // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMastSta.getWrkNo().intValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) { continue; @@ -4168,7 +4220,7 @@ basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); rgvMapUpdate(basRgvMap,basRgvMap.getStartRoute(),basRgvMap.getStartRoute()); }else if (rgvProtocol.getTaskNo2()!=0 && (rgvProtocol.getStatusType2()==RgvStatusType.WAITING || rgvProtocol.getStatusType2()==RgvStatusType.FETCHWAITING)){ - if (rgvProtocol.getTaskNo2()==29999){ + if (rgvProtocol.getTaskNo2()==(short)32222){ boolean rgvComplete = rgvComplete(rgvProtocol.getRgvNo()); if (!rgvComplete){ log.error("灏忚溅澶嶄綅澶辫触锛屽皬杞﹀彿{}锛�",rgvProtocol.getRgvNo()); @@ -4193,7 +4245,7 @@ WrkMast wrkMast = wrkMastMapper.selectPakInStep3(wrkMastSta.getWrkNo().intValue()); if (!Cools.isEmpty(wrkMast)){ // 涓嬪彂绔欑偣淇℃伅 - staProtocol.setWorkNo(wrkMastSta.getWrkNo().intValue()); + staProtocol.setWorkNo(wrkMast.getWrkNo()); staProtocol.setStaNo(wrkMast.getStaNo()); if (!MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol))) { continue; @@ -4602,8 +4654,8 @@ if (rgvProtocol.getStatusType() == RgvStatusType.IDLE && rgvProtocol.getModeType() == RgvModeType.AUTO && rgvProtocol.getLoaded1()==0 //鐜板満淇敼锛氬彔鐩樻満锛屼笉婊¢兘绠楁棤鐗╋紝鎬庝箞鍒ゆ柇闇�瑕佽窡鐢垫帶瀵规帴 - && (rgvProtocol.getTaskNo1()==0 || rgvProtocol.getTaskNo1()==9999) - && (rgvProtocol.getTaskNo2()==0 || rgvProtocol.getTaskNo2()==9999) + && rgvProtocol.getTaskNo1()==0 + && rgvProtocol.getTaskNo2()==0 ) { BasRgvMap basRgvMap = basRgvMapMapper.selectById(rgvProtocol.getRgvNo()); basRgvMap.setNowRoute(rgvProtocol.getRgvPosI()); @@ -4627,7 +4679,7 @@ RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 rgvCommand.setAckFinish1((short) 0); // 宸ヤ綅1浠诲姟瀹屾垚纭浣� - rgvCommand.setTaskNo1((short)29999); // 宸ヤ綅1宸ヤ綔鍙� + rgvCommand.setTaskNo1((short)32222); // 宸ヤ綅1宸ヤ綔鍙� rgvCommand.setTaskMode1(RgvTaskModeType.X_MOVE); // 宸ヤ綅1浠诲姟妯″紡: 鍥炲師鐐� //basRgvMap.getLockStartRoute().shortValue() rgvCommand.setSourceStaNo1( (short)101); @@ -4650,7 +4702,7 @@ RgvCommand rgvCommand = new RgvCommand(); rgvCommand.setRgvNo(rgvId); // RGV缂栧彿 rgvCommand.setAckFinish2((short) 0); // 宸ヤ綅2浠诲姟瀹屾垚纭浣� - rgvCommand.setTaskNo2((short)29999); // 宸ヤ綅2宸ヤ綔鍙� + rgvCommand.setTaskNo2((short)32222); // 宸ヤ綅2宸ヤ綔鍙� rgvCommand.setTaskMode2(RgvTaskModeType.X_MOVE); // 宸ヤ綅2浠诲姟妯″紡: 鍥炲師鐐� rgvCommand.setSourceStaNo2((short)117); rgvCommand.setCommand((short) 2); //宸ヤ綅2浠诲姟纭 -- Gitblit v1.9.1