From 6f0a19adf9cfb705a5833c4b48156cd3b073fbc2 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Wed, 10 May 2023 16:26:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../executor/handler/HarmOverLimitJob.java | 71 +++++++++++++++++++ .../njcn/executor/handler/TargetWarnJob.java | 53 ++++++++++++++ .../api/line/HarmOverLimitFeignClient.java | 41 +++++++++++ .../api/line/TargetWarnFeignClient.java | 28 ++++++++ ...rmOverLimitFeignClientFallbackFactory.java | 62 ++++++++++++++++ .../TargetWarnFeignClientFallbackFactory.java | 51 +++++++++++++ .../line/AlarmDetailController.java | 26 +++++++ .../line/RMpTargetWarnController.java | 66 ----------------- .../mysql/area/RMpTargetWarnDMapper.java | 2 +- .../area/mapping/RMpTargetWarnDMapper.xml | 8 +++ .../mapper/mysql/day/RStatDataVDMapper.java | 6 +- .../mysql/day/mapping/RStatDataVDMapper.xml | 24 +++++++ .../mapper/mysql/line/AlarmMapper.java | 2 +- .../mapper/mysql/line/mapping/AlarmMapper.xml | 6 ++ .../Impl/area/RMpTargetWarnDServiceImpl.java | 20 +++--- .../Impl/line/AlarmDetailServiceImpl.java | 14 ++-- .../mysql/line/AlarmDetailService.java | 2 +- 17 files changed, 393 insertions(+), 89 deletions(-) create mode 100644 pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmOverLimitJob.java create mode 100644 pqs-job/job-executor/src/main/java/com/njcn/executor/handler/TargetWarnJob.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/HarmOverLimitFeignClient.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/TargetWarnFeignClient.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmOverLimitFeignClientFallbackFactory.java create mode 100644 pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/TargetWarnFeignClientFallbackFactory.java delete mode 100644 pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/RMpTargetWarnController.java diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmOverLimitJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmOverLimitJob.java new file mode 100644 index 000000000..b141584b6 --- /dev/null +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmOverLimitJob.java @@ -0,0 +1,71 @@ +package com.njcn.executor.handler; + +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.executor.utils.CommonExecutorUtils; +import com.njcn.prepare.harmonic.api.line.HarmOverLimitFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/5/10 14:29 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class HarmOverLimitJob { + + private final HarmOverLimitFeignClient harmOverLimitFeignClient; + + @XxlJob("harmonicDetailDay1Job") + public void harmonicDetailDay1Job(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + harmOverLimitFeignClient.harmonicDetailDay1(lineParam); + } + + @XxlJob("harmonicDetailDay2Job") + public void harmonicDetailDay2Job(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + harmOverLimitFeignClient.harmonicDetailDay2(lineParam); + } + + @XxlJob("harmonicDetailMonth1Job") + public void harmonicDetailMonth1Job(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + harmOverLimitFeignClient.harmonicDetailMonth1(lineParam); + } + + @XxlJob("harmonicDetailMonth2Job") + public void harmonicDetailMonth2Job(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + harmOverLimitFeignClient.harmonicDetailMonth2(lineParam); + } + + @XxlJob("harmonicThdDayJob") + public void harmonicThdDayJob(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + harmOverLimitFeignClient.harmonicThdDay(lineParam); + } +} diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/TargetWarnJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/TargetWarnJob.java new file mode 100644 index 000000000..e13d16066 --- /dev/null +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/TargetWarnJob.java @@ -0,0 +1,53 @@ +package com.njcn.executor.handler; + +import com.njcn.common.pojo.constant.BizParamConstant; +import com.njcn.executor.utils.CommonExecutorUtils; +import com.njcn.prepare.harmonic.api.line.TargetWarnFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import com.xxl.job.core.context.XxlJobHelper; +import com.xxl.job.core.handler.annotation.XxlJob; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * 类的介绍: + * + * @author xuyang + * @version 1.0.0 + * @createTime 2023/5/10 14:29 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class TargetWarnJob { + + private final TargetWarnFeignClient targetWarnFeignClient; + + @XxlJob("targetDiffJob") + public void targetDiffJob(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + targetWarnFeignClient.targetDiff(lineParam); + } + + @XxlJob("alarmDayJob") + public void alarmDayJob(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + targetWarnFeignClient.alarmDay(lineParam); + } + + @XxlJob("alarmMonthJob") + public void alarmMonthJob(){ + LineParam lineParam = new LineParam(); + lineParam.setType(Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY)); + lineParam.setDataSource(2); + targetWarnFeignClient.alarmMonth(lineParam); + } +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/HarmOverLimitFeignClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/HarmOverLimitFeignClient.java new file mode 100644 index 000000000..3a0e61a07 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/HarmOverLimitFeignClient.java @@ -0,0 +1,41 @@ +package com.njcn.prepare.harmonic.api.line; + +import com.njcn.common.pojo.annotation.OperateInfo; +import com.njcn.common.pojo.constant.OperateType; +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.prepare.harmonic.api.line.fallback.HarmOverLimitFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +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.RequestBody; + +@FeignClient( + value = ServerInfo.PREPARE_BOOT,//对应模块名 + path = "/harmonicOverLimit",//对应controller请求类 + fallbackFactory = HarmOverLimitFeignClientFallbackFactory.class//服务降级处理类 +) +public interface HarmOverLimitFeignClient { + + @PostMapping("/harmonicDetailDay1") + HttpResult harmonicDetailDay1(@RequestBody LineParam lineParam); + + @PostMapping("/harmonicDetailDay2") + HttpResult harmonicDetailDay2(@RequestBody LineParam lineParam); + + @PostMapping("/harmonicDetailMonth1") + HttpResult harmonicDetailMonth1(@RequestBody @Validated LineParam lineParam); + + @PostMapping("/harmonicDetailMonth2") + HttpResult harmonicDetailMonth2(@RequestBody @Validated LineParam lineParam); + + @PostMapping("/harmonicThdDay") + HttpResult harmonicThdDay(@RequestBody @Validated LineParam lineParam); + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/TargetWarnFeignClient.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/TargetWarnFeignClient.java new file mode 100644 index 000000000..ab3c68467 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/TargetWarnFeignClient.java @@ -0,0 +1,28 @@ +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.TargetWarnFeignClientFallbackFactory; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +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.RequestBody; + +@FeignClient( + value = ServerInfo.PREPARE_BOOT,//对应模块名 + path = "/alarmDetail",//对应controller请求类 + fallbackFactory = TargetWarnFeignClientFallbackFactory.class//服务降级处理类 +) +public interface TargetWarnFeignClient { + + @PostMapping("/targetDiff") + HttpResult targetDiff(@RequestBody @Validated LineParam lineParam); + + @PostMapping("/alarmDay") + HttpResult alarmDay(@RequestBody @Validated LineParam lineParam); + + @PostMapping("/alarmMonth") + HttpResult alarmMonth(@RequestBody @Validated LineParam lineParam); + +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmOverLimitFeignClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmOverLimitFeignClientFallbackFactory.java new file mode 100644 index 000000000..610283c71 --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/HarmOverLimitFeignClientFallbackFactory.java @@ -0,0 +1,62 @@ +package com.njcn.prepare.harmonic.api.line.fallback; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.biz.utils.DeviceEnumUtil; +import com.njcn.prepare.harmonic.api.line.HarmOverLimitFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author xuyang + */ +@Slf4j +@Component +public class HarmOverLimitFeignClientFallbackFactory implements FallbackFactory { + + @Override + public HarmOverLimitFeignClient create(Throwable throwable) { + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException)throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + + Enum finalExceptionEnum = exceptionEnum; + return new HarmOverLimitFeignClient() { + + @Override + public HttpResult harmonicDetailDay1(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点稳态指标超标明细日表1: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult harmonicDetailDay2(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点稳态指标超标明细日表2: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult harmonicDetailMonth1(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点稳态指标超标明细月表1: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult harmonicDetailMonth2(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点稳态指标超标明细月表1: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult harmonicThdDay(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "谐波畸变率日表: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/TargetWarnFeignClientFallbackFactory.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/TargetWarnFeignClientFallbackFactory.java new file mode 100644 index 000000000..60688cf8f --- /dev/null +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/api/line/fallback/TargetWarnFeignClientFallbackFactory.java @@ -0,0 +1,51 @@ +package com.njcn.prepare.harmonic.api.line.fallback; + +import com.njcn.common.pojo.enums.response.CommonResponseEnum; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.biz.utils.DeviceEnumUtil; +import com.njcn.prepare.harmonic.api.line.HarmOverLimitFeignClient; +import com.njcn.prepare.harmonic.api.line.TargetWarnFeignClient; +import com.njcn.prepare.harmonic.pojo.param.LineParam; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +/** + * @author xuyang + */ +@Slf4j +@Component +public class TargetWarnFeignClientFallbackFactory implements FallbackFactory { + + @Override + public TargetWarnFeignClient create(Throwable throwable) { + Enum exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK; + if (throwable.getCause() instanceof BusinessException) { + BusinessException businessException = (BusinessException)throwable.getCause(); + exceptionEnum = DeviceEnumUtil.getExceptionEnum(businessException.getResult()); + } + + Enum finalExceptionEnum = exceptionEnum; + return new TargetWarnFeignClient() { + + @Override + public HttpResult targetDiff(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点稳态指标差值日统计: ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult alarmDay(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点指标告警日统计(新): ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult alarmMonth(LineParam lineParam) { + log.error("{}异常,降级处理,异常为:{}", "监测点指标告警月统计(新): ", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + } +} diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/AlarmDetailController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/AlarmDetailController.java index 6462abea1..fed8adbd4 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/AlarmDetailController.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/AlarmDetailController.java @@ -7,6 +7,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.prepare.harmonic.pojo.param.LineParam; +import com.njcn.prepare.harmonic.service.mysql.area.IRMpMonitorAlarmCountMService; +import com.njcn.prepare.harmonic.service.mysql.area.RMpTargetWarnDService; import com.njcn.prepare.harmonic.service.mysql.line.AlarmDetailService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -35,6 +37,10 @@ public class AlarmDetailController extends BaseController { private final AlarmDetailService alarmDetailService; + private final RMpTargetWarnDService rMpTargetWarnDService; + + private final IRMpMonitorAlarmCountMService rMpMonitorAlarmCountMService; + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) @PostMapping("/alarmDetailAlarm") @ApiOperation("监测点指标告警日统计") @@ -61,4 +67,24 @@ public class AlarmDetailController extends BaseController { alarmDetailService.targetDiff(lineParam); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/alarmDay") + @ApiOperation("监测点指标告警日统计(新)") + @ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true) + public HttpResult alarmDay(@RequestBody @Validated LineParam lineParam) { + String methodDescribe = getMethodDescribe("alarmDay"); + rMpTargetWarnDService.alarmDay(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) + @PostMapping("/alarmMonth") + @ApiOperation("监测点指标告警月统计(新)") + @ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true) + public HttpResult alarmMonth(@RequestBody @Validated LineParam lineParam) { + String methodDescribe = getMethodDescribe("alarmMonth"); + rMpMonitorAlarmCountMService.alarmMonth(lineParam); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); + } } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/RMpTargetWarnController.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/RMpTargetWarnController.java deleted file mode 100644 index 9b31cb13d..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/line/RMpTargetWarnController.java +++ /dev/null @@ -1,66 +0,0 @@ -package com.njcn.prepare.harmonic.controller.line; - - -import com.njcn.common.pojo.annotation.OperateInfo; -import com.njcn.common.pojo.constant.OperateType; -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.prepare.harmonic.pojo.param.LineParam; -import com.njcn.prepare.harmonic.service.mysql.area.IRMpMonitorAlarmCountMService; -import com.njcn.prepare.harmonic.service.mysql.area.RMpTargetWarnDService; -import com.njcn.web.controller.BaseController; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; -import io.swagger.annotations.ApiOperation; -import lombok.AllArgsConstructor; -import lombok.extern.slf4j.Slf4j; -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.RestController; - -/** - *

- * 前端控制器 - *

- * - * @author xuyang - * @since 2023-05-08 - */ -@Validated -@Slf4j -@RestController -@RequestMapping("/alarmDetailData") -@Api(tags = "监测点指标告警明细") -@AllArgsConstructor -public class RMpTargetWarnController extends BaseController { - - private final RMpTargetWarnDService rMpTargetWarnDService; - - private final IRMpMonitorAlarmCountMService rMpMonitorAlarmCountMService; - - @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) - @PostMapping("/alarmDay") - @ApiOperation("监测点指标告警日统计(新)") - @ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true) - public HttpResult alarmDay(@RequestBody @Validated LineParam lineParam) { - String methodDescribe = getMethodDescribe("alarmDay"); - rMpTargetWarnDService.alarmDay(lineParam); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); - } - - @OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType = OperateType.ADD) - @PostMapping("/alarmMonth") - @ApiOperation("监测点指标告警月统计(新)") - @ApiImplicitParam(name = "lineParam", value = "算法通用查询参数", required = true) - public HttpResult alarmMonth(@RequestBody @Validated LineParam lineParam) { - String methodDescribe = getMethodDescribe("alarmMonth"); - rMpMonitorAlarmCountMService.alarmMonth(lineParam); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); - } - -} - diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RMpTargetWarnDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RMpTargetWarnDMapper.java index ec639177d..e19d6bfa3 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RMpTargetWarnDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/RMpTargetWarnDMapper.java @@ -20,6 +20,6 @@ import java.util.List; @Mapper public interface RMpTargetWarnDMapper extends MppBaseMapper { - List getDate(@Param("startTime") String startTime, @Param("endTime") String endTime); + List getDate(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List list); } \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RMpTargetWarnDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RMpTargetWarnDMapper.xml index c74cee13e..acd8651f9 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RMpTargetWarnDMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/area/mapping/RMpTargetWarnDMapper.xml @@ -48,6 +48,14 @@ r_mp_target_warn_d where data_date between #{startTime} and #{endTime} + + + and measurement_point_id in + + #{item} + + + group by measurement_point_id order by harmonicTypeGradeTotal desc,eventTypeGradeTotal desc diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/RStatDataVDMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/RStatDataVDMapper.java index fe4b44dab..13628ba2c 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/RStatDataVDMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/RStatDataVDMapper.java @@ -16,12 +16,12 @@ public interface RStatDataVDMapper extends MppBaseMapper { * @param time 时间 * @return 集合 */ - List getDayData(@Param("time") String time); + List getDayData(@Param("time") String time, @Param("list") List list); /** * 获取本年的所有(监测点日报表)稳态指标最大值(有的取最大值,有的取95概率大值)求一个平均值 */ - List getAvgDayData(@Param("startTime") String time, @Param("endTime") String endTime); + List getAvgDayData(@Param("startTime") String time, @Param("endTime") String endTime, @Param("list") List list); - List getTargetWarnD(@Param("time") String time); + List getTargetWarnD(@Param("time") String time, @Param("list") List list); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/mapping/RStatDataVDMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/mapping/RStatDataVDMapper.xml index d23cb74de..8caafb0f6 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/mapping/RStatDataVDMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/day/mapping/RStatDataVDMapper.xml @@ -75,6 +75,14 @@ data_date = #{time} ) D on A.lineId = D.lineId + + + A.lineId in + + #{item} + + + @@ -269,6 +285,14 @@ data_date = #{time} ) G on A.lineId = G.lineId + + + A.lineId in + + #{item} + + + \ No newline at end of file diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/AlarmMapper.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/AlarmMapper.java index 2676c693b..2766ae854 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/AlarmMapper.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/AlarmMapper.java @@ -13,6 +13,6 @@ import java.util.List; */ public interface AlarmMapper extends MppBaseMapper { - List getAvgDiffData(@Param("startTime") String startTime, @Param("endTime") String endTime); + List getAvgDiffData(@Param("startTime") String startTime, @Param("endTime") String endTime, @Param("list") List list); } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/AlarmMapper.xml b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/AlarmMapper.xml index 77b3bdfb6..43ad41ea6 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/AlarmMapper.xml +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/mapper/mysql/line/mapping/AlarmMapper.xml @@ -15,6 +15,12 @@ from r_mp_target_diff_d where `time` between #{startTime} and #{endTime} + + and line_id in + + #{item} + + group by line_id diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpTargetWarnDServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpTargetWarnDServiceImpl.java index bbc18bcfc..a3ec53a31 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpTargetWarnDServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/area/RMpTargetWarnDServiceImpl.java @@ -82,7 +82,7 @@ public class RMpTargetWarnDServiceImpl extends MppServiceImpl dayList = PublicUtil.getDayByMonth(year,month); for (String item : dayList) { log.info(item+"-->开始执行"); - List day = getData(item); + List day = getData(item,lineParam.getLineIds()); if (!CollectionUtils.isEmpty(day)){ list.addAll(day); } @@ -90,7 +90,7 @@ public class RMpTargetWarnDServiceImpl extends MppServiceImpl getData(String time){ + public List getData(String time, List list){ List result = new ArrayList<>(); List rlList = new ArrayList<>(),uclList = new ArrayList<>(); //基础数据 String yesterday = PublicUtil.getYesterday(time); - List todayList = rStatDataVDMapper.getTargetWarnD(time + " 00:00:00"); - List yesterdayList = rStatDataVDMapper.getTargetWarnD(yesterday + " 00:00:00"); - List theDayBeforeYesterday = rStatDataVDMapper.getTargetWarnD(PublicUtil.getYesterday(yesterday) + " 00:00:00"); - List threeDaysAgo = rStatDataVDMapper.getTargetWarnD(PublicUtil.getYesterday(PublicUtil.getYesterday(yesterday)) + " 00:00:00"); + List todayList = rStatDataVDMapper.getTargetWarnD(time + " 00:00:00",list); + List yesterdayList = rStatDataVDMapper.getTargetWarnD(yesterday + " 00:00:00",list); + List theDayBeforeYesterday = rStatDataVDMapper.getTargetWarnD(PublicUtil.getYesterday(yesterday) + " 00:00:00",list); + List threeDaysAgo = rStatDataVDMapper.getTargetWarnD(PublicUtil.getYesterday(PublicUtil.getYesterday(yesterday)) + " 00:00:00",list); if (!CollectionUtils.isEmpty(todayList)){ Map> map2 = new HashMap<>(),map3 = new HashMap<>(),map4 = new HashMap<>(); //本年的rm值 - List rmList = alarmDetailService.getAvgDiffData(time); + List rmList = alarmDetailService.getAvgDiffData(time,list); //本年的CL值 - List clList = rStatDataVDMapper.getAvgDayData(PublicUtil.getLastYearDay(time),time); + List clList = rStatDataVDMapper.getAvgDayData(PublicUtil.getLastYearDay(time),time,list); //本年的RL值 if (!CollectionUtils.isEmpty(rmList)){ rlList = rmList.stream().map(item->{ diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/AlarmDetailServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/AlarmDetailServiceImpl.java index 655f5dfb2..2ef8295db 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/AlarmDetailServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/AlarmDetailServiceImpl.java @@ -128,30 +128,30 @@ public class AlarmDetailServiceImpl extends MppServiceImpl开始执行"); startTime = item + " 00:00:00"; endTime = PublicUtil.getYesterday(item) + " 00:00:00"; - diffData(startTime,endTime); + diffData(startTime,endTime,lineParam.getLineIds()); } } //日处理 else { startTime = lineParam.getDataDate() + " 00:00:00"; endTime = PublicUtil.getYesterday(lineParam.getDataDate()) + " 00:00:00"; - diffData(startTime,endTime); + diffData(startTime,endTime,lineParam.getLineIds()); } } @Override - public List getAvgDiffData(String time) { + public List getAvgDiffData(String time,List list) { String endTime = PublicUtil.getLastYearDay(time); //计算本年的rm值 - return this.baseMapper.getAvgDiffData(endTime,time); + return this.baseMapper.getAvgDiffData(endTime,time,list); } /** * 生成指标差值日统计 */ - public void diffData(String startTime, String endTime) { - List localData = rStatDataVDMapper.getDayData(startTime); - List yesterdayData = rStatDataVDMapper.getDayData(endTime); + public void diffData(String startTime, String endTime, List list) { + List localData = rStatDataVDMapper.getDayData(startTime,list); + List yesterdayData = rStatDataVDMapper.getDayData(endTime,list); if (!CollectionUtils.isEmpty(localData) && !CollectionUtils.isEmpty(yesterdayData)){ //取两个集合的交集,做算法处理取绝对值 List intersectionList = localData.stream().map(map->yesterdayData.stream().filter(m->Objects.equals(m.getLineId(),map.getLineId())).findFirst().map(m->{ diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/AlarmDetailService.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/AlarmDetailService.java index d1ade072c..f20c19184 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/AlarmDetailService.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/line/AlarmDetailService.java @@ -24,5 +24,5 @@ public interface AlarmDetailService { void targetDiff(LineParam lineParam); - List getAvgDiffData(String time); + List getAvgDiffData(String time,List list); }