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