From af4cd17b9851e940dd1dc8a43b3b21fbdd452f76 Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 23 九月 2022 17:09:54 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java |   73 +++++++++++++++++++++++++++++-------
 1 files changed, 58 insertions(+), 15 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
index 9994bfc..5304552 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LightService.java
@@ -29,10 +29,7 @@
 import com.sandu.ximon.admin.vo.EquipmentInfomation;
 import com.sandu.ximon.dao.bo.LightBo;
 import com.sandu.ximon.dao.bo.PoleTaskLightPowerBo;
-import com.sandu.ximon.dao.domain.Light;
-import com.sandu.ximon.dao.domain.LightReportData;
-import com.sandu.ximon.dao.domain.Pole;
-import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.dao.domain.*;
 import com.sandu.ximon.dao.enums.DeviceRespStatusEnums;
 import com.sandu.ximon.dao.enums.OrderByEnums;
 import com.sandu.ximon.dao.mapper.LightMapper;
@@ -73,7 +70,7 @@
         Boolean hasKey = redisService.hasKey(LightKey.REPORT_MAC.key(deviceName));
         if (!hasKey) {
             int count = count(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, deviceName));
-            log.info("redis鏌ヤ笉鍒拌矾鐏暟鎹畕}={}", count, deviceName);
+            log.info("redis鏌ヤ笉鍒拌矾鐏暟鎹� 鏁伴噺:{}={}", count, deviceName);
             // 褰撳墠璺伅琛ㄦ病鏈夊綍鍏ヨ澶囧悧
             if (count == 0) {
                 Light light = new Light();
@@ -81,15 +78,15 @@
                 light.setLightPercent(heartBeatDataPackage.getLightPercent());
                 light.setLight2Percent(heartBeatDataPackage.getLight2Percent());
                 save(light);
+                log.info("鏂板璺伅");
             }
             redisService.set(LightKey.REPORT_MAC.key(deviceName), 1, LightKey.REPORT_MAC.expireSeconds());
-            log.info("鏂板璺伅");
         } else {
             Light light = new Light();
             light.setLightPercent(heartBeatDataPackage.getLightPercent());
             light.setLight2Percent(heartBeatDataPackage.getLight2Percent());
-            update(light, Wrappers.lambdaUpdate(Light.class).eq(Light::getDeviceCode, deviceName));
-            log.info("鏇存柊璺伅浜害");
+            boolean update = update(light, Wrappers.lambdaUpdate(Light.class).eq(Light::getDeviceCode, deviceName));
+            log.info("鏇存柊璺伅浜害 {}", update);
         }
     }
 
@@ -102,7 +99,7 @@
         Long clientId = SecurityUtils.getClientId();
 
         //鎺掑簭瀛楁
