PersonnelBaseArchivesManageDao_getTiredperson.sql 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. SELECT suser.userNum userNum,
  2. suser.id userid,
  3. baseuser.realname userName,
  4. suser.idcard certNum,
  5. suser.gender gender,
  6. SUBSTRING(suser.idcard,7,8) birth,
  7. suser.mobilePhone mobile,
  8. userpersonnel.contract_stime entryTime,
  9. userpersonnel.leave_date leaveTime,
  10. depart.glcname departName,
  11. duties.duties_name dutiesName,
  12. social.social_security_unit payUnit,
  13. CONCAT(:toDate,'前退休') description
  14. FROM t_s_base_user AS baseuser
  15. LEFT JOIN t_s_user AS suser ON baseuser.id = suser.id
  16. LEFT JOIN t_bus_user_personnel AS userpersonnel ON baseuser.id = userpersonnel.userid
  17. LEFT JOIN t_bus_duties AS duties ON userpersonnel.belong_dutiesid = duties.id AND duties.delete_flag <> '1' AND duties.status <> '1'
  18. LEFT JOIN t_s_user_org AS userorg ON baseuser.id = userorg.user_id AND userorg.status = '0' AND userorg.ifpluralism <> '1'
  19. LEFT JOIN t_s_depart AS depart ON userorg.org_id = depart.id AND depart.status <> '1'
  20. LEFT JOIN t_bus_user_wagestrategy wagestrat on wagestrat.userid = baseuser.id and wagestrat.delete_flag <> '1'
  21. LEFT JOIN t_bus_social_security_strategy social on social.id = wagestrat.social_security_strategyid and social.delete_flag <> '1'
  22. WHERE
  23. baseuser.delete_flag <> '1' and userpersonnel.leave_date is null
  24. and (
  25. (suser.gender = 0 and TIMESTAMPDIFF(YEAR,CONCAT(SUBSTRING(suser.idcard,7,4),'-',SUBSTRING(suser.idcard,11,2),'-',SUBSTRING(suser.idcard,13,2),' 00:00:00'),CONCAT(:toDate,' 00:00:00'))>=60)
  26. or
  27. (suser.gender = 1 and TIMESTAMPDIFF(YEAR,CONCAT(SUBSTRING(suser.idcard,7,4),'-',SUBSTRING(suser.idcard,11,2),'-',SUBSTRING(suser.idcard,13,2),' 00:00:00'),CONCAT(:toDate,' 00:00:00'))>=50)
  28. )
  29. <#if inDto.userName ?exists && inDto.userName ?length gt 0>
  30. AND baseuser.realname LIKE CONCAT('%', :inDto.userName ,'%')
  31. </#if>
  32. <#if inDto.orgIds ?exists && inDto.orgIds ?length gt 0>
  33. AND depart.id IN (${inDto.orgIds})
  34. </#if>
  35. <#if authSql ?exists && authSql ?length gt 0>
  36. ${authSql}
  37. </#if>
  38. order by social.social_security_unit desc