合并代码

This commit is contained in:
2022-11-23 16:15:35 +08:00
parent dba5edcd35
commit dce2972202
83 changed files with 1078 additions and 639 deletions

20
pqs-algorithm/pom.xml Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>pqs</artifactId>
<groupId>com.njcn</groupId>
<version>1.0.0</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pqs-algorithm</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
</project>

View File

@@ -5,6 +5,9 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author hany
* @since 2022-10-26
@@ -13,69 +16,91 @@ import lombok.EqualsAndHashCode;
public class PowerDistributionareaParam {
@ApiModelProperty("台区编号")
@NotBlank(message = "台区编号不可为空")
private String id;
@ApiModelProperty(name = "name", value = "台区名称")
@NotBlank(message = "台区名称不可为空")
private String name;
@ApiModelProperty(name = "orgName", value = "组织机构名称")
@NotBlank(message = "组织机构名称不可为空")
private String orgName;
@ApiModelProperty(name = "orgId", value = "组织机构ID")
@ApiModelProperty(name = "orgId", value = "组织机构编号")
@NotBlank(message = "组织机构编号不可为空")
private String orgId;
@ApiModelProperty(name = "operationName", value = "运维单位名称")
@NotBlank(message = "运维单位名称不可为空")
private String operationName;
@ApiModelProperty(name = "operationId", value = "运维单位ID")
@ApiModelProperty(name = "operationId", value = "运维单位编号")
@NotBlank(message = "运维单位编号不可为空")
private String operationId;
@ApiModelProperty(name = "powerrName", value = "变电站名称")
@NotBlank(message = "变电站名称不可为空")
private String powerrName;
@ApiModelProperty(name = "powerStationId", value = "电站ID")
@ApiModelProperty(name = "powerStationId", value = "电站编号")
@NotBlank(message = "电站编号不可为空")
private String powerStationId;
@ApiModelProperty(name = "lineName", value = "监测线路名称")
@NotBlank(message = "监测线路名称不可为空")
private String lineName;
@ApiModelProperty(name = "lineId", value = "所属线路ID")
@ApiModelProperty(name = "lineId", value = "所属线路编号")
@NotBlank(message = "所属线路编号不可为空")
private String lineId;
@ApiModelProperty(name = "pCapacity", value = "配变容量")
@NotNull(message = "配变容量不可为空")
private Float pCapacity;
@ApiModelProperty(name = "regionalism", value = "地区特征")
@NotBlank(message = "地区特征不可为空")
private String regionalism;
@ApiModelProperty(name = "ifRuralPowerGrid", value = "是否农网0-否1")
@NotNull(message = "是否农网不可为空")
private Integer ifRuralPowerGrid;
@ApiModelProperty(name = "natureOfUse", value = "使用性质")
@NotBlank(message = "使用性质不可为空")
private String natureOfUse;
@ApiModelProperty(name = "powerSupplyRadius", value = "供电半径")
@NotNull(message = "供电半径不可为空")
private Float powerSupplyRadius;
@ApiModelProperty(name = "lineLength", value = "供电线路总长度")
@NotNull(message = "供电线路总长度不可为空")
private Float lineLength;
@ApiModelProperty(name = "state", value = "运行状态")
@NotBlank(message = "运行状态不可为空")
private String state;
@ApiModelProperty(name = "distributedPhotovoltaicNum", value = "分布式光伏用户数")
@NotNull(message = "分布式光伏用户数不可为空")
private Integer distributedPhotovoltaicNum;
@ApiModelProperty(name = "photovoltaicCapacity", value = "分布式光伏总装机容量")
@NotNull(message = "分布式光伏总装机容量不可为空")
private Float photovoltaicCapacity;
@ApiModelProperty(name = "ifBevAp", value = "是否有电动汽车接入0-否1")
@NotNull(message = "是否有电动汽车接入不可为空")
private Integer ifBevAp;
@ApiModelProperty(name = "apLoadType", value = "接入负荷类型")
@NotBlank(message = "接入负荷类型不可为空")
private String apLoadType;
@ApiModelProperty(name = "isUpToGrid", value = "是否是上送国网监测点,0-否 1-是")
@NotNull(message = "是否是上送国网监测点不可为空")
private Integer isUpToGrid;
}

View File

@@ -51,4 +51,7 @@ public class RMpDevEvaluateDetailVO implements Serializable {
@ApiModelProperty(name = "assessment", value = "综合评价")
private Double assessment;
@ApiModelProperty(name = "devCount", value = "在运终端数量")
private Integer devCount;
}

View File

@@ -55,4 +55,10 @@ public class RQualityParameterPollVO implements Serializable {
*/
@ApiModelProperty(name = "problemYearOnYear", value = "存在数据质量问题监测点同比")
private String problemYearOnYear;
/**
* 数据类型,字典表01主网测点 02配网测点
*/
@ApiModelProperty(name = "dataType",value = "数据类型,字典表01主网测点 02配网测点")
private String dataType;
}

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.controller.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
@@ -98,10 +99,19 @@ public class PowerClientController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPowerClientList")
@ApiOperation("获取用电用户列表")
@ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true)
public HttpResult<List<PowerClient>> getPowerClientList(@RequestBody BaseParam baseParam) {
public HttpResult<List<PowerClient>> getPowerClientList() {
String methodDescribe = getMethodDescribe("getPowerClientList");
List<PowerClient> result = iPowerClientService.getPowerClientList(baseParam);
List<PowerClient> result = iPowerClientService.getPowerClientList();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPowerClientPageList")
@ApiOperation("分页获取用电用户列表")
@ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true)
public HttpResult<Page<PowerClient>> getPowerClientPageList(@RequestBody BaseParam baseParam) {
String methodDescribe = getMethodDescribe("getPowerClientPageList");
Page<PowerClient> result = iPowerClientService.getPowerClientPageList(baseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.controller.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
@@ -98,10 +99,19 @@ public class PowerGenerationUserController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPowerGenerationUserList")
@ApiOperation("获取发电用户列表")
@ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true)
public HttpResult<List<PowerGenerationUser>> getPowerGenerationUserList(@RequestBody BaseParam baseParam) {
public HttpResult<List<PowerGenerationUser>> getPowerGenerationUserList() {
String methodDescribe = getMethodDescribe("getPowerGenerationUserList");
List<PowerGenerationUser> result = iPowerGenerationUserService.getPowerGenerationUserList(baseParam);
List<PowerGenerationUser> result = iPowerGenerationUserService.getPowerGenerationUserList();
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPowerGenerationUserPageList")
@ApiOperation("分页获取发电用户列表")
@ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true)
public HttpResult<Page<PowerGenerationUser>> getPowerGenerationUserPageList(@RequestBody BaseParam baseParam) {
String methodDescribe = getMethodDescribe("getPowerGenerationUserPageList");
Page<PowerGenerationUser> result = iPowerGenerationUserService.getPowerGenerationUserPageList(baseParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
}

View File

@@ -1,53 +0,0 @@
package com.njcn.device.pms.controller.majornetwork;
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.pms.pojo.param.UniversalFrontEndParam;
import com.njcn.device.pms.pojo.vo.RmpEventDetailVO;
import com.njcn.device.pms.service.majornetwork.RmpEventDetailService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
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 yzh
* @date 2022/10/12
*/
@RestController
@RequestMapping("/rmpEventDetail")
@Api(tags = "暂态事件明细")
@RequiredArgsConstructor
public class RmpEventDetailController extends BaseController {
private final RmpEventDetailService rmpEventDetailService;
/**
* 获取暂态事件明细
*
* @param param 前端传入参数
* @return 暂态事件明细
*/
@PostMapping("/getDetailsOfTransientEvents")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("获取区域暂态指标统计")
@ApiImplicitParam(name = "param", value = "前端参数", required = true)
public HttpResult<List<RmpEventDetailVO>> getRmpEventDetail(@RequestBody UniversalFrontEndParam param) {
String methodDescribe = getMethodDescribe("getRmpEventDetail");
List<RmpEventDetailVO> list = rmpEventDetailService.getRmpEventDetail(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
}

View File

@@ -21,13 +21,13 @@ public interface RQualityParameterMapper {
*
* @param param 条件参数
* @param deptIdList 单位id
* @param dataType 主网测点
* @param distributionPoint 配网测点
* @return java.util.List<com.njcn.event.pojo.po.RQualityParameterPO>
* @author yzh
* @date 2022/11/2
*/
List<RQualityParameterPO> getLedgerDataQualityStat(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("dataType") String dataType);
@Param("distributionPoint") String distributionPoint);
}

View File

@@ -21,34 +21,40 @@ public interface RStatAccountCheckDataMapper {
*
* @param param 条件参数
* @param deptIdList 单位id
* @param mainnetPoint 主网字典id
* @return java.util.List<com.njcn.event.pojo.po.RStatAccountCheckDataPO>
* @author yzh
* @date 2022/11/2
*/
List<RStatAccountCheckDataVO> getYearInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList);
List<RStatAccountCheckDataVO> getRStatAccountCheckDataYearInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("mainnetPoint") String mainnetPoint);
/**
* 获取主网数据质量-台帐类数据质量核查(季)
*
* @param param 条件参数
* @param deptIdList 单位id
* @param mainnetPoint 主网字典id
* @return java.util.List<com.njcn.event.pojo.po.RStatAccountCheckDataPO>
* @author yzh
* @date 2022/11/2
*/
List<RStatAccountCheckDataVO> getSeasonInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList);
List<RStatAccountCheckDataVO> getRStatAccountCheckDataSeasonInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("mainnetPoint") String mainnetPoint);
/**
* 获取主网数据质量-台帐类数据质量核查(月)
*
* @param param 单位id
* @param deptIdList 条件参数
* @param mainnetPoint 主网字典id
* @return java.util.List<com.njcn.event.pojo.po.RStatAccountCheckDataPO>
* @author yzh
* @date 2022/11/2
*/
List<RStatAccountCheckDataVO> getMonthInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList);
List<RStatAccountCheckDataVO> getRStatAccountCheckDataMonthInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("mainnetPoint") String mainnetPoint);
}

View File

@@ -21,34 +21,40 @@ public interface RStatTargetCheckDataMapper {
*
* @param param 条件参数
* @param deptIdList 单位id
* @param mainnetPoint 主网字典id
* @return java.util.List<com.njcn.event.pojo.vo.RStatAccountCheckDataVO>
* @author yzh
* @date 2022/11/2
*/
List<RStatTargetCheckDataVO> getYearInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList);
List<RStatTargetCheckDataVO> getRStatTargetCheckDataYearInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("mainnetPoint") String mainnetPoint);
/**
* 获取主网数据质量-台帐类数据质量核查(季)
*
* @param param 条件参数
* @param deptIdList 单位id
* @param mainnetPoint 主网字典id
* @return java.util.List<com.njcn.event.pojo.vo.RStatAccountCheckDataVO>
* @author yzh
* @date 2022/11/2
*/
List<RStatTargetCheckDataVO> getSeasonInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList);
List<RStatTargetCheckDataVO> getRStatTargetCheckDataSeasonInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("mainnetPoint") String mainnetPoint);
/**
* 获取主网数据质量-台帐类数据质量核查(月)
*
* @param param 条件参数
* @param deptIdList 单位id
* @param mainnetPoint 主网字典id
* @return java.util.List<com.njcn.event.pojo.vo.RStatAccountCheckDataVO>
* @author yzh
* @date 2022/11/2
*/
List<RStatTargetCheckDataVO> getMonthInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList);
List<RStatTargetCheckDataVO> getRStatTargetCheckDataMonthInfo(@Param("param") StatisticsBizBaseParam param,
@Param("deptIdList") List<String> deptIdList,
@Param("mainnetPoint") String mainnetPoint);
}

