From 5c3a5b7bf75718a003de4b167cf9fc81a27f06ee Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期一, 15 八月 2022 18:31:14 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightTaskService.java |   46 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 35 insertions(+), 11 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..1ed7fe1 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());
 
         }
-
 
 
         /**
@@ -237,7 +235,7 @@
         //鍙栧嚭瑕嗙洊鎿嶄綔鐨勫叧绯讳俊鎭�
         //璁板綍杩欎簺鐏潌鍘熷厛鐨勪换鍔�
         List<LightTaskPoleRelation> oldRelation = new ArrayList<>();
-        if ("FFFF".equals(param.getLightAddress())) {
+        if ("FFFF".equals(param.getLightAddress())) {  //todo
             // 鐏潌涓瓨鍦ㄥ叾浠栦换鍔$殑鐏ご
             if (CollectionUtil.isNotEmpty(oldPoleIdList)) {
                 oldRelation = lightTaskPoleRelationService.list(Wrappers.lambdaQuery(LightTaskPoleRelation.class).in(LightTaskPoleRelation::getPoleId, oldPoleIdList)
@@ -272,7 +270,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<>());
@@ -280,13 +278,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, newLightTask.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";
-            //瑕嗙洊鎿嶄綔鐏潌
+            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 +331,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 +347,7 @@
 
         List<LightTaskPoleRelation> all = new ArrayList<>();
         all.addAll(newPoleSuccess);
+        all.addAll(oldPoleFail);
 //        all.addAll(closePoleFail);
 
 
@@ -339,6 +356,9 @@
             allPoleId.add(bean.getPoleId());
         }
         for (LightTaskPoleRelation bean : closePoleSuccess) {
+            allPoleId.add(bean.getPoleId());
+        }
+        for (LightTaskPoleRelation bean : oldPoleSuccess) {
             allPoleId.add(bean.getPoleId());
         }
 
@@ -384,10 +404,11 @@
      */
     public A5LightTimerRespInnerFrame sendTimeRRpc(String framePayload, String deviceCode, String lightAddress) {
         IRequestFrame requestFrame = FrameBuilder.builderA5().innerFrame(new A5LightTimerReqInnerFrame(framePayload, lightAddress)).orderType(A5OrderEnum.REQUEST_LIGHT_DATA.getCode()).build();
+        System.out.println(requestFrame + "          --------requestFrame");
+
         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);
     }
 
@@ -514,7 +535,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());
@@ -590,6 +611,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<>();
@@ -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());
@@ -682,6 +705,7 @@
         map.put("success", success);
         map.put("fail", fail);
         map.put("all", lightTaskPoleRelationList);
+        log.error("鍙戦�佹帶鍒跺櫒甯х粨鏋滐細{}", map);
         return map;
     }
 

--
Gitblit v1.9.3