diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java index 732fccd05..4480e7173 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/DeptLineFeignClient.java @@ -47,4 +47,7 @@ public interface DeptLineFeignClient { */ @PostMapping("/getLineNodeByDeptId") HttpResult> getLineNodeByDeptId(@RequestParam("id") String id); + + @PostMapping("/getAllData") + HttpResult> getAllData(); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java index e62ec0341..160ccc2b3 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineFeignClient.java @@ -1,7 +1,11 @@ package com.njcn.device.pq.api; +import com.njcn.common.pojo.annotation.OperateInfo; import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.enums.common.LogEnum; +import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; +import com.njcn.common.utils.HttpResultUtil; import com.njcn.device.pq.api.fallback.LineFeignClientFallbackFactory; import com.njcn.device.pq.pojo.dto.*; import com.njcn.device.pq.pojo.param.DataParam; @@ -343,4 +347,10 @@ public interface LineFeignClient { @PostMapping("/getDeptDeviceDetailData") HttpResult> getDeptDeviceDetailData(@RequestBody DataParam param); + + @PostMapping("/getNoDataLine") + HttpResult> getNoDataLine(); + + @PostMapping("/getReportLineInfo") + HttpResult> getReportLineInfo(@RequestBody List ids); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java index 7a807ce56..9e2679cc6 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/DeptLineFeignClientFallbackFactory.java @@ -68,6 +68,12 @@ public class DeptLineFeignClientFallbackFactory implements FallbackFactory> getAllData() { + log.error("{}异常,降级处理,异常为:{}", "获取部门监测点表所有数据", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java index 2f5b82edf..0ced88fac 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineFeignClientFallbackFactory.java @@ -269,6 +269,18 @@ public class LineFeignClientFallbackFactory implements FallbackFactory> getNoDataLine() { + log.error("{}异常,降级处理,异常为:{}", "获取当日无数据的监测点: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getReportLineInfo(List ids) { + log.error("{}异常,降级处理,异常为:{}", "根据监测点id获取预告警单基础信息: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java index 74437f26a..f2c2cb7ac 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/LineDetailVO.java @@ -93,4 +93,17 @@ public class LineDetailVO implements Serializable { @ApiModelProperty("已用流量占比") private Float flowProportion; } + + @Data + public static class noDataLineInfo extends LineDetailVO implements Serializable{ + + @ApiModelProperty("监测点Id") + private String lineId; + + @ApiModelProperty("终端id") + private String devId; + + @ApiModelProperty("最新数据时间") + private LocalDateTime updateTime; + } } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/ReportLineInfoVo.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/ReportLineInfoVo.java new file mode 100644 index 000000000..6ded74d9b --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/ReportLineInfoVo.java @@ -0,0 +1,53 @@ +package com.njcn.device.pq.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * @author xy + */ +@Data +public class ReportLineInfoVo implements Serializable { + + @ApiModelProperty("供电公司名称") + private String gdName; + + @ApiModelProperty("监测点电压等级") + private String lineVoltage; + + @ApiModelProperty("监测点id") + private String lineId; + + @ApiModelProperty("监测点名称") + private String lineName; + + @ApiModelProperty("所属电站") + private String subName; + + @ApiModelProperty("监测对象名称") + private String objName; + + @ApiModelProperty("电网侧变电站") + private String subVName; + + @ApiModelProperty("最新数据时间") + private LocalDateTime updateTime; + + @ApiModelProperty("监测装置网络参数") + private String ip; + + @ApiModelProperty("最小短路容量") + private Double shortCapacity; + + @ApiModelProperty("供电设备容量") + private Double devCapacity; + + @ApiModelProperty("供电设备容量") + private Double standardCapacity; + + @ApiModelProperty("超标天数") + private Integer overDays; +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java index 1186fa3d2..a602b9cb5 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/DeptLineController.java @@ -7,6 +7,7 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.common.utils.LogUtil; +import com.njcn.device.pq.mapper.DeptLineMapper; import com.njcn.device.pq.pojo.po.DeptLine; import com.njcn.device.pq.pojo.vo.LineDeviceStateVO; import com.njcn.device.pq.service.DeptLineService; @@ -37,6 +38,7 @@ import java.util.Map; public class DeptLineController extends BaseController { private final DeptLineService deptLineService; + private final DeptLineMapper deptLineMapper; /** * 部门绑定监测点 @@ -146,4 +148,13 @@ public class DeptLineController extends BaseController { List list = deptLineService.getLineNodeByDeptId(id); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } + + @OperateInfo(info = LogEnum.SYSTEM_COMMON) + @PostMapping("/getAllData") + @ApiOperation("获取部门监测点表所有数据") + public HttpResult> getAllData() { + String methodDescribe = getMethodDescribe("getAllData"); + List list = deptLineMapper.selectList(null); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java index c25ee9798..57bacf498 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineController.java @@ -516,4 +516,22 @@ public class LineController extends BaseController { List deptDeviceDetailData = lineService.getDeptDeviceDetailData(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, deptDeviceDetailData, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("获取当日无数据的监测点") + @PostMapping("/getNoDataLine") + HttpResult> getNoDataLine(){ + String methodDescribe = getMethodDescribe("getNoDataLine"); + List result = lineService.getNoDataLine(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("根据监测点id获取预告警单基础信息") + @PostMapping("/getReportLineInfo") + HttpResult> getReportLineInfo(@RequestBody List ids){ + String methodDescribe = getMethodDescribe("getReportLineInfo"); + List result = lineService.getReportLineInfo(ids); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java index 3a6bbec05..0277cc13e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/LineMapper.java @@ -551,4 +551,8 @@ public interface LineMapper extends BaseMapper { @Param("type")Integer type); LineDetailVO getLineInfoVO(@Param("id")String id); + + List getNoDataLine(@Param("time")String time); + + List getReportLineInfo(@Param("ids")List ids); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml index c21e6317b..735790c32 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/LineMapper.xml @@ -1668,4 +1668,57 @@ + + + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java index 3375786c9..9d49b10e7 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/LineService.java @@ -220,4 +220,8 @@ public interface LineService extends IService { List getLineAllDetailList(List ids); List getDeptDeviceDetailData(DataParam param); + + List getNoDataLine(); + + List getReportLineInfo(List ids); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java index 575960092..9885e054d 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/LineServiceImpl.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; @@ -57,6 +58,7 @@ import org.springframework.util.CollectionUtils; import java.text.SimpleDateFormat; import java.time.Instant; +import java.time.LocalDateTime; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -681,6 +683,17 @@ public class LineServiceImpl extends ServiceImpl implements Li return new ArrayList<>(); } + @Override + public List getNoDataLine() { + String time = DateUtil.format(LocalDateTime.now(), DatePattern.NORM_DATE_PATTERN); + return this.baseMapper.getNoDataLine(time); + } + + @Override + public List getReportLineInfo(List ids) { + return this.baseMapper.getReportLineInfo(ids); + } + @Override public List getOverLimitByList(PollutionParamDTO pollutionParamDTO) { return overlimitMapper.selectBatchIds(pollutionParamDTO.getLineList()); diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/RStatLimitRateDClient.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/RStatLimitRateDClient.java index 896c30a50..eaffac459 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/RStatLimitRateDClient.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/RStatLimitRateDClient.java @@ -9,6 +9,7 @@ import com.njcn.harmonic.pojo.param.RStatLimitQueryParam; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import com.njcn.influx.pojo.dto.HarmHistoryDataDTO; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -31,4 +32,7 @@ public interface RStatLimitRateDClient { @PostMapping("/monitorIdsGetLimitTargetInfo") HttpResult> monitorIdsGetLimitTargetInfo(@RequestBody RStatLimitQueryParam rStatLimitQueryParam); + @PostMapping("/monitorOverLimitDays") + HttpResult> monitorOverLimitDays(@RequestBody RStatLimitQueryParam rStatLimitQueryParam); + } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/RStatLimitRateDFeignClientFallbackFactory.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/RStatLimitRateDFeignClientFallbackFactory.java index 70e821ceb..363fc62f8 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/RStatLimitRateDFeignClientFallbackFactory.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/api/fallback/RStatLimitRateDFeignClientFallbackFactory.java @@ -11,6 +11,7 @@ import com.njcn.harmonic.pojo.param.RStatLimitQueryParam; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import com.njcn.influx.pojo.dto.HarmHistoryDataDTO; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; @@ -49,6 +50,12 @@ public class RStatLimitRateDFeignClientFallbackFactory implements FallbackFactor log.error("{}异常,降级处理,异常为:{}", "获取指定日期超标监测点详细信息", throwable.toString()); return new HttpResult<>(CommonResponseEnum.FAIL.getCode(),CommonResponseEnum.FAIL.getMessage()); } + + @Override + public HttpResult> monitorOverLimitDays(RStatLimitQueryParam rStatLimitQueryParam) { + log.error("{}异常,降级处理,异常为:{}", "按日期查询监测点各指标越限天数", throwable.toString()); + return new HttpResult<>(CommonResponseEnum.FAIL.getCode(),CommonResponseEnum.FAIL.getMessage()); + } }; } } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatLimitQueryParam.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatLimitQueryParam.java index e257ef33a..abc41a435 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatLimitQueryParam.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/param/RStatLimitQueryParam.java @@ -22,4 +22,6 @@ public class RStatLimitQueryParam { private List ids; private String date; + + private String endDate; } diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLimitTargetVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLimitTargetVO.java index 6b8b0904c..11bb7cfdc 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLimitTargetVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatLimitTargetVO.java @@ -67,4 +67,10 @@ public class RStatLimitTargetVO { @ApiModelProperty("间谐波电压限值天数") private Integer inuharmOvertime = 0; + /** + * 所有指标越限天数 + */ + @ApiModelProperty("所有指标越限天数") + private Integer allOvertime = 0; + } \ No newline at end of file diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatLimitController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatLimitController.java index 469ed6753..8c60fe0f8 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatLimitController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/majornetwork/RStatLimitController.java @@ -8,6 +8,7 @@ import com.njcn.common.utils.HttpResultUtil; import com.njcn.harmonic.pojo.param.RStatLimitQueryParam; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import com.njcn.harmonic.service.majornetwork.RStatLimitService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -54,4 +55,13 @@ public class RStatLimitController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } + @PostMapping("/monitorOverLimitDays") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiOperation("按日期查询监测点各指标越限天数") + public HttpResult> monitorOverLimitDays(@RequestBody RStatLimitQueryParam rStatLimitQueryParam) { + String methodDescribe = getMethodDescribe("monitorOverLimitDays"); + List result = rStatLimitService.monitorOverLimitDays(rStatLimitQueryParam.getDate(),rStatLimitQueryParam.getEndDate(),rStatLimitQueryParam.getIds()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } + } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml index eb116efc5..88045b35d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/mapping/RStatLimitTargetDMapper.xml @@ -360,7 +360,8 @@ SUM( ubalance_overtime ) AS ubalanceOvertime, SUM( uaberrance_overtime ) AS uaberranceOvertime, SUM( i_neg_overtime ) AS iNegOvertime, - sum(if((uharm_2_overtime+ + sum(if((uaberrance_overtime+ + uharm_2_overtime+ uharm_3_overtime+ uharm_4_overtime+ uharm_5_overtime+ @@ -423,7 +424,77 @@ inuharm_13_overtime+ inuharm_14_overtime+ inuharm_15_overtime+ - inuharm_16_overtime)>0,1,0)) as inuharmOvertime + inuharm_16_overtime)>0,1,0)) as inuharmOvertime, + sum(if((freq_dev_overtime+ + flicker_overtime+ + voltage_dev_overtime+ + ubalance_overtime+ + uaberrance_overtime+ + i_neg_overtime+ + uharm_2_overtime+ + uharm_3_overtime+ + uharm_4_overtime+ + uharm_5_overtime+ + uharm_6_overtime+ + uharm_7_overtime+ + uharm_8_overtime+ + uharm_9_overtime+ + uharm_10_overtime+ + uharm_11_overtime+ + uharm_12_overtime+ + uharm_13_overtime+ + uharm_14_overtime+ + uharm_15_overtime+ + uharm_16_overtime+ + uharm_17_overtime+ + uharm_18_overtime+ + uharm_19_overtime+ + uharm_20_overtime+ + uharm_21_overtime+ + uharm_22_overtime+ + uharm_23_overtime+ + uharm_24_overtime+ + uharm_25_overtime+ + iharm_2_overtime+ + iharm_3_overtime+ + iharm_4_overtime+ + iharm_5_overtime+ + iharm_6_overtime+ + iharm_7_overtime+ + iharm_8_overtime+ + iharm_9_overtime+ + iharm_10_overtime+ + iharm_11_overtime+ + iharm_12_overtime+ + iharm_13_overtime+ + iharm_14_overtime+ + iharm_15_overtime+ + iharm_16_overtime+ + iharm_17_overtime+ + iharm_18_overtime+ + iharm_19_overtime+ + iharm_20_overtime+ + iharm_21_overtime+ + iharm_22_overtime+ + iharm_23_overtime+ + iharm_24_overtime+ + iharm_25_overtime+ + inuharm_1_overtime+ + inuharm_2_overtime+ + inuharm_3_overtime+ + inuharm_4_overtime+ + inuharm_5_overtime+ + inuharm_6_overtime+ + inuharm_7_overtime+ + inuharm_8_overtime+ + inuharm_9_overtime+ + inuharm_10_overtime+ + inuharm_11_overtime+ + inuharm_12_overtime+ + inuharm_13_overtime+ + inuharm_14_overtime+ + inuharm_15_overtime+ + inuharm_16_overtime)>0,1,0)) as allOvertime FROM r_stat_limit_target_d diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatLimitService.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatLimitService.java index 865ba0a2e..afe5d5a10 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatLimitService.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/RStatLimitService.java @@ -4,6 +4,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.vo.GridDiagramVO; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import java.util.List; @@ -25,6 +26,8 @@ public interface RStatLimitService { List monitorIdsGetLimitTargetInfo(String date, List monitorIds); + List monitorOverLimitDays(String date, String endDate, List monitorIds); + List getGridDiagramLineData(DeviceInfoParam.BusinessParam deviceInfoParam); /** diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java index 9b08aa67f..34f7788a2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatLimitServiceImpl.java @@ -23,16 +23,14 @@ import com.njcn.harmonic.mapper.RStatLimitTargetDMapper; import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam; import com.njcn.harmonic.pojo.po.day.RStatLimitRateDPO; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import com.njcn.harmonic.service.IRStatLimitTargetDService; import com.njcn.harmonic.service.majornetwork.RStatLimitService; import com.njcn.system.pojo.enums.StatisticsEnum; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.atomic.AtomicLong; import java.util.function.Function; import java.util.stream.Collectors; @@ -68,6 +66,11 @@ public class RStatLimitServiceImpl implements RStatLimitService { .eq(RStatLimitTargetDPO::getTime,date).gt(RStatLimitTargetDPO::getAllTime,0)); } + @Override + public List monitorOverLimitDays(String date, String endDate, List monitorIds) { + return rStatLimitTargetDMapper.getSumTargetDetails(monitorIds,date,endDate); + } + @Override public List getGridDiagramLineData(DeviceInfoParam.BusinessParam deviceInfoParam) { List info=new ArrayList<>(); diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/OnlineParam.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/OnlineParam.java index 1d96a4ee0..1d3d86651 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/OnlineParam.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/param/device/OnlineParam.java @@ -31,16 +31,26 @@ public class OnlineParam extends BaseParam implements Serializable { @ApiModelProperty(value = "部门id") private String deptId; - @ApiModelProperty(value = "指标") + @ApiModelProperty(value = "部门名称") + private String deptName; + + @ApiModelProperty(value = "指标id") private String targetId; + @ApiModelProperty(value = "指标集合") + private List targetList; + @ApiModelProperty(value = "预警阈值") private Integer alertThreshold; @ApiModelProperty(value = "告警阈值") private Integer alarmThreshold; + @ApiModelProperty(value = "数据类型") + private Integer dataType; + @Data + @EqualsAndHashCode(callSuper = true) public static class ReportParam extends OnlineParam { @ApiModelProperty(name = "type", value = "0:预警单 1:告警单") @@ -48,7 +58,15 @@ public class OnlineParam extends BaseParam implements Serializable { @ApiModelProperty(name = "issueDetail", value = "问题描述") private String issueDetail; + + @ApiModelProperty(name = "year", value = "年") + private String year; + + @ApiModelProperty(name = "number", value = "编号") + private String number; + + @ApiModelProperty(name = "idList", value = "问题id集合") + private List idList; } - } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/LineWarning.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/LineWarning.java index 7a9ba60d1..5f3f36af2 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/LineWarning.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/LineWarning.java @@ -1,6 +1,7 @@ package com.njcn.supervision.pojo.po.device; import com.baomidou.mybatisplus.annotation.TableName; +import com.github.jeffreyning.mybatisplus.anno.MppMultiId; import com.njcn.db.bo.BaseEntity; import java.io.Serializable; import java.time.LocalDate; @@ -31,16 +32,24 @@ public class LineWarning extends BaseEntity implements Serializable { /** * 告警时间 */ + @MppMultiId(value = "alarm_time") private LocalDate alarmTime; + /** + * 责任部门id + */ + private String deptId; + /** * 监测点id */ + @MppMultiId(value = "line_id") private String lineId; /** * 指标类型(字典id) */ + @MppMultiId(value = "target_type") private String targetType; /** @@ -73,9 +82,4 @@ public class LineWarning extends BaseEntity implements Serializable { */ private Integer thresholdResource; - /** - * 责任部门id - */ - private String deptId; - } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/OnlineVo.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/OnlineVo.java index 8cbb389f8..077315e5c 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/OnlineVo.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/vo/device/OnlineVo.java @@ -44,9 +44,33 @@ public class OnlineVo implements Serializable { @ApiModelProperty("指标id") private String targetType; - @ApiModelProperty("累计超标天数") + @ApiModelProperty("超标天数") private Integer overLimitDay; + @ApiModelProperty("频率偏差") + private Integer freq; + + @ApiModelProperty("电压偏差") + private Integer voltage; + + @ApiModelProperty("闪变") + private Integer flicker; + + @ApiModelProperty("三相电压不平衡度") + private Integer ubalance; + + @ApiModelProperty("负序电流") + private Integer iNeg; + + @ApiModelProperty("谐波电压") + private Integer harmonicV; + + @ApiModelProperty("谐波电流") + private Integer harmonicI; + + @ApiModelProperty("间谐波电压") + private Integer inuharmV; + @ApiModelProperty("数据来源 0:系统默认 1:自定义") private Integer dataResource; } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java index f36843c4a..60d786469 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/device/LineWarningController.java @@ -8,10 +8,8 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; import com.njcn.supervision.pojo.param.device.OnlineParam; -import com.njcn.supervision.pojo.po.device.LineWarning; import com.njcn.supervision.pojo.vo.device.OnlineVo; import com.njcn.supervision.service.device.ILineWarningService; -import com.njcn.supervision.service.leaflet.IWarningLeafletService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -25,6 +23,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; +import javax.servlet.http.HttpServletResponse; + /** *

* 监测点每日稳态指标超标天数统计表 前端控制器 @@ -44,7 +44,7 @@ public class LineWarningController extends BaseController { @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/add") - @ApiOperation("新增在线监测数据") + @ApiOperation("新增在线监测数据(连续超标天数)") @ApiIgnore public HttpResult add() { String methodDescribe = getMethodDescribe("add"); @@ -52,6 +52,15 @@ public class LineWarningController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/heBeiNorthAdd") + @ApiOperation("新增在线监测数据(冀北-按月统计累计超标天数)") + public HttpResult heBeiNorthAdd() { + String methodDescribe = getMethodDescribe("heBeiNorthAdd"); + lineWarningService.addHeBeiNorthLineWarning(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/list") @ApiOperation("分页查询在线监测数据") @@ -66,9 +75,9 @@ public class LineWarningController extends BaseController { @PostMapping("/report") @ApiOperation("发起预告警单") @ApiImplicitParam(name = "param", value = "参数", required = true) - public HttpResult startReport(@RequestBody @Validated OnlineParam.ReportParam param) { + public HttpResult startReport(@RequestBody @Validated OnlineParam.ReportParam param, HttpServletResponse response) { String methodDescribe = getMethodDescribe("startReport"); - lineWarningService.startReport(param); + lineWarningService.startReport(param,response); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, "success", methodDescribe); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/LineWarningMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/LineWarningMapper.java index 39e079cc9..3d0bb793f 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/LineWarningMapper.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/LineWarningMapper.java @@ -18,5 +18,4 @@ import org.apache.ibatis.annotations.Param; public interface LineWarningMapper extends MppBaseMapper { Page page(@Param("page") Page page, @Param("ew") QueryWrapper queryWrapper); - } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/LineWarningMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/LineWarningMapper.xml index 12f7ddbc8..fb8ebc78b 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/LineWarningMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/LineWarningMapper.xml @@ -29,5 +29,4 @@ and ${ew.sqlSegment} - diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ILineWarningService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ILineWarningService.java index 7428212d9..67741eb57 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ILineWarningService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ILineWarningService.java @@ -6,6 +6,8 @@ import com.njcn.supervision.pojo.param.device.OnlineParam; import com.njcn.supervision.pojo.po.device.LineWarning; import com.njcn.supervision.pojo.vo.device.OnlineVo; +import javax.servlet.http.HttpServletResponse; + /** *

* 监测点每日稳态指标超标天数统计表 服务类 @@ -21,6 +23,11 @@ public interface ILineWarningService extends IService { */ void addLineWarning(); + /** + * 每日统计当前月各监测点各指标累计超标天数 + */ + void addHeBeiNorthLineWarning(); + /** * 获取在线监测的数据列表 * @param param @@ -33,6 +40,6 @@ public interface ILineWarningService extends IService { * @param param * @return */ - void startReport(OnlineParam.ReportParam param); + void startReport(OnlineParam.ReportParam param, HttpServletResponse response); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java index 5740b26c7..f18e4cbed 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/LineWarningServiceImpl.java @@ -3,7 +3,7 @@ package com.njcn.supervision.service.device.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.IdUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; @@ -13,11 +13,14 @@ import com.njcn.device.biz.pojo.dto.DeptGetChildrenMoreDTO; import com.njcn.device.biz.pojo.dto.LineDevGetDTO; import com.njcn.device.biz.pojo.param.DeptGetLineParam; import com.njcn.device.pq.api.DeptLineFeignClient; +import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.po.DeptLine; +import com.njcn.device.pq.pojo.vo.LineDetailVO; +import com.njcn.device.pq.pojo.vo.ReportLineInfoVo; import com.njcn.harmonic.api.RStatLimitRateDClient; import com.njcn.harmonic.pojo.param.RStatLimitQueryParam; import com.njcn.harmonic.pojo.po.day.RStatLimitTargetDPO; -import com.njcn.supervision.enums.ProblemTypeEnum; +import com.njcn.harmonic.pojo.vo.RStatLimitTargetVO; import com.njcn.supervision.mapper.device.LineWarningMapper; import com.njcn.supervision.pojo.param.device.OnlineParam; import com.njcn.supervision.pojo.po.device.LineWarning; @@ -33,9 +36,11 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletResponse; import java.lang.reflect.Method; import java.time.LocalDate; import java.time.LocalDateTime; +import java.time.temporal.TemporalAdjusters; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @@ -57,6 +62,7 @@ public class LineWarningServiceImpl extends MppServiceImpl result = new ArrayList<>(); + //获取指标集合(10个指标,包含总指标) + List dataList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); + Map targetMap = dataList.stream().collect(Collectors.toMap(DictData::getCode, Function.identity())); + //获取监测点和部门表关系 + List deptLines = deptLineFeignClient.getAllData().getData(); + Map> deptLineMap = deptLines.stream().collect(Collectors.groupingBy(DeptLine::getLineId)); + //获取监测点按时间统计越限天数 + LocalDate firstDayOfMonth = LocalDate.now().minusDays(1).with(TemporalAdjusters.firstDayOfMonth()); + String date = DateUtil.format(firstDayOfMonth.atStartOfDay(), DatePattern.NORM_DATE_PATTERN); + String endDate = DateUtil.format(LocalDateTime.now().minusDays(1), DatePattern.NORM_DATE_PATTERN); + RStatLimitQueryParam rStatLimitQueryParam = new RStatLimitQueryParam(null,date,endDate); + List limitTarget = limitRateDClient.monitorOverLimitDays(rStatLimitQueryParam).getData(); + //按各指标统计越限天数 + if (CollUtil.isNotEmpty(limitTarget)) { + limitTarget.forEach(item->{ + String deptId = Objects.isNull(deptLineMap.get(item.getLineId()))?null:deptLineMap.get(item.getLineId()).get(0).getId(); + //频率偏差 + LineWarning l1 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.FREQUENCY_DEV.getCode()).getId(),item.getFreqDevOvertime()); + //电压偏差 + LineWarning l2 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.VOLTAGE_DEV.getCode()).getId(),item.getVoltageDevOvertime()); + //长时闪变 + LineWarning l3 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.FLICKER.getCode()).getId(),item.getFlickerOvertime()); + //谐波电压 + LineWarning l4 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.HARMONIC_VOLTAGE.getCode()).getId(),item.getUharmOvertime()); + //谐波电流 + LineWarning l5 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.HARMONIC_CURRENT.getCode()).getId(),item.getIharmOvertime()); + //间谐波电压 + LineWarning l6 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.INTERHARMONIC_VOLTAGE.getCode()).getId(),item.getInuharmOvertime()); + //负序电压不平衡度 + LineWarning l7 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.PHASE_VOLTAGE.getCode()).getId(),item.getUbalanceOvertime()); + //负序电流 + LineWarning l8 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.NEG_CURRENT.getCode()).getId(),item.getINegOvertime()); + //电压总谐波畸变率 + LineWarning l9 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.THD_V.getCode()).getId(),item.getUaberranceOvertime()); + //总稳态指标 + LineWarning l10 = overData(firstDayOfMonth,item.getLineId(),deptId,targetMap.get(DicDataEnum.TOTAL_INDICATOR.getCode()).getId(),item.getAllOvertime()); + result.addAll(Arrays.asList(l1,l2,l3,l4,l5,l6,l7,l8,l9,l10)); + }); + } + //将装置无数据的统计入库 按运维要求,判断装置的最新数据不是当天,则认为装置无数据 + List noDataLineInfo = lineFeignClient.getNoDataLine().getData(); + if (CollUtil.isNotEmpty(noDataLineInfo)) { + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(LineWarning::getTargetType,"0").eq(LineWarning::getAlarmTime,LocalDate.now().minusDays(1)); + this.baseMapper.delete(lambdaQueryWrapper); + noDataLineInfo.forEach(item->{ + String deptId = Objects.isNull(deptLineMap.get(item.getLineId()))?null:deptLineMap.get(item.getLineId()).get(0).getId(); + LineWarning lineWarning = new LineWarning(); + lineWarning.setAlarmTime(firstDayOfMonth); + lineWarning.setDeptId(deptId); + lineWarning.setLineId(item.getLineId()); + lineWarning.setTargetType("0"); + result.add(lineWarning); + }); + } + this.saveOrUpdateBatchByMultiId(result); + } + @Override public Page getLineWarningList(OnlineParam param) { DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); @@ -129,35 +197,66 @@ public class LineWarningServiceImpl extends MppServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.between("A.alarm_time", param.getSearchBeginTime(),param.getSearchEndTime()); - queryWrapper.ge("A.over_limit_day", param.getAlertThreshold()); - if (CollUtil.isNotEmpty(lineList)) { - queryWrapper.in("A.line_id",lineList); + //查询无数据的监测点 + if (Objects.equals(param.getDataType(),0)){ + queryWrapper.eq("A.target_type", "0"); } - if (!Objects.isNull(param.getTargetId())) { - queryWrapper.eq("A.target_type", param.getTargetId()); + //查询指标超标的监测点 + else { + queryWrapper.ge("A.over_limit_day", param.getAlertThreshold()); + if (CollUtil.isNotEmpty(lineList)) { + queryWrapper.in("A.line_id",lineList); + } + if (CollUtil.isNotEmpty(param.getTargetList())) { + queryWrapper.in("A.target_type", param.getTargetList()); + } } + queryWrapper.orderBy(true, true, "D.Name","p4.Name","p3.Name"); return this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) - public void startReport(OnlineParam.ReportParam param) { - String dept = this.baseMapper.selectById(param.getId()).getDeptId(); - //下发预告警单 - warningLeafletService.createLeaflet(ProblemTypeEnum.ONLINE.getName(), dept,IdUtil.fastSimpleUUID(), param.getId(), ProblemTypeEnum.ONLINE.getCode(),param.getType(),param.getIssueDetail(),""); - //更新supervision_line_warning表字段信 - LineWarning lineWarning = this.baseMapper.selectById(param.getId()); - if (lineWarning.getThresholdResource() == 0) { - lineWarning.setInitiateWarningFlag(1); - lineWarning.setAlertThreshold(10); - lineWarning.setAlarmThreshold(15); + public void startReport(OnlineParam.ReportParam param,HttpServletResponse response) { + //获取无数据监测点集合 + List list1 = getReportLineInfo(true,param.getIdList(),null,param.getSearchBeginTime(),param.getSearchEndTime(),param.getDeptId()); + //获取谐波电压超标监测点集合 + String vCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.HARMONIC_VOLTAGE.getCode()).getData().getId(); + List list2 = getReportLineInfo(false,param.getIdList(),vCode,param.getSearchBeginTime(),param.getSearchEndTime(),null); + //获取谐波电流超标监测点集合 + String iCode = dicDataFeignClient.getDicDataByCode(DicDataEnum.HARMONIC_CURRENT.getCode()).getData().getId(); + List list3 = getReportLineInfo(false,param.getIdList(),iCode,param.getSearchBeginTime(),param.getSearchEndTime(),null); + + } + + public List getReportLineInfo(boolean type, List idList, String codeId, String startTime, String endTime, String deptId) { + List list = new ArrayList<>(); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + if (type) { + lambdaQueryWrapper.eq(LineWarning::getTargetType,"0") + .eq(LineWarning::getDeptId,deptId) + .between(LineWarning::getAlarmTime,startTime,endTime); } else { - lineWarning.setInitiateWarningFlag(1); - lineWarning.setThresholdResource(1); - lineWarning.setAlertThreshold(param.getAlertThreshold()); - lineWarning.setAlarmThreshold(param.getAlarmThreshold()); + lambdaQueryWrapper.eq(LineWarning::getTargetType,codeId) + .in(LineWarning::getId,idList) + .between(LineWarning::getAlarmTime,startTime,endTime); } - this.baseMapper.updateById(lineWarning); + List warnings = this.baseMapper.selectList(lambdaQueryWrapper); + if (CollUtil.isNotEmpty(warnings)) { + List lineList = warnings.stream().map(LineWarning::getLineId).collect(Collectors.toList()); + list = lineFeignClient.getReportLineInfo(lineList).getData(); + if (!type){ + Map lineIdOverLimitDayMap = warnings.stream().collect(Collectors.toMap(LineWarning::getLineId, LineWarning::getOverLimitDay)); + list.forEach(item1 -> { + String lineId = item1.getLineId(); + Integer overLimitDay = lineIdOverLimitDayMap.getOrDefault(lineId, null); + if (overLimitDay != null) { + item1.setOverDays(overLimitDay); + } + }); + } + } + return list; } /** @@ -179,6 +278,16 @@ public class LineWarningServiceImpl extends MppServiceImpl