临边防护无网设备(在线、离线、总的)数量和报警趋势接口

This commit is contained in:
guo 2024-03-27 17:37:39 +08:00
parent acd1fb0f34
commit e0feef8ebe
17 changed files with 125 additions and 34 deletions

View File

@ -1,5 +1,7 @@
package com.zhgd.xmgl.modules.frontierprotectionnonet.controller;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.base.entity.vo.TrendVo;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetData;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.dto.FrontierProtectionNoNetDataDto;
import com.zhgd.xmgl.modules.frontierprotectionnonet.service.IFrontierProtectionNoNetDataService;
@ -148,4 +150,15 @@ public class FrontierProtectionNoNetDataController {
return frontierProtectionNoNetDataService.alaDeviceSubscribe(dto);
}
@ApiOperation(value = "统计报警趋势图", notes = "统计报警趋势图", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
@ApiImplicitParam(name = "type", value = "1近7天", paramType = "body", required = true, dataType = "Integer"),
})
@PostMapping(value = "/getTrendData")
public Result<List<TrendOneVo>> getTrendData(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(frontierProtectionNoNetDataService.getTrendData(paramMap));
}
}

View File

@ -1,6 +1,7 @@
package com.zhgd.xmgl.modules.frontierprotectionnonet.controller;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
@ -136,4 +137,12 @@ public class FrontierProtectionNoNetDevController {
return result;
}
@ApiOperation(value = "统计临边防护(无网)-设备信息", notes = "统计临边防护(无网)-设备信息", httpMethod = "POST")
@ApiImplicitParams({
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
})
@PostMapping(value = "/countFrontierProtectionNoNetDev")
public Result<CountDev> countFrontierProtectionNoNetDev(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(frontierProtectionNoNetDevService.countFrontierProtectionNoNetDev(paramMap));
}
}

View File

