WXDao_getProjectUsers.sql 1.6 KB

123456789101112131415161718192021222324252627282930313233
  1. SELECT
  2. baseuser.id userid,
  3. baseuser.username userCode,
  4. baseuser.realname userName,
  5. depart.id projectid,
  6. depart.description projectname,
  7. suser.openid openid,
  8. group_concat(jzdepart.id) jgprojectids,
  9. group_concat(jzdepart.description) jgprojectnames,
  10. group_concat(role.rolecode) roles,
  11. suser.mobilePhone mobilePhone,
  12. sum( case when IFNULL(file_url,0)=0 then 0 else 1 end) acccount,
  13. case when sum( case when IFNULL(file_url,0)=0 then 0 else 1 end) = 7 then 1 else 0 end completed,
  14. post.post_name post
  15. FROM t_s_base_user AS baseuser
  16. LEFT JOIN t_s_user AS suser ON baseuser.id = suser.id
  17. LEFT JOIN t_bus_user_personnel AS userpersonnel ON baseuser.id = userpersonnel.userid
  18. left join t_s_role_user urole on baseuser.id = urole.userid
  19. left join t_s_role role on urole.roleid = role.id
  20. LEFT JOIN t_s_user_org AS userorg ON baseuser.id = userorg.user_id AND userorg.status = '0' AND userorg.ifpluralism <> '1'
  21. LEFT JOIN t_s_user_org AS userjzorg ON baseuser.id = userjzorg.user_id AND userjzorg.status = '0' AND userjzorg.ifpluralism = '1'
  22. LEFT JOIN t_s_depart AS depart ON userorg.org_id = depart.id AND depart.status <> '1'
  23. LEFT JOIN t_s_depart AS jzdepart ON userjzorg.org_id = jzdepart.id AND jzdepart.status <> '1'
  24. left join t_bus_accessory acc on acc.userid = baseuser.id
  25. left join t_sys_file file on acc.id = file.busi_id
  26. left join t_bus_post post on userpersonnel.in_postid = post.id
  27. WHERE
  28. baseuser.delete_flag <> '1'
  29. AND userpersonnel.leave_date is null
  30. <#if projectid ?exists && projectid ?length gt 0>
  31. AND (depart.id = :projectid or depart.parentdepartid = :projectid )
  32. </#if>
  33. GROUP BY baseuser.id