|  |  | 
 |  |  |           <choose> | 
 |  |  |             <when test="departIds != null and departIds.size()>0"> | 
 |  |  |               AND (  `a`.`CREATE_USER` = #{createUser}  or | 
 |  |  |               exists (select d.id from workorder_user d where d.WORKORDER_ID=a.id and d.DELETED=0 and d.PRO_USER_ID=#{createUser} ) | 
 |  |  |               or exists (select d.id from company_user d where  d.user_id= a.CREATE_USER  and d.department_id | 
 |  |  |               exists ( select d.id from workorder_user d where d.WORKORDER_ID=a.id and d.DELETED=0 and d.PRO_USER_ID=#{createUser} ) | 
 |  |  |               or exists ( select d.id from company_user d where  d.user_id= a.CREATE_USER  and d.department_id | 
 |  |  |               in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>) | 
 |  |  |               or exists (select d.id from workorder_user wu left join  company_user d on wu.PRO_USER_ID=d.USER_ID and d.DELETED=0 where  wu.WORKORDER_ID= a.id  and d.department_id | 
 |  |  |               in <foreach collection="departIds" item="item" separator="," open="(" close=")">#{item}</foreach>) |