diff --git a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml index fdb7d1b1..33aeb7b4 100644 --- a/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml +++ b/lib/EmergencyService/zdxtEmergencyAuthService/src/main/resources/mapper/system/UserMapper.xml @@ -850,7 +850,11 @@ AND ( (u.law_certificate_num is not null AND u.law_certificate_num !="") or (d.`zone` = 5 or d.`zone` = 15) - or (d.parent_id in (select dept_id from sys_dept where `zone` = 5 or `zone` = 15)) + or EXISTS ( + SELECT 1 FROM sys_dept anc + WHERE (anc.`zone` = 5 OR anc.`zone` = 15) + AND FIND_IN_SET(anc.dept_id, d.ancestors) + ) ) and u.dept_id != 405 @@ -893,7 +897,11 @@ AND ( (u.law_certificate_num is not null AND u.law_certificate_num !="") or (d.`zone` = 5 or d.`zone` = 15) - or (d.parent_id in (select dept_id from sys_dept where `zone` = 5 or `zone` = 15)) + or EXISTS ( + SELECT 1 FROM sys_dept anc + WHERE (anc.`zone` = 5 OR anc.`zone` = 15) + AND FIND_IN_SET(anc.dept_id, d.ancestors) + ) ) and u.dept_id != 405