Ver código fonte

修复泵站状态分析问题
添加数据报警时间段查询

lihui007 3 anos atrás
pai
commit
863ee9f758

+ 4 - 0
sms_water/src/main/java/com/huaxu/dto/watePump/WaterPumpStateDto.java

@@ -28,4 +28,8 @@ public class WaterPumpStateDto {
     @ApiModelProperty("结束时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
     private Date endTime;
+
+    public Date getEndTime(){
+        return endTime == null ? new Date() : endTime;
+    }
 }

+ 6 - 5
sms_water/src/main/java/com/huaxu/quartz/service/AbstractDataAlarmJobService.java

@@ -72,12 +72,13 @@ public abstract class AbstractDataAlarmJobService {
             log.info("获取数据报警管理参数数据为空");
             return;
         }
-        DataAlarmManageEntity manageEntity = null;
+        DataAlarmManageEntity manageEntity    = null;
+        DataAlarmDetailEntity nowDetailEntity = null;
         Map<Long, DataAlarmDetailEntity> alarmDetailsDtoMap = getMapDataAlarmDetail(manageVoList);
         for (DataAlarmManageVo manageVo : manageVoList) {
             manageEntity = new DataAlarmManageEntity();
             BeanUtils.copyProperties(manageVo, manageEntity);
-            DataAlarmDetailEntity nowDetailEntity = this.getAlarmValue(manageEntity);
+            nowDetailEntity = this.getAlarmValue(manageEntity);
             if (nowDetailEntity == null) {
                 continue;
             }
@@ -87,7 +88,7 @@ public abstract class AbstractDataAlarmJobService {
             this.saveDataAlarmAnalysis(nowDetailEntity);
             // 计算出来属于报警,处理报警数据
             if (isAlarm) {
-                handAlarm(alarmDetailsDtoMap, manageVo, nowDetailEntity);
+                handleAlarm(alarmDetailsDtoMap, manageVo, nowDetailEntity);
                 continue;
             }
             // 存在报警信息,但已不报警,则更新为历史数据
@@ -150,7 +151,7 @@ public abstract class AbstractDataAlarmJobService {
     * @param nowDetailEntity :  当前报警数据
     * @return void
     **/
-    private void handAlarm(Map<Long, DataAlarmDetailEntity> alarmDetailsDtoMap, DataAlarmManageVo manageVo, DataAlarmDetailEntity nowDetailEntity){
+    private void handleAlarm(Map<Long, DataAlarmDetailEntity> alarmDetailsDtoMap, DataAlarmManageVo manageVo, DataAlarmDetailEntity nowDetailEntity){
         if (!alarmDetailsDtoMap.containsKey(manageVo.getId())){
             this.saveDataAlarmDetail(nowDetailEntity);
             this.sendMessage(manageVo);
@@ -166,7 +167,7 @@ public abstract class AbstractDataAlarmJobService {
             dataAlarmDetailMapper.updateAlrarmData(dataAlarmDetailEntity);
             return;
         }
-        // 规则有变,数据更新为历史数据,再添加一条新的历史报警记录
+        // 规则有变,数据更新为历史数据,再添加一条新的历史报警记录
         dataAlarmDetailMapper.updateHistoryData(dataAlarmDetailEntity.getId());
         this.saveDataAlarmDetail(nowDetailEntity);
     }

+ 5 - 0
sms_water/src/main/java/com/huaxu/service/impl/alarm/DataAlarmAnalysisServiceImpl.java

@@ -1,11 +1,13 @@
 package com.huaxu.service.impl.alarm;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaxu.common.StringUtils;
 import com.huaxu.dao.alarm.DataAlarmAnalysisMapper;
 import com.huaxu.dto.alarm.DataAlarmDto;
 import com.huaxu.dto.alarm.DataAlarmQueryDto;
 import com.huaxu.model.LoginUser;
 import com.huaxu.service.DataAlarmAnalysisService;
+import com.huaxu.util.DatesUtil;
 import com.huaxu.util.UserUtil;
 import com.huaxu.vo.DataAlarmAnalysisVo;
 import lombok.extern.log4j.Log4j2;
@@ -13,6 +15,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.Date;
 
 /**
  * 数据报警数据分析
@@ -38,6 +41,8 @@ public class DataAlarmAnalysisServiceImpl implements DataAlarmAnalysisService {
         queryDto.setUserType(loginUser.getType());
         //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
         queryDto.setPermissonType(loginUser.getPermissonType());
+        queryDto.setBeginTime(StringUtils.isEmpty(dto.getBeginTime()) ? DatesUtil.formatDate(new Date(),"yyyy-MM-dd") + " 00:00:00" : dto.getBeginTime());
+        queryDto.setEndTime(StringUtils.isEmpty(dto.getEndTime()) ? DatesUtil.formatDate(new Date(),"yyyy-MM-dd") + " 23:59:59" : dto.getEndTime());
         return dataAlarmAnalysisMapper.findPage(new Page<>(dto.getPageNum(), dto.getPageSize()), queryDto);
     }
 }

+ 3 - 0
sms_water/src/main/resources/mapper/DataAlarmAnalysisMapper.xml

@@ -66,6 +66,9 @@
             <if test="dto.alarmName != null and dto.alarmName != ''">
                 and a.alarm_name like CONCAT('%',#{dto.alarmName,jdbcType=VARCHAR},'%')
             </if>
+            <if test="dto.beginTime != null and dto.endTime != null and dto.beginTime != '' and dto.endTime != ''">
+                and a.date_create  between #{dto.beginTime} and #{dto.endTime}
+            </if>
             and a.status = 1
         </where>
         order by id desc

+ 1 - 1
sms_water/src/main/resources/mapper/ReportWaterPumpStateMapper.xml

@@ -54,7 +54,7 @@
                     #{dramaId.id}
                 </foreach>
             </if>
-            and a.state_begin_time > #{waterPump.beginTime}
+            and a.state_begin_time >= #{waterPump.beginTime}
         </where>
         <!--order by a.DEVICE_ID,a.state_begin_time -->
     </select>