diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/SourceSteadyIndicator.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/SourceSteadyIndicator.java index 9d9f26d2b..31a4bf0a2 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/SourceSteadyIndicator.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/SourceSteadyIndicator.java @@ -10,7 +10,9 @@ import java.util.List; @ToString @Builder public class SourceSteadyIndicator { - + /** + * 策略id + */ private String id; /** * 干扰源数据字典Id diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/ThsSuperviseClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/ThsSuperviseClient.java index 4369b9f67..77e2a8c24 100644 --- a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/ThsSuperviseClient.java +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/ThsSuperviseClient.java @@ -3,9 +3,14 @@ package com.njcn.prepare.harmonic.api.line; import com.njcn.common.pojo.constant.ServerInfo; import com.njcn.common.pojo.response.HttpResult; 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.validation.annotation.Validated; 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( value = ServerInfo.PREPARE_BOOT,//对应模块名 @@ -16,9 +21,9 @@ public interface ThsSuperviseClient { /** * 预警/告警事务的生成 * - * @param initType 生成方式 0 自动;1 手动 + * @param superviseParam * @return */ @PostMapping("/initSupervise") - HttpResult initSupervise(@RequestParam("initType") Integer initType); + HttpResult> initSupervise(@RequestBody @Validated SuperviseParam superviseParam); } diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/ThsSuperviseClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/ThsSuperviseClientFallbackFactory.java index 216d376fe..29101035b 100644 --- a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/ThsSuperviseClientFallbackFactory.java +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/ThsSuperviseClientFallbackFactory.java @@ -5,10 +5,15 @@ import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.device.pq.utils.DeviceEnumUtil; 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 lombok.extern.slf4j.Slf4j; 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 @Component @@ -23,7 +28,7 @@ public class ThsSuperviseClientFallbackFactory implements FallbackFactory finalExceptionEnum = exceptionEnum; return new ThsSuperviseClient() { @Override - public HttpResult initSupervise(@RequestParam("initType") Integer initType) { + public HttpResult> initSupervise(@RequestBody @Validated SuperviseParam superviseParam) { log.error("{}异常,降级处理,异常为:{}", "预警/告警事务的生成: ", throwable.toString()); throw new BusinessException(finalExceptionEnum); } diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/SuperviseParam.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/SuperviseParam.java new file mode 100644 index 000000000..32836ca86 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/SuperviseParam.java @@ -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 overRunLog; +} diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsOverRunLog.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/ThsOverRunLog.java similarity index 54% rename from pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsOverRunLog.java rename to pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/ThsOverRunLog.java index 187ab3934..fd70d5e69 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsOverRunLog.java +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/ThsOverRunLog.java @@ -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.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @@ -22,26 +25,31 @@ public class ThsOverRunLog { /** * 主键id */ + @ApiModelProperty(name = "id", value = "主键", required = true) private String id; /** * 监测点ID */ + @ApiModelProperty(name = "lineIndex", value = "监测点ID", required = true) private String lineIndex; /** * 名称(变电站_监测点_日期_id) */ + @ApiModelProperty(name = "name", value = "名称", required = true) private String name; /** * 技术监督Guid */ + @ApiModelProperty(name = "supIndex", value = "技术监督Guid", required = true) private String supIndex; /** * 描述 */ + @ApiModelProperty(name = "description", value = "描述") private String description; /** @@ -71,10 +79,16 @@ public class ThsOverRunLog { /** * 越限时间(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; /** * 创建时间 */ + @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; diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsSupervise.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/ThsSupervise.java similarity index 90% rename from pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsSupervise.java rename to pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/ThsSupervise.java index 67c2b6963..3f3789202 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/ThsSupervise.java +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/po/ThsSupervise.java @@ -1,4 +1,4 @@ -package com.njcn.process.pojo.po; +package com.njcn.prepare.harmonic.pojo.po; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; @@ -77,6 +77,12 @@ public class ThsSupervise { * 创建时间 */ private Date createTime; + /** + * 创建类型(0:自动;1 手动) + */ + private Integer createType; + + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/ThsSuperviseController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/ThsSuperviseController.java index 79f1c785e..eca9597e9 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/ThsSuperviseController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/ThsSuperviseController.java @@ -1,18 +1,26 @@ 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.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.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; 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.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + /** *

* 前端控制器 @@ -21,18 +29,30 @@ import org.springframework.web.bind.annotation.RestController; * @author lxp * @since 2023-03-16 */ -@Api(tags = "预警-告警事务数据生成") +@Api(tags = "预警-告警技术监督") @RestController @RequestMapping("/thsSupervise") public class ThsSuperviseController extends BaseController { @Autowired private ThsSuperviseService thsSuperviseService; + @Autowired + private ThsOverRunLogService thsOverRunLogService; @ApiOperation("预警/告警事务生成") - @ApiImplicitParam(name = "initType", value = "生成策略 0 自动;1 手动", required = true) + @ApiImplicitParam(name = "superviseParam", value = "创建技术监督参数", required = true) @PostMapping("/initSupervise") - public HttpResult initSupervise(@RequestParam("initType") Integer initType) { - return thsSuperviseService.initSupervise(initType); + public HttpResult> initSupervise(@RequestBody @Validated SuperviseParam superviseParam) { + 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); + } + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsOverRunLogMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsOverRunLogMapper.java index fe6eed4a1..b046ffd7b 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsOverRunLogMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsOverRunLogMapper.java @@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line; import com.baomidou.dynamic.datasource.annotation.DS; 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; /** diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsSuperviseMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsSuperviseMapper.java index 27e0e4cb5..6f601a961 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsSuperviseMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsSuperviseMapper.java @@ -2,7 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line; import com.baomidou.dynamic.datasource.annotation.DS; 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; /** diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsWarnStrategyMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsWarnStrategyMapper.java index 401544b22..d40dac8c7 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsWarnStrategyMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/ThsWarnStrategyMapper.java @@ -3,6 +3,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.line; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.harmonic.pojo.vo.ThsStrategyVo; +import com.njcn.prepare.harmonic.pojo.param.SuperviseParam; import com.njcn.process.pojo.po.ThsWarnStrategy; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -23,6 +24,6 @@ public interface ThsWarnStrategyMapper extends BaseMapper { /** * 查询策略的集合 */ - List selectStrategyList(@Param("initType") Integer initType); + List selectStrategyList(@Param("param") SuperviseParam superviseParam); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsSuperviseMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsSuperviseMapper.xml new file mode 100644 index 000000000..61751ed4b --- /dev/null +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsSuperviseMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsWarnStrategyMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsWarnStrategyMapper.xml index 09a37a478..9c3b03de2 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsWarnStrategyMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/ThsWarnStrategyMapper.xml @@ -3,7 +3,8 @@ - select tws.id, tws.name, @@ -18,13 +19,16 @@ tws.Id = tda.Alarm_Id - + tws.State = 1 and tws.Grade in(0,2) - + tws.State = 1 and tws.Grade in(1,2) + + and tda.Dept_Id=#{param.deptId} + and tws.Big_Type=1 diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsOverRunLogServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsOverRunLogServiceImpl.java index d9b08cb11..8718d979c 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsOverRunLogServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsOverRunLogServiceImpl.java @@ -1,10 +1,14 @@ 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.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.process.pojo.po.ThsOverRunLog; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** *

@@ -15,6 +19,13 @@ import org.springframework.stereotype.Service; * @since 2023-03-16 */ @Service +@Slf4j public class ThsOverRunLogServiceImpl extends ServiceImpl implements ThsOverRunLogService { + @Override + @Transactional(rollbackFor = Exception.class) + @DS("process") + public void saveOverRunLog(SuperviseParam superviseParam) { + this.saveBatch(superviseParam.getOverRunLog()); + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsSuperviseServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsSuperviseServiceImpl.java index a48c8b506..0470e22d1 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsSuperviseServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ThsSuperviseServiceImpl.java @@ -18,16 +18,22 @@ import com.njcn.harmonic.pojo.vo.SourceSteadyIndicator; import com.njcn.harmonic.pojo.vo.ThsStrategyVo; import com.njcn.prepare.enums.*; 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.process.annotaion.HarCurrent; import com.njcn.process.annotaion.HarVoltage; 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.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.vo.PvTerminalTreeVO; import com.njcn.web.utils.RequestUtil; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.map.HashedMap; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -46,6 +52,7 @@ import java.util.stream.Collectors; * @since 2023-03-16 */ @Service +@Slf4j public class ThsSuperviseServiceImpl extends ServiceImpl implements ThsSuperviseService { @Autowired @@ -71,11 +78,12 @@ public class ThsSuperviseServiceImpl extends ServiceImpl initSupervise(Integer initType) { - if (initType == null) { - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.INVALID_PARAMETER, false, ""); + public HttpResult> initSupervise(SuperviseParam superviseParam) { + List overRunLogList = new ArrayList<>(); + if (InitTypeEnum.MANUAL.getCode().equals(superviseParam.getInitType()) && StringUtils.isBlank(superviseParam.getDeptId())) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.INVALID_PARAMETER, null, ""); } - List thsStrategyList = this.selectStrategyList(initType); + List thsStrategyList = this.selectStrategyList(superviseParam); //按部门进行分组 if (CollectionUtil.isNotEmpty(thsStrategyList)) { Map> deptMap = thsStrategyList.stream().collect(Collectors.groupingBy(ThsStrategyVo::getDeptId)); @@ -142,7 +150,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl { Monitor monitor = pmsMonitorMapper.selectById(steady.getMonitorId()); if (monitor != null) { @@ -152,21 +160,24 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 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 - public void initCommonStrategy(List thsStrategyList) { + public void initCommonStrategy(List thsStrategyList, SuperviseParam superviseParam) { //查询通用策略 ThsWarnStrategy thsWarnStrategy = thsWarnStrategyMapper.selectOne(new LambdaQueryWrapper() .eq(ThsWarnStrategy::getBigType, BigTypeEnum.COMMON.getCode()) @@ -202,7 +213,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl { - this.deleteTodayData(depId); + this.deleteTodayData(depId, superviseParam.getInitType()); //查询部门下所有监测点基本信息 PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam(); pmsDeviceInfoParam.setDeptIndex(depId); @@ -223,7 +234,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 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 selectStrategyList(Integer initType) { - List thsStrategyList = thsWarnStrategyMapper.selectStrategyList(initType); - return thsStrategyList; + public List selectStrategyList(SuperviseParam superviseParam) { + return thsWarnStrategyMapper.selectStrategyList(superviseParam); } /** @@ -257,10 +268,9 @@ public class ThsSuperviseServiceImpl extends ServiceImpl queryWarnStrategyAss(String warnId, TypeEnum typeEnum) { - List thsWarnStrategyAss = thsWarnStrategyAssMapper.selectList(new LambdaQueryWrapper() + return thsWarnStrategyAssMapper.selectList(new LambdaQueryWrapper() .eq(ThsWarnStrategyAss::getWarnId, warnId) .eq(ThsWarnStrategyAss::getType, typeEnum.getCode())); - return thsWarnStrategyAss; } /** @@ -269,36 +279,36 @@ public class ThsSuperviseServiceImpl extends ServiceImpl limitBoolMap, Monitor monitor, LimitRate limitRate) { + public ThsOverRunLog creatSuperviseData(SourceSteadyIndicator steady, Map limitBoolMap, Monitor monitor, LimitRate limitRate, Integer initType) { if (CollectionUtil.isNotEmpty(limitBoolMap)) { if (OperationEnum.AND.getCode().equals(steady.getOperation())) { for (Map.Entry entry : limitBoolMap.entrySet()) { 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())) { for (Map.Entry entry : limitBoolMap.entrySet()) { if (entry.getValue() instanceof Boolean && (boolean) entry.getValue()) { //生成监督数据 - ThsSupervise thsSupervise = this.insertSuperviseData(steady, monitor, limitRate, limitBoolMap); - //生成告警/预警监测点列表数据 - this.insertOverRunLog(steady, thsSupervise, monitor, limitRate, limitBoolMap); - break; + ThsSupervise thsSupervise = this.insertSuperviseData(steady, monitor, limitRate, limitBoolMap, initType); + //生成告警/预警监测点数据 + return this.insertOverRunLog(steady, thsSupervise, monitor, limitRate, limitBoolMap, initType); } } } } + return null; } @DS("process") @Override - public ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate, Map limitBoolMap) { + public ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate, Map limitBoolMap, Integer initType) { //判断今日是否已经生成了监督数据 LambdaQueryWrapper superviseQueryWrapper = new LambdaQueryWrapper<>(); superviseQueryWrapper.between(ThsSupervise::getCreateTime, @@ -322,6 +332,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl descriptionList = (List) limitBoolMap.get(DESCRIPTION); thsSupervise.setDescription(StringUtils.join(descriptionList, ",")); + thsSupervise.setCreateType(initType); thsSuperviseMapper.insert(thsSupervise); return thsSupervise; } @@ -329,7 +340,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl limitBoolMap) { + public ThsOverRunLog insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate, Map limitBoolMap, Integer initType) { ThsOverRunLog thsOverRunLog = new ThsOverRunLog(); thsOverRunLog.setId(IdUtil.simpleUUID()); thsOverRunLog.setSupIndex(thsSupervise.getSupIndex()); @@ -339,7 +350,10 @@ public class ThsSuperviseServiceImpl extends ServiceImpl descriptionList = (List) limitBoolMap.get(DESCRIPTION); thsOverRunLog.setDescription(StringUtils.join(descriptionList, ",")); - thsOverRunLogMapper.insert(thsOverRunLog); + if (InitTypeEnum.AUTO.getCode().equals(initType)) { + thsOverRunLogMapper.insert(thsOverRunLog); + } + return thsOverRunLog; } @@ -359,18 +373,18 @@ public class ThsSuperviseServiceImpl extends ServiceImpl().eq(ThsSupervise::getDeptId, depId) + .eq(ThsSupervise::getCreateType, initType) .between(ThsSupervise::getCreateTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())).last("limit 1")); if (thsSupervise != null) { thsOverRunLogMapper.delete(new LambdaQueryWrapper().eq(ThsOverRunLog::getSupIndex, thsSupervise.getSupIndex())); + thsSuperviseMapper.delete(new LambdaQueryWrapper().eq(ThsSupervise::getSupIndex, thsSupervise.getSupIndex())); } - thsSuperviseMapper.delete(new LambdaQueryWrapper().eq(ThsSupervise::getDeptId, depId) - .between(ThsSupervise::getCreateTime, - DateUtil.beginOfDay(new Date()), - DateUtil.endOfDay(new Date()))); } /** @@ -383,7 +397,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl steadyIndicator = steady.getSteadyIndicator(); Map limitBoolMap = new HashedMap(); - List discreptionList = new ArrayList<>(); + List descriptionList = new ArrayList<>(); steadyIndicator.forEach(id -> { HttpResult dicDataById = dicDataFeignClient.getDicDataById(id); if (CommonResponseEnum.SUCCESS.getCode().equals(dicDataById.getCode()) && dicDataById.getData() != null) { @@ -393,16 +407,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 0) { 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 { limitBoolMap.put(SteadyIndicatorEnum.Negative_Voltage.getCode(), false); } break; case Interhar_Voltage://间谐波电压 - Integer interharVoltageOvertime = this.maxValue(limitRate, InterharVoltage.class); + Integer interharVoltageOvertime = this.maxOverTime(limitRate, InterharVoltage.class); if (interharVoltageOvertime > 0) { limitBoolMap.put(SteadyIndicatorEnum.Interhar_Voltage.getCode(), true); - discreptionList.add(SteadyIndicatorEnum.Interhar_Voltage.getMessage().concat(interharVoltageOvertime + "次")); + descriptionList.add(SteadyIndicatorEnum.Interhar_Voltage.getMessage().concat(interharVoltageOvertime + "次")); } else { limitBoolMap.put(SteadyIndicatorEnum.Interhar_Voltage.getCode(), false); } @@ -410,7 +424,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 0) { 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 { limitBoolMap.put(SteadyIndicatorEnum.Neg_Current.getCode(), false); } @@ -418,7 +432,7 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 0) { 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 { limitBoolMap.put(SteadyIndicatorEnum.Fre_Deviation.getCode(), false); } @@ -426,16 +440,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 0) { 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 { limitBoolMap.put(SteadyIndicatorEnum.Voltage_Dev.getCode(), false); } break; case Har_Current://谐波电流 - Integer harCurrentOvertime = this.maxValue(limitRate, HarCurrent.class); + Integer harCurrentOvertime = this.maxOverTime(limitRate, HarCurrent.class); if (harCurrentOvertime > 0) { limitBoolMap.put(SteadyIndicatorEnum.Har_Current.getCode(), true); - discreptionList.add(SteadyIndicatorEnum.Har_Current.getMessage().concat(harCurrentOvertime + "次")); + descriptionList.add(SteadyIndicatorEnum.Har_Current.getMessage().concat(harCurrentOvertime + "次")); } else { limitBoolMap.put(SteadyIndicatorEnum.Har_Current.getCode(), false); } @@ -443,16 +457,16 @@ public class ThsSuperviseServiceImpl extends ServiceImpl 0) { 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 { limitBoolMap.put(SteadyIndicatorEnum.Voltage_Fluc.getCode(), false); } break; case Har_Voltage://谐波电压 - Integer harVoltageOvertime = this.maxValue(limitRate, HarVoltage.class); + Integer harVoltageOvertime = this.maxOverTime(limitRate, HarVoltage.class); if (harVoltageOvertime > 0) { limitBoolMap.put(SteadyIndicatorEnum.Har_Voltage.getCode(), true); - discreptionList.add(SteadyIndicatorEnum.Har_Voltage.getMessage().concat(harVoltageOvertime + "次")); + descriptionList.add(SteadyIndicatorEnum.Har_Voltage.getMessage().concat(harVoltageOvertime + "次")); } else { limitBoolMap.put(SteadyIndicatorEnum.Har_Voltage.getCode(), false); } @@ -461,26 +475,26 @@ public class ThsSuperviseServiceImpl extends ServiceImpl @@ -13,4 +14,11 @@ import com.njcn.process.pojo.po.ThsOverRunLog; */ public interface ThsOverRunLogService extends IService { + /** + * 保存技术监督监测点 + * + * @param superviseParam + * @return + */ + void saveOverRunLog(SuperviseParam superviseParam); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/ThsSuperviseService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/ThsSuperviseService.java index d11cf311f..708c7f449 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/ThsSuperviseService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/ThsSuperviseService.java @@ -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.ThsStrategyVo; 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.ThsSupervise; import com.njcn.process.pojo.po.ThsWarnStrategyAss; import java.util.List; @@ -25,9 +27,15 @@ public interface ThsSuperviseService extends IService { /** * 初始化技术监督 */ - HttpResult initSupervise(Integer initType); + HttpResult> initSupervise(SuperviseParam superviseParam); - List selectStrategyList(Integer initType); + /** + * 查新策略集合 + * + * @param superviseParam + * @return + */ + List selectStrategyList(SuperviseParam superviseParam); /** * 查询LimitTarget数据 @@ -41,8 +49,15 @@ public interface ThsSuperviseService extends IService { * * @param limitBoolMap */ - void creatSuperviseData(SourceSteadyIndicator steady, Map limitBoolMap, Monitor monitor, LimitRate limitRate); + ThsOverRunLog creatSuperviseData(SourceSteadyIndicator steady, Map limitBoolMap, Monitor monitor, LimitRate limitRate, Integer initType); + /** + * 查询策略绑定的干扰源列表或指标参数列表 + * + * @param id + * @param typeEnum + * @return + */ List queryWarnStrategyAss(String id, TypeEnum typeEnum); /** @@ -52,7 +67,7 @@ public interface ThsSuperviseService extends IService { * @param monitor * @return */ - ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate,Map limitBoolMap); + ThsSupervise insertSuperviseData(SourceSteadyIndicator steady, Monitor monitor, LimitRate limitRate, Map limitBoolMap, Integer initType); /** * 生成 告警/预警监测点列表 数据 @@ -61,7 +76,15 @@ public interface ThsSuperviseService extends IService { * @param thsSupervise * @param monitor */ - void insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate,Map limitBoolMap); + ThsOverRunLog insertOverRunLog(SourceSteadyIndicator steady, ThsSupervise thsSupervise, Monitor monitor, LimitRate limitRate, Map limitBoolMap, Integer initType); - void initCommonStrategy(List thsStrategyList); + /** + * 部门没有绑定策略的走通用策略 + * + * @param thsStrategyList + * @param superviseParam + */ + void initCommonStrategy(List thsStrategyList, SuperviseParam superviseParam); + + void deleteTodayData(String depId, Integer initType); }