From 1bfa44facba36747d1caffab6bff986ccd7f36a9 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期二, 25 十一月 2025 15:13:15 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java        |   57 ++++++++-----
 src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java |   29 ++++--
 src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java |  134 ++++++++++++++++++++-------------
 3 files changed, 134 insertions(+), 86 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
index 851a3b5..575ba5d 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvBindCtnrAndBinParam.java
@@ -36,7 +36,7 @@
                 return;
             case 1:
                 getAgvTaskAssignmentParam0(basAgvMast);
-                indBind = "1";
+                indBind = "0";
                 return;
             case 2:
                 getAgvTaskAssignmentParam1(basAgvMast);
@@ -44,7 +44,7 @@
                 return;
             case 3:
                 getAgvTaskAssignmentParam1(basAgvMast);
-                indBind = "0";
+                indBind = "1";
                 return;
             default:
                 return;
@@ -55,19 +55,28 @@
     public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
         this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
-        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
-        this.positionCode = basAgvLocNoSou.getAgvLocNo();
-        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
-        this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
+        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(
+                new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo())
+        );
+        this.positionCode = basAgvLocNoSou != null ? basAgvLocNoSou.getAgvLocNo() : "";
+        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(
+                new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo())
+        );
+        this.stgBinCode = basAgvLocNoEnd != null ? basAgvLocNoEnd.getAgvLocNo() : "";
     }
 
     public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
         this.reqCode = basAgvMast.getTaskNo() + "-" + System.currentTimeMillis();
-        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
-        this.positionCode = basAgvLocNoSou.getAgvLocNo();
-        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
-        this.stgBinCode = basAgvLocNoEnd.getAgvLocNo();
+//        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(
+//                new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo())
+//        );
+//        this.positionCode = basAgvLocNoSou != null ? basAgvLocNoSou.getAgvLocNo() : "";
+        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(
+                new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo())
+        );
+        this.stgBinCode = basAgvLocNoEnd != null ? basAgvLocNoEnd.getAgvLocNo() : "";
+
     }
 
 }
diff --git a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
index 8922962..ea8c94f 100644
--- a/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/AgvTaskAssignmentParam.java
@@ -35,17 +35,30 @@
         switch (basAgvMast.getIoType()){
             case 0:
                 getAgvTaskAssignmentParam0(basAgvMast);
-                taskTyp = "1FQ3";
+                if(basAgvMast.getFloorNo() == 1){
+                    taskTyp = "1FQ3";
+
+                }else if(basAgvMast.getFloorNo() == 2){
+                    taskTyp = "2FRK";
+                }else{
+                    taskTyp = "4FRK";
+                }
                 ctnrTyp = "1";
                 return;
             case 1:
                 getAgvTaskAssignmentParam1(basAgvMast);
-//                taskTyp = "1FQ2";
+                taskTyp = basAgvMast.getDevpId()==1?"1FYK":"";
                 ctnrTyp = "1";
                 return;
             case 2:
                 getAgvTaskAssignmentParam2(basAgvMast);
-                taskTyp = "1FQ1";
+                if(basAgvMast.getFloorNo() == 1){
+                    taskTyp = "1FQ1";
+                }else if(basAgvMast.getFloorNo() == 2){
+                    taskTyp = "2FCK";
+                }else{
+                    taskTyp = "4FCK";
+                }
                 ctnrTyp = "1";
                 return;
             case 3:
@@ -61,67 +74,82 @@
 
     public void getAgvTaskAssignmentParam0(BasAgvMast basAgvMast) {
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
-        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
-
-        SnowflakeIdWorker snowflakeIdWorker = SpringUtils.getBean(SnowflakeIdWorker.class);
-        long nextId = snowflakeIdWorker.nextId();
-        this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
-        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
-        positionCodePathClassEnd.setPositionCode(basAgvLocNoSou.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassEnd);
-
-        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
-        positionCodePathClassSou.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassSou);
-
-
+        this.reqCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
+        this.taskCode = basAgvMast.getTaskNo() + "-" + basAgvMast.getTimestamp();
+        String sourceAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
+        PositionCodePathClass sou = new PositionCodePathClass();
+        sou.setPositionCode(sourceAgvLoc);
+        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        this.positionCodePath.add(sou);
+        String endAgvLoc = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
+        PositionCodePathClass end = new PositionCodePathClass();
+        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        end.setPositionCode(endAgvLoc);
+        this.positionCodePath.add(end);
     }
