2021-01-28 12:13:15 +08:00
<?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">
2021-02-14 22:09:36 +08:00
<mapper namespace= "ink.wgink.service.department.dao.IDepartmentDao" >
2021-01-28 12:13:15 +08:00
2021-01-29 15:02:37 +08:00
<cache flushInterval= "3600000" />
2021-01-28 12:13:15 +08:00
<resultMap id= "departmentDTO" type= "ink.wgink.pojo.dtos.department.DepartmentDTO" >
<id property= "departmentId" column= "department_id" />
<result property= "departmentParentId" column= "department_parent_id" />
<result property= "departmentParentName" column= "department_parent_name" />
<result property= "departmentName" column= "department_name" />
<result property= "departmentSummary" column= "department_summary" />
<result property= "departmentCode" column= "department_code" />
<result property= "departmentNameEn" column= "department_name_en" />
<result property= "departmentNameOther" column= "department_name_other" />
<result property= "departmentSummary" column= "department_summary" />
<result property= "departmentLogo" column= "department_logo" />
<result property= "departmentLogoHover" column= "department_logo_hover" />
<result property= "departmentType" column= "department_type" />
<result property= "departmentState" column= "department_state" />
<result property= "departmentFax" column= "department_fax" />
<result property= "departmentTel" column= "department_tel" />
<result property= "departmentAddress" column= "department_address" />
<result property= "departmentMaster" column= "department_master" />
<result property= "departmentMasterName" column= "department_master_name" />
<result property= "departmentDuty" column= "department_duty" />
<result property= "departmentArea1Id" column= "department_area1_id" />
<result property= "departmentArea1Code" column= "department_area1_code" />
<result property= "departmentArea1Name" column= "department_area1_name" />
<result property= "departmentArea2Id" column= "department_area2_id" />
<result property= "departmentArea2Code" column= "department_area2_code" />
<result property= "departmentArea2Name" column= "department_area2_name" />
<result property= "departmentArea3Id" column= "department_area3_id" />
<result property= "departmentArea3Code" column= "department_area3_code" />
<result property= "departmentArea3Name" column= "department_area3_name" />
<result property= "departmentArea4Id" column= "department_area4_id" />
<result property= "departmentArea4Code" column= "department_area4_code" />
<result property= "departmentArea4Name" column= "department_area4_name" />
<result property= "departmentArea5Id" column= "department_area5_id" />
<result property= "departmentArea5Code" column= "department_area5_code" />
<result property= "departmentArea5Name" column= "department_area5_name" />
<result property= "departmentLongitude" column= "department_longitude" />
<result property= "departmentLatitude" column= "department_latitude" />
<result property= "departmentOrder" column= "department_order" />
</resultMap>
2021-02-25 23:23:47 +08:00
<resultMap id= "departmentPO" type= "ink.wgink.pojo.pos.DepartmentPO" >
2021-01-28 12:13:15 +08:00
<id property= "departmentId" column= "department_id" />
<result property= "departmentIntId" column= "department_int_id" />
<result property= "departmentParentId" column= "department_parent_id" />
<result property= "departmentParentName" column= "department_parent_name" />
<result property= "departmentName" column= "department_name" />
<result property= "departmentSummary" column= "department_summary" />
<result property= "departmentCode" column= "department_code" />
<result property= "departmentNameEn" column= "department_name_en" />
<result property= "departmentNameOther" column= "department_name_other" />
<result property= "departmentSummary" column= "department_summary" />
<result property= "departmentLogo" column= "department_logo" />
<result property= "departmentLogoHover" column= "department_logo_hover" />
<result property= "departmentType" column= "department_type" />
<result property= "departmentState" column= "department_state" />
<result property= "departmentFax" column= "department_fax" />
<result property= "departmentTel" column= "department_tel" />
<result property= "departmentAddress" column= "department_address" />
<result property= "departmentMaster" column= "department_master" />
<result property= "departmentMasterName" column= "department_master_name" />
<result property= "departmentDuty" column= "department_duty" />
<result property= "departmentArea1Id" column= "department_area1_id" />
<result property= "departmentArea1Code" column= "department_area1_code" />
<result property= "departmentArea1Name" column= "department_area1_name" />
<result property= "departmentArea2Id" column= "department_area2_id" />
<result property= "departmentArea2Code" column= "department_area2_code" />
<result property= "departmentArea2Name" column= "department_area2_name" />
<result property= "departmentArea3Id" column= "department_area3_id" />
<result property= "departmentArea3Code" column= "department_area3_code" />
<result property= "departmentArea3Name" column= "department_area3_name" />
<result property= "departmentArea4Id" column= "department_area4_id" />
<result property= "departmentArea4Code" column= "department_area4_code" />
<result property= "departmentArea4Name" column= "department_area4_name" />
<result property= "departmentArea5Id" column= "department_area5_id" />
<result property= "departmentArea5Code" column= "department_area5_code" />
<result property= "departmentArea5Name" column= "department_area5_name" />
<result property= "departmentLongitude" column= "department_longitude" />
<result property= "departmentLatitude" column= "department_latitude" />
<result property= "departmentOrder" column= "department_order" />
</resultMap>
<resultMap id= "departmentZTreeDTO" type= "ink.wgink.pojo.dtos.ZTreeDTO" >
<id property= "id" column= "department_id" />
<result property= "pId" column= "department_parent_id" />
<result property= "name" column= "department_name" />
</resultMap>
2021-02-14 22:09:36 +08:00
<!-- 建表 -->
<update id= "createTable" >
CREATE TABLE IF NOT EXISTS `sys_department` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`department_id` char(36) NOT NULL,
`department_parent_id` char(36) NOT NULL COMMENT '上级部门',
`department_name` varchar(255) DEFAULT NULL COMMENT '机构名称',
`department_name_en` varchar(255) DEFAULT NULL COMMENT '部门名称(英文)',
`department_name_other` varchar(255) DEFAULT NULL COMMENT '部门名称(其他)',
2021-06-10 17:01:16 +08:00
`department_summary` text COMMENT '部门简介',
2021-02-14 22:09:36 +08:00
`department_code` varchar(255) DEFAULT NULL COMMENT '部门编码',
`department_logo` char(36) DEFAULT NULL COMMENT '部门logo',
`department_logo_hover` char(36) DEFAULT NULL COMMENT '部门logo:hover',
`department_type` int(2) DEFAULT '1' COMMENT '部门类别,1:机构,2:部门',
`department_state` int(2) DEFAULT '1' COMMENT '部门状态,1:正常,2:锁定,3:冻结',
`department_fax` varchar(20) DEFAULT NULL COMMENT '部门传真',
`department_tel` varchar(20) DEFAULT NULL COMMENT '部门电话',
`department_address` varchar(255) DEFAULT NULL COMMENT '部门地址',
`department_master` char(36) DEFAULT '0' COMMENT '部门负责人',
`department_duty` varchar(255) DEFAULT NULL COMMENT '部门职责',
`department_longitude` varchar(255) DEFAULT '0' COMMENT '部门经度',
`department_latitude` varchar(255) DEFAULT '0' COMMENT '部门纬度',
`department_order` int(11) DEFAULT '0' COMMENT '部门排序',
`department_area1_id` bigint(20) DEFAULT NULL COMMENT '1级区域ID',
`department_area1_code` varchar(255) DEFAULT NULL COMMENT '1级区域编码',
`department_area1_name` varchar(255) DEFAULT NULL COMMENT '1级区域名称',
`department_area2_id` bigint(20) DEFAULT NULL COMMENT '2级区域ID',
`department_area2_code` varchar(255) DEFAULT NULL COMMENT '2级区域编码',
`department_area2_name` varchar(255) DEFAULT NULL COMMENT '2级区域名称',
`department_area3_id` bigint(20) DEFAULT NULL COMMENT '3级区域ID',
`department_area3_code` varchar(255) DEFAULT NULL COMMENT '3级区域编码',
`department_area3_name` varchar(255) DEFAULT NULL COMMENT '3级区域名称',
`department_area4_id` bigint(20) DEFAULT NULL COMMENT '4级区域ID',
`department_area4_code` varchar(255) DEFAULT NULL COMMENT '4级区域编码',
`department_area4_name` varchar(255) DEFAULT NULL COMMENT '4级区域名称',
`department_area5_id` bigint(20) DEFAULT NULL COMMENT '5级区域ID',
`department_area5_code` varchar(255) DEFAULT NULL COMMENT '5级区域编码',
`department_area5_name` varchar(255) DEFAULT NULL COMMENT '5级区域名称',
`creator` char(36) DEFAULT NULL,
`gmt_create` datetime DEFAULT NULL,
`modifier` char(36) DEFAULT NULL,
`gmt_modified` datetime DEFAULT NULL,
`is_delete` int(2) DEFAULT '0',
PRIMARY KEY (`id`,`department_id`),
2021-02-17 18:53:45 +08:00
UNIQUE KEY `department_id` (`department_id`) USING BTREE
2021-02-14 22:09:36 +08:00
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</update>
2021-01-28 12:13:15 +08:00
<!-- 新增组织部门 -->
<insert id= "save" parameterType= "map" flushCache= "true" >
INSERT INTO sys_department(
department_id,
department_parent_id,
department_name,
department_name_en,
department_name_other,
department_summary,
department_code,
department_logo,
department_logo_hover,
department_type,
department_state,
department_fax,
department_tel,
department_address,
department_master,
department_duty,
department_area1_id,
department_area1_code,
department_area1_name,
department_area2_id,
department_area2_code,
department_area2_name,
department_area3_id,
department_area3_code,
department_area3_name,
department_area4_id,
department_area4_code,
department_area4_name,
department_area5_id,
department_area5_code,
department_area5_name,
department_longitude,
department_latitude,
department_order,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
) VALUES(
#{departmentId},
#{departmentParentId},
#{departmentName},
#{departmentNameEn},
#{departmentNameOther},
#{departmentSummary},
#{departmentCode},
#{departmentLogo},
#{departmentLogoHover},
#{departmentType},
#{departmentState},
#{departmentFax},
#{departmentTel},
#{departmentAddress},
#{departmentMaster},
#{departmentDuty},
#{departmentArea1Id},
#{departmentArea1Code},
#{departmentArea1Name},
#{departmentArea2Id},
#{departmentArea2Code},
#{departmentArea2Name},
#{departmentArea3Id},
#{departmentArea3Code},
#{departmentArea3Name},
#{departmentArea4Id},
#{departmentArea4Code},
#{departmentArea4Name},
#{departmentArea5Id},
#{departmentArea5Code},
#{departmentArea5Name},
#{departmentLongitude},
#{departmentLatitude},
#{departmentOrder},
#{creator},
#{gmtCreate},
#{modifier},
#{gmtModified},
#{isDelete}
)
</insert>
<!-- 删除组织部门 -->
<update id= "remove" parameterType= "map" flushCache= "true" >
UPDATE
sys_department
SET
is_delete = 1,
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
department_id IN
<foreach collection= "departmentIds" index= "index" open= "(" separator= "," close= ")" >
#{departmentIds[${index}]}
</foreach>
</update>
<!-- 修改组织部门 -->
<update id= "update" parameterType= "map" flushCache= "true" >
UPDATE
sys_department
SET
<if test= "departmentName != null" >
department_name = #{departmentName},
</if>
<if test= "departmentNameEn != null" >
department_name_en = #{departmentNameEn},
</if>
<if test= "departmentNameOther != null" >
department_name_other = #{departmentNameOther},
</if>
<if test= "departmentSummary != null" >
department_summary = #{departmentSummary},
</if>
<if test= "departmentCode != null and departmentCode != ''" >
department_code = #{departmentCode},
</if>
<if test= "departmentLogo != null and departmentLogo != ''" >
department_logo = #{departmentLogo},
</if>
<if test= "departmentLogoHover != null" >
department_logo_hover = #{departmentLogoHover},
</if>
<if test= "departmentType != null" >
department_type = #{departmentType},
</if>
<if test= "departmentState != null" >
department_state = #{departmentState},
</if>
<if test= "departmentFax != null" >
department_fax = #{departmentFax},
</if>
<if test= "departmentTel != null" >
department_tel = #{departmentTel},
</if>
<if test= "departmentAddress != null" >
department_address = #{departmentAddress},
</if>
<if test= "departmentMaster != null" >
department_master = #{departmentMaster},
</if>
<if test= "departmentDuty != null" >
department_duty = #{departmentDuty},
</if>
department_area1_id = #{departmentArea1Id},
<if test= "departmentArea1Code != null" >
department_area1_code = #{departmentArea1Code},
</if>
<if test= "departmentArea1Name != null" >
department_area1_name = #{departmentArea1Name},
</if>
department_area2_id = #{departmentArea2Id},
<if test= "departmentArea2Code != null" >
department_area2_code = #{departmentArea2Code},
</if>
<if test= "departmentArea2Name != null" >
department_area2_name = #{departmentArea2Name},
</if>
department_area3_id = #{departmentArea3Id},
<if test= "departmentArea3Code != null" >
department_area3_code = #{departmentArea3Code},
</if>
<if test= "departmentArea3Name != null" >
department_area3_name = #{departmentArea3Name},
</if>
department_area4_id = #{departmentArea4Id},
<if test= "departmentArea4Code != null" >
department_area4_code = #{departmentArea4Code},
</if>
<if test= "departmentArea4Name != null" >
department_area4_name = #{departmentArea4Name},
</if>
department_area5_id = #{departmentArea5Id},
<if test= "departmentArea5Code != null" >
department_area5_code = #{departmentArea5Code},
</if>
<if test= "departmentArea5Name != null" >
department_area5_name = #{departmentArea5Name},
</if>
<if test= "departmentLongitude != null" >
department_longitude = #{departmentLongitude},
</if>
<if test= "departmentLatitude != null" >
department_latitude = #{departmentLatitude},
</if>
<if test= "departmentOrder != null" >
department_order = #{departmentOrder},
</if>
modifier = #{modifier},
gmt_modified = #{gmtModified}
WHERE
department_id = #{departmentId}
</update>
<!-- 组织部门编码更新 -->
<update id= "updateCode" parameterType= "map" flushCache= "true" >
UPDATE
sys_department
SET
department_code = #{departmentCode}
WHERE
department_id = #{departmentId}
</update>
<!-- 更新部门状态 -->
<update id= "updateState" parameterType= "map" flushCache= "true" >
UPDATE
sys_department
SET
department_state = #{departmentState}
WHERE
department_id = #{departmentId}
</update>
<!-- ztree列表 -->
<select id= "listZTree" parameterType= "map" resultMap= "departmentZTreeDTO" useCache= "true" >
SELECT
*
FROM
sys_department
WHERE
is_delete = 0
<if test= "departmentParentId != null and departmentParentId != ''" >
AND
department_parent_id = #{departmentParentId}
</if>
<if test= "departmentIds != null and departmentIds.size > 0" >
AND
department_id IN
<foreach collection= "departmentIds" index= "index" open= "(" separator= "," close= ")" >
#{departmentIds[${index}]}
</foreach>
</if>
ORDER BY
department_order
</select>
<!-- ztree详情 -->
<select id= "getZTree" parameterType= "map" resultMap= "departmentZTreeDTO" useCache= "false" >
SELECT
department_id,
department_parent_id,
department_name,
department_name_en,
department_name_other,
department_summary,
department_code,
department_logo,
department_logo_hover,
department_type,
department_state,
department_fax,
department_tel,
department_address,
department_master,
department_duty,
department_longitude,
department_latitude,
department_order,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
FROM
sys_department
WHERE
is_delete = 0
<if test= "departmentId != null and departmentId != ''" >
AND
department_id = #{departmentId}
</if>
<if test= "departmentState != null" >
AND
department_state = #{departmentState}
</if>
</select>
<!-- 组织部门列表 -->
2021-02-16 18:21:24 +08:00
<select id= "list" parameterType= "map" resultMap= "departmentDTO" useCache= "true" >
2021-01-28 12:13:15 +08:00
SELECT
department_id,
department_parent_id,
department_name,
department_name_en,
department_name_other,
department_summary,
department_code,
department_logo,
department_logo_hover,
department_type,
department_state,
department_fax,
department_tel,
department_address,
department_master,
department_duty,
department_area1_id,
department_area1_code,
department_area1_name,
department_area2_id,
department_area2_code,
department_area2_name,
department_area3_id,
department_area3_code,
department_area3_name,
department_area4_id,
department_area4_code,
department_area4_name,
department_area5_id,
department_area5_code,
department_area5_name,
department_longitude,
department_latitude,
department_order,
creator,
gmt_create,
modifier,
gmt_modified,
is_delete
FROM
sys_department
WHERE
is_delete = 0
<if test= "departmentParentId != null and departmentParentId != ''" >
AND
department_parent_id = #{departmentParentId}
</if>
<if test= "departmentCode != null and departmentCode != ''" >
AND
department_code LIKE CONCAT(#{departmentCode}, '%')
</if>
<if test= "departmentIds != null and departmentIds.size > 0" >
AND
department_id IN
<foreach collection= "departmentIds" index= "index" open= "(" separator= "," close= ")" >
#{departmentIds[${index}]}
</foreach>
</if>
<if test= "departmentName != null and departmentName != ''" >
AND
department_name = #{departmentName}
</if>
<if test= "departmentState != null" >
AND
department_state = #{departmentState}
</if>
<if test= "keywords != null and keywords != ''" >
AND
department_name LIKE CONCAT('%', #{keywords}, '%')
</if>
<if test= "startTime != null and startTime != ''" >
AND
gmt_create <![CDATA[ >= ]]> #{startTime}
</if>
<if test= "startTime != null and startTime != ''" >
AND
gmt_create <![CDATA[ <= ]]> #{endTime}
</if>
<choose >
<when test= "sort != null and (sort == 'departmentName' or sort == 'departmentNameEn' or sort == 'departmentNameOther' or sort == 'departmentCode' or sort == 'departmentType' or sort == 'departmentState')" >
ORDER BY
<if test= "sort == 'departmentName'" >
department_name ${order}
</if>
<if test= "sort == 'departmentNameEn'" >
department_name_en ${order}
</if>
<if test= "sort == 'departmentNameOther'" >
department_name_other ${order}
</if>
<if test= "sort == 'departmentCode'" >
department_code ${order}
</if>
<if test= "sort == 'departmentType'" >
department_type ${order}
</if>
<if test= "sort == 'departmentState'" >
department_state ${order}
</if>
</when>
<otherwise >
ORDER BY
department_order ASC
</otherwise>
</choose>
</select>
<!-- 组织部门详情 -->
<select id= "get" parameterType= "map" resultMap= "departmentDTO" useCache= "false" >
SELECT
t1.*,
jt1.department_name department_parent_name,
jt2.user_name department_master_name
FROM
sys_department t1
LEFT JOIN
sys_department jt1
ON
t1.department_parent_id = jt1.department_id
AND
jt1.is_delete = 0
LEFT JOIN
sys_user jt2
ON
t1.department_master = jt2.user_id
AND
jt2.is_delete = 0
WHERE
t1.is_delete = 0
<if test= "departmentId != null and departmentId != ''" >
AND
t1.department_id = #{departmentId}
</if>
<if test= "departmentParentId != null and departmentParentId != ''" >
AND
t1.department_parent_id = #{departmentParentId}
</if>
<if test= "excludeDepartmentId != null and excludeDepartmentId != ''" >
AND
t1.department_id != #{excludeDepartmentId}
</if>
<if test= "departmentName != null and departmentName != ''" >
AND
t1.department_name = #{departmentName}
</if>
<if test= "departmentState != null" >
AND
t1.department_state = #{departmentState}
</if>
</select>
<!-- 获取组织机构通过名称和上级名称 -->
<select id= "getByNameAndParentName" parameterType= "map" resultMap= "departmentDTO" useCache= "false" >
SELECT
t1.*,
jt1.department_name department_parent_name,
jt2.user_name department_master_name
FROM
sys_department t1
LEFT JOIN
sys_department jt1
ON
t1.department_parent_id = jt1.department_id
AND
jt1.is_delete = 0
LEFT JOIN
sys_user jt2
ON
t1.department_master = jt2.user_id
AND
jt2.is_delete = 0
WHERE
t1.is_delete = 0
AND
t1.department_name = #{departmentName}
<if test= "departmentParentName != null and departmentParentName != ''" >
AND
jt1.department_name = #{departmentParentName}
</if>
<if test= "departmentParentName == null or departmentParentName == ''" >
AND
jt1.department_name IS NULL
</if>
<if test= "departmentState != null" >
AND
t1.department_state = #{departmentState}
</if>
</select>
<!-- 子节点数量 -->
<select id= "countByParentId" parameterType= "String" resultType= "Integer" useCache= "false" >
SELECT
COUNT(*)
FROM
sys_department
WHERE
is_delete = 0
AND
department_parent_id = #{_parameter}
</select>
<!-- 获取最后一个子组织部门,实际数据,包含已删除,方式编码重复 -->
<select id= "getLastByParentId" parameterType= "String" resultMap= "departmentDTO" useCache= "false" >
SELECT
*
FROM
sys_department
WHERE
department_parent_id = #{_parameter}
ORDER BY
department_code DESC
LIMIT 0, 1
</select>
<!-- 获取组织机构详情(简单类型) -->
2021-02-25 23:23:47 +08:00
<select id= "getSimple" parameterType= "map" resultMap= "departmentPO" useCache= "false" >
2021-01-28 12:13:15 +08:00
SELECT
id department_int_id,
department_id,
department_parent_id,
department_name,
department_name_en,
department_name_other,
department_summary,
department_code,
department_logo,
department_logo_hover,
department_type,
department_state,
department_fax,
department_tel,
department_address,
department_master,
department_duty,
department_area1_id,
department_area1_code,
department_area1_name,
department_area2_id,
department_area2_code,
department_area2_name,
department_area3_id,
department_area3_code,
department_area3_name,
department_area4_id,
department_area4_code,
department_area4_name,
department_area5_id,
department_area5_code,
department_area5_name,
department_longitude,
department_latitude,
department_order
FROM
sys_department
WHERE
is_delete = 0
<if test= "departmentId != null and departmentId != ''" >
AND
department_id = #{departmentId}
</if>
<if test= "departmentIntId != null" >
AND
id = #{departmentIntId}
</if>
</select>
<!-- 获取组织机构列表(简单类型) -->
2021-02-25 23:23:47 +08:00
<select id= "listPO" parameterType= "map" resultMap= "departmentPO" useCache= "false" >
2021-01-28 12:13:15 +08:00
SELECT
id department_int_id,
department_id,
department_parent_id,
department_name,
department_name_en,
department_name_other,
department_summary,
department_code,
department_logo,
department_logo_hover,
department_type,
department_state,
department_fax,
department_tel,
department_address,
department_master,
department_duty,
department_area1_id,
department_area1_code,
department_area1_name,
department_area2_id,
department_area2_code,
department_area2_name,
department_area3_id,
department_area3_code,
department_area3_name,
department_area4_id,
department_area4_code,
department_area4_name,
department_area5_id,
department_area5_code,
department_area5_name,
department_longitude,
department_latitude,
department_order
FROM
sys_department
WHERE
is_delete = 0
<if test= "departmentParentId != null and departmentParentId != ''" >
AND
department_parent_id = #{departmentParentId}
</if>
<if test= "departmentCode != null and departmentCode != ''" >
AND
department_code LIKE CONCAT(#{departmentCode}, '%')
</if>
<if test= "departmentIds != null and departmentIds.size > 0" >
AND
department_id IN
<foreach collection= "departmentIds" index= "index" open= "(" separator= "," close= ")" >
#{departmentIds[${index}]}
</foreach>
</if>
<if test= "departmentName != null and departmentName != ''" >
AND
department_name = #{departmentName}
</if>
<if test= "keywords != null and keywords != ''" >
AND
department_name LIKE CONCAT('%', #{keywords}, '%')
</if>
<if test= "departmentState != null" >
AND
department_state = #{departmentState}
</if>
<if test= "startTime != null and startTime != ''" >
AND
gmt_create <![CDATA[ >= ]]> #{startTime}
</if>
<if test= "startTime != null and startTime != ''" >
AND
gmt_create <![CDATA[ <= ]]> #{endTime}
</if>
<if test= "addDate != null and addDate != ''" >
AND
gmt_create <![CDATA[ >= ]]> #{addDate}
</if>
<if test= "updateDate != null and updateDate != ''" >
AND
gmt_modified <![CDATA[ >= ]]> #{updateDate}
</if>
<if test= "orderByCode != null" >
ORDER BY
department_code
</if>
</select>
<!-- 统计部门数量 -->
<select id= "count" parameterType= "map" resultType= "java.lang.Integer" useCache= "true" >
SELECT
COUNT(*)
FROM
sys_department
WHERE
is_delete = 0
<if test= "departmentId != null and departmentId != ''" >
AND
department_id = #{departmentId}
</if>
<if test= "departmentParentId != null and departmentParentId != ''" >
AND
department_parent_id = #{departmentParentId}
</if>
<if test= "departmentName != null and departmentName != ''" >
AND
department_name = #{departmentName}
</if>
<if test= "noDepartmentId != null and noDepartmentId != ''" >
AND
department_id != #{noDepartmentId}
</if>
<if test= "departmentType != null" >
AND
department_type = #{departmentType}
</if>
<if test= "departmentState != null" >
AND
department_state = #{departmentState}
</if>
</select>
<!-- 部门ID列表 -->
<select id= "listId" parameterType= "map" resultType= "java.lang.String" useCache= "true" >
SELECT
department_id
FROM
sys_department
WHERE
is_delete = 0
<if test= "area1 != null" >
AND (
department_area1_id = #{area1}
<if test= "local != null" >
AND ((
department_area2_id IS NULL
OR
department_area2_id = ''
)
AND (
department_area3_id IS NULL
OR
department_area3_id = ''
)
AND (
department_area4_id IS NULL
OR
department_area4_id = ''
)
AND (
department_area5_id IS NULL
OR
department_area5_id = ''
)
)
</if>
)
</if>
<if test= "area2 != null" >
AND (
department_area2_id = #{area2}
<if test= "local != null" >
AND ((
department_area3_id IS NULL
OR
department_area3_id = ''
)
AND (
department_area4_id IS NULL
OR
department_area4_id = ''
)
AND (
department_area5_id IS NULL
OR
department_area5_id = ''
)
)
</if>
)
</if>
<if test= "area3 != null" >
AND (
department_area3_id = #{area3}
<if test= "local != null" >
AND ((
department_area4_id IS NULL
OR
department_area4_id = ''
)
AND (
department_area5_id IS NULL
OR
department_area5_id = ''
)
)
</if>
)
</if>
<if test= "area4 != null" >
AND (
department_area4_id = #{area4}
<if test= "local != null" >
AND ((
department_area5_id IS NULL
OR
department_area5_id = ''
)
)
</if>
)
</if>
<if test= "area5 != null" >
AND
department_area5_id = #{area5}
</if>
</select>
</mapper>