From 0d2e4e6b8954d77dd34664f861135ae41f7eb828 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 13 五月 2022 10:31:34 +0800
Subject: [PATCH] 单灯数据直接下载

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java |   92 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 78 insertions(+), 14 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
index fdae699..5622190 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java
@@ -4,6 +4,7 @@
 import com.google.gson.Gson;
 import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
+import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.config.RealtimeServerBean;
 import com.sandu.ximon.admin.entity.*;
 import com.sandu.ximon.admin.param.PoleBindingParam;
@@ -11,7 +12,10 @@
 import com.sandu.ximon.admin.utils.FileUtil;
 import com.sandu.ximon.admin.utils.HtmlTemplateUtils;
 import com.sandu.ximon.admin.utils.LightemitUtils;
+import com.sandu.ximon.admin.vo.EquipmentInfomation;
+import com.sandu.ximon.dao.domain.Pole;
 import com.sandu.ximon.dao.domain.PoleLightemitEntity;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.PoleLightemitEntityMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
@@ -67,30 +71,56 @@
         } else {
             poleLightemitEntityList = poleLightemitDao.listLed(keyword, SecurityUtils.getUserId());
         }
-        if (isOnLine) {
-            return ledOnline(poleLightemitEntityList);
-        } else {
-            ledOnlineCheck(poleLightemitEntityList);
-            return poleLightemitEntityList;
+
+        List<PoleLightemitEntity> temp = new ArrayList<>();
+        for (PoleLightemitEntity poleLightemitEntity : poleLightemitEntityList) {
+            //鏌ヨ璁惧鍦ㄧ嚎鐘舵��
+            boolean onLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
+            //鏌ヨ灞忓箷鐨勫紑鍚姸鎬�
+            String isOpen = lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode());
+            poleLightemitEntity.setIsOpen(String.valueOf(isOpen));
+            poleLightemitEntity.setOnLine(onLine);
+            if (!isOnLine || onLine) {
+                temp.add(poleLightemitEntity);
+            }
         }
+        return temp;
     }
 
+    /**
+     * 鍙栧嚭鍦ㄧ嚎鐨勭啓璁�
+     *
+     * @param list
+     * @return
+     */
     public List<PoleLightemitEntity> ledOnline(List<PoleLightemitEntity> list) {
         List<PoleLightemitEntity> onLineList = new ArrayList<>();
         for (PoleLightemitEntity poleLightemitEntity : list) {
-            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
-            if (poleLightemitEntity.getIsOpen()) {
+//            if(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true")){
+//                poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
+//            }
+            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()));
+            boolean ledOnLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
+            if (ledOnLine) {
+                poleLightemitEntity.setOnLine(true);
                 onLineList.add(poleLightemitEntity);
+            } else {
+                poleLightemitEntity.setOnLine(false);
             }
         }
         return onLineList;
     }
 
 
+    /**
+     * 璁剧疆鍦ㄧ嚎鐘舵��
+     *
+     * @param list
+     */
     public void ledOnlineCheck(List<PoleLightemitEntity> list) {
         for (PoleLightemitEntity poleLightemitEntity : list) {
-            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()).contains("true"));
-
+            poleLightemitEntity.setIsOpen(lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode()));
+            poleLightemitEntity.setOnLine(lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode()));
         }
     }
 
@@ -103,15 +133,44 @@
      */
     public PoleLightemitEntity getLedByLightControlCode(String lightControlCode) {
         PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
+        Pole getpole = poleLightemitDao.getpole(lightControlCode);
         if (xiXun == null) {
             return null;
         }
-        String isScreenOpen = lightemitUtils.getIsScreenOpen(xiXun.getLightemitControlCode());
-        if (isScreenOpen.contains("true")) {
-            xiXun.setIsOpen(true);
-        }
-        xiXun.setIsOpen(false);
+        boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+
+        xiXun.setIsOpen(lightemitUtils.getIsScreenOpen(lightControlCode));
+        xiXun.setOnLine(isScreenOpen);
+        xiXun.setStreetlightName(getpole.getPoleName());
+        xiXun.setStreetlightId(getpole.getId());
+
         return xiXun;
+    }
+
+    /**
+     * 棣栭〉鐏潌缁戝畾淇℃伅
+     */
+    public EquipmentInfomation getLedByLightControlCodeInfo(String lightControlCode) {
+        EquipmentInfomation equipmentInfo = new EquipmentInfomation();
+        equipmentInfo.setEquipmentType("鐔欒LED");
+        if (lightControlCode == null || lightControlCode.trim().length() == 0) {
+            return equipmentInfo;
+        }
+
+        PoleLightemitEntity xiXun = getOne(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, lightControlCode));
+        if (xiXun != null) {
+            equipmentInfo.setEquipmentCreateTime(xiXun.getCreateTime());
+            equipmentInfo.setEquipmentMac(xiXun.getLightemitControlCode());
+            equipmentInfo.setEquipmentName(xiXun.getLightemitName());
+        }
+        boolean isScreenOpen = lightemitUtils.getLedOnLine(xiXun.getLightemitControlCode());
+        if (isScreenOpen) {
+            equipmentInfo.setEquipmentState("鍦ㄧ嚎");
+        } else {
+            equipmentInfo.setEquipmentState("绂荤嚎");
+        }
+
+        return equipmentInfo;
     }
 
 
@@ -135,6 +194,11 @@
         if (byId == null) {
             throw new BusinessException("鏈壘鍒癓ED灞�");
         }
+
+        boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getLightemitControlCode(), PoleBindingEnums.XIXUN);
+        if (!belong) {
+            throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+        }
         poleLightemit.setLightemitId(ledId);
         boolean b = this.updateById(poleLightemit);
         // 缁戝畾鐏潌

--
Gitblit v1.9.3