Commit ccb8bcf6 authored by ZWT's avatar ZWT

得到的

parent ab19aba5
...@@ -338,18 +338,28 @@ public class EnergyConsumptionAnalysisService { ...@@ -338,18 +338,28 @@ public class EnergyConsumptionAnalysisService {
Set<String> lineNameSet = this.getLineNameSet(context, input.getOuId()); Set<String> lineNameSet = this.getLineNameSet(context, input.getOuId());
boolean yearFlag = input.getDateType().equals(3); boolean yearFlag = input.getDateType().equals(3);
//统计 //统计
List<StationDailyProductionSituationEnt> list = context.getBean(StationDailyProductionSituationMapper.class).selectList(new QueryWrapper<StationDailyProductionSituationEnt>() QueryWrapper<StationDailyProductionSituationEnt> queryWrapper = new QueryWrapper<>();
.select("IFNULL( SUM( electricity_charge_city ), 0 ) AS electricity_charge_city", if (CharSequenceUtil.equals(context.getProperty("x.db.databaseId"), BusinessConstant.ORACLE)) {
"IFNULL( SUM( electricity_consumption_vh ), 0 ) AS electricity_consumption_vh", queryWrapper.select("NVL( SUM( ELECTRICITY_CHARGE_CITY ), 0 ) AS ELECTRICITY_CHARGE_CITY",
"IFNULL( SUM( electricity_consumption_np ), 0 ) AS electricity_consumption_np", "NVL( SUM( ELECTRICITY_CONSUMPTION_VH ), 0 ) AS ELECTRICITY_CONSUMPTION_VH",
"IFNULL( SUM( electricity_consumption_hh ), 0 ) AS electricity_consumption_hh", "NVL( SUM( ELECTRICITY_CONSUMPTION_NP ), 0 ) AS ELECTRICITY_CONSUMPTION_NP",
"IFNULL( SUM( electricity_consumption_ph ), 0 ) AS electricity_consumption_ph", "NVL( SUM( ELECTRICITY_CONSUMPTION_HH ), 0 ) AS ELECTRICITY_CONSUMPTION_HH",
yearFlag ? "DATE_FORMAT( data_date, '%Y-%m-01' ) AS data_date" : "data_date") "NVL( SUM( ELECTRICITY_CONSUMPTION_PH ), 0 ) AS ELECTRICITY_CONSUMPTION_PH",
.lambda() yearFlag ? "TO_CHAR( CREATE_DATE, 'YYYY-MM-' ) || '01' AS DATA_DATE" : "DATA_DATE");
.between(StationDailyProductionSituationEnt::getDataDate, beginTime, endTime) } else {
.in(StationDailyProductionSituationEnt::getStationName, lineNameSet) queryWrapper.select("IFNULL( SUM( ELECTRICITY_CHARGE_CITY ), 0 ) AS ELECTRICITY_CHARGE_CITY",
.last(yearFlag ? "GROUP BY DATE_FORMAT( data_date, '%Y-%m-01')" : "GROUP BY data_date") "IFNULL( SUM( ELECTRICITY_CONSUMPTION_VH ), 0 ) AS ELECTRICITY_CONSUMPTION_VH",
); "IFNULL( SUM( ELECTRICITY_CONSUMPTION_NP ), 0 ) AS ELECTRICITY_CONSUMPTION_NP",
"IFNULL( SUM( ELECTRICITY_CONSUMPTION_HH ), 0 ) AS ELECTRICITY_CONSUMPTION_HH",
"IFNULL( SUM( ELECTRICITY_CONSUMPTION_PH ), 0 ) AS ELECTRICITY_CONSUMPTION_PH",
yearFlag ? "DATE_FORMAT( DATA_DATE, '%Y-%M-01' ) AS DATA_DATE" : "DATA_DATE");
}
List<StationDailyProductionSituationEnt> list = context.getBean(StationDailyProductionSituationMapper.class)
.selectList(queryWrapper.lambda()
.between(StationDailyProductionSituationEnt::getDataDate, beginTime, endTime)
.in(StationDailyProductionSituationEnt::getStationName, lineNameSet)
.last(yearFlag ? "GROUP BY DATE_FORMAT( data_date, '%Y-%m-01')" : "GROUP BY data_date")
);
Map<Date, StationDailyProductionSituationEnt> collect; Map<Date, StationDailyProductionSituationEnt> collect;
if (CollUtil.isEmpty(list)) { if (CollUtil.isEmpty(list)) {
collect = Collections.emptyMap(); collect = Collections.emptyMap();
...@@ -540,11 +550,16 @@ public class EnergyConsumptionAnalysisService { ...@@ -540,11 +550,16 @@ public class EnergyConsumptionAnalysisService {
* @return {@link StationDailyProductionSituationEnt } * @return {@link StationDailyProductionSituationEnt }
*/ */
private StationDailyProductionSituationEnt getStationDailyStatistics(XContext context, Date beginTime, Date endTime, Set<String> lineNameSet) { private StationDailyProductionSituationEnt getStationDailyStatistics(XContext context, Date beginTime, Date endTime, Set<String> lineNameSet) {
QueryWrapper<StationDailyProductionSituationEnt> queryWrapper = new QueryWrapper<>();
if (CharSequenceUtil.equals(context.getProperty("x.db.databaseId"), BusinessConstant.ORACLE)) {
queryWrapper.select("NVL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER",
"NVL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION");
} else {
queryWrapper.select("IFNULL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER",
"IFNULL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION");
}
StationDailyProductionSituationMapper mapper = context.getBean(StationDailyProductionSituationMapper.class); StationDailyProductionSituationMapper mapper = context.getBean(StationDailyProductionSituationMapper.class);
return mapper.selectOne(new QueryWrapper<StationDailyProductionSituationEnt>() return mapper.selectOne(queryWrapper.lambda()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power",
"IFNULL( SUM( daily_electricity_consumption ), 0 ) AS daily_electricity_consumption")
.lambda()
.between(StationDailyProductionSituationEnt::getDataDate, beginTime, endTime) .between(StationDailyProductionSituationEnt::getDataDate, beginTime, endTime)
.in(StationDailyProductionSituationEnt::getStationName, lineNameSet) .in(StationDailyProductionSituationEnt::getStationName, lineNameSet)
); );
...@@ -561,11 +576,17 @@ public class EnergyConsumptionAnalysisService { ...@@ -561,11 +576,17 @@ public class EnergyConsumptionAnalysisService {
* @return {@link List }<{@link StationDailyProductionSituationEnt }> * @return {@link List }<{@link StationDailyProductionSituationEnt }>
*/ */
private List<StationDailyProductionSituationEnt> getStationDailyStatisticsList(XContext context, Date beginTime, Date endTime, Set<String> lineNameSet, boolean yearFlag) { private List<StationDailyProductionSituationEnt> getStationDailyStatisticsList(XContext context, Date beginTime, Date endTime, Set<String> lineNameSet, boolean yearFlag) {
return context.getBean(StationDailyProductionSituationMapper.class).selectList(new QueryWrapper<StationDailyProductionSituationEnt>() QueryWrapper<StationDailyProductionSituationEnt> queryWrapper = new QueryWrapper<>();
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power", if (CharSequenceUtil.equals(context.getProperty("x.db.databaseId"), BusinessConstant.ORACLE)) {
"IFNULL( SUM( daily_electricity_consumption ), 0 ) AS daily_electricity_consumption", queryWrapper.select("NVL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER",
yearFlag ? "DATE_FORMAT( data_date, '%Y-%m-01' ) AS data_date" : "data_date") "NVL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
.lambda() yearFlag ? "TO_CHAR( CREATE_DATE, 'YYYY-MM-' ) || '01' AS DATA_DATE" : "DATA_DATE");
} else {
queryWrapper.select("IFNULL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER",
"IFNULL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
yearFlag ? "DATE_FORMAT( DATA_DATE, '%Y-%M-01' ) AS DATA_DATE" : "DATA_DATE");
}
return context.getBean(StationDailyProductionSituationMapper.class).selectList(queryWrapper.lambda()
.between(StationDailyProductionSituationEnt::getDataDate, beginTime, endTime) .between(StationDailyProductionSituationEnt::getDataDate, beginTime, endTime)
.in(StationDailyProductionSituationEnt::getStationName, lineNameSet) .in(StationDailyProductionSituationEnt::getStationName, lineNameSet)
.last(yearFlag ? "GROUP BY DATE_FORMAT( data_date, '%Y-%m-01')" : "GROUP BY data_date") .last(yearFlag ? "GROUP BY DATE_FORMAT( data_date, '%Y-%m-01')" : "GROUP BY data_date")
......
...@@ -117,7 +117,7 @@ ...@@ -117,7 +117,7 @@
resultMap="ExtBaseResultMap" databaseId="Oracle"> resultMap="ExtBaseResultMap" databaseId="Oracle">
SELECT SELECT
ROUND( SUM( PHOTOVOLTAIC_POWER ), 2 ) AS PHOTOVOLTAIC_POWER, ROUND( SUM( PHOTOVOLTAIC_POWER ), 2 ) AS PHOTOVOLTAIC_POWER,
CREATE_DATE CREATE_DATE || ' 00:00:00' AS CREATE_DATE
FROM (SELECT NVL(AVG(PHOTOVOLTAIC_POWER), 0) AS PHOTOVOLTAIC_POWER, FROM (SELECT NVL(AVG(PHOTOVOLTAIC_POWER), 0) AS PHOTOVOLTAIC_POWER,
<choose> <choose>
<when test="dayFlag == 3"> <when test="dayFlag == 3">
......
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
ROUND( SUM( AVG_ACTIVE_POWER ), 2 ) AS AVG_ACTIVE_POWER, ROUND( SUM( AVG_ACTIVE_POWER ), 2 ) AS AVG_ACTIVE_POWER,
</otherwise> </otherwise>
</choose> </choose>
INPUT_TIME INPUT_TIME || ' 00:00:00' AS INPUT_TIME
FROM FROM
( (
SELECT SELECT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment