From c02206dbafda5a091de064e0fb45b6054de384a8 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期四, 08 九月 2022 16:33:49 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java |   37 ++++++++++++++++++++++++-------------
 1 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
index 789d202..b4bdff6 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java
@@ -126,7 +126,8 @@
                     .in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, "0002"));
             oldLightTaskStatusAndPoles.addAll(list);
         } else {
-            oldLightTaskStatusAndPoles = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
+            oldLightTaskStatusAndPoles = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class)
+                    .in(LightTaskPoleRelation::getPoleId, poleIdList).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
         }
 
         /**
@@ -247,7 +248,7 @@
         } else {
             if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
                 oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList)
-                        .eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
+                        .ne(LightTaskPoleRelation::getTaskId, taskId).eq(LightTaskPoleRelation::getLightAddress, param.getLightAddress()));
             }
         }
 
@@ -270,7 +271,7 @@
         List<LightTaskPoleRelation> newPoleFail = new ArrayList<>();
         if (CollectionUtil.isNotEmpty(newPoleIdList)) {
             //鏂扮伅鏉嗕笅鍙戞柊浠诲姟
-            Map<String, List<LightTaskPoleRelation>> newPoleMap = sendControllerFrame(newPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
+            Map<String, List<LightTaskPoleRelation>> newPoleMap = sendControllerFrame(newPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
 
             //newPoleAll闆嗗悎鍚庨潰鐢ㄤ簬瀛樺偍鍏崇郴琛�
             newPoleAll = newPoleMap.getOrDefault("all", new ArrayList<>());
@@ -282,7 +283,7 @@
         List<LightTaskPoleRelation> oldPoleSuccess = new ArrayList<>();
         if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
             //瑕嗙洊鎿嶄綔鐏潌
-            Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
+            Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, newLightTask.getFramePayload(), param.getLightAddress());
             oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
             oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
         }
@@ -293,7 +294,7 @@
         System.out.println(closeLight + "closeLight");
         if (CollectionUtil.isNotEmpty(closeLight) && closeLight != null && closeLight.get(0) != null) {
             //鍏崇伅鍐呭抚
-            String framePayloadClose = "7f0000007f173b00";
+            String framePayloadClose = "7F0000007F173B00";
             //鍏崇伅鎿嶄綔鐏潌
             Map<String, List<LightTaskPoleRelation>> closePoleMap = sendControllerFrame(closeLight, framePayloadClose, param.getLightAddress());
             closePoleFail = closePoleMap.getOrDefault("fail", new ArrayList<>());
@@ -348,7 +349,9 @@
         List<LightTaskPoleRelation> all = new ArrayList<>();
         all.addAll(newPoleSuccess);
         all.addAll(oldPoleFail);
-//        all.addAll(closePoleFail);
+        all.addAll(oldPoleSuccess);
+        all.addAll(oldPoleFail);
+        all.addAll(closePoleFail);
 
 
         List<Long> allPoleId = new ArrayList<>();
@@ -381,11 +384,11 @@
          * 涓嬪彂璺伅浠诲姟鏃ュ織璁板綍缁撴潫
          */
 
-        if (newPoleFail.isEmpty() && closePoleFail.isEmpty()) {
+        if (newPoleFail.isEmpty() && closePoleFail.isEmpty() && oldPoleFail.isEmpty()) {
             return "缂栬緫鎴愬姛";
-        } else if (newPoleSuccess.isEmpty() && closePoleSuccess.isEmpty()) {
+        } else if (newPoleSuccess.isEmpty() && closePoleSuccess.isEmpty() && oldPoleSuccess.isEmpty()) {
             throw new BusinessException("缂栬緫澶辫触,璇锋鏌ュ師鏈夎澶囧拰缂栬緫鍚庣殑璁惧鏄惁鍦ㄧ嚎!");
-        } else if (!closePoleFail.isEmpty() && !newPoleSuccess.isEmpty()) {
+        } else if (!closePoleFail.isEmpty() && !newPoleSuccess.isEmpty() && !oldPoleFail.isEmpty()) {
             return "鍘熶换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽師浠诲姟淇濈暀锛屽垱寤烘柊浠诲姟杩涜淇濆瓨";
         } else if (!newPoleFail.isEmpty() && !newPoleSuccess.isEmpty()) {
             return "鏂颁换鍔′腑瀛樺湪涓嬪彂寮傚父锛屽拷鐣ュ紓甯告搷浣滅殑鐏潌";
@@ -409,7 +412,6 @@
         WrapResponseCommonFrame<A5LightTimerRespInnerFrame> responseCommonFrame = MainBoardInvokeSyncService.getInstance().sendRRPC(deviceCode, requestFrame, A5LightTimerRespInnerFrame.class);
         System.out.println(responseCommonFrame + "         -----------responseCommonFrame");
         StoreOperationRecordsUtils.storeInnerFrameData(deviceCode, "鍗曠伅甯�-鎺х伅", requestFrame, responseCommonFrame);
-
         return Optional.ofNullable(responseCommonFrame).map(WrapResponseCommonFrame::getResponseInnerFrame).orElse(null);
     }
 
@@ -612,6 +614,8 @@
      * @return
      */
     private Map<String, List<LightTaskPoleRelation>> sendControllerFrame(List<Long> poleIdList, String framePayload, String lightAddress) {
+
+        System.out.println("framePayload:" + framePayload);
         List<LightTaskPoleRelation> lightTaskPoleRelationList = new ArrayList<>();
         //鎴愬姛
         List<LightTaskPoleRelation> success = new ArrayList<>();
@@ -636,7 +640,7 @@
 
 
             // rrpc 鍙戠敓瀹氭椂鍛戒护
-     /*       if ("FFFF".equals(lightAddress)) {
+            if ("FFFF".equals(lightAddress)) {
                 LightTaskPoleRelation lightTaskPoleRelation01 = new LightTaskPoleRelation();
                 lightTaskPoleRelation01.setPoleId(pole.getId());
                 lightTaskPoleRelation01.setLightAddress("0001");
@@ -681,8 +685,7 @@
 
                 lightTaskPoleRelationList.add(lightTaskPoleRelation01);
                 lightTaskPoleRelationList.add(lightTaskPoleRelation02);
-            } else */
-            {
+            } else {
                 lightTaskPoleRelation.setLightAddress(lightAddress);
                 // rrpc 鍙戠敓瀹氭椂鍛戒护
                 try {
@@ -899,4 +902,12 @@
 
         }
     }
+
+    public boolean clearLightTask(List<Long> poleIds) {
+        Map<String, List<LightTaskPoleRelation>> ffff = sendControllerFrame(poleIds, "", "FFFF");
+        ffff.get("success").forEach(lightTaskPoleRelation -> {
+            lightTaskPoleRelationService.remove(Wrappers.lambdaUpdate(LightTaskPoleRelation.class).eq(LightTaskPoleRelation::getPoleId, lightTaskPoleRelation.getPoleId()).eq(LightTaskPoleRelation::getTaskId, lightTaskPoleRelation.getTaskId()));
+        });
+        return true;
+    }
 }

--
Gitblit v1.9.3