2021与蓝度共同重构项目,服务端
zhanzhiqin
2022-01-04 1fb4bbb7dd864cbe0da0d12826a9561783712e42
水质设备查询
已修改4个文件
103 ■■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/mapper/WaterQualityEquipmentMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml 55 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/WaterQualityEquipmentMapper.java
@@ -10,5 +10,8 @@
@Mapper
public interface WaterQualityEquipmentMapper extends BaseMapper<WaterQualityEquipment> {
    List<WaterQualityEquipmentBo> listWaterQualityEquipment();
    List<WaterQualityEquipmentBo> listWaterQualityEquipmentByKeyword(String keyword);
    List<Long> WaterQualityEquipmentId(String keyword, Long clientId);
    List<WaterQualityEquipmentBo> listWaterQualityEquipmentByIds(List<Long> waterQualityEquipmentIdList);
}
dao/src/main/resources/mapper/WaterQualityEquipmentMapper.xml
@@ -12,21 +12,6 @@
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
    </resultMap>
    <select id="listWaterQualityEquipmentByKeyword" resultType="com.sandu.ximon.dao.bo.WaterQualityEquipmentBo"
            parameterType="java.lang.String">
        SELECT
            t1.*, t2.pole_id,
            t3.pole_name
        FROM
            water_quality_equipment t1
        LEFT JOIN pole_binding t2 ON t1.water_quality_equipment_code = t2.device_code
        AND t2.device_type = 4
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        WHERE
            t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
        ORDER BY
            t1.id DESC
    </select>
    <select id="listWaterQualityEquipment" resultType="com.sandu.ximon.dao.bo.WaterQualityEquipmentBo">
        SELECT
            t1.*, t2.pole_id,
@@ -40,4 +25,44 @@
            t1.id DESC
    </select>
    <select id="WaterQualityEquipmentId" resultType="java.lang.Long">
        SELECT
        MAX(t1.id) AS water_quality_equipment_id
        FROM
        water_quality_equipment t1
        <if test="keyword != null and keyword != ''">
            LEFT JOIN pole_binding t2 ON t1.water_quality_equipment_code = t2.device_code
            AND t2.device_type = 4
            LEFT JOIN pole t3 ON t3.id = t2.pole_id
        </if>
        <where>
            <if test="keyword != null and keyword != ''">
                AND t3.pole_name LIKE CONCAT(CONCAT('%', #{keyword}), '%')
            </if>
            <if test="clientId != null">
                AND t3.client_id = #{clientId}
            </if>
        </where>
        GROUP BY
        t1.water_quality_equipment_code
    </select>
    <select id="listWaterQualityEquipmentByIds" resultType="com.sandu.ximon.dao.bo.WaterQualityEquipmentBo">
        SELECT
        t1.*, t2.pole_id,
        t3.pole_name
        FROM
        water_quality_equipment t1
        LEFT JOIN pole_binding t2 ON t1.water_quality_equipment_code = t2.device_code
        AND t2.device_type = 4
        LEFT JOIN pole t3 ON t3.id = t2.pole_id
        <where>
            t1.id IN
            <foreach collection="waterQualityEquipmentIdList" open="(" close=")" item="airId" separator=",">
                #{airId}
            </foreach>
        </where>
    </select>
</mapper>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java
@@ -1,6 +1,7 @@
package com.sandu.ximon.admin.controller;
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.WaterQualityEquipmentParam;
import com.sandu.ximon.admin.service.WaterQualityEquipmentService;
@@ -20,21 +21,15 @@
public class WaterQualityEquipmentController {
    private final WaterQualityEquipmentService waterQualityEquipmentService;
    @GetMapping
    public ResponseVO<Object> listWaterQualityEquipment() {
        List<WaterQualityEquipmentBo> list = waterQualityEquipmentService.listWaterQualityEquipment();
        return ResponseUtil.success(list);
    }
    /**
     * 模糊查询
     * 水质设备列表查询
     *
     * @return
     */
    @GetMapping("/listWaterQualityEquipmentByKeyword/{keyword}")
    public ResponseVO<Object> listWaterQualityEquipmentByKeyword(@PathVariable String keyword) {
        List<WaterQualityEquipmentBo> list = waterQualityEquipmentService.listWaterQualityEquipmentByKeyword(keyword);
        return ResponseUtil.success(list);
    @GetMapping("/listWaterQualityEquipment")
    public ResponseVO<Object> listWaterQualityEquipment(BaseConditionVO baseConditionVO, @RequestParam(required = false) String keyword) {
        List<WaterQualityEquipmentBo> list = waterQualityEquipmentService.listWaterQualityEquipmentByKeyword(baseConditionVO, keyword);
        return ResponseUtil.successPage(list);
    }
    /**
ximon-admin/src/main/java/com/sandu/ximon/admin/service/WaterQualityEquipmentService.java
@@ -1,10 +1,15 @@
package com.sandu.ximon.admin.service;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.pagehelper.PageHelper;
import com.sandu.common.execption.BusinessException;
import com.sandu.common.object.BaseConditionVO;
import com.sandu.common.service.impl.BaseServiceImpl;
import com.sandu.ximon.admin.param.WaterQualityEquipmentParam;
import com.sandu.ximon.admin.security.SecurityUtils;
import com.sandu.ximon.dao.bo.AirEquipmentBo;
import com.sandu.ximon.dao.bo.WaterQualityEquipmentBo;
import com.sandu.ximon.dao.domain.AirEquipment;
import com.sandu.ximon.dao.domain.Monitor;
@@ -32,20 +37,15 @@
    /**
     * 模糊查询
     */
    public List<WaterQualityEquipmentBo> listWaterQualityEquipmentByKeyword(String keyword) {
        if (keyword == null || keyword.trim().length() == 0) {
            return listWaterQualityEquipment();
        } else {
            return waterQualityEquipmentMapper.listWaterQualityEquipmentByKeyword(keyword);
    public List<WaterQualityEquipmentBo> listWaterQualityEquipmentByKeyword(BaseConditionVO baseConditionVO, String keyword) {
        Long clientId = SecurityUtils.getClientId();
        PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
        List<Long> listAirEquipmentId = waterQualityEquipmentMapper.WaterQualityEquipmentId(keyword, clientId);
        if (CollUtil.isEmpty(listAirEquipmentId)) {
            return CollUtil.newArrayList();
        }
//        LambdaQueryWrapper<WaterQualityEquipment> wrapper = Wrappers.lambdaQuery(WaterQualityEquipment.class);
////        if (keyword != null) {
////            wrapper.like(WaterQualityEquipment::getBelongTo, keyword);
////        }
//        List<WaterQualityEquipment> airDataList = list(wrapper);
//        waterQualityEquipmentMapper.listWaterQualityEquipmentByKeyword(keyword);
        List<WaterQualityEquipmentBo> waterQualityEquipmentBoList = waterQualityEquipmentMapper.listWaterQualityEquipmentByIds(listAirEquipmentId);
        return waterQualityEquipmentBoList;
    }
    /**