From 6ab679caf2426f92fbd9c0f5183e59b8e19d46e3 Mon Sep 17 00:00:00 2001
From: wr <1754607820@qq.com>
Date: Fri, 23 Feb 2024 13:23:43 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapping/PwRStatOrgClassifiedMapper.xml | 12 ++-
.../mapping/RStatEventOrgMapper.xml | 12 ++-
.../pojo/vo/RStatSubstationOrg2VO.java | 72 +++++++--------
.../pojo/vo/RStatSubstationOrgVO.java | 11 +--
.../majornetwork/mapping/RStatOrgMMapper.xml | 91 ++-----------------
.../majornetwork/mapping/RStatOrgQMapper.xml | 88 +-----------------
.../majornetwork/mapping/RStatOrgYMapper.xml | 90 ++----------------
.../impl/PwRStatOrgServiceImpl.java | 53 +++++++++++
.../impl/RStatOrgYServiceImpl.java | 59 +++++++++++-
9 files changed, 183 insertions(+), 305 deletions(-)
diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml
index 90520fba7..aa3778945 100644
--- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml
+++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/distribution/mapping/PwRStatOrgClassifiedMapper.xml
@@ -43,7 +43,9 @@
FROM
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
@@ -54,7 +56,9 @@
FROM
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
@@ -65,7 +69,9 @@
FROM
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
diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgMapper.xml b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgMapper.xml
index 223faeeff..0f684ef91 100644
--- a/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgMapper.xml
+++ b/pqs-event/event-boot/src/main/java/com/njcn/event/mapper/majornetwork/mapping/RStatEventOrgMapper.xml
@@ -47,7 +47,9 @@
FROM
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
@@ -59,7 +61,9 @@
FROM
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
@@ -71,7 +75,9 @@
FROM
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
diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrg2VO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrg2VO.java
index 313c82f85..a54377289 100644
--- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrg2VO.java
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrg2VO.java
@@ -91,10 +91,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued;
private Float oAverage;
private Float oAccrued;
- private Integer chainAverage;
- private Integer chainAccrued;
- private Integer sameAverage;
- private Integer sameAccrued;
+ private Float chainAverage;
+ private Float chainAccrued;
+ private Float sameAverage;
+ private Float sameAccrued;
private Float averageOverDay;
/**
@@ -104,10 +104,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued1;
private Float oAverage1;
private Float oAccrued1;
- private Integer chainAverage1;
- private Integer chainAccrued1;
- private Integer sameAverage1;
- private Integer sameAccrued1;
+ private Float chainAverage1;
+ private Float chainAccrued1;
+ private Float sameAverage1;
+ private Float sameAccrued1;
private Float averageOverDay1;
/**
@@ -117,10 +117,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued2;
private Float oAverage2;
private Float oAccrued2;
- private Integer chainAverage2;
- private Integer chainAccrued2;
- private Integer sameAverage2;
- private Integer sameAccrued2;
+ private Float chainAverage2;
+ private Float chainAccrued2;
+ private Float sameAverage2;
+ private Float sameAccrued2;
private Float averageOverDay2;
/**
@@ -130,10 +130,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued3;
private Float oAverage3;
private Float oAccrued3;
- private Integer chainAverage3;
- private Integer chainAccrued3;
- private Integer sameAverage3;
- private Integer sameAccrued3;
+ private Float chainAverage3;
+ private Float chainAccrued3;
+ private Float sameAverage3;
+ private Float sameAccrued3;
private Float averageOverDay3;
/**
@@ -143,10 +143,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued4;
private Float oAverage4;
private Float oAccrued4;
- private Integer chainAverage4;
- private Integer chainAccrued4;
- private Integer sameAverage4;
- private Integer sameAccrued4;
+ private Float chainAverage4;
+ private Float chainAccrued4;
+ private Float sameAverage4;
+ private Float sameAccrued4;
private Float averageOverDay4;
@@ -157,10 +157,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued5;
private Float oAverage5;
private Float oAccrued5;
- private Integer chainAverage5;
- private Integer chainAccrued5;
- private Integer sameAverage5;
- private Integer sameAccrued5;
+ private Float chainAverage5;
+ private Float chainAccrued5;
+ private Float sameAverage5;
+ private Float sameAccrued5;
private Float averageOverDay5;
@@ -171,10 +171,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued6;
private Float oAverage6;
private Float oAccrued6;
- private Integer chainAverage6;
- private Integer chainAccrued6;
- private Integer sameAverage6;
- private Integer sameAccrued6;
+ private Float chainAverage6;
+ private Float chainAccrued6;
+ private Float sameAverage6;
+ private Float sameAccrued6;
private Float averageOverDay6;
/**
@@ -184,10 +184,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued7;
private Float oAverage7;
private Float oAccrued7;
- private Integer chainAverage7;
- private Integer chainAccrued7;
- private Integer sameAverage7;
- private Integer sameAccrued7;
+ private Float chainAverage7;
+ private Float chainAccrued7;
+ private Float sameAverage7;
+ private Float sameAccrued7;
private Float averageOverDay7;
/**
@@ -197,10 +197,10 @@ public class RStatSubstationOrg2VO implements Serializable {
private Integer tAccrued8;
private Float oAverage8;
private Float oAccrued8;
- private Integer chainAverage8;
- private Integer chainAccrued8;
- private Integer sameAverage8;
- private Integer sameAccrued8;
+ private Float chainAverage8;
+ private Float chainAccrued8;
+ private Float sameAverage8;
+ private Float sameAccrued8;
private Float averageOverDay8;
@Data
diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrgVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrgVO.java
index 6f73f430e..0c8d3aa06 100644
--- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrgVO.java
+++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/RStatSubstationOrgVO.java
@@ -116,16 +116,13 @@ public class RStatSubstationOrgVO implements Serializable {
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;
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgMMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgMMapper.xml
index fab4e18a8..eded5c2ef 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgMMapper.xml
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgMMapper.xml
@@ -38,93 +38,14 @@
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
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_ratio_average,
- c.over_limit_measurement_ratio_accrued,
- (
- 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 MONTH )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 MONTH )))
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 MONTH )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 MONTH )))
-
-
- ) sameAccrued ,
- TRUNCATE( c.over_day / c.over_limit_measurement_accrued, 2)as averageOverDay
+ TRUNCATE(c.over_limit_measurement_ratio_average,2) as overLimitMeasurementRatioAverage,
+ TRUNCATE(c.over_limit_measurement_ratio_accrued,2) as overLimitMeasurementRatioAccrued,
+ TRUNCATE( c.over_day / c.over_limit_measurement_accrued, 2)as averageOverDay
FROM
- r_stat_harmonic_org_m c
- RIGHT JOIN r_stat_org_m AS rso ON rso.org_no = c.org_no
+ r_stat_harmonic_m c
+ RIGHT JOIN r_stat_org_m AS rso ON rso.org_no = c.org_no and c.measurement_type_class = rso.measurement_type_class
c.data_Type=#{dataType} and rso.data_Type=#{dataType}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgQMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgQMapper.xml
index cc5e8787d..0eb1157da 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgQMapper.xml
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgQMapper.xml
@@ -38,91 +38,13 @@
rso.harmonic_measurement_ratio_average as harmonicMeasurementRatioAverage,
TRUNCATE(rso.harmonic_measurement_accrued/rso.effective_measurement_accrued ,2)as harmonicMeasurementRatioAccrued,
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_ratio_average,
- c.over_limit_measurement_ratio_accrued,
- (
- 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 3 MONTH )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 3 MONTH )))
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 3 MONTH )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 3 MONTH )))
-
-
- ) sameAccrued,
- c.average_over_day
+ TRUNCATE(c.over_limit_measurement_ratio_average,2) as overLimitMeasurementRatioAverage,
+ TRUNCATE(c.over_limit_measurement_ratio_accrued,2) as overLimitMeasurementRatioAccrued,
+ TRUNCATE( c.average_over_day, 2)as averageOverDay
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
c.data_Type=#{dataType} and rso.data_Type=#{dataType}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgYMapper.xml b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgYMapper.xml
index 0793ad2f7..72888d141 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgYMapper.xml
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/mapper/majornetwork/mapping/RStatOrgYMapper.xml
@@ -36,93 +36,15 @@
rso.over_limit_measurement_average AS harmonicMeasurementAverage,
rso.over_limit_measurement_accrued AS harmonicMeasurementAccrued,
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.over_limit_measurement_average,
+ TRUNCATE(c.over_limit_measurement_average,2) as overLimitMeasurementAverage,
c.over_limit_measurement_accrued,
- c.over_limit_measurement_ratio_average,
- c.over_limit_measurement_ratio_accrued,
- (
- 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
- ) 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
-
- AND (data_date >= date(
- DATE_ADD( #{param.startTime}, INTERVAL - 1 YEAR )))
-
-
- AND (data_date <= date(
- DATE_ADD( #{param.endTime}, INTERVAL - 1 YEAR )))
-
-
- ) sameAccrued,
- c.average_over_day
+ TRUNCATE(c.over_limit_measurement_ratio_average,2) as overLimitMeasurementRatioAverage,
+ TRUNCATE(c.over_limit_measurement_ratio_accrued,2) as overLimitMeasurementRatioAccrued,
+ c.average_over_day
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
c.data_Type=#{dataType} and rso.data_Type=#{dataType}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java
index 76bd085ae..85b038804 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/distribution/impl/PwRStatOrgServiceImpl.java
@@ -3,6 +3,8 @@ package com.njcn.harmonic.service.distribution.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.constant.BizParamConstant;
@@ -262,6 +264,16 @@ public class PwRStatOrgServiceImpl extends ServiceImpl steadyStatis = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
List temp = new ArrayList<>();
+ List tb;
+ List 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();
//选择数据时间范围
@@ -269,14 +281,35 @@ public class PwRStatOrgServiceImpl extends ServiceImpl();
}
+ private List assemble(List temp,List hb,List tb){
+ Map map = temp.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
+ Map tbMap = hb.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
+ Map 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;
+ }
}
diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgYServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgYServiceImpl.java
index 464dc9881..87317bd3e 100644
--- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgYServiceImpl.java
+++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/majornetwork/impl/RStatOrgYServiceImpl.java
@@ -3,6 +3,8 @@ package com.njcn.harmonic.service.majornetwork.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
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 com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.njcn.common.pojo.constant.BizParamConstant;
@@ -38,10 +40,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -138,24 +137,56 @@ public class RStatOrgYServiceImpl extends ServiceImpl eventStatis = dicDataFeignClient.getDicDataByTypeCode(
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
List temp = new ArrayList<>();
+ List tb;
+ List hb;
// 过滤出部门id
List deptIds = data.stream().map(DeptDTO::getCode).collect(Collectors.toList());
//获取主网id信息
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日
switch (param.getType().toString()) {
case BizParamConstant.STAT_BIZ_YEAR:
// 获取年区域暂态指标分类统计表
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;
case BizParamConstant.STAT_BIZ_QUARTER:
// 获取季区域暂态指标分类统计表
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;
case BizParamConstant.STAT_BIZ_MONTH:
// 获取月区域暂态指标分类统计表
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;
default:
break;
@@ -422,5 +453,25 @@ public class RStatOrgYServiceImpl extends ServiceImpl assemble(List temp,List hb,List tb){
+ Map map = temp.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
+ Map tbMap = hb.stream().collect(Collectors.toMap(x -> x.getOrgNo() + ";" + x.getMeasurementTypeClass() + ";" + x.getHarmonicType(), Function.identity()));
+ Map 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;
+ }
}