Commit e9fda711 authored by ZWT's avatar ZWT

得到的

parent 60b40b2d
...@@ -288,7 +288,7 @@ ...@@ -288,7 +288,7 @@
</select> </select>
<select id="selectInstitutionWellheadList" parameterType="pps.core.space.entity.SpaceInstitutionWellheadView" <select id="selectInstitutionWellheadList" parameterType="pps.core.space.entity.SpaceInstitutionWellheadView"
resultMap="BaseResultMap"> resultMap="BaseResultMap" databaseId="MySQL">
SELECT W.WELLHEAD_ID, SELECT W.WELLHEAD_ID,
W.WELL_NUMBER, W.WELL_NUMBER,
W.RUN_TYPE_KEY, W.RUN_TYPE_KEY,
...@@ -311,4 +311,29 @@ ...@@ -311,4 +311,29 @@
AND D.INSTITUTION_END_DATE &gt; NOW() AND D.INSTITUTION_END_DATE &gt; NOW()
AND W.IS_DELETED = 1 AND W.IS_DELETED = 1
</select> </select>
<select id="selectInstitutionWellheadList" parameterType="pps.core.space.entity.SpaceInstitutionWellheadView"
resultMap="BaseResultMap" databaseId="Oracle">
SELECT W.WELLHEAD_ID,
W.WELL_NUMBER,
W.RUN_TYPE_KEY,
W.INTERVAL_TYPE_KEY,
W.START_SEQ,
CASE
TO_CHAR(W.RUN_TYPE_KEY)
WHEN 'CONTINUOUS' THEN
24
ELSE NVL(W.RUN_DURATION, 0)
END RUN_DURATION,
W.MAX_OPEN,
W.MIN_OPEN,
W.MAX_CLOSE,
W.MIN_CLOSE
FROM SPACE_INSTITUTION_DETAIL D
LEFT JOIN SPACE_INSTITUTION_WELLHEAD W ON D.ID = W.INSTITUTION_ID
WHERE D.IS_DELETED = 1
AND D.IS_CURRENT_BASIC = 0
AND D.INSTITUTION_END_DATE &gt; SYSDATE
AND W.IS_DELETED = 1
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -915,13 +915,20 @@ public class EnergyConsumptionAnalysisService { ...@@ -915,13 +915,20 @@ public class EnergyConsumptionAnalysisService {
} }
DateTime today = DateUtil.beginOfDay(DateUtil.date()); DateTime today = DateUtil.beginOfDay(DateUtil.date());
//累计发电 //累计发电
QueryWrapper<ThirdDailyAccumulationUpdateEnt> 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",
"NVL( SUM( DAILY_LIQUID_PRODUCTION ), 0 ) AS DAILY_LIQUID_PRODUCTION",
"NVL( SUM( IN_PLACE_CONSUMPTION ), 0 ) AS IN_PLACE_CONSUMPTION");
} else {
queryWrapper.select("IFNULL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER",
"IFNULL( SUM( DAILY_ELECTRICITY_CONSUMPTION ), 0 ) AS DAILY_ELECTRICITY_CONSUMPTION",
"IFNULL( SUM( DAILY_LIQUID_PRODUCTION ), 0 ) AS DAILY_LIQUID_PRODUCTION",
"IFNULL( SUM( IN_PLACE_CONSUMPTION ), 0 ) AS IN_PLACE_CONSUMPTION");
}
ThirdDailyAccumulationUpdateMapper analysisMapper = context.getBean(ThirdDailyAccumulationUpdateMapper.class); ThirdDailyAccumulationUpdateMapper analysisMapper = context.getBean(ThirdDailyAccumulationUpdateMapper.class);
ThirdDailyAccumulationUpdateEnt analysisEnt = analysisMapper.selectOne(new QueryWrapper<ThirdDailyAccumulationUpdateEnt>() ThirdDailyAccumulationUpdateEnt analysisEnt = analysisMapper.selectOne(queryWrapper.lambda()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power",
"IFNULL( SUM( daily_electricity_consumption ), 0 ) AS daily_electricity_consumption",
"IFNULL( SUM( daily_liquid_production ), 0 ) AS daily_liquid_production",
"IFNULL( SUM( in_place_consumption ), 0 ) AS in_place_consumption")
.lambda()
.eq(ThirdDailyAccumulationUpdateEnt::getSaveDate, today) .eq(ThirdDailyAccumulationUpdateEnt::getSaveDate, today)
.in(ThirdDailyAccumulationUpdateEnt::getStationName, plantSet) .in(ThirdDailyAccumulationUpdateEnt::getStationName, plantSet)
); );
...@@ -932,10 +939,14 @@ public class EnergyConsumptionAnalysisService { ...@@ -932,10 +939,14 @@ public class EnergyConsumptionAnalysisService {
greenElectricityRate = BaseUtils.getRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption()); greenElectricityRate = BaseUtils.getRate(analysisEnt.getInPlaceConsumption(), analysisEnt.getDailyElectricityConsumption());
avoidPeakRate = BaseUtils.divide(analysisEnt.getPhotovoltaicPower(), analysisEnt.getInPlaceConsumption()); avoidPeakRate = BaseUtils.divide(analysisEnt.getPhotovoltaicPower(), analysisEnt.getInPlaceConsumption());
//发电功率 //发电功率
QueryWrapper<ThirdActivePowerDailyUpdateEnt> queryWrapper1 = new QueryWrapper<>();
if (CharSequenceUtil.equals(context.getProperty("x.db.databaseId"), BusinessConstant.ORACLE)) {
queryWrapper1.select("NVL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER");
} else {
queryWrapper1.select("IFNULL( SUM( PHOTOVOLTAIC_POWER ), 0 ) AS PHOTOVOLTAIC_POWER");
}
ThirdActivePowerDailyUpdateMapper activeMapper = context.getBean(ThirdActivePowerDailyUpdateMapper.class); ThirdActivePowerDailyUpdateMapper activeMapper = context.getBean(ThirdActivePowerDailyUpdateMapper.class);
ThirdActivePowerDailyUpdateEnt activeEnt = activeMapper.selectOne(new QueryWrapper<ThirdActivePowerDailyUpdateEnt>() ThirdActivePowerDailyUpdateEnt activeEnt = activeMapper.selectOne(queryWrapper1.lambda()
.select("IFNULL( SUM( photovoltaic_power ), 0 ) AS photovoltaic_power")
.lambda()
.eq(ThirdActivePowerDailyUpdateEnt::getSaveDate, today) .eq(ThirdActivePowerDailyUpdateEnt::getSaveDate, today)
.in(ThirdActivePowerDailyUpdateEnt::getStationName, plantSet) .in(ThirdActivePowerDailyUpdateEnt::getStationName, plantSet)
); );
...@@ -949,12 +960,17 @@ public class EnergyConsumptionAnalysisService { ...@@ -949,12 +960,17 @@ public class EnergyConsumptionAnalysisService {
wellSet.add(well.getWellNumber()); wellSet.add(well.getWellNumber());
} }
//用电功率 //用电功率
QueryWrapper<ThirdWellAvgActivePowerEnt> queryWrapper2 = new QueryWrapper<>();
if (CharSequenceUtil.equals(context.getProperty("x.db.databaseId"), BusinessConstant.ORACLE)) {
queryWrapper2.select("NVL( SUM( AVG_ACTIVE_POWER ), 0 ) AS AVG_ACTIVE_POWER")
.apply("TO_CHAR( INPUT_TIME, 'YYYY-MM-DD' ) = {0}", today.toDateStr());
} else {
queryWrapper2.select("IFNULL( SUM( AVG_ACTIVE_POWER ), 0 ) AS AVG_ACTIVE_POWER")
.apply("DATE( INPUT_TIME ) = {0}", today);
}
ThirdWellAvgActivePowerMapper avgMapper = context.getBean(ThirdWellAvgActivePowerMapper.class); ThirdWellAvgActivePowerMapper avgMapper = context.getBean(ThirdWellAvgActivePowerMapper.class);
ThirdWellAvgActivePowerEnt activePowerEnt = avgMapper.selectOne(new QueryWrapper<ThirdWellAvgActivePowerEnt>() ThirdWellAvgActivePowerEnt activePowerEnt = avgMapper.selectOne(queryWrapper2.lambda()
.select("IFNULL( SUM( avg_active_power ), 0 ) AS avg_active_power")
.lambda()
.in(ThirdWellAvgActivePowerEnt::getWellNumber, wellSet) .in(ThirdWellAvgActivePowerEnt::getWellNumber, wellSet)
.apply("DATE(input_time) = {0}", today)
); );
powerConsumption = activePowerEnt.getAvgActivePower(); powerConsumption = activePowerEnt.getAvgActivePower();
//开井数量 //开井数量
......
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
<!--*********************************************************************************--> <!--*********************************************************************************-->
<select id="selectMidPowerHourList" resultMap="BaseResultMap"> <select id="selectMidPowerHourList" resultMap="BaseResultMap" databaseId="MySQL">
SELECT SELECT
IFNULL( AVG( A.PREDICT_POWER ), 0 ) AS POWER, IFNULL( AVG( A.PREDICT_POWER ), 0 ) AS POWER,
A.CREATE_TIME AS HOUR_TIME A.CREATE_TIME AS HOUR_TIME
...@@ -194,7 +194,36 @@ ...@@ -194,7 +194,36 @@
A.CREATE_TIME A.CREATE_TIME
</select> </select>
<select id="selectShortPowerHourList" resultMap="BaseResultMap"> <select id="selectMidPowerHourList" resultMap="BaseResultMap" databaseId="Oracle">
SELECT
NVL( AVG( A.PREDICT_POWER ), 0 ) AS POWER,
A.HOUR_TIME
FROM
(
SELECT
PREDICT_POWER,
EXTRACT( HOUR FROM CAST( TO_DATE( DATA_DATE, 'YYYY-MM-DD HH24:MI:SS' ) AS TIMESTAMP ) ) AS HOUR_TIME
FROM
PLANT_PREDICTED_POWER_MID_TERM
WHERE
PLANT_ID IN
<foreach collection="plantIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="startTime != null and endTime != null">
AND
DATA_DATE BETWEEN
#{startTime} AND
#{endTime}
</if>
) A
GROUP BY
A.HOUR_TIME
ORDER BY
A.HOUR_TIME
</select>
<select id="selectShortPowerHourList" resultMap="BaseResultMap" databaseId="MySQL">
SELECT SELECT
IFNULL( ROUND( AVG( A.PREDICT_POWER ), 2 ), 0 ) AS POWER, IFNULL( ROUND( AVG( A.PREDICT_POWER ), 2 ), 0 ) AS POWER,
A.CREATE_TIME AS HOUR_TIME A.CREATE_TIME AS HOUR_TIME
...@@ -232,6 +261,44 @@ ...@@ -232,6 +261,44 @@
A.CREATE_TIME A.CREATE_TIME
</select> </select>
<select id="selectShortPowerHourList" resultMap="BaseResultMap" databaseId="Oracle">
SELECT
NVL( ROUND( AVG( A.PREDICT_POWER ), 2 ), 0 ) AS POWER,
A.HOUR_TIME
FROM
(
SELECT
PREDICT_POWER,
EXTRACT( HOUR FROM CAST( TO_DATE( DATA_DATE, 'YYYY-MM-DD HH24:MI:SS' ) AS TIMESTAMP ) ) AS HOUR_TIME
FROM
PLANT_PREDICTED_POWER_SHORT_TERM
<where>
<if test="plantIds != null and plantIds.size() > 0">
AND PLANT_ID IN
<foreach collection="plantIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="startTime != null and endTime != null">
AND
DATA_DATE BETWEEN
#{startTime} AND
#{endTime}
</if>
<if test="createTime != null">
AND SUBSTR( DATA_DATE, 1, 10 ) = TO_CHAR( #{createTime}, 'YYYY-MM-DD' )
</if>
<if test="plantId != null">
AND PLANT_ID = #{plantId}
</if>
</where>
) A
GROUP BY
A.HOUR_TIME
ORDER BY
A.HOUR_TIME
</select>
<!--*********************************************************************************--> <!--*********************************************************************************-->
<select id="selectMidPowerHalfHourList" resultMap="BaseResultMap"> <select id="selectMidPowerHalfHourList" resultMap="BaseResultMap">
......
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
<result column="HOUR_NUMBER" property="hourNumber"/> <result column="HOUR_NUMBER" property="hourNumber"/>
</resultMap> </resultMap>
<select id="selectEnergyUseCurve" resultMap="ExtBaseResultMap"> <select id="selectEnergyUseCurve" resultMap="ExtBaseResultMap" databaseId="MySQL">
SELECT HOUR_STR AS HOUR_NUMBER, SELECT HOUR_STR AS HOUR_NUMBER,
IFNULL( ROUND( AVG( PHOTOVOLTAIC_POWER ), 2 ), 0 ) AS PHOTOVOLTAIC_POWER, IFNULL( ROUND( AVG( PHOTOVOLTAIC_POWER ), 2 ), 0 ) AS PHOTOVOLTAIC_POWER,
IFNULL( ROUND( AVG( METER_POWER ), 2 ), 0 ) AS METER_POWER IFNULL( ROUND( AVG( METER_POWER ), 2 ), 0 ) AS METER_POWER
...@@ -120,6 +120,35 @@ ...@@ -120,6 +120,35 @@
ORDER BY HOUR_STR ORDER BY HOUR_STR
</select> </select>
<select id="selectEnergyUseCurve" resultMap="ExtBaseResultMap" databaseId="Oracle">
SELECT HOUR_NUMBER,
NVL( ROUND( AVG( PHOTOVOLTAIC_POWER ), 2 ), 0 ) AS PHOTOVOLTAIC_POWER,
NVL( ROUND( AVG( METER_POWER ), 2 ), 0 ) AS METER_POWER
FROM (SELECT STATION_NAME, EXTRACT( HOUR FROM CAST( CREATE_DATE AS TIMESTAMP ) ) AS HOUR_NUMBER,
PHOTOVOLTAIC_POWER, METER_POWER
FROM THIRD_ACTIVE_POWER_DAILY_UPDATE
<where>
<if test="systemSource != null">
AND SYSTEM_SOURCE = #{systemSource}
</if>
<if test="stationId != null">
AND STATION_ID = #{stationId}
</if>
<if test="createDate != null">
AND CREATE_DATE BETWEEN #{saveDate} AND #{createDate}
</if>
<if test="stationIds != null and stationIds.size() > 0">
AND STATION_ID IN
<foreach collection="stationIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</where>
) Z
GROUP BY HOUR_NUMBER
ORDER BY HOUR_NUMBER
</select>
<delete id="deleteHistory"> <delete id="deleteHistory">
DELETE DELETE
FROM PLANT_POWER_HISTORY_DATA FROM PLANT_POWER_HISTORY_DATA
......
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