From b2236ecf32bca672b5311b791b89a2d32d79f9ba Mon Sep 17 00:00:00 2001 From: Junjie <540245094@qq.com> Date: 星期三, 06 十二月 2023 20:19:16 +0800 Subject: [PATCH] #盘点修改 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 149 +++++++++++++++++++++++++++++++++++++++++++++---- src/main/java/com/zy/core/MainProcess.java | 6 + 2 files changed, 141 insertions(+), 14 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 6330a13..62ba267 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -398,7 +398,7 @@ } /** - * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 + * 鎷f枡銆佸苟鏉垮啀鍏ュ簱 */ @Transactional public synchronized void stnToCrnStnPick(){ @@ -441,7 +441,7 @@ continue; } - if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) + if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo()) ) { continue; } @@ -495,10 +495,6 @@ News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); continue; } - if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) { - News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); - continue; - } // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� LocMast locMast = locMastService.selectById(sourceLocNo); @@ -515,7 +511,7 @@ } /** - * 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱(325銆�331銆�333銆�339) + * 鎷f枡銆佸苟鏉垮啀鍏ュ簱(325銆�331銆�333銆�339) */ @Transactional public synchronized void stnToCrnStnPick2(){ @@ -545,7 +541,7 @@ continue; } - if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) + if ((wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104) || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo()) ) { continue; } @@ -599,10 +595,6 @@ News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); continue; } - if (wrkMastMapper.setSteEmpty(wrkMast.getWrkNo()) == 0) { - News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); - continue; - } // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴� LocMast locMast = locMastService.selectById(sourceLocNo); @@ -618,6 +610,137 @@ } } + } + } + + /** + * 鐩樼偣鍐嶅叆搴� + */ + @Transactional + public synchronized void stnToCrnStnPlate(){ + for (DevpSlave devp : slaveProperties.getDevp()) { + // 閬嶅巻鎷f枡鍏ュ簱鍙� + for (DevpSlave.Sta pickSta : devp.getPickInSta()) { +// if (pickSta.getStaNo() == 325 || pickSta.getStaNo() == 331 || pickSta.getStaNo() == 333 || pickSta.getStaNo() == 339) { +// continue; +// } + + // 鑾峰彇鎷f枡鍏ュ簱绔欎俊鎭� + DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); + StaProtocol staProtocol = devpThread.getStation().get(pickSta.getStaNo()); + if (staProtocol == null) { + continue; + } else { + staProtocol = staProtocol.clone(); + } + if (staProtocol.isAutoing() + && staProtocol.isLoading() + && staProtocol.isInEnable() + && (staProtocol.getWorkNo() > 0) + && staProtocol.isPakMk()){ + + // 鑾峰彇鏉$爜鎵弿浠俊鎭� + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, pickSta.getBarcode()); + if (barcodeThread == null) { + continue; + } + String barcode = barcodeThread.getBarcode(); + if(Cools.isEmpty(barcode)) { + continue; + } + if("NG".endsWith(barcode) || "NoRead".equals(barcode) || "empty".equals(barcode)) { + continue; + } + + WrkMast wrkMast = wrkMastMapper.selectByWorkNo(staProtocol.getWorkNo().intValue()); + if (wrkMast == null) {//鎵句笉鍒板伐浣滄。 + continue; + } + + if ((wrkMast.getIoType() != 107) + || Cools.isEmpty(wrkMast.getStaNo()) || Cools.isEmpty(wrkMast.getSourceStaNo()) ) { + continue; + } + + //*********************鍚屽簱浣嶇粍鏍¢獙********************* + boolean flag = false; + String th = ""; + List<String> innerLoc = Utils.getGroupInnerLoc(wrkMast.getSourceLocNo()); + for (String loc : innerLoc) { + LocMast locMast = locMastService.selectById(loc); + if (locMast == null) { + continue; + } + + if (!locMast.getLocSts().equals("F")) { + flag = true; + th = loc + "搴撲綅瀛樺湪鏈洖搴撲换鍔�"; + break; + } + } + if (flag) { + News.info(th); + continue; + } + //*********************鍚屽簱浣嶇粍鏍¢獙********************* + + // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗� + if (wrkMastMapper.saveWrkMastLog(wrkMast.getWrkNo()) == 0) { + News.info(wrkMast.getWrkNo() + "淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�"); + continue; + } + + //鐩樼偣鎵炬柊搴撲綅 + try { + LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo());//婧愬簱浣� + SearchLocParam param = new SearchLocParam(); + param.setWrkNo(wrkMast.getWrkNo()); + param.setBarcode(barcode); + param.setIoType(107);//鐩樼偣 + param.setSourceStaNo(wrkMast.getStaNo()); + param.setLocType1(locMast.getLocType1()); + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/pakin/loc/v1") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) { + StartupDto dto = jsonObject.getObject("data", StartupDto.class); + + //鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯 + LiftStaProtocol liftStaProtocol = NyLiftUtils.getLiftStaByLev(pickSta.getLiftNo(), Utils.getLev(dto.getLocNo())); + if (liftStaProtocol == null) { + News.info(wrkMast.getWrkNo() + "鑾峰彇鍥炲簱鎻愬崌鏈虹洰鏍囩珯澶辫触"); + continue; + } + + // 鏇存柊宸ヤ綔妗f暟鎹姸鎬� + wrkMast.setIoType(wrkMast.getIoType() - 50); // 鍏ュ嚭搴撶被鍨�: 107->57 + wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵��: 2.璁惧涓婅蛋 + wrkMast.setSourceStaNo(dto.getSourceStaNo()); // 婧愮珯 + wrkMast.setStaNo(liftStaProtocol.getStaNo());//鐩爣绔� + wrkMast.setLocNo(dto.getLocNo()); // 鐩爣搴撲綅 + wrkMast.setShuttleNo(null); // 绌挎杞︽竻绌� + wrkMast.setLiftNo(null);// 鎻愬崌鏈烘竻绌� + wrkMast.setModiTime(new Date()); + if (wrkMastMapper.updateById(wrkMast) == 0) { + News.info(wrkMast.getWrkNo() + "鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); + continue; + } + + } else if (code == 500){ + News.error("璇锋眰鎺ュ彛澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", wmsUrl + "/rpc/pakin/loc/v1", JSON.toJSONString(param), response); + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + + } + } } } @@ -1426,6 +1549,8 @@ return false;//绔欑偣涓嶅彲鍏� } } + }else { + return false; } //鍒ゆ柇鎻愬崌鏈烘暣涓笁妤兼槸鍚﹂兘澶勪簬鍏ュ簱妯″紡 diff --git a/src/main/java/com/zy/core/MainProcess.java b/src/main/java/com/zy/core/MainProcess.java index b259c18..2afd5de 100644 --- a/src/main/java/com/zy/core/MainProcess.java +++ b/src/main/java/com/zy/core/MainProcess.java @@ -50,10 +50,12 @@ //鍒濆鍖栧疄鏃跺湴鍥� mainService.initRealtimeBasMap(); - // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱 + // 鎷f枡銆佸苟鏉垮啀鍏ュ簱 mainService.stnToCrnStnPick(); - // 鎷f枡銆佸苟鏉裤�佺洏鐐瑰啀鍏ュ簱(325銆�331銆�333銆�339) + // 鎷f枡銆佸苟鏉垮啀鍏ュ簱(325銆�331銆�333銆�339) mainService.stnToCrnStnPick2(); + // 鐩樼偣鍐嶅叆搴� + mainService.stnToCrnStnPlate(); // 鍏ュ簱 ===>> 鍥涘悜绌挎杞﹀叆搴撲綔涓氫笅鍙� mainService.shuttleInExecute(); // 鍑哄簱 ===>> 鍥涘悜绌挎杞﹀嚭搴撲綔涓氫笅鍙� -- Gitblit v1.9.1