From e53d36a01183ebe660ab2d77c9bcd4e0ab6c42a3 Mon Sep 17 00:00:00 2001 From: zyx <zyx123456> Date: 星期二, 06 二月 2024 19:20:06 +0800 Subject: [PATCH] #AGV 输送线扫码器扫描 --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 95 +++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 86 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 492a301..499e519 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -2633,9 +2633,10 @@ } if (wrkMast.getInvWh() == null) { - wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔� - if (wrkMastMapper.updateById(wrkMast) > 0) { - RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "303"); + boolean result = RobotUtils.sendTask(staProtocol303.getWorkNo().toString(), wrkDetls.size(), "303"); + if (result) { + wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔� + wrkMastMapper.updateById(wrkMast); } } } @@ -2652,9 +2653,10 @@ continue; } if (wrkMast.getInvWh() == null) { - wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔� - if (wrkMastMapper.updateById(wrkMast) > 0) { - RobotUtils.sendTask(staProtocol317.getWorkNo().toString(), wrkDetls.size(), "317"); + boolean result = RobotUtils.sendTask(staProtocol317.getWorkNo().toString(), wrkDetls.size(), "317"); + if (result) { + wrkMast.setInvWh("Y");//鏍囪宸茬粡涓嬪彂鏈烘鑷備换鍔� + wrkMastMapper.updateById(wrkMast); } } } @@ -2737,13 +2739,38 @@ return false; } + //閫氱煡WMS褰撳墠鎷f枡绔欑偣淇℃伅 + private boolean agvCureentCall(String staNo, String barcode) { + try { + HashMap<String, Object> param = new HashMap<>(); + param.put("devNo", staNo); + param.put("containerCode", barcode); + String response = new HttpHandler.Builder() + .setUri(wmsUrl) + .setPath("/rpc/current/containerCode") + .setJson(JSON.toJSONString(param)) + .build() + .doPost(); + JSONObject jsonObject = JSON.parseObject(response); + News.info("鎮寕绾匡紝WMS杩斿洖缁撴灉锛�" + jsonObject); + Integer code = jsonObject.getInteger("code"); + if (code.equals(200)) {//鍛煎彨AGV + return true; + } + } catch (Exception e) { + e.printStackTrace(); + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + } + return false; + } + /** * AGV琛ヨ揣(鎮寕绾块�氱煡AGV鍙栬揣) */ public void agvRestockIntoByHangingWire() { try { //妫�娴�350鍜�351鎵爜鍣� - int[] barcodeStaNo = {11, 12};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 + int[] barcodeStaNo = {11, 12,14,16,18,20};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 for (int staNo : barcodeStaNo) { // 鑾峰彇鏉$爜鎵弿浠俊鎭� BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, staNo); @@ -2759,11 +2786,61 @@ String agvStaNo = null; if (staNo == 11) { agvStaNo = "303-1"; - } else { + } else if(staNo == 12){ agvStaNo = "304-1"; + } else if(staNo == 14){ + agvStaNo = "311-1"; + } else if(staNo == 16){ + agvStaNo = "313-1"; + } else if(staNo == 18){ + agvStaNo = "315-1"; + } else if(staNo == 20){ + agvStaNo = "317-1"; } //閫氱煡AGV鍙栬揣 boolean result = agvRestockCall(agvStaNo, barcode); + if (result) { + barcodeThread.setBarcode(""); + } + log.info(barcodeThread.getSlave().getId() + "鍙锋壂鐮佸櫒锛岄�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + /** + * AGV鎷f枡绔欑偣淇℃伅 + */ + public void agvCurrentContainerCodeInfoWire() { + try { + //妫�娴�350鍜�351鎵爜鍣� + int[] barcodeStaNo = {13, 15,17,19};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒 + for (int staNo : barcodeStaNo) { + // 鑾峰彇鏉$爜鎵弿浠俊鎭� + BarcodeThread barcodeThread = (BarcodeThread) SlaveConnection.get(SlaveType.Barcode, staNo); + if (barcodeThread == null) { + continue; + } + String barcode = barcodeThread.getBarcode(); + if (!Cools.isEmpty(barcode)) { + if (barcode.contains("NoRead")) { + continue; + } + + String agvStaNo = null; + if (staNo == 13) { + agvStaNo = "310-1"; + } else if(staNo == 15){ + agvStaNo = "312-1"; + } else if(staNo == 17){ + agvStaNo = "314-1"; + } else if(staNo == 19){ + agvStaNo = "316-1"; + } + //閫氱煡WMS褰撳墠瀹瑰櫒鐮� + boolean result = agvCureentCall(agvStaNo, barcode); if (result) { barcodeThread.setBarcode(""); } @@ -2968,7 +3045,7 @@ if (wrkDetl.getSuppCode() != null) { suppCode = wrkDetl.getSuppCode(); } - ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), 0D, wrkDetl.getSpecs(), suppCode, wrkDetl.getOrderNo())); + ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getAnfme(), (locDetl.getAnfme() - conut), wrkDetl.getSpecs(), suppCode, wrkDetl.getOrderNo())); } } -- Gitblit v1.9.1