-        String orderByResult = OrderByEnums.LIGHT_POLE_NAME.getCode();
+        String orderByResult = "light_id";
         //姝e簭銆佸�掑彊
         String orderBySeq = OrderByEnums.ASC.getCode();
         if (order != null) {
@@ -636,7 +633,7 @@
      *
      * @return
      */
-    public BigDecimal jisuan(LightTaskDto Task) {
+    public BigDecimal jisuan(LightTaskDto Task, LightTaskPoleRelation bean) {
         final BigDecimal[] bigDecimalResult = {new BigDecimal(0.00)};
         /**
          * 鑺傝兘鐜囪绠楀紑濮�
@@ -758,9 +755,10 @@
      * 涓�澶╃殑鑳借��
      *
      * @param
+     * @param bean
      * @return
      */
-    public BigDecimal jisuanEnergy(LightTaskDto Task) {
+    public BigDecimal jisuanEnergy(LightTaskDto Task, LightTaskPoleRelation bean) {
         //瀛樻斁鑳借��
         final BigDecimal[] bigEnergy = {new BigDecimal(0.00)};
 
@@ -779,9 +777,21 @@
         }
 
         /**
-         * 鑺傝兘鐜囪绠楀紑濮�
+         * 鑳借�楄绠楀紑濮�
          */
-        List<PoleTaskLightPowerBo> poleTaskLightPowerBos = SpringContextHolder.getBean(LightTaskMapper.class).listLightTaskByTaskId(Task.getTaskId());
+//        List<PoleTaskLightPowerBo> poleTaskLightPowerBos = SpringContextHolder.getBean(LightTaskMapper.class).listLightTaskByTaskId(Task.getTaskId());
+        List<PoleTaskLightPowerBo> poleTaskLightPowerBos = new ArrayList<>();
+        PoleTaskLightPowerBo poleTaskLightPowerBo = new PoleTaskLightPowerBo();
+        Light one = getOne(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, bean.getDeviceCode()));
+
+        if (one != null) {
+            if ("0001".equals(bean.getLightAddress())) {
+                poleTaskLightPowerBo.setPower1(one.getPower1());
+            } else {
+                poleTaskLightPowerBo.setPower2(one.getPower2());
+            }
+        }
+        poleTaskLightPowerBos.add(poleTaskLightPowerBo);
         ControlLightCommandVO startTime = parseSwitchLightCommand(Task.getOpenOrder());
         ControlLightCommandVO endTime = parseSwitchLightCommand(Task.getCloseOrder());
         //鑾峰彇鍒板崟鐏换鍔$殑鑺傝兘鐜�
@@ -992,16 +1002,31 @@
     }
 
     /**
+     * 鐢ㄦ埛鎷ユ湁鐨勮矾鐏�(鐢ㄤ簬棣栭〉鏁版嵁缁熻)
+     *
+     * @return
+     */
+    public List<LightBo> listLightOnHome() {
+        List<LightBo> listLight;
+        if (SecurityUtils.getClientId() != null) {
+            listLight = baseMapper.listLight(SecurityUtils.getUserId(), null);
+        } else {
+            listLight = baseMapper.listLight(null, null);
+        }
+        return listLight;
+    }
+
+    /**
      * 鑾峰彇鐢ㄦ埛鎵�鏈夌殑璁惧鐮�
      */
-    public CommonPage<String> listDeviceCode(int pageNo, int pageSize, String keyword, String deviceCode) {
+    public CommonPage<String> listDeviceCode(int pageNo, int pageSize, String keyword, String deviceCode, String orderBy) {
         List<String> list;
         if (SecurityUtils.getClientId() != null) {
             PageHelper.startPage(pageNo, pageSize);
             list = baseMapper.listCode(SecurityUtils.getUserId(), keyword, deviceCode);
         } else {
 
-            PageHelper.startPage(pageNo, pageSize);
+            PageHelper.startPage(pageNo, pageSize, orderBy);
             list = baseMapper.listCode(null, keyword, deviceCode);
         }
 
@@ -1016,6 +1041,24 @@
         lights.forEach(light -> {
             light.setPower1(lightPowerSettingParam.getPower1());
             light.setPower2(lightPowerSettingParam.getPower2());
+            //瀛樺湪闈�0鍔熺巼  鍗充负瀛樺湪璇ョ伅澶�
+            if (lightPowerSettingParam.getPower1() != null || lightPowerSettingParam.getPower1() != 0) {
+                light.setLight1(1);
+            } else if (lightPowerSettingParam.getPower1() == 0) {
+                //鎵嬪姩璁剧疆鐏ご鍔熺巼涓�0  鍗充笉瀛樺湪璇ョ伅澶�
+                light.setLight1(0);
+            } else {
+                light.setLight1(0);
+            }
+            //瀛樺湪闈�0鍔熺巼  鍗充负瀛樺湪璇ョ伅澶�
+            if (lightPowerSettingParam.getPower2() != null || lightPowerSettingParam.getPower2() != 0) {
+                light.setLight2(1);
+            } else if (lightPowerSettingParam.getPower2() == 0) {
+                //鎵嬪姩璁剧疆鐏ご鍔熺巼涓�0  鍗充笉瀛樺湪璇ョ伅澶�
+                light.setLight2(0);
+            } else {
+                light.setLight2(0);
+            }
             light.setLightCount(lightPowerSettingParam.getLightCount());
         });
         return updateBatchById(lights);

--
Gitblit v1.9.3