代码调整

This commit is contained in:
wr
2024-02-23 13:23:43 +08:00
parent 7c278892a3
commit 6ab679caf2
9 changed files with 183 additions and 305 deletions

View File

@@ -43,7 +43,9 @@
<include refid="query_field"></include> <include refid="query_field"></include>
FROM FROM
r_stat_org_y AS rso r_stat_org_y AS rso
LEFT JOIN r_stat_event_org_y AS rseo ON rso.org_no = rseo.org_no and rso.data_date = rseo.data_date LEFT JOIN r_stat_event_y AS rseo ON rso.org_no = rseo.org_no
and rso.data_date = rseo.data_date
and rso.measurement_type_class = rseo.measurement_type_class
WHERE WHERE
<include refid="query_where"></include> <include refid="query_where"></include>
</select> </select>
@@ -54,7 +56,9 @@
<include refid="query_field"></include> <include refid="query_field"></include>
FROM FROM
r_stat_org_q AS rso r_stat_org_q AS rso
LEFT JOIN r_stat_event_org_q AS rseo ON rso.org_no = rseo.org_no and rso.data_date = rseo.data_date LEFT JOIN r_stat_event_q AS rseo ON rso.org_no = rseo.org_no
and rso.data_date = rseo.data_date
and rso.measurement_type_class = rseo.measurement_type_class
WHERE WHERE
<include refid="query_where"></include> <include refid="query_where"></include>
</select> </select>
@@ -65,7 +69,9 @@
<include refid="query_field"></include> <include refid="query_field"></include>
FROM FROM
r_stat_org_m AS rso r_stat_org_m AS rso
LEFT JOIN r_stat_event_org_m AS rseo ON rso.org_no = rseo.org_no and rso.data_date = rseo.data_date LEFT JOIN r_stat_event_m AS rseo ON rso.org_no = rseo.org_no
and rso.data_date = rseo.data_date
and rso.measurement_type_class = rseo.measurement_type_class
WHERE WHERE
<include refid="query_where"></include> <include refid="query_where"></include>
</select> </select>

View File

@@ -47,7 +47,9 @@
<include refid="query_rStatEventOrg_field"></include> <include refid="query_rStatEventOrg_field"></include>
FROM FROM
r_stat_org_y AS rso r_stat_org_y AS rso
LEFT JOIN r_stat_event_org_y AS rseo ON rso.org_no = rseo.org_no and rso.data_date = rseo.data_date LEFT JOIN r_stat_event_y AS rseo ON rso.org_no = rseo.org_no
and rso.data_date = rseo.data_date
and rso.measurement_type_class = rseo.measurement_type_class
WHERE WHERE
<include refid="query_rStatEventOrg_where"></include> <include refid="query_rStatEventOrg_where"></include>
</select> </select>
@@ -59,7 +61,9 @@
<include refid="query_rStatEventOrg_field"></include> <include refid="query_rStatEventOrg_field"></include>
FROM FROM
r_stat_org_q AS rso r_stat_org_q AS rso
LEFT JOIN r_stat_event_org_q AS rseo ON rso.org_no = rseo.org_no and rso.data_date = rseo.data_date LEFT JOIN r_stat_event_q AS rseo ON rso.org_no = rseo.org_no
and rso.data_date = rseo.data_date
and rso.measurement_type_class = rseo.measurement_type_class
WHERE WHERE
<include refid="query_rStatEventOrg_where"></include> <include refid="query_rStatEventOrg_where"></include>
</select> </select>
@@ -71,7 +75,9 @@
<include refid="query_rStatEventOrg_field"></include> <include refid="query_rStatEventOrg_field"></include>
FROM FROM
r_stat_org_m AS rso r_stat_org_m AS rso
LEFT JOIN r_stat_event_org_m AS rseo ON rso.org_no = rseo.org_no and rso.data_date = rseo.data_date LEFT JOIN r_stat_event_m AS rseo ON rso.org_no = rseo.org_no
and rso.data_date = rseo.data_date
and rso.measurement_type_class = rseo.measurement_type_class
WHERE WHERE
<include refid="query_rStatEventOrg_where"></include> <include refid="query_rStatEventOrg_where"></include>
</select> </select>

View File

