Commit b7170d05 authored by ZWT's avatar ZWT

得到的

parent 79854b6f
......@@ -67,12 +67,12 @@
ID=#{id}
</select>
<insert id="batchInsert" parameterType="list">
<insert id="batchInsert" parameterType="list" databaseId="MySQL">
INSERT INTO SPACE_YESTERDAY_GREEN_RATE (ID, CREATE_BY_ID, CREATE_BY_NAME, CREATE_TIME, MODIFY_BY_ID,
MODIFY_BY_NAME, MODIFY_TIME, WELLHEAD_ID, WELL_NUMBER, RECORD_DATE, START_SEQ, WELL_TOTAL_POWER_ACTUAL,
WELL_TOTAL_POWER_OPTIMIZE, WELL_GREEN_POWER_ACTUAL, WELL_GREEN_POWER_OPTIMIZE, GREEN_POWER_RATE_ACTUAL,
GREEN_POWER_RATE_OPTIMIZE, LINE_NAME, POWER_COST_ACTUAL, POWER_COST_OPTIMIZE, CITY_COST_ACTUAL,
CITY_COST_OPTIMIZE)
CITY_COST_OPTIMIZE, IS_DELETED)
VALUES
<foreach collection="list" item="item" separator=",">
(
......@@ -97,8 +97,45 @@
#{item.powerCostActual},
#{item.powerCostOptimize},
#{item.cityCostActual},
#{item.cityCostOptimize}
#{item.cityCostOptimize},
1
)
</foreach>
</insert>
<insert id="batchInsert" parameterType="list" databaseId="Oracle">
INSERT ALL
<foreach collection="list" item="item">
INTO SPACE_YESTERDAY_GREEN_RATE (ID, CREATE_BY_ID, CREATE_BY_NAME, CREATE_TIME, MODIFY_BY_ID,
MODIFY_BY_NAME, MODIFY_TIME, WELLHEAD_ID, WELL_NUMBER, RECORD_DATE, START_SEQ, WELL_TOTAL_POWER_ACTUAL,
WELL_TOTAL_POWER_OPTIMIZE, WELL_GREEN_POWER_ACTUAL, WELL_GREEN_POWER_OPTIMIZE, GREEN_POWER_RATE_ACTUAL,
GREEN_POWER_RATE_OPTIMIZE, LINE_NAME, POWER_COST_ACTUAL, POWER_COST_OPTIMIZE, CITY_COST_ACTUAL,
CITY_COST_OPTIMIZE, IS_DELETED) VALUES (
#{item.id},
#{item.createById},
#{item.createByName},
#{item.createTime},
#{item.modifyById},
#{item.modifyByName},
#{item.modifyTime},
#{item.wellheadId},
#{item.wellNumber},
#{item.recordDate},
#{item.startSeq},
#{item.wellTotalPowerActual},
#{item.wellTotalPowerOptimize},
#{item.wellGreenPowerActual},
#{item.wellGreenPowerOptimize},
#{item.greenPowerRateActual},
#{item.greenPowerRateOptimize},
#{item.lineName},
#{item.powerCostActual},
#{item.powerCostOptimize},
#{item.cityCostActual},
#{item.cityCostOptimize},
1
)
</foreach>
SELECT * FROM DUAL
</insert>
</mapper>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.prediction.mapper.PlantPredictedPowerShortTermViewMapper">
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.PlantPredictedPowerShortTermView">
<id column="ID" property="id" />
<id column="ID" property="id"/>
<result column="PLANT_ID" property="plantId"/>
<result column="DATA_DATE" property="dataDate"/>
<result column="POWER" property="power"/>
......@@ -41,40 +41,79 @@
</resultMap>
<select id="selectPredictionPower30" parameterType="pps.core.prediction.entity.PlantPredictedPowerShortTermView"
resultMap="BaseResultMap">
resultMap="BaseResultMap" databaseId="MySQL">
SELECT
Z.STATION_NAME,
Z.DATA_DATE AS CREATE_TIME,
MAX( Z.PREDICT_POWER ) AS PREDICT_POWER
FROM
(
SELECT
L.LINE_NAME AS STATION_NAME,
CASE
WHEN MINUTE ( T.DATA_DATE ) &lt; 31 THEN
DATE_FORMAT( T.DATA_DATE, '%H:00:00' ) ELSE DATE_FORMAT( T.DATA_DATE, '%H:30:00' )
END DATA_DATE,
T.PREDICT_POWER
FROM
BASE_POWER_LINE L
JOIN BASE_POWER_LINE_PLANT E ON L.ID = E.LINE_ID
JOIN BASE_PHOTOVOLTAIC_PLANT P ON P.ID = E.PLANT_ID
JOIN PLANT_PREDICTED_POWER_SHORT_TERM T ON P.ID = T.PLANT_ID
WHERE
T.DATA_DATE BETWEEN #{startTime}
AND #{endTime}
<if test="stationNames != null and stationNames.size() > 0">
AND L.LINE_NAME IN
<foreach collection="stationNames" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
) Z
GROUP BY
Z.STATION_NAME,
Z.DATA_DATE
ORDER BY
Z.STATION_NAME,
Z.DATA_DATE
</select>
<select id="selectPredictionPower30" parameterType="pps.core.prediction.entity.PlantPredictedPowerShortTermView"
resultMap="BaseResultMap" databaseId="Oracle">
SELECT
z.station_name,
z.data_date AS create_time,
MAX( z.predict_power ) AS predict_power
Z.STATION_NAME,
Z.DATA_DATE AS CREATE_TIME,
MAX( Z.PREDICT_POWER ) AS PREDICT_POWER
FROM
(
SELECT
l.line_name AS station_name,
L.LINE_NAME AS STATION_NAME,
'1970-01-01 ' || TO_CHAR( TO_DATE( T.DATA_DATE, 'YYYY-MM-DD HH24:MI:SS' ), 'HH24' ) ||
CASE
WHEN MINUTE ( t.data_date ) &lt; 31 THEN
DATE_FORMAT( t.data_date, '%H:00:00' ) ELSE DATE_FORMAT( t.data_date, '%H:30:00' )
END data_date,
t.predict_power
WHEN EXTRACT( MINUTE FROM CAST( TO_DATE( T.DATA_DATE, 'YYYY-MM-DD HH24:MI:SS' ) AS TIMESTAMP ) ) &lt; 31 THEN
':00:00' ELSE ':30:00'
END AS DATA_DATE,
T.PREDICT_POWER
FROM
base_power_line l
JOIN base_power_line_plant e ON l.id = e.line_id
JOIN base_photovoltaic_plant p ON p.id = e.plant_id
JOIN plant_predicted_power_short_term t ON p.id = t.plant_id
BASE_POWER_LINE L
JOIN BASE_POWER_LINE_PLANT E ON L.ID = E.LINE_ID
JOIN BASE_PHOTOVOLTAIC_PLANT P ON P.ID = E.PLANT_ID
JOIN PLANT_PREDICTED_POWER_SHORT_TERM T ON P.ID = T.PLANT_ID
WHERE
t.data_date BETWEEN #{startTime}
TO_DATE( T.DATA_DATE, 'YYYY-MM-DD HH24:MI:SS' ) BETWEEN #{startTime}
AND #{endTime}
<if test="stationNames != null and stationNames.size() > 0">
AND l.line_name IN
AND L.LINE_NAME IN
<foreach collection="stationNames" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
) z
) Z
GROUP BY
z.station_name,
z.data_date
Z.STATION_NAME,
Z.DATA_DATE
ORDER BY
z.station_name,
z.data_date
Z.STATION_NAME,
Z.DATA_DATE
</select>
</mapper>
\ No newline at end of file
......@@ -352,42 +352,83 @@
</select>
<select id="selectAvgPower30" parameterType="pps.core.prediction.entity.ThirdActivePowerView"
resultMap="BaseResultMap">
SELECT z.station_name,
z.create_date,
MAX(z.photovoltaic_power) AS photovoltaic_power
FROM (SELECT l.line_name AS station_name,
resultMap="BaseResultMap" databaseId="MySQL">
SELECT Z.STATION_NAME,
Z.CREATE_DATE,
MAX(Z.PHOTOVOLTAIC_POWER) AS PHOTOVOLTAIC_POWER
FROM (SELECT L.LINE_NAME AS STATION_NAME,
CASE
WHEN MINUTE ( T.CREATE_DATE) &lt; 31 THEN
DATE_FORMAT( T.CREATE_DATE, '%H:00:00' ) ELSE DATE_FORMAT( T.CREATE_DATE, '%H:30:00' )
END CREATE_DATE ,
T.PHOTOVOLTAIC_POWER
FROM
BASE_POWER_LINE L
JOIN BASE_POWER_LINE_PLANT E ON L.ID = E.LINE_ID
JOIN BASE_PHOTOVOLTAIC_PLANT P ON P.ID = E.PLANT_ID
JOIN THIRD_ACTIVE_POWER T ON P.STATION_NAME = T.STATION_NAME
WHERE
T.CREATE_DATE BETWEEN #{startTime}
AND #{endTime}
<if test="systemSource != null">
AND T.SYSTEM_SOURCE = #{systemSource}
</if>
<if test="stationName != null and stationName != ''">
AND T.STATION_NAME = #{stationName}
</if>
<if test="stationNames != null and stationNames.size() > 0">
AND L.LINE_NAME IN
<foreach collection="stationNames" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
) Z
GROUP BY
Z.STATION_NAME,
Z.CREATE_DATE
ORDER BY
Z.STATION_NAME,
Z.CREATE_DATE
</select>
<select id="selectAvgPower30" parameterType="pps.core.prediction.entity.ThirdActivePowerView"
resultMap="BaseResultMap" databaseId="Oracle">
SELECT Z.STATION_NAME,
Z.CREATE_DATE,
MAX(Z.PHOTOVOLTAIC_POWER) AS PHOTOVOLTAIC_POWER
FROM (SELECT L.LINE_NAME AS STATION_NAME,
'1970-01-01 ' || TO_CHAR( T.CREATE_DATE, 'HH24' ) ||
CASE
WHEN MINUTE ( t.create_date) &lt; 31 THEN
DATE_FORMAT( t.create_date, '%H:00:00' ) ELSE DATE_FORMAT( t.create_date, '%H:30:00' )
END create_date ,
t.photovoltaic_power
WHEN EXTRACT( MINUTE FROM CAST( T.CREATE_DATE AS TIMESTAMP ) ) &lt; 31 THEN
':00:00' ELSE ':30:00'
END AS CREATE_DATE,
T.PHOTOVOLTAIC_POWER
FROM
base_power_line l
JOIN base_power_line_plant e ON l.id = e.line_id
JOIN base_photovoltaic_plant p ON p.id = e.plant_id
JOIN third_active_power t ON p.station_name = t.station_name
BASE_POWER_LINE L
JOIN BASE_POWER_LINE_PLANT E ON L.ID = E.LINE_ID
JOIN BASE_PHOTOVOLTAIC_PLANT P ON P.ID = E.PLANT_ID
JOIN THIRD_ACTIVE_POWER T ON P.STATION_NAME = T.STATION_NAME
WHERE
t.create_date BETWEEN #{startTime}
T.CREATE_DATE BETWEEN #{startTime}
AND #{endTime}
<if test="systemSource != null">
AND t.system_source = #{systemSource}
AND T.SYSTEM_SOURCE = #{systemSource}
</if>
<if test="stationName != null and stationName != ''">
AND t.station_name = #{stationName}
AND T.STATION_NAME = #{stationName}
</if>
<if test="stationNames != null and stationNames.size() > 0">
AND l.line_name IN
AND L.LINE_NAME IN
<foreach collection="stationNames" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
) z
) Z
GROUP BY
z.station_name,
z.create_date
Z.STATION_NAME,
Z.CREATE_DATE
ORDER BY
z.station_name,
z.create_date
Z.STATION_NAME,
Z.CREATE_DATE
</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