ContractElectricDao.xml 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="platform.modules.build.dao.ContractElectricDao">
  4. <select id="findCompanyElectrics" resultType="platform.modules.build.entity.ContractElectric">
  5. select
  6. a.*
  7. from y_contract_electric a
  8. WHERE a.company_id=#{company_id} and a.del_flag='0'
  9. </select>
  10. <select id="countContractElectric" resultType="int">
  11. select
  12. count(a.id)
  13. from y_contract_electric a
  14. WHERE a.electric_id=#{electric_id} and a.del_flag='0'
  15. <if test="contract_id!=null">
  16. and a.contract_id!=#{contract_id}
  17. </if>
  18. </select>
  19. <select id="countExpectElectricId" resultType="int">
  20. select
  21. count(a.id)
  22. from y_contract_electric a
  23. WHERE a.contract_id=#{contract_id} and a.del_flag='0' and a.electric_id!=#{electric_id}
  24. </select>
  25. <select id="checkIsValid" resultType="int">
  26. select count(id) from y_contract_electric cw WHERE cw.electric_id=#{electric_id} and cw.del_flag='0'
  27. </select>
  28. <select id="getContractElectricMeterCount" resultType="platform.modules.build.entity.ContractElectric">
  29. select cw.* from y_contract_electric cw WHERE cw.electric_id=#{electric_id} and cw.del_flag='0' and
  30. (start_electric_meter_count is not null or start_electric_peak_count is not null)
  31. limit 0,1
  32. </select>
  33. <update id="deleteByContractId">
  34. update y_contract_electric set del_flag=1
  35. where contract_id=#{contract_id}
  36. </update>
  37. <select id="findElectricsAndRead" resultType="platform.modules.build.entity.ContractElectric">
  38. select
  39. a.*,
  40. CASE WHEN a.read_id is null THEN a.start_electric_meter_count
  41. ELSE b.electric_current_read end as electric_before_read,
  42. CASE WHEN a.read_id is null THEN a.start_electric_peak_count
  43. ELSE b.electric_peak_current_read end as electric_peak_before_read,
  44. CASE WHEN a.read_id is null THEN a.start_electric_valley_count
  45. ELSE b.electric_valley_current_read end as electric_valley_before_read,
  46. CASE WHEN a.read_id is null THEN a.start_meter_write
  47. ELSE b.meter_write end as meter_write
  48. from y_contract_electric a
  49. LEFT JOIN y_electric_read b on a.read_id=b.id WHERE a.company_id=#{company_id} and a.del_flag='0'
  50. </select>
  51. <select id="findElectricsByContractId" resultType="platform.modules.build.entity.ContractElectric">
  52. select
  53. ce.*,a.name as electric_name
  54. from y_contract_electric ce
  55. inner join y_electric a on a.id=ce.electric_id
  56. WHERE ce.contract_id=#{contractId} and ce.del_flag='0'
  57. </select>
  58. <select id="findCompanyElectricsByElectricId" resultType="platform.modules.build.entity.ContractElectric">
  59. select
  60. a.company_id,
  61. max(id) as id,
  62. max(company_name) as company_name,
  63. max(start_date) as start_date,
  64. max(end_date) as end_date
  65. from y_contract_electric a
  66. WHERE a.electric_id=#{electric_id} and a.del_flag='0'
  67. group by a.company_id
  68. </select>
  69. <sql id="common_peak">
  70. CASE WHEN cew.is_common=1 THEN cew.start_electric_peak_count_common
  71. else a.start_electric_peak_count end
  72. </sql>
  73. <sql id="common_flat">
  74. CASE WHEN cew.is_common=1 THEN cew.start_electric_flat_count_common
  75. else a.start_electric_flat_count end
  76. </sql>
  77. <sql id="common_valley">
  78. CASE WHEN cew.is_common=1 THEN cew.start_electric_valley_count_common
  79. else a.start_electric_valley_count end
  80. </sql>
  81. <sql id="common_meter">
  82. CASE WHEN cew.is_common=1 THEN cew.start_electric_meter_count_common
  83. else a.start_electric_meter_count end
  84. </sql>
  85. <update id="deleteById">
  86. update y_contract_electric set del_flag=1
  87. where id=#{id}
  88. </update>
  89. </mapper>