View File

@@ -40,8 +40,8 @@
<if test="param.endTime != null and param.endTime != ''">
AND DATE_FORMAT(b.data_date, '%Y-%m-%d') &lt;= DATE_FORMAT(#{param.endTime}, '%Y-%m-%d')
</if>
<if test="dataType != null and dataType != ''">
AND b.data_type = #{dataType}
<if test="distributionPoint != null and distributionPoint != ''">
AND b.data_type = #{distributionPoint}
</if>
</select>
</mapper>

View File

@@ -30,6 +30,7 @@
<foreach collection="deptIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND data_type = #{mainnetPoint}
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT(data_date, '%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime}, '%Y-%m-%d')
</if>
@@ -39,7 +40,7 @@
</sql>
<!--获取主网数据质量-台帐类数据质量核查(年)-->
<select id="getYearInfo" resultType="com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO">
<select id="getRStatAccountCheckDataYearInfo" resultType="com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO">
SELECT
<include refid="query_field"></include>
FROM r_stat_account_check_data_y
@@ -48,7 +49,7 @@
</select>
<!--获取主网数据质量-台帐类数据质量核查(季)-->
<select id="getSeasonInfo" resultType="com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO">
<select id="getRStatAccountCheckDataSeasonInfo" resultType="com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO">
<include refid="query_field"></include>
FROM r_stat_account_check_data_q
WHERE
@@ -56,7 +57,7 @@
</select>
<!--获取主网数据质量-台帐类数据质量核查(月)-->
<select id="getMonthInfo" resultType="com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO">
<select id="getRStatAccountCheckDataMonthInfo" resultType="com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO">
SELECT
<include refid="query_field"></include>
FROM r_stat_account_check_data_m

View File

@@ -32,6 +32,7 @@
<foreach collection="deptIdList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
AND data_type = #{mainnetPoint}
<if test="param.startTime != null and param.startTime != ''">
AND DATE_FORMAT( data_date,'%Y-%m-%d') &gt;= DATE_FORMAT(#{param.startTime},'%Y-%m-%d')
</if>
@@ -41,7 +42,7 @@
</sql>
<!--获取主网数据质量-台帐类数据质量核查(年)-->
<select id="getYearInfo" resultType="com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO">
<select id="getRStatTargetCheckDataYearInfo" resultType="com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO">
SELECT
<include refid="query_field"></include>
FROM
@@ -51,7 +52,7 @@
</select>
<!--获取主网数据质量-台帐类数据质量核查(季)-->
<select id="getSeasonInfo" resultType="com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO">
<select id="getRStatTargetCheckDataSeasonInfo" resultType="com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO">
SELECT
<include refid="query_field"></include>
FROM
@@ -61,7 +62,7 @@
</select>
<!--获取主网数据质量-台帐类数据质量核查(月)-->
<select id="getMonthInfo" resultType="com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO">
<select id="getRStatTargetCheckDataMonthInfo" resultType="com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO">
SELECT
<include refid="query_field"></include>
FROM

View File

@@ -135,7 +135,7 @@ public class PwDataQualityDetailsServiceImpl implements PwDataQualityDetailsServ
vo.setPlatformAreaName("/");
}
// TODO 地市公司
vo.setCityCompany("南京");
vo.setCityCompany(dataMap.get(vo.getMonitorId()).getOrgName());
return vo;
}).collect(Collectors.toList());
}

View File

@@ -76,10 +76,8 @@ implements PwRMpMonitorAlarmCountMService {
if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//获取配网id
String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData().getId();

View File

@@ -61,15 +61,15 @@ implements PwRStatAreaAlarmCountMService{
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//获取配网id
String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData().getId();
LambdaQueryWrapper<RStatAreaAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgNoList), RStatAreaAlarmCountM::getOrgNo, orgNoList)
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RStatAreaAlarmCountM::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), RStatAreaAlarmCountM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RStatAreaAlarmCountM::getDataDate, endTime)
.eq(RStatAreaAlarmCountM::getDataType, dataType);

View File

@@ -56,9 +56,9 @@ public class RDnOperatingIndexMServiceImpl extends ServiceImpl<RDnOperatingIndex
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//获取监测点类别字典id
String monitorSortOne = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONE_LINE.getCode()).getData().getId(); // I类
@@ -66,7 +66,7 @@ public class RDnOperatingIndexMServiceImpl extends ServiceImpl<RDnOperatingIndex
String monitorSortThree = dicDataFeignClient.getDicDataByCode(DicDataEnum.THREE_LINE.getCode()).getData().getId(); // III类
HashMap<String, Object> condMap = new HashMap<>();
condMap.put("orgIdList", orgNoList);
condMap.put("orgIdList", orgCodeList);
condMap.put("startTime", startTime);
condMap.put("endTime", endTime);
condMap.put("monitorSortOne", monitorSortOne);

View File

@@ -49,9 +49,9 @@ public class RDnOperatingYServiceImpl extends ServiceImpl<RDnOperatingYMapper, R
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//获取监测点类别字典id
String monitorSortOne = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONE_LINE.getCode()).getData().getId(); // I类
@@ -59,7 +59,7 @@ public class RDnOperatingYServiceImpl extends ServiceImpl<RDnOperatingYMapper, R
String monitorSortThree = dicDataFeignClient.getDicDataByCode(DicDataEnum.THREE_LINE.getCode()).getData().getId(); // III类
HashMap<String, Object> condMap = new HashMap<>();
condMap.put("orgIdList", orgNoList);
condMap.put("orgIdList", orgCodeList);
condMap.put("startTime", startTime);
condMap.put("endTime", endTime);
condMap.put("monitorSortOne", monitorSortOne);

View File

@@ -79,14 +79,14 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl<RStatPwAlarmCount
if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
//单位code集合
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, String> deptNameMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, DeptDTO::getName));
Map<String, String> deptNameMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, DeptDTO::getName));
//设置数据库查询条件
Map<String, Object> condMap = new HashMap<>();
condMap.put("orgIdList", orgNoList);
condMap.put("orgIdList", orgCodeList);
condMap.put("startTime", startTime);
condMap.put("endTime", endTime);
List<RStatPwAlarmCountWVO> list = this.baseMapper.getRStatPwAlarmCountVOList(condMap);

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.param.PowerClientParam;
import com.njcn.device.pms.pojo.po.PowerClient;
@@ -54,6 +55,14 @@ public interface IPowerClientService extends IService<PowerClient> {
*/
PowerClient getPowerClientById(String powerClientId);
/**
* 查询用电用户列表
* @author cdf
* @date 2022/10/25
* @return boolean
*/
List<PowerClient> getPowerClientList();
/**
* 查询用电用户列表
* @author cdf
@@ -61,6 +70,6 @@ public interface IPowerClientService extends IService<PowerClient> {
* @param baseParam 基础参数
* @return boolean
*/
List<PowerClient> getPowerClientList(BaseParam baseParam);
Page<PowerClient> getPowerClientPageList(BaseParam baseParam);
}

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.param.PowerGenerationUserParam;
import com.njcn.device.pms.pojo.po.PowerGenerationUser;
@@ -57,9 +58,17 @@ public interface IPowerGenerationUserService extends IService<PowerGenerationUse
* 查询发电用户列表
* @author cdf
* @date 2022/10/25
* @return boolean
*/
List<PowerGenerationUser> getPowerGenerationUserList();
/**
* 分页查询发电用户列表
* @author cdf
* @date 2022/10/25
* @param baseParam 基础参数
* @return boolean
*/
List<PowerGenerationUser> getPowerGenerationUserList(BaseParam baseParam);
Page<PowerGenerationUser> getPowerGenerationUserPageList(BaseParam baseParam);
}

View File

@@ -1,24 +0,0 @@
package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.param.UniversalFrontEndParam;
import com.njcn.device.pms.pojo.vo.RmpEventDetailVO;
import java.util.List;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
public interface RmpEventDetailService extends IService<RmpEventDetailVO> {
/**
* 获取暂态事件明细
* @param param 前端参数
* @return 暂态事件明细
*/
List<RmpEventDetailVO> getRmpEventDetail(UniversalFrontEndParam param);
}

View File

