diff --git a/modules/core/src/main/resources/mappings/modules/sys/EmpUserDao.xml b/modules/core/src/main/resources/mappings/modules/sys/EmpUserDao.xml index 78990e14..cc647c8a 100644 --- a/modules/core/src/main/resources/mappings/modules/sys/EmpUserDao.xml +++ b/modules/core/src/main/resources/mappings/modules/sys/EmpUserDao.xml @@ -18,7 +18,21 @@ AND ur.role_code = #{roleCode} - AND ep.post_code = #{employee.postCode} + AND ( + ep.post_code = #{employee.postCode} + OR EXISTS ( + SELECT 1 FROM ${_prefix}sys_employee_office + WHERE emp_code = e.emp_code + AND post_code = #{employee.postCode} + ) + ) + + + OR EXISTS ( + SELECT 1 FROM ${_prefix}sys_employee_office + WHERE emp_code = e.emp_code + AND office_code = #{employee.office.officeCode} + ) ORDER BY ${sqlMap.order.toSql()}