From 420cb1d10f9dae64fb412976903ecbc29b03555b Mon Sep 17 00:00:00 2001
From: LSH
Date: 星期四, 28 十二月 2023 10:12:18 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  239 +++++++++++++++++++++++++++++++----------------------------
 1 files changed, 125 insertions(+), 114 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 77c8773..f81702f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -197,12 +197,12 @@
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
 
                             barcodeThread.setBarcode("");
-                            staProtocol.setWorkNo(dto.getWorkNo().shortValue());
+                            staProtocol.setWorkNo(dto.getWorkNo());
 
                             if(Cools.isEmpty(dto.getRgvNo()) || dto.getRgvNo() <= 0) {
-                                staProtocol.setStaNo(dto.getStaNo().shortValue());
+                                staProtocol.setStaNo(dto.getStaNo());
                             } else {//濡傛灉瀛樺湪RGV缂栧彿锛岃鏄庨渶瑕丷GV鎺ラ┏锛屽厛涓嬪彂浠诲姟鍒癛GV婧愮珯
-                                staProtocol.setStaNo(dto.getRgvSstaNo().shortValue());
+                                staProtocol.setStaNo(dto.getRgvSstaNo());
                             }
 
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
@@ -263,8 +263,8 @@
                     // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     if (result) {
@@ -393,8 +393,8 @@
                     }
 
                     // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                     if (!result) {
@@ -448,8 +448,8 @@
                         // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
 
                         // 涓嬪彂绔欑偣淇℃伅
-                        staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                        staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                        staProtocol.setWorkNo(wrkMast.getWrkNo());
+                        staProtocol.setStaNo(wrkMast.getStaNo());
                         if (!MessageQueue.offer(SlaveType.Devp, crnStn.getDevpPlcId(), new Task(2, staProtocol))) {
                             continue;
                         }