@@ -91,10 +91,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued; private Integer tAccrued;
private Float oAverage; private Float oAverage;
private Float oAccrued; private Float oAccrued;
private Integer chainAverage; private Float chainAverage;
private Integer chainAccrued; private Float chainAccrued;
private Integer sameAverage; private Float sameAverage;
private Integer sameAccrued; private Float sameAccrued;
private Float averageOverDay; private Float averageOverDay;
/** /**
@@ -104,10 +104,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued1; private Integer tAccrued1;
private Float oAverage1; private Float oAverage1;
private Float oAccrued1; private Float oAccrued1;
private Integer chainAverage1; private Float chainAverage1;
private Integer chainAccrued1; private Float chainAccrued1;
private Integer sameAverage1; private Float sameAverage1;
private Integer sameAccrued1; private Float sameAccrued1;
private Float averageOverDay1; private Float averageOverDay1;
/** /**
@@ -117,10 +117,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued2; private Integer tAccrued2;
private Float oAverage2; private Float oAverage2;
private Float oAccrued2; private Float oAccrued2;
private Integer chainAverage2; private Float chainAverage2;
private Integer chainAccrued2; private Float chainAccrued2;
private Integer sameAverage2; private Float sameAverage2;
private Integer sameAccrued2; private Float sameAccrued2;
private Float averageOverDay2; private Float averageOverDay2;
/** /**
@@ -130,10 +130,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued3; private Integer tAccrued3;
private Float oAverage3; private Float oAverage3;
private Float oAccrued3; private Float oAccrued3;
private Integer chainAverage3; private Float chainAverage3;
private Integer chainAccrued3; private Float chainAccrued3;
private Integer sameAverage3; private Float sameAverage3;
private Integer sameAccrued3; private Float sameAccrued3;
private Float averageOverDay3; private Float averageOverDay3;
/** /**
@@ -143,10 +143,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued4; private Integer tAccrued4;
private Float oAverage4; private Float oAverage4;
private Float oAccrued4; private Float oAccrued4;
private Integer chainAverage4; private Float chainAverage4;
private Integer chainAccrued4; private Float chainAccrued4;
private Integer sameAverage4; private Float sameAverage4;
private Integer sameAccrued4; private Float sameAccrued4;
private Float averageOverDay4; private Float averageOverDay4;
@@ -157,10 +157,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued5; private Integer tAccrued5;
private Float oAverage5; private Float oAverage5;
private Float oAccrued5; private Float oAccrued5;
private Integer chainAverage5; private Float chainAverage5;
private Integer chainAccrued5; private Float chainAccrued5;
private Integer sameAverage5; private Float sameAverage5;
private Integer sameAccrued5; private Float sameAccrued5;
private Float averageOverDay5; private Float averageOverDay5;
@@ -171,10 +171,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued6; private Integer tAccrued6;
private Float oAverage6; private Float oAverage6;
private Float oAccrued6; private Float oAccrued6;
private Integer chainAverage6; private Float chainAverage6;
private Integer chainAccrued6; private Float chainAccrued6;
private Integer sameAverage6; private Float sameAverage6;
private Integer sameAccrued6; private Float sameAccrued6;
private Float averageOverDay6; private Float averageOverDay6;
/** /**
@@ -184,10 +184,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued7; private Integer tAccrued7;
private Float oAverage7; private Float oAverage7;
private Float oAccrued7; private Float oAccrued7;
private Integer chainAverage7; private Float chainAverage7;
private Integer chainAccrued7; private Float chainAccrued7;
private Integer sameAverage7; private Float sameAverage7;
private Integer sameAccrued7; private Float sameAccrued7;
private Float averageOverDay7; private Float averageOverDay7;
/** /**
@@ -197,10 +197,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued8; private Integer tAccrued8;
private Float oAverage8; private Float oAverage8;
private Float oAccrued8; private Float oAccrued8;
private Integer chainAverage8; private Float chainAverage8;
private Integer chainAccrued8; private Float chainAccrued8;
private Integer sameAverage8; private Float sameAverage8;
private Integer sameAccrued8; private Float sameAccrued8;
private Float averageOverDay8; private Float averageOverDay8;
@Data @Data

View File

@@ -116,16 +116,13 @@ public class RStatSubstationOrgVO implements Serializable {
private Float overLimitMeasurementRatioAccrued; private Float overLimitMeasurementRatioAccrued;
//同比日均 //同比日均
private Integer chainAverage; private Float chainAverage;
//同比累计 //同比累计
private Integer chainAccrued; private Float chainAccrued;
//环比日均 //环比日均
private Integer sameAverage; private Float sameAverage;
//环比累计 //环比累计
private Integer sameAccrued; private Float sameAccrued;
//平均天数 //平均天数
private Float averageOverDay; private Float averageOverDay;

View File

@@ -38,93 +38,14 @@
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage, rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued, TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
c.harmonic_type, c.harmonic_type,
c.over_limit_measurement_average, TRUNCATE(c.over_limit_measurement_average,2) as overLimitMeasurementAverage,
c.over_limit_measurement_accrued, c.over_limit_measurement_accrued,
c.over_limit_measurement_ratio_average, TRUNCATE(c.over_limit_measurement_ratio_average,2) as overLimitMeasurementRatioAverage,
c.over_limit_measurement_ratio_accrued, TRUNCATE(c.over_limit_measurement_ratio_accrued,2) as overLimitMeasurementRatioAccrued,
( TRUNCATE( c.over_day / c.over_limit_measurement_accrued, 2)as averageOverDay
SELECT
over_limit_measurement_average
FROM
r_stat_harmonic_org_m a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) chainAverage ,
(
SELECT
over_limit_measurement_accrued
FROM
r_stat_harmonic_org_m a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) chainAccrued ,
(
SELECT
over_limit_measurement_average
FROM
r_stat_harmonic_org_m a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 MONTH )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 MONTH )))
</if>
) sameAverage,
(
SELECT
over_limit_measurement_accrued
FROM
r_stat_harmonic_org_m a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 MONTH )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 MONTH )))
</if>
) sameAccrued ,
TRUNCATE( c.over_day / c.over_limit_measurement_accrued, 2)as averageOverDay
FROM FROM
r_stat_harmonic_org_m c r_stat_harmonic_m c
RIGHT JOIN r_stat_org_m AS rso ON rso.org_no = c.org_no RIGHT JOIN r_stat_org_m AS rso ON rso.org_no = c.org_no and c.measurement_type_class = rso.measurement_type_class
<where> <where>
c.data_Type=#{dataType} and rso.data_Type=#{dataType} c.data_Type=#{dataType} and rso.data_Type=#{dataType}
<if test="param != null and param.ids != null and param.ids.size > 0"> <if test="param != null and param.ids != null and param.ids.size > 0">

View File

@@ -38,91 +38,13 @@
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage, rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued, TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
c.harmonic_type, c.harmonic_type,
c.over_limit_measurement_average, TRUNCATE(c.over_limit_measurement_average,2) as overLimitMeasurementAverage,
c.over_limit_measurement_accrued, c.over_limit_measurement_accrued,
c.over_limit_measurement_ratio_average, TRUNCATE(c.over_limit_measurement_ratio_average,2) as overLimitMeasurementRatioAverage,
c.over_limit_measurement_ratio_accrued, TRUNCATE(c.over_limit_measurement_ratio_accrued,2) as overLimitMeasurementRatioAccrued,
( TRUNCATE( c.average_over_day, 2)as averageOverDay
SELECT
over_limit_measurement_average
FROM
r_stat_harmonic_org_q a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) chainAverage ,
(
SELECT
over_limit_measurement_accrued
FROM
r_stat_harmonic_org_q a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) chainAccrued ,
(
SELECT
over_limit_measurement_average
FROM
r_stat_harmonic_org_q a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 3 MONTH )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 3 MONTH )))
</if>
) sameAverage,
(
SELECT
over_limit_measurement_accrued
FROM
r_stat_harmonic_org_q a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 3 MONTH )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 3 MONTH )))
</if>
) sameAccrued,
c.average_over_day
FROM FROM
r_stat_harmonic_org_q c r_stat_harmonic_q c
RIGHT JOIN r_stat_org_q AS rso ON rso.org_no = c.org_no RIGHT JOIN r_stat_org_q AS rso ON rso.org_no = c.org_no
<where> <where>
c.data_Type=#{dataType} and rso.data_Type=#{dataType} c.data_Type=#{dataType} and rso.data_Type=#{dataType}

View File

@@ -36,93 +36,15 @@
rso.over_limit_measurement_average AS harmonicMeasurementAverage, rso.over_limit_measurement_average AS harmonicMeasurementAverage,
rso.over_limit_measurement_accrued AS harmonicMeasurementAccrued, rso.over_limit_measurement_accrued AS harmonicMeasurementAccrued,
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage, rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued, TRUNCATE(rso.over_limit_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
c.harmonic_type, c.harmonic_type,
c.over_limit_measurement_average, TRUNCATE(c.over_limit_measurement_average,2) as overLimitMeasurementAverage,
c.over_limit_measurement_accrued, c.over_limit_measurement_accrued,
c.over_limit_measurement_ratio_average, TRUNCATE(c.over_limit_measurement_ratio_average,2) as overLimitMeasurementRatioAverage,
c.over_limit_measurement_ratio_accrued, TRUNCATE(c.over_limit_measurement_ratio_accrued,2) as overLimitMeasurementRatioAccrued,
( c.average_over_day
SELECT
over_limit_measurement_average
FROM
r_stat_harmonic_org_y a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) chainAverage ,
(
SELECT
over_limit_measurement_accrued
FROM
r_stat_harmonic_org_y a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) chainAccrued ,
(
SELECT
over_limit_measurement_average
FROM
r_stat_harmonic_org_y a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) sameAverage,
(
SELECT
over_limit_measurement_accrued
FROM
r_stat_harmonic_org_y a
WHERE
a.org_no=c.org_no
and a.data_Type = #{dataType}
and
a.harmonic_type=c.harmonic_type
<if test="param!=null and param.startTime != null and param.startTime !=''">
AND (data_date >= date(
DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
</if>
<if test="param!=null and param.endTime != null and param.endTime !=''">
AND (data_date &lt;= date(
DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
</if>
) sameAccrued,
c.average_over_day
FROM FROM
r_stat_harmonic_org_y c r_stat_harmonic_y c
RIGHT JOIN r_stat_org_y AS rso ON rso.org_no = c.org_no RIGHT JOIN r_stat_org_y AS rso ON rso.org_no = c.org_no
<where> <where>
c.data_Type=#{dataType} and rso.data_Type=#{dataType} c.data_Type=#{dataType} and rso.data_Type=#{dataType}

View File

@@ -3,6 +3,8 @@ package com.njcn.harmonic.service.distribution.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.constant.BizParamConstant;
@@ -262,6 +264,16 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode( List<DictData> steadyStatis = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
List<RStatSubstationOrgVO> temp = new ArrayList<>(); List<RStatSubstationOrgVO> temp = new ArrayList<>();
List<RStatSubstationOrgVO> tb;
List<RStatSubstationOrgVO> hb;
String startTime = param.getStartTime();
String endTime = param.getEndTime();
//同比(上一年)
String tStarTime = DateUtil.offset(DateUtil.parse(startTime), DateField.YEAR, -1).toString();
String tEndTime = DateUtil.offset(DateUtil.parse(endTime), DateField.YEAR, -1).toString();
//环比(上个月)
String hStarTime = DateUtil.offset(DateUtil.parse(startTime), DateField.MONTH, -1).toString();
String hEndTime = DateUtil.offset(DateUtil.parse(endTime), DateField.MONTH, -1).toString();
//获取配网信息 //获取配网信息
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData(); DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
//选择数据时间范围 //选择数据时间范围
@@ -269,14 +281,35 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
case BizParamConstant.STAT_BIZ_YEAR: case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表 // 获取年区域暂态指标分类统计表
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, distributionData.getId()); temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
param.setStartTime(tStarTime);
param.setEndTime(tEndTime);
tb = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
param.setStartTime(hStarTime);
param.setEndTime(hEndTime);
hb = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
assemble(temp,tb,hb);
break; break;
case BizParamConstant.STAT_BIZ_QUARTER: case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表 // 获取季区域暂态指标分类统计表
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, distributionData.getId()); temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
param.setStartTime(tStarTime);
param.setEndTime(tEndTime);
tb = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
param.setStartTime(hStarTime);
param.setEndTime(hEndTime);
hb = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
assemble(temp,tb,hb);
break; break;
case BizParamConstant.STAT_BIZ_MONTH: case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表 // 获取月区域暂态指标分类统计表
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, distributionData.getId()); temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
param.setStartTime(tStarTime);
param.setEndTime(tEndTime);
tb = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
param.setStartTime(hStarTime);
param.setEndTime(hEndTime);
hb = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, distributionData.getId());
assemble(temp,tb,hb);
break; break;
default: default:
break; break;
@@ -538,4 +571,24 @@ public class PwRStatOrgServiceImpl extends ServiceImpl<PwRStatOrgMapper, RStatOr
} }
return new ArrayList<>(); return new ArrayList<>();
} }
private List<RStatSubstationOrgVO> assemble(List<RStatSubstationOrgVO> temp,List<RStatSubstationOrgVO> hb,List<RStatSubstationOrgVO> tb){
Map<String, RStatSubstationOrgVO> map = temp.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
Map<String, RStatSubstationOrgVO> tbMap = hb.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
Map<String, RStatSubstationOrgVO> hbMap = tb.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
map.forEach((key,value)->{
RStatSubstationOrgVO rStatSubstationOrgVO;
if(tbMap.containsKey(key)){
rStatSubstationOrgVO = tbMap.get(key);
value.setChainAverage(rStatSubstationOrgVO.getOverLimitMeasurementAverage());
value.setChainAccrued(rStatSubstationOrgVO.getOverLimitMeasurementRatioAccrued());
}
if(hbMap.containsKey(key)){
rStatSubstationOrgVO = hbMap.get(key);
value.setSameAverage(rStatSubstationOrgVO.getOverLimitMeasurementAverage());
value.setSameAccrued(rStatSubstationOrgVO.getOverLimitMeasurementRatioAccrued());
}
});
return temp;
}
} }

View File

@@ -3,6 +3,8 @@ package com.njcn.harmonic.service.majornetwork.impl;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.constant.BizParamConstant;
@@ -38,10 +40,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.*;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -138,24 +137,56 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode( List<DictData> eventStatis = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData(); DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
List<RStatSubstationOrgVO> temp = new ArrayList<>(); List<RStatSubstationOrgVO> temp = new ArrayList<>();
List<RStatSubstationOrgVO> tb;
List<RStatSubstationOrgVO> hb;
// 过滤出部门id // 过滤出部门id
List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList()); List<String> deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//获取主网id信息 //获取主网id信息
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData(); DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
String startTime = param.getStartTime();
String endTime = param.getEndTime();
//同比(上一年)
String tStarTime = DateUtil.offset(DateUtil.parse(startTime), DateField.YEAR, -1).toString();
String tEndTime = DateUtil.offset(DateUtil.parse(endTime), DateField.YEAR, -1).toString();
//环比(上个月)
String hStarTime = DateUtil.offset(DateUtil.parse(startTime), DateField.MONTH, -1).toString();
String hEndTime = DateUtil.offset(DateUtil.parse(endTime), DateField.MONTH, -1).toString();
param.getStartTime();
// 类型1年 2季度 3月份 4日 // 类型1年 2季度 3月份 4日
switch (param.getType().toString()) { switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR: case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表 // 获取年区域暂态指标分类统计表
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId()); temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
param.setStartTime(tStarTime);
param.setEndTime(tEndTime);
tb = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
param.setStartTime(hStarTime);
param.setEndTime(hEndTime);
hb = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
assemble(temp,tb,hb);
break; break;
case BizParamConstant.STAT_BIZ_QUARTER: case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表 // 获取季区域暂态指标分类统计表
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId()); temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
param.setStartTime(tStarTime);
param.setEndTime(tEndTime);
tb = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
param.setStartTime(hStarTime);
param.setEndTime(hEndTime);
hb = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
assemble(temp,tb,hb);
break; break;
case BizParamConstant.STAT_BIZ_MONTH: case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表 // 获取月区域暂态指标分类统计表
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId()); temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
param.setStartTime(tStarTime);
param.setEndTime(tEndTime);
tb = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
param.setStartTime(hStarTime);
param.setEndTime(hEndTime);
hb = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(param, deptIds, mainnetData.getId());
assemble(temp,tb,hb);
break; break;
default: default:
break; break;
@@ -422,5 +453,25 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
return info; return info;
} }
private List<RStatSubstationOrgVO> assemble(List<RStatSubstationOrgVO> temp,List<RStatSubstationOrgVO> hb,List<RStatSubstationOrgVO> tb){
Map<String, RStatSubstationOrgVO> map = temp.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
Map<String, RStatSubstationOrgVO> tbMap = hb.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
Map<String, RStatSubstationOrgVO> hbMap = tb.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
map.forEach((key,value)->{
RStatSubstationOrgVO rStatSubstationOrgVO;
if(tbMap.containsKey(key)){
rStatSubstationOrgVO = tbMap.get(key);
value.setChainAverage(rStatSubstationOrgVO.getOverLimitMeasurementAverage());
value.setChainAccrued(rStatSubstationOrgVO.getOverLimitMeasurementRatioAccrued());
}
if(hbMap.containsKey(key)){
rStatSubstationOrgVO = hbMap.get(key);
value.setSameAverage(rStatSubstationOrgVO.getOverLimitMeasurementAverage());
value.setSameAccrued(rStatSubstationOrgVO.getOverLimitMeasurementRatioAccrued());
}
});
return temp;
}
} }