@@ -11,6 +11,8 @@ import com.njcn.device.pms.pojo.vo.RStatAccountCheckDataVO;
import com.njcn.device.pms.pojo.vo.RStatTargetCheckDataVO;
import com.njcn.device.pms.service.majornetwork.DataQualityCheckService;
import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataEnum;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -38,6 +40,8 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService {
private final RStatTargetCheckDataMapper rStatTargetCheckDataMapper;
private final DicDataFeignClient dicDataFeignClient;
/**
* 获取主网数据质量-台帐类数据质量核查
*
@@ -56,19 +60,21 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService {
List<String> deptIdList = data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList());
// 创建集合封装查询数据
List<RStatAccountCheckDataVO> result = new ArrayList<>();
// 获取主网字典id
String mainnetPoint = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
// 获取主网数据质量-台帐类数据质量核查
switch (param.getType()) {
// 年
case 1:
result = rStatAccountCheckDataMapper.getYearInfo(param, deptIdList);
result = rStatAccountCheckDataMapper.getRStatAccountCheckDataYearInfo(param, deptIdList, mainnetPoint);
break;
// 季
case 2:
result = rStatAccountCheckDataMapper.getSeasonInfo(param, deptIdList);
result = rStatAccountCheckDataMapper.getRStatAccountCheckDataSeasonInfo(param, deptIdList, mainnetPoint);
break;
// 月
case 3:
result = rStatAccountCheckDataMapper.getMonthInfo(param, deptIdList);
result = rStatAccountCheckDataMapper.getRStatAccountCheckDataMonthInfo(param, deptIdList, mainnetPoint);
break;
default:
break;
@@ -99,21 +105,23 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService {
return Collections.emptyList();
}
List<String> deptIdList = data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList());
// 获取主网字典id
String mainnetPoint = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
// 创建集合封装数据
List<RStatTargetCheckDataVO> result = new ArrayList<>();
// 获取主网数据质量-台帐类数据质量核查
switch (param.getType()) {
// 年
case 1:
result = rStatTargetCheckDataMapper.getYearInfo(param, deptIdList);
result = rStatTargetCheckDataMapper.getRStatTargetCheckDataYearInfo(param, deptIdList, mainnetPoint);
break;
// 季
case 2:
result = rStatTargetCheckDataMapper.getSeasonInfo(param, deptIdList);
result = rStatTargetCheckDataMapper.getRStatTargetCheckDataSeasonInfo(param, deptIdList, mainnetPoint);
break;
// 月
case 3:
result = rStatTargetCheckDataMapper.getMonthInfo(param, deptIdList);
result = rStatTargetCheckDataMapper.getRStatTargetCheckDataMonthInfo(param, deptIdList, mainnetPoint);
break;
default:
break;

View File

@@ -75,8 +75,6 @@ public class DataQualityDetailsServiceImpl implements DataQualityDetailsService
public List<RStatMeasurementAccountDetailVO> getQualityProblemsOfMonitoringPointAccountData(DataQualityDetailsParam param) {
// 获取单位下的子单位信息
List<PmsGeneralDeviceDTO> data = getDeptInfo(param);
//获取所有子部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
if (CollUtil.isEmpty(data)) {
return Collections.emptyList();
}
@@ -99,13 +97,10 @@ public class DataQualityDetailsServiceImpl implements DataQualityDetailsService
.stream()
.map(RStatMeasurementAccountDetailPO::getMeasurementPointId)
.collect(Collectors.toList()));
List<PmsMonitorInfoDTO> monitorInfoDTOS = iMonitorService.getMonitorInfo(pmsMonitorInfoParam);
// //将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, PmsMonitorInfoDTO> monitorInfoMap = monitorInfoDTOS
.stream().collect(Collectors.toMap(PmsMonitorInfoDTO::getMonitorId, PmsMonitorInfoDTO -> PmsMonitorInfoDTO));
List<PmsMonitorInfoDTO> monitorInfoList = iMonitorService.getMonitorInfo(pmsMonitorInfoParam);
// 属性赋值
for (RStatMeasurementAccountDetailPO po : pos) {
for (PmsMonitorInfoDTO monitorInfoDTO : monitorInfoDTOS) {
for (PmsMonitorInfoDTO monitorInfoDTO : monitorInfoList) {
if (po.getMeasurementPointId().equals(monitorInfoDTO.getMonitorId())) {
RStatMeasurementAccountDetailVO vo = new RStatMeasurementAccountDetailVO();
vo.setOrgId(dto.getIndex());
@@ -147,7 +142,7 @@ public class DataQualityDetailsServiceImpl implements DataQualityDetailsService
if (CollUtil.isEmpty(tractionStationInfo)) {
return Collections.emptyList();
}
//将单位信息转为map集合 key: 单位id value: 单位实体
// 将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, PmsTractionStationDTO> tractionStationInfoMap = getDataMap(tractionStationInfo);
// 获取主网数据质量-台账类数据指标核查详情-牵引站台账数据质量问题
List<RStatTractionStationAccountDetailPO> pos = rStatTractionStationAccountDetailMapper.getTractionPlatformAccountDataQualityProblem(param,
@@ -219,7 +214,7 @@ public class DataQualityDetailsServiceImpl implements DataQualityDetailsService
vo.setMonitorName(pmsMonitorInfoMap.get(vo.getMonitorId()).getMonitorName());
vo.setMonitorVoltageLevel(pmsMonitorInfoMap.get(vo.getMonitorId()).getMonitorVoltageLevel());
// TODO 地市公司
vo.setCityCompany("南京");
vo.setCityCompany(pmsMonitorInfoMap.get(vo.getMonitorId()).getOrgName());
return vo;
}).collect(Collectors.toList());
}
@@ -232,7 +227,6 @@ public class DataQualityDetailsServiceImpl implements DataQualityDetailsService
pmsDeviceInfoParam.setDeptIndex(param.getId());
pmsDeviceInfoParam.setStatisticalType(new SimpleDTO());
return iPmsGeneralDeviceService.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam);
}
/**

View File

@@ -64,7 +64,7 @@ public class DataQualityStatServiceImpl implements DataQualityStatService {
if (CollUtil.isEmpty(data)) {
return Collections.emptyList();
}
// 获取网字典id
// 获取网字典id
String mainnetPoint = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
// 获取主网数据质量-台账数据质量统计
List<RQualityParameterPO> pos = rQualityParameterMapper.getLedgerDataQualityStat(
@@ -152,7 +152,7 @@ public class DataQualityStatServiceImpl implements DataQualityStatService {
return Collections.emptyList();
}
List<String> deptIdList = data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList());
// 获取网字典id
// 获取网字典id
String mainnetPoint = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
// 获取主网数据质量-监测指标数据质量问题汇总统计
List<RQualityParameterPO> pos = rQualityParameterMapper.getLedgerDataQualityStat(param, deptIdList, mainnetPoint);

View File

@@ -218,13 +218,13 @@ public class MonitorServiceImpl extends ServiceImpl<MonitorMapper, Monitor> impl
private void checkOther(MonitorParam monitorParam,Monitor monitor,boolean update){
//校验组织机构
Dept dept = deptFeignClient.getDeptById(monitorParam.getOrgId()).getData();
Dept dept = deptFeignClient.getDeptByCode(monitorParam.getOrgId()).getData();
if(Objects.isNull(dept)){
throw new BusinessException(PmsDeviceResponseEnum.ORG_ITEM_EMPTY);
}
//校验运维单位
Dept deptOp = deptFeignClient.getDeptById(monitorParam.getOperationId()).getData();
Dept deptOp = deptFeignClient.getDeptByCode(monitorParam.getOperationId()).getData();
if(Objects.isNull(deptOp)){
throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY);
}

View File

@@ -1,10 +1,15 @@
package com.njcn.device.pms.service.majornetwork.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.device.pms.mapper.majornetwork.PowerClientMapper;
import com.njcn.device.pms.pojo.param.PowerClientParam;
import com.njcn.device.pms.pojo.po.PowerClient;
import com.njcn.device.pms.service.majornetwork.IPowerClientService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.pojo.param.BaseParam;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -48,7 +53,21 @@ public class PowerClientServiceImpl extends ServiceImpl<PowerClientMapper, Power
}
@Override
public List<PowerClient> getPowerClientList(BaseParam baseParam) {
return this.list();
public List<PowerClient> getPowerClientList() {
LambdaQueryWrapper<PowerClient> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.orderByDesc(PowerClient::getCreateTime).eq(PowerClient::getStatus, DataStateEnum.ENABLE.getCode());
return this.list(lambdaQueryWrapper);
}
@Override
public Page<PowerClient> getPowerClientPageList(BaseParam baseParam) {
LambdaQueryWrapper<PowerClient> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.orderByDesc(PowerClient::getCreateTime)
.eq(PowerClient::getStatus, DataStateEnum.ENABLE.getCode())
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerClient::getName,baseParam.getSearchValue())
.or(StrUtil.isNotBlank(baseParam.getSearchValue()))
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerClient::getOrgName,baseParam.getSearchValue());
return this.page(new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper);
}
}

View File

@@ -55,7 +55,8 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl<PowerDistribut
.or(StrUtil.isNotBlank(baseParam.getSearchValue()))
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerDistributionarea::getPowerrName,baseParam.getSearchValue())
.or(StrUtil.isNotBlank(baseParam.getSearchValue()))
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerDistributionarea::getOrgName,baseParam.getSearchValue());
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerDistributionarea::getOrgName,baseParam.getSearchValue())
.eq(PowerDistributionarea::getStatus,DataStateEnum.ENABLE.getCode());
//初始化分页数据
return this.page(new Page<>(PageFactory.getPageNum(baseParam), PageFactory.getPageSize(baseParam)), lambdaQueryWrapper);
}
@@ -79,12 +80,12 @@ public class PowerDistributionareaServiceImpl extends ServiceImpl<PowerDistribut
public boolean add(PowerDistributionareaParam newParam) {
checkName(newParam,true);
Dept dept = deptFeignClient.getDeptById(newParam.getOrgId()).getData();
Dept dept = deptFeignClient.getDeptByCode(newParam.getOrgId()).getData();
if(Objects.isNull(dept)){
throw new BusinessException(PmsDeviceResponseEnum.ORG_ITEM_EMPTY);
}
Dept opDept = deptFeignClient.getDeptById(newParam.getOperationId()).getData();
Dept opDept = deptFeignClient.getDeptByCode(newParam.getOperationId()).getData();
if(Objects.isNull(opDept)){
throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY);
}

View File

@@ -1,10 +1,15 @@
package com.njcn.device.pms.service.majornetwork.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.device.pms.mapper.majornetwork.PowerGenerationUserMapper;
import com.njcn.device.pms.pojo.param.PowerGenerationUserParam;
import com.njcn.device.pms.pojo.po.PowerGenerationUser;
import com.njcn.device.pms.service.majornetwork.IPowerGenerationUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.pojo.param.BaseParam;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -47,7 +52,21 @@ public class PowerGenerationUserServiceImpl extends ServiceImpl<PowerGenerationU
}
@Override
public List<PowerGenerationUser> getPowerGenerationUserList(BaseParam baseParam) {
return this.list();
public List<PowerGenerationUser> getPowerGenerationUserList() {
LambdaQueryWrapper<PowerGenerationUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.orderByDesc(PowerGenerationUser::getCreateTime).eq(PowerGenerationUser::getStatus, DataStateEnum.ENABLE.getCode());
return this.list(lambdaQueryWrapper);
}
@Override
public Page<PowerGenerationUser> getPowerGenerationUserPageList(BaseParam baseParam) {
LambdaQueryWrapper<PowerGenerationUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.orderByDesc(PowerGenerationUser::getCreateTime).eq(PowerGenerationUser::getStatus, DataStateEnum.ENABLE.getCode())
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerGenerationUser::getName,baseParam.getSearchValue())
.or(StrUtil.isNotBlank(baseParam.getSearchValue()))
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerGenerationUser::getOrgName,baseParam.getSearchValue());
return this.page(new Page<>(PageFactory.getPageNum(baseParam),PageFactory.getPageSize(baseParam)),lambdaQueryWrapper);
}
}

View File

@@ -24,6 +24,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -73,14 +74,12 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
//单位code集合
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//查询单位下的终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgNoList);
terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) {
return new ArrayList<>();
@@ -89,7 +88,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList());
//将终端信息转为map集合 key: 终端id value: 终端实体
Map<String, PmsTerminal> terminalMap = terminalList.stream().collect(Collectors.toMap(PmsTerminal::getId, terminal -> terminal));
//将终端信息按单位分组 key单位id value终端集合
//将终端信息按单位分组 key单位id(字段是id实际数据是单位code) value终端集合
Map<String, List<PmsTerminal>> terminalListMapByOrgId = terminalList.stream().collect(Collectors.groupingBy(PmsTerminal::getOrgId));
//查询终端评价详情表数据【r_mp_dev_evaluate_detail】
@@ -100,12 +99,13 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<RMpDevEvaluateDetail> list = this.list(businessWrapper);
//封装返回数据
DecimalFormat df = new DecimalFormat("###.00");
List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>();
terminalListMapByOrgId.forEach((key, terminalListByOrg) -> {
RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO();
rMpDevEvaluateDetailVO.setDataDate(startTime); //日期(前端传递的时间)
rMpDevEvaluateDetailVO.setOrgId(key); //单位id
rMpDevEvaluateDetailVO.setOrgId(key); //单位id(字段是id实际数据是单位code)
rMpDevEvaluateDetailVO.setOrgName(terminalListByOrg.get(0).getOrgName()); //单位名称
//终端有效接入率
@@ -121,7 +121,10 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
.mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0);
rMpDevEvaluateDetailVO.setDevDataRate(devDataRate);
//综合评价
rMpDevEvaluateDetailVO.setAssessment((devEffectiveRate + devTargetRate + devDataRate) / 3.0);
rMpDevEvaluateDetailVO.setAssessment(Double.parseDouble(df.format((devEffectiveRate + devTargetRate + devDataRate) / 3.0)));
//在运终端数量
rMpDevEvaluateDetailVO.setDevCount(terminalListByOrg.size());
resultList.add(rMpDevEvaluateDetailVO);
});
@@ -150,7 +153,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(CollUtil.isNotEmpty(manufactureIdList), PmsTerminal::getManufacture, manufactureIdList)
.isNotNull(CollUtil.isEmpty(manufactureIdList), PmsTerminal::getManufacture)
.in(CollUtil.isEmpty(deviceModelIdList), PmsTerminal::getDeviceModel, deviceModelIdList);
.in(CollUtil.isNotEmpty(deviceModelIdList), PmsTerminal::getDeviceModel, deviceModelIdList);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) {
@@ -171,6 +174,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<RMpDevEvaluateDetail> list = this.list(businessWrapper);
//封装返回数据
DecimalFormat df = new DecimalFormat("###.00");
List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>();
terminalListMapByManufacture.forEach((key, terminalListByManufacture) -> {
RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO();
@@ -191,7 +195,10 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
.mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0);
rMpDevEvaluateDetailVO.setDevDataRate(devDataRate);
//综合评价
rMpDevEvaluateDetailVO.setAssessment((devEffectiveRate + devTargetRate + devDataRate) / 3.0);
rMpDevEvaluateDetailVO.setAssessment(Double.parseDouble(df.format((devEffectiveRate + devTargetRate + devDataRate) / 3.0)));
//在运终端数量
rMpDevEvaluateDetailVO.setDevCount(terminalListByManufacture.size());
resultList.add(rMpDevEvaluateDetailVO);
});
@@ -215,7 +222,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
//查询终端厂商下的终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(CollUtil.isEmpty(deviceModelIdList), PmsTerminal::getDeviceModel, deviceModelIdList);
terminalWrapper.in(CollUtil.isNotEmpty(deviceModelIdList), PmsTerminal::getDeviceModel, deviceModelIdList);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) {
@@ -236,6 +243,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<RMpDevEvaluateDetail> list = this.list(businessWrapper);
//封装返回数据
DecimalFormat df = new DecimalFormat("###.00");
List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>();
terminalListMapByModel.forEach((key, terminalListByModel) -> {
RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO();
@@ -256,7 +264,10 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
.mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0);
rMpDevEvaluateDetailVO.setDevDataRate(devDataRate);
//综合评价
rMpDevEvaluateDetailVO.setAssessment((devEffectiveRate + devTargetRate + devDataRate) / 3.0);
rMpDevEvaluateDetailVO.setAssessment(Double.parseDouble(df.format((devEffectiveRate + devTargetRate + devDataRate) / 3.0)));
//在运终端数量
rMpDevEvaluateDetailVO.setDevCount(terminalListByModel.size());
resultList.add(rMpDevEvaluateDetailVO);
});

View File

@@ -64,13 +64,11 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl<RMpDevSolveDetailM
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//查询单位下的终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgNoList);
terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
//提取终端id
List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList());
@@ -79,7 +77,7 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl<RMpDevSolveDetailM
if (CollUtil.isEmpty(terminalIdList)) {
return new ArrayList<>();
}
//将终端信息按单位分组 key单位id value终端集合
//将终端信息按单位分组 key单位id(字段是org_id实际数据存的是单位表的org_code) value终端集合
Map<String, List<PmsTerminal>> terminalListMapByOrgId = terminalList.stream().collect(Collectors.groupingBy(PmsTerminal::getOrgId));
//查询终端消缺数据
@@ -161,7 +159,7 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl<RMpDevSolveDetailM
if (CollUtil.isEmpty(terminalIdList)) {
return new ArrayList<>();
}
//将终端信息按厂商分组 key单位id value终端集合
//将终端信息按厂商分组 key厂商id value终端集合
Map<String, List<PmsTerminal>> terminalListMapByManufacture = terminalList.stream().collect(Collectors.groupingBy(PmsTerminal::getManufacture));
//查询终端消缺数据
@@ -216,6 +214,13 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl<RMpDevSolveDetailM
return resultList;
}
/***
* 故障类型消缺统计
* @author jianghaifei
* @date 2022-11-21 10:11
* @param rMpDevAbnormalManageParam
* @return java.util.List<com.njcn.device.pms.pojo.vo.RMpDevSolveVO>
*/
@Override
public List<RMpDevSolveVO> getTypeRMpDevSolveList(RMpDevAbnormalManageParam rMpDevAbnormalManageParam) {
//提取参数
@@ -278,6 +283,14 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl<RMpDevSolveDetailM
return resultList;
}
/***
* 消缺统计清单
* @author jianghaifei
* @date 2022-11-21 10:11
* @param rMpDevSolveDetailParam
* @return java.util.List<com.njcn.device.pms.pojo.vo.RMpDevSolveDetailVO>
*/
@Override
public List<RMpDevSolveDetailVO> getRMpDevSolveDetailList(RMpDevSolveDetailParam rMpDevSolveDetailParam) {
//提取参数
@@ -294,11 +307,11 @@ public class RMpDevSolveDetailServiceImpl extends ServiceImpl<RMpDevSolveDetailM
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//查询单位下的终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgNoList) //单位id
terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList) //单位id
.in(CollUtil.isNotEmpty(manufactureIdList), PmsTerminal::getManufacture, manufactureIdList); //厂家
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) {

View File

@@ -72,10 +72,10 @@ implements RMpMonitorAlarmCountMService {
if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
//单位code集合
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位code value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//获取电压等级的字典
List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
@@ -90,7 +90,7 @@ implements RMpMonitorAlarmCountMService {
//根据条件查询单位下面的所有监测点
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.in(Monitor::getOrgId, orgNoList) //单位id
monitorLambdaQueryWrapper.in(Monitor::getOrgId, orgCodeList) //单位code
.eq(StringUtils.isNotBlank(monitorObjectType), Monitor::getMonitorObjectType, monitorObjectType) //监测点对象类型id
.in(CollUtil.isNotEmpty(voltageLevelParamList), Monitor::getVoltageLevel, voltageLevelParamList) //电压等级id
.like(StringUtils.isNotBlank(monitorName), Monitor::getName, monitorName); //监测点名称

View File

@@ -47,14 +47,14 @@ public class ROperatingIndexMServiceImpl extends ServiceImpl<ROperatingIndexMMap
if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
//单位code集合
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位code value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//组装查询条件
LambdaQueryWrapper<ROperatingIndexM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(ROperatingIndexM::getOrgNo, orgNoList)
lambdaQueryWrapper.in(ROperatingIndexM::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), ROperatingIndexM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), ROperatingIndexM::getDataDate, endTime);
//查询数据

View File

@@ -48,13 +48,13 @@ public class ROperatingIndexYServiceImpl extends ServiceImpl<ROperatingIndexYMap
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//组装查询条件
LambdaQueryWrapper<ROperatingIndexY> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(ROperatingIndexY::getOrgNo, orgNoList)
lambdaQueryWrapper.in(ROperatingIndexY::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), ROperatingIndexY::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), ROperatingIndexY::getDataDate, endTime);
//查询数据

