河北pms接口慢问题解决
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.njcn.harmonic.controller.distribution;
|
||||
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -77,9 +78,9 @@ public class PwRStatOrgController extends BaseController {
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("稳态指标超标明细表")
|
||||
@ApiImplicitParam(name = "param", value = "超标明细参数", required = true)
|
||||
public HttpResult<List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO>> getPwRMpPartHarmonicDetail(@RequestBody RStatOrgParam.PwRStatOrgParam param) {
|
||||
public HttpResult<Page<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO>> getPwRMpPartHarmonicDetail(@RequestBody RStatOrgParam.PwRStatOrgParam param) {
|
||||
String methodDescribe = getMethodDescribe("getPwRMpPartHarmonicDetail");
|
||||
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param);
|
||||
Page<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> rMpPartHarmonicDetail = pwRStatOrgService.getRMpPartHarmonicDetail(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rMpPartHarmonicDetail, methodDescribe);
|
||||
}
|
||||
|
||||
@@ -123,11 +124,11 @@ public class PwRStatOrgController extends BaseController {
|
||||
*/
|
||||
@PostMapping("/getPwRMpPassRateInfo")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("稳态指标合格率明细表")
|
||||
@ApiOperation("配网稳态指标合格率明细表")
|
||||
@ApiImplicitParam(name = "param", value = "超标合格率明细参数", required = true)
|
||||
public HttpResult<List<PwRStatOrgVO.PwRStatOrgDetailVO>> getPwRMpPassRateInfo(@RequestBody RStatOrgParam.PwRStatOrgParam param) {
|
||||
public HttpResult<Page<PwRStatOrgVO.PwRStatOrgDetailVO>> getPwRMpPassRateInfo(@RequestBody RStatOrgParam.PwRStatOrgParam param) {
|
||||
String methodDescribe = getMethodDescribe("getPwRMpPassRateInfo");
|
||||
List<PwRStatOrgVO.PwRStatOrgDetailVO> rStatOrg = pwRStatOrgService.getRMpPassRateInfo(param);
|
||||
Page<PwRStatOrgVO.PwRStatOrgDetailVO> rStatOrg = pwRStatOrgService.getRMpPassRateInfo(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rStatOrg, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.harmonic.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpPassRateM;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
@@ -24,4 +25,6 @@ public interface RMpPassRateMMapper extends BaseMapper<RMpPassRateM> {
|
||||
* @return
|
||||
*/
|
||||
List<RStatOrgIndexVO> getMonthPassRate(@Param("param") StatSubstationBizBaseParam baseParam);
|
||||
|
||||
Page<RStatOrgIndexVO> getPwMonthPassRate(@Param("page") Page<RStatOrgIndexVO> page, @Param("param") StatSubstationBizBaseParam baseParam);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.harmonic.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpPassRateQ;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
@@ -24,4 +25,6 @@ public interface RMpPassRateQMapper extends BaseMapper<RMpPassRateQ> {
|
||||
* @return
|
||||
*/
|
||||
List<RStatOrgIndexVO> getQuarterPassRate(@Param("param") StatSubstationBizBaseParam baseParam);
|
||||
|
||||
Page<RStatOrgIndexVO> getPwQuarterPassRate(@Param("page")Page<RStatOrgIndexVO> page,@Param("param") StatSubstationBizBaseParam baseParam);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.harmonic.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpPassRateY;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
@@ -24,4 +25,6 @@ public interface RMpPassRateYMapper extends BaseMapper<RMpPassRateY> {
|
||||
* @return
|
||||
*/
|
||||
List<RStatOrgIndexVO> getYearPassRate(@Param("param") StatSubstationBizBaseParam baseParam);
|
||||
|
||||
Page<RStatOrgIndexVO> getPageYearPassRate(Page<RStatOrgIndexVO> page, @Param("param") StatSubstationBizBaseParam baseParam);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.harmonic.mapper.majornetwork;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpSurplusHarmonicDetailM;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
@@ -24,4 +25,8 @@ public interface RMpSurplusHarmonicDetailMMapper extends BaseMapper<RMpSurplusHa
|
||||
* @return
|
||||
*/
|
||||
List<RMpPartHarmonicDetailVO> getRMpPartHarmonicDetail(@Param("param") StatSubstationBizBaseParam param);
|
||||
|
||||
|
||||
|
||||
Page<RMpPartHarmonicDetailVO> getPwRMpPartHarmonicDetail(Page<RMpPartHarmonicDetailVO> page,@Param("param") StatSubstationBizBaseParam param);
|
||||
}
|
||||
|
||||
@@ -35,4 +35,28 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
<select id="getPwMonthPassRate" resultType="com.njcn.harmonic.pojo.vo.RStatOrgIndexVO">
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
data_date,
|
||||
freq_pass_rate,
|
||||
v_dev_pass_rate,
|
||||
flicker_pass_rate
|
||||
FROM
|
||||
r_mp_pass_rate_m
|
||||
<where>
|
||||
<if test="param != null and param.ids != null and param.ids.size > 0">
|
||||
AND measurement_point_id 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 <= #{param.endTime}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -35,4 +35,30 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getPwQuarterPassRate" resultType="com.njcn.harmonic.pojo.vo.RStatOrgIndexVO">
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
data_date,
|
||||
freq_pass_rate,
|
||||
v_dev_pass_rate,
|
||||
flicker_pass_rate
|
||||
FROM
|
||||
r_mp_pass_rate_q
|
||||
<where>
|
||||
<if test="param != null and param.ids != null and param.ids.size > 0">
|
||||
AND measurement_point_id 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 <= #{param.endTime}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -35,4 +35,30 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
<select id="getPageYearPassRate" resultType="com.njcn.harmonic.pojo.vo.RStatOrgIndexVO">
|
||||
SELECT
|
||||
measurement_point_id,
|
||||
data_date,
|
||||
freq_pass_rate,
|
||||
v_dev_pass_rate,
|
||||
flicker_pass_rate
|
||||
FROM
|
||||
r_mp_pass_rate_y
|
||||
<where>
|
||||
<if test="param != null and param.ids != null and param.ids.size > 0">
|
||||
AND measurement_point_id 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 <= #{param.endTime}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -167,4 +167,114 @@
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
<select id="getPwRMpPartHarmonicDetail" resultType="com.njcn.harmonic.pojo.vo.RMpPartHarmonicDetailVO">
|
||||
select
|
||||
rms.measurement_point_id,
|
||||
rmphdm.data_date,
|
||||
rms.inuharm_over_day,
|
||||
rms.inuharm_1_over_day,
|
||||
rms.inuharm_2_over_day,
|
||||
rms.inuharm_3_over_day,
|
||||
rms.inuharm_4_over_day,
|
||||
rms.inuharm_5_over_day,
|
||||
rms.inuharm_6_over_day,
|
||||
rms.inuharm_7_over_day,
|
||||
rms.inuharm_8_over_day,
|
||||
rms.inuharm_9_over_day,
|
||||
rms.inuharm_10_over_day,
|
||||
rms.inuharm_11_over_day,
|
||||
rms.inuharm_12_over_day,
|
||||
rms.inuharm_13_over_day,
|
||||
rms.inuharm_14_over_day,
|
||||
rms.inuharm_15_over_day,
|
||||
rms.inuharm_16_over_day,
|
||||
rms.inuharm_17_over_day,
|
||||
rms.inuharm_18_over_day,
|
||||
rms.inuharm_19_over_day,
|
||||
rms.inuharm_20_over_day,
|
||||
rms.inuharm_21_over_day,
|
||||
rms.inuharm_22_over_day,
|
||||
rms.inuharm_23_over_day,
|
||||
rms.inuharm_24_over_day,
|
||||
rms.flicker_over_day,
|
||||
rmphdm.measurement_point_id,
|
||||
rmphdm.measurement_over_day,
|
||||
rmphdm.freq_over_day,
|
||||
rmphdm.v_dev_up_over_day,
|
||||
rmphdm.v_dev_low_over_day,
|
||||
rmphdm.v_dev_over_day,
|
||||
rmphdm.v_thd_over_day,
|
||||
rmphdm.v_over_day,
|
||||
rmphdm.i_over_day,
|
||||
rmphdm.v_2_over_day,
|
||||
rmphdm.v_3_over_day,
|
||||
rmphdm.v_4_over_day,
|
||||
rmphdm.v_5_over_day,
|
||||
rmphdm.v_6_over_day,
|
||||
rmphdm.v_7_over_day,
|
||||
rmphdm.v_8_over_day,
|
||||
rmphdm.v_9_over_day,
|
||||
rmphdm.v_10_over_day,
|
||||
rmphdm.v_11_over_day,
|
||||
rmphdm.v_12_over_day,
|
||||
rmphdm.v_13_over_day,
|
||||
rmphdm.v_14_over_day,
|
||||
rmphdm.v_15_over_day,
|
||||
rmphdm.v_16_over_day,
|
||||
rmphdm.v_17_over_day,
|
||||
rmphdm.v_18_over_day,
|
||||
rmphdm.v_19_over_day,
|
||||
rmphdm.v_20_over_day,
|
||||
rmphdm.v_21_over_day,
|
||||
rmphdm.v_22_over_day,
|
||||
rmphdm.v_23_over_day,
|
||||
rmphdm.v_24_over_day,
|
||||
rmphdm.v_25_over_day,
|
||||
rmphdm.i_2_over_day,
|
||||
rmphdm.i_3_over_day,
|
||||
rmphdm.i_4_over_day,
|
||||
rmphdm.i_5_over_day,
|
||||
rmphdm.i_6_over_day,
|
||||
rmphdm.i_7_over_day,
|
||||
rmphdm.i_8_over_day,
|
||||
rmphdm.i_9_over_day,
|
||||
rmphdm.i_10_over_day,
|
||||
rmphdm.i_11_over_day,
|
||||
rmphdm.i_12_over_day,
|
||||
rmphdm.i_13_over_day,
|
||||
rmphdm.i_14_over_day,
|
||||
rmphdm.i_15_over_day,
|
||||
rmphdm.i_16_over_day,
|
||||
rmphdm.i_17_over_day,
|
||||
rmphdm.i_18_over_day,
|
||||
rmphdm.i_19_over_day,
|
||||
rmphdm.i_20_over_day,
|
||||
rmphdm.i_21_over_day,
|
||||
rmphdm.i_22_over_day,
|
||||
rmphdm.i_23_over_day,
|
||||
rmphdm.i_24_over_day,
|
||||
rmphdm.i_25_over_day,
|
||||
rmphdm.unbalance_over_day,
|
||||
rmphdm.i_neg_over_day
|
||||
from r_mp_surplus_harmonic_detail_m rms
|
||||
right join r_mp_part_harmonic_detail_m rmphdm on rms.measurement_point_id = rmphdm.measurement_point_id
|
||||
and rms.data_date=rmphdm.data_date
|
||||
<where>
|
||||
<if test="param != null and param.ids != null and param.ids.size > 0">
|
||||
AND rmphdm.measurement_point_id 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 rmphdm.data_date >= #{param.startTime} AND rms.data_date >= #{param.startTime}
|
||||
</if>
|
||||
<if test="param!=null and param.endTime != null and param.endTime != ''">
|
||||
AND rmphdm.data_date <= #{param.endTime} AND rms.data_date <= #{param.endTime}
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn.harmonic.service.distribution;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.harmonic.pojo.param.RStatOrgParam;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
@@ -40,7 +41,7 @@ public interface PwRStatOrgService extends IService<RStatOrgQ> {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<PwRStatOrgVO.PwRStatOrgDetailVO> getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param);
|
||||
Page<PwRStatOrgVO.PwRStatOrgDetailVO> getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param);
|
||||
|
||||
/**
|
||||
* 配网区域稳态指标超标分类统计表
|
||||
@@ -56,7 +57,7 @@ public interface PwRStatOrgService extends IService<RStatOrgQ> {
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param);
|
||||
Page<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param);
|
||||
|
||||
/**
|
||||
* 变电站稳态指标超标分类统计表
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.api.PwMonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
@@ -37,6 +39,10 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl<PwRMpBenchmarkL
|
||||
|
||||
private final PwMonitorClient pwMonitorClient;
|
||||
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
|
||||
/***
|
||||
* 配网-全网基准水平
|
||||
@@ -47,6 +53,8 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl<PwRMpBenchmarkL
|
||||
*/
|
||||
@Override
|
||||
public Page<PwRMpBenchmarkLevelVO> getPwRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
|
||||
|
||||
Page<PwRMpBenchmarkLevelVO> pageResult = new Page<>(rMpBenchmarkLevelParam.getPageNum(),rMpBenchmarkLevelParam.getPageSize());
|
||||
//提取查询条件
|
||||
String id = rMpBenchmarkLevelParam.getId(); //单位id
|
||||
if (StringUtils.isBlank(id)) {
|
||||
@@ -62,25 +70,33 @@ public class PwRMpBenchmarkLevelMServiceImpl extends ServiceImpl<PwRMpBenchmarkL
|
||||
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
|
||||
pwPmsMonitorParam.setOrgId(id); //单位id
|
||||
pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级
|
||||
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(pwMonitorList)) {
|
||||
|
||||
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(monitorIds)) {
|
||||
return new Page<>();
|
||||
}
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1));
|
||||
|
||||
//查询【基准水平-月】数据
|
||||
/*组装条件:where measurement_point_id in (monitorIdList) and data_date >= startTime
|
||||
and data_date <= endTime and voltage_level
|
||||
*/
|
||||
|
||||
LambdaQueryWrapper<RMpBenchmarkLevelM> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(monitorIdList), RMpBenchmarkLevelM::getMeasurementPointId, monitorIdList)
|
||||
lambdaQueryWrapper.in(RMpBenchmarkLevelM::getMeasurementPointId, monitorIds)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpBenchmarkLevelM::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpBenchmarkLevelM::getDataDate, endTime);
|
||||
Page<RMpBenchmarkLevelM> listPage = this.page(new Page<>(pageNum, pageSize), lambdaQueryWrapper);
|
||||
List<PwRMpBenchmarkLevelVO> resultList = listPage.getRecords().stream().map(item -> {
|
||||
List<RMpBenchmarkLevelM> temList = listPage.getRecords();
|
||||
if(CollUtil.isEmpty(temList)){
|
||||
pageResult.setTotal(listPage.getTotal());
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = temList.stream().map(RMpBenchmarkLevelM::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
List<PwPmsMonitorDTO> pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIdList).getData();
|
||||
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1));
|
||||
|
||||
List<PwRMpBenchmarkLevelVO> resultList = temList.stream().map(item -> {
|
||||
//封装前端需要的对象
|
||||
PwRMpBenchmarkLevelVO rMpBenchmarkLevelVO = new PwRMpBenchmarkLevelVO();
|
||||
BeanUtils.copyProperties(item, rMpBenchmarkLevelVO);
|
||||
|
||||
@@ -6,14 +6,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.api.PwMonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.vo.PwRMpMonitorAlarmCountMVO;
|
||||
import com.njcn.harmonic.mapper.distribution.PwRMpBenchmarkLevelQMapper;
|
||||
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM;
|
||||
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelQ;
|
||||
import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO;
|
||||
import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelQService;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -37,6 +42,11 @@ implements PwRMpBenchmarkLevelQService {
|
||||
|
||||
private final PwMonitorClient pwMonitorClient;
|
||||
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
|
||||
/***
|
||||
* 配网-全网基准水平
|
||||
* @author jianghaifei
|
||||
@@ -46,6 +56,8 @@ implements PwRMpBenchmarkLevelQService {
|
||||
*/
|
||||
@Override
|
||||
public Page<PwRMpBenchmarkLevelVO> getPwRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
|
||||
Page<PwRMpBenchmarkLevelVO> pageResult = new Page<>(rMpBenchmarkLevelParam.getPageNum(),rMpBenchmarkLevelParam.getPageSize());
|
||||
|
||||
//提取查询条件
|
||||
String id = rMpBenchmarkLevelParam.getId(); //单位id
|
||||
if (StringUtils.isBlank(id)) {
|
||||
@@ -61,24 +73,30 @@ implements PwRMpBenchmarkLevelQService {
|
||||
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
|
||||
pwPmsMonitorParam.setOrgId(id); //单位id
|
||||
pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级
|
||||
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(pwMonitorList)) {
|
||||
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(monitorIds)) {
|
||||
return new Page<>();
|
||||
}
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2)->key1));
|
||||
|
||||
//查询【基准水平-季】数据
|
||||
/*组装条件:where measurement_point_id in (monitorIdList) and data_date >= startTime
|
||||
and data_date <= endTime and voltage_level
|
||||
*/
|
||||
LambdaQueryWrapper<RMpBenchmarkLevelQ> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(monitorIdList), RMpBenchmarkLevelQ::getMeasurementPointId, monitorIdList)
|
||||
lambdaQueryWrapper.in(RMpBenchmarkLevelQ::getMeasurementPointId, monitorIds)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpBenchmarkLevelQ::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpBenchmarkLevelQ::getDataDate, endTime);
|
||||
Page<RMpBenchmarkLevelQ> listPage = this.page(new Page<>(pageNum, pageSize), lambdaQueryWrapper);
|
||||
List<RMpBenchmarkLevelQ> temList = listPage.getRecords();
|
||||
if(CollUtil.isEmpty(temList)){
|
||||
pageResult.setTotal(listPage.getTotal());
|
||||
return pageResult;
|
||||
}
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = temList.stream().map(RMpBenchmarkLevelQ::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
|
||||
List<PwPmsMonitorDTO> pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIdList).getData();
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2)->key1));
|
||||
|
||||
|
||||
List<PwRMpBenchmarkLevelVO> resultList = listPage.getRecords().stream().map(item -> {
|
||||
//封装前端需要的对象
|
||||
PwRMpBenchmarkLevelVO rMpBenchmarkLevelVO = new PwRMpBenchmarkLevelVO();
|
||||
|
||||
@@ -6,11 +6,14 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.api.PwMonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.harmonic.mapper.distribution.PwRMpBenchmarkLevelYMapper;
|
||||
import com.njcn.harmonic.pojo.param.RMpBenchmarkLevelParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelM;
|
||||
import com.njcn.harmonic.pojo.po.RMpBenchmarkLevelY;
|
||||
import com.njcn.harmonic.pojo.vo.PwRMpBenchmarkLevelVO;
|
||||
import com.njcn.harmonic.service.distribution.PwRMpBenchmarkLevelYService;
|
||||
@@ -38,6 +41,11 @@ implements PwRMpBenchmarkLevelYService {
|
||||
|
||||
private final PwMonitorClient pwMonitorClient;
|
||||
|
||||
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
/***
|
||||
* 配网-全网基准水平
|
||||
* @author jianghaifei
|
||||
@@ -47,6 +55,8 @@ implements PwRMpBenchmarkLevelYService {
|
||||
*/
|
||||
@Override
|
||||
public Page<PwRMpBenchmarkLevelVO> getPwRMpBenchmarkLevelList(RMpBenchmarkLevelParam rMpBenchmarkLevelParam) {
|
||||
Page<PwRMpBenchmarkLevelVO> pageResult = new Page<>(rMpBenchmarkLevelParam.getPageNum(),rMpBenchmarkLevelParam.getPageSize());
|
||||
|
||||
//提取查询条件
|
||||
String id = rMpBenchmarkLevelParam.getId(); //单位id
|
||||
if (StringUtils.isBlank(id)) {
|
||||
@@ -58,29 +68,39 @@ implements PwRMpBenchmarkLevelYService {
|
||||
Integer pageNum = rMpBenchmarkLevelParam.getPageNum() != null && rMpBenchmarkLevelParam.getPageNum() != 0 ? rMpBenchmarkLevelParam.getPageNum() : 1; //页码
|
||||
Integer pageSize = rMpBenchmarkLevelParam.getPageSize() != null && rMpBenchmarkLevelParam.getPageSize() != 0 ? rMpBenchmarkLevelParam.getPageSize() : 10; //页面尺寸
|
||||
|
||||
|
||||
|
||||
|
||||
//根据条件查询单位下面的所有配网监测点
|
||||
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
|
||||
pwPmsMonitorParam.setOrgId(id); //单位id
|
||||
pwPmsMonitorParam.setVoltageLevels(voltageLevelParamList); //电压等级
|
||||
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(pwMonitorList)) {
|
||||
|
||||
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(monitorIds)) {
|
||||
return new Page<>();
|
||||
}
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(
|
||||
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1));
|
||||
|
||||
|
||||
//查询【基准水平-年】数据
|
||||
/*组装条件:where measurement_point_id in (monitorIdList) and data_date >= startTime
|
||||
and data_date <= endTime and voltage_level
|
||||
*/
|
||||
|
||||
LambdaQueryWrapper<RMpBenchmarkLevelY> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.in(CollUtil.isNotEmpty(monitorIdList), RMpBenchmarkLevelY::getMeasurementPointId, monitorIdList)
|
||||
lambdaQueryWrapper.in(RMpBenchmarkLevelY::getMeasurementPointId, monitorIds)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpBenchmarkLevelY::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpBenchmarkLevelY::getDataDate, endTime);
|
||||
Page<RMpBenchmarkLevelY> listPage = this.page(new Page<>(pageNum, pageSize), lambdaQueryWrapper);
|
||||
List<RMpBenchmarkLevelY> temList = listPage.getRecords();
|
||||
if(CollUtil.isEmpty(temList)){
|
||||
pageResult.setTotal(listPage.getTotal());
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = temList.stream().map(RMpBenchmarkLevelY::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
List<PwPmsMonitorDTO> pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(monitorIdList).getData();
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(
|
||||
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key1));
|
||||
|
||||
List<PwRMpBenchmarkLevelVO> resultList = listPage.getRecords().stream().map(item -> {
|
||||
//封装前端需要的对象
|
||||
|
||||
@@ -3,9 +3,11 @@ package com.njcn.harmonic.service.distribution.impl;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.common.pojo.dto.SimpleDTO;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.api.PwMonitorClient;
|
||||
@@ -69,6 +71,8 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
private final MonitorClient monitorClient;
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
@Override
|
||||
public List<RStatOrgVO.PwRStatOrgVO> getRStatHarmonicAll(StatSubstationBizBaseParam param) {
|
||||
//获取当前部门下所有部门信息
|
||||
@@ -161,7 +165,8 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PwRStatOrgVO.PwRStatOrgDetailVO> getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param) {
|
||||
public Page<PwRStatOrgVO.PwRStatOrgDetailVO> getRMpPassRateInfo(RStatOrgParam.PwRStatOrgParam param) {
|
||||
Page<PwRStatOrgVO.PwRStatOrgDetailVO> pageResult = new Page<>(param.getPageNum(),param.getPageSize());
|
||||
//初始化对象
|
||||
List<RStatOrgIndexVO> info = new ArrayList<>();
|
||||
// 获取当前用户的部门的子部门信息
|
||||
@@ -176,34 +181,41 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
pwPmsMonitorParam.setMonitorSort(param.getMonitorSort());
|
||||
//监测点名称
|
||||
pwPmsMonitorParam.setMonitorName(param.getMonitorName());
|
||||
List<PwPmsMonitorDTO> monitorDTOList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
|
||||
|
||||
if (CollectionUtil.isNotEmpty(monitorIds)) {
|
||||
|
||||
|
||||
|
||||
if (CollectionUtil.isNotEmpty(monitorDTOList)) {
|
||||
Map<String, PwPmsMonitorDTO> monitorDTOMap = monitorDTOList.stream().collect(
|
||||
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key2));
|
||||
//获取最新过滤的监测点id
|
||||
List<String> ids = monitorDTOList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(ids);
|
||||
baseParam.setIds(monitorIds);
|
||||
// 类型(1年 2季度 3月份
|
||||
Page<RStatOrgIndexVO> temPage = new Page<>();
|
||||
switch (param.getType().toString()) {
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
// 获取年稳态指标合格率明细表
|
||||
info = rMpPassRateYMapper.getYearPassRate(baseParam);
|
||||
temPage = rMpPassRateYMapper.getPageYearPassRate(new Page<>(param.getPageNum(),param.getPageSize()),baseParam);
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
// 获取季稳态指标合格率明细表
|
||||
info = rMpPassRateQMapper.getQuarterPassRate(baseParam);
|
||||
temPage = rMpPassRateQMapper.getPwQuarterPassRate(new Page<>(param.getPageNum(),param.getPageSize()),baseParam);
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
// 获取月稳态指标合格率明细表
|
||||
info = rMpPassRateMMapper.getMonthPassRate(baseParam);
|
||||
temPage = rMpPassRateMMapper.getPwMonthPassRate(new Page<>(param.getPageNum(),param.getPageSize()),baseParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
info = temPage.getRecords();
|
||||
if (CollectionUtil.isNotEmpty(info)) {
|
||||
List<String> ids = info.stream().map(RStatOrgIndexVO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
List<PwPmsMonitorDTO> pwPmsMonitorDTOList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData();
|
||||
Map<String, PwPmsMonitorDTO> monitorDTOMap = pwPmsMonitorDTOList.stream().collect(
|
||||
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key2));
|
||||
|
||||
//初始化
|
||||
List<PwRStatOrgVO.PwRStatOrgDetailVO> temp = new ArrayList<>();
|
||||
//便利对象
|
||||
@@ -227,10 +239,10 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
temp.add(pwRStatOrgVO);
|
||||
}
|
||||
});
|
||||
return temp;
|
||||
return pageResult.setRecords(temp);
|
||||
}
|
||||
}
|
||||
return new ArrayList<>();
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -402,7 +414,9 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param) {
|
||||
public Page<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> getRMpPartHarmonicDetail(RStatOrgParam.PwRStatOrgParam param) {
|
||||
Page<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> pageResult = new Page<>(param.getPageNum(),param.getPageSize());
|
||||
|
||||
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
|
||||
//部门id
|
||||
pwPmsMonitorParam.setOrgId(param.getId());
|
||||
@@ -413,40 +427,40 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
|
||||
//监测点名称
|
||||
pwPmsMonitorParam.setMonitorName(param.getMonitorName());
|
||||
//获取配网监测点信息
|
||||
List<PwPmsMonitorDTO> pwPmsMonitorDTOS = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
Map<String, PwPmsMonitorDTO> pwPmsMonitorDTOMap = pwPmsMonitorDTOS.stream().collect(
|
||||
Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(), (key1, key2) -> key2));
|
||||
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
|
||||
|
||||
if (CollectionUtil.isNotEmpty(pwPmsMonitorDTOS)) {
|
||||
if (CollectionUtil.isNotEmpty(monitorIds)) {
|
||||
//获取监测点id
|
||||
List<String> ids = pwPmsMonitorDTOS.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
//筛选出数据库对应监测点
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(ids);
|
||||
List<RMpPartHarmonicDetailVO> rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getRMpPartHarmonicDetail(baseParam);
|
||||
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> newList = BeanUtil.copyToList(
|
||||
rMpPartHarmonicDetail, RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO.class);
|
||||
if (CollectionUtil.isNotEmpty(newList)) {
|
||||
//因为只有月表,数据进行查询可能出现重复数据。进行分组
|
||||
Map<String, List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO>> detailVOMap = newList.stream()
|
||||
.collect(Collectors.groupingBy(RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO::getMeasurementPointId));
|
||||
detailVOMap.forEach((Key, value) -> {
|
||||
if (pwPmsMonitorDTOMap.containsKey(Key)) {
|
||||
PwPmsMonitorDTO dto1 = pwPmsMonitorDTOMap.get(Key);
|
||||
for (RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO rmp : value) {
|
||||
rmp.setOrgName(dto1.getOrgName());
|
||||
rmp.setPowerrName(dto1.getPowerName());
|
||||
rmp.setMeasurementPointName(dto1.getMonitorName());
|
||||
rmp.setMonitorSort(dto1.getMonitorSort());
|
||||
rmp.setMonitorVoltageName(dto1.getVoltageLevel());
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
baseParam.setIds(monitorIds);
|
||||
Page<RMpPartHarmonicDetailVO> rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getPwRMpPartHarmonicDetail(new Page<>(param.getPageNum(),param.getPageSize()),baseParam);
|
||||
List<RMpPartHarmonicDetailVO> tmpList = rMpPartHarmonicDetail.getRecords();
|
||||
if(CollUtil.isEmpty(tmpList)){
|
||||
return pageResult;
|
||||
}
|
||||
List<RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO> newList = BeanUtil.copyToList(
|
||||
tmpList, RMpPartHarmonicDetailVO.PwRMpPartHarmonicDetailDVO.class);
|
||||
|
||||
List<String> ids = tmpList.stream().map(RMpPartHarmonicDetailVO::getMeasurementPointId).distinct().collect(Collectors.toList());
|
||||
List<PwPmsMonitorDTO> pwPmsMonitorDTOList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData();
|
||||
Map<String,PwPmsMonitorDTO> monitorDTOMap = pwPmsMonitorDTOList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId,Function.identity()));
|
||||
|
||||
if (CollectionUtil.isNotEmpty(newList)) {
|
||||
newList = newList.stream().peek(item->{
|
||||
if (monitorDTOMap.containsKey(item.getMeasurementPointId())) {
|
||||
PwPmsMonitorDTO dto1 = monitorDTOMap.get(item.getMeasurementPointId());
|
||||
item.setOrgName(dto1.getOrgName());
|
||||
item.setPowerrName(dto1.getPowerName());
|
||||
item.setMeasurementPointName(dto1.getMonitorName());
|
||||
item.setMonitorSort(dto1.getMonitorSort());
|
||||
item.setMonitorVoltageName(dto1.getVoltageLevel());
|
||||
}
|
||||
}).collect(Collectors.toList());
|
||||
pageResult.setRecords(newList);
|
||||
}
|
||||
return newList;
|
||||
}
|
||||
return Lists.newArrayList();
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -3,7 +3,10 @@ package com.njcn.harmonic.service.distribution.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.device.pms.api.DistributionMonitorClient;
|
||||
import com.njcn.device.pms.api.PmsGeneralDeviceInfoClient;
|
||||
import com.njcn.device.pms.api.PwMonitorClient;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PwPmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.param.PwPmsMonitorParam;
|
||||
import com.njcn.harmonic.mapper.distribution.RStatPwPermeabilityMMapper;
|
||||
@@ -37,6 +40,11 @@ public class RStatPwPermeabilityMServiceImpl extends ServiceImpl<RStatPwPermeabi
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final PmsGeneralDeviceInfoClient pmsGeneralDeviceInfoClient;
|
||||
|
||||
private final DistributionMonitorClient distributionMonitorClient;
|
||||
|
||||
|
||||
|
||||
/***
|
||||
* 获取各渗透率光伏台区基准水平
|
||||
@@ -47,6 +55,8 @@ public class RStatPwPermeabilityMServiceImpl extends ServiceImpl<RStatPwPermeabi
|
||||
*/
|
||||
@Override
|
||||
public Page<RStatPwPermeabilityMVO> getPwPermeabilityList(RStatPwPermeabilityMParam rStatPwPermeabilityMParam) {
|
||||
Page<RStatPwPermeabilityMVO> pageResult = new Page<>(rStatPwPermeabilityMParam.getPageNum(),rStatPwPermeabilityMParam.getPageSize());
|
||||
|
||||
//提起参数
|
||||
String id = rStatPwPermeabilityMParam.getId(); //单位id
|
||||
String psrName = rStatPwPermeabilityMParam.getPsrName(); //台区名称
|
||||
@@ -58,25 +68,34 @@ public class RStatPwPermeabilityMServiceImpl extends ServiceImpl<RStatPwPermeabi
|
||||
//根据条件查询单位下面的所有配网监测点
|
||||
PwPmsMonitorParam pwPmsMonitorParam = new PwPmsMonitorParam();
|
||||
pwPmsMonitorParam.setOrgId(id); //单位id
|
||||
pwPmsMonitorParam.setMonitorName(psrName); //台区名称(监测点名称)
|
||||
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(pwMonitorList)) {
|
||||
List<String> monitorIds = pmsGeneralDeviceInfoClient.getPwPmsMonitorIds(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(monitorIds)) {
|
||||
return new Page<>();
|
||||
}
|
||||
//监测点id集合
|
||||
List<String> monitorIdList = pwMonitorList.stream().map(PwPmsMonitorDTO::getMonitorId).collect(Collectors.toList());
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1, key2)->key1));
|
||||
|
||||
//获取各渗透率字典
|
||||
List<DictData> rateList = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PERMEABILITY_TYPE.getCode()).getData();
|
||||
Map<String, Object> condMap = rateList.stream().collect(Collectors.toMap(DictData::getCode, DictData::getId));
|
||||
condMap.put("startTime", startTime);
|
||||
condMap.put("endTime", endTime);
|
||||
condMap.put("idList", monitorIdList);
|
||||
condMap.put("idList", monitorIds);
|
||||
|
||||
Page<RStatPwPermeabilityMVO> listPage = this.baseMapper.getPwPermeabilityList(new Page<>(pageNum, pageSize), condMap);
|
||||
List<RStatPwPermeabilityMVO> list = listPage.getRecords().stream().peek(item -> {
|
||||
Page<RStatPwPermeabilityMVO> listPage = this.baseMapper.getPwPermeabilityList(
|
||||
new Page<>(pageNum, pageSize), condMap);
|
||||
List<RStatPwPermeabilityMVO> temList = listPage.getRecords();
|
||||
if(CollUtil.isEmpty(temList)){
|
||||
pageResult.setTotal(listPage.getTotal());
|
||||
return pageResult;
|
||||
}
|
||||
|
||||
//监测点id集合
|
||||
List<String>ids = temList.stream().map(RStatPwPermeabilityMVO::getPsrId).distinct().collect(Collectors.toList());
|
||||
List<PwPmsMonitorDTO> pwMonitorList = distributionMonitorClient.pwMonitorAreaDetailInfo(ids).getData();
|
||||
//监测点map key:监测点id value:监测点实体
|
||||
Map<String, PwPmsMonitorDTO> monitorMap = pwMonitorList.stream().collect(Collectors.toMap(PwPmsMonitorDTO::getMonitorId, Function.identity(),(key1, key2)->key1));
|
||||
|
||||
|
||||
List<RStatPwPermeabilityMVO> list = temList.stream().peek(item -> {
|
||||
item.setOrgName(monitorMap.get(item.getPsrId()).getOrgName()); //单位名称
|
||||
item.setPsrName(monitorMap.get(item.getPsrId()).getMonitorName()); //台区名称
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
Reference in New Issue
Block a user