DYL0109
2025-04-16 75f043dfa6660716364e66ee0b3cf99f44255686
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhitan.peakvalley.mapper.PeakValleyMapper">
 
 
    <select id="getDataStatistics"
            resultType="com.zhitan.peakvalley.domain.ElectricityDataItem">
        SELECT
        index_code indexCode,
        time_code timeCode,
        electricity_type electricityType,
        data_time dataTime,
        electricity,
        "cost",
        time_type timeType,
        price,
        remark
        FROM
        "electricity_data_item"
        WHERE
        index_id IN
        <foreach collection="indexIdSet" item="indexId" open="(" separator="," close=")">
            #{indexId}
        </foreach>
        AND (data_time BETWEEN #{startTime} AND #{endTime})
        AND time_type = #{timeType}
    </select>
    <select id="getDataStatisticsDeviationAnalysis"
            resultType="com.zhitan.peakvalley.domain.ElectricityDataItem">
        SELECT
        index_code indexCode,
        time_code timeCode,
        electricity_type electricityType,
        data_time dataTime,
        electricity,
        "cost",
        time_type timeType,
        price,
        remark
        FROM
        "electricity_data_item"
        WHERE
        index_id IN
        <foreach collection="indexIdSet" item="indexId" open="(" separator="," close=")">
            #{indexId}
        </foreach>
 
        AND time_type = #{timeType}
    </select>
    <select id="getCostTrends"
            resultType="com.zhitan.peakvalley.domain.ElectricityDataItem">
        SELECT
        di.index_code,
        di.time_code,
        di.electricity_type,
        di.data_time,
        di.electricity,
        di.cost,
        di.time_type,
        di.price,
        di.remark
        FROM
        "electricity_data_item" di
        JOIN energy_index ei  ON di.index_id = ei.index_id
        WHERE
        di.index_id IN ( SELECT index_id FROM node_index WHERE node_id = #{nodeId})
        <if test="energyType !='' and energyType !=null  and energyType =='allType'">
            AND ei.energy_id != ''
        </if>
        <if test="energyType !='' and energyType !=null  and energyType !='allType'">
            AND  ei.energy_id = #{energyType}
        </if>
        AND (di.data_time BETWEEN #{beginTime} AND #{endTime})
        AND di.time_type = #{timeType}
    </select>
</mapper>