View File

@@ -61,15 +61,15 @@ implements RStatAreaAlarmCountMService{
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
//获取主网id
String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
LambdaQueryWrapper<RStatAreaAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgNoList), RStatAreaAlarmCountM::getOrgNo, orgNoList)
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RStatAreaAlarmCountM::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), RStatAreaAlarmCountM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RStatAreaAlarmCountM::getDataDate, endTime)
.eq(RStatAreaAlarmCountM::getDataType, dataType);

View File

@@ -13,6 +13,8 @@ import com.njcn.device.pms.pojo.param.PmsGeneratrixParam;
import com.njcn.device.pms.pojo.param.UniversalFrontEndParam;
import com.njcn.device.pms.pojo.po.RStatBusbarHarmonicYPO;
import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicYVO;
import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService;
import com.njcn.device.pms.service.majornetwork.IPmsGeneratrixService;
import com.njcn.device.pms.service.majornetwork.RStatBusbarHarmonicService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -37,9 +39,9 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl<RStatBusbarHarmo
private final RStatBusbarHarmonicMapper rStatBusbarHarmonicMapper;
private final PmsGeneratrixClient pmsGeneratrixClient;
private final IPmsGeneratrixService pmsGeneratrixService;
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
private final IPmsGeneralDeviceService iPmsGeneralDeviceService;
/**
* 获取变电站母线电压指标年报
@@ -53,7 +55,7 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl<RStatBusbarHarmo
PmsDeviceInfoParam pmsDeviceInfoParam = new PmsDeviceInfoParam();
pmsDeviceInfoParam.setDeptIndex(param.getId());
pmsDeviceInfoParam.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData();
List<PmsGeneralDeviceDTO> data = iPmsGeneralDeviceService.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam);
if (CollUtil.isEmpty(data)) {
return Collections.emptyList();
}
@@ -97,7 +99,7 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl<RStatBusbarHarmo
List<String> busbarIds = result.stream().map(RStatBusbarHarmonicYVO::getBusbarId).collect(Collectors.toList());
PmsGeneratrixParam pmsGeneratrixParam = new PmsGeneratrixParam();
pmsGeneratrixParam.setGeneratrixIds(busbarIds);
List<GeneratrixAndPowerStationDTO> dtoS = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam).getData();
List<GeneratrixAndPowerStationDTO> dtoS = pmsGeneratrixService.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam);
for (GeneratrixAndPowerStationDTO dto : dtoS) {
for (RStatBusbarHarmonicYVO vo : result) {

View File

@@ -57,11 +57,11 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//查询终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgNoList).like(StringUtils.isNotBlank(deviceName), PmsTerminal::getName, deviceName);
terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList).like(StringUtils.isNotBlank(deviceName), PmsTerminal::getName, deviceName);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
//提取终端id
List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList());

View File

@@ -78,13 +78,13 @@ implements RStatZwAlarmCountWService {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
}
//单位id集合
List<String> orgNoList = deptDTOList.stream().map(DeptDTO::getId).collect(Collectors.toList());
List<String> orgCodeList = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//将单位信息转为map集合 key: 单位id value: 单位实体
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getId, deptDTO -> deptDTO));
Map<String, DeptDTO> deptDTOMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, deptDTO -> deptDTO));
LambdaQueryWrapper<RStatZwAlarmCountW> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgNoList), RStatZwAlarmCountW::getOrgNo, orgNoList)
lambdaQueryWrapper.in(CollUtil.isNotEmpty(orgCodeList), RStatZwAlarmCountW::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), RStatZwAlarmCountW::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RStatZwAlarmCountW::getDataDate, endTime);
//查询告警统计(周)集合
@@ -141,15 +141,20 @@ implements RStatZwAlarmCountWService {
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.eq(Monitor::getOrgId, id);
List<String> orgMeasurementPointIdList = iMonitorService.list(monitorLambdaQueryWrapper).stream().map(Monitor::getId).collect(Collectors.toList());
//以周为时间段,查询告警超过四次的监测点信息 todo
//如果单位下没有监测点,直接返回空集合
if (CollUtil.isEmpty(orgMeasurementPointIdList)) {
return new ArrayList<>();
}
//以周为时间段,查询告警超过四次的监测点信息
LambdaQueryWrapper<RMpTargetWarnD> targetWarnWrapper = new LambdaQueryWrapper<>();
targetWarnWrapper.select(RMpTargetWarnD::getMeasurementPointId)
.in(RMpTargetWarnD::getMeasurementPointId, orgMeasurementPointIdList)
.ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTime)
.groupBy(RMpTargetWarnD::getMeasurementPointId)
.or() //拼接or条件
.eq(RMpTargetWarnD::getIsEffective, 1) //是否是有效接入监测点(0:否 1:是)
//拼接or条件
.or(qw ->
qw.eq(RMpTargetWarnD::getIsEffective, 1) //是否是有效接入监测点(0:否 1:是)
.eq(RMpTargetWarnD::getIsHarmonic, 1) //是否是稳态超标监测点(0:否 1:是)
.eq(RMpTargetWarnD::getIsEvent, 1) //是否是发生暂态的监测点(0:否 1:是)
.eq(RMpTargetWarnD::getIsWarn, 1) //是否是告警监测点数(0:否 1:是)
@@ -160,6 +165,7 @@ implements RStatZwAlarmCountWService {
.eq(RMpTargetWarnD::getIsFlickerWarn, 1) //闪变是否告警(0:否 1:是)
.eq(RMpTargetWarnD::getIsSagWarn, 1) //电压暂降是否告警(0:否 1:是)
.eq(RMpTargetWarnD::getIsInterruptWarn, 1) //短时中断是否告警(0:否 1:是)
)
.having("count(measurement_point_id) >= {0}", 4);
// LambdaQueryWrapper<RMpPwAlarmDetailD> alarmDetailWrapper = new LambdaQueryWrapper<>();
@@ -186,17 +192,14 @@ implements RStatZwAlarmCountWService {
int monthDay = Month.of(DateUtil.month(date)).getLastDay(DateUtil.isLeapYear(DateUtil.year(date)));
//根据单位下监测点idList、月份条件查询监测点告警信息
List<RMpTargetWarnD> targetWarnDList; //告警超过四次
if (CollUtil.isEmpty(measurementPointIdList)) {
targetWarnDList = new ArrayList<>();
} else {
List<RMpTargetWarnD> targetWarnDList;
targetWarnWrapper.clear();
//组装查询条件:
targetWarnWrapper.in(RMpTargetWarnD::getMeasurementPointId, orgMeasurementPointIdList)
.ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTimeOfMonth)
.le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTimeOfMonth);
targetWarnDList = rMpTargetWarnDService.list(targetWarnWrapper);
}
//使用stream的分组方法Collectors.partitioningBy())对告警记录和没有告警的记录进行分组 true有告警的记录 false没有告警的记录
// Map<Boolean, List<RMpTargetWarnD>> booleanListMap = targetWarnDList.stream().collect(Collectors.groupingBy(

View File

@@ -1,37 +0,0 @@
package com.njcn.device.pms.service.majornetwork.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.device.pms.mapper.majornetwork.RmpEventDetailMapper;
import com.njcn.device.pms.pojo.param.UniversalFrontEndParam;
import com.njcn.device.pms.pojo.vo.RmpEventDetailVO;
import com.njcn.device.pms.service.majornetwork.RmpEventDetailService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 暂态事件明细
*
* @author yzh
* @date 2022/10/12
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper, RmpEventDetailVO> implements RmpEventDetailService {
private final RmpEventDetailMapper rmpEventDetailMapper;
/**
* 获取暂态事件明细
*
* @param param 前端参数
* @return 暂态事件明细
*/
@Override
public List<RmpEventDetailVO> getRmpEventDetail(UniversalFrontEndParam param) {
return null;
}
}

