ProjectAllocationUtils.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. package com.kingdee.eas.hr.perf.utils;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.metadata.entity.EntityViewInfo;
  5. import com.kingdee.bos.metadata.entity.FilterInfo;
  6. import com.kingdee.bos.metadata.entity.FilterItemInfo;
  7. import com.kingdee.bos.metadata.entity.SelectorItemCollection;
  8. import com.kingdee.eas.hr.ats.AtsUtil;
  9. import com.kingdee.eas.hr.emp.IPersonPosition;
  10. import com.kingdee.eas.hr.emp.PersonPositionCollection;
  11. import com.kingdee.eas.hr.emp.PersonPositionFactory;
  12. import com.kingdee.eas.hr.emp.PersonPositionInfo;
  13. import java.util.ArrayList;
  14. import java.util.List;
  15. import java.util.Set;
  16. /**
  17. * @author qingwu
  18. * @date 2025/1/7
  19. * @apiNote
  20. */
  21. public class ProjectAllocationUtils {
  22. /**
  23. * 获取部门在线人数
  24. *
  25. * @param adminOrgId
  26. * @return
  27. */
  28. public static List<PersonPositionInfo> getZZPersonNum(Context ctx, String adminOrgId) throws BOSException {
  29. String employeeNumbers = "SY01,QY02,QY03,WB03,PQ03,LS01,SX01,FP01,WB01,QY01";
  30. Set<String> employeeNumberset = AtsUtil.toSet(employeeNumbers);
  31. List<PersonPositionInfo> zzPersonList = new ArrayList<>();
  32. IPersonPosition iPersonPosition = PersonPositionFactory.getLocalInstance(ctx);
  33. SelectorItemCollection sic = new SelectorItemCollection();
  34. sic.add("person.employeeType.number");
  35. sic.add("person.hireDate");
  36. sic.add("person.number");
  37. sic.add("*");
  38. //获取该部门所有人员
  39. FilterInfo filterInfo = new FilterInfo();
  40. filterInfo.getFilterItems().
  41. add(new FilterItemInfo("personDep.id", adminOrgId));
  42. EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, sic, null);
  43. PersonPositionCollection personPositionCollection = iPersonPosition.getPersonPositionCollection(entityViewInfo);
  44. if (personPositionCollection.size() > 0) {
  45. for (int i1 = 0; i1 < personPositionCollection.size(); i1++) {
  46. PersonPositionInfo personPositionInfo = personPositionCollection.get(i1);
  47. String number = personPositionInfo.getPerson().getEmployeeType().getNumber();
  48. if (employeeNumberset.contains(number)) {
  49. zzPersonList.add(personPositionInfo);
  50. }
  51. }
  52. }
  53. return zzPersonList;
  54. }
  55. }