| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?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="platform.modules.build.dao.ContractElectricDao">
- <select id="findCompanyElectrics" resultType="platform.modules.build.entity.ContractElectric">
- select
- a.*
- from y_contract_electric a
- WHERE a.company_id=#{company_id} and a.del_flag='0'
- </select>
- <select id="countContractElectric" resultType="int">
- select
- count(a.id)
- from y_contract_electric a
- WHERE a.electric_id=#{electric_id} and a.del_flag='0'
- <if test="contract_id!=null">
- and a.contract_id!=#{contract_id}
- </if>
- </select>
- <select id="countExpectElectricId" resultType="int">
- select
- count(a.id)
- from y_contract_electric a
- WHERE a.contract_id=#{contract_id} and a.del_flag='0' and a.electric_id!=#{electric_id}
- </select>
- <select id="checkIsValid" resultType="int">
- select count(id) from y_contract_electric cw WHERE cw.electric_id=#{electric_id} and cw.del_flag='0'
- </select>
- <select id="getContractElectricMeterCount" resultType="platform.modules.build.entity.ContractElectric">
- select cw.* from y_contract_electric cw WHERE cw.electric_id=#{electric_id} and cw.del_flag='0' and
- (start_electric_meter_count is not null or start_electric_peak_count is not null)
- limit 0,1
- </select>
- <update id="deleteByContractId">
- update y_contract_electric set del_flag=1
- where contract_id=#{contract_id}
- </update>
- <select id="findElectricsAndRead" resultType="platform.modules.build.entity.ContractElectric">
- select
- a.*,
- CASE WHEN a.read_id is null THEN a.start_electric_meter_count
- ELSE b.electric_current_read end as electric_before_read,
- CASE WHEN a.read_id is null THEN a.start_electric_peak_count
- ELSE b.electric_peak_current_read end as electric_peak_before_read,
- CASE WHEN a.read_id is null THEN a.start_electric_valley_count
- ELSE b.electric_valley_current_read end as electric_valley_before_read,
- CASE WHEN a.read_id is null THEN a.start_meter_write
- ELSE b.meter_write end as meter_write
- from y_contract_electric a
- LEFT JOIN y_electric_read b on a.read_id=b.id WHERE a.company_id=#{company_id} and a.del_flag='0'
- </select>
- <select id="findElectricsByContractId" resultType="platform.modules.build.entity.ContractElectric">
- select
- ce.*,a.name as electric_name
- from y_contract_electric ce
- inner join y_electric a on a.id=ce.electric_id
- WHERE ce.contract_id=#{contractId} and ce.del_flag='0'
- </select>
- <select id="findCompanyElectricsByElectricId" resultType="platform.modules.build.entity.ContractElectric">
- select
-
- a.company_id,
- max(id) as id,
- max(company_name) as company_name,
- max(start_date) as start_date,
- max(end_date) as end_date
-
- from y_contract_electric a
- WHERE a.electric_id=#{electric_id} and a.del_flag='0'
- group by a.company_id
- </select>
- <sql id="common_peak">
- CASE WHEN cew.is_common=1 THEN cew.start_electric_peak_count_common
- else a.start_electric_peak_count end
- </sql>
- <sql id="common_flat">
- CASE WHEN cew.is_common=1 THEN cew.start_electric_flat_count_common
- else a.start_electric_flat_count end
- </sql>
- <sql id="common_valley">
- CASE WHEN cew.is_common=1 THEN cew.start_electric_valley_count_common
- else a.start_electric_valley_count end
- </sql>
- <sql id="common_meter">
- CASE WHEN cew.is_common=1 THEN cew.start_electric_meter_count_common
- else a.start_electric_meter_count end
- </sql>
- <update id="deleteById">
- update y_contract_electric set del_flag=1
- where id=#{id}
- </update>
- </mapper>
|