View File

@@ -78,12 +78,12 @@ public class TerminalServiceImpl extends ServiceImpl<TerminalMapper, PmsTerminal
public boolean add(PmsTerminalParam terminalParam) {
checkName(terminalParam,true);
Dept dept = deptFeignClient.getDeptById(terminalParam.getOrgId()).getData();
Dept dept = deptFeignClient.getDeptByCode(terminalParam.getOrgId()).getData();
if(Objects.isNull(dept)){
throw new BusinessException(PmsDeviceResponseEnum.ORG_ITEM_EMPTY);
}
Dept opDept = deptFeignClient.getDeptById(terminalParam.getOperationId()).getData();
Dept opDept = deptFeignClient.getDeptByCode(terminalParam.getOperationId()).getData();
if(Objects.isNull(opDept)){
throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY);
}

View File

@@ -19,7 +19,7 @@ public class RStatOrgParam extends StatisticsBizBaseParam {
@ApiModelProperty(name = "monitorIds", value = "监测点名称")
private String monitorName;
@ApiModelProperty(name = "voltageLevel", value = "电压等级")
@ApiModelProperty(name = "voltageLevels", value = "电压等级")
private List<String> voltageLevels;
@ApiModelProperty(name = "powerrIds",value = "变电站id")
@@ -31,7 +31,7 @@ public class RStatOrgParam extends StatisticsBizBaseParam {
@ApiModelProperty(name = "monitorSort", value = "监测点类别")
private List<String> monitorSort;
@ApiModelProperty(name = "voltageLevels", value = "电压等级")
private List<String> voltageLevels;
// @ApiModelProperty(name = "voltageLevels", value = "电压等级")
// private List<String> voltageLevels;
}
}

View File

@@ -40,6 +40,12 @@ public class RStatSubstationOrgVO implements Serializable {
@ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName;
/**
* 监测点类别ID、监测对象类型ID
*/
@ApiModelProperty(name = "measurement_type_class", value = "监测点类别ID、监测对象类型ID")
private String measurementTypeClass;
/**
* 生成数据的时间,每年统计一次
*/

View File

@@ -77,7 +77,7 @@ public class PwRStatOrgController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态指标超标明细表")
@ApiImplicitParam(name = "param", value = "超标明细参数", required = true)
public HttpResult<List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO>> getPwRMpPartHarmonicDetail(@RequestBody StatSubstationBizBaseParam param) {
public HttpResult<List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO>> getPwRMpPartHarmonicDetail(@RequestBody RStatOrgParam.PwRStatOrgParam param) {
String methodDescribe = getMethodDescribe("getPwRMpPartHarmonicDetail");
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe);

View File

@@ -7,7 +7,7 @@
select
org_no,
data_date,
measurement_type_class,
measurement_type_class as monitorSort,
all_count,
effective_measurement_average,
effective_measurement_accrued,
@@ -25,6 +25,12 @@
#{item}
</foreach>
</if>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND measurement_type_class IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
@@ -37,7 +43,7 @@
select
org_no,
data_date,
measurement_type_class,
measurement_type_class as monitorSort,
all_count,
effective_measurement_average,
effective_measurement_accrued,
@@ -55,6 +61,12 @@
#{item}
</foreach>
</if>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND measurement_type_class IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
@@ -67,12 +79,12 @@
select
org_no,
data_date,
measurement_type_class,
measurement_type_class as monitorSort,
all_count,
effective_measurement_average,
effective_measurement_accrued,
harmonic_measurement_average,
harmonic_measurement_accrued,
harmonic_measurement_average as overLimitMeasurementAverage,
harmonic_measurement_accrued as overLimitMeasurementAccrued,
harmonic_measurement_ratio_average,
TRUNCATE(harmonic_measurement_accrued / effective_measurement_accrued ,2) as harmonicMeasurementRatioAccrued,
TRUNCATE(over_day_accrued / effective_measurement_accrued ,2) as averageOverDay
@@ -85,6 +97,12 @@
#{item}
</foreach>
</if>
<if test="param != null and param.ids != null and param.ids.size > 0">
AND measurement_type_class IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>

View File

@@ -1,7 +1,11 @@
package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicD;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +17,16 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicD;
*/
public interface RStatHarmonicDMapper extends BaseMapper<RStatHarmonicD> {
/**
* 查询全部
* @param param
* @param dataType
* @param measurementId
* @param harmonicId
* @return
*/
List<RStatHarmonicD> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
@Param("dataType") String dataType,
@Param("measurementId") String measurementId,
@Param("harmonicId") String harmonicId);
}

View File

@@ -1,7 +1,11 @@
package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicM;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,5 +17,12 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicM;
*/
public interface RStatHarmonicMMapper extends BaseMapper<RStatHarmonicM> {
/**
* 查询监测点
* @param param
* @param dataType
* @return
*/
List<RStatHarmonicM> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
@Param("dataType") String dataType);
}

View File

@@ -1,7 +1,11 @@
package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +17,12 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
*/
public interface RStatHarmonicQMapper extends BaseMapper<RStatHarmonicQ> {
/**
* 查询监测点
* @param param
* @param dataType
* @return
*/
List<RStatHarmonicQ> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
@Param("dataType") String dataType);
}

View File

@@ -1,7 +1,12 @@
package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM;
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +18,16 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM;
*/
public interface RStatHarmonicVoltageMMapper extends BaseMapper<RStatHarmonicVoltageM> {
/**
* 监测点数据查询
* @param param
* @param dataType
* @param measurementId
* @param harmonicId
* @return
*/
List<RStatHarmonicVoltageM> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
@Param("dataType") String dataType,
@Param("measurementId") String measurementId,
@Param("harmonicId") String harmonicId);
}

View File

@@ -1,7 +1,11 @@
package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
@@ -13,4 +17,12 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicY;
*/
public interface RStatHarmonicYMapper extends BaseMapper<RStatHarmonicY> {
/**
* 监测点数据查询
* @param param
* @param dataType
* @return
*/
List<RStatHarmonicY> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
@Param("dataType") String dataType);
}

View File

