手动新增技术监督及越限监测点数据
This commit is contained in:
@@ -10,7 +10,9 @@ import java.util.List;
|
|||||||
@ToString
|
@ToString
|
||||||
@Builder
|
@Builder
|
||||||
public class SourceSteadyIndicator {
|
public class SourceSteadyIndicator {
|
||||||
|
/**
|
||||||
|
* 策略id
|
||||||
|
*/
|
||||||
private String id;
|
private String id;
|
||||||
/**
|
/**
|
||||||
* 干扰源数据字典Id
|
* 干扰源数据字典Id
|
||||||
|
|||||||
@@ -3,9 +3,14 @@ package com.njcn.prepare.harmonic.api.line;
|
|||||||
import com.njcn.common.pojo.constant.ServerInfo;
|
import com.njcn.common.pojo.constant.ServerInfo;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.prepare.harmonic.api.line.fallback.CoustomReportFeignClientFallbackFactory;
|
import com.njcn.prepare.harmonic.api.line.fallback.CoustomReportFeignClientFallbackFactory;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@FeignClient(
|
@FeignClient(
|
||||||
value = ServerInfo.PREPARE_BOOT,//对应模块名
|
value = ServerInfo.PREPARE_BOOT,//对应模块名
|
||||||
@@ -16,9 +21,9 @@ public interface ThsSuperviseClient {
|
|||||||
/**
|
/**
|
||||||
* 预警/告警事务的生成
|
* 预警/告警事务的生成
|
||||||
*
|
*
|
||||||
* @param initType 生成方式 0 自动;1 手动
|
* @param superviseParam
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/initSupervise")
|
@PostMapping("/initSupervise")
|
||||||
HttpResult<Boolean> initSupervise(@RequestParam("initType") Integer initType);
|
HttpResult<List<ThsOverRunLog>> initSupervise(@RequestBody @Validated SuperviseParam superviseParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,15 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
import com.njcn.device.pq.utils.DeviceEnumUtil;
|
import com.njcn.device.pq.utils.DeviceEnumUtil;
|
||||||
import com.njcn.prepare.harmonic.api.line.ThsSuperviseClient;
|
import com.njcn.prepare.harmonic.api.line.ThsSuperviseClient;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
import feign.hystrix.FallbackFactory;
|
import feign.hystrix.FallbackFactory;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@@ -23,7 +28,7 @@ public class ThsSuperviseClientFallbackFactory implements FallbackFactory<ThsSup
|
|||||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||||
return new ThsSuperviseClient() {
|
return new ThsSuperviseClient() {
|
||||||
@Override
|
@Override
|
||||||
public HttpResult<Boolean> initSupervise(@RequestParam("initType") Integer initType) {
|
public HttpResult<List<ThsOverRunLog>> initSupervise(@RequestBody @Validated SuperviseParam superviseParam) {
|
||||||
log.error("{}异常,降级处理,异常为:{}", "预警/告警事务的生成: ", throwable.toString());
|
log.error("{}异常,降级处理,异常为:{}", "预警/告警事务的生成: ", throwable.toString());
|
||||||
throw new BusinessException(finalExceptionEnum);
|
throw new BusinessException(finalExceptionEnum);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
package com.njcn.prepare.harmonic.pojo.param;
|
||||||
|
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class SuperviseParam {
|
||||||
|
|
||||||
|
@ApiModelProperty(name = "initType", value = "创建类型: 0自动;1手动", required = true)
|
||||||
|
@NotNull(message = "创建类型不可为空")
|
||||||
|
private Integer initType;
|
||||||
|
@ApiModelProperty(name = "deptId", value = "部门id")
|
||||||
|
private String deptId;
|
||||||
|
@ApiModelProperty(name = "overRunLog", value = "监测点集合")
|
||||||
|
private List<ThsOverRunLog> overRunLog;
|
||||||
|
}
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
package com.njcn.process.pojo.po;
|
package com.njcn.prepare.harmonic.pojo.po;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
@@ -22,26 +25,31 @@ public class ThsOverRunLog {
|
|||||||
/**
|
/**
|
||||||
* 主键id
|
* 主键id
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "id", value = "主键", required = true)
|
||||||
private String id;
|
private String id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 监测点ID
|
* 监测点ID
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "lineIndex", value = "监测点ID", required = true)
|
||||||
private String lineIndex;
|
private String lineIndex;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 名称(变电站_监测点_日期_id)
|
* 名称(变电站_监测点_日期_id)
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "name", value = "名称", required = true)
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 技术监督Guid
|
* 技术监督Guid
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "supIndex", value = "技术监督Guid", required = true)
|
||||||
private String supIndex;
|
private String supIndex;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 描述
|
* 描述
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "description", value = "描述")
|
||||||
private String description;
|
private String description;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -71,10 +79,16 @@ public class ThsOverRunLog {
|
|||||||
/**
|
/**
|
||||||
* 越限时间(yyyy-MM-dd)
|
* 越限时间(yyyy-MM-dd)
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "updateTime", value = "越限时间", required = true)
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date updateTime;
|
private Date updateTime;
|
||||||
/**
|
/**
|
||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
|
@ApiModelProperty(name = "createTime", value = "创建时间")
|
||||||
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
package com.njcn.process.pojo.po;
|
package com.njcn.prepare.harmonic.pojo.po;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -77,6 +77,12 @@ public class ThsSupervise {
|
|||||||
* 创建时间
|
* 创建时间
|
||||||
*/
|
*/
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
/**
|
||||||
|
* 创建类型(0:自动;1 手动)
|
||||||
|
*/
|
||||||
|
private Integer createType;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,26 @@
|
|||||||
package com.njcn.prepare.harmonic.controller.line;
|
package com.njcn.prepare.harmonic.controller.line;
|
||||||
|
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.HttpResultUtil;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
|
import com.njcn.prepare.harmonic.service.mysql.line.ThsOverRunLogService;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.ThsSuperviseService;
|
import com.njcn.prepare.harmonic.service.mysql.line.ThsSuperviseService;
|
||||||
import com.njcn.web.controller.BaseController;
|
import com.njcn.web.controller.BaseController;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiImplicitParam;
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 前端控制器
|
* 前端控制器
|
||||||
@@ -21,18 +29,30 @@ import org.springframework.web.bind.annotation.RestController;
|
|||||||
* @author lxp
|
* @author lxp
|
||||||
* @since 2023-03-16
|
* @since 2023-03-16
|
||||||
*/
|
*/
|
||||||
@Api(tags = "预警-告警事务数据生成")
|
@Api(tags = "预警-告警技术监督")
|
||||||
@RestController
|
@RestController
|
||||||
@RequestMapping("/thsSupervise")
|
@RequestMapping("/thsSupervise")
|
||||||
public class ThsSuperviseController extends BaseController {
|
public class ThsSuperviseController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ThsSuperviseService thsSuperviseService;
|
private ThsSuperviseService thsSuperviseService;
|
||||||
|
@Autowired
|
||||||
|
private ThsOverRunLogService thsOverRunLogService;
|
||||||
|
|
||||||
@ApiOperation("预警/告警事务生成")
|
@ApiOperation("预警/告警事务生成")
|
||||||
@ApiImplicitParam(name = "initType", value = "生成策略 0 自动;1 手动", required = true)
|
@ApiImplicitParam(name = "superviseParam", value = "创建技术监督参数", required = true)
|
||||||
@PostMapping("/initSupervise")
|
@PostMapping("/initSupervise")
|
||||||
public HttpResult<Boolean> initSupervise(@RequestParam("initType") Integer initType) {
|
public HttpResult<List<ThsOverRunLog>> initSupervise(@RequestBody @Validated SuperviseParam superviseParam) {
|
||||||
return thsSuperviseService.initSupervise(initType);
|
return thsSuperviseService.initSupervise(superviseParam);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiOperation("保存技术监督监测点")
|
||||||
|
@ApiImplicitParam(name = "superviseParam", value = "技术监督监测点参数", required = true)
|
||||||
|
@PostMapping("/saveOverRunLog")
|
||||||
|
public HttpResult saveOverRunLog(@RequestBody SuperviseParam superviseParam) {
|
||||||
|
thsOverRunLogService.saveOverRunLog(superviseParam);
|
||||||
|
String methodDescribe = getMethodDescribe("superviseParam");
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
|||||||
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.njcn.process.pojo.po.ThsOverRunLog;
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
|||||||
|
|
||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.njcn.process.pojo.po.ThsSupervise;
|
import com.njcn.prepare.harmonic.pojo.po.ThsSupervise;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line;
|
|||||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
@@ -23,6 +24,6 @@ public interface ThsWarnStrategyMapper extends BaseMapper<ThsWarnStrategy> {
|
|||||||
/**
|
/**
|
||||||
* 查询策略的集合
|
* 查询策略的集合
|
||||||
*/
|
*/
|
||||||
List<ThsStrategyVo> selectStrategyList(@Param("initType") Integer initType);
|
List<ThsStrategyVo> selectStrategyList(@Param("param") SuperviseParam superviseParam);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.line.ThsSuperviseMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
@@ -3,7 +3,8 @@
|
|||||||
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.line.ThsWarnStrategyMapper">
|
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.line.ThsWarnStrategyMapper">
|
||||||
|
|
||||||
<!--查询策略的集合-->
|
<!--查询策略的集合-->
|
||||||
<select id="selectStrategyList" resultType="com.njcn.harmonic.pojo.vo.ThsStrategyVo">
|
<select id="selectStrategyList" parameterType="com.njcn.prepare.harmonic.pojo.param.SuperviseParam"
|
||||||
|
resultType="com.njcn.harmonic.pojo.vo.ThsStrategyVo">
|
||||||
select
|
select
|
||||||
tws.id,
|
tws.id,
|
||||||
tws.name,
|
tws.name,
|
||||||
@@ -18,13 +19,16 @@
|
|||||||
tws.Id = tda.Alarm_Id
|
tws.Id = tda.Alarm_Id
|
||||||
<where>
|
<where>
|
||||||
<choose>
|
<choose>
|
||||||
<when test="initType==0">
|
<when test="param.initType==0">
|
||||||
tws.State = 1 and tws.Grade in(0,2)
|
tws.State = 1 and tws.Grade in(0,2)
|
||||||
</when>
|
</when>
|
||||||
<when test="initType==1">
|
<when test="param.initType==1">
|
||||||
tws.State = 1 and tws.Grade in(1,2)
|
tws.State = 1 and tws.Grade in(1,2)
|
||||||
</when>
|
</when>
|
||||||
</choose>
|
</choose>
|
||||||
|
<if test="param.deptId !=null and param.deptId !=''">
|
||||||
|
and tda.Dept_Id=#{param.deptId}
|
||||||
|
</if>
|
||||||
and tws.Big_Type=1
|
and tws.Big_Type=1
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -1,10 +1,14 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
package com.njcn.prepare.harmonic.service.mysql.Impl.line;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.line.ThsOverRunLogMapper;
|
import com.njcn.prepare.harmonic.mapper.mysql.line.ThsOverRunLogMapper;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.ThsOverRunLogService;
|
import com.njcn.prepare.harmonic.service.mysql.line.ThsOverRunLogService;
|
||||||
import com.njcn.process.pojo.po.ThsOverRunLog;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -15,6 +19,13 @@ import org.springframework.stereotype.Service;
|
|||||||
* @since 2023-03-16
|
* @since 2023-03-16
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
public class ThsOverRunLogServiceImpl extends ServiceImpl<ThsOverRunLogMapper, ThsOverRunLog> implements ThsOverRunLogService {
|
public class ThsOverRunLogServiceImpl extends ServiceImpl<ThsOverRunLogMapper, ThsOverRunLog> implements ThsOverRunLogService {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@DS("process")
|
||||||
|
public void saveOverRunLog(SuperviseParam superviseParam) {
|
||||||
|
this.saveBatch(superviseParam.getOverRunLog());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,16 +18,22 @@ import com.njcn.harmonic.pojo.vo.SourceSteadyIndicator;
|
|||||||
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
||||||
import com.njcn.prepare.enums.*;
|
import com.njcn.prepare.enums.*;
|
||||||
import com.njcn.prepare.harmonic.mapper.mysql.line.*;
|
import com.njcn.prepare.harmonic.mapper.mysql.line.*;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsSupervise;
|
||||||
import com.njcn.prepare.harmonic.service.mysql.line.ThsSuperviseService;
|
import com.njcn.prepare.harmonic.service.mysql.line.ThsSuperviseService;
|
||||||
import com.njcn.process.annotaion.HarCurrent;
|
import com.njcn.process.annotaion.HarCurrent;
|
||||||
import com.njcn.process.annotaion.HarVoltage;
|
import com.njcn.process.annotaion.HarVoltage;
|
||||||
import com.njcn.process.annotaion.InterharVoltage;
|
import com.njcn.process.annotaion.InterharVoltage;
|
||||||
import com.njcn.process.pojo.po.*;
|
import com.njcn.process.pojo.po.LimitRate;
|
||||||
|
import com.njcn.process.pojo.po.ThsWarnStrategy;
|
||||||
|
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||||
import com.njcn.web.utils.RequestUtil;
|
import com.njcn.web.utils.RequestUtil;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.map.HashedMap;
|
import org.apache.commons.collections.map.HashedMap;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -46,6 +52,7 @@ import java.util.stream.Collectors;
|
|||||||
* @since 2023-03-16
|
* @since 2023-03-16
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
|
@Slf4j
|
||||||
public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, ThsSupervise> implements ThsSuperviseService {
|
public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, ThsSupervise> implements ThsSuperviseService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
@@ -71,11 +78,12 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
private static final String DESCRIPTION = "description";
|
private static final String DESCRIPTION = "description";
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public HttpResult<Boolean> initSupervise(Integer initType) {
|
public HttpResult<List<ThsOverRunLog>> initSupervise(SuperviseParam superviseParam) {
|
||||||
if (initType == null) {
|
List<ThsOverRunLog> overRunLogList = new ArrayList<>();
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.INVALID_PARAMETER, false, "");
|
if (InitTypeEnum.MANUAL.getCode().equals(superviseParam.getInitType()) && StringUtils.isBlank(superviseParam.getDeptId())) {
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.INVALID_PARAMETER, null, "");
|
||||||
}
|
}
|
||||||
List<ThsStrategyVo> thsStrategyList = this.selectStrategyList(initType);
|
List<ThsStrategyVo> thsStrategyList = this.selectStrategyList(superviseParam);
|
||||||
//按部门进行分组
|
//按部门进行分组
|
||||||
if (CollectionUtil.isNotEmpty(thsStrategyList)) {
|
if (CollectionUtil.isNotEmpty(thsStrategyList)) {
|
||||||
Map<String, List<ThsStrategyVo>> deptMap = thsStrategyList.stream().collect(Collectors.groupingBy(ThsStrategyVo::getDeptId));
|
Map<String, List<ThsStrategyVo>> deptMap = thsStrategyList.stream().collect(Collectors.groupingBy(ThsStrategyVo::getDeptId));
|
||||||
@@ -142,7 +150,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
}
|
}
|
||||||
if (CollectionUtil.isNotEmpty(oneSourceSteadyIndicatorList)) {
|
if (CollectionUtil.isNotEmpty(oneSourceSteadyIndicatorList)) {
|
||||||
//先删除今天生成的数据
|
//先删除今天生成的数据
|
||||||
this.deleteTodayData(depId);
|
this.deleteTodayData(depId, superviseParam.getInitType());
|
||||||
oneSourceSteadyIndicatorList.forEach(steady -> {
|
oneSourceSteadyIndicatorList.forEach(steady -> {
|
||||||
Monitor monitor = pmsMonitorMapper.selectById(steady.getMonitorId());
|
Monitor monitor = pmsMonitorMapper.selectById(steady.getMonitorId());
|
||||||
if (monitor != null) {
|
if (monitor != null) {
|
||||||
@@ -152,21 +160,24 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
//判断指标是否超标
|
//判断指标是否超标
|
||||||
Map<String, Object> limitBoolMap = this.verifyLimit(limitRate, steady);
|
Map<String, Object> limitBoolMap = this.verifyLimit(limitRate, steady);
|
||||||
//生成监督数据
|
//生成监督数据
|
||||||
this.creatSuperviseData(steady, limitBoolMap, monitor, limitRate);
|
ThsOverRunLog thsOverRunLog = this.creatSuperviseData(steady, limitBoolMap, monitor, limitRate, superviseParam.getInitType());
|
||||||
|
if (thsOverRunLog != null) {
|
||||||
|
overRunLogList.add(thsOverRunLog);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "");
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, overRunLogList, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 部门没有绑定策略的走通用策略
|
* 部门没有绑定策略的走通用策略
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void initCommonStrategy(List<ThsStrategyVo> thsStrategyList) {
|
public void initCommonStrategy(List<ThsStrategyVo> thsStrategyList, SuperviseParam superviseParam) {
|
||||||
//查询通用策略
|
//查询通用策略
|
||||||
ThsWarnStrategy thsWarnStrategy = thsWarnStrategyMapper.selectOne(new LambdaQueryWrapper<ThsWarnStrategy>()
|
ThsWarnStrategy thsWarnStrategy = thsWarnStrategyMapper.selectOne(new LambdaQueryWrapper<ThsWarnStrategy>()
|
||||||
.eq(ThsWarnStrategy::getBigType, BigTypeEnum.COMMON.getCode())
|
.eq(ThsWarnStrategy::getBigType, BigTypeEnum.COMMON.getCode())
|
||||||
@@ -202,7 +213,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
verifySteadylist.add(build);
|
verifySteadylist.add(build);
|
||||||
}
|
}
|
||||||
allDepIdList.forEach(depId -> {
|
allDepIdList.forEach(depId -> {
|
||||||
this.deleteTodayData(depId);
|
this.deleteTodayData(depId, superviseParam.getInitType());
|
||||||
//查询部门下所有监测点基本信息
|
//查询部门下所有监测点基本信息
|
||||||
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
|
||||||
pmsDeviceInfoParam.setDeptIndex(depId);
|
pmsDeviceInfoParam.setDeptIndex(depId);
|
||||||
@@ -223,7 +234,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
//判断指标是否超标
|
//判断指标是否超标
|
||||||
Map<String, Object> limitBoolMap = this.verifyLimit(limitRate, steady);
|
Map<String, Object> limitBoolMap = this.verifyLimit(limitRate, steady);
|
||||||
//生成监督数据
|
//生成监督数据
|
||||||
this.creatSuperviseData(steady, limitBoolMap, monitor, limitRate);
|
this.creatSuperviseData(steady, limitBoolMap, monitor, limitRate, superviseParam.getInitType());
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
@@ -234,17 +245,17 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询策略列表
|
* 查询策略列表
|
||||||
*
|
*
|
||||||
* @param initType
|
* @param superviseParam
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@DS("process")
|
@DS("process")
|
||||||
@Override
|
@Override
|
||||||
public List<ThsStrategyVo> selectStrategyList(Integer initType) {
|
public List<ThsStrategyVo> selectStrategyList(SuperviseParam superviseParam) {
|
||||||
List<ThsStrategyVo> thsStrategyList = thsWarnStrategyMapper.selectStrategyList(initType);
|
return thsWarnStrategyMapper.selectStrategyList(superviseParam);
|
||||||
return thsStrategyList;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -257,10 +268,9 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
@DS("process")
|
@DS("process")
|
||||||
@Override
|
@Override
|
||||||
public List<ThsWarnStrategyAss> queryWarnStrategyAss(String warnId, TypeEnum typeEnum) {
|
public List<ThsWarnStrategyAss> queryWarnStrategyAss(String warnId, TypeEnum typeEnum) {
|
||||||
List<ThsWarnStrategyAss> thsWarnStrategyAss = thsWarnStrategyAssMapper.selectList(new LambdaQueryWrapper<ThsWarnStrategyAss>()
|
return thsWarnStrategyAssMapper.selectList(new LambdaQueryWrapper<ThsWarnStrategyAss>()
|
||||||
.eq(ThsWarnStrategyAss::getWarnId, warnId)
|
.eq(ThsWarnStrategyAss::getWarnId, warnId)
|
||||||
.eq(ThsWarnStrategyAss::getType, typeEnum.getCode()));
|
.eq(ThsWarnStrategyAss::getType, typeEnum.getCode()));
|
||||||
return thsWarnStrategyAss;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -269,36 +279,36 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
* @param limitBoolMap
|
* @param limitBoolMap
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void creatSuperviseData(SourceSteadyIndicator steady, Map<String, Object> limitBoolMap, Monitor monitor, LimitRate limitRate) {
|
public ThsOverRunLog creatSuperviseData(SourceSteadyIndicator steady, Map<String, Object> limitBoolMap, Monitor monitor, LimitRate limitRate, Integer initType) {
|
||||||
if (CollectionUtil.isNotEmpty(limitBoolMap)) {
|
if (CollectionUtil.isNotEmpty(limitBoolMap)) {
|
||||||
if (OperationEnum.AND.getCode().equals(steady.getOperation())) {
|
if (OperationEnum.AND.getCode().equals(steady.getOperation())) {
|
||||||
for (Map.Entry<String, Object> entry : limitBoolMap.entrySet()) {
|
for (Map.Entry<String, Object> entry : limitBoolMap.entrySet()) {
|
||||||
if (entry.getValue() instanceof Boolean && !(boolean) entry.getValue()) {
|
if (entry.getValue() instanceof Boolean && !(boolean) entry.getValue()) {
|
||||||
return;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//生成监督数据
|
//生成监督数据
|
||||||
ThsSupervise thsSupervise = this.insertSuperviseData(steady, monitor, limitRate, limitBoolMap);
|
ThsSupervise thsSupervise = this.insertSuperviseData(steady, monitor, limitRate, limitBoolMap, initType);
|
||||||
//生成告警/预警监测点列表数据
|
//生成告警/预警监测点列表数据
|
||||||
this.insertOverRunLog(steady, thsSupervise, monitor, limitRate, limitBoolMap);
|
return this.insertOverRunLog(steady, thsSupervise, monitor, limitRate, limitBoolMap, initType);
|
||||||
}
|
}
|
||||||
if (OperationEnum.OR.getCode().equals(steady.getOperation())) {
|
if (OperationEnum.OR.getCode().equals(steady.getOperation())) {
|
||||||
for (Map.Entry<String, Object> entry : limitBoolMap.entrySet()) {
|
for (Map.Entry<String, Object> entry : limitBoolMap.entrySet()) {
|
||||||
if (entry.getValue() instanceof Boolean && (boolean) entry.getValue()) {
|
if (entry.getValue() instanceof Boolean && (boolean) entry.getValue()) {
|
||||||
//生成监督数据
|
//生成监督数据
|
||||||
ThsSupervise thsSupervise = this.insertSuperviseData(steady, monitor, limitRate, limitBoolMap);
|
ThsSupervise thsSupervise = this.insertSuperviseData(steady, monitor, limitRate, limitBoolMap, initType);
|
||||||
//生成告警/预警监测点列表数据
|
//生成告警/预警监测点数据
|
||||||
this.insertOverRunLog(steady, thsSupervise, monitor, limitRate, limitBoolMap);
|
return this.insertOverRunLog(steady, thsSupervise, monitor, limitRate, limitBoolMap, initType);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@DS("process")
|
@DS("process")
|
||||||
@Override
|
@Override
|
||||||
public ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap) {
|
public ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap, Integer initType) {
|
||||||
//判断今日是否已经生成了监督数据
|
//判断今日是否已经生成了监督数据
|
||||||
LambdaQueryWrapper<ThsSupervise> superviseQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<ThsSupervise> superviseQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
superviseQueryWrapper.between(ThsSupervise::getCreateTime,
|
superviseQueryWrapper.between(ThsSupervise::getCreateTime,
|
||||||
@@ -322,6 +332,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
thsSupervise.setProgress(ProgressEnum.START.getCode());
|
thsSupervise.setProgress(ProgressEnum.START.getCode());
|
||||||
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
||||||
thsSupervise.setDescription(StringUtils.join(descriptionList, ","));
|
thsSupervise.setDescription(StringUtils.join(descriptionList, ","));
|
||||||
|
thsSupervise.setCreateType(initType);
|
||||||
thsSuperviseMapper.insert(thsSupervise);
|
thsSuperviseMapper.insert(thsSupervise);
|
||||||
return thsSupervise;
|
return thsSupervise;
|
||||||
}
|
}
|
||||||
@@ -329,7 +340,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
|
|
||||||
@DS("process")
|
@DS("process")
|
||||||
@Override
|
@Override
|
||||||
public void insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap) {
|
public ThsOverRunLog insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap, Integer initType) {
|
||||||
ThsOverRunLog thsOverRunLog = new ThsOverRunLog();
|
ThsOverRunLog thsOverRunLog = new ThsOverRunLog();
|
||||||
thsOverRunLog.setId(IdUtil.simpleUUID());
|
thsOverRunLog.setId(IdUtil.simpleUUID());
|
||||||
thsOverRunLog.setSupIndex(thsSupervise.getSupIndex());
|
thsOverRunLog.setSupIndex(thsSupervise.getSupIndex());
|
||||||
@@ -339,8 +350,11 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
thsOverRunLog.setCreateTime(new Date());
|
thsOverRunLog.setCreateTime(new Date());
|
||||||
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
List<String> descriptionList = (List) limitBoolMap.get(DESCRIPTION);
|
||||||
thsOverRunLog.setDescription(StringUtils.join(descriptionList, ","));
|
thsOverRunLog.setDescription(StringUtils.join(descriptionList, ","));
|
||||||
|
if (InitTypeEnum.AUTO.getCode().equals(initType)) {
|
||||||
thsOverRunLogMapper.insert(thsOverRunLog);
|
thsOverRunLogMapper.insert(thsOverRunLog);
|
||||||
}
|
}
|
||||||
|
return thsOverRunLog;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -359,18 +373,18 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
*
|
*
|
||||||
* @param depId
|
* @param depId
|
||||||
*/
|
*/
|
||||||
private void deleteTodayData(String depId) {
|
@Override
|
||||||
|
@DS("process")
|
||||||
|
public void deleteTodayData(String depId, Integer initType) {
|
||||||
ThsSupervise thsSupervise = thsSuperviseMapper.selectOne(new LambdaQueryWrapper<ThsSupervise>().eq(ThsSupervise::getDeptId, depId)
|
ThsSupervise thsSupervise = thsSuperviseMapper.selectOne(new LambdaQueryWrapper<ThsSupervise>().eq(ThsSupervise::getDeptId, depId)
|
||||||
|
.eq(ThsSupervise::getCreateType, initType)
|
||||||
.between(ThsSupervise::getCreateTime,
|
.between(ThsSupervise::getCreateTime,
|
||||||
DateUtil.beginOfDay(new Date()),
|
DateUtil.beginOfDay(new Date()),
|
||||||
DateUtil.endOfDay(new Date())).last("limit 1"));
|
DateUtil.endOfDay(new Date())).last("limit 1"));
|
||||||
if (thsSupervise != null) {
|
if (thsSupervise != null) {
|
||||||
thsOverRunLogMapper.delete(new LambdaQueryWrapper<ThsOverRunLog>().eq(ThsOverRunLog::getSupIndex, thsSupervise.getSupIndex()));
|
thsOverRunLogMapper.delete(new LambdaQueryWrapper<ThsOverRunLog>().eq(ThsOverRunLog::getSupIndex, thsSupervise.getSupIndex()));
|
||||||
|
thsSuperviseMapper.delete(new LambdaQueryWrapper<ThsSupervise>().eq(ThsSupervise::getSupIndex, thsSupervise.getSupIndex()));
|
||||||
}
|
}
|
||||||
thsSuperviseMapper.delete(new LambdaQueryWrapper<ThsSupervise>().eq(ThsSupervise::getDeptId, depId)
|
|
||||||
.between(ThsSupervise::getCreateTime,
|
|
||||||
DateUtil.beginOfDay(new Date()),
|
|
||||||
DateUtil.endOfDay(new Date())));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -383,7 +397,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
if (limitRate != null) {
|
if (limitRate != null) {
|
||||||
List<String> steadyIndicator = steady.getSteadyIndicator();
|
List<String> steadyIndicator = steady.getSteadyIndicator();
|
||||||
Map<String, Object> limitBoolMap = new HashedMap();
|
Map<String, Object> limitBoolMap = new HashedMap();
|
||||||
List<String> discreptionList = new ArrayList<>();
|
List<String> descriptionList = new ArrayList<>();
|
||||||
steadyIndicator.forEach(id -> {
|
steadyIndicator.forEach(id -> {
|
||||||
HttpResult<DictData> dicDataById = dicDataFeignClient.getDicDataById(id);
|
HttpResult<DictData> dicDataById = dicDataFeignClient.getDicDataById(id);
|
||||||
if (CommonResponseEnum.SUCCESS.getCode().equals(dicDataById.getCode()) && dicDataById.getData() != null) {
|
if (CommonResponseEnum.SUCCESS.getCode().equals(dicDataById.getCode()) && dicDataById.getData() != null) {
|
||||||
@@ -393,16 +407,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
case Negative_Voltage://负序电压不平衡度
|
case Negative_Voltage://负序电压不平衡度
|
||||||
if (limitRate.getUbalanceOvertime() > 0) {
|
if (limitRate.getUbalanceOvertime() > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Negative_Voltage.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Negative_Voltage.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Negative_Voltage.getMessage().concat(limitRate.getUbalanceOvertime() + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Negative_Voltage.getMessage().concat(limitRate.getUbalanceOvertime() + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Negative_Voltage.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Negative_Voltage.getCode(), false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Interhar_Voltage://间谐波电压
|
case Interhar_Voltage://间谐波电压
|
||||||
Integer interharVoltageOvertime = this.maxValue(limitRate, InterharVoltage.class);
|
Integer interharVoltageOvertime = this.maxOverTime(limitRate, InterharVoltage.class);
|
||||||
if (interharVoltageOvertime > 0) {
|
if (interharVoltageOvertime > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Interhar_Voltage.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Interhar_Voltage.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Interhar_Voltage.getMessage().concat(interharVoltageOvertime + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Interhar_Voltage.getMessage().concat(interharVoltageOvertime + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Interhar_Voltage.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Interhar_Voltage.getCode(), false);
|
||||||
}
|
}
|
||||||
@@ -410,7 +424,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
case Neg_Current://负序电流
|
case Neg_Current://负序电流
|
||||||
if (limitRate.getINegOvertime() > 0) {
|
if (limitRate.getINegOvertime() > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Neg_Current.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Neg_Current.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Neg_Current.getMessage().concat(limitRate.getINegOvertime() + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Neg_Current.getMessage().concat(limitRate.getINegOvertime() + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Neg_Current.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Neg_Current.getCode(), false);
|
||||||
}
|
}
|
||||||
@@ -418,7 +432,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
case Fre_Deviation://频率偏差
|
case Fre_Deviation://频率偏差
|
||||||
if (limitRate.getFreqDevOvertime() > 0) {
|
if (limitRate.getFreqDevOvertime() > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Fre_Deviation.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Fre_Deviation.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Fre_Deviation.getMessage().concat(limitRate.getFreqDevOvertime() + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Fre_Deviation.getMessage().concat(limitRate.getFreqDevOvertime() + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Fre_Deviation.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Fre_Deviation.getCode(), false);
|
||||||
}
|
}
|
||||||
@@ -426,16 +440,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
case Voltage_Dev://电压偏差
|
case Voltage_Dev://电压偏差
|
||||||
if (limitRate.getVoltageDevOvertime() > 0) {
|
if (limitRate.getVoltageDevOvertime() > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Dev.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Dev.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Voltage_Dev.getMessage().concat(limitRate.getVoltageDevOvertime() + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Voltage_Dev.getMessage().concat(limitRate.getVoltageDevOvertime() + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Dev.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Dev.getCode(), false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Har_Current://谐波电流
|
case Har_Current://谐波电流
|
||||||
Integer harCurrentOvertime = this.maxValue(limitRate, HarCurrent.class);
|
Integer harCurrentOvertime = this.maxOverTime(limitRate, HarCurrent.class);
|
||||||
if (harCurrentOvertime > 0) {
|
if (harCurrentOvertime > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Har_Current.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Har_Current.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Har_Current.getMessage().concat(harCurrentOvertime + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Har_Current.getMessage().concat(harCurrentOvertime + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Har_Current.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Har_Current.getCode(), false);
|
||||||
}
|
}
|
||||||
@@ -443,16 +457,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
case Voltage_Fluc://电压波动与闪变
|
case Voltage_Fluc://电压波动与闪变
|
||||||
if (limitRate.getFlickerOvertime() > 0) {
|
if (limitRate.getFlickerOvertime() > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Fluc.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Fluc.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Voltage_Fluc.getMessage().concat(limitRate.getFlickerOvertime() + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Voltage_Fluc.getMessage().concat(limitRate.getFlickerOvertime() + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Fluc.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Voltage_Fluc.getCode(), false);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case Har_Voltage://谐波电压
|
case Har_Voltage://谐波电压
|
||||||
Integer harVoltageOvertime = this.maxValue(limitRate, HarVoltage.class);
|
Integer harVoltageOvertime = this.maxOverTime(limitRate, HarVoltage.class);
|
||||||
if (harVoltageOvertime > 0) {
|
if (harVoltageOvertime > 0) {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Har_Voltage.getCode(), true);
|
limitBoolMap.put(SteadyIndicatorEnum.Har_Voltage.getCode(), true);
|
||||||
discreptionList.add(SteadyIndicatorEnum.Har_Voltage.getMessage().concat(harVoltageOvertime + "次"));
|
descriptionList.add(SteadyIndicatorEnum.Har_Voltage.getMessage().concat(harVoltageOvertime + "次"));
|
||||||
} else {
|
} else {
|
||||||
limitBoolMap.put(SteadyIndicatorEnum.Har_Voltage.getCode(), false);
|
limitBoolMap.put(SteadyIndicatorEnum.Har_Voltage.getCode(), false);
|
||||||
}
|
}
|
||||||
@@ -461,26 +475,26 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
limitBoolMap.put(DESCRIPTION, discreptionList);
|
limitBoolMap.put(DESCRIPTION, descriptionList);
|
||||||
return limitBoolMap;
|
return limitBoolMap;
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* 获取指定枚举类型的最大值
|
* 获取越限最大值
|
||||||
* @param object
|
* @param object
|
||||||
* @param annotation
|
* @param annotation
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private Integer maxValue(Object object, Class annotation) {
|
private Integer maxOverTime(Object object, Class annotation) {
|
||||||
Integer maxValue = 0;
|
Integer maxValue = 0;
|
||||||
try {
|
try {
|
||||||
Class objClass = object.getClass();
|
Class objClass = object.getClass();
|
||||||
Field[] fields = objClass.getDeclaredFields();
|
Field[] fields = objClass.getDeclaredFields();
|
||||||
for (Field field : fields) {
|
for (Field field : fields) {
|
||||||
field.setAccessible(true);
|
field.setAccessible(true);
|
||||||
Boolean isAnon = field.isAnnotationPresent(annotation);
|
boolean isAnon = field.isAnnotationPresent(annotation);
|
||||||
if (isAnon) {
|
if (isAnon) {
|
||||||
Object objValue = field.get(object);
|
Object objValue = field.get(object);
|
||||||
if (objValue instanceof Integer) {
|
if (objValue instanceof Integer) {
|
||||||
@@ -490,8 +504,8 @@ public class ThsSuperviseServiceImpl extends ServiceImpl<ThsSuperviseMapper, Ths
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (IllegalAccessException e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
log.error("获取越限最大值异常:{}", e.toString());
|
||||||
}
|
}
|
||||||
return maxValue;
|
return maxValue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
package com.njcn.prepare.harmonic.service.mysql.line;
|
package com.njcn.prepare.harmonic.service.mysql.line;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
import com.njcn.process.pojo.po.ThsOverRunLog;
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
@@ -13,4 +14,11 @@ import com.njcn.process.pojo.po.ThsOverRunLog;
|
|||||||
*/
|
*/
|
||||||
public interface ThsOverRunLogService extends IService<ThsOverRunLog> {
|
public interface ThsOverRunLogService extends IService<ThsOverRunLog> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 保存技术监督监测点
|
||||||
|
*
|
||||||
|
* @param superviseParam
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
void saveOverRunLog(SuperviseParam superviseParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,8 +6,10 @@ import com.njcn.device.pms.pojo.po.Monitor;
|
|||||||
import com.njcn.harmonic.pojo.vo.SourceSteadyIndicator;
|
import com.njcn.harmonic.pojo.vo.SourceSteadyIndicator;
|
||||||
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
import com.njcn.harmonic.pojo.vo.ThsStrategyVo;
|
||||||
import com.njcn.prepare.enums.TypeEnum;
|
import com.njcn.prepare.enums.TypeEnum;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.param.SuperviseParam;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsOverRunLog;
|
||||||
|
import com.njcn.prepare.harmonic.pojo.po.ThsSupervise;
|
||||||
import com.njcn.process.pojo.po.LimitRate;
|
import com.njcn.process.pojo.po.LimitRate;
|
||||||
import com.njcn.process.pojo.po.ThsSupervise;
|
|
||||||
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
import com.njcn.process.pojo.po.ThsWarnStrategyAss;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -25,9 +27,15 @@ public interface ThsSuperviseService extends IService<ThsSupervise> {
|
|||||||
/**
|
/**
|
||||||
* 初始化技术监督
|
* 初始化技术监督
|
||||||
*/
|
*/
|
||||||
HttpResult<Boolean> initSupervise(Integer initType);
|
HttpResult<List<ThsOverRunLog>> initSupervise(SuperviseParam superviseParam);
|
||||||
|
|
||||||
List<ThsStrategyVo> selectStrategyList(Integer initType);
|
/**
|
||||||
|
* 查新策略集合
|
||||||
|
*
|
||||||
|
* @param superviseParam
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<ThsStrategyVo> selectStrategyList(SuperviseParam superviseParam);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询LimitTarget数据
|
* 查询LimitTarget数据
|
||||||
@@ -41,8 +49,15 @@ public interface ThsSuperviseService extends IService<ThsSupervise> {
|
|||||||
*
|
*
|
||||||
* @param limitBoolMap
|
* @param limitBoolMap
|
||||||
*/
|
*/
|
||||||
void creatSuperviseData(SourceSteadyIndicator steady, Map<String, Object> limitBoolMap, Monitor monitor, LimitRate limitRate);
|
ThsOverRunLog creatSuperviseData(SourceSteadyIndicator steady, Map<String, Object> limitBoolMap, Monitor monitor, LimitRate limitRate, Integer initType);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询策略绑定的干扰源列表或指标参数列表
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param typeEnum
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
List<ThsWarnStrategyAss> queryWarnStrategyAss(String id, TypeEnum typeEnum);
|
List<ThsWarnStrategyAss> queryWarnStrategyAss(String id, TypeEnum typeEnum);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,7 +67,7 @@ public interface ThsSuperviseService extends IService<ThsSupervise> {
|
|||||||
* @param monitor
|
* @param monitor
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate,Map<String, Object> limitBoolMap);
|
ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap, Integer initType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成 告警/预警监测点列表 数据
|
* 生成 告警/预警监测点列表 数据
|
||||||
@@ -61,7 +76,15 @@ public interface ThsSuperviseService extends IService<ThsSupervise> {
|
|||||||
* @param thsSupervise
|
* @param thsSupervise
|
||||||
* @param monitor
|
* @param monitor
|
||||||
*/
|
*/
|
||||||
void insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate,Map<String, Object> limitBoolMap);
|
ThsOverRunLog insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate, Map<String, Object> limitBoolMap, Integer initType);
|
||||||
|
|
||||||
void initCommonStrategy(List<ThsStrategyVo> thsStrategyList);
|
/**
|
||||||
|
* 部门没有绑定策略的走通用策略
|
||||||
|
*
|
||||||
|
* @param thsStrategyList
|
||||||
|
* @param superviseParam
|
||||||
|
*/
|
||||||
|
void initCommonStrategy(List<ThsStrategyVo> thsStrategyList, SuperviseParam superviseParam);
|
||||||
|
|
||||||
|
void deleteTodayData(String depId, Integer initType);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user