diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/PqDataVerifyCountClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/PqDataVerifyCountClient.java new file mode 100644 index 000000000..eba8ec9f6 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/PqDataVerifyCountClient.java @@ -0,0 +1,26 @@ +package com.njcn.device.pq.api; + +import com.njcn.common.pojo.constant.ServerInfo; +import com.njcn.common.pojo.response.HttpResult; +import com.njcn.device.pq.api.fallback.dataVerifyCountFallbackFactory; +import com.njcn.device.pq.pojo.param.LineBaseQueryParam; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; + +import java.util.List; + +/** + * @author xy + */ +@FeignClient(value = ServerInfo.DEVICE, path = "/dataVerifyCount", fallbackFactory = dataVerifyCountFallbackFactory.class, contextId = "dataVerifyCount") +public interface PqDataVerifyCountClient { + + /** + * 获取有异常数据的监测点相关信息 + */ + @PostMapping("/getAnomalousData") + HttpResult> getAnomalousData(@RequestBody LineBaseQueryParam param); + +} diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/dataVerifyCountFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/dataVerifyCountFallbackFactory.java new file mode 100644 index 000000000..f5c1ed861 --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/dataVerifyCountFallbackFactory.java @@ -0,0 +1,42 @@ +package com.njcn.device.pq.api.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.device.pq.api.PqDataVerifyCountClient; +import com.njcn.device.pq.api.PqDevTypeClient; +import com.njcn.device.pq.pojo.param.LineBaseQueryParam; +import com.njcn.device.pq.pojo.po.PqDevType; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; +import feign.hystrix.FallbackFactory; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Slf4j +@Component +public class dataVerifyCountFallbackFactory implements FallbackFactory { + @Override + public PqDataVerifyCountClient 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 PqDataVerifyCountClient() + { + + @Override + public HttpResult> getAnomalousData(LineBaseQueryParam param) { + log.error("{}异常,降级处理,异常为:{}", "获取有异常数据的监测点相关信息异常", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + }; + + + } +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqDataVerifyCountController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqDataVerifyCountController.java new file mode 100644 index 000000000..a0d093a4a --- /dev/null +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/PqDataVerifyCountController.java @@ -0,0 +1,52 @@ +package com.njcn.device.pq.controller; + + +import com.njcn.common.pojo.annotation.OperateInfo; +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.pojo.param.LineBaseQueryParam; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; +import com.njcn.device.pq.service.IPqDataVerifyCountService; +import com.njcn.web.controller.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +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; + +import java.util.List; + +/** + *

+ * 异常数据功能 + *

+ * + * @author xy + * @since 2025-12-10 + */ +@RestController +@RequestMapping("/dataVerifyCount") +@RequiredArgsConstructor +@Api(tags = "异常数据数量统计") +public class PqDataVerifyCountController extends BaseController { + + private final IPqDataVerifyCountService pqDataVerifyCountService; + + /** + * 获取有异常数据的监测点相关信息 + */ + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/getAnomalousData") + @ApiOperation("异常-获取异常数据主页面") + public HttpResult> getAnomalousData(@RequestBody LineBaseQueryParam param){ + String methodDescribe = getMethodDescribe("getMonitorVerifyData"); + List list = pqDataVerifyCountService.getAnomalousData(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); + } + +} + diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyCountMapper.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyCountMapper.java index 1752d55dd..2d935f9e6 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyCountMapper.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/PqDataVerifyCountMapper.java @@ -3,6 +3,7 @@ package com.njcn.device.pq.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.PqDataVerifyCount; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -19,4 +20,6 @@ public interface PqDataVerifyCountMapper extends BaseMapper { List selectSumVerify(@Param("param") OnlineRateParam param); + + List getAnomalousData(@Param("lineIds")List lineIds, @Param("startTime")String startTime, @Param("endTime")String endTime); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyCountMapper.xml b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyCountMapper.xml index bfac97569..e6c1d817a 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyCountMapper.xml +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/mapper/mapping/PqDataVerifyCountMapper.xml @@ -29,4 +29,44 @@ group by line_id ; + + + \ No newline at end of file diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyCountService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyCountService.java index e3c4ea5a1..fa2ddc98c 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyCountService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IPqDataVerifyCountService.java @@ -1,8 +1,10 @@ package com.njcn.device.pq.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.PqDataVerifyCount; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import java.util.List; @@ -17,8 +19,8 @@ import java.util.List; */ public interface IPqDataVerifyCountService extends IService { - - List getSumVerify( OnlineRateParam param); + List getAnomalousData(LineBaseQueryParam par); + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java index 8e79e2f4c..b482fed66 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/DataVerifyServiceImpl.java @@ -26,7 +26,6 @@ import com.njcn.device.pq.mapper.DataVerifyMapper; import com.njcn.device.pq.mapper.PqDataVerifyBakMapper; import com.njcn.device.pq.pojo.param.dataClean.MonitorBaseParam; import com.njcn.device.pq.pojo.po.DataVerify; - import com.njcn.device.pq.pojo.vo.AreaLineInfoVO; import com.njcn.device.pq.pojo.vo.LineDetailDataVO; import com.njcn.device.pq.pojo.vo.dataClean.*; @@ -214,7 +213,7 @@ public class DataVerifyServiceImpl extends ServiceImpl limitTarget = dataLimitTargetFeignClient.getRawData(lineCountEvaluateParam).getData(); - List limitList = limitTarget.stream().filter(it -> it.getAllTime() > 0).collect(Collectors.toList()); + List limitList = limitTarget.stream().filter(it -> (it.getAllTime() > 0 || it.getFlickerAllTime() > 0)).collect(Collectors.toList()); long abnormalCount = limitList.stream().map(DataLimitTargetDto::getLineId).distinct().count(); VerifyMonitorVO verifyMonitorVO = new VerifyMonitorVO(); verifyMonitorVO.setRunNum(monitorIds.size()); @@ -235,7 +234,7 @@ public class DataVerifyServiceImpl extends ServiceImpl limitTarget = dataLimitTargetFeignClient.getRawData(lineCountEvaluateParam).getData(); - List limitList = limitTarget.stream().filter(it -> it.getAllTime() > 0).collect(Collectors.toList()); + List limitList = limitTarget.stream().filter(it -> (it.getAllTime() > 0 || it.getFlickerAllTime() > 0)).collect(Collectors.toList()); return getLimitTable(limitList, monitorBaseParam); } @@ -559,18 +558,22 @@ public class DataVerifyServiceImpl extends ServiceImpl> overLimitCount = new HashMap<>(); overLimitCount.put(DicDataEnum.FLICKER.getCode() + SEPARATOR + DicDataEnum.FLICKER.getName(), FLICKER); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyCountServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyCountServiceImpl.java index c3ec55e64..1042d2994 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyCountServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/PqDataVerifyCountServiceImpl.java @@ -3,8 +3,10 @@ package com.njcn.device.pq.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.device.pq.mapper.PqDataVerifyCountMapper; +import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.OnlineRateParam; import com.njcn.device.pq.pojo.po.PqDataVerifyCount; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import com.njcn.device.pq.service.IPqDataVerifyCountService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -31,4 +33,9 @@ public class PqDataVerifyCountServiceImpl extends ServiceImpl getSumVerify(OnlineRateParam param) { return this.baseMapper.selectSumVerify(param); } + + @Override + public List getAnomalousData(LineBaseQueryParam par) { + return this.baseMapper.getAnomalousData(par.getLineIds(),par.getStartTime(),par.getEndTime()); + } } diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/rstatintegrity/mapper/mapping/RStatIntegrityDMapper.xml b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/rstatintegrity/mapper/mapping/RStatIntegrityDMapper.xml index ddcbce9f9..79711d91d 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/rstatintegrity/mapper/mapping/RStatIntegrityDMapper.xml +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/rstatintegrity/mapper/mapping/RStatIntegrityDMapper.xml @@ -119,6 +119,7 @@ t2.`Name` lineName, t8.`Name` monitorObjType, t7.Obj_Name monitorObj, + "完整性为0" as target, count(t1.time_id) lastDay FROM r_stat_integrity_d t1 diff --git a/pqs-harmonic/harmonic-common/src/main/java/com/njcn/harmonic/rstatlimitrate/controller/RStatLimitRateDController.java b/pqs-harmonic/harmonic-common/src/main/java/com/njcn/harmonic/rstatlimitrate/controller/RStatLimitRateDController.java index 3afe0eb66..b11f10662 100644 --- a/pqs-harmonic/harmonic-common/src/main/java/com/njcn/harmonic/rstatlimitrate/controller/RStatLimitRateDController.java +++ b/pqs-harmonic/harmonic-common/src/main/java/com/njcn/harmonic/rstatlimitrate/controller/RStatLimitRateDController.java @@ -50,7 +50,7 @@ public class RStatLimitRateDController extends BaseController { /** * 来源于RStatLimitController的getOverData */ - @PostMapping("/getOverData") + @PostMapping("/limitRateD/getOverData") @OperateInfo(info = LogEnum.BUSINESS_COMMON) @ApiOperation("查询单监测点超标数据") @ApiImplicitParams({ 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 983343bdd..b86004a8b 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 @@ -6,9 +6,9 @@ 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.pojo.vo.OnlineMonitorVo; import com.njcn.supervision.pojo.param.device.OnlineParam; import com.njcn.supervision.pojo.vo.device.LineLimitDetailVo; +import com.njcn.supervision.pojo.vo.device.OnlineVo; import com.njcn.supervision.service.device.ILineWarningService; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; @@ -20,6 +20,7 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.util.List; @@ -67,9 +68,9 @@ public class LineWarningController extends BaseController { @PostMapping("/list") @ApiOperation("分页查询在线监测数据") @ApiImplicitParam(name = "param", value = "参数", required = true) - public HttpResult> lineWarningList(@RequestBody @Validated OnlineParam param) { + public HttpResult> lineWarningList(@RequestBody @Validated OnlineParam param) { String methodDescribe = getMethodDescribe("lineWarningList"); - List list = lineWarningService.getLineWarningList(param); + Page list = lineWarningService.getLineWarningList(param); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe); } 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 d864b9bb6..ae2763fbc 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 @@ -2,13 +2,11 @@ package com.njcn.supervision.service.device; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import com.njcn.supervision.pojo.param.device.OnlineParam; import com.njcn.supervision.pojo.po.device.LineWarning; import com.njcn.supervision.pojo.vo.device.LineLimitDetailVo; import com.njcn.supervision.pojo.vo.device.OnlineVo; -import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -36,7 +34,7 @@ public interface ILineWarningService extends IService { * @param param * @return */ - List getLineWarningList(OnlineParam param); + Page getLineWarningList(OnlineParam param); /** * 发起预告警单 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 8b038b005..dbe1e0810 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 @@ -5,7 +5,10 @@ import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.common.utils.HarmonicTimesUtil; @@ -15,12 +18,11 @@ 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.biz.pojo.po.Overlimit; -import com.njcn.device.pq.api.DeptLineFeignClient; -import com.njcn.device.pq.api.LineFeignClient; -import com.njcn.device.pq.api.LineIntegrityClient; +import com.njcn.device.pq.api.*; +import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; +import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.po.DeptLine; -import com.njcn.device.pq.pojo.vo.LineDetailVO; import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import com.njcn.device.pq.pojo.vo.ReportLineInfoVo; import com.njcn.harmonic.api.RStatLimitRateDClient; @@ -41,6 +43,7 @@ import com.njcn.supervision.pojo.param.device.OnlineParam; import com.njcn.supervision.pojo.po.device.LineWarning; import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet; import com.njcn.supervision.pojo.vo.device.LineLimitDetailVo; +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.system.api.DicDataFeignClient; @@ -48,6 +51,7 @@ import com.njcn.system.enums.DicDataEnum; import com.njcn.system.enums.DicDataTypeEnum; import com.njcn.system.pojo.po.DictData; import com.njcn.user.api.DeptFeignClient; +import com.njcn.web.factory.PageFactory; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -97,6 +101,8 @@ public class LineWarningServiceImpl extends MppServiceImpl noDataLineInfo = lineFeignClient.getNoDataLine().getData(); - if (CollUtil.isNotEmpty(noDataLineInfo)) { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(LineWarning::getTargetType, "0").eq(LineWarning::getAlarmTime, date); - this.baseMapper.delete(lambdaQueryWrapper); - noDataLineInfo.forEach(item -> { + //完整性为0的数据 + LineBaseQueryParam param = new LineBaseQueryParam(); + param.setStartTime(date); + param.setEndTime(endDate); + List list = lineIntegrityClient.getNoData(param).getData(); + if (CollUtil.isNotEmpty(list)) { + list.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"); + lineWarning.setOverLimitDay(item.getLastDay()); result.add(lineWarning); }); } + //异常数据 + List list2 = pqDataVerifyCountClient.getAnomalousData(param).getData(); + if (CollUtil.isNotEmpty(list2)) { + list2.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("2"); + lineWarning.setOverLimitDay(item.getLastDay()); + result.add(lineWarning); + }); + } + +// //将装置无数据的统计入库 按运维要求,判断装置的最新数据不是当天,则认为装置无数据 +// List noDataLineInfo = lineFeignClient.getNoDataLine().getData(); +// if (CollUtil.isNotEmpty(noDataLineInfo)) { +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.eq(LineWarning::getTargetType, "0").eq(LineWarning::getAlarmTime, date); +// 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 List getLineWarningList(OnlineParam param) { - List result = new ArrayList<>(); + public Page getLineWarningList(OnlineParam param) { DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); deptGetLineParam.setDeptId(param.getDeptId()); deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName()); - deptGetLineParam.setLineRunFlag(0); - if (ObjectUtil.isNotNull(param.getLineType()) && !Objects.equals(param.getLineType(), "")) { - deptGetLineParam.setIsUpToGrid(Integer.valueOf(param.getLineType())); - } List list = commTerminalGeneralClient.deptGetAllLine(deptGetLineParam).getData(); List lineList = list.stream() .flatMap(dto -> dto.getLineBaseList().stream().map(LineDevGetDTO::getPointId)) .distinct() .collect(Collectors.toList()); - //数据完整性为0的数据 - if (param.getDataType() == 0) { - LineBaseQueryParam par = new LineBaseQueryParam(); - par.setLineIds(lineList); - par.setStartTime(param.getSearchBeginTime()); - par.setEndTime(param.getSearchEndTime()); - result = lineIntegrityClient.getNoData(par).getData(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (Objects.nonNull(param.getSearchBeginTime()) && Objects.nonNull(param.getSearchEndTime())) { + queryWrapper.between("A.alarm_time", param.getSearchBeginTime(), param.getSearchEndTime()); + } + //监测点id + if (CollUtil.isNotEmpty(lineList)) { + queryWrapper.in("A.line_id", lineList); + } + //监测点类型 + if (StringUtils.isNotBlank(param.getLineType())) { + queryWrapper.eq("B.Power_Flag", Integer.parseInt(param.getLineType())); + } + //查询无数据的监测点 + if (Objects.equals(param.getDataType(), 0)) { + queryWrapper.eq("A.target_type", "0"); } //异常数据 - else if (param.getDataType() == 1) { - + else if (Objects.equals(param.getDataType(), 2)) { + queryWrapper.eq("A.target_type", "2"); } - //告警数据 + //查询指标超标的监测点 else { - + queryWrapper.ge("A.over_limit_day", param.getAlarmThreshold()); + if (CollUtil.isNotEmpty(param.getTargetList())) { + queryWrapper.in("A.target_type", param.getTargetList()); + } } - return result; + queryWrapper.orderBy(true, true, "D.Name", "p4.Name", "p3.Name"); + return this.baseMapper.page(new Page<>(PageFactory.getPageNum(param), PageFactory.getPageSize(param)), queryWrapper); } -// @Override -// public Page getLineWarningList(OnlineParam param) { -// DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); -// deptGetLineParam.setDeptId(param.getDeptId()); -// deptGetLineParam.setServerName(ServerEnum.HARMONIC.getName()); -// List list = commTerminalGeneralClient.deptGetLine(deptGetLineParam).getData(); -// List lineList = list.stream() -// .flatMap(dto -> dto.getLineBaseList().stream().map(LineDevGetDTO::getPointId)) -// .distinct() -// .collect(Collectors.toList()); -// QueryWrapper queryWrapper = new QueryWrapper<>(); -// if (Objects.nonNull(param.getSearchBeginTime()) && Objects.nonNull(param.getSearchEndTime())) { -// queryWrapper.between("A.alarm_time", param.getSearchBeginTime(), param.getSearchEndTime()); -// } -// //监测点id -// if (CollUtil.isNotEmpty(lineList)) { -// queryWrapper.in("A.line_id", lineList); -// } -// //监测点类型 -// if (StringUtils.isNotBlank(param.getLineType())) { -// queryWrapper.eq("B.Power_Flag", Integer.parseInt(param.getLineType())); -// } -// //查询无数据的监测点 -// if (Objects.equals(param.getDataType(), 0)) { -// queryWrapper.eq("A.target_type", "0"); -// } -// //查询指标超标的监测点 -// else { -// queryWrapper.ge("A.over_limit_day", param.getAlarmThreshold()); -// 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) {