package com.kingdee.eas.hr.perf.utils; import com.kingdee.bos.BOSException; import com.kingdee.bos.Context; import com.kingdee.bos.metadata.entity.EntityViewInfo; import com.kingdee.bos.metadata.entity.FilterInfo; import com.kingdee.bos.metadata.entity.FilterItemInfo; import com.kingdee.bos.metadata.entity.SelectorItemCollection; import com.kingdee.eas.hr.ats.AtsUtil; import com.kingdee.eas.hr.emp.IPersonPosition; import com.kingdee.eas.hr.emp.PersonPositionCollection; import com.kingdee.eas.hr.emp.PersonPositionFactory; import com.kingdee.eas.hr.emp.PersonPositionInfo; import java.util.ArrayList; import java.util.List; import java.util.Set; /** * @author qingwu * @date 2025/1/7 * @apiNote */ public class ProjectAllocationUtils { /** * 获取部门在线人数 * * @param adminOrgId * @return */ public static List getZZPersonNum(Context ctx, String adminOrgId) throws BOSException { String employeeNumbers = "SY01,QY02,QY03,WB03,PQ03,LS01,SX01,FP01,WB01,QY01"; Set employeeNumberset = AtsUtil.toSet(employeeNumbers); List zzPersonList = new ArrayList<>(); IPersonPosition iPersonPosition = PersonPositionFactory.getLocalInstance(ctx); SelectorItemCollection sic = new SelectorItemCollection(); sic.add("person.employeeType.number"); sic.add("person.hireDate"); sic.add("person.number"); sic.add("*"); //获取该部门所有人员 FilterInfo filterInfo = new FilterInfo(); filterInfo.getFilterItems(). add(new FilterItemInfo("personDep.id", adminOrgId)); EntityViewInfo entityViewInfo = EntityViewInfo.getInstance(filterInfo, sic, null); PersonPositionCollection personPositionCollection = iPersonPosition.getPersonPositionCollection(entityViewInfo); if (personPositionCollection.size() > 0) { for (int i1 = 0; i1 < personPositionCollection.size(); i1++) { PersonPositionInfo personPositionInfo = personPositionCollection.get(i1); String number = personPositionInfo.getPerson().getEmployeeType().getNumber(); if (employeeNumberset.contains(number)) { zzPersonList.add(personPositionInfo); } } } return zzPersonList; } }