Files
klp-oa/klp-ems/src/main/resources/mapper/EmsEnergyRateMapper.xml

90 lines
3.6 KiB
XML

<?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.klp.ems.mapper.EmsEnergyRateMapper">
<resultMap type="com.klp.ems.domain.EmsEnergyRate" id="EmsEnergyRateResult">
<result property="energyRateId" column="energy_rate_id"/>
<result property="energyTypeId" column="energy_type_id"/>
<result property="rate" column="rate"/>
<result property="currency" column="currency"/>
<result property="effectiveDate" column="effective_date"/>
<result property="expiryDate" column="expiry_date"/>
<result property="usePeakValley" column="use_peak_valley"/>
<result property="useTieredPricing" column="use_tiered_pricing"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<resultMap type="com.klp.ems.domain.vo.EmsEnergyRateVo" id="EmsEnergyRateVoResult">
<result property="energyRateId" column="energy_rate_id"/>
<result property="energyTypeId" column="energy_type_id"/>
<result property="rate" column="rate"/>
<result property="currency" column="currency"/>
<result property="effectiveDate" column="effective_date"/>
<result property="expiryDate" column="expiry_date"/>
<result property="usePeakValley" column="use_peak_valley"/>
<result property="useTieredPricing" column="use_tiered_pricing"/>
<result property="createBy" column="create_by"/>
<result property="updateBy" column="update_by"/>
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="delFlag" column="del_flag"/>
<result property="remark" column="remark"/>
</resultMap>
<select id="selectEffectiveRate" parameterType="map" resultMap="EmsEnergyRateResult">
SELECT *
FROM ems_energy_rate
WHERE energy_type_id = #{energyTypeId}
AND del_flag = '0'
AND effective_date &lt;= #{calcDate}
AND (expiry_date IS NULL OR expiry_date &gt;= #{calcDate})
ORDER BY effective_date DESC
LIMIT 1
</select>
<!-- 查询费率列表(包含梯度和时段信息) -->
<select id="selectVoList" resultMap="EmsEnergyRateVoResult">
SELECT DISTINCT
er.energy_rate_id,
er.energy_type_id,
er.rate,
er.currency,
er.effective_date,
er.expiry_date,
er.use_peak_valley,
er.use_tiered_pricing,
er.create_by,
er.update_by,
er.create_time,
er.update_time,
er.del_flag,
er.remark
FROM ems_energy_rate er
WHERE er.del_flag = '0'
<if test="energyTypeId != null">
AND er.energy_type_id = #{energyTypeId}
</if>
<if test="rate != null">
AND er.rate = #{rate}
</if>
<if test="currency != null">
AND er.currency = #{currency}
</if>
<if test="effectiveDate != null">
AND er.effective_date = #{effectiveDate}
</if>
<if test="expiryDate != null">
AND er.expiry_date = #{expiryDate}
</if>
ORDER BY er.create_time DESC
</select>
</mapper>