合并代码
This commit is contained in:
@@ -55,7 +55,7 @@ public class PwRStatHarmonicOrgController extends BaseController {
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
org = rStatHarmonicOrgYService.getPwRStatHarmonicYAll(param);
|
||||
org = rStatHarmonicOrgYService.getPwRStatHarmonicYOldAll(param,2);
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
@@ -86,7 +86,7 @@ public class PwRStatHarmonicOrgController extends BaseController {
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数统计图-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
icon = rStatHarmonicOrgYService.getPwRStatHarmonicOrgYIcon(param);
|
||||
icon = rStatHarmonicOrgYService.getPwRStatHarmonicOrgYOldIcon(param,2);
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
|
||||
@@ -56,7 +56,7 @@ public class RStatHarmonicOrgController extends BaseController {
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
rStatHarmonicOrgMAll = rStatHarmonicOrgYService.getRStatHarmonicYAll(param);
|
||||
rStatHarmonicOrgMAll = rStatHarmonicOrgYService.getPwRStatHarmonicYOldAll(param,1);
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
@@ -86,7 +86,7 @@ public class RStatHarmonicOrgController extends BaseController {
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数统计图-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
getAllRStatHarmonicOrgIcon = rStatHarmonicOrgYService.getRStatHarmonicOrgYIcon(param);
|
||||
getAllRStatHarmonicOrgIcon = rStatHarmonicOrgYService.getPwRStatHarmonicOrgYOldIcon(param,1);
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
|
||||
@@ -1,13 +1,27 @@
|
||||
package com.njcn.harmonic.controller.specialanalysis;
|
||||
|
||||
|
||||
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;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.harmonic.pojo.param.PowerQualityParam;
|
||||
import com.njcn.harmonic.pojo.vo.RMpRailwayTractionDetailVO;
|
||||
import com.njcn.harmonic.pojo.vo.RMpWpPowerDetailVO;
|
||||
import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailMService;
|
||||
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;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 专项分析-风电站-详细数据
|
||||
@@ -22,5 +36,36 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
@RequestMapping("/windFarm")
|
||||
public class WindFarmController extends BaseController {
|
||||
|
||||
private final RMpWpPowerDetailMService rMpWpPowerDetailMService;
|
||||
|
||||
/**
|
||||
* 详细数据表分页查询
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getWindFarmDetailInfo")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("详细数据表分页查询")
|
||||
@ApiImplicitParam(name = "param", value = "分页查询参数", required = true)
|
||||
public HttpResult<Page<RMpWpPowerDetailVO>> getWindFarmDetailInfo(@RequestBody PowerQualityParam.PowerQualityInfoParam param) {
|
||||
String methodDescribe = getMethodDescribe("getWindFarmDetailInfo");
|
||||
Page<RMpWpPowerDetailVO> powerQualityInfo = rMpWpPowerDetailMService.getWindFarmDetailInfo(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityInfo, methodDescribe);
|
||||
}
|
||||
|
||||
/**
|
||||
* 详细数据表分页查询
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@PostMapping("/getRailwayDetailInfo")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("电气化铁路详细数据表分页查询")
|
||||
@ApiImplicitParam(name = "param", value = "分页查询参数", required = true)
|
||||
public HttpResult<Page<RMpRailwayTractionDetailVO>> getRailwayDetailInfo(@RequestBody PowerQualityParam param) {
|
||||
String methodDescribe = getMethodDescribe("getRailwayDetailInfo");
|
||||
Page<RMpRailwayTractionDetailVO> powerQualityInfo = rMpWpPowerDetailMService.getRailwayDetailInfo(param);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, powerQualityInfo, methodDescribe);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.njcn.harmonic.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgM;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicVO;
|
||||
import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -21,4 +23,14 @@ public interface StatHarmonicOrgMMapper extends BaseMapper<RStatHarmonicOrgM> {
|
||||
* @return 结果
|
||||
*/
|
||||
List<StatHarmonicOrgVO> listMonthRatio(@Param("list") List<DeptDTO> list, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
|
||||
/**
|
||||
*各单位监测点数
|
||||
* @param param
|
||||
* @param dataType
|
||||
* @return
|
||||
*/
|
||||
List<RStatHarmonicVO> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
|
||||
@Param("ids") List<String> ids,
|
||||
@Param("dataType") String dataType);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
package com.njcn.harmonic.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicVO;
|
||||
import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -21,4 +24,14 @@ public interface StatHarmonicOrgQMapper extends BaseMapper<RStatHarmonicOrgQ> {
|
||||
* @return 结果
|
||||
*/
|
||||
List<StatHarmonicOrgVO> listQuarterRatio(@Param("list") List<DeptDTO> list, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
|
||||
/**
|
||||
*各单位监测点数
|
||||
* @param param
|
||||
* @param dataType
|
||||
* @return
|
||||
*/
|
||||
List<RStatHarmonicVO> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
|
||||
@Param("ids") List<String> ids,
|
||||
@Param("dataType") String dataType);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package com.njcn.harmonic.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicVO;
|
||||
import com.njcn.harmonic.pojo.vo.StatHarmonicOrgVO;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -21,4 +23,15 @@ public interface StatHarmonicOrgYMapper extends BaseMapper<RStatHarmonicOrgY> {
|
||||
* @return 结果
|
||||
*/
|
||||
List<StatHarmonicOrgVO> listYearRatio(@Param("list") List<DeptDTO> list, @Param("startTime") String startTime, @Param("endTime") String endTime);
|
||||
|
||||
/**
|
||||
* 各单位监测点查询
|
||||
* @param param
|
||||
* @param ids
|
||||
* @param dataType
|
||||
* @return
|
||||
*/
|
||||
List<RStatHarmonicVO> selectInfoList(@Param("param") StatSubstationBizBaseParam param,
|
||||
@Param("ids") List<String> ids,
|
||||
@Param("dataType") String dataType);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,8 @@
|
||||
DISTINCT
|
||||
a.id,
|
||||
a.NAME,
|
||||
b.activation
|
||||
b.activation,
|
||||
a.report_form
|
||||
FROM
|
||||
sys_excel_rpt_temp a
|
||||
LEFT JOIN sys_dept_temp b ON a.Id = b.temp_id
|
||||
|
||||
@@ -18,5 +18,39 @@
|
||||
and DATE_FORMAT(data_date,'%Y-%m-%d') between #{startTime} and #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.vo.RStatHarmonicVO">
|
||||
SELECT
|
||||
harmonic_type,
|
||||
sum( over_limit_measurement_average )/ count(*) AS overLimitMeasurementAverage,
|
||||
sum( over_limit_measurement_accrued ) AS overLimitMeasurementAccrued,
|
||||
sum( over_Day )/ sum( over_limit_measurement_accrued )/ count(*) AS averageOverDay,
|
||||
sum( over_limit_measurement_ratio_average )/ count(*) AS overLimitMeasurementRatioAverage,
|
||||
sum( over_limit_measurement_ratio_accrued ) AS overLimitMeasurementRatioAccrued
|
||||
FROM
|
||||
r_stat_harmonic_org_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="ids != null and ids.size > 0">
|
||||
AND harmonic_type IN
|
||||
<foreach collection='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>
|
||||
GROUP BY
|
||||
harmonic_type
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -18,5 +18,39 @@
|
||||
and DATE_FORMAT(data_date,'%Y-%m-%d') between #{startTime} and #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.vo.RStatHarmonicVO">
|
||||
SELECT
|
||||
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_org_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="ids != null and ids.size > 0">
|
||||
AND harmonic_type IN
|
||||
<foreach collection='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>
|
||||
GROUP BY
|
||||
harmonic_type
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -18,4 +18,39 @@
|
||||
and DATE_FORMAT(data_date,'%Y-%m-%d') between #{startTime} and #{endTime}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<select id="selectInfoList" resultType="com.njcn.harmonic.pojo.vo.RStatHarmonicVO">
|
||||
SELECT
|
||||
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_org_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="ids != null and ids.size > 0">
|
||||
AND harmonic_type IN
|
||||
<foreach collection='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>
|
||||
GROUP BY
|
||||
harmonic_type
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.njcn.harmonic.mapper.specialanalysis;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.RMpRailwayTractionDetail;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 电气化铁路_详细信息表(专项分析) Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2022-12-09
|
||||
*/
|
||||
public interface RMpRailwayTractionDetailMapper extends BaseMapper<RMpRailwayTractionDetail> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.njcn.harmonic.mapper.specialanalysis.RMpRailwayTractionDetailMapper">
|
||||
|
||||
<!-- 通用查询映射结果 -->
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpRailwayTractionDetail">
|
||||
<id column="traction_station_id" property="tractionStationId" />
|
||||
<result column="data_date" property="dataDate" />
|
||||
<result column="active_power_times" property="activePowerTimes" />
|
||||
<result column="v_times" property="vTimes" />
|
||||
<result column="i_times" property="iTimes" />
|
||||
<result column="unbalance_times" property="unbalanceTimes" />
|
||||
<result column="i_neg_times" property="iNegTimes" />
|
||||
</resultMap>
|
||||
|
||||
</mapper>
|
||||
@@ -6,6 +6,7 @@
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpWpPowerDetailM">
|
||||
<id column="measurement_point_id" property="measurementPointId" />
|
||||
<result column="data_date" property="dataDate" />
|
||||
<result column="monitor_tag" property="monitorTag" />
|
||||
<result column="load_rate_avg" property="loadRateAvg" />
|
||||
<result column="load_rate_95" property="loadRate95" />
|
||||
<result column="load_rate_99" property="loadRate99" />
|
||||
@@ -24,6 +25,10 @@
|
||||
<result column="bp_active_power_95" property="bpActivePower95" />
|
||||
<result column="bp_active_power_99" property="bpActivePower99" />
|
||||
<result column="bp_active_power_avg" property="bpActivePowerAvg" />
|
||||
<result column="cp_active_power_95" property="cpActivePower95" />
|
||||
<result column="cp_active_power_99" property="cpActivePower99" />
|
||||
<result column="cp_active_power_avg" property="cpActivePowerAvg" />
|
||||
|
||||
<result column="ap_fundamental_voltage" property="apFundamentalVoltage" />
|
||||
<result column="bp_fundamental_voltage" property="bpFundamentalVoltage" />
|
||||
<result column="cp_fundamental_voltage" property="cpFundamentalVoltage" />
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpWpPowerDetailQ">
|
||||
<id column="measurement_point_id" property="measurementPointId" />
|
||||
<result column="data_date" property="dataDate" />
|
||||
<result column="monitor_tag" property="monitorTag" />
|
||||
<result column="load_rate_avg" property="loadRateAvg" />
|
||||
<result column="load_rate_95" property="loadRate95" />
|
||||
<result column="load_rate_99" property="loadRate99" />
|
||||
@@ -24,6 +25,10 @@
|
||||
<result column="bp_active_power_95" property="bpActivePower95" />
|
||||
<result column="bp_active_power_99" property="bpActivePower99" />
|
||||
<result column="bp_active_power_avg" property="bpActivePowerAvg" />
|
||||
<result column="cp_active_power_95" property="cpActivePower95" />
|
||||
<result column="cp_active_power_99" property="cpActivePower99" />
|
||||
<result column="cp_active_power_avg" property="cpActivePowerAvg" />
|
||||
|
||||
<result column="ap_fundamental_voltage" property="apFundamentalVoltage" />
|
||||
<result column="bp_fundamental_voltage" property="bpFundamentalVoltage" />
|
||||
<result column="cp_fundamental_voltage" property="cpFundamentalVoltage" />
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<resultMap id="BaseResultMap" type="com.njcn.harmonic.pojo.po.RMpWpPowerDetailY">
|
||||
<id column="measurement_point_id" property="measurementPointId" />
|
||||
<result column="data_date" property="dataDate" />
|
||||
<result column="monitor_tag" property="monitorTag" />
|
||||
<result column="load_rate_avg" property="loadRateAvg" />
|
||||
<result column="load_rate_95" property="loadRate95" />
|
||||
<result column="load_rate_99" property="loadRate99" />
|
||||
@@ -24,6 +25,10 @@
|
||||
<result column="bp_active_power_95" property="bpActivePower95" />
|
||||
<result column="bp_active_power_99" property="bpActivePower99" />
|
||||
<result column="bp_active_power_avg" property="bpActivePowerAvg" />
|
||||
<result column="cp_active_power_95" property="cpActivePower95" />
|
||||
<result column="cp_active_power_99" property="cpActivePower99" />
|
||||
<result column="cp_active_power_avg" property="cpActivePowerAvg" />
|
||||
|
||||
<result column="ap_fundamental_voltage" property="apFundamentalVoltage" />
|
||||
<result column="bp_fundamental_voltage" property="bpFundamentalVoltage" />
|
||||
<result column="cp_fundamental_voltage" property="cpFundamentalVoltage" />
|
||||
|
||||
@@ -35,19 +35,39 @@ public interface RStatHarmonicOrgYService extends IService<RStatHarmonicOrgY> {
|
||||
*/
|
||||
List<RIconVO> getRStatHarmonicOrgYIcon(RStatHarmonicMParam param);
|
||||
|
||||
/**
|
||||
* 配网各单位累计超标监测点数统计图-年数据()
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RIconVO> getPwRStatHarmonicOrgYOldIcon(RStatHarmonicMParam param,Integer type);
|
||||
|
||||
|
||||
/**
|
||||
* 配网查询各单位稳态指标(年)
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getPwRStatHarmonicYOldAll(StatisticsBizBaseParam param,Integer type);
|
||||
|
||||
/**
|
||||
* 配网查询各单位稳态指标(年 )统计暂不使用
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getPwRStatHarmonicYAll(StatisticsBizBaseParam param);
|
||||
|
||||
/**
|
||||
* 配网各单位累计超标监测点数统计图-年数据
|
||||
* 配网各单位累计超标监测点数统计图-年数据(暂不使用,里面包含子孙部门统计)
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RIconVO> getPwRStatHarmonicOrgYIcon(RStatHarmonicMParam param);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ import com.njcn.harmonic.pojo.vo.RIconVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
|
||||
import com.njcn.harmonic.service.majornetwork.RStatHarmonicOrgMService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.utils.DeptUtil;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
@@ -225,7 +226,9 @@ public class RStatHarmonicOrgMServiceImpl extends ServiceImpl<StatHarmonicOrgMMa
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
@@ -295,7 +298,9 @@ public class RStatHarmonicOrgMServiceImpl extends ServiceImpl<StatHarmonicOrgMMa
|
||||
@Override
|
||||
public List<RIconVO> getPwRStatHarmonicOrgMIcon(RStatHarmonicMParam param) {
|
||||
//各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
|
||||
@@ -8,13 +8,17 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
|
||||
import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY;
|
||||
import com.njcn.harmonic.pojo.vo.DeptLevelVO;
|
||||
import com.njcn.harmonic.pojo.vo.RArrayVO;
|
||||
import com.njcn.harmonic.pojo.vo.RIconVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
|
||||
import com.njcn.harmonic.service.majornetwork.RStatHarmonicOrgQService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.utils.DeptUtil;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
@@ -47,88 +51,76 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl<StatHarmonicOrgQMa
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getRStatHarmonicQAll(StatisticsBizBaseParam param) {
|
||||
//对象主节点 获取所有的稳态类型
|
||||
List<DictData> steadyData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
Map<String, DictData> steadyMap = steadyData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
|
||||
//对象主节点 获取所有得指标类型
|
||||
List<DictData> lineTypeData = dicDataFeignClient.getDicDataByTypeCode
|
||||
(DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
Map<String, DictData> lineTypeMap = lineTypeData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
//获取主网id信息
|
||||
//获取配网信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
//数据库查询
|
||||
List<RStatHarmonicOrgQ> list = statHarmonicOrgQMapper.selectList(new LambdaQueryWrapper<RStatHarmonicOrgQ>()
|
||||
.eq(RStatHarmonicOrgQ::getDataType, mainnetData.getId())
|
||||
.in(RStatHarmonicOrgQ::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgQ::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgQ::getDataDate, param.getEndTime()));
|
||||
.ge(param.getStartTime() != null, RStatHarmonicOrgQ::getDataDate, param.getStartTime())
|
||||
.le(param.getEndTime() != null, RStatHarmonicOrgQ::getDataDate, param.getEndTime()));
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicOrgQ>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgQ::getHarmonicType));
|
||||
//判断对象是否为空
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
//重新生成数据结构
|
||||
measurementMap.forEach((key, value) -> {
|
||||
List<RStatHarmonicMVO> eventVO = new ArrayList<>();
|
||||
if (steadyMap.containsKey(key)) {
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
DictData data = steadyMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
for (RStatHarmonicOrgQ statHarmonic : value) {
|
||||
if(deptMap.containsKey(statHarmonic.getOrgNo())){
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
|
||||
DeptDTO deptDTO = deptMap.get(statHarmonic.getOrgNo());
|
||||
r.setHarmonicName(deptDTO.getName());
|
||||
r.setSort(deptDTO.getSort());
|
||||
eventVO.add(r);
|
||||
}
|
||||
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
List<RStatHarmonicMVO> rm = new ArrayList<>();
|
||||
for (DeptDTO deptDTO : deptDTOList) {
|
||||
RStatHarmonicMVO r = new RStatHarmonicMVO();
|
||||
r.setHarmonicName(deptDTO.getName());
|
||||
r.setSort(deptDTO.getSort());
|
||||
r.setOverLimitMeasurementAverage(0);
|
||||
r.setOverLimitMeasurementAccrued(0);
|
||||
r.setAverageOverDay(0.0F);
|
||||
r.setOverDay(0);
|
||||
r.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
r.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
rm.add(r);
|
||||
}
|
||||
for (DictData lineTypeDatum : lineTypeData) {
|
||||
RArrayVO r = new RArrayVO();
|
||||
r.setRowName(lineTypeDatum.getName());
|
||||
r.setColumns(rm);
|
||||
r.setSort(lineTypeDatum.getSort());
|
||||
arrayVOList.add(r);
|
||||
}
|
||||
//根据检测点对象分组
|
||||
Map<String, List<RStatHarmonicOrgQ>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgQ::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
MeasurementTypeClassMap.forEach((key, value) -> {
|
||||
if (lineTypeMap.containsKey(key)) {
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
DictData data = lineTypeMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
List<RStatHarmonicMVO> b = new ArrayList<>();
|
||||
b.addAll(rm);
|
||||
for (RStatHarmonicOrgQ orgY : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(orgY, RStatHarmonicMVO.class);
|
||||
DeptDTO data1 = deptMap.get(orgY.getOrgNo());
|
||||
if (ObjectUtil.isNotNull(data1)) {
|
||||
r.setHarmonicName(data1.getName());
|
||||
r.setSort(data1.getSort());
|
||||
r.setOverDay(0);
|
||||
b.add(r);
|
||||
}
|
||||
//根据监测点类别获取差集
|
||||
Map<String, List<RStatHarmonicOrgQ>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicOrgQ::getOrgNo));
|
||||
List<DeptDTO> notDeptDTOS = deptDTOList.stream().filter(r -> !listMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
this.assignDict(notDeptDTOS, eventVO, arrayVO);
|
||||
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
Map<String, RStatHarmonicMVO> linkedHashMap = new LinkedHashMap<>();
|
||||
for (RStatHarmonicMVO harmonicMVO : b) {
|
||||
linkedHashMap.put(harmonicMVO.getHarmonicName(), harmonicMVO);
|
||||
}
|
||||
List<RStatHarmonicMVO> aa = new ArrayList<>(linkedHashMap.values());
|
||||
aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort()));
|
||||
arrayVO.setColumns(aa);
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
|
||||
});
|
||||
Map<String, RArrayVO> linkedHashMap = new LinkedHashMap<>();
|
||||
for (RArrayVO rStatHarmonicMVO : arrayVOList) {
|
||||
linkedHashMap.put(rStatHarmonicMVO.getRowName(), rStatHarmonicMVO);
|
||||
});
|
||||
}
|
||||
//处理主节点不存在的集合
|
||||
List<DictData> notMeasurementList = steadyData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (DictData notData : notMeasurementList) {
|
||||
List<RStatHarmonicMVO> statharmonicVO = new ArrayList<>();
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
arrayVO.setRowName(notData.getName());
|
||||
arrayVO.setSort(notData.getSort());
|
||||
this.assignDict(deptDTOList, statharmonicVO, arrayVO);
|
||||
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
List<RArrayVO> aa = new ArrayList<>(linkedHashMap.values());
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return aa;
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -218,7 +210,9 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl<StatHarmonicOrgQMa
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
@@ -284,7 +278,9 @@ public class RStatHarmonicOrgQServiceImpl extends ServiceImpl<StatHarmonicOrgQMa
|
||||
@Override
|
||||
public List<RIconVO> getPwRStatHarmonicOrgQIcon(RStatHarmonicMParam param) {
|
||||
//各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
|
||||
@@ -6,15 +6,18 @@ import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.harmonic.mapper.StatHarmonicOrgMMapper;
|
||||
import com.njcn.harmonic.mapper.StatHarmonicOrgQMapper;
|
||||
import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgY;
|
||||
import com.njcn.harmonic.mapper.StatHarmonicOrgYMapper;
|
||||
import com.njcn.harmonic.pojo.vo.RArrayVO;
|
||||
import com.njcn.harmonic.pojo.vo.RIconVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
|
||||
import com.njcn.harmonic.pojo.vo.*;
|
||||
import com.njcn.harmonic.service.majornetwork.RStatHarmonicOrgYService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.utils.DeptUtil;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
@@ -44,66 +47,100 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final StatHarmonicOrgYMapper statHarmonicOrgYMapper;
|
||||
private final StatHarmonicOrgQMapper statHarmonicOrgQMapper;
|
||||
private final StatHarmonicOrgMMapper statHarmonicOrgMMapper;
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getRStatHarmonicYAll(StatisticsBizBaseParam param) {
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
|
||||
//对象主节点 获取所有得指标类型
|
||||
List<DictData> lineTypeData = dicDataFeignClient.getDicDataByTypeCode
|
||||
List<DictData> steadyData = dicDataFeignClient.getDicDataByTypeCode
|
||||
(DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
Map<String, DictData> lineTypeMap = lineTypeData.stream()
|
||||
List<String> steadyDataIds = steadyData.stream().map(DictData::getId).collect(Collectors.toList());
|
||||
Map<String, DictData> lineTypeMap = steadyData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
//获取子部门(按照code改变数据结构)
|
||||
List<DeptLevelVO> deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId());
|
||||
Map<String, DeptLevelVO> deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity()));
|
||||
|
||||
//获取主网id信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
|
||||
//数据库查询
|
||||
List<RStatHarmonicOrgY> list = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicOrgY>()
|
||||
.eq(RStatHarmonicOrgY::getDataType,mainnetData.getId())
|
||||
.in(RStatHarmonicOrgY::getOrgNo,deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgY::getDataDate, param.getEndTime()));
|
||||
|
||||
StatSubstationBizBaseParam baseParam;
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList=new ArrayList<>();
|
||||
List<RStatHarmonicMVO> rm=new ArrayList<>();
|
||||
for (DeptDTO deptDTO : deptDTOList) {
|
||||
RStatHarmonicMVO r = new RStatHarmonicMVO();
|
||||
r.setHarmonicName(deptDTO.getName());
|
||||
r.setSort(deptDTO.getSort());
|
||||
r.setOverLimitMeasurementAverage(0);
|
||||
r.setOverLimitMeasurementAccrued(0);
|
||||
r.setAverageOverDay(0.0F);
|
||||
r.setOverDay(0);
|
||||
r.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
r.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
rm.add(r);
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
List<RStatHarmonicVO> newList=new ArrayList<>();
|
||||
for (DeptLevelVO deptLevelVO : deptLevelVOList) {
|
||||
//数据库查询
|
||||
baseParam=BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
//没有子部门说明就是最底层部门
|
||||
if(CollUtil.isNotEmpty(deptLevelVO.getDeptList())){
|
||||
List<String> deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList());
|
||||
baseParam.setIds(deptCodeS);
|
||||
}else{
|
||||
baseParam.setIds(Arrays.asList(deptLevelVO.getCode()));
|
||||
}
|
||||
//区分 年 季 月
|
||||
String string = param.getType().toString();
|
||||
List<RStatHarmonicVO> list = new ArrayList<>();
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
list = statHarmonicOrgYMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
list = statHarmonicOrgQMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-月数据
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
list = statHarmonicOrgMMapper.selectInfoList(baseParam,steadyDataIds,mainnetData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
//获取数据库数据
|
||||
Map<String, RStatHarmonicVO> orgMap = list.stream()
|
||||
.collect(Collectors.toMap(RStatHarmonicVO::getHarmonicType, Function.identity()));
|
||||
|
||||
List<DictData> notMeasurementList = steadyData.stream().filter(r -> !orgMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (RStatHarmonicVO org : list) {
|
||||
org.setOrgNo(deptLevelVO.getCode());
|
||||
}
|
||||
RStatHarmonicVO org;
|
||||
for (DictData notData : notMeasurementList) {
|
||||
org=new RStatHarmonicVO();
|
||||
org.setOrgNo(deptLevelVO.getCode());
|
||||
org.setHarmonicType(notData.getId());
|
||||
org.setOverLimitMeasurementAverage(0);
|
||||
org.setOverLimitMeasurementAccrued(0);
|
||||
org.setAverageOverDay(0.0F);
|
||||
org.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
org.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
list.add(org);
|
||||
}
|
||||
newList.addAll(list);
|
||||
}
|
||||
for (DictData lineTypeDatum : lineTypeData) {
|
||||
RArrayVO r = new RArrayVO();
|
||||
r.setRowName(lineTypeDatum.getName());
|
||||
r.setColumns(rm);
|
||||
r.setSort(lineTypeDatum.getSort());
|
||||
arrayVOList.add(r);
|
||||
}
|
||||
//根据检测点对象分组
|
||||
Map<String, List<RStatHarmonicOrgY>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgY::getHarmonicType));
|
||||
|
||||
Map<String, List<RStatHarmonicVO>> harmonicMap =
|
||||
newList.stream().collect(Collectors.groupingBy(RStatHarmonicVO::getHarmonicType));
|
||||
|
||||
//重新生成数据结构
|
||||
MeasurementTypeClassMap.forEach((key, value) -> {
|
||||
harmonicMap.forEach((key, value) -> {
|
||||
if(lineTypeMap.containsKey(key)){
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
DictData data = lineTypeMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
List<RStatHarmonicMVO> b=new ArrayList<>();
|
||||
b.addAll(rm);
|
||||
for (RStatHarmonicOrgY orgY : value) {
|
||||
for (RStatHarmonicVO orgY : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(orgY, RStatHarmonicMVO.class);
|
||||
DeptDTO data1 = deptMap.get(orgY.getOrgNo());
|
||||
DeptLevelVO data1 = deptMap.get(orgY.getOrgNo());
|
||||
if (ObjectUtil.isNotNull(data1)){
|
||||
r.setHarmonicName(data1.getName());
|
||||
r.setSort(data1.getSort());
|
||||
@@ -111,34 +148,28 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
b.add(r);
|
||||
}
|
||||
}
|
||||
Map<String,RStatHarmonicMVO> linkedHashMap=new LinkedHashMap<>();
|
||||
for (RStatHarmonicMVO harmonicMVO : b) {
|
||||
linkedHashMap.put(harmonicMVO.getHarmonicName(),harmonicMVO);
|
||||
}
|
||||
List<RStatHarmonicMVO> aa=new ArrayList<>(linkedHashMap.values());
|
||||
aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort()));
|
||||
arrayVO.setColumns(aa);
|
||||
b.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort()));
|
||||
arrayVO.setColumns(b);
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
|
||||
});
|
||||
Map<String,RArrayVO> linkedHashMap=new LinkedHashMap<>();
|
||||
for (RArrayVO rStatHarmonicMVO : arrayVOList) {
|
||||
linkedHashMap.put(rStatHarmonicMVO.getRowName(),rStatHarmonicMVO);
|
||||
}
|
||||
List<RArrayVO> aa=new ArrayList<>(linkedHashMap.values());
|
||||
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return aa;
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RIconVO> getRStatHarmonicOrgYIcon(RStatHarmonicMParam param) {
|
||||
//各单位类型
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
//指标对象类型属性
|
||||
|
||||
//获取子部门(按照code改变数据结构)
|
||||
List<DeptLevelVO> deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId());
|
||||
Map<String, DeptLevelVO> deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity()));
|
||||
|
||||
//获取主网id信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
|
||||
DictData harmonicData;
|
||||
//判断是是否传入检测点信息值(电压)
|
||||
if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){
|
||||
@@ -152,66 +183,174 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
harmonicData= dicDataFeignClient.getDicDataById(
|
||||
param.getStasisID()).getData();
|
||||
}
|
||||
//反防止参数查询数据报错
|
||||
Assert.isTrue(
|
||||
CollUtil.isNotEmpty(deptDTOList)||ObjectUtil.isNotNull(harmonicData)
|
||||
, "各单位或者指标类型为空,请检查入参是否准确");
|
||||
|
||||
//获取主网id信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
|
||||
//初始化对象
|
||||
//初始化指标类型(横向)
|
||||
StatSubstationBizBaseParam baseParam;
|
||||
List<RIconVO> arrayVOList=new ArrayList<>();
|
||||
List<RStatHarmonicOrgY> rStatHarmonicVoltageMS = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicOrgY>()
|
||||
.eq(RStatHarmonicOrgY::getDataType,mainnetData.getId())
|
||||
.in(RStatHarmonicOrgY::getOrgNo,deptIds)
|
||||
.eq(RStatHarmonicOrgY::getHarmonicType, harmonicData.getId())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgY::getDataDate, param.getEndTime())
|
||||
);
|
||||
//将数据转换为map进行便利
|
||||
Map<String, List<RStatHarmonicOrgY>> voltageMMap = rStatHarmonicVoltageMS.stream()
|
||||
.collect(Collectors.groupingBy(RStatHarmonicOrgY::getOrgNo));
|
||||
//对象
|
||||
if (CollUtil.isNotEmpty(rStatHarmonicVoltageMS)){
|
||||
voltageMMap.forEach((key, value) -> {
|
||||
if(deptMap.containsKey(key)){
|
||||
DeptDTO data = deptMap.get(key);
|
||||
for (RStatHarmonicOrgY orgY : value) {
|
||||
RIconVO rIconVO = new RIconVO();
|
||||
rIconVO.setRowName(data.getName());
|
||||
rIconVO.setSort(data.getSort());
|
||||
rIconVO.setOverLimitMeasurementAccrued(orgY.getOverLimitMeasurementAccrued());
|
||||
rIconVO.setOverLimitMeasurementAverage(orgY.getOverLimitMeasurementAverage());
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(orgY.getOverLimitMeasurementRatioAccrued());
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(orgY.getOverLimitMeasurementRatioAverage());
|
||||
rIconVO.setAverageOverDay(orgY.getAverageOverDay());
|
||||
arrayVOList.add(rIconVO);
|
||||
}
|
||||
for (DeptLevelVO deptLevelVO : deptLevelVOList) {
|
||||
//数据库查询
|
||||
baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
//没有子部门说明就是最底层部门
|
||||
if (CollUtil.isNotEmpty(deptLevelVO.getDeptList())) {
|
||||
List<String> deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList());
|
||||
baseParam.setIds(deptCodeS);
|
||||
} else {
|
||||
baseParam.setIds(Arrays.asList(deptLevelVO.getCode()));
|
||||
}
|
||||
//区分 年 季 月
|
||||
String string = param.getType().toString();
|
||||
List<RStatHarmonicVO> list = new ArrayList<>();
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
list = statHarmonicOrgYMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
list = statHarmonicOrgQMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-月数据
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
list = statHarmonicOrgMMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
//处理主节点不存在的集合
|
||||
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);
|
||||
RIconVO rIconVO = new RIconVO();
|
||||
rIconVO.setRowName(deptLevelVO.getName());
|
||||
rIconVO.setSort(deptLevelVO.getSort());
|
||||
if(CollUtil.isNotEmpty(list)){
|
||||
rIconVO.setOverLimitMeasurementAccrued(list.get(0).getOverLimitMeasurementAccrued());
|
||||
rIconVO.setOverLimitMeasurementAverage(list.get(0).getOverLimitMeasurementAverage());
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(list.get(0).getOverLimitMeasurementRatioAccrued());
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(list.get(0).getOverLimitMeasurementRatioAverage());
|
||||
rIconVO.setAverageOverDay(list.get(0).getAverageOverDay());
|
||||
}else{
|
||||
rIconVO.setOverLimitMeasurementAverage(0);
|
||||
rIconVO.setOverLimitMeasurementAccrued(0);
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
rIconVO.setAverageOverDay(0.0F);
|
||||
}
|
||||
arrayVOList.add(rIconVO);
|
||||
}
|
||||
|
||||
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getPwRStatHarmonicYAll(StatisticsBizBaseParam param) {
|
||||
//对象主节点 获取所有得指标类型
|
||||
List<DictData> steadyData = dicDataFeignClient.getDicDataByTypeCode
|
||||
(DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
List<String> steadyDataIds = steadyData.stream().map(DictData::getId).collect(Collectors.toList());
|
||||
Map<String, DictData> lineTypeMap = steadyData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
|
||||
//获取子部门(按照code改变数据结构)
|
||||
List<DeptLevelVO> deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId());
|
||||
Map<String, DeptLevelVO> deptMap = deptLevelVOList.stream().collect(Collectors.toMap(DeptLevelVO::getCode, Function.identity()));
|
||||
|
||||
//获取主网id信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
|
||||
StatSubstationBizBaseParam baseParam;
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
List<RStatHarmonicVO> newList=new ArrayList<>();
|
||||
for (DeptLevelVO deptLevelVO : deptLevelVOList) {
|
||||
//数据库查询
|
||||
baseParam=BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
//没有子部门说明就是最底层部门
|
||||
if(CollUtil.isNotEmpty(deptLevelVO.getDeptList())){
|
||||
List<String> deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList());
|
||||
baseParam.setIds(deptCodeS);
|
||||
}else{
|
||||
baseParam.setIds(Arrays.asList(deptLevelVO.getCode()));
|
||||
}
|
||||
//区分 年 季 月
|
||||
String string = param.getType().toString();
|
||||
List<RStatHarmonicVO> list = new ArrayList<>();
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
list = statHarmonicOrgYMapper.selectInfoList(baseParam,steadyDataIds,distributionData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
list = statHarmonicOrgQMapper.selectInfoList(baseParam,steadyDataIds,distributionData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-月数据
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
list = statHarmonicOrgMMapper.selectInfoList(baseParam,steadyDataIds,distributionData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Map<String, RStatHarmonicVO> orgMap = list.stream()
|
||||
.collect(Collectors.toMap(RStatHarmonicVO::getHarmonicType, Function.identity()));
|
||||
|
||||
List<DictData> notMeasurementList = steadyData.stream().filter(r -> !orgMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (RStatHarmonicVO org : list) {
|
||||
org.setOrgNo(deptLevelVO.getCode());
|
||||
}
|
||||
RStatHarmonicVO org;
|
||||
for (DictData notData : notMeasurementList) {
|
||||
org=new RStatHarmonicVO();
|
||||
org.setOrgNo(deptLevelVO.getCode());
|
||||
org.setHarmonicType(notData.getId());
|
||||
org.setOverLimitMeasurementAverage(0);
|
||||
org.setOverLimitMeasurementAccrued(0);
|
||||
org.setAverageOverDay(0.0F);
|
||||
org.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
org.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
list.add(org);
|
||||
}
|
||||
newList.addAll(list);
|
||||
}
|
||||
|
||||
Map<String, List<RStatHarmonicVO>> harmonicMap =
|
||||
newList.stream().collect(Collectors.groupingBy(RStatHarmonicVO::getHarmonicType));
|
||||
|
||||
//重新生成数据结构
|
||||
harmonicMap.forEach((key, value) -> {
|
||||
if(lineTypeMap.containsKey(key)){
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
DictData data = lineTypeMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
List<RStatHarmonicMVO> b=new ArrayList<>();
|
||||
for (RStatHarmonicVO orgY : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(orgY, RStatHarmonicMVO.class);
|
||||
DeptLevelVO data1 = deptMap.get(orgY.getOrgNo());
|
||||
if (ObjectUtil.isNotNull(data1)){
|
||||
r.setHarmonicName(data1.getName());
|
||||
r.setSort(data1.getSort());
|
||||
r.setOverDay(0);
|
||||
b.add(r);
|
||||
}
|
||||
}
|
||||
b.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort()));
|
||||
arrayVO.setColumns(b);
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
});
|
||||
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getPwRStatHarmonicYOldAll(StatisticsBizBaseParam param,Integer type) {
|
||||
//对象主节点 获取所有的稳态类型
|
||||
List<DictData> steadyData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
@@ -219,25 +358,34 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
|
||||
//获取配网信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
DictData dictData ;
|
||||
if(type==1){
|
||||
//获取主网信息
|
||||
dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
}else{
|
||||
//获取配网信息
|
||||
dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
}
|
||||
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
//数据库查询
|
||||
List<RStatHarmonicOrgY> list = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicOrgY>()
|
||||
.eq(RStatHarmonicOrgY::getDataType, distributionData.getId())
|
||||
.in(RStatHarmonicOrgY::getOrgNo,deptIds)
|
||||
.eq(RStatHarmonicOrgY::getDataType, dictData.getId())
|
||||
.in(RStatHarmonicOrgY::getOrgNo, deptIds)
|
||||
.ge(param.getStartTime() != null, RStatHarmonicOrgY::getDataDate, param.getStartTime())
|
||||
.le(param.getEndTime() != null, RStatHarmonicOrgY::getDataDate, param.getEndTime()));
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicOrgY>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicOrgY::getHarmonicType));
|
||||
//判断对象是否为空
|
||||
if(CollUtil.isNotEmpty(list)){
|
||||
if (CollUtil.isNotEmpty(list)) {
|
||||
//重新生成数据结构
|
||||
measurementMap.forEach((key, value) -> {
|
||||
List<RStatHarmonicMVO> eventVO = new ArrayList<>();
|
||||
@@ -254,6 +402,7 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
r.setSort(deptDTO.getSort());
|
||||
eventVO.add(r);
|
||||
}
|
||||
|
||||
}
|
||||
//根据监测点类别获取差集
|
||||
Map<String, List<RStatHarmonicOrgY>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicOrgY::getOrgNo));
|
||||
@@ -283,12 +432,15 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
|
||||
@Override
|
||||
public List<RIconVO> getPwRStatHarmonicOrgYIcon(RStatHarmonicMParam param) {
|
||||
//各单位类型
|
||||
//子节点 获取所有得各单位类型
|
||||
List<DeptDTO> deptDTOList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
//指标对象类型属性
|
||||
|
||||
//获取子部门(按照code改变数据结构)
|
||||
List<DeptLevelVO> deptLevelVOList = DeptUtil.getDeptLevelVOList(deptDTOList, param.getId());
|
||||
|
||||
//获取主网id信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
|
||||
DictData harmonicData;
|
||||
//判断是是否传入检测点信息值(电压)
|
||||
if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){
|
||||
@@ -302,19 +454,104 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
harmonicData= dicDataFeignClient.getDicDataById(
|
||||
param.getStasisID()).getData();
|
||||
}
|
||||
|
||||
//初始化指标类型(横向)
|
||||
StatSubstationBizBaseParam baseParam;
|
||||
List<RIconVO> arrayVOList=new ArrayList<>();
|
||||
for (DeptLevelVO deptLevelVO : deptLevelVOList) {
|
||||
//数据库查询
|
||||
baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
//没有子部门说明就是最底层部门
|
||||
if (CollUtil.isNotEmpty(deptLevelVO.getDeptList())) {
|
||||
List<String> deptCodeS = deptLevelVO.getDeptList().stream().map(DeptLevelVO::getCode).collect(Collectors.toList());
|
||||
baseParam.setIds(deptCodeS);
|
||||
} else {
|
||||
baseParam.setIds(Arrays.asList(deptLevelVO.getCode()));
|
||||
}
|
||||
//区分 年 季 月
|
||||
String string = param.getType().toString();
|
||||
List<RStatHarmonicVO> list = new ArrayList<>();
|
||||
switch (string) {
|
||||
//查询各单位累计超标监测点数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
list = statHarmonicOrgYMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
list = statHarmonicOrgQMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId());
|
||||
break;
|
||||
//查询各单位累计超标监测点数-月数据
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
list = statHarmonicOrgMMapper.selectInfoList(baseParam, Arrays.asList(harmonicData.getId()), mainnetData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
RIconVO rIconVO = new RIconVO();
|
||||
rIconVO.setRowName(deptLevelVO.getName());
|
||||
rIconVO.setSort(deptLevelVO.getSort());
|
||||
if(CollUtil.isNotEmpty(list)){
|
||||
rIconVO.setOverLimitMeasurementAccrued(list.get(0).getOverLimitMeasurementAccrued());
|
||||
rIconVO.setOverLimitMeasurementAverage(list.get(0).getOverLimitMeasurementAverage());
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(list.get(0).getOverLimitMeasurementRatioAccrued());
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(list.get(0).getOverLimitMeasurementRatioAverage());
|
||||
rIconVO.setAverageOverDay(list.get(0).getAverageOverDay());
|
||||
}else{
|
||||
rIconVO.setOverLimitMeasurementAverage(0);
|
||||
rIconVO.setOverLimitMeasurementAccrued(0);
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
rIconVO.setAverageOverDay(0.0F);
|
||||
}
|
||||
arrayVOList.add(rIconVO);
|
||||
}
|
||||
|
||||
arrayVOList.sort(Comparator.comparing(rIconVO -> rIconVO.getSort()));
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RIconVO> getPwRStatHarmonicOrgYOldIcon(RStatHarmonicMParam param,Integer type) {
|
||||
//各单位类型
|
||||
List<DeptDTO> deptList = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<DeptDTO> deptDTOList= DeptUtil.getDeptSubsetVOList(deptList,param.getId());
|
||||
|
||||
Map<String, DeptDTO> deptMap = deptDTOList.stream().collect(Collectors.toMap(DeptDTO::getCode, Function.identity()));
|
||||
//获取部门id集合
|
||||
List<String> deptIds = deptDTOList.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
//指标对象类型属性
|
||||
DictData harmonicData;
|
||||
//判断是是否传入检测点信息值(电压)
|
||||
if (StrUtil.isBlank(param.getStasisID()) && StrUtil.isBlank(param.getMonitorID())) {
|
||||
//指标对象类型
|
||||
List<DictData> indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
indicatorTypeDate.sort(Comparator.comparing(data -> data.getSort()));
|
||||
harmonicData = indicatorTypeDate.get(0);
|
||||
} else {
|
||||
//获取指标对象(频率偏差)
|
||||
harmonicData = dicDataFeignClient.getDicDataById(
|
||||
param.getStasisID()).getData();
|
||||
}
|
||||
//反防止参数查询数据报错
|
||||
Assert.isTrue(
|
||||
CollUtil.isNotEmpty(deptDTOList)||ObjectUtil.isNotNull(harmonicData)
|
||||
CollUtil.isNotEmpty(deptDTOList) || ObjectUtil.isNotNull(harmonicData)
|
||||
, "各单位或者指标类型为空,请检查入参是否准确");
|
||||
|
||||
//获取配网信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
DictData dictData ;
|
||||
if(type==1){
|
||||
//获取主网信息
|
||||
dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
}else{
|
||||
//获取配网信息
|
||||
dictData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
}
|
||||
|
||||
//初始化对象
|
||||
List<RIconVO> arrayVOList=new ArrayList<>();
|
||||
List<RIconVO> arrayVOList = new ArrayList<>();
|
||||
List<RStatHarmonicOrgY> rStatHarmonicVoltageMS = statHarmonicOrgYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicOrgY>()
|
||||
.eq(RStatHarmonicOrgY::getDataType,distributionData.getId())
|
||||
.in(RStatHarmonicOrgY::getOrgNo,deptIds)
|
||||
.eq(RStatHarmonicOrgY::getDataType, dictData.getId())
|
||||
.in(RStatHarmonicOrgY::getOrgNo, deptIds)
|
||||
.eq(RStatHarmonicOrgY::getHarmonicType, harmonicData.getId())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicOrgY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicOrgY::getDataDate, param.getEndTime())
|
||||
@@ -323,19 +560,19 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
Map<String, List<RStatHarmonicOrgY>> voltageMMap = rStatHarmonicVoltageMS.stream()
|
||||
.collect(Collectors.groupingBy(RStatHarmonicOrgY::getOrgNo));
|
||||
//对象
|
||||
if (CollUtil.isNotEmpty(rStatHarmonicVoltageMS)){
|
||||
if (CollUtil.isNotEmpty(rStatHarmonicVoltageMS)) {
|
||||
voltageMMap.forEach((key, value) -> {
|
||||
if(deptMap.containsKey(key)){
|
||||
if (deptMap.containsKey(key)) {
|
||||
DeptDTO data = deptMap.get(key);
|
||||
for (RStatHarmonicOrgY orgY : value) {
|
||||
for (RStatHarmonicOrgY orgQ : value) {
|
||||
RIconVO rIconVO = new RIconVO();
|
||||
rIconVO.setRowName(data.getName());
|
||||
rIconVO.setSort(data.getSort());
|
||||
rIconVO.setOverLimitMeasurementAccrued(orgY.getOverLimitMeasurementAccrued());
|
||||
rIconVO.setOverLimitMeasurementAverage(orgY.getOverLimitMeasurementAverage());
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(orgY.getOverLimitMeasurementRatioAccrued());
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(orgY.getOverLimitMeasurementRatioAverage());
|
||||
rIconVO.setAverageOverDay(orgY.getAverageOverDay());
|
||||
rIconVO.setOverLimitMeasurementAccrued(orgQ.getOverLimitMeasurementAccrued());
|
||||
rIconVO.setOverLimitMeasurementAverage(orgQ.getOverLimitMeasurementAverage());
|
||||
rIconVO.setOverLimitMeasurementRatioAccrued(orgQ.getOverLimitMeasurementRatioAccrued());
|
||||
rIconVO.setOverLimitMeasurementRatioAverage(orgQ.getOverLimitMeasurementRatioAverage());
|
||||
rIconVO.setAverageOverDay(orgQ.getAverageOverDay());
|
||||
arrayVOList.add(rIconVO);
|
||||
}
|
||||
|
||||
@@ -363,7 +600,7 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
/**
|
||||
* 便利赋值
|
||||
*
|
||||
* @param deptDTOList 部门信息集合
|
||||
* @param deptDTOList 部门信息集合
|
||||
* @param statharmonicVO 暂态监测点
|
||||
* @param arrayVO 初始化对象
|
||||
*/
|
||||
@@ -382,5 +619,4 @@ public class RStatHarmonicOrgYServiceImpl extends ServiceImpl<StatHarmonicOrgYMa
|
||||
}
|
||||
arrayVO.setColumns(statharmonicVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,11 @@
|
||||
package com.njcn.harmonic.service.specialanalysis;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.harmonic.pojo.param.PowerQualityParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpWpPowerDetailM;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.harmonic.pojo.vo.RMpRailwayTractionDetailVO;
|
||||
import com.njcn.harmonic.pojo.vo.RMpWpPowerDetailVO;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -13,4 +17,17 @@ import com.baomidou.mybatisplus.extension.service.IService;
|
||||
*/
|
||||
public interface RMpWpPowerDetailMService extends IService<RMpWpPowerDetailM> {
|
||||
|
||||
/**
|
||||
* 详细数据表分页查询
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Page<RMpWpPowerDetailVO> getWindFarmDetailInfo(PowerQualityParam.PowerQualityInfoParam param);
|
||||
|
||||
/**
|
||||
* 电气化铁路分页查询
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
Page<RMpRailwayTractionDetailVO> getRailwayDetailInfo(PowerQualityParam param);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.harmonic.service.specialanalysis.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -133,7 +134,11 @@ public class RMpEmissionMServiceImpl extends ServiceImpl<RMpEmissionMMapper, RMp
|
||||
.eq(StringUtils.isNotBlank(monitorTag), RMpEmissionIM::getMonitorTag, monitorTag)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpEmissionIM::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpEmissionIM::getDataDate, endTime);
|
||||
RMpEmissionIM emissionI = rMpEmissionIMService.list(emissionIWrapper).get(0);
|
||||
List<RMpEmissionIM> rMpEmissionIMList = rMpEmissionIMService.list(emissionIWrapper);
|
||||
RMpEmissionIM emissionI =new RMpEmissionIM();
|
||||
if(CollectionUtil.isNotEmpty(rMpEmissionIMList)){
|
||||
emissionI = rMpEmissionIMList.get(0);
|
||||
}
|
||||
|
||||
//查询风电场发射特性/各次谐波电流超标占比
|
||||
LambdaQueryWrapper<RMpEmissionIExcessRateM> emissionIExcessRateWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -142,7 +147,11 @@ public class RMpEmissionMServiceImpl extends ServiceImpl<RMpEmissionMMapper, RMp
|
||||
.eq(StringUtils.isNotBlank(monitorTag), RMpEmissionIExcessRateM::getMonitorTag, monitorTag)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpEmissionIExcessRateM::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpEmissionIExcessRateM::getDataDate, endTime);
|
||||
RMpEmissionIExcessRateM rate = rMpEmissionIExcessRateMService.list(emissionIExcessRateWrapper).get(0);
|
||||
List<RMpEmissionIExcessRateM> rateMList = rMpEmissionIExcessRateMService.list(emissionIExcessRateWrapper);
|
||||
RMpEmissionIExcessRateM rate =new RMpEmissionIExcessRateM();
|
||||
if(CollectionUtil.isNotEmpty(rateMList)){
|
||||
rate = rateMList.get(0);
|
||||
}
|
||||
|
||||
RMpEmissionChartVO rMpEmissionChartVO = new RMpEmissionChartVO();
|
||||
RMpEmissionIMVO rMpEmissionIMVO = new RMpEmissionIMVO();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.harmonic.service.specialanalysis.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -8,6 +9,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.harmonic.mapper.specialanalysis.RMpInfluenceMMapper;
|
||||
import com.njcn.harmonic.pojo.param.RMpInfluenceParam;
|
||||
import com.njcn.harmonic.pojo.po.RMpEmissionIExcessRateM;
|
||||
import com.njcn.harmonic.pojo.po.RMpInfluenceM;
|
||||
import com.njcn.harmonic.pojo.po.RMpInfluenceVExcessRateM;
|
||||
import com.njcn.harmonic.pojo.po.RMpInfluenceVM;
|
||||
@@ -125,7 +127,11 @@ public class RMpInfluenceMServiceImpl extends ServiceImpl<RMpInfluenceMMapper, R
|
||||
.eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceVM::getMonitorTag, monitorTag)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpInfluenceVM::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpInfluenceVM::getDataDate, endTime);
|
||||
RMpInfluenceVM emissionI = rMpInfluenceVMService.list(emissionIWrapper).get(0);
|
||||
List<RMpInfluenceVM> list = rMpInfluenceVMService.list(emissionIWrapper);
|
||||
RMpInfluenceVM emissionI =new RMpInfluenceVM();
|
||||
if(CollectionUtil.isNotEmpty(list)){
|
||||
emissionI = list.get(0);
|
||||
}
|
||||
|
||||
//查询风电场发射特性/各次谐波电压超标占比
|
||||
LambdaQueryWrapper<RMpInfluenceVExcessRateM> emissionIExcessRateWrapper = new LambdaQueryWrapper<>();
|
||||
@@ -134,7 +140,12 @@ public class RMpInfluenceMServiceImpl extends ServiceImpl<RMpInfluenceMMapper, R
|
||||
.eq(StringUtils.isNotBlank(monitorTag), RMpInfluenceVExcessRateM::getMonitorTag, monitorTag)
|
||||
.ge(StringUtils.isNotBlank(startTime), RMpInfluenceVExcessRateM::getDataDate, startTime)
|
||||
.le(StringUtils.isNotBlank(endTime), RMpInfluenceVExcessRateM::getDataDate, endTime);
|
||||
RMpInfluenceVExcessRateM rate = rMpInfluenceVExcessRateMService.list(emissionIExcessRateWrapper).get(0);
|
||||
|
||||
List<RMpInfluenceVExcessRateM> rateMS = rMpInfluenceVExcessRateMService.list(emissionIExcessRateWrapper);
|
||||
RMpInfluenceVExcessRateM rate=new RMpInfluenceVExcessRateM();
|
||||
if(CollectionUtil.isNotEmpty(list)){
|
||||
rate=rateMS.get(0);
|
||||
}
|
||||
|
||||
RMpInfluenceChartVO rMpInfluenceChartVO = new RMpInfluenceChartVO();
|
||||
|
||||
|
||||
@@ -1,11 +1,37 @@
|
||||
package com.njcn.harmonic.service.specialanalysis.impl;
|
||||
|
||||
import com.njcn.harmonic.pojo.po.RMpWpPowerDetailM;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.device.pms.api.MonitorClient;
|
||||
import com.njcn.device.pms.api.TractionStationClient;
|
||||
import com.njcn.device.pms.pojo.dto.PmsMonitorDTO;
|
||||
import com.njcn.device.pms.pojo.dto.PmsTractionStationDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsMonitorParam;
|
||||
import com.njcn.device.pms.pojo.param.PmsTractionStationParam;
|
||||
import com.njcn.harmonic.mapper.specialanalysis.RMpRailwayTractionDetailMapper;
|
||||
import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailQMapper;
|
||||
import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailYMapper;
|
||||
import com.njcn.harmonic.pojo.param.PowerQualityParam;
|
||||
import com.njcn.harmonic.pojo.po.*;
|
||||
import com.njcn.harmonic.mapper.specialanalysis.RMpWpPowerDetailMMapper;
|
||||
import com.njcn.harmonic.pojo.vo.RMpRailwayTractionDetailVO;
|
||||
import com.njcn.harmonic.pojo.vo.RMpWpPowerDetailVO;
|
||||
import com.njcn.harmonic.service.specialanalysis.RMpWpPowerDetailMService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 风电站_台区电能质量明细_月表 服务实现类
|
||||
@@ -15,6 +41,131 @@ import org.springframework.stereotype.Service;
|
||||
* @since 2022-11-30
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RMpWpPowerDetailMServiceImpl extends ServiceImpl<RMpWpPowerDetailMMapper, RMpWpPowerDetailM> implements RMpWpPowerDetailMService {
|
||||
|
||||
private final RMpWpPowerDetailQMapper rMpWpPowerDetailQMapper;
|
||||
private final RMpWpPowerDetailYMapper rMpWpPowerDetailYMapper;
|
||||
private final RMpRailwayTractionDetailMapper rMpRailwayTractionDetailMapper;
|
||||
private final MonitorClient monitorClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
private final TractionStationClient tractionStationClient;
|
||||
|
||||
@Override
|
||||
public Page<RMpWpPowerDetailVO> getWindFarmDetailInfo(PowerQualityParam.PowerQualityInfoParam param) {
|
||||
//获取部门id集合
|
||||
List<Dept> deptDTOS = deptFeignClient.getDirectSonSelf(param.getId()).getData();
|
||||
List<String> deptIds = deptDTOS.stream().map(Dept::getCode).collect(Collectors.toList());
|
||||
|
||||
//根据条件查询单位下面的所有配网监测点
|
||||
PmsMonitorParam pmsMonitorParam = new PmsMonitorParam();
|
||||
//单位id
|
||||
pmsMonitorParam.setOrgIds(deptIds);
|
||||
pmsMonitorParam.setMonitorTag(param.getMonitorTag());
|
||||
pmsMonitorParam.setIsSpecialMonitor(1);
|
||||
|
||||
//获取监测点信息
|
||||
List<PmsMonitorDTO> monitorDTOS = monitorClient.getMonitorInfoListByCond(pmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(monitorDTOS)) {
|
||||
return new Page<>();
|
||||
}
|
||||
//监测点数据转换
|
||||
Map<String, PmsMonitorDTO> monitorMap = monitorDTOS.stream()
|
||||
.collect(Collectors.toMap(PmsMonitorDTO::getId, Function.identity()));
|
||||
//获取监测点id
|
||||
List<String> monitorIds = monitorDTOS
|
||||
.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList());
|
||||
Page<RMpWpPowerDetailVO> page = new Page<>();
|
||||
//数据库分页查询
|
||||
switch (param.getType().toString()) {
|
||||
//查询区域超标统计-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
Page<RMpWpPowerDetailY> pageY = rMpWpPowerDetailYMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize())
|
||||
,new LambdaQueryWrapper<RMpWpPowerDetailY>()
|
||||
.in(RMpWpPowerDetailY::getMeasurementPointId,monitorIds)
|
||||
.eq(RMpWpPowerDetailY::getMonitorTag,param.getMonitorTag())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RMpWpPowerDetailY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RMpWpPowerDetailY::getDataDate, param.getEndTime())
|
||||
);
|
||||
List<RMpWpPowerDetailVO> rMpWpPowerDetailVOS = BeanUtil.copyToList(pageY.getRecords(), RMpWpPowerDetailVO.class);
|
||||
page=BeanUtil.copyProperties(pageY,Page.class);
|
||||
page.setRecords(rMpWpPowerDetailVOS);
|
||||
break;
|
||||
//查询区域超标统计-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
Page<RMpWpPowerDetailQ> pageList = rMpWpPowerDetailQMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize())
|
||||
,new LambdaQueryWrapper<RMpWpPowerDetailQ>()
|
||||
.in(RMpWpPowerDetailQ::getMeasurementPointId,monitorIds)
|
||||
.eq(RMpWpPowerDetailQ::getMonitorTag,param.getMonitorTag())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RMpWpPowerDetailQ::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RMpWpPowerDetailQ::getDataDate, param.getEndTime())
|
||||
);
|
||||
List<RMpWpPowerDetailVO> rMpWpPowerDetailVOS2 = BeanUtil.copyToList(pageList.getRecords(), RMpWpPowerDetailVO.class);
|
||||
page=BeanUtil.copyProperties(pageList,Page.class);
|
||||
page.setRecords(rMpWpPowerDetailVOS2);
|
||||
break;
|
||||
//查询各区域超标统计-月数据
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
Page<RMpWpPowerDetailM> page1= this.page(new Page<>(param.getPageNum(), param.getPageSize())
|
||||
,new LambdaQueryWrapper<RMpWpPowerDetailM>()
|
||||
.in(RMpWpPowerDetailM::getMeasurementPointId,monitorIds)
|
||||
.eq(RMpWpPowerDetailM::getMonitorTag,param.getMonitorTag())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RMpWpPowerDetailM::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RMpWpPowerDetailM::getDataDate, param.getEndTime())
|
||||
);
|
||||
List<RMpWpPowerDetailVO> rMpWpPowerDetailVOS3 = BeanUtil.copyToList(page1.getRecords(), RMpWpPowerDetailVO.class);
|
||||
page=BeanUtil.copyProperties(page1,Page.class);
|
||||
page.setRecords(rMpWpPowerDetailVOS3);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
page.getRecords().stream().forEach(vo->{
|
||||
if(monitorMap.containsKey(vo.getMeasurementPointId())){
|
||||
PmsMonitorDTO monitorDTO = monitorMap.get(vo.getMeasurementPointId());
|
||||
vo.setOrgName(monitorDTO.getOrgName());
|
||||
vo.setMeasurementPointName(monitorDTO.getName());
|
||||
}
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<RMpRailwayTractionDetailVO> getRailwayDetailInfo(PowerQualityParam param) {
|
||||
//获取部门id集合
|
||||
List<Dept> deptDTOS = deptFeignClient.getDirectSonSelf(param.getId()).getData();
|
||||
List<String> deptIds = deptDTOS.stream().map(Dept::getCode).collect(Collectors.toList());
|
||||
|
||||
//根据部门信息,获取牵引站信息
|
||||
PmsTractionStationParam stationParam=new PmsTractionStationParam();
|
||||
stationParam.setOrgIds(deptIds);
|
||||
List<PmsTractionStationDTO> tractionStationDTOS = tractionStationClient.getPmsTractionStationInfo(stationParam).getData();
|
||||
|
||||
//获取牵引站id集合
|
||||
List<String> ids = tractionStationDTOS.stream().map(PmsTractionStationDTO::getId).collect(Collectors.toList());
|
||||
Map<String, PmsTractionStationDTO> dtoMap = tractionStationDTOS.stream()
|
||||
.collect(Collectors.toMap(PmsTractionStationDTO::getId, Function.identity()));
|
||||
|
||||
Page<RMpRailwayTractionDetail> oldPage = rMpRailwayTractionDetailMapper.selectPage(new Page<>(param.getPageNum(), param.getPageSize()), new LambdaQueryWrapper<RMpRailwayTractionDetail>()
|
||||
.in(RMpRailwayTractionDetail::getTractionStationId, ids)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RMpRailwayTractionDetail::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RMpRailwayTractionDetail::getDataDate, param.getEndTime())
|
||||
);
|
||||
|
||||
List<RMpRailwayTractionDetailVO> newList = BeanUtil.copyToList(oldPage.getRecords(), RMpRailwayTractionDetailVO.class);
|
||||
newList.stream().forEach(vo->{
|
||||
if(dtoMap.containsKey(vo.getTractionStationId())){
|
||||
PmsTractionStationDTO dto = dtoMap.get(vo.getTractionStationId());
|
||||
vo.setOrgName(dto.getOrgName());
|
||||
vo.setRailwayType(dto.getRailwayType());
|
||||
vo.setTractionStationName(dto.getName());
|
||||
vo.setRailwayLineName(dto.getRailwayLineName());
|
||||
vo.setVoltageLevel(dto.getVoltageLevel());
|
||||
vo.setRatedCapacity(dto.getRatedCapacity());
|
||||
}
|
||||
});
|
||||
Page<RMpRailwayTractionDetailVO> page=BeanUtil.copyProperties(oldPage,Page.class);
|
||||
page.setRecords(newList);
|
||||
return page;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.user.pojo.po.Dept;
|
||||
import com.njcn.web.utils.WebUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -55,13 +56,13 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl<RStatOrgPvPow
|
||||
throw new BusinessException(CommonResponseEnum.NO_DATA, "台区电能质量事件类型为空");
|
||||
}
|
||||
//获取部门id集合
|
||||
List<DeptDTO> deptDTOS = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<Dept> deptDTOS = deptFeignClient.getDirectSonSelf(param.getId()).getData();
|
||||
if(CollectionUtil.isEmpty(deptDTOS)){
|
||||
throw new BusinessException(CommonResponseEnum.NO_DATA, "获取部门信息为空");
|
||||
}
|
||||
Map<String, DeptDTO> deptDTOMap = deptDTOS.stream().collect
|
||||
(Collectors.toMap(DeptDTO::getCode, Function.identity(), (key, key2) -> key2));
|
||||
List<String> OrgNOS = deptDTOS.stream().map(DeptDTO::getCode).collect(Collectors.toList());
|
||||
Map<String, Dept> deptDTOMap = deptDTOS.stream().collect
|
||||
(Collectors.toMap(Dept::getCode, Function.identity(), (key, key2) -> key2));
|
||||
List<String> OrgNOS = deptDTOS.stream().map(Dept::getCode).collect(Collectors.toList());
|
||||
//根据字典Code,取出字典id,拼入sql中
|
||||
dictDataList.stream().forEach(dictData ->{
|
||||
if(DicDataEnum.EVENT_TYPE_L.getCode().equals(dictData.getCode())){
|
||||
@@ -81,7 +82,7 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl<RStatOrgPvPow
|
||||
Page<RStatOrgPvPowerStreamVO> page = rStatOrgPvPowerQualityYPOMapper.selectListPage(new Page<>(param.getPageNum(), param.getPageSize()), bearParam);
|
||||
page.getRecords().stream().forEach(vo->{
|
||||
if(deptDTOMap.containsKey(vo.getOrgNo())){
|
||||
DeptDTO deptDTO = deptDTOMap.get(vo.getOrgNo());
|
||||
Dept deptDTO = deptDTOMap.get(vo.getOrgNo());
|
||||
vo.setOrgNo(deptDTO.getName());
|
||||
}
|
||||
});
|
||||
@@ -98,7 +99,7 @@ public class RStatOrgPvPowerQualityServiceImpl extends ServiceImpl<RStatOrgPvPow
|
||||
pwPmsMonitorParam.setMonitorSort(param.getMonitorSort());
|
||||
//获取监测点信息
|
||||
PowerQualityParam.PowerQualityDetailParam bearParam= BeanUtil.copyProperties(param, PowerQualityParam.PowerQualityDetailParam.class);
|
||||
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwMonitorList(pwPmsMonitorParam).getData();
|
||||
List<PwPmsMonitorDTO> pwMonitorList = pwMonitorClient.getPwPhotovoltaicMonitorList(pwPmsMonitorParam).getData();
|
||||
if (CollUtil.isEmpty(pwMonitorList)) {
|
||||
return new Page<>();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user