@ -4,11 +4,13 @@ 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.frontierprotectionnonet.entity.FrontierProtectionNoNetData;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
/**
@ -23,4 +25,6 @@ public interface FrontierProtectionNoNetDataMapper extends BaseMapper<FrontierPr
List<FrontierProtectionNoNetData> queryList(@Param(Constants.WRAPPER) QueryWrapper<FrontierProtectionNoNetData> queryWrapper);
IPage<FrontierProtectionNoNetData> queryList(Page<FrontierProtectionNoNetData> page, @Param(Constants.WRAPPER) QueryWrapper<FrontierProtectionNoNetData> queryWrapper);
List<TrendOneVo> getTrendData(HashMap<String, Object> map);
}

View File

@ -4,11 +4,13 @@ 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.modules.smoke.entity.vo.CountDev;
import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetDev;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import java.util.HashMap;
import java.util.List;
/**
@ -23,4 +25,6 @@ public interface FrontierProtectionNoNetDevMapper extends BaseMapper<FrontierPro
List<FrontierProtectionNoNetDev> queryList(@Param(Constants.WRAPPER) QueryWrapper<FrontierProtectionNoNetDev> queryWrapper);
IPage<FrontierProtectionNoNetDev> queryList(Page<FrontierProtectionNoNetDev> page, @Param(Constants.WRAPPER) QueryWrapper<FrontierProtectionNoNetDev> queryWrapper);
CountDev countFrontierProtectionNoNetDev(HashMap<String, Object> paramMap);
}

View File

@ -8,4 +8,20 @@
left join system_user su on su.user_id=fpnnd.operate_id
${ew.customSqlSegment}
</select>
<select id="getTrendData" resultType="com.zhgd.xmgl.base.entity.vo.TrendOneVo">
select
<if test="type == '1'.toString()">
date_format(alarm_time,'%Y-%m-%d') x,
</if>
count(*) y from frontier_protection_no_net_data
where 1=1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>
group by x
</select>
</mapper>

View File

@ -2,8 +2,22 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.frontierprotectionnonet.mapper.FrontierProtectionNoNetDevMapper">
<select id="queryList" resultType="com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetDev">
select fpnnd.*,ti.team_name as dutyTeamInfoName from frontier_protection_no_net_dev fpnnd
select fpnnd.*, ti.team_name as dutyTeamInfoName
from frontier_protection_no_net_dev fpnnd
left join team_info ti on fpnnd.duty_team_info_id = ti.id
${ew.customSqlSegment}
</select>
<select id="countFrontierProtectionNoNetDev" resultType="com.zhgd.xmgl.modules.smoke.entity.vo.CountDev">
select t.*, t.total - t.onlineNum as offLineNum from (
select count(*) as total, ifnull(sum(if(on_line = 1, 1, 0)), 0) onlineNum
from frontier_protection_no_net_dev
where 1 = 1
<if test="projectSn != null and projectSn != ''">
and project_sn = #{projectSn}
</if>
<if test="devSn != null and devSn != ''">
and dev_sn = #{devSn}
</if>)t
</select>
</mapper>

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.frontierprotectionnonet.service;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetData;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -25,4 +26,6 @@ public interface IFrontierProtectionNoNetDataService extends IService<FrontierPr
void edit(FrontierProtectionNoNetData frontierProtectionNoNetData);
Integer alaDeviceSubscribe(FrontierProtectionNoNetDataDto dto);
List<TrendOneVo> getTrendData(HashMap<String, Object> paramMap);
}

View File

@ -3,6 +3,7 @@ package com.zhgd.xmgl.modules.frontierprotectionnonet.service;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetDev;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import java.util.HashMap;
import java.util.List;
@ -22,4 +23,6 @@ public interface IFrontierProtectionNoNetDevService extends IService<FrontierPro
void add(FrontierProtectionNoNetDev frontierProtectionNoNetDev);
void edit(FrontierProtectionNoNetDev frontierProtectionNoNetDev);
CountDev countFrontierProtectionNoNetDev(HashMap<String, Object> paramMap);
}

View File

@ -1,5 +1,6 @@
package com.zhgd.xmgl.modules.frontierprotectionnonet.service.impl;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
@ -7,6 +8,8 @@ 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.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
import com.zhgd.xmgl.modules.ammeter.entity.AmmeterRecordDetail;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetData;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetDev;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.dto.FrontierProtectionNoNetDataDto;
@ -15,16 +18,16 @@ import com.zhgd.xmgl.modules.frontierprotectionnonet.mapper.FrontierProtectionNo
import com.zhgd.xmgl.modules.frontierprotectionnonet.service.IFrontierProtectionNoNetDataService;
import com.zhgd.xmgl.security.entity.UserInfo;
import com.zhgd.xmgl.security.util.SecurityUtils;
import com.zhgd.xmgl.util.DateUtils;
import com.zhgd.xmgl.util.PageUtil;
import com.zhgd.xmgl.util.RefUtil;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description: 临边防护(无网)-数据
@ -120,4 +123,18 @@ public class FrontierProtectionNoNetDataServiceImpl extends ServiceImpl<Frontier
baseMapper.insert(data);
return 0;
}
@Override
public List<TrendOneVo> getTrendData(HashMap<String, Object> map) {
Integer type = MapUtils.getInteger(map, "type");
String projectSn = MapUtils.getString(map, "projectSn");
String devSn = MapUtils.getString(map, "devSn");
if (Objects.equals(type, 1)) {
//近7天
List<TrendOneVo> list = baseMapper.getTrendData(map);
List<String> days = DateUtils.getDateTimeStrList(60, "yyyy-MM-dd");
return TrendOneVo.fillTrendVos(list, days, "MM-dd");
}
return null;
}
}

View File

@ -5,6 +5,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.modules.frontierprotectionnonet.entity.FrontierProtectionNoNetDev;
import com.zhgd.xmgl.modules.frontierprotectionnonet.mapper.FrontierProtectionNoNetDevMapper;
import com.zhgd.xmgl.modules.frontierprotectionnonet.service.IFrontierProtectionNoNetDevService;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -80,4 +81,9 @@ public class FrontierProtectionNoNetDevServiceImpl extends ServiceImpl<FrontierP
}
baseMapper.updateById(frontierProtectionNoNetDev);
}
@Override
public CountDev countFrontierProtectionNoNetDev(HashMap<String, Object> paramMap) {
return baseMapper.countFrontierProtectionNoNetDev(paramMap);
}
}

View File

@ -7,7 +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.xmgl.modules.smoke.entity.SmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import com.zhgd.xmgl.modules.smoke.service.ISmokeDevService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -170,7 +170,7 @@ public class SmokeDevController {
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
})
@PostMapping(value = "/countSmokeDev")
public Result<CountSmokeDev> countSmokeDev(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
public Result<CountDev> countSmokeDev(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
return Result.success(smokeDevService.countSmokeDev(paramMap));
}
}

View File

@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class CountSmokeDev {
public class CountDev {
@ApiModelProperty("设备总数")
private Integer total;
@ApiModelProperty("在线设备总数")

View File

@ -5,7 +5,7 @@ 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.modules.smoke.entity.SmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
@ -23,5 +23,5 @@ public interface SmokeDevMapper extends BaseMapper<SmokeDev> {
IPage<SmokeDev> queryWrapper(Page<SmokeDev> page, @Param(Constants.WRAPPER) QueryWrapper<SmokeDev> queryWrapper);
CountSmokeDev countSmokeDev(HashMap<String, Object> paramMap);
CountDev countSmokeDev(HashMap<String, Object> paramMap);
}

View File

@ -11,7 +11,7 @@
${ew.customSqlSegment}
</select>
<select id="countSmokeDev" resultType="com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDev">
<select id="countSmokeDev" resultType="com.zhgd.xmgl.modules.smoke.entity.vo.CountDev">
select
count(*) total,
count(*) onlineNum,

View File

@ -3,7 +3,7 @@ package com.zhgd.xmgl.modules.smoke.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDev;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
@ -22,5 +22,5 @@ public interface ISmokeDevService extends IService<SmokeDev> {
void edit(SmokeDev smokeDev);
CountSmokeDev countSmokeDev(HashMap<String, Object> paramMap);
CountDev countSmokeDev(HashMap<String, Object> paramMap);
}

View File

@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.smoke.entity.SmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountSmokeDev;
import com.zhgd.xmgl.modules.smoke.entity.vo.CountDev;
import com.zhgd.xmgl.modules.smoke.mapper.SmokeDevMapper;
import com.zhgd.xmgl.modules.smoke.service.ISmokeDevService;
import com.zhgd.xmgl.util.RefUtil;
@ -58,7 +58,7 @@ public class SmokeDevServiceImpl extends ServiceImpl<SmokeDevMapper, SmokeDev> i
}
@Override
public CountSmokeDev countSmokeDev(HashMap<String, Object> paramMap) {
public CountDev countSmokeDev(HashMap<String, Object> paramMap) {
return smokeDevMapper.countSmokeDev(paramMap);
}

View File

@ -339,6 +339,8 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers("/xmgl/xzRegistry/add").permitAll()
.antMatchers("/xmgl/safetyHatData/updateStatus").permitAll()
.antMatchers("/xmgl/frontierProtectionNoNetData/page").permitAll()
.antMatchers("/xmgl/frontierProtectionNoNetDev/countFrontierProtectionNoNetDev").permitAll()
.antMatchers("/xmgl/frontierProtectionNoNetData/getTrendData").permitAll()
.antMatchers(HttpMethod.OPTIONS, "/**").anonymous()
.anyRequest().authenticated() // 剩下所有的验证都需要验证.
.and()