From 42f3380a98fff04674cf4ef95ea5e99f5c54f1fd Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期六, 21 十二月 2024 12:07:36 +0800
Subject: [PATCH] #地图文件bug尝试修复

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 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 1786c7a..0e18857 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -114,6 +114,8 @@
     private WrkDetlLogService wrkDetlLogService;
     @Autowired
     private MatService matService;
+    @Autowired
+    private NavigateMapData navigateMapData;
 
 
     /**
@@ -888,7 +890,7 @@
 //////                            devpThread.setPakMk(staProtocol.getSiteId(), false);
 //////                            boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol));
 //////                            if (!result) {
-//////                                News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿锛歿}]", devp.getId());
+//////                                News.error("鍙戝竷鍛戒护鑷宠緭閫佺嚎闃熷垪澶辫触锛侊紒锛� [plc缂栧彿{}]", devp.getId());
 //////                            }
 ////
 ////                            barcodeThread.setBarcode("");//娓呯悊鏉$爜
@@ -938,8 +940,7 @@
                     if (basMap == null) {
                         //鏁版嵁搴撲腑涔熶笉瀛樺湪鍦板浘鏁版嵁锛屼粠鍦板浘鏂囦欢涓幏鍙�
                         //杞藉叆鍦板浘
-                        NavigateMapData mapData = new NavigateMapData(i);
-                        List<List<MapNode>> lists = mapData.getJsonData(-1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
+                        List<List<MapNode>> lists = navigateMapData.getJsonData(i, -1, null, null);//鑾峰彇瀹屾暣鍦板浘(鍖呮嫭鍏ュ簱鍑哄簱)
 
                         //瀛樺叆鏁版嵁搴�
                         basMap = new BasMap();
@@ -2515,7 +2516,7 @@
     /**
      * AGV琛ヨ揣 => 鐢熸垚鍏ュ簱閫氱煡妗�
      */
-    public void robotGenerateAgvTask() {
+    public synchronized void robotGenerateAgvTask() {
         try {
             //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -2541,10 +2542,13 @@
                         //鍒ゆ柇鏈烘鑷傛嫞鏂欑珯鏄惁绌洪棽
                         StaProtocol staProtocol303 = devpThread.getStation().get(303);
                         StaProtocol staProtocol317 = devpThread.getStation().get(317);
-                        if (staProtocol303.isAutoing() && !staProtocol303.isLoading()) {
+
+                        List<WrkMast> wrkMasts303 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 25).eq("sta_no", 303));
+                        List<WrkMast> wrkMasts317 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("wrk_sts", 25).eq("sta_no", 317));
+                        if (staProtocol303.isAutoing() && !staProtocol303.isLoading() && wrkMasts303.isEmpty()) {
                             //鑷姩銆佹棤鐗�
                             targetSta = (short) 303;
-                        } else if (staProtocol317.isAutoing() && !staProtocol317.isLoading()) {
+                        } else if (staProtocol317.isAutoing() && !staProtocol317.isLoading() && wrkMasts317.isEmpty()) {
                             //鑷姩銆佹棤鐗�
                             targetSta = (short) 317;
                         } else {
@@ -2615,7 +2619,7 @@
     /**
      * AGV琛ヨ揣 => 鏈烘鑷傛嫞鏂�
      */
-    public void agvRestockByRobot() {
+    public synchronized void agvRestockByRobot() {
         try {
             //妫�娴�300绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗┿�佸伐浣滃彿
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -2676,7 +2680,7 @@
     /**
      * AGV琛ヨ揣(閫氱煡AGV鍙栬揣)
      */
-    public void agvRestockInto() {
+    public synchronized void agvRestockInto() {
         try {
             //妫�娴�309鍜�312绔欐槸鍚﹁嚜鍔ㄣ�佹湁鐗�
             for (DevpSlave devp : slaveProperties.getDevp()) {
@@ -2697,8 +2701,11 @@
                     String barcode = barcodeThread.getBarcode();
                     if (!Cools.isEmpty(barcode)) {
                         //閫氱煡AGV鍙栬揣
-                        agvRestockCall("301-1", barcode);
-                        log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
+                        boolean result = agvRestockCall("301-1", barcode);
+                        log.info("鏈烘鑷傞�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
+                        if (result) {
+                            barcodeThread.setBarcode("");
+                        }
                     }
                 }
 
@@ -2711,8 +2718,11 @@
                     String barcode = barcodeThread.getBarcode();
                     if (!Cools.isEmpty(barcode)) {
                         //閫氱煡AGV鍙栬揣
-                        agvRestockCall("302-1", barcode);
-                        log.info("閫氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
+                        boolean result = agvRestockCall("302-1", barcode);
+                        log.info("鏈烘鑷傞�氱煡AGV鍙栬揣锛屾潯鐮佸彿锛�" + barcode);
+                        if (result) {
+                            barcodeThread.setBarcode("");
+                        }
                     }
                 }
             }
@@ -2774,7 +2784,7 @@
     /**
      * AGV琛ヨ揣(鎮寕绾块�氱煡AGV鍙栬揣)
      */
-    public void agvRestockIntoByHangingWire() {
+    public synchronized void agvRestockIntoByHangingWire() {
         try {
             //妫�娴�350鍜�351鎵爜鍣�
             int[] barcodeStaNo = {11, 12,14,16,18,20};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒
@@ -2820,7 +2830,7 @@
     /**
      * AGV鎷f枡绔欑偣淇℃伅
      */
-    public void agvCurrentContainerCodeInfoWire() {
+    public synchronized void agvCurrentContainerCodeInfoWire() {
         try {
             //妫�娴�350鍜�351鎵爜鍣�
             int[] barcodeStaNo = {13, 15,17,19};//11 => 350绔欐壂鐮佸櫒,12 => 351绔欐壂鐮佸櫒

--
Gitblit v1.9.1