TdgyMapper.xml 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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="com.onemap.apply.mapper.tdgy.TdgyMapper">
  4. <select id="getSuspectedIdleLand" resultType="map">
  5. SELECT ts.id, ts.xmmc, ts.crmj, TO_CHAR(ts.ydkgsj, 'yyyy/MM/dd') AS ydkgsj,
  6. public.st_asewkt(public.st_union(tb.geom)) AS geom
  7. FROM tdgy_sj ts
  8. LEFT JOIN "TB_TDGY_SJ" tb ON tb.pid = ts.id
  9. WHERE (ts.sfjg != true OR ts.sfjg IS NULL)
  10. AND (NOW() > ts.ydkgsj)
  11. AND ts.sfkg != true
  12. AND ts.id::varchar NOT IN (SELECT land_id FROM base.t_land_idle_confirm)
  13. <if test="key != null and key != ''">
  14. AND (ts.xmmc LIKE '%' || #{key} || '%' OR ts.srf LIKE '%' || #{key} || '%')
  15. </if>
  16. <if test="xzqh != null and xzqh != ''">
  17. AND ts.xzqh = #{xzqh}
  18. </if>
  19. GROUP BY ts.id, ts.xmmc, ts.crmj, ts.ydkgsj
  20. LIMIT #{limit} OFFSET #{offset};
  21. </select>
  22. <select id="getLandCountArea" resultType="map">
  23. select count(*) as total, sum(ts.crmj::NUMERIC) as area
  24. from tdgy_sj ts
  25. </select>
  26. <select id="getCountAreaSuspected" resultType="map">
  27. SELECT count(ts.id) AS total, sum(ts.crmj::NUMERIC) AS area
  28. FROM tdgy_sj ts
  29. WHERE (ts.sfjg != true OR ts.sfjg IS NULL)
  30. AND (NOW() > ts.ydkgsj)
  31. AND ts.sfkg != true
  32. AND ts.id::varchar NOT IN (SELECT land_id FROM base.t_land_idle_confirm)
  33. </select>
  34. <select id="getCountAreaConfirm" resultType="map">
  35. SELECT COUNT(td.id) AS total, SUM(td.crmj::NUMERIC) AS area
  36. FROM base.t_land_idle_confirm AS confirm
  37. JOIN vector.tdgy_sj AS td ON confirm.land_id = td.id::VARCHAR
  38. WHERE confirm.is_idle = true
  39. </select>
  40. <select id="getCountAreaDisposal" resultType="map">
  41. SELECT COUNT(td.id) AS total, SUM(td.crmj::NUMERIC) AS area
  42. FROM base.t_land_idle_confirm AS confirm
  43. JOIN vector.tdgy_sj AS td ON confirm.land_id = td.id::VARCHAR
  44. WHERE confirm.is_idle = true AND confirm.is_disposal = true
  45. </select>
  46. <select id="getAreaByDistrict" resultType="map">
  47. SELECT ts.xzqh AS "districtCode",
  48. SUM(ts.crmj::NUMERIC) AS "totalArea",
  49. SUM(CASE WHEN confirm.is_idle = true THEN ts.crmj::NUMERIC ELSE 0 END) AS "confirmArea",
  50. SUM(CASE WHEN confirm.is_idle = true AND confirm.is_disposal = true THEN ts.crmj:: NUMERIC ELSE 0
  51. END) AS "disposalArea"
  52. FROM vector.tdgy_sj ts
  53. LEFT JOIN
  54. base.t_land_idle_confirm confirm ON confirm.land_id = ts.id::VARCHAR
  55. GROUP BY
  56. ts.xzqh
  57. </select>
  58. <select id="getAreaByReason" resultType="map">
  59. SELECT SUM(td.crmj::NUMERIC) AS area, confirm.idle_reason AS reason
  60. FROM base.t_land_idle_confirm AS confirm
  61. JOIN vector.tdgy_sj AS td ON confirm.land_id = td.id::VARCHAR
  62. WHERE confirm.is_idle = true
  63. GROUP BY confirm.idle_reason
  64. </select>
  65. </mapper>