diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java index b88178846..b051c2ee4 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/CommTerminalGeneralClient.java @@ -51,6 +51,9 @@ public interface CommTerminalGeneralClient { @PostMapping("deptGetLine") HttpResult> deptGetLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam); + @PostMapping("deptGetAllLine") + HttpResult> deptGetAllLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam); + /** * 根据单位获取所有变电站 diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java index f0d1744c3..32cbf11b6 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/commApi/fallback/CommTerminalGeneralClientFallbackFactory.java @@ -50,6 +50,12 @@ public class CommTerminalGeneralClientFallbackFactory implements FallbackFactory throw new BusinessException(finalExceptionEnum); } + @Override + public HttpResult> deptGetAllLine(DeptGetLineParam deptGetLineParam) { + log.error("{}异常,降级处理,异常为:{}", "根据单位获取all监测点信息", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + @Override public HttpResult> deptSubStation(DeptGetLineParam deptGetLineParam) { log.error("{}异常,降级处理,异常为:{}", "根据单位获取所有变电站", throwable.toString()); diff --git a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDevGetDTO.java b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDevGetDTO.java index 86b2d07b9..4540d7b25 100644 --- a/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDevGetDTO.java +++ b/pqs-device/common-device-biz/src/main/java/com/njcn/device/biz/pojo/dto/LineDevGetDTO.java @@ -28,6 +28,8 @@ public class LineDevGetDTO { private String pointName; + private Integer lineRunFlag; + /** * 装置监测点索引集合 */ diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineIntegrityClient.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineIntegrityClient.java index 07375c9c7..b08c5da3e 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineIntegrityClient.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/LineIntegrityClient.java @@ -3,7 +3,9 @@ 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.DeviceTreeClientFallbackFactory; import com.njcn.device.pq.api.fallback.LineIntegrityClientFallbackFactory; import com.njcn.device.pq.pojo.dto.LineDataQualityDTO; @@ -11,6 +13,8 @@ import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.LineDataQualityParam; import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.vo.AlarmStrategyVO; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; +import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PostMapping; @@ -51,4 +55,7 @@ public interface LineIntegrityClient { @PostMapping("/lineDataQuality") HttpResult> getLineDataQuality(@RequestBody LineDataQualityParam lineDataQualityParam); + + @PostMapping("/noData") + HttpResult> getNoData(@RequestBody LineBaseQueryParam param); } diff --git a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineIntegrityClientFallbackFactory.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineIntegrityClientFallbackFactory.java index 469fcc7c2..cd3ff33ed 100644 --- a/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineIntegrityClientFallbackFactory.java +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/api/fallback/LineIntegrityClientFallbackFactory.java @@ -11,6 +11,7 @@ import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.LineDataQualityParam; import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.vo.AlarmStrategyVO; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -54,6 +55,12 @@ public class LineIntegrityClientFallbackFactory implements FallbackFactory> getNoData(LineBaseQueryParam param) { + log.error("{}异常,降级处理,异常为:{}", "获取监测点数据完成性为0的数据", 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/OnlineMonitorVo.java b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/OnlineMonitorVo.java new file mode 100644 index 000000000..0e517866d --- /dev/null +++ b/pqs-device/pq-device/pq-device-api/src/main/java/com/njcn/device/pq/pojo/vo/OnlineMonitorVo.java @@ -0,0 +1,41 @@ +package com.njcn.device.pq.pojo.vo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author xy + */ +@Data +public class OnlineMonitorVo implements Serializable { + + @ApiModelProperty("负责单位") + private String gdName; + + @ApiModelProperty("变电站名称") + private String subName; + + @ApiModelProperty("终端名称") + private String deviceName; + + @ApiModelProperty("监测点id") + private String lineId; + + @ApiModelProperty("监测点名称") + private String lineName; + + @ApiModelProperty("监测对象类型") + private String monitorObjType; + + @ApiModelProperty("监测对象名称") + private String monitorObj; + + @ApiModelProperty("指标类型 ") + private String target; + + @ApiModelProperty("累计天数") + private Integer lastDay; + +} diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java index c7f00a15e..7ef8ce03e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/CommTerminalController.java @@ -108,8 +108,17 @@ public class CommTerminalController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); } - - + @PostMapping("deptGetAllLine") + @ApiOperation("根据单位获取监测点信息(all line)") + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @ApiImplicitParam(name = "deptGetLineParam", value = "请求体", required = true) + public HttpResult> deptGetAllLine(@RequestBody @Validated DeptGetLineParam deptGetLineParam) { + TimeInterval timer = new TimeInterval(); + String methodDescribe = getMethodDescribe("deptGetLine"); + List result = commTerminalService.deptGetAllLine(deptGetLineParam); + log.info("运行时长" + timer.intervalSecond()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe); + } /** * 根据单位获取所有变电站 diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineIntegrityDataController.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineIntegrityDataController.java index 736482b39..400a0d71a 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineIntegrityDataController.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/controller/LineIntegrityDataController.java @@ -16,6 +16,7 @@ import com.njcn.device.pq.pojo.param.LineDataQualityParam; import com.njcn.device.pq.pojo.param.LineIntegrityDataParam; import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.vo.LineIntegrityDataVO; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import com.njcn.device.pq.pojo.vo.common.DeviceOnlineRate; import com.njcn.device.pq.service.IRStatIntegrityDService; import com.njcn.device.pq.service.LineIntegrityDataService; @@ -159,4 +160,14 @@ public class LineIntegrityDataController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rate, methodDescribe); } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/noData") + @ApiOperation("监测点数据完整性为0的数据(冀北)") + @ApiImplicitParam(name = "param", value = "参数实体", required = true) + public HttpResult> getNoData(@RequestBody LineBaseQueryParam param) { + String methodDescribe = getMethodDescribe("getNoData"); + List rate = irStatIntegrityDService.getNoData(param); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rate, methodDescribe); + } + } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java index 496f35dd8..dbd61c3a0 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/CommTerminalService.java @@ -40,11 +40,10 @@ public interface CommTerminalService { */ List deptGetLine(DeptGetLineParam deptGetLineParam); + List deptGetAllLine(DeptGetLineParam deptGetLineParam); + List deptGetLineByIdList(List monitorIds); - - - /** * 根据单位获取所有变电站 * @author cdf diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IRStatIntegrityDService.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IRStatIntegrityDService.java index 9023dc9a2..6eaf6650b 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IRStatIntegrityDService.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/IRStatIntegrityDService.java @@ -9,6 +9,7 @@ import com.njcn.device.pq.pojo.param.DeviceInfoParam; import com.njcn.device.pq.pojo.param.LineBaseQueryParam; import com.njcn.device.pq.pojo.param.LineDataQualityParam; import com.njcn.device.pq.pojo.po.RStatIntegrityD; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import com.njcn.device.pq.pojo.vo.common.DeviceOnlineRate; import java.util.List; @@ -37,4 +38,6 @@ public interface IRStatIntegrityDService extends IMppService { Boolean saveOrUpdateData(List monitorIntegrityDTOList); DeviceOnlineRate getData(DeviceInfoParam.BusinessParam param); + + List getNoData(LineBaseQueryParam param); } diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java index 675396989..31482f63e 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/CommTerminalServiceImpl.java @@ -121,6 +121,45 @@ public class CommTerminalServiceImpl implements CommTerminalService { return result; } + @Override + public List deptGetAllLine(DeptGetLineParam deptGetLineParam) { + List result = new ArrayList<>(); + List temDept = getDeptChildrenByParent(deptGetLineParam); + Map deptMap = temDept.stream().collect(Collectors.toMap(DeptGetBase::getUnitId, DeptGetBase::getUnitName)); + Map> map = deptLineService.lineDevAllGet(filterDataTypeNew(deptGetLineParam.getServerName()), + 1,deptGetLineParam.getLineRunFlag(),deptGetLineParam.getIsUpToGrid()); + temDept.forEach(item -> { + DeptGetChildrenMoreDTO deptGetChildrenMoreDTO = new DeptGetChildrenMoreDTO(); + deptGetChildrenMoreDTO.setUnitId(item.getUnitId()); + deptGetChildrenMoreDTO.setUnitName(item.getUnitName()); + deptGetChildrenMoreDTO.setUnitChildrenList(item.getUnitChildrenList()); + deptGetChildrenMoreDTO.setDeptLevel(item.getDeptLevel()); + List deptIds = item.getUnitChildrenList(); + if (CollectionUtil.isNotEmpty(deptIds)) { + List lineList = new ArrayList<>(); + deptIds.forEach(i -> { + if (map.containsKey(i)) { + map.get(i).forEach(x->{ + if(deptMap.containsKey(x.getUnitId())){ + x.setUnitName(deptMap.get(x.getUnitId())); + } + }); + lineList.addAll(map.get(i)); + } + }); + + //去重 + ArrayList collect = lineList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>( + Comparator.comparing(LineDevGetDTO::getPointId) + )), ArrayList::new)); + + deptGetChildrenMoreDTO.setLineBaseList(collect); + } + result.add(deptGetChildrenMoreDTO); + }); + return result; + } + @Override public List deptGetLineByIdList(List monitorIds) { return lineMapper.getMonitorListDetail(monitorIds); diff --git a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java index 155c6e186..13bc21ede 100644 --- a/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java +++ b/pqs-device/pq-device/pq-device-boot/src/main/java/com/njcn/device/pq/service/impl/RStatIntegrityDServiceImpl.java @@ -4,7 +4,6 @@ package com.njcn.device.pq.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -26,6 +25,7 @@ import com.njcn.device.pq.pojo.po.RStatIntegrityD; import com.njcn.device.pq.pojo.po.RStatOnlinerateD; import com.njcn.device.pq.pojo.vo.LineDetailDataVO; import com.njcn.device.pq.pojo.vo.LineDetailVO; +import com.njcn.device.pq.pojo.vo.OnlineMonitorVo; import com.njcn.device.pq.pojo.vo.RStatIntegrityVO; import com.njcn.device.pq.pojo.vo.common.DeviceOnlineRate; import com.njcn.device.pq.service.IRStatIntegrityDService; @@ -196,6 +196,11 @@ public class RStatIntegrityDServiceImpl extends MppServiceImpl getNoData(LineBaseQueryParam param) { + return this.baseMapper.getNoData(param.getLineIds(), param.getStartTime(), param.getEndTime()); + } + private BigDecimal calculateIntegrityRate(List lineIntegrityRateInfo, List deviceIds) { List list = lineIntegrityRateInfo.stream().filter(x -> deviceIds.contains(x.getLineIndex())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(list)) { diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java index 80a2725c7..fe7a50ccb 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/DeptLineMapper.java @@ -74,6 +74,8 @@ public interface DeptLineMapper extends BaseMapper { List lineDevGet(@Param("list")List devType,@Param("type")Integer type,@Param("lineRunFlag") Integer lineRunFlag); + List lineDevAllGet(@Param("list")List devType,@Param("type")Integer type,@Param("lineRunFlag") Integer lineRunFlag, @Param("lineType") Integer lineType); + List orgSubStationGet(@Param("list")List devType); List orgSubStationInfoGet(@Param("list")List devType, diff --git a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml index cedc0e354..85619f42d 100644 --- a/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml +++ b/pqs-device/pq-device/pq-device-com/src/main/java/com/njcn/device/line/mapper/mapping/DeptLineMapper.xml @@ -74,6 +74,71 @@ + + + diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetDMapper.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetDMapper.java index 08af3d3ac..e53426446 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetDMapper.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/RStatLimitTargetDMapper.java @@ -66,6 +66,10 @@ public interface RStatLimitTargetDMapper extends BaseMapper @Param("startTime") String startTime, @Param("endTime") String endTime); + List getSumTargetDetails2(@Param("ids") List ids, + @Param("startTime") String startTime, + @Param("endTime") String endTime); + List getSumTargetCountDayes(@Param("ids") List ids, @Param("startTime") String startTime, @Param("endTime") String endTime); 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 177cb6aff..2f0805d82 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 @@ -491,6 +491,149 @@ GROUP BY time_id,my_index) A GROUP BY A.lineId + + + +