From 33ecbd69aca2ccc58d47f467f3f7266b37fa9dfc Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 27 五月 2022 18:44:38 +0800
Subject: [PATCH] fix

---
 dao/src/main/resources/mapper/LightMapper.xml                                              |   24 ++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/controller/GetListOnBindingController.java |   22 ++--
 dao/src/main/java/com/sandu/ximon/dao/mapper/PoleMapper.java                               |    2 
 dao/src/main/java/com/sandu/ximon/dao/mapper/PoleLightemitEntityMapper.java                |    2 
 dao/src/main/resources/mapper/PoleMapper.xml                                               |   21 +++++
 dao/src/main/resources/mapper/LedPlayerEntityMapper.xml                                    |   23 +++++
 dao/src/main/resources/mapper/PoleLightemitEntityMapper.xml                                |   25 +++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java             |   12 ++
 dao/src/main/java/com/sandu/ximon/dao/mapper/LedPlayerEntityMapper.java                    |    2 
 dao/src/main/java/com/sandu/ximon/dao/mapper/LightMapper.java                              |    9 ++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleLightemitService.java          |   29 +++++++
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedPlayerEntityService.java        |   12 +++
 12 files changed, 167 insertions(+), 16 deletions(-)

diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/LedPlayerEntityMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/LedPlayerEntityMapper.java
index 185fd36..96f68a6 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/LedPlayerEntityMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/LedPlayerEntityMapper.java
@@ -15,6 +15,8 @@
     boolean saveLed(LedPlayerEntity ledPlayerEntity);
 
     List<LedPlayerEntity> ledPlayerEntityList(String keyword, Long userid);
+
+    List<LedPlayerEntity> ledPlayerEntityListOnBinding(String keyword, Long userid);
 }
 
 
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/LightMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/LightMapper.java
index 709704b..e045b5d 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/LightMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/LightMapper.java
@@ -28,6 +28,15 @@
      * @return
      */
     List<String> listCode(Long userId, String keyword, String deviceCode);
+
+
+    /***
+     * 鐢ㄥ湪缁戝畾璁惧
+     * @param clientId
+     * @param keyword
+     * @return
+     */
+    List<LightBo> listLightOnBinding(Long clientId, String keyword);
 }
 
 
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleLightemitEntityMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleLightemitEntityMapper.java
index f445bbb..27ceeb4 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleLightemitEntityMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleLightemitEntityMapper.java
@@ -19,6 +19,8 @@
 
     List<PoleLightemitEntity> listLed(String keyword, Long userid, String orderBy);
 
+    List<PoleLightemitEntity> listLedOnBinding(String keyword, Long userid);
+
     Pole getpole(String lightemitControlCode);
 }
 
diff --git a/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleMapper.java b/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleMapper.java
index b6ab5f3..5a79efd 100644
--- a/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleMapper.java
+++ b/dao/src/main/java/com/sandu/ximon/dao/mapper/PoleMapper.java
@@ -16,6 +16,8 @@
     boolean updateDeviceCode(Long id);
 
     List<Pole> queryPoleOnLineStatesList(Long userid, Integer isTrue, Integer bingStates, Long groupid, String keyword, String orderBy);
+
+    List<Pole> getPoleListOnBinding(Long userid, String keyword);
 }
 
 
diff --git a/dao/src/main/resources/mapper/LedPlayerEntityMapper.xml b/dao/src/main/resources/mapper/LedPlayerEntityMapper.xml
index 3e43ce2..ca6a50c 100644
--- a/dao/src/main/resources/mapper/LedPlayerEntityMapper.xml
+++ b/dao/src/main/resources/mapper/LedPlayerEntityMapper.xml
@@ -43,4 +43,27 @@
             </if>
         </where>
     </select>
+
+    <select id="ledPlayerEntityListOnBinding" resultType="com.sandu.ximon.dao.domain.LedPlayerEntity">
+        SELECT
+        t1.*, t2.pole_id,
+        t3.pole_name, t3.id
+        FROM
+        led t1
+        LEFT JOIN pole_binding t2 ON t1.sn = t2.device_code
+        AND t2.device_type = 1
+        LEFT JOIN pole t3 ON t3.id = t2.pole_id
+        <where>
+            <if test="keyword != null and keyword != ''">
+                AND t1.name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                OR t1.player_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                OR t1.sn LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                OR t1.id LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+            </if>
+            <if test="userid != null">
+                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
+            </if>
+        </where>
+    </select>
+
 </mapper>
