Blame view

urbanops-module-garden/src/main/resources/mapper/tree/TreeMapper.xml 2.56 KB
a68ae57e   戈灵虎   迁移 树
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
  <?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="com.zteits.urbanops.module.garden.dal.mysql.tree.TreeMapper">
  
      <!--
          一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
          无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
          代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
          文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
       -->
  
      <resultMap id="CompanyDeptRoadMap" type="com.zteits.urbanops.module.garden.controller.admin.tree.vo.CompanyDeptRoadVO">
          <id property="companyId" column="companyId"/>
          <result property="companyName" column="companyName"/>
          <collection property="depts" ofType="com.zteits.urbanops.module.garden.controller.admin.tree.vo.CompanyDeptRoadVO$DeptVO">
              <id property="deptId" column="deptId"/>
              <result property="deptName" column="deptName"/>
              <collection property="roads" ofType="com.zteits.urbanops.module.garden.controller.admin.tree.vo.CompanyDeptRoadVO$RoadVO">
                  <id property="roadId" column="roadId"/>
                  <result property="roadName" column="roadName"/>
                  <result property="treeCount" column="treeCount"/>
                  <result property="recordedCount" column="recordedCount"/>
                  <result property="startRemark" column="startRemark"/>
                  <result property="endRemark" column="endRemark"/>
              </collection>
          </collection>
      </resultMap>
  
      <select id="selectCompanyDeptRoadTreeData" resultMap="CompanyDeptRoadMap">
a7160ef9   戈灵虎   feat(dept): 添加部门子...
30
          SELECT r.company_id AS companyId,
a68ae57e   戈灵虎   迁移 树
31
32
33
34
35
36
37
38
          d.id AS deptId,
          d.name AS deptName,
          r.id AS roadId,
          r.road_name AS roadName,
          r.starting_remark AS startRemark,
          r.end_remark AS endRemark,
          COALESCE(r.tree_area, 0) AS treeCount,
          COUNT(t.id) AS recordedCount
0bb87db5   戈灵虎   fix(tree): 修复道路与树...
39
40
          FROM garden_road r
          LEFT JOIN garden_tree t ON t.road = r.id
a7160ef9   戈灵虎   feat(dept): 添加部门子...
41
42
          LEFT JOIN system_dept d ON r.dept_id = d.id AND d.status = 0
          WHERE r.company_id = #{belongCompanyId}
fb5fc720   戈灵虎   feat(garden): 为道路...
43
          and d.id is not null
a68ae57e   戈灵虎   迁移 树
44
45
46
          <if test="roadName != null and roadName != ''">
              AND r.road_name LIKE CONCAT('%', #{roadName}, '%')
          </if>
a7160ef9   戈灵虎   feat(dept): 添加部门子...
47
          GROUP BY r.company_id, d.id, d.name, r.id, r.road_name, r.starting_remark, r.end_remark, r.tree_area
9d8a1b35   戈灵虎   feat:树小程序
48
          ORDER BY treeCount DESC, recordedCount DESC
a68ae57e   戈灵虎   迁移 树
49
50
      </select>
  </mapper>