UserUtil.java 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package cn.com.lzt.common.util;
  2. import cn.com.lzt.arrangeduty.dto.ProjectDepartDto;
  3. import cn.com.lzt.duties.entity.DutiesEntity;
  4. import cn.com.lzt.personnelbasearchivesmanage.entity.PersonnelBaseArchivesManageEntity;
  5. import cn.com.lzt.useractiviti.data.dao.UseractivitiDataDao;
  6. import org.apache.commons.lang.StringUtils;
  7. import org.jeecgframework.core.constant.Globals;
  8. import org.jeecgframework.core.util.ApplicationContextUtil;
  9. import org.jeecgframework.web.system.pojo.base.TSDepart;
  10. import org.jeecgframework.web.system.pojo.base.TSUserOrg;
  11. import org.jeecgframework.web.system.service.SystemService;
  12. import java.util.List;
  13. public class UserUtil {
  14. /**
  15. * 判断是否为项目人员,判断依据:所属部门为【直属项目】或【区域项目】
  16. * */
  17. public static boolean isProjectUser(String userid) {
  18. boolean isProjectuser = false;
  19. SystemService service = ApplicationContextUtil.getContext().getBean(SystemService.class);
  20. List<TSUserOrg> userorgList = service.findHql("from TSUserOrg where tsUser.id=? and ifpluralism=? ", userid, Globals.PLURALISM_NO.toString());
  21. if(userorgList.size() > 0) {
  22. TSDepart depart = userorgList.get(0).getTsDepart();
  23. if(depart.getOrgCode().length() > 6) {
  24. //查找上一级组织机构
  25. depart = depart.getTSPDepart();
  26. }
  27. //二级组织机构为部门或项目管理处,判断组织机构类型
  28. if(depart.getOrgType().equals(Globals.org_type_3) || depart.getOrgType().equals(Globals.org_type_5)) {
  29. isProjectuser = true;
  30. }
  31. }
  32. return isProjectuser;
  33. }
  34. /**
  35. * 获得用于查询的部门id
  36. * @param userid
  37. * @return
  38. */
  39. @Deprecated
  40. public static String getQueryDepIdByUserId(String userid){
  41. return DepartUtil.getQueryDepIdByUserId(userid);
  42. }
  43. @Deprecated
  44. public static String getQueryDepIdByDepId(String depid){
  45. return DepartUtil.getQueryDepIdByDepId(depid);
  46. }
  47. /**
  48. * 返回用户 岗位类型
  49. * @param userId
  50. * @return
  51. */
  52. public static int getDutyTypeByUserId(String userId){
  53. SystemService service = ApplicationContextUtil.getContext().getBean(SystemService.class);
  54. PersonnelBaseArchivesManageEntity up = service.findUniqueByProperty(PersonnelBaseArchivesManageEntity.class,"userid" , userId);
  55. return getDutyType(up.getBelongDutiesid());
  56. }
  57. /**
  58. * 返回岗位类型
  59. * @param duties
  60. * @return 1 一线员工
  61. * 2部门专员
  62. * 3项目主管及以上
  63. * 4部门经理和项目经理
  64. * 5公司顾问
  65. * 6公司副总经理
  66. * -1 duitesCode 为空
  67. * -2 没找着对应类型
  68. */
  69. public static int getDutyType(DutiesEntity duties){
  70. if(duties==null) return 0;
  71. String code = duties.getDutiesCode();
  72. if(StringUtils.isBlank(code)) return -1;
  73. if(code.startsWith("A03") || code.startsWith("A11") ) return 1;
  74. if(code.startsWith("A05")) return 2;
  75. if(code.startsWith("A14A04")
  76. ||code.startsWith("A14A03")
  77. ||code.startsWith("A14A01")
  78. ||code.startsWith("A04")
  79. ) return 3;
  80. if(code.equals("A06")
  81. ||code.equals("A07")
  82. ||code.equals("A08")
  83. ||code.equals("A09")
  84. ||code.equals("A14A06")
  85. ||code.equals("A14A05")
  86. ||code.equals("A14A02")
  87. ) return 4;
  88. if(code.equals("A21")) return 5;
  89. if(code.equals("A24")) return 6;
  90. return -2;
  91. }
  92. public static int getDutyType(String dutiesId){
  93. SystemService service = ApplicationContextUtil.getContext().getBean(SystemService.class);
  94. DutiesEntity duties = service.getEntity(DutiesEntity.class, dutiesId);
  95. return getDutyType(duties);
  96. }
  97. /**
  98. * 是否属于人事部门
  99. * @param userId
  100. * @return
  101. */
  102. public static boolean isHr(String userId){
  103. UseractivitiDataDao useractivitiDataDao = ApplicationContextUtil.getContext().getBean(UseractivitiDataDao.class);
  104. ProjectDepartDto dto = new ProjectDepartDto();
  105. dto.setOrgCode("A06A01");
  106. List<ProjectDepartDto> list = useractivitiDataDao.getUserAllDep(userId,dto);
  107. if(list.size()>0){
  108. return true;
  109. }
  110. return false;
  111. }
  112. /**
  113. * 判断是为一线员工
  114. * 与上面getDutyType不同,此判断是依据duty的managetype来处理
  115. * */
  116. public static boolean isYXYGByUserid(String userId) {
  117. boolean isYXYG = false;
  118. SystemService service = ApplicationContextUtil.getContext().getBean(SystemService.class);
  119. PersonnelBaseArchivesManageEntity up = service.findUniqueByProperty(PersonnelBaseArchivesManageEntity.class,"userid" , userId);
  120. DutiesEntity duties = service.getEntity(DutiesEntity.class, up.getBelongDutiesid());
  121. if(duties.getManageType() != null && duties.getManageType().equals("2"))
  122. isYXYG = true;
  123. return isYXYG;
  124. }
  125. }