DepartmentDictMapper.xml 1.39 KB
<?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.subsidy.mapper.DepartmentDictMapper">

    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.subsidy.model.DepartmentDictDO">
        <id column="id" property="id" />
        <result column="create_date" property="createDate" />
        <result column="update_date" property="updateDate" />
        <result column="delete_date" property="deleteDate" />
        <result column="department_name" property="departmentName" />
        <result column="parent_id" property="parentId" />
        <result column="children" property="children" />
    </resultMap>

    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        create_date,
        update_date,
        delete_date,
        id, department_name, department_leader_id, parent_id, children
    </sql>

    <select id="getDepartments" parameterType="long" resultType="com.subsidy.dto.department.GetDepartmentsVO">
        SELECT
            t.*,
            t2.cnt
        FROM
            department_dict t
            LEFT JOIN ( SELECT id, sum( 1 ) AS cnt FROM member t WHERE t.delete_date IS NULL GROUP BY t.department_id ) t2 ON t.id = t2.id
        WHERE
            t.delete_date IS NULL
            AND t.company_id =#{companyId}
    </select>

</mapper>