Commit ea4e052d authored by ZWT's avatar ZWT

得到的

parent ccb8bcf6
......@@ -579,17 +579,18 @@ public class EnergyConsumptionAnalysisService {
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",
yearFlag ? "TO_CHAR( CREATE_DATE, 'YYYY-MM-' ) || '01' AS DATA_DATE" : "DATA_DATE");
"NVL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
yearFlag ? "TO_CHAR( DATA_DATE, 'YYYY-MM-' ) || '01 00:00:00' AS DATA_DATE" : "DATA_DATE")
.last(yearFlag ? "GROUP BY TO_CHAR( DATA_DATE, 'YYYY-MM-' )" : "GROUP BY 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");
"IFNULL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
yearFlag ? "DATE_FORMAT( DATA_DATE, '%Y-%M-01' ) AS DATA_DATE" : "DATA_DATE")
.last(yearFlag ? "GROUP BY DATE_FORMAT( DATA_DATE, '%Y-%m-01')" : "GROUP BY DATA_DATE");
}
return 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")
);
}
......
......@@ -121,7 +121,7 @@
<select id="selectStationAnalysisList"
parameterType="pps.core.prediction.entity.StationDailyProductionSituationView"
resultMap="ExtResultMap">
resultMap="ExtResultMap" databaseId="MySQL">
SELECT
D.STATION_NAME,
D.PRODUCTION_TIME,
......@@ -170,4 +170,56 @@
</where>
ORDER BY D.STATION_NAME
</select>
<select id="selectStationAnalysisList"
parameterType="pps.core.prediction.entity.StationDailyProductionSituationView"
resultMap="ExtResultMap" databaseId="Oracle">
SELECT
D.STATION_NAME,
D.PRODUCTION_TIME,
D.DAILY_LIQUID_PRODUCTION,
D.DAILY_ELECTRICITY_CONSUMPTION,
D.PHOTOVOLTAIC_POWER,
NVL( M.MONTH_PHOTOVOLTAIC_POWER, 0 ) AS MONTH_PHOTOVOLTAIC_POWER,
Y.YEAR_PHOTOVOLTAIC_POWER
FROM
(
SELECT
STATION_NAME,
NVL( ROUND( AVG( PRODUCTION_TIME ), 2 ), 0 ) AS PRODUCTION_TIME,
NVL( ROUND( AVG( DAILY_LIQUID_PRODUCTION ), 2 ), 0 ) AS DAILY_LIQUID_PRODUCTION,
NVL( ROUND( AVG( DAILY_ELECTRICITY_CONSUMPTION ), 2 ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION,
NVL( ROUND( AVG( PHOTOVOLTAIC_POWER ), 2 ), 0 ) AS PHOTOVOLTAIC_POWER
FROM
STATION_DAILY_PRODUCTION_SITUATION WHERE
DATA_DATE BETWEEN #{beginTime} AND #{endTime}
AND STATION_NAME IN
<foreach collection="stationNameList" open="(" close=")" separator="," item="item">
#{item}
</foreach>
GROUP BY
STATION_NAME
) D
LEFT JOIN ( SELECT NVL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS MONTH_PHOTOVOLTAIC_POWER, STATION_NAME FROM
STATION_DAILY_PRODUCTION_SITUATION WHERE EXTRACT( MONTH FROM DATA_DATE ) = #{month}
AND STATION_NAME IN
<foreach collection="stationNameList" open="(" close=")" separator="," item="item">
#{item}
</foreach>
GROUP BY STATION_NAME ) M ON D.STATION_NAME = M.STATION_NAME
LEFT JOIN ( SELECT NVL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS YEAR_PHOTOVOLTAIC_POWER, STATION_NAME FROM
STATION_DAILY_PRODUCTION_SITUATION WHERE EXTRACT( YEAR FROM DATA_DATE ) = #{year}
AND STATION_NAME IN
<foreach collection="stationNameList" open="(" close=")" separator="," item="item">
#{item}
</foreach>
GROUP BY STATION_NAME ) Y ON
D.STATION_NAME = Y.STATION_NAME
<where>
<if test="stationName != null and stationName !=''">
AND D.STATION_NAME LIKE '%', #{stationName}, '%'
</if>
</where>
ORDER BY D.STATION_NAME
</select>
</mapper>
\ No newline at end of file
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