@@ -27,6 +27,7 @@ public interface RStatOrgMMapper extends BaseMapper<RStatOrgM> {
* @return
*/
List<RStatSubstationOrgVO> getMonthRStatHarmonicOrgInfo(@Param("param") StatSubstationBizBaseParam param,
@Param("deptIds") List<String> deptIds,
@Param("dataType") String dataType);
/**

View File

@@ -27,6 +27,7 @@ public interface RStatOrgQMapper extends BaseMapper<RStatOrgQ> {
* @return
*/
List<RStatSubstationOrgVO> getQuarterRStatHarmonicOrgInfo(@Param("param") StatSubstationBizBaseParam param,
@Param("deptIds") List<String> deptIds,
@Param("dataType") String dataType);
/**

View File

@@ -23,10 +23,12 @@ public interface RStatOrgYMapper extends BaseMapper<RStatOrgY> {
/**
* 区域稳态指标超标分类统计表--年表数据
* @param param
* @param deptIds
* @param dataType
* @return
*/
List<RStatSubstationOrgVO> getYearRStatHarmonicOrgInfo(@Param("param") StatSubstationBizBaseParam param,
@Param("deptIds") List<String> deptIds,
@Param("dataType") String dataType);
/**

View File

@@ -12,5 +12,36 @@
<result column="over_limit_measurement_ratio" property="overLimitMeasurementRatio" />
<result column="data_type" property="dataType" />
</resultMap>
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.po.RStatHarmonicD">
SELECT
data_date,
measurement_type_class,
harmonic_type,
sum(over_limit_measurement) as overLimitMeasurement,
sum(over_limit_measurement_ratio) as overLimitMeasurementRatio
FROM
r_stat_harmonic_d
<where>
and data_Type=#{dataType}
and measurement_type_class=#{measurementId}
and harmonic_type=#{harmonicId}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY
data_date,
measurement_type_class,
harmonic_type
</select>
</mapper>

View File

@@ -15,5 +15,35 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" />
</resultMap>
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.po.RStatHarmonicM">
SELECT
measurement_type_class,
harmonic_type,
sum(over_limit_measurement_average)/count(*) as overLimitMeasurementAverage ,
sum(over_limit_measurement_accrued) as overLimitMeasurementAccrued,
sum(over_Day) as overDay,
sum(over_limit_measurement_ratio_average)/count(*) as overLimitMeasurementRatioAverage,
sum(over_limit_measurement_ratio_accrued) as overLimitMeasurementRatioAccrued
FROM
r_stat_harmonic_m
<where>
and data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY
measurement_type_class,
harmonic_type
</select>
</mapper>

View File

@@ -15,5 +15,35 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" />
</resultMap>
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.po.RStatHarmonicQ">
SELECT
measurement_type_class,
harmonic_type,
sum(over_limit_measurement_average)/count(*) as overLimitMeasurementAverage ,
sum(over_limit_measurement_accrued) as overLimitMeasurementAccrued,
sum(average_over_day)/count(*) as averageOverDay,
sum(over_limit_measurement_ratio_average)/count(*) as overLimitMeasurementRatioAverage,
sum(over_limit_measurement_ratio_accrued) as overLimitMeasurementRatioAccrued
FROM
r_stat_harmonic_q
<where>
and data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY
measurement_type_class,
harmonic_type
</select>
</mapper>

View File

@@ -16,5 +16,39 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" />
</resultMap>
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM">
SELECT
measurement_type_class,
harmonic_type,
voltage_type,
sum(over_limit_measurement_average)/count(*) as overLimitMeasurementAverage ,
sum(over_limit_measurement_accrued) as overLimitMeasurementAccrued,
sum(over_Day) as overDay,
sum(over_limit_measurement_ratio_average)/count(*) as overLimitMeasurementRatioAverage,
sum(over_limit_measurement_ratio_accrued) as overLimitMeasurementRatioAccrued
FROM
r_stat_harmonic_voltage_m
<where>
and data_Type=#{dataType}
and measurement_type_class=#{measurementId}
and harmonic_type=#{harmonicId}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY
voltage_type,
measurement_type_class,
harmonic_type
</select>
</mapper>

View File

@@ -15,5 +15,35 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" />
</resultMap>
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.po.RStatHarmonicY">
SELECT
measurement_type_class,
harmonic_type,
sum(over_limit_measurement_average)/count(*) as overLimitMeasurementAverage ,
sum(over_limit_measurement_accrued) as overLimitMeasurementAccrued,
sum(average_over_day)/count(*) as averageOverDay,
sum(over_limit_measurement_ratio_average)/count(*) as overLimitMeasurementRatioAverage,
sum(over_limit_measurement_ratio_accrued) as overLimitMeasurementRatioAccrued
FROM
r_stat_harmonic_y
<where>
and data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND org_no IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND data_date >= #{param.startTime}
</if>
<if test="param!=null and param.endTime != null and param.endTime != ''">
AND data_date &lt;= #{param.endTime}
</if>
</where>
GROUP BY
measurement_type_class,
harmonic_type
</select>
</mapper>

View File

@@ -29,6 +29,7 @@
<select id="getMonthRStatHarmonicOrgInfo" resultType="com.njcn.harmonic.pojo.vo.RStatSubstationOrgVO">
SELECT
rso.org_no AS orgNo,
rso.measurement_type_class,
rso.data_date AS dataDate,
rso.effective_measurement_average AS effectiveMeasurementAverage,
rso.effective_measurement_accrued AS effectiveMeasurementAccrued,
@@ -118,11 +119,17 @@
<where>
c.data_Type=#{dataType} and rso.data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND rso.org_no IN
AND rso.measurement_type_class IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="deptIds != null and deptIds.size > 0">
AND rso.org_no IN
<foreach collection='deptIds' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND rso.data_date >= #{param.startTime} AND c.data_date >= #{param.startTime}
</if>
@@ -163,7 +170,7 @@
<select id="getPwMonthRStatOrgIndex" resultType="com.njcn.harmonic.pojo.vo.PwRStatOrgVO">
select
org_no,
measurement_type_class,
measurement_type_class as monitorSort,
effective_measurement_accrued as allCount,
freq_pass_rate,
v_dev_pass_rate,

View File

@@ -29,6 +29,7 @@
<select id="getQuarterRStatHarmonicOrgInfo" resultType="com.njcn.harmonic.pojo.vo.RStatSubstationOrgVO">
SELECT
rso.org_no AS orgNo,
rso.measurement_type_class,
rso.data_date AS dataDate,
rso.effective_measurement_average AS effectiveMeasurementAverage,
rso.effective_measurement_accrued AS effectiveMeasurementAccrued,
@@ -118,11 +119,17 @@
<where>
c.data_Type=#{dataType} and rso.data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND rso.org_no IN
AND rso.measurement_type_class IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="deptIds != null and deptIds.size > 0">
AND rso.org_no IN
<foreach collection='deptIds' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND rso.data_date >= #{param.startTime} AND c.data_date >= #{param.startTime}
</if>
@@ -163,7 +170,7 @@
<select id="getPwQuarterRStatOrgIndex" resultType="com.njcn.harmonic.pojo.vo.PwRStatOrgVO">
select
org_no,
measurement_type_class,
measurement_type_class as monitorSort,
effective_measurement_accrued as allCount,
freq_pass_rate,
v_dev_pass_rate,

View File

@@ -29,6 +29,7 @@
<select id="getYearRStatHarmonicOrgInfo" resultType="com.njcn.harmonic.pojo.vo.RStatSubstationOrgVO">
SELECT
rso.org_no AS orgNo,
rso.measurement_type_class,
rso.data_date AS dataDate,
rso.effective_measurement_average AS effectiveMeasurementAverage,
rso.effective_measurement_accrued AS effectiveMeasurementAccrued,
@@ -118,11 +119,17 @@
<where>
c.data_Type=#{dataType} and rso.data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0">
AND rso.org_no IN
AND rso.measurement_type_class IN
<foreach collection='param.ids' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="deptIds != null and deptIds.size > 0">
AND rso.org_no IN
<foreach collection='deptIds' item='item' index="index" open='(' separator=',' close=')'>
#{item}
</foreach>
</if>
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND rso.data_date >= #{param.startTime} and c.data_date >= #{param.startTime}
</if>
@@ -163,7 +170,7 @@
<select id="getPwYearRStatOrgIndex" resultType="com.njcn.harmonic.pojo.vo.PwRStatOrgVO">
select
org_no,
measurement_type_class,
measurement_type_class as monitorSort,
effective_measurement_accrued as allCount,
freq_pass_rate,
v_dev_pass_rate,

View File

@@ -55,5 +55,5 @@ public interface PwRStatOrgService extends IService<RStatOrgQ> {
* @param param
* @return
*/
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(StatSubstationBizBaseParam param);
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param);
}

View File

@@ -19,7 +19,6 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

View File

@@ -11,7 +11,6 @@ import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.harmonic.mapper.distribution.PwRMpBenchmarkLevelQMapper;
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM;
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelQ;
import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO;
import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelQService;
@@ -20,7 +19,6 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

View File

@@ -11,7 +11,6 @@ import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
import com.njcn.harmonic.mapper.distribution.PwRMpBenchmarkLevelYMapper;
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelQ;
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelY;
import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO;
import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelYService;
@@ -20,7 +19,6 @@ import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;

View File