diff --git a/dao/src/main/resources/mapper/LightMapper.xml b/dao/src/main/resources/mapper/LightMapper.xml
index f764d06..0cb6575 100644
--- a/dao/src/main/resources/mapper/LightMapper.xml
+++ b/dao/src/main/resources/mapper/LightMapper.xml
@@ -70,4 +70,28 @@
             </if>
         </where>
     </select>
+    <select id="listLightOnBinding" resultType="com.sandu.ximon.dao.bo.LightBo">
+        SELECT
+        t1.*,
+        t2.id AS pole_id,
+        t2.pole_code,
+        t2.pole_name,
+        t4.task_name
+        FROM
+        light t1
+        LEFT JOIN pole t2 USING ( device_code )
+        LEFT JOIN light_task_pole_relation t3 ON t3.pole_id = t2.id
+        LEFT JOIN light_task t4 ON t3.task_id = t4.task_id
+        <where>
+            <if test="clientId != null">
+                AND (t2.user_id = #{clientId} OR t2.client_id = #{clientId})
+            </if>
+            <if test="keyword != null and keyword != ''">
+                AND (
+                t1.device_code LIKE CONCAT('%', #{keyword},'%')
+                OR t1.light_id LIKE CONCAT('%', #{keyword},'%')
+                )
+            </if>
+        </where>
+    </select>
 </mapper>
diff --git a/dao/src/main/resources/mapper/PoleLightemitEntityMapper.xml b/dao/src/main/resources/mapper/PoleLightemitEntityMapper.xml
index cf17fb1..28e4b14 100644
--- a/dao/src/main/resources/mapper/PoleLightemitEntityMapper.xml
+++ b/dao/src/main/resources/mapper/PoleLightemitEntityMapper.xml
@@ -38,7 +38,7 @@
     <select id="listLed" resultType="com.sandu.ximon.dao.domain.PoleLightemitEntity">
         SELECT
         t1.*, t2.pole_id as streetlight_id,
-        t3.pole_name  as streetlight_name, t3.id
+        t3.pole_name as streetlight_name, t3.id
         FROM
         pole_lightemit t1
         LEFT JOIN pole_binding t2 ON t1.lightemit_control_code = t2.device_code
@@ -46,9 +46,9 @@
         LEFT JOIN pole t3 ON t3.id = t2.pole_id
         <where>
             <if test="keyword != null and keyword != ''">
-                AND t1.lightemit_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                AND (t1.lightemit_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
                 OR t1.lightemit_control_code LIKE CONCAT(CONCAT('%', #{keyword}), '%')
-                OR t1.lightemit_id LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                OR t1.lightemit_id LIKE CONCAT(CONCAT('%', #{keyword}), '%'))
             </if>
             <if test="userid != null">
                 AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
@@ -71,4 +71,23 @@
             AND t3.lightemit_control_code = #{lightemitControlCode}
         </if>
     </select>
+    <select id="listLedOnBinding" resultType="com.sandu.ximon.dao.domain.PoleLightemitEntity">
+        SELECT
+        t1.*, t2.pole_id as streetlight_id,
+        t3.pole_name as streetlight_name, t3.id
+        FROM
+        pole_lightemit t1
+        LEFT JOIN pole_binding t2 ON t1.lightemit_control_code = t2.device_code
+        AND t2.device_type = 10
+        LEFT JOIN pole t3 ON t3.id = t2.pole_id
+        <where>
+            <if test="keyword != null and keyword != ''">
+                AND (t1.lightemit_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                OR t1.lightemit_control_code LIKE CONCAT(CONCAT('%', #{keyword}), '%'))
+            </if>
+            <if test="userid != null">
+                AND (t3.user_id = #{userid} OR t3.client_id = #{userid})
+            </if>
+        </where>
+    </select>
 </mapper>
diff --git a/dao/src/main/resources/mapper/PoleMapper.xml b/dao/src/main/resources/mapper/PoleMapper.xml
index cabb7c5..7e7b07f 100644
--- a/dao/src/main/resources/mapper/PoleMapper.xml
+++ b/dao/src/main/resources/mapper/PoleMapper.xml
@@ -71,7 +71,26 @@
         </where>
         GROUP BY t1.id
         <if test="orderBy != null">
-            ORDER BY  ${orderBy}
+            ORDER BY ${orderBy}
         </if>
     </select>
+    <select id="getPoleListOnBinding" resultType="com.sandu.ximon.dao.domain.Pole">
+        SELECT
+        t1.*
+        FROM
+        pole t1
+        LEFT JOIN pole_group_relation t2 ON t1.id = t2.pole_id
+        LEFT JOIN pole_group t3 ON t3.group_id = t2.pole_group_id
+        <where>
+            <if test="userid != null">
+                AND (t1.user_id = #{userid} OR t1.client_id = #{userid})
+            </if>
+            <if test="keyword != null and keyword != ''">
+                AND ( t1.id LIKE CONCAT(CONCAT('%', #{keyword}), '%')
+                OR t1.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%'))
+            </if>
+        </where>
+        GROUP BY t1.id
+
+    </select>
 </mapper>
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/GetListOnBindingController.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/GetListOnBindingController.java
index 616be99..c00752e 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/GetListOnBindingController.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/controller/GetListOnBindingController.java
@@ -74,12 +74,12 @@
     private final PoleMapper poleMapper;
 
     @GetMapping("/getPoleList")
-    public ResponseVO<Object> getPoleList() {
+    public ResponseVO<Object> getPoleList(@RequestParam(required = false, value = "keyword") String keyword) {
         List<Pole> poleList;
         if (SecurityUtils.getClientId() == null) {
-            poleList = poleMapper.queryPoleOnLineStatesList(null, null, null, null, null, null);
+            poleList = poleMapper.getPoleListOnBinding(null, keyword);
         } else {
-            poleList = poleMapper.queryPoleOnLineStatesList(SecurityUtils.getUserId(), null, null, null, null, null);
+            poleList = poleMapper.getPoleListOnBinding(SecurityUtils.getUserId(), keyword);
         }
 
         List<Map> mapList = new ArrayList<>();
@@ -99,8 +99,8 @@
     private final LightMapper lightMapper;
 
     @GetMapping("/getLightList")
-    public ResponseVO<Object> getLightList() {
-        List<LightBo> listLight = lightMapper.listLight(SecurityUtils.getClientId(), null);
+    public ResponseVO<Object> getLightList(@RequestParam(required = false, value = "keyword") String keyword) {
+        List<LightBo> listLight = lightMapper.listLightOnBinding(SecurityUtils.getClientId(), keyword);
 
 
         List<Map> mapList = new ArrayList<>();
@@ -120,9 +120,9 @@
      * NLED鍒楄〃(璇虹摝璁惧)
      */
     @GetMapping("/getLedPlayerEntityList")
-    public ResponseVO<Object> getLedPlayerEntityList() {
+    public ResponseVO<Object> getLedPlayerEntityList(@RequestParam(required = false, value = "keyword") String keyword) {
         List<LedPlayerEntity> list = SpringContextHolder.getBean(LedPlayerEntityService.class).
-                ledPlayerEntityList(null, null, null, null);
+                ledPlayerEntityListOnBinding(keyword);
 
         List<Map> mapList = new ArrayList<>();
         Map map;
@@ -168,8 +168,8 @@
     private final LEDProgramService ledProgramService;
 
     @GetMapping("/getNledProgeamList")
-    public ResponseVO<Object> getNledProgeamList() {
-        List<LEDProgram> ledPrograms = ledProgramService.listProgram(null, null, null, null);
+    public ResponseVO<Object> getNledProgeamList(@RequestParam(required = false, value = "keyword") String keyword) {
+        List<LEDProgram> ledPrograms = ledProgramService.listProgramOnBinding(keyword);
         List<Map> mapList = new ArrayList<>();
         Map map;
         for (LEDProgram bean : ledPrograms) {
@@ -190,8 +190,8 @@
     private final PoleLightemitService sLedService;
 
     @GetMapping("/getSledList")
-    public ResponseVO<Object> getSledList() {
-        List<PoleLightemitEntity> poleLightemitEntities = sLedService.listLed(null, null, null, false);
+    public ResponseVO<Object> getSledList(@RequestParam(required = false, value = "keyword") String keyword) {
+        List<PoleLightemitEntity> poleLightemitEntities = sLedService.listLedOnBinding(keyword);
         List<Map> mapList = new ArrayList<>();
         Map map;
         for (PoleLightemitEntity bean : poleLightemitEntities) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
index 63581e6..86f0aa9 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LEDProgramService.java
@@ -81,7 +81,7 @@
         return param;
     }
 
-    public List<LEDProgram> listProgram(BaseConditionVO baseConditionVO,Integer order,Integer seq, String keyword) {
+    public List<LEDProgram> listProgram(BaseConditionVO baseConditionVO, Integer order, Integer seq, String keyword) {
         LambdaQueryWrapper<LEDProgram> wrapper = listPrograms();
 
         if (keyword != null && !keyword.isEmpty()) {
@@ -120,6 +120,16 @@
         return list(wrapper);
     }
 
+    public List<LEDProgram> listProgramOnBinding(String keyword) {
+        LambdaQueryWrapper<LEDProgram> wrapper = listPrograms();
+
+        if (keyword != null && !keyword.isEmpty()) {
+            wrapper.like(LEDProgram::getName, keyword);
+        }
+
+        return list(wrapper);
+    }
+
 
     public LambdaQueryWrapper<LEDProgram> listPrograms() {
         if (SecurityUtils.getClientId() == null) {
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedPlayerEntityService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedPlayerEntityService.java
index 3ca62af..cc8b16c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedPlayerEntityService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/LedPlayerEntityService.java
@@ -161,4 +161,16 @@
         return SpringContextHolder.getBean(VnnoxService.class).setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
     }
 
+    public List<LedPlayerEntity> ledPlayerEntityListOnBinding(String keyword) {
+
+        List<LedPlayerEntity> list;
+        //瓒呯
+        if (SecurityUtils.getClientId() == null) {
+            list = ledPlayerEntityMapper.ledPlayerEntityListOnBinding(keyword, null);
+        } else {
+            list = ledPlayerEntityMapper.ledPlayerEntityListOnBinding(keyword, SecurityUtils.getUserId());
+        }
+        return SpringContextHolder.getBean(VnnoxService.class).setCacheInfo(vnnoxAPIUtil.syncCurrentInfo(list));
+    }
+
 }
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 c84328d..616465a 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
@@ -125,6 +125,35 @@
         return temp;
     }
 
+
+    /**
+     * 缁戝畾浣跨敤
+     *
+     * @param keyword
+     * @return
+     */
+    public List<PoleLightemitEntity> listLedOnBinding(String keyword) {
+        List<PoleLightemitEntity> poleLightemitEntityList;
+
+
+        //瓒呯
+        if (SecurityUtils.getClientId() == null) {
+            poleLightemitEntityList = poleLightemitDao.listLedOnBinding(keyword, null);
+        } else {
+            poleLightemitEntityList = poleLightemitDao.listLedOnBinding(keyword, SecurityUtils.getUserId());
+        }
+
+        for (PoleLightemitEntity poleLightemitEntity : poleLightemitEntityList) {
+            //鏌ヨ璁惧鍦ㄧ嚎鐘舵��
+            boolean onLine = lightemitUtils.getLedOnLine(poleLightemitEntity.getLightemitControlCode());
+            //鏌ヨ灞忓箷鐨勫紑鍚姸鎬�
+            String isOpen = lightemitUtils.getIsScreenOpen(poleLightemitEntity.getLightemitControlCode());
+            poleLightemitEntity.setIsOpen(String.valueOf(isOpen));
+            poleLightemitEntity.setOnLine(onLine);
+        }
+        return poleLightemitEntityList;
+    }
+
     /**
      * 鍙栧嚭鍦ㄧ嚎鐨勭啓璁�
      *

--
Gitblit v1.9.3