Browse Source

报警设置分页查询

yuejiaying 4 years ago
parent
commit
9fe18e566f

+ 26 - 1
sms_water/src/main/java/com/huaxu/controller/AlarmSettingController.java

@@ -2,7 +2,9 @@ package com.huaxu.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.dto.AlarmSettingDto;
 import com.huaxu.entity.AlarmSetting;
+import com.huaxu.entity.GisSetting;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.LoginUser;
 import com.huaxu.model.Pagination;
@@ -82,7 +84,7 @@ public class AlarmSettingController {
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
     /**
-     * 根据机构查询Gis设置数据
+     * 根据id查询报警设置数据
      *
      * @param id
      * @return
@@ -96,4 +98,27 @@ public class AlarmSettingController {
         AlarmSetting result = alarmSettingService.selectById(id);
         return new AjaxMessage<>(ResultStatus.OK, result);
     }
+
+    /**
+     * 分页查询报警设置数据
+     *
+     * @param attributeName 报警参数
+     * @param sceneId 场景id
+     * @return
+     */
+    @RequestMapping(value = "selectPage", method = RequestMethod.GET)
+    @ApiOperation(value = "分页查询报警设置数据")
+    public AjaxMessage<Pagination<AlarmSettingDto>> selectPage(
+            @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
+            @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
+            @ApiParam(value = "报警参数", required = false) @RequestParam(required = false) String attributeName,
+            @ApiParam(value = "场景id", required = false) @RequestParam(required = false) Integer sceneId) {
+        AlarmSettingDto alarmSettingDto=new AlarmSettingDto();
+        alarmSettingDto.setAttributeName(attributeName);
+        alarmSettingDto.setSceneId(sceneId);
+        IPage<AlarmSettingDto> iPage = new Page<>(pageNum, pageSize);
+        iPage = alarmSettingService.selectPage(iPage, alarmSettingDto);
+        Pagination<AlarmSettingDto> pages = new Pagination<>(iPage);
+        return new AjaxMessage<>(ResultStatus.OK, pages);
+    }
 }

+ 10 - 1
sms_water/src/main/java/com/huaxu/dao/AlarmSettingMapper.java

@@ -1,8 +1,12 @@
 package com.huaxu.dao;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.dto.AlarmSettingDto;
 import com.huaxu.entity.AlarmSetting;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 
 /**
@@ -14,5 +18,10 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface AlarmSettingMapper extends BaseMapper<AlarmSetting> {
-
+    /**
+     * 自定义分页查询
+     * @param  page
+     * @param  alarmSettingDto 实体类
+     */
+    Page<AlarmSettingDto> findPage(IPage<AlarmSettingDto> page, @Param("alarm") AlarmSettingDto alarmSettingDto);
 }

+ 13 - 1
sms_water/src/main/java/com/huaxu/service/AlarmSettingService.java

@@ -5,10 +5,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaxu.dao.AlarmSettingMapper;
+import com.huaxu.dto.AlarmSettingDto;
 import com.huaxu.entity.AlarmSetting;
+import com.huaxu.entity.GisSetting;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -21,6 +24,8 @@ import java.util.List;
  */
 @Service
 public class AlarmSettingService extends ServiceImpl<AlarmSettingMapper, AlarmSetting> {
+    @Resource
+    private AlarmSettingMapper alarmSettingMapper;
     /**
      * 删除数据
      *
@@ -49,7 +54,7 @@ public class AlarmSettingService extends ServiceImpl<AlarmSettingMapper, AlarmSe
         return this.saveBatch(listAlarmSetting);
     }
     /**
-     * 根据机构查询Gis设置数据
+     * 根据id查询报警设置数据
      *
      * @param id 所属公司
      * @return 单条数据
@@ -57,4 +62,11 @@ public class AlarmSettingService extends ServiceImpl<AlarmSettingMapper, AlarmSe
     public AlarmSetting selectById(Integer id){
         return this.getById(id);
     }
+
+    /**
+     * 根据报警参数、场景查询报警设置数据
+     */
+     public IPage<AlarmSettingDto> selectPage(IPage<AlarmSettingDto> page, AlarmSettingDto alarmSettingDto){
+        return alarmSettingMapper.findPage(page,alarmSettingDto);
+    }
 }

+ 59 - 0
sms_water/src/main/resources/mapper/AlarmSettingMapper.xml

@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huaxu.dao.AlarmSettingMapper">
+    <!-- 结果集 -->
+    <resultMap type="com.huaxu.dto.AlarmSettingDto" id="alarmSettingMap">
+        <result property="id" column="ID" jdbcType="INTEGER"/>
+        <result property="companyOrgId" column="company_org_id" jdbcType="INTEGER"/>
+        <result property="deptOrgId" column="dept_org_id" jdbcType="INTEGER"/>
+        <result property="sceneId" column="scene_id" jdbcType="INTEGER"/>
+        <result property="sceneName" column="scene_name" jdbcType="VARCHAR"/>
+        <result property="deviceId" column="device_id" jdbcType="INTEGER"/>
+        <result property="deviceName" column="device_name" jdbcType="VARCHAR"/>
+        <result property="deviceType" column="device_type" jdbcType="VARCHAR"/>
+        <result property="attributeId" column="attribute_id" jdbcType="INTEGER"/>
+        <result property="attributeName" column="attribute_name" jdbcType="VARCHAR"/>
+        <result property="alarmType" column="alarm_type" jdbcType="VARCHAR"/>
+        <result property="alarmCondition" column="alarm_condition" jdbcType="VARCHAR"/>
+        <result property="alarmValue" column="alarm_value" jdbcType="VARCHAR"/>
+        <result property="remark" column="remark" jdbcType="VARCHAR"/>
+        <result property="status" column="status" jdbcType="INTEGER"/>
+        <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
+        <result property="dateCreate" column="date_create" jdbcType="TIMESTAMP"/>
+        <result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
+        <result property="dateUpdate" column="date_update" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <!-- 基本字段 -->
+    <sql id="Base_Column_List">
+         t1.*,t2.company_org_id,t2.dept_org_id,t2.scene_id,t3.scene_name,t2.device_name,t2.device_type_id,t5.device_type,t4.name attribute_name
+     </sql>
+
+    <!-- 外联表  -->
+    <sql id="leftJoins">
+        left join sms_device t2 on t1.device_id=t2.id
+        left join sms_scene t3 on t2.scene_id=t3.id
+        left join sms_device_attribute t4 on t1.attribute_id=t4.id
+        left join sms_device_type t5 on t2.device_type_id=t5.id
+     </sql>
+
+    <select id="findPage" resultMap="alarmSettingMap">
+        select
+        <include refid="Base_Column_List"/>
+        from sms_alarm_setting t1
+        <include refid="leftJoins"/>
+        <where>
+            <if test="alarm.id != null">
+                and t1.id = #{alarm.id}
+            </if>
+            <if test="alarm.attributeName != null and alarm.attributeName != ''">
+                and t4.name like CONCAT('%',#{alarm.attributeName},'%')
+            </if>
+            <if test="alarm.sceneId != null ">
+                and t2.scene_id = #{alarm.sceneId}
+            </if>
+            and t1.STATUS =1
+        </where>
+    </select>
+
+</mapper>