UrbanMonitorMapper.xml 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.onemap.apply.mapper.yzt.UrbanMonitorMapper">
  6. <resultMap type="com.onemap.apply.domain.yzt.UrbanMonitorVO" id="UrbanMonitorResult">
  7. <result property="year" column="year" />
  8. <result property="data" column="data" />
  9. </resultMap>
  10. <!--
  11. 查询城市监测列表
  12. type: buildUp_area(建成区面积) / building_area(建筑面积) / building_count(建筑数量)
  13. 数据库 jc_urban: type=0 建筑信息, type=1 建成区
  14. -->
  15. <select id="selectUrbanMonitorList" resultMap="UrbanMonitorResult">
  16. SELECT
  17. "year",
  18. <choose>
  19. <when test="type == 'building_count'">
  20. COUNT(*) as data
  21. </when>
  22. <otherwise>
  23. SUM(area) as data
  24. </otherwise>
  25. </choose>
  26. FROM "vector"."jc_urban"
  27. WHERE 1=1
  28. <choose>
  29. <when test="type == 'buildUp_area'">
  30. AND type = 1
  31. </when>
  32. <otherwise>
  33. AND type = 0
  34. </otherwise>
  35. </choose>
  36. <if test="code != null and code != ''">
  37. AND trim(code) = trim(#{code})
  38. </if>
  39. GROUP BY "year"
  40. ORDER BY "year" ASC
  41. </select>
  42. <resultMap type="com.onemap.apply.domain.yzt.UrbanExpansionLayerVO" id="UrbanExpansionLayerResult">
  43. <result property="year" column="year" />
  44. <result property="layerType" column="layer_type" />
  45. <result property="dimType" column="dim_type" />
  46. <result property="layerName" column="layer_name" />
  47. <result property="prevYear" column="prev_year" />
  48. <result property="data" column="data" />
  49. <result property="serviceId" column="service_id" />
  50. </resultMap>
  51. <select id="selectUrbanExpansionList" resultMap="UrbanExpansionLayerResult">
  52. SELECT
  53. year, layer_type, dim_type, layer_name, prev_year, data, service_id
  54. FROM "vector"."jc_urban_expansion"
  55. WHERE status = 1
  56. <if test="dimType != null and dimType != ''">
  57. AND (dim_type = #{dimType} OR dim_type = '0d')
  58. </if>
  59. ORDER BY sort_order ASC, year ASC
  60. </select>
  61. <resultMap type="com.onemap.apply.domain.yzt.UrbanMonitorAreaVO" id="UrbanMonitorAreaResult">
  62. <result property="code" column="code" />
  63. <result property="data" column="data" />
  64. </resultMap>
  65. <!--
  66. 按年份、区域、类型分组查询城市监测数据
  67. 返回: year, code, type, total_area, count
  68. Service层根据type拆分数据
  69. -->
  70. <select id="selectUrbanMonitorGrouped" resultType="map">
  71. SELECT
  72. "year",
  73. trim(code) as code,
  74. type,
  75. SUM(area) as total_area,
  76. COUNT(*) as count
  77. FROM "vector"."jc_urban"
  78. GROUP BY "year", code, type
  79. ORDER BY "year" ASC, code ASC
  80. </select>
  81. </mapper>