烟感报警近七日趋势

This commit is contained in:
guo 2024-03-16 11:36:43 +08:00
parent 122ac145f9
commit 01ec0e3a18
5 changed files with 36 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.oConvertUtils;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.smoke.entity.AddAlarmDto;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDevAlarm;
@ -210,4 +211,12 @@ public class SmokeDevAlarmController {
return Result.success(smokeDevAlarmService.countSmokeDevAlarm(paramMap));
}
@ApiOperation(value = "近七日趋势(次)", notes = "近七日趋势(次)", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
})
@PostMapping(value = "/getPassWeekTrend")
public Result<List<TrendOneVo>> getPassWeekTrend(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(smokeDevAlarmService.getPassWeekTrend(paramMap));
}
}

View File

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDevAlarmVo;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDevAlarm;
@ -11,6 +12,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 烟感报警数据
@ -24,4 +26,6 @@ public interface SmokeDevAlarmMapper extends BaseMapper<SmokeDevAlarm> {
IPage<SmokeDevAlarm> queryPageList(Page<SmokeDevAlarm> page, @Param(Constants.WRAPPER) QueryWrapper<SmokeDevAlarm> queryWrapper);
CountSmokeDevAlarmVo countSmokeDevAlarm(HashMap<String, Object> paramMap);
List<TrendOneVo> getPassWeekTrend(HashMap<String, Object> paramMap);
}

View File

@ -20,4 +20,14 @@
and project_sn = #{projectSn}
</if>
</select>
<select id="getPassWeekTrend" resultType="com.zhgd.xmgl.base.entity.vo.TrendOneVo">
select
date_format(alarm_time, '%Y-%m-%d') x,
count(*) y
from smoke_dev_alarm
where project_sn = #{projectSn}
and alarm_time > date_sub(alarm_time, interval 8 day)
group by x
</select>
</mapper>

View File

@ -1,6 +1,7 @@
package com.zhgd.xmgl.modules.smoke.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.smoke.entity.AddAlarmDto;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDevAlarm;
import com.baomidou.mybatisplus.extension.service.IService;
@ -8,6 +9,7 @@ import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDevAlarmVo;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
/**
* @Description: 烟感报警数据
@ -22,4 +24,6 @@ public interface ISmokeDevAlarmService extends IService<SmokeDevAlarm> {
IPage<SmokeDevAlarm> queryPageList(SmokeDevAlarm smokeDevAlarm, Integer pageNo, Integer pageSize, HttpServletRequest req);
CountSmokeDevAlarmVo countSmokeDevAlarm(HashMap<String, Object> paramMap);
List<TrendOneVo> getPassWeekTrend(HashMap<String, Object> paramMap);
}

View File

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gexin.fastjson.JSON;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.smoke.entity.AddAlarmDto;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDevAlarm;
@ -15,6 +16,7 @@ import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDevAlarmVo;
import com.zhgd.xmgl.modules.smoke.mapper.SmokeDevAlarmMapper;
import com.zhgd.xmgl.modules.smoke.mapper.SmokeDevMapper;
import com.zhgd.xmgl.modules.smoke.service.ISmokeDevAlarmService;
import com.zhgd.xmgl.util.DateUtils;
import com.zhgd.xmgl.util.RefUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@ -23,6 +25,7 @@ import org.springframework.stereotype.Service;
import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
/**
@ -80,4 +83,10 @@ public class SmokeDevAlarmServiceImpl extends ServiceImpl<SmokeDevAlarmMapper, S
public CountSmokeDevAlarmVo countSmokeDevAlarm(HashMap<String, Object> paramMap) {
return baseMapper.countSmokeDevAlarm(paramMap);
}
@Override
public List<TrendOneVo> getPassWeekTrend(HashMap<String, Object> paramMap) {
List<TrendOneVo> list = baseMapper.getPassWeekTrend(paramMap);
return TrendOneVo.fillTrendVos(list, DateUtils.getDateTimeStrList(60, "yyyy-MM-dd"), "yyyy-MM-dd");
}
}