+
     public void getAgvTaskAssignmentParam1(BasAgvMast basAgvMast) {
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
-        this.reqCode = basAgvMast.getTaskNo().toString();
+        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
-        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getSourceLocNo()));
-        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassSou);
-        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()));
-        positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassEnd);
-
+        String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getSourceLocNo());
+        PositionCodePathClass sou = new PositionCodePathClass();
+        sou.setPositionCode(agvLocSou);
+        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        this.positionCodePath.add(sou);
+        String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
+        PositionCodePathClass end = new PositionCodePathClass();
+        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        end.setPositionCode(agvLocEnd);
+        this.positionCodePath.add(end);
     }
+
     public void getAgvTaskAssignmentParam2(BasAgvMast basAgvMast) {
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
-        this.reqCode = basAgvMast.getTaskNo().toString();
+        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
-        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoSou= basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
-        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassSou);
-        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("loc_no", basAgvMast.getLocNo()));
-        positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassEnd);
-
+        String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
+        PositionCodePathClass sou = new PositionCodePathClass();
+        sou.setPositionCode(agvLocSou);
+        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        this.positionCodePath.add(sou);
+        String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "loc_no", basAgvMast.getLocNo());
+        PositionCodePathClass end = new PositionCodePathClass();
+        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        end.setPositionCode(agvLocEnd);
+        this.positionCodePath.add(end);
     }
+
     public void getAgvTaskAssignmentParam3(BasAgvMast basAgvMast) {
         BasAgvLocNoService basAgvLocNoService = SpringUtils.getBean(BasAgvLocNoService.class);
-
-        this.reqCode = basAgvMast.getTaskNo().toString();
+        this.reqCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
         this.taskCode = basAgvMast.getTaskNo()+"-"+basAgvMast.getTimestamp();
-        PositionCodePathClass positionCodePathClassSou = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoSou = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getSourceStaNo()));
-        positionCodePathClassSou.setPositionCode(basAgvLocNoSou.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassSou);
-        PositionCodePathClass positionCodePathClassEnd = new PositionCodePathClass();
-        BasAgvLocNo basAgvLocNoEnd = basAgvLocNoService.selectOne(new EntityWrapper<BasAgvLocNo>().eq("sta_no", basAgvMast.getStaNo()));
-        positionCodePathClassEnd.setPositionCode(basAgvLocNoEnd.getAgvLocNo());
-        this.positionCodePath.add(positionCodePathClassEnd);
-
+        String agvLocSou = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getSourceStaNo());
+        PositionCodePathClass sou = new PositionCodePathClass();
+        sou.setPositionCode(agvLocSou);
+        sou.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        this.positionCodePath.add(sou);
+        String agvLocEnd = getAgvLocNoOrDefault(basAgvLocNoService, "sta_no", basAgvMast.getStaNo());
+        PositionCodePathClass end = new PositionCodePathClass();
+        end.setType(basAgvMast.getFloorNo()!=1?"00":"05");
+        end.setPositionCode(agvLocEnd);
+        this.positionCodePath.add(end);
     }
+
+
+    private String getAgvLocNoOrDefault(BasAgvLocNoService service, String column, Object value) {
+        if (value == null) {
+            return null;
+        }
+        BasAgvLocNo record = service.selectOne(new EntityWrapper<BasAgvLocNo>().eq(column, value));
+
+        if (record != null && record.getAgvLocNo() != null) {
+            return record.getAgvLocNo();
+        }
+
+        // 鏌ヨ涓嶅埌灏辫繑鍥炲師鍊硷紝浣嗗繀椤昏浆鎹㈡垚 String
+        return String.valueOf(value);
+    }
+
+
 }
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 4053997..342a9b7 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -3569,9 +3569,9 @@
             if(rgvProtocol.getStatusType1() == RgvStatusType.WORKING){
                 rgvThread.setPaking(true);
             }
