From fb842a99734726e628bd0981ccdf80a253534eaa Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 17 五月 2022 17:06:07 +0800
Subject: [PATCH] 日志

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java |  134 ++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 120 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..e63de99 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,11 @@
 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.utils.StoreOperationRecordsUtils;
+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 +72,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 +134,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;
     }
 
 
@@ -126,6 +186,17 @@
             poleBindingParam.setDeviceName(poleLightemit.getLightemitName());
             poleBindingService.bindPole(poleLightemit.getPoleId(), poleBindingParam);
         }
+
+        /**
+         * 鐔欐睕led鏂板鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>();
+        listCode.add(poleLightemit.getLightemitControlCode());
+        String content = "{灞忓箷id锛�" + poleLightemit.getLightemitId() + "锛� 灞忓箷鍚嶇О锛�" + poleLightemit.getLightemitName() + "锛� 灞忓箷缂栫爜锛�" + poleLightemit.getLightemitControlCode() + " }";
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕LED鏂板", content);
+        /**
+         * 鐔欐睕led鏂板鏃ュ織璁板綍缁撴潫
+         */
         //  poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
     }
 
@@ -134,6 +205,11 @@
         PoleLightemitEntity byId = getById(ledId);
         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);
@@ -149,24 +225,54 @@
             poleBindingParam.setDeviceName(poleLightemit.getLightemitName());
             poleBindingService.bindPole(poleLightemit.getPoleId(), poleBindingParam);
         }
+
+        /**
+         * 鐔欐睕led缂栬緫鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>();
+        listCode.add(poleLightemit.getLightemitControlCode());
+        String content = "{灞忓箷id锛�" + poleLightemit.getLightemitId() + "锛� 灞忓箷鍚嶇О锛�" + poleLightemit.getLightemitName() + "锛� 灞忓箷缂栫爜锛�" + poleLightemit.getLightemitControlCode() + " }";
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕LED缂栬緫", content);
+        /**
+         * 鐔欐睕led缂栬緫鏃ュ織璁板綍缁撴潫
+         */
         // poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
     }
 
     public boolean deletePoleLightemit(List<Long> ledIds) {
 
         List<PoleLightemitEntity> poleLightemitEntities = listByIds(ledIds);
+        if (poleLightemitEntities != null && poleLightemitEntities.size() != 0) {
+            throw new BusinessException("璁惧涓嶅瓨鍦�");
+        }
 
+        List<String> listCode = new ArrayList<>();
         // 鍒犻櫎璁惧缁戝畾
         if (poleLightemitEntities != null && poleLightemitEntities.size() != 0) {
             for (PoleLightemitEntity poleLightemitEntitie : poleLightemitEntities) {
                 if (poleLightemitEntitie.getLightemitControlCode() != null) {
                     //鍒犻櫎缁戝畾鍏崇郴//鍏堝垹闄ょ粦瀹氬叧绯�
+                    listCode.add(poleLightemitEntitie.getLightemitControlCode());
                     poleBindingService.unBindPole(poleLightemitEntitie.getLightemitControlCode());
                 }
             }
         }
         //鍒犻櫎璁惧
         boolean b = removeByIds(ledIds);
+
+        /**
+         * 鐔欐睕led鍒犻櫎鏃ュ織璁板綍寮�濮�
+         */
+        List<String> nameList = new ArrayList<>();
+        for (PoleLightemitEntity poleLightemitEntitie : poleLightemitEntities) {
+            nameList.add(poleLightemitEntitie.getLightemitName());
+        }
+
+        String content = "{鍒犻櫎鐔欐睕LED鐨勮澶囦俊鎭細" + nameList.toString() + " }";
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鐔欐睕LED鍒犻櫎", content);
+        /**
+         * 鐔欐睕led鍒犻櫎鏃ュ織璁板綍缁撴潫
+         */
         return b;
         // poleStreetlightLightemitService.saveStreetlightLightemit(poleLightemit.getLightemitId(),poleLightemit.getStreetlightId());
     }

--
Gitblit v1.9.3