@@ -475,50 +475,54 @@
      * 鍏ュ嚭搴�  ===>>  鍫嗗灈鏈哄叆鍑哄簱浣滀笟涓嬪彂
      */
     public synchronized void crnIoExecute() {
-        for (CrnSlave crn : slaveProperties.getCrn()) {
-            // 鑾峰彇鍫嗗灈鏈轰俊鎭�
-            CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
-            CrnProtocol crnProtocol = crnThread.getCrnProtocol();
-            if (crnProtocol == null) {
-                continue;
-            }
-            BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
-            if (basCrnp == null) {
-                log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
-                continue;
-            }
+        try{
+            for (CrnSlave crn : slaveProperties.getCrn()) {
+                // 鑾峰彇鍫嗗灈鏈轰俊鎭�
+                CrnThread crnThread = (CrnThread) SlaveConnection.get(SlaveType.Crn, crn.getId());
+                CrnProtocol crnProtocol = crnThread.getCrnProtocol();
+                if (crnProtocol == null) {
+                    continue;
+                }
+                BasCrnp basCrnp = basCrnpService.selectById(crn.getId());
+                if (basCrnp == null) {
+                    log.error("{}鍙峰爢鍨涙満灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", crn.getId());
+                    continue;
+                }
 
-            // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
-            if (crnProtocol.getStatusType() == CrnStatusType.IDLE
-                    && crnProtocol.getTaskNo() == 0
-                    && crnProtocol.getModeType() == CrnModeType.AUTO
-                    && crnProtocol.getLoaded() == 0
-                    && crnProtocol.getForkPos() == 0) {
-                // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
-                if (crnProtocol.getLastIo().equals("I")) {
-                    if (basCrnp.getInEnable().equals("Y")) {
-                        this.crnStnToLoc1(crn, crnProtocol); //  鍏ュ簱
-                        crnProtocol.setLastIo("O");
-                    } else if (basCrnp.getOutEnable().equals("Y")) {
-                        this.locToCrnStn1(crn, crnProtocol); //  鍑哄簱
-                        crnProtocol.setLastIo("I");
+                // 鍙湁褰撳爢鍨涙満绌洪棽 骞朵笖 鏃犱换鍔℃椂鎵嶇户缁墽琛�
+                if (crnProtocol.getStatusType() == CrnStatusType.IDLE
+                        && crnProtocol.getTaskNo() == 0
+                        && crnProtocol.getModeType() == CrnModeType.AUTO
+                        && crnProtocol.getLoaded() == 0
+                        && crnProtocol.getForkPos() == 0) {
+                    // 濡傛灉鏈�杩戜竴娆℃槸鍏ュ簱妯″紡
+                    if (crnProtocol.getLastIo().equals("I")) {
+                        if (basCrnp.getInEnable().equals("Y")) {
+                            this.crnStnToLoc1(crn, crnProtocol); //  鍏ュ簱
+                            crnProtocol.setLastIo("O");
+                        } else if (basCrnp.getOutEnable().equals("Y")) {
+                            this.locToCrnStn1(crn, crnProtocol); //  鍑哄簱
+                            crnProtocol.setLastIo("I");
+                        }
+                    }
+                    // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
+                    else if (crnProtocol.getLastIo().equals("O")) {
+                        if (basCrnp.getOutEnable().equals("Y")) {
+                            this.locToCrnStn1(crn, crnProtocol); //  鍑哄簱
+                            crnProtocol.setLastIo("I");
+                        } else if (basCrnp.getInEnable().equals("Y")) {
+                            this.crnStnToLoc1(crn, crnProtocol); //  鍏ュ簱
+                            crnProtocol.setLastIo("O");
+                        }
                     }
                 }
-                // 濡傛灉鏈�杩戜竴娆℃槸鍑哄簱妯″紡
-                else if (crnProtocol.getLastIo().equals("O")) {
-                    if (basCrnp.getOutEnable().equals("Y")) {
-                        this.locToCrnStn1(crn, crnProtocol); //  鍑哄簱
-                        crnProtocol.setLastIo("I");
-                    } else if (basCrnp.getInEnable().equals("Y")) {
-                        this.crnStnToLoc1(crn, crnProtocol); //  鍏ュ簱
-                        crnProtocol.setLastIo("O");
-                    }
-                }
-            }
-            // 搴撲綅绉昏浆
-            this.locToLoc(crn, crnProtocol);
+                // 搴撲綅绉昏浆
+                this.locToLoc(crn, crnProtocol);
 //            this.crnRebackHp(crnProtocol, crnThread);
 
+            }
+        }catch (Exception e){
+            log.error("鍫嗗灈鏈哄嚭鍏ュ簱涓嬪彂鎶ラ敊"+e);
         }
     }
 
@@ -526,60 +530,65 @@
      * 鎼滅储RGV杞︺�傞�氳繃鐩爣绔欐悳绱㈠摢鍙拌溅鍙敤
      */
     public synchronized Integer searchRgvNo(Integer staNo) {
-        BasDevp basDevp = basDevpService.selectById(staNo);
-        if (basDevp == null) {
-            return null;//鐩爣绔欎笉瀛樺湪
-        }
-        //璺緞鍊�
-        int path = basDevp.getLocType3().intValue();
-
-        ArrayList<RgvThread> list = new ArrayList<>();
-        for (RgvSlave rgv : slaveProperties.getRgv()) {
-            // 鑾峰彇RGV淇℃伅
-            RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
-            RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
-            if (rgvProtocol == null) {
-
-                continue;
+        try{
+            BasDevp basDevp = basDevpService.selectById(staNo);
+            if (basDevp == null) {
+                return null;//鐩爣绔欎笉瀛樺湪
             }
-            BasRgv basRgv = basRgvService.selectById(rgv.getId());
-            if (basRgv == null) {
-                log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgv.getId());
-                continue;
-            }
+            //璺緞鍊�
+            int path = basDevp.getLocType3().intValue();
 
-            list.add(rgvThread);
-        }
+            ArrayList<RgvThread> list = new ArrayList<>();
+            for (RgvSlave rgv : slaveProperties.getRgv()) {
+                // 鑾峰彇RGV淇℃伅
+                RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, rgv.getId());
+                RgvProtocol rgvProtocol = rgvThread.getRgvProtocol();
+                if (rgvProtocol == null) {
 
-        if (list.size() > 1) {
-            //瓒呰繃涓ゅ彴杞︼紝鎸夌収閰嶇疆鐨勮鍒欒繘琛屽垎閰�
-            for (RgvThread rgvThread : list) {
-                //鑾峰彇杞﹁締閰嶇疆鐨勮矾寰勮鍒�
-                BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(rgvThread.getSlave().getId());
-                if (basRgvPath == null) {
                     continue;
                 }
-                //鐩爣绔欐槸鍚﹀寘鍚綋鍓嶈矾寰勪腑
+                BasRgv basRgv = basRgvService.selectById(rgv.getId());
+                if (basRgv == null) {
+                    log.error("{}鍙稲GV灏氭湭鍦ㄦ暟鎹簱杩涜缁存姢锛�", rgv.getId());
+                    continue;
+                }
+
+                list.add(rgvThread);
+            }
+
+            if (list.size() > 1) {
+                //瓒呰繃涓ゅ彴杞︼紝鎸夌収閰嶇疆鐨勮鍒欒繘琛屽垎閰�
+                for (RgvThread rgvThread : list) {
+                    //鑾峰彇杞﹁締閰嶇疆鐨勮矾寰勮鍒�
+                    BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(rgvThread.getSlave().getId());
+                    if (basRgvPath == null) {
+                        continue;
+                    }
+                    //鐩爣绔欐槸鍚﹀寘鍚綋鍓嶈矾寰勪腑
+                    List<Integer> rgvPath = JSON.parseArray(basRgvPath.getPath(), Integer.class);
+                    if (rgvPath.contains(path)) {
+                        //褰撳墠璺緞涓寘鍚洰鏍囩珯锛屽垯閫夊畾杩欏彴杞�
+                        return rgvThread.getSlave().getId();
+                    }
+                }
+            }else {
+                //灏忎簬鎴栫瓑浜�1鍙拌溅锛屽垎閰嶅叏璺緞
+                BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(0);//鑾峰彇榛樿璺緞
+                if (basRgvPath == null) {
+                    return null;
+                }
                 List<Integer> rgvPath = JSON.parseArray(basRgvPath.getPath(), Integer.class);
                 if (rgvPath.contains(path)) {
                     //褰撳墠璺緞涓寘鍚洰鏍囩珯锛屽垯閫夊畾杩欏彴杞�
-                    return rgvThread.getSlave().getId();
+                    return list.get(0).getSlave().getId();
                 }
             }
-        }else {
-            //灏忎簬鎴栫瓑浜�1鍙拌溅锛屽垎閰嶅叏璺緞
-            BasRgvPath basRgvPath = basRgvPathService.selectByRgvNo(0);//鑾峰彇榛樿璺緞
-            if (basRgvPath == null) {
-                return null;
-            }
-            List<Integer> rgvPath = JSON.parseArray(basRgvPath.getPath(), Integer.class);
-            if (rgvPath.contains(path)) {
-                //褰撳墠璺緞涓寘鍚洰鏍囩珯锛屽垯閫夊畾杩欏彴杞�
-                return list.get(0).getSlave().getId();
-            }
-        }
 
-        return null;
+            return null;
+        }catch (Exception e){
+            log.error("鎼滅储RGV杞︺�傞�氳繃鐩爣绔欐悳绱㈠摢鍙拌溅鍙敤"+e);
+            return null;
+        }
     }
 
 //    /**
@@ -2350,8 +2359,8 @@
                                 && rgvProtocol.statusType1 == RgvStatusType.WAITING) {
                             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                             // 涓嬪彂绔欑偣淇℃伅
-                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                            staProtocol.setWorkNo(wrkMast.getWrkNo());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
                             if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) {
                                 continue;
                             }
@@ -2371,8 +2380,8 @@
                                 && rgvProtocol.statusType2 == RgvStatusType.WAITING) {
                             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                             // 涓嬪彂绔欑偣淇℃伅
-                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                            staProtocol.setWorkNo(wrkMast.getWrkNo());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
                             if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) {
                                 continue;
                             }
@@ -2426,8 +2435,8 @@
                                 && rgvProtocol.statusType1 == RgvStatusType.WAITING) {
                             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                             // 涓嬪彂绔欑偣淇℃伅
-                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                            staProtocol.setWorkNo(wrkMast.getWrkNo());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
                             if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) {
                                 continue;
                             }
@@ -2447,8 +2456,8 @@
                                 && rgvProtocol.statusType2 == RgvStatusType.WAITING) {
                             // 鍛戒护涓嬪彂鍖� --------------------------------------------------------------------------
                             // 涓嬪彂绔欑偣淇℃伅
-                            staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                            staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                            staProtocol.setWorkNo(wrkMast.getWrkNo());
+                            staProtocol.setStaNo(wrkMast.getStaNo());
                             if (!MessageQueue.offer(SlaveType.Devp, rgvStn.getDevpPlcId(), new Task(2, staProtocol))) {
                                 continue;
                             }
@@ -2871,8 +2880,8 @@
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
 
                             // 鏇存柊绔欑偣淇℃伅 涓� 涓嬪彂plc鍛戒护
-                            staProtocol.setWorkNo(dto.getWorkNo().shortValue());
-                            staProtocol.setStaNo(dto.getStaNo().shortValue());
+                            staProtocol.setWorkNo(dto.getWorkNo());
+                            staProtocol.setStaNo(dto.getStaNo());
                             devpThread.setPakMk(staProtocol.getSiteId(), false);
                             boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
                             if (!result) {
@@ -3676,9 +3685,8 @@
                         && staProtocol.getWorkNo() == 9992
                 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
 
-                    staProtocol.setWorkNo((short)9999);
-                    staNo = staNo + 1;
-                    staProtocol.setStaNo((short)staNo);
+                    staProtocol.setWorkNo(9999);
+                    staProtocol.setStaNo(staNo + 1);
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
                     if (!result) {
@@ -3688,8 +3696,9 @@
                 }
             }
         }catch (Exception e){
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error("鍏朵粬  ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝ワ紙鍏ュ簱鍓嶆壂鐮侊級"+e);
         }
     }
     /**
@@ -3732,8 +3741,8 @@
                         && staProtocol.getWorkNo() >= 9990
                 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
 
-                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
                     if (!result) {
@@ -3745,8 +3754,9 @@
                 }
             }
         }catch (Exception e){
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error("鍏朵粬  ===>> 鐮佸灈瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e);
         }
     }
     /**
@@ -3791,8 +3801,8 @@
                         && staProtocol.isLoading()
                 ) {//&& staProtocol.isPakMk() && !Cools.isEmpty(barcode)) {
 
-                    staProtocol.setWorkNo(wrkMast.getWrkNo().shortValue());
-                    staProtocol.setStaNo(wrkMast.getStaNo().shortValue());
+                    staProtocol.setWorkNo(wrkMast.getWrkNo());
+                    staProtocol.setStaNo(wrkMast.getStaNo());
                     devpThread.setPakMk(staProtocol.getSiteId(), false);
                     boolean result = MessageQueue.offer(SlaveType.Devp, devpThread.getSlave().getId(), new Task(2, staProtocol));
                     if (!result) {
@@ -3804,8 +3814,9 @@
                 }
             }
         }catch (Exception e){
-            e.printStackTrace();
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+//            e.printStackTrace();
+//            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            log.error("鍏朵粬  ===>> 璐存爣瀹屾垚椹卞姩鎵樼洏杩涘叆涓嬩竴姝�"+e);
         }
     }
 

--
Gitblit v1.9.1