合并解决冲突或升级jdk17语法
This commit is contained in:
parent
35434ada14
commit
76c7de5d3a
@ -1605,4 +1605,47 @@ public class ParamEnum {
|
||||
}
|
||||
}
|
||||
|
||||
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
|
||||
public enum FrontierProtectionDevAlarmTypeEnum implements BaseEnum {
|
||||
PROXIMITY(1, "人员靠近入侵"),
|
||||
PORT_STATUS1(2, "线锁1断开"),
|
||||
PORT_STATUS2(3, "线锁2断开"),
|
||||
MAG_STATUS1_ALARM(4, "磁锁1报警"),
|
||||
MAG_STATUS1_DISABLED(5, "磁锁1失效"),
|
||||
MAG_STATUS2_ALARM(6, "磁锁2报警"),
|
||||
MAG_STATUS2_DISABLED(7, "磁锁2失效"),
|
||||
ANTI_CROSS_ALARM(8, "防翻越报警"),
|
||||
ANTI_CROSS_DISABLED(9, "防翻越失效"),
|
||||
LOW_POWER(10, "低电量报警"),
|
||||
;
|
||||
private Integer value;
|
||||
private String desc;
|
||||
|
||||
FrontierProtectionDevAlarmTypeEnum(Integer value, String desc) {
|
||||
this.value = value;
|
||||
this.desc = desc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setValue(Integer value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDesc(String desc) {
|
||||
this.desc = desc;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -6,7 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
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.base.entity.vo.SectorOneVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.enums.ParamEnum;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionDevAlarmVo;
|
||||
import com.zhgd.xmgl.modules.frontier.enums.AlarmEnum;
|
||||
@ -183,7 +186,9 @@ public class FrontierProtectionDevAlarmController {
|
||||
@ApiOperation(value = "统计临边防护报警趋势(近7日趋势(次))", notes = "统计临边防护报警趋势(近7日趋势(次))", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "type", value = "1近7天", paramType = "body", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "type", value = "1近7天、2近24小时", paramType = "body", required = true, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "alarmType", value = "报警类型(/xmgl/frontierProtectionDevAlarm/getFrontierProtectionAlarmTypeEnum接口返回的alarmType)", paramType = "body", required = false, dataType = "Integer"),
|
||||
@ApiImplicitParam(name = "devSn", value = "临边防护设备sn", paramType = "body", required = false, dataType = "Integer"),
|
||||
})
|
||||
@PostMapping(value = "/countFrontierProtectionDevAlarmTrend")
|
||||
public Result<List<TrendOneVo>> countFrontierProtectionDevAlarmTrend(@Parameter(hidden = true) @RequestBody HashMap<String, Object> paramMap) {
|
||||
@ -196,4 +201,18 @@ public class FrontierProtectionDevAlarmController {
|
||||
AlarmEnum[] values = AlarmEnum.values();
|
||||
return Result.success(values);
|
||||
}
|
||||
|
||||
@ApiOperation(value = "报警类型统计", notes = "报警类型统计", httpMethod = "POST")
|
||||
@ApiImplicitParams({
|
||||
@ApiImplicitParam(name = "projectSn", value = "项目sn", paramType = "body", required = true, dataType = "String"),
|
||||
@ApiImplicitParam(name = "devSn", value = "设备sn", paramType = "body", required = false, dataType = "String"),
|
||||
@ApiImplicitParam(name = "type", value = "1今日2、7日3、30日", paramType = "body", required = true, dataType = "Integer"),
|
||||
})
|
||||
@PostMapping(value = "/countAlarmType")
|
||||
public Result<SectorVo> countAlarmType(@ApiIgnore @RequestBody HashMap<String, Object> paramMap) {
|
||||
ArrayList<SectorOneVo> list = frontierProtectionDevAlarmService.countAlarmType(paramMap);
|
||||
return Result.success(SectorVo.getSectorVoByEnum(list, ParamEnum.FrontierProtectionDevAlarmTypeEnum.values(), false));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.frontier.entity.vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
@Data
|
||||
public class CountFrontierProtectionVo {
|
||||
@ApiModelProperty("设备总数")
|
||||
@ -13,4 +15,14 @@ public class CountFrontierProtectionVo {
|
||||
private Integer lowBatteryWarningDevNumToday;
|
||||
@ApiModelProperty("翻越报警预警设备数(今日)")
|
||||
private Integer overpassWarningDevNumToday;
|
||||
@ApiModelProperty(value = "在线设备数量")
|
||||
private java.lang.Integer onlineNum;
|
||||
@ApiModelProperty(value = "离线设备数量")
|
||||
private java.lang.Integer offlineNum;
|
||||
@ApiModelProperty(value = "今日报警数量")
|
||||
private java.lang.Integer alarmNumToday;
|
||||
@ApiModelProperty(value = "昨日报警数量")
|
||||
private java.lang.Integer alarmNumYesterday;
|
||||
@ApiModelProperty(value = "今日报警数量相比昨日%")
|
||||
private BigDecimal alarmNumThanYesterdayPct;
|
||||
}
|
||||
|
||||
@ -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.SectorOneVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionDevAlarmVo;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionVo;
|
||||
@ -12,6 +13,7 @@ import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
||||
@ -31,4 +33,6 @@ public interface FrontierProtectionDevAlarmMapper extends BaseMapper<FrontierPro
|
||||
CountFrontierProtectionDevAlarmVo countFrontierProtectionDevAlarm(HashMap<String, Object> paramMap);
|
||||
|
||||
List<TrendOneVo> countFrontierProtectionDevAlarmTrend(HashMap<String, Object> paramMap);
|
||||
|
||||
ArrayList<SectorOneVo> countAlarmType(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -35,11 +35,48 @@
|
||||
</select>
|
||||
|
||||
<select id="countFrontierProtectionDevAlarmTrend" resultType="com.zhgd.xmgl.base.entity.vo.TrendOneVo">
|
||||
select date_format(alarm_time,'%Y-%m-%d') x,count(*) y from frontier_protection_dev_alarm
|
||||
select
|
||||
<if test="type == '1'.toString()">
|
||||
date_format(alarm_time,'%Y-%m-%d') x
|
||||
</if>
|
||||
<if test="type == '2'.toString()">
|
||||
date_format(alarm_time,'%Y-%m-%d %H:00') x
|
||||
</if>
|
||||
,count(*) y from frontier_protection_dev_alarm
|
||||
where project_sn=#{projectSn}
|
||||
<if test="alarmTime != null and alarmTime != ''">
|
||||
<if test="type == '1'.toString()">
|
||||
and alarm_time >= date_sub(current_date,interval 7 day )
|
||||
and alarm_time < date_add(current_date,interval 1 day)
|
||||
</if>
|
||||
<if test="type == '2'.toString()">
|
||||
and alarm_time >= date_sub(now(),interval 1 day)
|
||||
and alarm_time < now()
|
||||
</if>
|
||||
<if test="devSn != null and devSn != ''">
|
||||
and dev_sn = #{devSn}
|
||||
</if>
|
||||
group by x
|
||||
</select>
|
||||
|
||||
<select id="countAlarmType" resultType="com.zhgd.xmgl.base.entity.vo.SectorOneVo">
|
||||
select alarm_type enumType,count(*) count
|
||||
from frontier_protection_dev_alarm
|
||||
where project_sn=#{projectSn}
|
||||
<if test="devSn != null and devSn != ''">
|
||||
and dev_sn = #{devSn}
|
||||
</if>
|
||||
<if test="type == '1'.toString()">
|
||||
and alarm_time > current_date
|
||||
and alarm_time < date_add(current_date,interval 1 day)
|
||||
</if>
|
||||
<if test="type == '2'.toString()">
|
||||
and alarm_time > date_sub(alarm_time,interval 6 day)
|
||||
and alarm_time < date_add(current_date,interval 1 day)
|
||||
</if>
|
||||
<if test="type == '3'.toString()">
|
||||
and alarm_time > date_sub(alarm_time,interval 29 day)
|
||||
and alarm_time < date_add(current_date,interval 1 day)
|
||||
</if>
|
||||
group by alarm_type
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
package com.zhgd.xmgl.modules.frontier.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
@ -23,4 +24,6 @@ public interface IFrontierProtectionDevAlarmService extends IService<FrontierPro
|
||||
CountFrontierProtectionDevAlarmVo countFrontierProtectionDevAlarm(HashMap<String, Object> paramMap);
|
||||
|
||||
List<TrendOneVo> countFrontierProtectionDevAlarmTrend(HashMap<String, Object> paramMap);
|
||||
|
||||
ArrayList<SectorOneVo> countAlarmType(HashMap<String, Object> paramMap);
|
||||
}
|
||||
|
||||
@ -6,6 +6,7 @@ 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.SectorOneVo;
|
||||
import com.zhgd.xmgl.base.entity.vo.TrendOneVo;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionDevAlarmVo;
|
||||
@ -56,9 +57,19 @@ public class FrontierProtectionDevAlarmServiceImpl extends ServiceImpl<FrontierP
|
||||
public List<TrendOneVo> countFrontierProtectionDevAlarmTrend(HashMap<String, Object> paramMap) {
|
||||
Integer type = MapUtils.getInteger(paramMap, "type");
|
||||
if (Objects.equals(type, 1)) {
|
||||
//近7天
|
||||
List<TrendOneVo> list = baseMapper.countFrontierProtectionDevAlarmTrend(paramMap);
|
||||
return TrendOneVo.fillTrendVos(list, DateUtils.getDateTimeStrList(60, "yyyy-MM-dd"), "MM-dd");
|
||||
} else if (Objects.equals(type, 2)) {
|
||||
//近24小时
|
||||
List<TrendOneVo> list = baseMapper.countFrontierProtectionDevAlarmTrend(paramMap);
|
||||
return TrendOneVo.fillTrendVos(list, DateUtils.getDateTimeStrList(100, "yyyy-MM-dd HH:00"), "HH:00");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ArrayList<SectorOneVo> countAlarmType(HashMap<String, Object> paramMap) {
|
||||
return baseMapper.countAlarmType(paramMap);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.zhgd.xmgl.modules.frontier.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.text.CharSequenceUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@ -8,16 +9,21 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDev;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.FrontierProtectionDevAlarm;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.qo.FrontierProtectionDevQO;
|
||||
import com.zhgd.xmgl.modules.frontier.entity.vo.CountFrontierProtectionVo;
|
||||
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevAlarmMapper;
|
||||
import com.zhgd.xmgl.modules.frontier.mapper.FrontierProtectionDevMapper;
|
||||
import com.zhgd.xmgl.modules.frontier.service.FrontierProtectionDevService;
|
||||
import com.zhgd.xmgl.modules.frontier.service.IFrontierProtectionDevAlarmService;
|
||||
import com.zhgd.xmgl.util.RefUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
@ -33,6 +39,9 @@ public class FrontierProtectionDevServiceImpl extends ServiceImpl<FrontierProtec
|
||||
private FrontierProtectionDevMapper frontierProtectionDevMapper;
|
||||
@Autowired
|
||||
private FrontierProtectionDevAlarmMapper frontierProtectionDevAlarmMapper;
|
||||
@Lazy
|
||||
@Autowired
|
||||
private IFrontierProtectionDevAlarmService frontierProtectionDevAlarmService;
|
||||
|
||||
@Override
|
||||
public IPage<FrontierProtectionDev> selectPageInfo(Page<FrontierProtectionDev> page, FrontierProtectionDevQO frontierProtectionDevQo) {
|
||||
@ -85,6 +94,25 @@ public class FrontierProtectionDevServiceImpl extends ServiceImpl<FrontierProtec
|
||||
CountFrontierProtectionVo vo = frontierProtectionDevAlarmMapper.countFrontierProtectionDev(paramMap);
|
||||
vo.setDeviceNum(Math.toIntExact(frontierProtectionDevMapper.selectCount(new LambdaQueryWrapper<FrontierProtectionDev>()
|
||||
.eq(FrontierProtectionDev::getProjectSn, projectSn))));
|
||||
vo.setOnlineNum(vo.getDeviceNum());
|
||||
vo.setOfflineNum(0);
|
||||
int count = frontierProtectionDevAlarmService.count(new LambdaQueryWrapper<FrontierProtectionDevAlarm>()
|
||||
.eq(FrontierProtectionDevAlarm::getProjectSn, projectSn)
|
||||
.ge(FrontierProtectionDevAlarm::getAlarmTime, DateUtil.formatDateTime(DateUtil.beginOfDay(new Date())))
|
||||
.le(FrontierProtectionDevAlarm::getAlarmTime, DateUtil.formatDateTime(DateUtil.endOfDay(new Date())))
|
||||
);
|
||||
vo.setAlarmNumToday(count);
|
||||
int count1 = frontierProtectionDevAlarmService.count(new LambdaQueryWrapper<FrontierProtectionDevAlarm>()
|
||||
.eq(FrontierProtectionDevAlarm::getProjectSn, projectSn)
|
||||
.ge(FrontierProtectionDevAlarm::getAlarmTime, DateUtil.formatDateTime(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -1))))
|
||||
.le(FrontierProtectionDevAlarm::getAlarmTime, DateUtil.formatDateTime(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), -1))))
|
||||
);
|
||||
vo.setAlarmNumYesterday(count1);
|
||||
BigDecimal decimal = null;
|
||||
if (count1 != 0) {
|
||||
decimal = new BigDecimal(count).divide(new BigDecimal(count1), 4, BigDecimal.ROUND_HALF_UP).subtract(new BigDecimal(1)).multiply(new BigDecimal(100));
|
||||
}
|
||||
vo.setAlarmNumThanYesterdayPct(decimal);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user