合并代码

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

View File

@@ -51,4 +51,7 @@ public class RMpDevEvaluateDetailVO implements Serializable {
@ApiModelProperty(name = "assessment", value = "综合评价") @ApiModelProperty(name = "assessment", value = "综合评价")
private Double assessment; 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 = "存在数据质量问题监测点同比") @ApiModelProperty(name = "problemYearOnYear", value = "存在数据质量问题监测点同比")
private String problemYearOnYear; 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; 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.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
@@ -98,10 +99,19 @@ public class PowerClientController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPowerClientList") @PostMapping("/getPowerClientList")
@ApiOperation("获取用电用户列表") @ApiOperation("获取用电用户列表")
@ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true) public HttpResult<List<PowerClient>> getPowerClientList() {
public HttpResult<List<PowerClient>> getPowerClientList(@RequestBody BaseParam baseParam) {
String methodDescribe = getMethodDescribe("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); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
} }

View File

@@ -1,6 +1,7 @@
package com.njcn.device.pms.controller.majornetwork; 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.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType; import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.common.LogEnum;
@@ -98,10 +99,19 @@ public class PowerGenerationUserController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getPowerGenerationUserList") @PostMapping("/getPowerGenerationUserList")
@ApiOperation("获取发电用户列表") @ApiOperation("获取发电用户列表")
@ApiImplicitParam(name = "baseParam", value = "基本查询体", required = true) public HttpResult<List<PowerGenerationUser>> getPowerGenerationUserList() {
public HttpResult<List<PowerGenerationUser>> getPowerGenerationUserList(@RequestBody BaseParam baseParam) {
String methodDescribe = getMethodDescribe("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); 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

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -61,15 +61,15 @@ implements PwRStatAreaAlarmCountMService{
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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集合 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 //获取配网id
String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData().getId(); String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData().getId();
LambdaQueryWrapper<RStatAreaAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RStatAreaAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime //条件组装: 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) .ge(StringUtils.isNotBlank(startTime), RStatAreaAlarmCountM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RStatAreaAlarmCountM::getDataDate, endTime) .le(StringUtils.isNotBlank(endTime), RStatAreaAlarmCountM::getDataDate, endTime)
.eq(RStatAreaAlarmCountM::getDataType, dataType); .eq(RStatAreaAlarmCountM::getDataType, dataType);

View File

@@ -56,9 +56,9 @@ public class RDnOperatingIndexMServiceImpl extends ServiceImpl<RDnOperatingIndex
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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集合 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 //获取监测点类别字典id
String monitorSortOne = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONE_LINE.getCode()).getData().getId(); // I类 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类 String monitorSortThree = dicDataFeignClient.getDicDataByCode(DicDataEnum.THREE_LINE.getCode()).getData().getId(); // III类
HashMap<String, Object> condMap = new HashMap<>(); HashMap<String, Object> condMap = new HashMap<>();
condMap.put("orgIdList", orgNoList); condMap.put("orgIdList", orgCodeList);
condMap.put("startTime", startTime); condMap.put("startTime", startTime);
condMap.put("endTime", endTime); condMap.put("endTime", endTime);
condMap.put("monitorSortOne", monitorSortOne); condMap.put("monitorSortOne", monitorSortOne);

View File

@@ -49,9 +49,9 @@ public class RDnOperatingYServiceImpl extends ServiceImpl<RDnOperatingYMapper, R
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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集合 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 //获取监测点类别字典id
String monitorSortOne = dicDataFeignClient.getDicDataByCode(DicDataEnum.ONE_LINE.getCode()).getData().getId(); // I类 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类 String monitorSortThree = dicDataFeignClient.getDicDataByCode(DicDataEnum.THREE_LINE.getCode()).getData().getId(); // III类
HashMap<String, Object> condMap = new HashMap<>(); HashMap<String, Object> condMap = new HashMap<>();
condMap.put("orgIdList", orgNoList); condMap.put("orgIdList", orgCodeList);
condMap.put("startTime", startTime); condMap.put("startTime", startTime);
condMap.put("endTime", endTime); condMap.put("endTime", endTime);
condMap.put("monitorSortOne", monitorSortOne); condMap.put("monitorSortOne", monitorSortOne);

View File

@@ -79,14 +79,14 @@ public class RStatPwAlarmCountWServiceImpl extends ServiceImpl<RStatPwAlarmCount
if (CollUtil.isEmpty(deptDTOList)) { if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位code集合
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集合 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<>(); Map<String, Object> condMap = new HashMap<>();
condMap.put("orgIdList", orgNoList); condMap.put("orgIdList", orgCodeList);
condMap.put("startTime", startTime); condMap.put("startTime", startTime);
condMap.put("endTime", endTime); condMap.put("endTime", endTime);
List<RStatPwAlarmCountWVO> list = this.baseMapper.getRStatPwAlarmCountVOList(condMap); List<RStatPwAlarmCountWVO> list = this.baseMapper.getRStatPwAlarmCountVOList(condMap);

View File

@@ -1,5 +1,6 @@
package com.njcn.device.pms.service.majornetwork; package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.param.PowerClientParam; import com.njcn.device.pms.pojo.param.PowerClientParam;
import com.njcn.device.pms.pojo.po.PowerClient; import com.njcn.device.pms.pojo.po.PowerClient;
@@ -54,6 +55,14 @@ public interface IPowerClientService extends IService<PowerClient> {
*/ */
PowerClient getPowerClientById(String powerClientId); PowerClient getPowerClientById(String powerClientId);
/**
* 查询用电用户列表
* @author cdf
* @date 2022/10/25
* @return boolean
*/
List<PowerClient> getPowerClientList();
/** /**
* 查询用电用户列表 * 查询用电用户列表
* @author cdf * @author cdf
@@ -61,6 +70,6 @@ public interface IPowerClientService extends IService<PowerClient> {
* @param baseParam 基础参数 * @param baseParam 基础参数
* @return boolean * @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; package com.njcn.device.pms.service.majornetwork;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.device.pms.pojo.param.PowerGenerationUserParam; import com.njcn.device.pms.pojo.param.PowerGenerationUserParam;
import com.njcn.device.pms.pojo.po.PowerGenerationUser; import com.njcn.device.pms.pojo.po.PowerGenerationUser;
@@ -57,9 +58,17 @@ public interface IPowerGenerationUserService extends IService<PowerGenerationUse
* 查询发电用户列表 * 查询发电用户列表
* @author cdf * @author cdf
* @date 2022/10/25 * @date 2022/10/25
* @return boolean
*/
List<PowerGenerationUser> getPowerGenerationUserList();
/**
* 分页查询发电用户列表
* @author cdf
* @date 2022/10/25
* @param baseParam 基础参数 * @param baseParam 基础参数
* @return boolean * @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.pojo.vo.RStatTargetCheckDataVO;
import com.njcn.device.pms.service.majornetwork.DataQualityCheckService; import com.njcn.device.pms.service.majornetwork.DataQualityCheckService;
import com.njcn.device.pms.service.majornetwork.IPmsGeneralDeviceService; 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.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -38,6 +40,8 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService {
private final RStatTargetCheckDataMapper rStatTargetCheckDataMapper; 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<String> deptIdList = data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList());
// 创建集合封装查询数据 // 创建集合封装查询数据
List<RStatAccountCheckDataVO> result = new ArrayList<>(); List<RStatAccountCheckDataVO> result = new ArrayList<>();
// 获取主网字典id
String mainnetPoint = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
// 获取主网数据质量-台帐类数据质量核查 // 获取主网数据质量-台帐类数据质量核查
switch (param.getType()) { switch (param.getType()) {
// 年 // 年
case 1: case 1:
result = rStatAccountCheckDataMapper.getYearInfo(param, deptIdList); result = rStatAccountCheckDataMapper.getRStatAccountCheckDataYearInfo(param, deptIdList, mainnetPoint);
break; break;
// 季 // 季
case 2: case 2:
result = rStatAccountCheckDataMapper.getSeasonInfo(param, deptIdList); result = rStatAccountCheckDataMapper.getRStatAccountCheckDataSeasonInfo(param, deptIdList, mainnetPoint);
break; break;
// 月 // 月
case 3: case 3:
result = rStatAccountCheckDataMapper.getMonthInfo(param, deptIdList); result = rStatAccountCheckDataMapper.getRStatAccountCheckDataMonthInfo(param, deptIdList, mainnetPoint);
break; break;
default: default:
break; break;
@@ -99,21 +105,23 @@ public class DataQualityCheckServiceImpl implements DataQualityCheckService {
return Collections.emptyList(); return Collections.emptyList();
} }
List<String> deptIdList = data.stream().map(PmsGeneralDeviceDTO::getIndex).collect(Collectors.toList()); 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<>(); List<RStatTargetCheckDataVO> result = new ArrayList<>();
// 获取主网数据质量-台帐类数据质量核查 // 获取主网数据质量-台帐类数据质量核查
switch (param.getType()) { switch (param.getType()) {
// 年 // 年
case 1: case 1:
result = rStatTargetCheckDataMapper.getYearInfo(param, deptIdList); result = rStatTargetCheckDataMapper.getRStatTargetCheckDataYearInfo(param, deptIdList, mainnetPoint);
break; break;
// 季 // 季
case 2: case 2:
result = rStatTargetCheckDataMapper.getSeasonInfo(param, deptIdList); result = rStatTargetCheckDataMapper.getRStatTargetCheckDataSeasonInfo(param, deptIdList, mainnetPoint);
break; break;
// 月 // 月
case 3: case 3:
result = rStatTargetCheckDataMapper.getMonthInfo(param, deptIdList); result = rStatTargetCheckDataMapper.getRStatTargetCheckDataMonthInfo(param, deptIdList, mainnetPoint);
break; break;
default: default:
break; break;

View File

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

View File

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

View File

@@ -1,10 +1,15 @@
package com.njcn.device.pms.service.majornetwork.impl; 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.mapper.majornetwork.PowerClientMapper;
import com.njcn.device.pms.pojo.param.PowerClientParam; import com.njcn.device.pms.pojo.param.PowerClientParam;
import com.njcn.device.pms.pojo.po.PowerClient; import com.njcn.device.pms.pojo.po.PowerClient;
import com.njcn.device.pms.service.majornetwork.IPowerClientService; import com.njcn.device.pms.service.majornetwork.IPowerClientService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.param.BaseParam;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -48,7 +53,21 @@ public class PowerClientServiceImpl extends ServiceImpl<PowerClientMapper, Power
} }
@Override @Override
public List<PowerClient> getPowerClientList(BaseParam baseParam) { public List<PowerClient> getPowerClientList() {
return this.list(); 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())) .or(StrUtil.isNotBlank(baseParam.getSearchValue()))
.like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerDistributionarea::getPowerrName,baseParam.getSearchValue()) .like(StrUtil.isNotBlank(baseParam.getSearchValue()),PowerDistributionarea::getPowerrName,baseParam.getSearchValue())
.or(StrUtil.isNotBlank(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); 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) { public boolean add(PowerDistributionareaParam newParam) {
checkName(newParam,true); checkName(newParam,true);
Dept dept = deptFeignClient.getDeptById(newParam.getOrgId()).getData(); Dept dept = deptFeignClient.getDeptByCode(newParam.getOrgId()).getData();
if(Objects.isNull(dept)){ if(Objects.isNull(dept)){
throw new BusinessException(PmsDeviceResponseEnum.ORG_ITEM_EMPTY); 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)){ if(Objects.isNull(opDept)){
throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY); throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY);
} }

View File

@@ -1,10 +1,15 @@
package com.njcn.device.pms.service.majornetwork.impl; 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.mapper.majornetwork.PowerGenerationUserMapper;
import com.njcn.device.pms.pojo.param.PowerGenerationUserParam; import com.njcn.device.pms.pojo.param.PowerGenerationUserParam;
import com.njcn.device.pms.pojo.po.PowerGenerationUser; import com.njcn.device.pms.pojo.po.PowerGenerationUser;
import com.njcn.device.pms.service.majornetwork.IPowerGenerationUserService; import com.njcn.device.pms.service.majornetwork.IPowerGenerationUserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.web.factory.PageFactory;
import com.njcn.web.pojo.param.BaseParam; import com.njcn.web.pojo.param.BaseParam;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -47,7 +52,21 @@ public class PowerGenerationUserServiceImpl extends ServiceImpl<PowerGenerationU
} }
@Override @Override
public List<PowerGenerationUser> getPowerGenerationUserList(BaseParam baseParam) { public List<PowerGenerationUser> getPowerGenerationUserList() {
return this.list(); 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.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -73,14 +74,12 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
if (CollUtil.isEmpty(deptDTOList)) { if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位code集合
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));
//查询单位下的终端数据 //查询单位下的终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(PmsTerminal::getOrgId, orgNoList); terminalWrapper.in(PmsTerminal::getOrgId, orgCodeList);
List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper); List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) { if (CollUtil.isEmpty(terminalList)) {
return new ArrayList<>(); return new ArrayList<>();
@@ -89,7 +88,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList()); List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList());
//将终端信息转为map集合 key: 终端id value: 终端实体 //将终端信息转为map集合 key: 终端id value: 终端实体
Map<String, PmsTerminal> terminalMap = terminalList.stream().collect(Collectors.toMap(PmsTerminal::getId, terminal -> terminal)); 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)); Map<String, List<PmsTerminal>> terminalListMapByOrgId = terminalList.stream().collect(Collectors.groupingBy(PmsTerminal::getOrgId));
//查询终端评价详情表数据【r_mp_dev_evaluate_detail】 //查询终端评价详情表数据【r_mp_dev_evaluate_detail】
@@ -100,12 +99,13 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<RMpDevEvaluateDetail> list = this.list(businessWrapper); List<RMpDevEvaluateDetail> list = this.list(businessWrapper);
//封装返回数据 //封装返回数据
DecimalFormat df = new DecimalFormat("###.00");
List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>(); List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>();
terminalListMapByOrgId.forEach((key, terminalListByOrg) -> { terminalListMapByOrgId.forEach((key, terminalListByOrg) -> {
RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO(); RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO();
rMpDevEvaluateDetailVO.setDataDate(startTime); //日期(前端传递的时间) rMpDevEvaluateDetailVO.setDataDate(startTime); //日期(前端传递的时间)
rMpDevEvaluateDetailVO.setOrgId(key); //单位id rMpDevEvaluateDetailVO.setOrgId(key); //单位id(字段是id实际数据是单位code)
rMpDevEvaluateDetailVO.setOrgName(terminalListByOrg.get(0).getOrgName()); //单位名称 rMpDevEvaluateDetailVO.setOrgName(terminalListByOrg.get(0).getOrgName()); //单位名称
//终端有效接入率 //终端有效接入率
@@ -121,7 +121,10 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
.mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0); .mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0);
rMpDevEvaluateDetailVO.setDevDataRate(devDataRate); 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); resultList.add(rMpDevEvaluateDetailVO);
}); });
@@ -150,7 +153,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>();
terminalWrapper.in(CollUtil.isNotEmpty(manufactureIdList), PmsTerminal::getManufacture, manufactureIdList) terminalWrapper.in(CollUtil.isNotEmpty(manufactureIdList), PmsTerminal::getManufacture, manufactureIdList)
.isNotNull(CollUtil.isEmpty(manufactureIdList), PmsTerminal::getManufacture) .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); List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) { if (CollUtil.isEmpty(terminalList)) {
@@ -171,6 +174,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<RMpDevEvaluateDetail> list = this.list(businessWrapper); List<RMpDevEvaluateDetail> list = this.list(businessWrapper);
//封装返回数据 //封装返回数据
DecimalFormat df = new DecimalFormat("###.00");
List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>(); List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>();
terminalListMapByManufacture.forEach((key, terminalListByManufacture) -> { terminalListMapByManufacture.forEach((key, terminalListByManufacture) -> {
RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO(); RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO();
@@ -191,7 +195,10 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
.mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0); .mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0);
rMpDevEvaluateDetailVO.setDevDataRate(devDataRate); 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); resultList.add(rMpDevEvaluateDetailVO);
}); });
@@ -215,7 +222,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
//查询终端厂商下的终端数据 //查询终端厂商下的终端数据
LambdaQueryWrapper<PmsTerminal> terminalWrapper = new LambdaQueryWrapper<>(); 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); List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
if (CollUtil.isEmpty(terminalList)) { if (CollUtil.isEmpty(terminalList)) {
@@ -236,6 +243,7 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
List<RMpDevEvaluateDetail> list = this.list(businessWrapper); List<RMpDevEvaluateDetail> list = this.list(businessWrapper);
//封装返回数据 //封装返回数据
DecimalFormat df = new DecimalFormat("###.00");
List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>(); List<RMpDevEvaluateDetailVO> resultList = new ArrayList<>();
terminalListMapByModel.forEach((key, terminalListByModel) -> { terminalListMapByModel.forEach((key, terminalListByModel) -> {
RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO(); RMpDevEvaluateDetailVO rMpDevEvaluateDetailVO = new RMpDevEvaluateDetailVO();
@@ -256,7 +264,10 @@ public class RMpDevEvaluateDetailServiceImpl extends ServiceImpl<RMpDevEvaluateD
.mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0); .mapToDouble(RMpDevEvaluateDetail::getDevDataRate).average().orElse(0);
rMpDevEvaluateDetailVO.setDevDataRate(devDataRate); 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); resultList.add(rMpDevEvaluateDetailVO);
}); });

View File

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

View File

@@ -72,10 +72,10 @@ implements RMpMonitorAlarmCountMService {
if (CollUtil.isEmpty(deptDTOList)) { if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位code集合
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集合 key: 单位code 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));
//获取电压等级的字典 //获取电压等级的字典
List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData(); List<DictData> voltageLevelList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
@@ -90,7 +90,7 @@ implements RMpMonitorAlarmCountMService {
//根据条件查询单位下面的所有监测点 //根据条件查询单位下面的所有监测点
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); 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 .eq(StringUtils.isNotBlank(monitorObjectType), Monitor::getMonitorObjectType, monitorObjectType) //监测点对象类型id
.in(CollUtil.isNotEmpty(voltageLevelParamList), Monitor::getVoltageLevel, voltageLevelParamList) //电压等级id .in(CollUtil.isNotEmpty(voltageLevelParamList), Monitor::getVoltageLevel, voltageLevelParamList) //电压等级id
.like(StringUtils.isNotBlank(monitorName), Monitor::getName, monitorName); //监测点名称 .like(StringUtils.isNotBlank(monitorName), Monitor::getName, monitorName); //监测点名称

View File

@@ -47,14 +47,14 @@ public class ROperatingIndexMServiceImpl extends ServiceImpl<ROperatingIndexMMap
if (CollUtil.isEmpty(deptDTOList)) { if (CollUtil.isEmpty(deptDTOList)) {
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位code集合
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集合 key: 单位code 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<ROperatingIndexM> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<ROperatingIndexM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(ROperatingIndexM::getOrgNo, orgNoList) lambdaQueryWrapper.in(ROperatingIndexM::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), ROperatingIndexM::getDataDate, startTime) .ge(StringUtils.isNotBlank(startTime), ROperatingIndexM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), ROperatingIndexM::getDataDate, endTime); .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, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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集合 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<ROperatingIndexY> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.in(ROperatingIndexY::getOrgNo, orgNoList) lambdaQueryWrapper.in(ROperatingIndexY::getOrgNo, orgCodeList)
.ge(StringUtils.isNotBlank(startTime), ROperatingIndexY::getDataDate, startTime) .ge(StringUtils.isNotBlank(startTime), ROperatingIndexY::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), ROperatingIndexY::getDataDate, endTime); .le(StringUtils.isNotBlank(endTime), ROperatingIndexY::getDataDate, endTime);
//查询数据 //查询数据

View File

@@ -61,15 +61,15 @@ implements RStatAreaAlarmCountMService{
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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集合 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 //获取主网id
String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId(); String dataType = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData().getId();
LambdaQueryWrapper<RStatAreaAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RStatAreaAlarmCountM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime //条件组装: 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) .ge(StringUtils.isNotBlank(startTime), RStatAreaAlarmCountM::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RStatAreaAlarmCountM::getDataDate, endTime) .le(StringUtils.isNotBlank(endTime), RStatAreaAlarmCountM::getDataDate, endTime)
.eq(RStatAreaAlarmCountM::getDataType, dataType); .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.param.UniversalFrontEndParam;
import com.njcn.device.pms.pojo.po.RStatBusbarHarmonicYPO; import com.njcn.device.pms.pojo.po.RStatBusbarHarmonicYPO;
import com.njcn.device.pms.pojo.vo.RStatBusbarHarmonicYVO; 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 com.njcn.device.pms.service.majornetwork.RStatBusbarHarmonicService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -37,9 +39,9 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl<RStatBusbarHarmo
private final RStatBusbarHarmonicMapper rStatBusbarHarmonicMapper; 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 pmsDeviceInfoParam = new PmsDeviceInfoParam();
pmsDeviceInfoParam.setDeptIndex(param.getId()); pmsDeviceInfoParam.setDeptIndex(param.getId());
pmsDeviceInfoParam.setStatisticalType(new SimpleDTO()); pmsDeviceInfoParam.setStatisticalType(new SimpleDTO());
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam).getData(); List<PmsGeneralDeviceDTO> data = iPmsGeneralDeviceService.getPmsDeviceInfoWithInOrg(pmsDeviceInfoParam);
if (CollUtil.isEmpty(data)) { if (CollUtil.isEmpty(data)) {
return Collections.emptyList(); return Collections.emptyList();
} }
@@ -97,7 +99,7 @@ public class RStatBusbarHarmonicServiceImpl extends ServiceImpl<RStatBusbarHarmo
List<String> busbarIds = result.stream().map(RStatBusbarHarmonicYVO::getBusbarId).collect(Collectors.toList()); List<String> busbarIds = result.stream().map(RStatBusbarHarmonicYVO::getBusbarId).collect(Collectors.toList());
PmsGeneratrixParam pmsGeneratrixParam = new PmsGeneratrixParam(); PmsGeneratrixParam pmsGeneratrixParam = new PmsGeneratrixParam();
pmsGeneratrixParam.setGeneratrixIds(busbarIds); pmsGeneratrixParam.setGeneratrixIds(busbarIds);
List<GeneratrixAndPowerStationDTO> dtoS = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam).getData(); List<GeneratrixAndPowerStationDTO> dtoS = pmsGeneratrixService.getGeneratrixAndPowerStationInfo(pmsGeneratrixParam);
for (GeneratrixAndPowerStationDTO dto : dtoS) { for (GeneratrixAndPowerStationDTO dto : dtoS) {
for (RStatBusbarHarmonicYVO vo : result) { for (RStatBusbarHarmonicYVO vo : result) {

View File

@@ -57,11 +57,11 @@ public class RStatDevSignalDServiceImpl extends ServiceImpl<RStatDevSignalDMappe
throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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<>(); 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); List<PmsTerminal> terminalList = iTerminalService.list(terminalWrapper);
//提取终端id //提取终端id
List<String> terminalIdList = terminalList.stream().map(PmsTerminal::getId).collect(Collectors.toList()); 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, "部门不存在"); throw new BusinessException(CommonResponseEnum.NO_DATA, "部门不存在");
} }
//单位id集合 //单位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集合 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<>(); LambdaQueryWrapper<RStatZwAlarmCountW> lambdaQueryWrapper = new LambdaQueryWrapper<>();
//条件组装: where org_no in (orgNoList) and data_date >= startTime and data_date <= endTime //条件组装: 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) .ge(StringUtils.isNotBlank(startTime), RStatZwAlarmCountW::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RStatZwAlarmCountW::getDataDate, endTime); .le(StringUtils.isNotBlank(endTime), RStatZwAlarmCountW::getDataDate, endTime);
//查询告警统计(周)集合 //查询告警统计(周)集合
@@ -141,15 +141,20 @@ implements RStatZwAlarmCountWService {
LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<Monitor> monitorLambdaQueryWrapper = new LambdaQueryWrapper<>();
monitorLambdaQueryWrapper.eq(Monitor::getOrgId, id); monitorLambdaQueryWrapper.eq(Monitor::getOrgId, id);
List<String> orgMeasurementPointIdList = iMonitorService.list(monitorLambdaQueryWrapper).stream().map(Monitor::getId).collect(Collectors.toList()); 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<>(); LambdaQueryWrapper<RMpTargetWarnD> targetWarnWrapper = new LambdaQueryWrapper<>();
targetWarnWrapper.select(RMpTargetWarnD::getMeasurementPointId) targetWarnWrapper.select(RMpTargetWarnD::getMeasurementPointId)
.in(RMpTargetWarnD::getMeasurementPointId, orgMeasurementPointIdList) .in(RMpTargetWarnD::getMeasurementPointId, orgMeasurementPointIdList)
.ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTime) .ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTime)
.le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTime) .le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTime)
.groupBy(RMpTargetWarnD::getMeasurementPointId) .groupBy(RMpTargetWarnD::getMeasurementPointId)
.or() //拼接or条件 //拼接or条件
.eq(RMpTargetWarnD::getIsEffective, 1) //是否是有效接入监测点(0:否 1:是) .or(qw ->
qw.eq(RMpTargetWarnD::getIsEffective, 1) //是否是有效接入监测点(0:否 1:是)
.eq(RMpTargetWarnD::getIsHarmonic, 1) //是否是稳态超标监测点(0:否 1:是) .eq(RMpTargetWarnD::getIsHarmonic, 1) //是否是稳态超标监测点(0:否 1:是)
.eq(RMpTargetWarnD::getIsEvent, 1) //是否是发生暂态的监测点(0:否 1:是) .eq(RMpTargetWarnD::getIsEvent, 1) //是否是发生暂态的监测点(0:否 1:是)
.eq(RMpTargetWarnD::getIsWarn, 1) //是否是告警监测点数(0:否 1:是) .eq(RMpTargetWarnD::getIsWarn, 1) //是否是告警监测点数(0:否 1:是)
@@ -160,6 +165,7 @@ implements RStatZwAlarmCountWService {
.eq(RMpTargetWarnD::getIsFlickerWarn, 1) //闪变是否告警(0:否 1:是) .eq(RMpTargetWarnD::getIsFlickerWarn, 1) //闪变是否告警(0:否 1:是)
.eq(RMpTargetWarnD::getIsSagWarn, 1) //电压暂降是否告警(0:否 1:是) .eq(RMpTargetWarnD::getIsSagWarn, 1) //电压暂降是否告警(0:否 1:是)
.eq(RMpTargetWarnD::getIsInterruptWarn, 1) //短时中断是否告警(0:否 1:是) .eq(RMpTargetWarnD::getIsInterruptWarn, 1) //短时中断是否告警(0:否 1:是)
)
.having("count(measurement_point_id) >= {0}", 4); .having("count(measurement_point_id) >= {0}", 4);
// LambdaQueryWrapper<RMpPwAlarmDetailD> alarmDetailWrapper = new LambdaQueryWrapper<>(); // LambdaQueryWrapper<RMpPwAlarmDetailD> alarmDetailWrapper = new LambdaQueryWrapper<>();
@@ -186,17 +192,14 @@ implements RStatZwAlarmCountWService {
int monthDay = Month.of(DateUtil.month(date)).getLastDay(DateUtil.isLeapYear(DateUtil.year(date))); int monthDay = Month.of(DateUtil.month(date)).getLastDay(DateUtil.isLeapYear(DateUtil.year(date)));
//根据单位下监测点idList、月份条件查询监测点告警信息 //根据单位下监测点idList、月份条件查询监测点告警信息
List<RMpTargetWarnD> targetWarnDList; //告警超过四次 List<RMpTargetWarnD> targetWarnDList;
if (CollUtil.isEmpty(measurementPointIdList)) {
targetWarnDList = new ArrayList<>(); targetWarnWrapper.clear();
} else { //组装查询条件:
targetWarnWrapper.clear(); targetWarnWrapper.in(RMpTargetWarnD::getMeasurementPointId, orgMeasurementPointIdList)
//组装查询条件: .ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTimeOfMonth)
targetWarnWrapper.in(RMpTargetWarnD::getMeasurementPointId, orgMeasurementPointIdList) .le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTimeOfMonth);
.ge(StringUtils.isNotBlank(startTime), RMpTargetWarnD::getDataDate, startTimeOfMonth) targetWarnDList = rMpTargetWarnDService.list(targetWarnWrapper);
.le(StringUtils.isNotBlank(endTime), RMpTargetWarnD::getDataDate, endTimeOfMonth);
targetWarnDList = rMpTargetWarnDService.list(targetWarnWrapper);
}
//使用stream的分组方法Collectors.partitioningBy())对告警记录和没有告警的记录进行分组 true有告警的记录 false没有告警的记录 //使用stream的分组方法Collectors.partitioningBy())对告警记录和没有告警的记录进行分组 true有告警的记录 false没有告警的记录
// Map<Boolean, List<RMpTargetWarnD>> booleanListMap = targetWarnDList.stream().collect(Collectors.groupingBy( // 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) { public boolean add(PmsTerminalParam terminalParam) {
checkName(terminalParam,true); checkName(terminalParam,true);
Dept dept = deptFeignClient.getDeptById(terminalParam.getOrgId()).getData(); Dept dept = deptFeignClient.getDeptByCode(terminalParam.getOrgId()).getData();
if(Objects.isNull(dept)){ if(Objects.isNull(dept)){
throw new BusinessException(PmsDeviceResponseEnum.ORG_ITEM_EMPTY); 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)){ if(Objects.isNull(opDept)){
throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY); throw new BusinessException(PmsDeviceResponseEnum.Operation_ITEM_EMPTY);
} }

View File

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

View File

@@ -40,6 +40,12 @@ public class RStatSubstationOrgVO implements Serializable {
@ApiModelProperty(name = "orgName", value = "单位名称") @ApiModelProperty(name = "orgName", value = "单位名称")
private String orgName; 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) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@ApiOperation("稳态指标超标明细表") @ApiOperation("稳态指标超标明细表")
@ApiImplicitParam(name = "param", value = "超标明细参数", required = true) @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"); String methodDescribe = getMethodDescribe("getPwRMpPartHarmonicDetail");
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param); List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe);

View File

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

View File

@@ -1,7 +1,11 @@
package com.njcn.harmonic.mapper.majornetwork; package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicD; import com.njcn.harmonic.pojo.po.RStatHarmonicD;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@@ -13,4 +17,16 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicD;
*/ */
public interface RStatHarmonicDMapper extends BaseMapper<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; package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicM; import com.njcn.harmonic.pojo.po.RStatHarmonicM;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@@ -13,5 +17,12 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicM;
*/ */
public interface RStatHarmonicMMapper extends BaseMapper<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; package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicQ; import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@@ -13,4 +17,12 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
*/ */
public interface RStatHarmonicQMapper extends BaseMapper<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; package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.RStatHarmonicVoltageM;
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@@ -13,4 +18,16 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM;
*/ */
public interface RStatHarmonicVoltageMMapper extends BaseMapper<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; package com.njcn.harmonic.mapper.majornetwork;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatHarmonicY; import com.njcn.harmonic.pojo.po.RStatHarmonicY;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* <p> * <p>
@@ -13,4 +17,12 @@ import com.njcn.harmonic.pojo.po.RStatHarmonicY;
*/ */
public interface RStatHarmonicYMapper extends BaseMapper<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 * @return
*/ */
List<RStatSubstationOrgVO> getMonthRStatHarmonicOrgInfo(@Param("param") StatSubstationBizBaseParam param, List<RStatSubstationOrgVO> getMonthRStatHarmonicOrgInfo(@Param("param") StatSubstationBizBaseParam param,
@Param("deptIds") List<String> deptIds,
@Param("dataType") String dataType); @Param("dataType") String dataType);
/** /**

View File

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

View File

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

View File

@@ -12,5 +12,36 @@
<result column="over_limit_measurement_ratio" property="overLimitMeasurementRatio" /> <result column="over_limit_measurement_ratio" property="overLimitMeasurementRatio" />
<result column="data_type" property="dataType" /> <result column="data_type" property="dataType" />
</resultMap> </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> </mapper>

View File

@@ -15,5 +15,35 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" /> <result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" /> <result column="data_type" property="dataType" />
</resultMap> </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> </mapper>

View File

@@ -15,5 +15,35 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" /> <result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" /> <result column="data_type" property="dataType" />
</resultMap> </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> </mapper>

View File

@@ -16,5 +16,39 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" /> <result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" /> <result column="data_type" property="dataType" />
</resultMap> </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> </mapper>

View File

@@ -15,5 +15,35 @@
<result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" /> <result column="over_limit_measurement_ratio_accrued" property="overLimitMeasurementRatioAccrued" />
<result column="data_type" property="dataType" /> <result column="data_type" property="dataType" />
</resultMap> </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> </mapper>

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -233,7 +233,7 @@ public class HistoryResultServiceImpl implements HistoryResultService {
default: default:
break; 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("'"); stringBuilder.append(" and ").append(InfluxDBPublicParam.VALUETYPE + "='").append(valueTypeName).append("'");
} }
String sql = ""; 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.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; 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.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
@@ -48,8 +47,6 @@ implements RMpBenchmarkLevelMService {
private final MonitorClient monitorClient; private final MonitorClient monitorClient;
private final PwMonitorClient pwMonitorClient;
@Override @Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) { 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.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; 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.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
@@ -48,8 +47,6 @@ implements RMpBenchmarkLevelQService {
private final MonitorClient monitorClient; private final MonitorClient monitorClient;
private final PwMonitorClient pwMonitorClient;
@Override @Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) { 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.common.pojo.exception.BusinessException;
import com.njcn.device.pms.api.MonitorClient; import com.njcn.device.pms.api.MonitorClient;
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient; 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.PmsGeneralDeviceDTO;
import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO; import com.njcn.device.pms.pojo.dto.PmsMonitorInfoDTO;
import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam; import com.njcn.device.pms.pojo.param.PmsDeviceInfoParam;
@@ -48,8 +47,6 @@ implements RMpBenchmarkLevelYService {
private final MonitorClient monitorClient; private final MonitorClient monitorClient;
private final PwMonitorClient pwMonitorClient;
@Override @Override
public List<RMpBenchmarkLevelVO> getRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) { 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.lang.Assert;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicDMapper; import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicDMapper;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicMMapper; import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicMMapper;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicVoltageMMapper; import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicVoltageMMapper;
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam; 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.RStatHarmonicD;
import com.njcn.harmonic.pojo.po.RStatHarmonicM; import com.njcn.harmonic.pojo.po.RStatHarmonicM;
import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM; 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.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.WebUtil; import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows; 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()); 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>() List<RStatHarmonicM> list = rStatHarmonicMMapper.selectInfoList(baseParam,mainnetData.getId());
.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<RArrayVO> arrayVOList = new ArrayList<>(); List<RArrayVO> arrayVOList = new ArrayList<>();
@@ -157,9 +154,9 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
@Override @Override
public List<RIconVO> getRStatHarmonicIconVoltage(RStatHarmonicMParam param) { 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())) { 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<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<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<RStatHarmonicVoltageM> rStatHarmonicVoltageMS = rStatHarmonicVoltageMMapper.selectList(new LambdaQueryWrapper<RStatHarmonicVoltageM>() StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
.in(RStatHarmonicVoltageM::getOrgNo,deptIds) baseParam.setIds(deptIds);
.eq(RStatHarmonicVoltageM::getDataType, mainnetData.getId()) //数据库查询
.eq(RStatHarmonicVoltageM::getMeasurementTypeClass, measurementDate.getId()) List<RStatHarmonicVoltageM> rStatHarmonicVoltageMS = rStatHarmonicVoltageMMapper
.eq(RStatHarmonicVoltageM::getHarmonicType, harmonicDate.getId()) .selectInfoList(baseParam,mainnetData.getId(), measurementDate.getId(),harmonicDate.getId());
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicVoltageM::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicVoltageM::getDataDate, param.getEndTime())
);
//将数据转换为map进行便利 //将数据转换为map进行便利
Map<String, RStatHarmonicVoltageM> voltageMMap = rStatHarmonicVoltageMS.stream() Map<String, RStatHarmonicVoltageM> voltageMMap = rStatHarmonicVoltageMS.stream()
.collect(Collectors.toMap(RStatHarmonicVoltageM::getVoltageType, Function.identity())); .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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; return arrayVOList;
} }
@@ -271,17 +280,15 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); 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<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper<RStatHarmonicD>() StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
.in(RStatHarmonicD::getOrgNo,deptIds) baseParam.setIds(deptIds);
.eq(RStatHarmonicD::getDataType, mainnetData.getId()) //数据库查询
.eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId()) List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper
.eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId()) .selectInfoList(baseParam,mainnetData.getId(), measurementDate.getId(),harmonicDate.getId());
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime())
);
Map<LocalDate, List<RStatHarmonicD>> collect = Map<LocalDate, List<RStatHarmonicD>> collect =
rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate)); rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate));
@@ -339,15 +346,13 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
List<RArrayVO> arrayVOList = new ArrayList<>(); 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()); 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>() List<RStatHarmonicM> list = rStatHarmonicMMapper.selectInfoList(baseParam,distributionData.getId());
.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()));
//根据稳态指标分组 //根据稳态指标分组
Map<String, List<RStatHarmonicM>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType)); 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(); 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<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper<RStatHarmonicD>() StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
.in(RStatHarmonicD::getOrgNo,deptIds) baseParam.setIds(deptIds);
.eq(RStatHarmonicD::getDataType, distributionData.getId()) //数据库查询
.eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId()) List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper
.eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId()) .selectInfoList(baseParam,distributionData.getId(), measurementDate.getId(),harmonicDate.getId());
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime())
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime())
);
Map<LocalDate, List<RStatHarmonicD>> collect = Map<LocalDate, List<RStatHarmonicD>> collect =
rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate)); 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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; 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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; 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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; 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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; 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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; 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())); arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
return arrayVOList; 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.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicQMapper; 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.po.RStatHarmonicQ;
import com.njcn.harmonic.pojo.vo.RArrayVO; import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; 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.system.pojo.po.DictData;
import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil;
import com.njcn.web.utils.WebUtil; import com.njcn.web.utils.WebUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -59,15 +57,13 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); 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<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>() List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectInfoList(baseParam,mainnetData.getId());
.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<RArrayVO> arrayVOList = new ArrayList<>(); List<RArrayVO> arrayVOList = new ArrayList<>();
@@ -153,15 +149,13 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
//初始化指标类型(横向) //初始化指标类型(横向)
List<RArrayVO> arrayVOList = new ArrayList<>(); 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()); 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>() List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectInfoList(baseParam,distributionData.getId());
.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()));
//根据稳态指标分组 //根据稳态指标分组
Map<String, List<RStatHarmonicQ>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType)); 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.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; 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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.param.StatisticsBizBaseParam; import com.njcn.common.pojo.param.StatisticsBizBaseParam;
import com.njcn.harmonic.mapper.majornetwork.RStatHarmonicYMapper; 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.po.RStatHarmonicY;
import com.njcn.harmonic.pojo.vo.RArrayVO; import com.njcn.harmonic.pojo.vo.RArrayVO;
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO; 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(); 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<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>() List<RStatHarmonicY> list = rStatHarmonicYMapper.selectInfoList(baseParam,mainnetData.getId());
.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<RArrayVO> arrayVOList = new ArrayList<>(); List<RArrayVO> arrayVOList = new ArrayList<>();
List<RStatHarmonicMVO> rm = new ArrayList<>(); List<RStatHarmonicMVO> rm = new ArrayList<>();
for (DictData lineTypeDatum : interferenceSourceTypeData) { for (DictData lineTypeDatum : interferenceSourceTypeData) {
RStatHarmonicMVO r = new RStatHarmonicMVO(); RStatHarmonicMVO r = new RStatHarmonicMVO();
@@ -93,7 +89,9 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
arrayVOList.add(r); 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) -> { MeasurementTypeClassMap.forEach((key, value) -> {
if (lineTypeMap.containsKey(key)) { if (lineTypeMap.containsKey(key)) {
@@ -112,7 +110,6 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
r.setOverDay(0); r.setOverDay(0);
b.add(r); b.add(r);
} }
} }
Map<String, RStatHarmonicMVO> linkedHashMap = new LinkedHashMap<>(); Map<String, RStatHarmonicMVO> linkedHashMap = new LinkedHashMap<>();
for (RStatHarmonicMVO harmonicMVO : b) { for (RStatHarmonicMVO harmonicMVO : b) {
@@ -154,15 +151,14 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
List<RArrayVO> arrayVOList = new ArrayList<>(); 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()); 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>() List<RStatHarmonicY> list = rStatHarmonicYMapper.selectInfoList(baseParam,distributionData.getId());
.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()));
//根据稳态指标分组 //根据稳态指标分组
Map<String, List<RStatHarmonicY>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType)); Map<String, List<RStatHarmonicY>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));

View File

@@ -81,57 +81,63 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
break; break;
} }
// 匹配单位名称
for (DeptDTO dto : data) {
for (RStatLoadTypeVO vo : temp) {
if (dto.getId().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
}
}
}
//根据部门id进行分组
Map<String, List<RStatLoadTypeVO>> map = temp
.stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getOrgNo));
map.forEach((key, value) -> {
RArrayVO arrayVO = new RArrayVO();
arrayVO.setRowName(value.get(0).getOrgName());
//属性赋值监测点名称
for (DictData dictDatum : dictData) {
for (RStatLoadTypeVO rStatLoadTypeVO : value) {
if (dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())) {
rStatLoadTypeVO.setLoadName(dictDatum.getName());
rStatLoadTypeVO.setSort(dictDatum.getSort());
if(CollectionUtil.isNotEmpty(temp)){
// 匹配单位名称
for (DeptDTO dto : data) {
for (RStatLoadTypeVO vo : temp) {
if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgName(dto.getName());
vo.setSort(dto.getSort());
} }
} }
} }
//获取差集(数据在字典里面没有的集合) //根据部门id进行分组
Map<String, List<RStatLoadTypeVO>> listMap = value.stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getLoadType)); Map<String, List<RStatLoadTypeVO>> map = temp
List<DictData> differenceList = dictData.stream().filter(r -> !listMap.containsKey(r.getId())) .stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getOrgNo));
.collect(Collectors.toList()); map.forEach((key, value) -> {
for (DictData data4 : differenceList) { RArrayVO arrayVO = new RArrayVO();
RStatLoadTypeVO vo = new RStatLoadTypeVO(); arrayVO.setRowName(value.get(0).getOrgName());
vo.setSort(data4.getSort()); arrayVO.setSort(value.get(0).getSort());
vo.setOrgNo(key); //属性赋值监测点名称
vo.setOrgName(value.get(0).getOrgName()); for (DictData dictDatum : dictData) {
vo.setLoadType(data4.getId()); for (RStatLoadTypeVO rStatLoadTypeVO : value) {
vo.setLoadName(data4.getName()); if (dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())) {
vo.setVAverage(0.0f); rStatLoadTypeVO.setLoadName(dictDatum.getName());
vo.setVAccrued(0.0f); rStatLoadTypeVO.setSort(dictDatum.getSort());
vo.setIAverage(0.0f);
vo.setIAccrued(0.0f); }
vo.setUnbalanceAverage(0.0f); }
vo.setUnbalanceAccrued(0.0f); }
vo.setINegAverage(0.0f); //获取差集(数据在字典里面没有的集合)
vo.setINegAccrued(0.0f); Map<String, List<RStatLoadTypeVO>> listMap = value.stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getLoadType));
vo.setFlickerAverage(0.0f); List<DictData> differenceList = dictData.stream().filter(r -> !listMap.containsKey(r.getId()))
vo.setFlickerAccrued(0.0f); .collect(Collectors.toList());
value.add(vo); for (DictData data4 : differenceList) {
} RStatLoadTypeVO vo = new RStatLoadTypeVO();
value.sort(Comparator.comparing(r -> r.getSort())); vo.setSort(data4.getSort());
arrayVO.setColumns(value); vo.setOrgNo(key);
info.add(arrayVO); vo.setOrgName(value.get(0).getOrgName());
}); vo.setLoadType(data4.getId());
vo.setLoadName(data4.getName());
vo.setVAverage(0.0f);
vo.setVAccrued(0.0f);
vo.setIAverage(0.0f);
vo.setIAccrued(0.0f);
vo.setUnbalanceAverage(0.0f);
vo.setUnbalanceAccrued(0.0f);
vo.setINegAverage(0.0f);
vo.setINegAccrued(0.0f);
vo.setFlickerAverage(0.0f);
vo.setFlickerAccrued(0.0f);
value.add(vo);
}
value.sort(Comparator.comparing(r -> r.getSort()));
arrayVO.setColumns(value);
info.add(arrayVO);
});
}
info.sort(Comparator.comparing(r -> r.getSort()));
} }
return info; return info;
} }

View File

@@ -122,7 +122,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
// 过滤出部门id // 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList()); List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds);
//获取主网id信息 //获取主网id信息
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
@@ -130,150 +130,153 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
switch (param.getType().toString()) { switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR: case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表 // 获取年区域暂态指标分类统计表
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam, mainnetData.getId()); temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam,deptIds, mainnetData.getId());
break; break;
case BizParamConstant.STAT_BIZ_QUARTER: case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表 // 获取季区域暂态指标分类统计表
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam, mainnetData.getId()); temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam,deptIds, mainnetData.getId());
break; break;
case BizParamConstant.STAT_BIZ_MONTH: case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表 // 获取月区域暂态指标分类统计表
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam, mainnetData.getId()); temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam,deptIds, mainnetData.getId());
break; break;
default: default:
break; break;
} }
Map<String, List<RStatSubstationOrgVO>> map = temp if(CollUtil.isNotEmpty(temp)){
.stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo)); Map<String, List<RStatSubstationOrgVO>> map = temp
map.forEach((key, value) -> { .stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
RStatSubstationOrg2VO vo = new RStatSubstationOrg2VO(); map.forEach((key, value) -> {
vo.setOrgNo(value.get(0).getOrgNo()); RStatSubstationOrg2VO vo = new RStatSubstationOrg2VO();
vo.setOrgName(value.get(0).getOrgName()); vo.setOrgNo(value.get(0).getOrgNo());
vo.setDataDate(value.get(0).getDataDate()); vo.setOrgName(value.get(0).getOrgName());
vo.setEffectiveMeasurementAverage(value.get(0).getEffectiveMeasurementAverage()); vo.setDataDate(value.get(0).getDataDate());
vo.setEffectiveMeasurementAccrued(value.get(0).getEffectiveMeasurementAccrued()); vo.setEffectiveMeasurementAverage(value.get(0).getEffectiveMeasurementAverage());
vo.setHarmonicMeasurementAverage(value.get(0).getHarmonicMeasurementAverage()); vo.setEffectiveMeasurementAccrued(value.get(0).getEffectiveMeasurementAccrued());
vo.setHarmonicMeasurementAccrued(value.get(0).getHarmonicMeasurementAccrued()); vo.setHarmonicMeasurementAverage(value.get(0).getHarmonicMeasurementAverage());
vo.setHarmonicMeasurementRatioAverage(value.get(0).getHarmonicMeasurementRatioAverage()); vo.setHarmonicMeasurementAccrued(value.get(0).getHarmonicMeasurementAccrued());
vo.setHarmonicMeasurementRatioAccrued(value.get(0).getHarmonicMeasurementRatioAccrued()); vo.setHarmonicMeasurementRatioAverage(value.get(0).getHarmonicMeasurementRatioAverage());
//遍历赋值 vo.setHarmonicMeasurementRatioAccrued(value.get(0).getHarmonicMeasurementRatioAccrued());
for (RStatSubstationOrgVO orgVO : value) { //遍历赋值
for (DictData eventStati : eventStatis) { for (RStatSubstationOrgVO orgVO : value) {
if (eventStati.getId().equals(orgVO.getHarmonicType())) { for (DictData eventStati : eventStatis) {
if (eventStati.getCode().equals(RStatSubstationOrg2VO.FREQUENCY_DEV)) { if (eventStati.getId().equals(orgVO.getHarmonicType())) {
vo.setTAverage(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.FREQUENCY_DEV)) {
vo.setTAccrued(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage(orgVO.getChainAverage()); vo.setOAccrued(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued(orgVO.getChainAccrued()); vo.setChainAverage(orgVO.getChainAverage());
vo.setSameAverage(orgVO.getSameAverage()); vo.setChainAccrued(orgVO.getChainAccrued());
vo.setSameAccrued(orgVO.getSameAccrued()); vo.setSameAverage(orgVO.getSameAverage());
vo.setAverageOverDay(orgVO.getAverageOverDay()); vo.setSameAccrued(orgVO.getSameAccrued());
} vo.setAverageOverDay(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.VOLTAGE_DEV)) { }
vo.setTAverage1(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.VOLTAGE_DEV)) {
vo.setTAccrued1(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage1(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage1(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued1(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued1(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage1(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage1(orgVO.getChainAverage()); vo.setOAccrued1(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued1(orgVO.getChainAccrued()); vo.setChainAverage1(orgVO.getChainAverage());
vo.setSameAverage1(orgVO.getSameAverage()); vo.setChainAccrued1(orgVO.getChainAccrued());
vo.setSameAccrued1(orgVO.getSameAccrued()); vo.setSameAverage1(orgVO.getSameAverage());
vo.setAverageOverDay1(orgVO.getAverageOverDay()); vo.setSameAccrued1(orgVO.getSameAccrued());
} vo.setAverageOverDay1(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.FLICKER)) { }
vo.setTAverage2(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.FLICKER)) {
vo.setTAccrued2(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage2(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage2(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued2(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued2(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage2(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage2(orgVO.getChainAverage()); vo.setOAccrued2(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued2(orgVO.getChainAccrued()); vo.setChainAverage2(orgVO.getChainAverage());
vo.setSameAverage2(orgVO.getSameAverage()); vo.setChainAccrued2(orgVO.getChainAccrued());
vo.setSameAccrued2(orgVO.getSameAccrued()); vo.setSameAverage2(orgVO.getSameAverage());
vo.setAverageOverDay2(orgVO.getAverageOverDay()); vo.setSameAccrued2(orgVO.getSameAccrued());
} vo.setAverageOverDay2(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.HARMONIC_VOLTAGE)) { }
vo.setTAverage3(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.HARMONIC_VOLTAGE)) {
vo.setTAccrued3(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage3(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage3(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued3(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued3(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage3(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage3(orgVO.getChainAverage()); vo.setOAccrued3(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued3(orgVO.getChainAccrued()); vo.setChainAverage3(orgVO.getChainAverage());
vo.setSameAverage3(orgVO.getSameAverage()); vo.setChainAccrued3(orgVO.getChainAccrued());
vo.setSameAccrued3(orgVO.getSameAccrued()); vo.setSameAverage3(orgVO.getSameAverage());
vo.setAverageOverDay3(orgVO.getAverageOverDay()); vo.setSameAccrued3(orgVO.getSameAccrued());
} vo.setAverageOverDay3(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.HARMONIC_CURRENT)) { }
vo.setTAverage4(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.HARMONIC_CURRENT)) {
vo.setTAccrued4(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage4(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage4(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued4(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued4(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage4(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage4(orgVO.getChainAverage()); vo.setOAccrued4(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued4(orgVO.getChainAccrued()); vo.setChainAverage4(orgVO.getChainAverage());
vo.setSameAverage4(orgVO.getSameAverage()); vo.setChainAccrued4(orgVO.getChainAccrued());
vo.setSameAccrued4(orgVO.getSameAccrued()); vo.setSameAverage4(orgVO.getSameAverage());
vo.setAverageOverDay4(orgVO.getAverageOverDay()); vo.setSameAccrued4(orgVO.getSameAccrued());
} vo.setAverageOverDay4(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.INTERHARMONIC_VOLTAGE)) { }
vo.setTAverage5(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.INTERHARMONIC_VOLTAGE)) {
vo.setTAccrued5(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage5(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage5(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued5(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued5(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage5(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage5(orgVO.getChainAverage()); vo.setOAccrued5(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued5(orgVO.getChainAccrued()); vo.setChainAverage5(orgVO.getChainAverage());
vo.setSameAverage5(orgVO.getSameAverage()); vo.setChainAccrued5(orgVO.getChainAccrued());
vo.setSameAccrued5(orgVO.getSameAccrued()); vo.setSameAverage5(orgVO.getSameAverage());
vo.setAverageOverDay5(orgVO.getAverageOverDay()); vo.setSameAccrued5(orgVO.getSameAccrued());
} vo.setAverageOverDay5(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.PHASE_VOLTAGE)) { }
vo.setTAverage6(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.PHASE_VOLTAGE)) {
vo.setTAccrued6(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage6(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage6(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued6(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued6(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage6(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage6(orgVO.getChainAverage()); vo.setOAccrued6(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued6(orgVO.getChainAccrued()); vo.setChainAverage6(orgVO.getChainAverage());
vo.setSameAverage6(orgVO.getSameAverage()); vo.setChainAccrued6(orgVO.getChainAccrued());
vo.setSameAccrued6(orgVO.getSameAccrued()); vo.setSameAverage6(orgVO.getSameAverage());
vo.setAverageOverDay6(orgVO.getAverageOverDay()); vo.setSameAccrued6(orgVO.getSameAccrued());
} vo.setAverageOverDay6(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.NEG_CURRENT)) { }
vo.setTAverage7(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.NEG_CURRENT)) {
vo.setTAccrued7(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage7(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage7(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued7(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued7(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage7(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage7(orgVO.getChainAverage()); vo.setOAccrued7(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued7(orgVO.getChainAccrued()); vo.setChainAverage7(orgVO.getChainAverage());
vo.setSameAverage7(orgVO.getSameAverage()); vo.setChainAccrued7(orgVO.getChainAccrued());
vo.setSameAccrued7(orgVO.getSameAccrued()); vo.setSameAverage7(orgVO.getSameAverage());
vo.setAverageOverDay7(orgVO.getAverageOverDay()); vo.setSameAccrued7(orgVO.getSameAccrued());
} vo.setAverageOverDay7(orgVO.getAverageOverDay());
if (eventStati.getCode().equals(RStatSubstationOrg2VO.TOTAL_INDICATOR)) { }
vo.setTAverage8(orgVO.getOverLimitMeasurementAverage()); if (eventStati.getCode().equals(RStatSubstationOrg2VO.TOTAL_INDICATOR)) {
vo.setTAccrued8(orgVO.getOverLimitMeasurementAccrued()); vo.setTAverage8(orgVO.getOverLimitMeasurementAverage());
vo.setOAverage8(orgVO.getOverLimitMeasurementRatioAverage()); vo.setTAccrued8(orgVO.getOverLimitMeasurementAccrued());
vo.setOAccrued8(orgVO.getOverLimitMeasurementRatioAccrued()); vo.setOAverage8(orgVO.getOverLimitMeasurementRatioAverage());
vo.setChainAverage8(orgVO.getChainAverage()); vo.setOAccrued8(orgVO.getOverLimitMeasurementRatioAccrued());
vo.setChainAccrued8(orgVO.getChainAccrued()); vo.setChainAverage8(orgVO.getChainAverage());
vo.setSameAverage8(orgVO.getSameAverage()); vo.setChainAccrued8(orgVO.getChainAccrued());
vo.setSameAccrued8(orgVO.getSameAccrued()); vo.setSameAverage8(orgVO.getSameAverage());
vo.setAverageOverDay8(orgVO.getAverageOverDay()); vo.setSameAccrued8(orgVO.getSameAccrued());
vo.setAverageOverDay8(orgVO.getAverageOverDay());
}
} }
} }
} }
} info.add(vo);
info.add(vo); });
}); // 匹配单位名称
// 匹配单位名称 for (DeptDTO dto : data) {
for (DeptDTO dto : data) { for (RStatSubstationOrg2VO vo : info) {
for (RStatSubstationOrg2VO vo : info) { if (dto.getCode().equals(vo.getOrgNo())) {
if (dto.getId().equals(vo.getOrgNo())) { vo.setOrgName(dto.getName());
vo.setOrgName(dto.getName()); }
} }
} }
} }
} }
return info; return info;
} }
@@ -297,8 +300,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
dto.setPowerrIds(param.getIds()); dto.setPowerrIds(param.getIds());
//根据变电站分组 //根据变电站分组
List<PmsMonitorDTO> pmsMonitorDTOS = monitorClient.getMonitorInfoListByCond(dto).getData(); 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)) { if (CollUtil.isNotEmpty(pmsMonitorDTOS)) {
//获取最新过滤的变电站id //获取最新过滤的变电站id
@@ -374,8 +387,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
//匹配名称 //匹配名称
for (DeptDTO dto : data) { for (DeptDTO dto : data) {
for (RStatOrgIndexVO vo : info) { for (RStatOrgIndexVO vo : info) {
if (dto.getId().equals(vo.getOrgNo())) { if (dto.getCode().equals(vo.getOrgNo())) {
vo.setOrgNo(dto.getId());
vo.setOrgName(dto.getName()); vo.setOrgName(dto.getName());
} }
} }

View File

@@ -51,7 +51,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
RSubstationIconVO rSubstationIconVO = new RSubstationIconVO(); RSubstationIconVO rSubstationIconVO = new RSubstationIconVO();
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
//根据部门获取变电站信息 //根据部门获取变电站信息
baseParam.setIds(this.powerrIdList(RequestUtil.getDeptIndex())); baseParam.setIds(this.powerrIdList(param.getId()));
String string = param.getType().toString(); String string = param.getType().toString();
switch (string) { switch (string) {
//查询变电站稳态指标超标分布(按超标天数)-年数据 //查询变电站稳态指标超标分布(按超标天数)-年数据
@@ -78,7 +78,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>(); List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class); StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
//根据id进行筛选 //根据id进行筛选
baseParam.setIds(this.powerrIdList(RequestUtil.getDeptIndex())); baseParam.setIds(this.powerrIdList(param.getId()));
String string = param.getType().toString(); String string = param.getType().toString();
switch (string) { 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.param.StatSubstationBizBaseParam;
import com.njcn.harmonic.pojo.po.RStatSubstationVoltageM; import com.njcn.harmonic.pojo.po.RStatSubstationVoltageM;
import com.njcn.harmonic.mapper.majornetwork.RStatSubstationVoltageMMapper; 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.pojo.vo.RVoltageIconVO;
import com.njcn.harmonic.service.majornetwork.RStatSubstationVoltageMService; import com.njcn.harmonic.service.majornetwork.RStatSubstationVoltageMService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.api.DeptFeignClient;
import com.njcn.user.pojo.dto.DeptDTO; import com.njcn.user.pojo.dto.DeptDTO;
import com.njcn.web.utils.RequestUtil; import com.njcn.web.utils.RequestUtil;
@@ -16,6 +20,8 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@@ -32,14 +38,34 @@ public class RStatSubstationVoltageMServiceImpl extends ServiceImpl<RStatSubstat
private final RStatSubstationVoltageMMapper rStatSubstationVoltageMMapper; private final RStatSubstationVoltageMMapper rStatSubstationVoltageMMapper;
private final DeptFeignClient deptFeignClient; private final DeptFeignClient deptFeignClient;
private final DicDataFeignClient dicDataFeignClient;
@Override @Override
public List<RVoltageIconVO> getStatSubstationIcon(StatisticsBizBaseParam param) { 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()); List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class); StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
baseParam.setIds(deptIds); 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: xxl:
job: job:
admin: 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 # addresses: http://192.168.1.29:10217/job-admin
#执行器通讯TOKEN [选填]:非空时启用; #执行器通讯TOKEN [选填]:非空时启用;
accessToken: accessToken:

View File

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

View File

@@ -329,7 +329,12 @@
<module filepath="$PROJECT_DIR$/pqs-advance/pqs-advance.iml"/> <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/event-prepare/event-prepare.iml"/>
<module filepath="$PROJECT_DIR$/pqs-prepare/harmonic-prepare/harmonic-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-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> </modules>
</component> </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"/> <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"/>