@@ -19,6 +19,9 @@ 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.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import org.apache.commons.compress.utils.Lists;
import org.springframework.stereotype.Service;
@@ -51,18 +54,16 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
private final RMpPassRateQMapper rMpPassRateQMapper;
private final RMpPassRateMMapper rMpPassRateMMapper;
private final RMpSurplusHarmonicDetailMMapper rMpSurplusHarmonicDetailMMapper;
private final DeptFeignClient deptFeignClient;
@Override
public List<RStatOrgVO.PwRStatOrgVO> getRStatHarmonicAll(StatSubstationBizBaseParam param) {
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
PwPmsMonitorParam pwPmsMonitorParam=new PwPmsMonitorParam();
pwPmsMonitorParam.setOrgId(param.getId());
pwPmsMonitorParam.setMonitorSort(param.getIds());
List<PwPmsMonitorDTO> data = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
//获取部门id集合
List<String> deptIds = data.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList());
Map<String, PwPmsMonitorDTO> deptMap = data.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getOrgId, Function.identity()));
//获取配网信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
List<RStatOrgVO.PwRStatOrgVO> info = new ArrayList<>();
@@ -89,9 +90,8 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
collect.forEach((key, value) -> {
if (deptMap.containsKey(key)) {
for (RStatOrgVO.PwRStatOrgVO org : value) {
PwPmsMonitorDTO deptDTO = deptMap.get(key);
org.setOrgName(deptDTO.getOrgName());
org.setMonitorSort(deptDTO.getMonitorSort());
DeptDTO deptDTO = deptMap.get(key);
org.setOrgName(deptDTO.getName());
newList.add(org);
}
}
@@ -104,16 +104,19 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
@Override
public List<PwRStatOrgVO> getRStatOrgIndex(StatSubstationBizBaseParam param) {
// 获取当前用户的部门的子部门信息
PwPmsMonitorParam pwPmsMonitorParam=new PwPmsMonitorParam();
pwPmsMonitorParam.setOrgId(param.getId());
pwPmsMonitorParam.setMonitorSort(param.getIds());
List<PwPmsMonitorDTO> data = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
// PwPmsMonitorParam pwPmsMonitorParam=new PwPmsMonitorParam();
// pwPmsMonitorParam.setOrgId(param.getId());
// pwPmsMonitorParam.setMonitorSort(param.getIds());
// List<PwPmsMonitorDTO> data = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//获取配网信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
List<PwRStatOrgVO> info=new ArrayList<>();
if (CollectionUtil.isNotEmpty(data)) {
if (CollectionUtil.isNotEmpty(deptDTOList)) {
// 过滤出部门id
List<String> deptIds = data.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
// 类型1年 2季度 3月份 4日
@@ -135,12 +138,10 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
}
}
//匹配名称
for (PwPmsMonitorDTO dto : data) {
for (DeptDTO dto : deptDTOList) {
for (PwRStatOrgVO vo : info) {
if (dto.getOrgId().equals(vo.getOrgNo())) {
vo.setOrgNo(dto.getOrgId());
vo.setMonitorSort(dto.getMonitorSort());
vo.setOrgName(dto.getOrgName());
if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
}
}
}
@@ -165,7 +166,7 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
pwPmsMonitorParam.setMonitorName(param.getMonitorName());
List<PwPmsMonitorDTO> monitorDTOList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
Map<String, PwPmsMonitorDTO> monitorDTOMap = monitorDTOList.stream().collect(
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity()));
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1,key2) ->key2));
if (CollectionUtil.isNotEmpty(monitorDTOList)) {
//获取最新过滤的监测点id
@@ -222,42 +223,33 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
@Override
public List<RStatSubstationOrg2VO.PwRStatSubstationOrgVO> getRStatSubstationOrg(StatSubstationBizBaseParam param) {
PwPmsMonitorParam pwPmsMonitorParam=new PwPmsMonitorParam();
//部门id
pwPmsMonitorParam.setOrgId(param.getId());
//监测点类别
pwPmsMonitorParam.setMonitorSort(param.getIds());
//获取配网监测点信息
List<PwPmsMonitorDTO> monitorDTOList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
Map<String, PwPmsMonitorDTO> monitorDTOMap = monitorDTOList.stream().collect(
Collectors.toMap(PwPmsMonitorDTO::getOrgId, Function.identity()));
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//初始化
List<RStatSubstationOrg2VO.PwRStatSubstationOrgVO> info = new ArrayList<>();
if (CollectionUtil.isNotEmpty(monitorDTOList)) {
if (CollectionUtil.isNotEmpty(deptDTOList)) {
// 根据暂态指标枚举查询暂态指标
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
List<RStatSubstationOrgVO> temp = new ArrayList<>();
// 过滤出部门id
List<String> deptIds = monitorDTOList.stream().map(PwPmsMonitorDTO::getOrgId).collect(Collectors.toList());
param.setIds(deptIds);
//获取配网信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
//选择数据时间范围
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, distributionData.getId());
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param,deptIds, distributionData.getId());
break;
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, distributionData.getId());
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param,deptIds,distributionData.getId());
break;
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, distributionData.getId());
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param,deptIds,distributionData.getId());
break;
default:
break;
@@ -267,12 +259,12 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
map.forEach((key, value) -> {
RStatSubstationOrg2VO.PwRStatSubstationOrgVO vo = new RStatSubstationOrg2VO.PwRStatSubstationOrgVO();
//获取部门信息
if (monitorDTOMap.containsKey(key)) {
PwPmsMonitorDTO pwPmsMonitorDTO = monitorDTOMap.get(key);
vo.setOrgName(pwPmsMonitorDTO.getOrgName());
vo.setMonitorSort(pwPmsMonitorDTO.getMonitorSort());
if (deptMap.containsKey(key)) {
DeptDTO deptDTO = deptMap.get(key);
vo.setOrgName(deptDTO.getName());
}
vo.setOrgNo(value.get(0).getOrgNo());
vo.setMonitorSort(value.get(0).getMeasurementTypeClass());
vo.setDataDate(value.get(0).getDataDate());
vo.setEffectiveMeasurementAverage(value.get(0).getEffectiveMeasurementAverage());
vo.setEffectiveMeasurementAccrued(value.get(0).getEffectiveMeasurementAccrued());
@@ -396,16 +388,20 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
}
@Override
public List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(StatSubstationBizBaseParam param) {
public List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param) {
PwPmsMonitorParam pwPmsMonitorParam=new PwPmsMonitorParam();
//部门id
pwPmsMonitorParam.setOrgId(param.getId());
//电压等级
pwPmsMonitorParam.setVoltageLevels(param.getVoltageLevels());
//监测点类别
pwPmsMonitorParam.setMonitorSort(param.getIds());
pwPmsMonitorParam.setMonitorSort(param.getMonitorSort());
//监测点名称
pwPmsMonitorParam.setMonitorName(param.getMonitorName());
//获取配网监测点信息
List<PwPmsMonitorDTO> pwPmsMonitorDTOS = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
Map<String, PwPmsMonitorDTO> pwPmsMonitorDTOMap = pwPmsMonitorDTOS.stream().collect(
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity()));
Collectors.toMap(PwPmsMonitorDTO::getMonitorId,Function.identity(),(key1, key2) -> key2));
if (CollectionUtil.isNotEmpty(pwPmsMonitorDTOS)) {
//获取监测点id

View File

@@ -17,7 +17,6 @@ import com.njcn.system.pojo.po.DictData;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

View File

@@ -233,7 +233,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
default:
break;
}
if (Integer.parseInt(contion) != 60 || Integer.parseInt(contion) != 61 || Integer.parseInt(contion) != 62) {
if (!Integer.valueOf(contion).equals(60) && !Integer.valueOf(contion).equals(61) && !Integer.valueOf(contion).equals(62)) {
stringBuilder.append(" and ").append(InfluxDBPublicParam.VALUETYPE + "='").append(valueTypeName).append("'");
}
String sql = "";

View File

@@ -8,7 +8,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
@@ -48,8 +47,6 @@ implements RMpBenchmarkLevelMService {
private final MonitorClient monitorClient;
private final PwMonitorClient pwMonitorClient;
@Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
//提取查询条件

View File

@@ -8,7 +8,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
@@ -48,8 +47,6 @@ implements RMpBenchmarkLevelQService {
private final MonitorClient monitorClient;
private final PwMonitorClient pwMonitorClient;
@Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
//提取查询条件

View File

@@ -8,7 +8,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
import com.njcn.device.pms.api.PwMonitorClient;
import com.njcn.device.pms.pojo.dto.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
@@ -48,8 +47,6 @@ implements RMpBenchmarkLevelYService {
private final MonitorClient monitorClient;
private final PwMonitorClient pwMonitorClient;
@Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
//提取查询条件

View File

@@ -6,13 +6,13 @@ import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicDMapper;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicMMapper;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicVoltageMMapper;
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicD;
import com.njcn.harmonic.pojo.po.RStatHarmonicM;
import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM;
@@ -28,7 +28,6 @@ import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
@@ -78,15 +77,13 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicM> list = rStatHarmonicMMapper.selectList(new LambdaQueryWrapper<RStatHarmonicM>()
.in(RStatHarmonicM::getOrgNo,deptIds)
.eq(RStatHarmonicM::getDataType, mainnetData.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicM::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicM::getDataDate, param.getEndTime()));
List<RStatHarmonicM> list = rStatHarmonicMMapper.selectInfoList(baseParam,mainnetData.getId());
//初始化指标类型(横向)
List<RArrayVO> arrayVOList = new ArrayList<>();
@@ -157,9 +154,9 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
@Override
public List<RIconVO> getRStatHarmonicIconVoltage(RStatHarmonicMParam param) {
//干扰数据类型(监测对象)
DictData measurementDate = null;
DictData measurementDate;
//指标对象类型属性
DictData harmonicDate = null;
DictData harmonicDate;
//判断是是否传入检测点信息值(电压)
if (StrUtil.isBlank(param.getStasisID()) && StrUtil.isBlank(param.getMonitorID())) {
//干扰数据类型(监测对象)
@@ -196,17 +193,15 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
List<RIconVO> arrayVOList = new ArrayList<>();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<RStatHarmonicVoltageM> rStatHarmonicVoltageMS = rStatHarmonicVoltageMMapper.selectList(new LambdaQueryWrapper<RStatHarmonicVoltageM>()
.in(RStatHarmonicVoltageM::getOrgNo,deptIds)
.eq(RStatHarmonicVoltageM::getDataType, mainnetData.getId())
.eq(RStatHarmonicVoltageM::getMeasurementTypeClass, measurementDate.getId())
.eq(RStatHarmonicVoltageM::getHarmonicType, harmonicDate.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicVoltageM::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicVoltageM::getDataDate, param.getEndTime())
);
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicVoltageM> rStatHarmonicVoltageMS = rStatHarmonicVoltageMMapper
.selectInfoList(baseParam,mainnetData.getId(), measurementDate.getId(),harmonicDate.getId());
//将数据转换为map进行便利
Map<String, RStatHarmonicVoltageM> voltageMMap = rStatHarmonicVoltageMS.stream()
.collect(Collectors.toMap(RStatHarmonicVoltageM::getVoltageType, Function.identity()));
@@ -230,6 +225,20 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
}
});
}
//处理主节点不存在的集合
List<DictData> notMeasurementList = devVoltageData.stream().filter(r -> !voltageMMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0f);
iconVO.setOverLimitMeasurementRatioAccrued(0f);
iconVO.setAverageOverDay(0f);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}
@@ -271,17 +280,15 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper<RStatHarmonicD>()
.in(RStatHarmonicD::getOrgNo,deptIds)
.eq(RStatHarmonicD::getDataType, mainnetData.getId())
.eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId())
.eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime())
);
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper
.selectInfoList(baseParam,mainnetData.getId(), measurementDate.getId(),harmonicDate.getId());
Map<LocalDate, List<RStatHarmonicD>> collect =
rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate));
@@ -339,15 +346,13 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
List<RArrayVO> arrayVOList = new ArrayList<>();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicM> list = rStatHarmonicMMapper.selectList(new LambdaQueryWrapper<RStatHarmonicM>()
.in(RStatHarmonicM::getOrgNo,deptIds)
.eq(RStatHarmonicM::getDataType, distributionData.getId())
.ge(param.getStartTime() != null, RStatHarmonicM::getDataDate, param.getStartTime())
.le(param.getEndTime() != null, RStatHarmonicM::getDataDate, param.getEndTime()));
List<RStatHarmonicM> list = rStatHarmonicMMapper.selectInfoList(baseParam,distributionData.getId());
//根据稳态指标分组
Map<String, List<RStatHarmonicM>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType));
@@ -437,17 +442,15 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper<RStatHarmonicD>()
.in(RStatHarmonicD::getOrgNo,deptIds)
.eq(RStatHarmonicD::getDataType, distributionData.getId())
.eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId())
.eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime())
);
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper
.selectInfoList(baseParam,distributionData.getId(), measurementDate.getId(),harmonicDate.getId());
Map<LocalDate, List<RStatHarmonicD>> collect =
rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate));

View File

@@ -198,6 +198,20 @@ public class RStatHarmonicOrgMServiceImpl extends ServiceImpl<StatHarmonicOrgMMa
}
});
}
//处理主节点不存在的集合
List<DeptDTO> notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode()))
.collect(Collectors.toList());
for (DeptDTO notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0.0F);
iconVO.setOverLimitMeasurementRatioAccrued(0.0F);
iconVO.setAverageOverDay(0.0F);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}
@@ -341,6 +355,20 @@ public class RStatHarmonicOrgMServiceImpl extends ServiceImpl<StatHarmonicOrgMMa
}
});
}
//处理主节点不存在的集合
List<DeptDTO> notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode()))
.collect(Collectors.toList());
for (DeptDTO notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0.0F);
iconVO.setOverLimitMeasurementRatioAccrued(0.0F);
iconVO.setAverageOverDay(0.0F);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}

View File

@@ -191,6 +191,20 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl<StatHarmonicOrgQMa
}
});
}
//处理主节点不存在的集合
List<DeptDTO> notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode()))
.collect(Collectors.toList());
for (DeptDTO notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0.0F);
iconVO.setOverLimitMeasurementRatioAccrued(0.0F);
iconVO.setAverageOverDay(0.0F);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}
@@ -327,6 +341,20 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl<StatHarmonicOrgQMa
}
});
}
//处理主节点不存在的集合
List<DeptDTO> notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode()))
.collect(Collectors.toList());
for (DeptDTO notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0.0F);
iconVO.setOverLimitMeasurementRatioAccrued(0.0F);
iconVO.setAverageOverDay(0.0F);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}

View File

@@ -192,6 +192,20 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
}
});
}
//处理主节点不存在的集合
List<DeptDTO> notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode()))
.collect(Collectors.toList());
for (DeptDTO notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0.0F);
iconVO.setOverLimitMeasurementRatioAccrued(0.0F);
iconVO.setAverageOverDay(0.0F);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}
@@ -328,6 +342,20 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
}
});
}
//处理主节点不存在的集合
List<DeptDTO> notMeasurementList = deptDTOList.stream().filter(r -> !voltageMMap.containsKey(r.getCode()))
.collect(Collectors.toList());
for (DeptDTO notData : notMeasurementList) {
RIconVO iconVO = new RIconVO();
iconVO.setRowName(notData.getName());
iconVO.setSort(notData.getSort());
iconVO.setOverLimitMeasurementAverage(0);
iconVO.setOverLimitMeasurementAccrued(0);
iconVO.setOverLimitMeasurementRatioAverage(0.0F);
iconVO.setOverLimitMeasurementRatioAccrued(0.0F);
iconVO.setAverageOverDay(0.0F);
arrayVOList.add(iconVO);
}
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList;
}

View File

@@ -2,11 +2,10 @@ package com.njcn.harmonic.service.majornetwork.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicQMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
@@ -17,7 +16,6 @@ import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -59,15 +57,13 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectList(new LambdaQueryWrapper<RStatHarmonicQ>()
.in(RStatHarmonicQ::getOrgNo,deptIds)
.eq(RStatHarmonicQ::getDataType, mainnetData.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicQ::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicQ::getDataDate, param.getEndTime()));
List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectInfoList(baseParam,mainnetData.getId());
//初始化指标类型(横向)
List<RArrayVO> arrayVOList = new ArrayList<>();
@@ -153,15 +149,13 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
//初始化指标类型(横向)
List<RArrayVO> arrayVOList = new ArrayList<>();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectList(new LambdaQueryWrapper<RStatHarmonicQ>()
.in(RStatHarmonicQ::getOrgNo,deptIds )
.eq(RStatHarmonicQ::getDataType, distributionData.getId())
.ge(param.getStartTime() != null, RStatHarmonicQ::getDataDate, param.getStartTime())
.le(param.getEndTime() != null, RStatHarmonicQ::getDataDate, param.getEndTime()));
List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectInfoList(baseParam,distributionData.getId());
//根据稳态指标分组
Map<String, List<RStatHarmonicQ>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType));

View File

@@ -2,11 +2,10 @@ package com.njcn.harmonic.service.majornetwork.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicYMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
@@ -58,20 +57,17 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicY>()
.in(RStatHarmonicY::getOrgNo,deptIds)
.eq(RStatHarmonicY::getDataType, mainnetData.getId())
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicY::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicY::getDataDate, param.getEndTime()));
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectInfoList(baseParam,mainnetData.getId());
//初始化指标类型(横向)
List<RArrayVO> arrayVOList = new ArrayList<>();
List<RStatHarmonicMVO> rm = new ArrayList<>();
for (DictData lineTypeDatum : interferenceSourceTypeData) {
RStatHarmonicMVO r = new RStatHarmonicMVO();
@@ -93,7 +89,9 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
arrayVOList.add(r);
}
//根据稳态指标分组
Map<String, List<RStatHarmonicY>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));
Map<String, List<RStatHarmonicY>> MeasurementTypeClassMap = list.stream().collect(
Collectors.groupingBy(RStatHarmonicY::getHarmonicType));
//重新生成数据结构
MeasurementTypeClassMap.forEach((key, value) -> {
if (lineTypeMap.containsKey(key)) {
@@ -112,7 +110,6 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
r.setOverDay(0);
b.add(r);
}
}
Map<String, RStatHarmonicMVO> linkedHashMap = new LinkedHashMap<>();
for (RStatHarmonicMVO harmonicMVO : b) {
@@ -154,15 +151,14 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
List<RArrayVO> arrayVOList = new ArrayList<>();
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//数据库查询
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicY>()
.in(RStatHarmonicY::getOrgNo, deptIds)
.eq(RStatHarmonicY::getDataType, distributionData.getId())
.ge(param.getStartTime() != null, RStatHarmonicY::getDataDate, param.getStartTime())
.le(param.getEndTime() != null, RStatHarmonicY::getDataDate, param.getEndTime()));
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectInfoList(baseParam,distributionData.getId());
//根据稳态指标分组
Map<String, List<RStatHarmonicY>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));

View File

@@ -81,11 +81,14 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
break;
}
if(CollectionUtil.isNotEmpty(temp)){
// 匹配单位名称
for (DeptDTO dto : data) {
for (RStatLoadTypeVO vo : temp) {
if (dto.getId().equals(vo.getOrgNo())) {
if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
vo.setSort(dto.getSort());
}
}
}
@@ -95,6 +98,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
map.forEach((key, value) -> {
RArrayVO arrayVO = new RArrayVO();
arrayVO.setRowName(value.get(0).getOrgName());
arrayVO.setSort(value.get(0).getSort());
//属性赋值监测点名称
for (DictData dictDatum : dictData) {
for (RStatLoadTypeVO rStatLoadTypeVO : value) {
@@ -133,6 +137,8 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
info.add(arrayVO);
});
}
info.sort(Comparator.comparing(r -> r.getSort()));
}
return info;
}
}

View File

@@ -122,7 +122,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
// 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//获取主网id信息
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
@@ -130,19 +130,20 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam,deptIds, mainnetData.getId());
break;
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam,deptIds, mainnetData.getId());
break;
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam,deptIds, mainnetData.getId());
break;
default:
break;
}
if(CollUtil.isNotEmpty(temp)){
Map<String, List<RStatSubstationOrgVO>> map = temp
.stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
map.forEach((key, value) -> {
@@ -269,12 +270,14 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
// 匹配单位名称
for (DeptDTO dto : data) {
for (RStatSubstationOrg2VO vo : info) {
if (dto.getId().equals(vo.getOrgNo())) {
if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
}
}
}
}
}
return info;
}
@@ -297,8 +300,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
dto.setPowerrIds(param.getIds());
//根据变电站分组
List<PmsMonitorDTO> pmsMonitorDTOS = monitorClient.getMonitorInfoListByCond(dto).getData();
Map<String, PmsMonitorDTO> pmsMonitorDTOMap = pmsMonitorDTOS.stream()
.collect(Collectors.toMap(PmsMonitorDTO::getPowerrId, Function.identity()));
//用于临时存储TestValue的getPowerrId(解决去重失效问题)
List<String> infoIds = new ArrayList<>();
Map<String, PmsMonitorDTO> pmsMonitorDTOMap = pmsMonitorDTOS.stream().filter(
v -> {
if(infoIds.contains(v.getPowerrId())){
return false;
}else {
infoIds.add(v.getPowerrId());
return true;
}
}).collect(Collectors.toMap(PmsMonitorDTO::getPowerrId, Function.identity()));
if (CollUtil.isNotEmpty(pmsMonitorDTOS)) {
//获取最新过滤的变电站id
@@ -374,8 +387,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
//匹配名称
for (DeptDTO dto : data) {
for (RStatOrgIndexVO vo : info) {
if (dto.getId().equals(vo.getOrgNo())) {
vo.setOrgNo(dto.getId());
if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
}
}

View File

@@ -51,7 +51,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
RSubstationIconVO rSubstationIconVO = new RSubstationIconVO();
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
//根据部门获取变电站信息
baseParam.setIds(this.powerrIdList(RequestUtil.getDeptIndex()));
baseParam.setIds(this.powerrIdList(param.getId()));
String string = param.getType().toString();
switch (string) {
//查询变电站稳态指标超标分布(按超标天数)-年数据
@@ -78,7 +78,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
//根据id进行筛选
baseParam.setIds(this.powerrIdList(RequestUtil.getDeptIndex()));
baseParam.setIds(this.powerrIdList(param.getId()));
String string = param.getType().toString();
switch (string) {
//查询变电站稳态指标平均超标天数-年数据

View File

@@ -5,9 +5,13 @@ import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatSubstationVoltageM;
import com.njcn.harmonic.mapper.majornetwork.RStatSubstationVoltageMMapper;
import com.njcn.harmonic.pojo.vo.RIconVO;
import com.njcn.harmonic.pojo.vo.RVoltageIconVO;
import com.njcn.harmonic.service.majornetwork.RStatSubstationVoltageMService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil;
@@ -16,6 +20,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@@ -32,14 +38,34 @@ public class RStatSubstationVoltageMServiceImpl extends ServiceImpl<RStatSubstat
private final RStatSubstationVoltageMMapper rStatSubstationVoltageMMapper;
private final DeptFeignClient deptFeignClient;
private final DicDataFeignClient dicDataFeignClient;
@Override
public List<RVoltageIconVO> getStatSubstationIcon(StatisticsBizBaseParam param) {
//获取当前部门下所有部门信息
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(RequestUtil.getDeptIndex(), WebUtil.filterDeptType()).getData();
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
return rStatSubstationVoltageMMapper.getStatSubstationIcon(baseParam);
//获取电压信息
List<DictData> devVoltageData = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
//查询数据库
List<RVoltageIconVO> statSubstationIcon = rStatSubstationVoltageMMapper.getStatSubstationIcon(baseParam);
Map<String, RVoltageIconVO> devVoltageMap = statSubstationIcon.stream()
.collect(Collectors.toMap(RVoltageIconVO::getSubstationVoltage, Function.identity()));
//处理主节点不存在的集合
List<DictData> notMeasurementList = devVoltageData.stream().filter(r -> !devVoltageMap.containsKey(r.getId()))
.collect(Collectors.toList());
for (DictData notData : notMeasurementList) {
RVoltageIconVO iconVO = new RVoltageIconVO();
iconVO.setSubstationVoltage(notData.getId());
iconVO.setSubstationCount(0);
iconVO.setHarmonicCount(0);
statSubstationIcon.add(iconVO);
}
return statSubstationIcon;
}
}

View File

@@ -46,7 +46,7 @@ logging:
xxl:
job:
admin:
addresses: http://198.120.100.195:10217/job-admin
addresses: http://@service.server.url@:10217/job-admin
# addresses: http://192.168.1.29:10217/job-admin
#执行器通讯TOKEN [选填]:非空时启用;
accessToken:

View File

@@ -91,38 +91,38 @@
</executions>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>${docker.operate}</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--<serverId>36dockerHarbor</serverId>-->
<registryUrl>http://${docker.repostory}</registryUrl>
<!-- 镜像名称 -->
<imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}</imageName>
<imageTags>
<imageTag>latest</imageTag>
</imageTags>
<dockerHost>${docker.url}</dockerHost>
<dockerDirectory>${basedir}/</dockerDirectory>
<resources>
<resource>
<targetPath>/ROOT</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- <plugin>-->
<!-- <groupId>com.spotify</groupId>-->
<!-- <artifactId>docker-maven-plugin</artifactId>-->
<!-- <version>1.0.0</version>-->
<!-- <executions>-->
<!-- <execution>-->
<!-- <id>build-image</id>-->
<!-- <phase>${docker.operate}</phase>-->
<!-- <goals>-->
<!-- <goal>build</goal>-->
<!-- </goals>-->
<!-- </execution>-->
<!-- </executions>-->
<!-- <configuration>-->
<!-- &lt;!&ndash;<serverId>36dockerHarbor</serverId>&ndash;&gt;-->
<!-- <registryUrl>http://${docker.repostory}</registryUrl>-->
<!-- &lt;!&ndash; 镜像名称 &ndash;&gt;-->
<!-- <imageName>${docker.repostory}/${docker.registry.name}/${project.artifactId}</imageName>-->
<!-- <imageTags>-->
<!-- <imageTag>latest</imageTag>-->
<!-- </imageTags>-->
<!-- <dockerHost>${docker.url}</dockerHost>-->
<!-- <dockerDirectory>${basedir}/</dockerDirectory>-->
<!-- <resources>-->
<!-- <resource>-->
<!-- <targetPath>/ROOT</targetPath>-->
<!-- <directory>${project.build.directory}</directory>-->
<!-- <include>${project.build.finalName}.jar</include>-->
<!-- </resource>-->
<!-- </resources>-->
<!-- </configuration>-->
<!-- </plugin>-->
</plugins>
</build>

View File

@@ -329,7 +329,12 @@
<module filepath="$PROJECT_DIR$/pqs-advance/pqs-advance.iml"/>
<module filepath="$PROJECT_DIR$/pqs-prepare/event-prepare/event-prepare.iml"/>
<module filepath="$PROJECT_DIR$/pqs-prepare/harmonic-prepare/harmonic-prepare.iml"/>
<module filepath="$PROJECT_DIR$/pqs-prepare/prepare-api/prepare-api.iml"/>
<module filepath="$PROJECT_DIR$/pqs-prepare/pqs-prepare.iml"/>
<module filepath="$PROJECT_DIR$/pqs-process/process-api/process-api.iml"/>
<module filepath="$PROJECT_DIR$/pqs-process/process-boot/process-boot.iml"/>
<module filepath="$PROJECT_DIR$/pqs-process/pqs-process.iml"/>
<module filepath="$PROJECT_DIR$/pqs-algorithm/pqs-algorithm.iml"/>
</modules>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK" assert-keyword="true" jdk-15="true"/>