lihui001 3 gadi atpakaļ
vecāks
revīzija
e2eb0a2bb3

+ 3 - 0
zoniot-water/zoniot-water-api/src/main/java/com/zcxk/water/api/dto/AlarmTypeDetailsDto.java

@@ -25,4 +25,7 @@ public class AlarmTypeDetailsDto extends BasePageDto {
     @ApiModelProperty("结束时间")
     private String endTime;
 
+    @ApiModelProperty("0 : 历史报警 1:实时报警")
+    private int state;
+
 }

+ 11 - 1
zoniot-water/zoniot-water-core/src/main/java/com/zcxk/water/core/dao/AlarmTypeDetailMapper.java

@@ -46,9 +46,19 @@ public interface AlarmTypeDetailMapper {
     * @param condition:
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.zcxk.water.api.vo.AlarmDetailsEntityVo>
     **/
-    IPage<AlarmTypeDetailsEntityVo> selectPage(@Param("page") IPage<AlarmTypeDetailsDto> page, @Param("alarmDetailsDto") AlarmTypeDetailsDto alarmDetailsDto, @Param("userCondition") UserCondition condition);
+    IPage<AlarmTypeDetailsEntityVo> selectPage(@Param("page") IPage<AlarmTypeDetailsDto> page, @Param("dto") AlarmTypeDetailsDto alarmDetailsDto, @Param("userCondition") UserCondition condition);
 
 
+    /**
+    * 查询集合
+    * @author Andy
+    * @date 11:49 2021/10/20
+    * @param alarmDetailsDto:
+    * @param condition:
+    * @return java.util.List<com.zcxk.water.api.vo.AlarmTypeDetailsEntityVo>
+    **/
+    List<AlarmTypeDetailsEntityVo> selectList(@Param("alarmDetailsDto") AlarmTypeDetailsDto alarmDetailsDto, @Param("userCondition") UserCondition condition);
+
     /**
     * 更新状态
     * @author Andy

+ 29 - 0
zoniot-water/zoniot-water-core/src/main/java/com/zcxk/water/core/mapper/AlarmTypeDetailMapper.xml

@@ -57,6 +57,35 @@
         INNER JOIN sms_alarm_type sat on sad.alarm_id = sat.id
         INNER JOIN sms_device sd      on sd.id = sat.device_id
         INNER JOIN sms_device_type dt on dt.id = sd.DEVICE_TYPE_ID
+        <where>
+            <if test="dto.alarmName != null and dto.alarmName!=''" >
+                and sat.`name` like concat('%', #{dto.alarmName}, '%')
+            </if>
+            <if test="dto.alarmCategory != null and dto.alarmCategory!=''" >
+                and sat.alarm_category like concat('%', #{dto.alarmCategory}, '%')
+            </if>
+            <if test="dto.startTime != null">
+                and sad.alarm_start_time >=#{dto.startTime}
+            </if>
+            <if test="dto.endTime != null">
+                and sad.alarm_end_time &lt;= #{dto.endTime}
+            </if>
+            <if test="dto.state != null">
+                and sad.state = #{dto.state}
+            </if>
+            <include refid="permissionCondition"></include>
+            order by sad.create_date desc
+        </where>
+    </select>
+
+    <select id="selectList" resultType="com.zcxk.water.api.vo.AlarmTypeDetailsEntityVo">
+        select
+        sat.`name` as alarmName, sad.scene_name, sd.DEVICE_NAME as deviceName,
+        CONCAT(dt.MANUFACTURER_NAME,"/",dt.DEVICE_TYPE,"/",dt.DEVICE_MODE) as productName,sat.`desc`,sd.ADDRESS as address, sad.alarm_start_time
+        from sms_alarm_details  sad
+        INNER JOIN sms_alarm_type sat on sad.alarm_id = sat.id
+        INNER JOIN sms_device sd      on sd.id = sat.device_id
+        INNER JOIN sms_device_type dt on dt.id = sd.DEVICE_TYPE_ID
         <where>
             <if test="dto.alarmName != null and dto.alarmName!=''" >
                 and sat.`name` like concat('%', #{dto.alarmName}, '%')

+ 2 - 2
zoniot-water/zoniot-water-web/src/main/java/com/zcxk/water/web/controller/AlarmDetailsController.java

@@ -49,8 +49,8 @@ public class AlarmDetailsController {
 
     @RequestMapping(value="export" , method = RequestMethod.GET)
     @ApiOperation(value = "导出告警信息")
-    public void exportRealTime(AlarmDetailsPageDto dto, HttpServletResponse response) throws Exception {
-        EasyExcelUtil.excelWrite(response, AlarmDetailsRealTimeDto.class, "实时报警记录", null);
+    public void exportRealTime(AlarmTypeDetailsDto dto, HttpServletResponse response) throws Exception {
+        EasyExcelUtil.excelWrite(response, AlarmDetailsRealTimeDto.class, "实时报警记录", alarmTypeDetailsService.selectList(dto));
     }
 
 }

+ 12 - 0
zoniot-water/zoniot-water-web/src/main/java/com/zcxk/water/web/service/AlarmTypeDetailsService.java

@@ -2,10 +2,12 @@ package com.zcxk.water.web.service;
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcxk.core.common.pojo.UserCondition;
 import com.zcxk.water.api.dto.AlarmDetailsAddDto;
 import com.zcxk.water.api.dto.AlarmDetailsDto;
 import com.zcxk.water.api.dto.AlarmTypeDetailsDto;
 import com.zcxk.water.api.vo.AlarmTypeDetailsEntityVo;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -46,6 +48,16 @@ public interface AlarmTypeDetailsService {
     **/
     IPage<AlarmTypeDetailsEntityVo> selectPage(IPage<AlarmTypeDetailsDto> page, AlarmTypeDetailsDto alarmDetailsDto);
 
+
+    /**
+    * 查询集合
+    * @author Andy
+    * @date 11:50 2021/10/20
+    * @param alarmDetailsDto:
+    * @return java.util.List<com.zcxk.water.api.vo.AlarmTypeDetailsEntityVo>
+    **/
+    List<AlarmTypeDetailsEntityVo> selectList(AlarmTypeDetailsDto alarmDetailsDto);
+
     /**
     * 修改报警状态
     * @author Andy

+ 7 - 0
zoniot-water/zoniot-water-web/src/main/java/com/zcxk/water/web/service/impl/AlarmTypeDetailsServiceImpl.java

@@ -1,6 +1,7 @@
 package com.zcxk.water.web.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.zcxk.core.common.pojo.UserCondition;
 import com.zcxk.core.common.util.BeanCopyUtils;
 import com.zcxk.core.oauth2.util.UserUtil;
 import com.zcxk.water.api.dto.AlarmDetailsAddDto;
@@ -62,9 +63,15 @@ public class AlarmTypeDetailsServiceImpl implements AlarmTypeDetailsService {
 
     @Override
     public IPage<AlarmTypeDetailsEntityVo> selectPage(IPage<AlarmTypeDetailsDto> page, AlarmTypeDetailsDto alarmDetailsDto) {
+        alarmDetailsDto.setState(AlarmStateEnum.REALTIME_ALARM.getCode());
         return alarmTypeDetailMapper.selectPage(page, alarmDetailsDto, UserUtil.getCurrentUser().getUserCondition());
     }
 
+    @Override
+    public List<AlarmTypeDetailsEntityVo> selectList(AlarmTypeDetailsDto alarmDetailsDto) {
+        return alarmTypeDetailMapper.selectList(alarmDetailsDto, UserUtil.getCurrentUser().getUserCondition());
+    }
+
     @Override
     public Integer updateStateByDeviceId(Long deviceId, Integer state) {
         return alarmTypeDetailMapper.updateStateByDeviceId(deviceId, state);