ContractWaterDao.xml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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.ContractWaterDao">
  4. <select id="findCompanyWaters" resultType="platform.modules.build.entity.ContractWater">
  5. select
  6. a.*
  7. from y_contract_water a
  8. WHERE a.company_id=#{company_id} and a.del_flag='0'
  9. </select>
  10. <select id="findCompanyWatersByWaterId" resultType="platform.modules.build.entity.ContractWater">
  11. select
  12. 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
  13. from y_contract_water a
  14. WHERE a.water_id=#{water_id} and a.del_flag='0'
  15. group by a.company_id
  16. </select>
  17. <select id="countContractWater" resultType="int">
  18. select
  19. count(a.id)
  20. from y_contract_water a
  21. WHERE a.water_id=#{water_id} and a.del_flag='0'
  22. <if test="contract_id!=null">
  23. and a.contract_id!=#{contract_id}
  24. </if>
  25. </select>
  26. <select id="countExpectWaterId" resultType="int">
  27. select
  28. count(a.id)
  29. from y_contract_water a
  30. WHERE a.contract_id=#{contract_id} and a.del_flag='0'
  31. and a.water_id!=#{water_id}
  32. </select>
  33. <select id="findCompanyWatersAndRead" resultType="platform.modules.build.entity.ContractWater">
  34. select
  35. a.*,
  36. CASE WHEN a.read_id is null THEN a.start_water_meter_count
  37. ELSE b.water_current_read end as water_before_read,
  38. CASE WHEN a.read_id is null THEN a.start_meter_write
  39. ELSE b.meter_write end as meter_write
  40. from y_contract_water a
  41. LEFT JOIN y_water_read b on a.read_id=b.id WHERE a.company_id=#{company_id} and a.del_flag='0'
  42. </select>
  43. <update id="deleteById">
  44. update y_contract_water set del_flag=1
  45. where id=#{id}
  46. </update>
  47. <update id="deleteByContractId">
  48. update y_contract_water set del_flag=1
  49. where contract_id=#{contract_id}
  50. </update>
  51. <select id="getContractWaterMeterCount" resultType="platform.modules.build.entity.ContractWater">
  52. select cw.* from y_contract_water cw WHERE cw.water_id=#{water_id} and cw.del_flag='0' and start_water_meter_count is not null limit 0,1
  53. </select>
  54. <select id="countValidContractWater" resultType="int">
  55. select count(id) from y_contract_water cw WHERE cw.water_id=#{water_id} and cw.del_flag='0'
  56. </select>
  57. <select id="checkIsValid" resultType="int">
  58. select count(id) from y_contract_water cw WHERE cw.water_id=#{water_id} and cw.del_flag='0'
  59. </select>
  60. <select id="findWatersByContractId" resultType="platform.modules.build.entity.ContractWater">
  61. select
  62. cw.*,a.name as water_name
  63. from y_contract_water cw
  64. inner join y_water a on a.id=cw.water_id
  65. WHERE cw.contract_id=#{contractId} and cw.del_flag='0'
  66. </select>
  67. <sql id="is_common">
  68. CASE WHEN cew.is_common=1 THEN cew.start_water_meter_count_common
  69. else a.start_water_meter_count end
  70. </sql>
  71. </mapper>