-            if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){
-                rgvThread.setPaking(true);
-            }
+//            if(rgvProtocol.getTaskNo1() == 0 && rgvProtocol.getTaskNo2() == 0 && rgvProtocol.getStatusType1() == RgvStatusType.IDLE){
+//                rgvThread.setPaking(true);
+//            }
             if(rgvProtocol.isLoaded1ing() && rgvProtocol.isLoaded2ing()){
                 basRgv.setPakAll("1");
                 basRgvService.updateById(basRgv);
@@ -4719,7 +4719,13 @@
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
+                            if(wrkMast.getStaNo()<2000){
+                                basAgvMast.setFloorNo(1);
+                            }else if(wrkMast.getStaNo()<4000){
+                                basAgvMast.setFloorNo(2);
+                            }else{
+                                basAgvMast.setFloorNo(3);
+                            }
                             basAgvMast.setTaskNo(wrkMast.getWrkNo());
                             basAgvMast.setSourceStaNo(outStaAgv.getStaNo());
                             basAgvMast.setLocNo(dto.getLocNo());
@@ -4814,12 +4820,12 @@
                         JSONObject jsonObject = JSON.parseObject(response);
                         if (jsonObject.getInteger("code").equals(200)) {
                             StartupDto dto = jsonObject.getObject("data", StartupDto.class);
-
                             basAgvMast.setTaskNo(outStaAgv.getStaNo());
                             basAgvMast.setSourceStaNo(outStaAgv.getStaNo());
                             basAgvMast.setLocNo(dto.getLocNo());
                             basAgvMast.setDevpId(devp.getId());
                             basAgvMast.setIoType(2);
+                            basAgvMast.setFloorNo(2);
 
                             basAgvMastService.insert(basAgvMast);
                         } else {
@@ -4951,7 +4957,7 @@
                 }
                 try{
                     // 鑾峰彇绔欑偣淇℃伅
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
                     StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getStaNo());
                     if (staProtocol == null) {
                         continue;
@@ -5025,7 +5031,7 @@
                 }
                 try{
                     // 鑾峰彇绔欑偣淇℃伅
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp,  basAgvMast.getFloorNo() !=1?2:1);
                     StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
                     if (staProtocol == null || !staProtocol.isLoading()) {
                         continue;
@@ -5038,11 +5044,25 @@
                             (basAgvMast.getSourceStaNo().equals(2033))){
 
                         AgvTaskAssignmentParam agvTaskAssignmentParam = new AgvTaskAssignmentParam(basAgvMast);
-                        AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
-                        WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
-                        agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
-                        ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvBindCtnrAndBinParam);
-                        if (resultBind.getCode()==200){
+                        if(basAgvMast.getFloorNo()==1) {
+                            WrkMast wrkMast = wrkMastService.selectByWrkNo(staProtocol.getWorkNo());
+                            AgvBindCtnrAndBinParam agvBindCtnrAndBinParam = new AgvBindCtnrAndBinParam(basAgvMast);
+                            agvBindCtnrAndBinParam.setCtnrCode(wrkMast.getBarcode());
+                            agvBindCtnrAndBinParam.setCtnrTyp("1");
+                            ReturnT<String> resultBind = new PostMesDataUtils().postMesDataAgv("AGV瀹瑰櫒缁戝畾瑙g粦", AgvConstant.AGV_URL, AgvConstant.AGV_CTNRANDBING, agvBindCtnrAndBinParam);
+                            if (resultBind.getCode()==200){
+                                //浠诲姟涓嬪彂
+                                ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
+                                if (result.getCode()==200){
+                                    basAgvMast.setStatus(1);
+                                    basAgvMastService.updateById(basAgvMast);
+                                } else {
+                                    agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                                }
+                            } else {
+                                agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
+                            }
+                        }else{
                             //浠诲姟涓嬪彂
                             ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
                             if (result.getCode()==200){
@@ -5051,17 +5071,8 @@
                             } else {
                                 agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
                             }
-                        } else {
-                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV瀹瑰櫒缁戝畾瑙g粦", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
                         }
-//                        //浠诲姟涓嬪彂
-//                        ReturnT<String> result = new PostMesDataUtils().postMesDataAgv("AGV浠诲姟涓嬪彂", AgvConstant.AGV_URL, AgvConstant.AGV_ADAPTOR, agvTaskAssignmentParam);
-//                        if (result.getCode()==200){
-//                            basAgvMast.setStatus(1);
-//                            basAgvMastService.updateById(basAgvMast);
-//                        } else {
-//                            agvTaskAssignmentCallApiLogSave(basAgvMast, "AGV浠诲姟涓嬪彂澶辫触", "浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"浠诲姟淇℃伅涓嬪彂澶辫触锛侊紒锛�", false);
-//                        }
+//
                     }
                 }  catch (Exception e){
                     log.error("浠诲姟鍙凤細"+basAgvMast.getTaskNo()+"====銆婣GV浠诲姟涓嬪彂澶辫触"+e.getMessage());
@@ -5084,7 +5095,7 @@
                 }
                 try{
                     // 鑾峰彇绔欑偣淇℃伅
-                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getDevpId());
+                    SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, basAgvMast.getFloorNo() !=1?2:1);
                     StaProtocol staProtocol = devpThread.getStation().get(basAgvMast.getSourceStaNo());
                     if (staProtocol == null || !staProtocol.isLoading()) {
                         continue;

--
Gitblit v1.9.1