From e8b8b4d115a3bb5d7234586e397587dfa30f86a4 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期一, 15 八月 2022 15:04:06 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 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 c97437b..0571c99 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
@@ -143,14 +143,12 @@
         }
 
 
-
         List<LightTaskPoleRelation> newPoleMap = new ArrayList<>();
         if (!poleIdList.isEmpty()) {
             //鏂扮伅鏉嗕笅鍙戞柊浠诲姟
             newPoleMap = sendControllerFrame(newLightTask, poleIdList, newLightTask.getFramePayload(), param.getLightAddress());
 
         }
-
 
 
         /**
@@ -267,6 +265,9 @@
         }
 
 
+
+
+
         List<LightTaskPoleRelation> newPoleAll = new ArrayList<>();
         List<LightTaskPoleRelation> newPoleSuccess = new ArrayList<>();
         List<LightTaskPoleRelation> newPoleFail = new ArrayList<>();
@@ -280,13 +281,23 @@
             newPoleFail = newPoleMap.getOrDefault("fail", new ArrayList<>());
         }
 
+        List<LightTaskPoleRelation> oldPoleFail = new ArrayList<>();
+        List<LightTaskPoleRelation> oldPoleSuccess = new ArrayList<>();
+        if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
+            //瑕嗙洊鎿嶄綔鐏潌
+            Map<String, List<LightTaskPoleRelation>> oldPoleMap = sendControllerFrame(oldPoleIdList, lightTask.getFramePayload(), param.getLightAddress());
+            oldPoleFail = oldPoleMap.getOrDefault("fail", new ArrayList<>());
+            oldPoleSuccess = oldPoleMap.getOrDefault("success", new ArrayList<>());
+        }
+
 
         List<LightTaskPoleRelation> closePoleFail = new ArrayList<>();
         List<LightTaskPoleRelation> closePoleSuccess = new ArrayList<>();
-        if (CollectionUtil.isNotEmpty(closeLight)) {
+        System.out.println(closeLight + "closeLight");
+        if (CollectionUtil.isNotEmpty(closeLight) && closeLight != null&& closeLight.get(0) != null) {
             //鍏崇伅鍐呭抚
             String framePayloadClose = "7f0000007f173b00";
-            //瑕嗙洊鎿嶄綔鐏潌
+            //鍏崇伅鎿嶄綔鐏潌
             Map<String, List<LightTaskPoleRelation>> closePoleMap = sendControllerFrame(closeLight, framePayloadClose, param.getLightAddress());
             closePoleFail = closePoleMap.getOrDefault("fail", new ArrayList<>());
             closePoleSuccess = closePoleMap.getOrDefault("success", new ArrayList<>());
@@ -323,6 +334,14 @@
         for (LightTaskPoleRelation bean : newPoleSuccess) {
             bean.setTaskId(newLightTask.getTaskId());
         }
+        //鎴愬姛鐢ㄦ柊鐨勪换鍔D
+        for (LightTaskPoleRelation bean : oldPoleSuccess) {
+            bean.setTaskId(newLightTask.getTaskId());
+        }
+        //澶辫触鐢ㄦ棫鐨勪换鍔D
+        for (LightTaskPoleRelation bean : oldPoleFail) {
+            bean.setTaskId(lightTask.getTaskId());
+        }
 
         //澶辫触鐢ㄦ棫鐨勪换鍔D
         for (LightTaskPoleRelation bean : closePoleFail) {
@@ -331,6 +350,7 @@
 
         List<LightTaskPoleRelation> all = new ArrayList<>();
         all.addAll(newPoleSuccess);
+        all.addAll(oldPoleFail);
 //        all.addAll(closePoleFail);
 
 
@@ -339,6 +359,9 @@
             allPoleId.add(bean.getPoleId());
         }
         for (LightTaskPoleRelation bean : closePoleSuccess) {
+            allPoleId.add(bean.getPoleId());
+        }
+        for (LightTaskPoleRelation bean : oldPoleSuccess) {
             allPoleId.add(bean.getPoleId());
         }
 
@@ -514,7 +537,7 @@
         for (Pole pole : poles) {
             if (pole.getDeviceCode() == null || pole.getDeviceCode().equals("")) {
                 removeById(lightTask.getTaskId());
-                throw new BusinessException("鐏潌涓嶅瓨鍦╩ac,涓嶈兘涓嬪彂浠诲姟   璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
+                throw new BusinessException("缂栬緫鐨勭伅鏉嗘垨鍘熸湁浠诲姟鐨勭伅鏉嗕笉瀛樺湪mac,涓嶈兘涓嬪彂浠诲姟   璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
             }
             LightTaskPoleRelation lightTaskPoleRelation = new LightTaskPoleRelation();
             lightTaskPoleRelation.setPoleId(pole.getId());
@@ -605,7 +628,7 @@
 
         for (Pole pole : poles) {
             if (pole.getDeviceCode() == null || pole.getDeviceCode().equals("")) {
-                throw new BusinessException("鐏潌涓嶅瓨鍦╩ac,涓嶈兘涓嬪彂浠诲姟   璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
+                throw new BusinessException("缂栬緫鐨勭伅鏉嗘垨鍘熸湁浠诲姟鐨勭伅鏉嗕笉瀛樺湪mac,涓嶈兘涓嬪彂浠诲姟   璇锋鏌ョ伅鏉嗘槸鍚﹀瓨鍦ㄥ崟鐏�");
             }
             LightTaskPoleRelation lightTaskPoleRelation = new LightTaskPoleRelation();
             lightTaskPoleRelation.setPoleId(pole.getId());

--
Gitblit v1.9.3