PluralityDelBizBillHrManEditHandlerEx.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. package com.kingdee.shr.affair.web.handler.hrman;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.metadata.entity.*;
  4. import com.kingdee.eas.basedata.org.AdminOrgUnitInfo;
  5. import com.kingdee.eas.basedata.org.PositionInfo;
  6. import com.kingdee.eas.common.EASBizException;
  7. import com.kingdee.eas.hr.base.EmpPosOrgRelationCollection;
  8. import com.kingdee.eas.hr.base.EmpPosOrgRelationFactory;
  9. import com.kingdee.eas.hr.base.EmpPosOrgRelationInfo;
  10. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  11. import com.kingdee.util.StringUtils;
  12. import org.springframework.ui.ModelMap;
  13. import javax.servlet.http.HttpServletRequest;
  14. import javax.servlet.http.HttpServletResponse;
  15. import java.util.Date;
  16. import java.util.HashMap;
  17. import java.util.Map;
  18. /**
  19. * @author qingwu
  20. * @date 2025/4/10
  21. * @apiNote 员工兼职终止(专员)
  22. */
  23. public class PluralityDelBizBillHrManEditHandlerEx extends PluralityDelBizBillHrManEditHandler {
  24. /**
  25. * 选择兼职职位 带出兼职部门
  26. *
  27. * @param request
  28. * @param response
  29. * @param modelMap
  30. * @return
  31. * @throws SHRWebException
  32. * @throws EASBizException
  33. * @throws BOSException
  34. */
  35. public String getPluralityPositionDataExAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap) throws SHRWebException, EASBizException, BOSException {
  36. Map map = new HashMap();
  37. int assignType = 1;
  38. PositionInfo positionInfo = null;
  39. AdminOrgUnitInfo adminOrgInfo = null;
  40. AdminOrgUnitInfo companyInfo = null;
  41. AdminOrgUnitInfo departmentInfo = null;
  42. Date beginDate = null;
  43. String positionId = request.getParameter("positionId");
  44. String personId = request.getParameter("personId");
  45. if (!StringUtils.isEmpty(positionId)) {
  46. EntityViewInfo entityView = new EntityViewInfo();
  47. SelectorItemCollection selectors = this.getEmpPosOrgRelSelectors();
  48. FilterInfo filterInfo = new FilterInfo();
  49. filterInfo.getFilterItems().add(new FilterItemInfo("assignType", 0));
  50. filterInfo.getFilterItems().add(new FilterItemInfo("position.id", positionId));
  51. filterInfo.getFilterItems().add(new FilterItemInfo("person.id", personId));
  52. //filterInfo.getFilterItems().add(new FilterItemInfo("LEFFDT", HRUtil.getMaxEndDate(), CompareType.GREATER_EQUALS));
  53. entityView.setSelector(selectors);
  54. entityView.setFilter(filterInfo);
  55. EmpPosOrgRelationCollection coll = EmpPosOrgRelationFactory.getRemoteInstance().getEmpPosOrgRelationCollection(entityView);
  56. EmpPosOrgRelationInfo empPosOrgRelationInfo = null;
  57. if (coll.size() > 0) {
  58. empPosOrgRelationInfo = coll.get(0);
  59. if (empPosOrgRelationInfo.getAssignType() != null && empPosOrgRelationInfo.getPosition() != null) {
  60. assignType = empPosOrgRelationInfo.getAssignType().getValue();
  61. positionInfo = empPosOrgRelationInfo.getPosition();
  62. adminOrgInfo = empPosOrgRelationInfo.getPosition().getAdminOrgUnit();
  63. companyInfo = empPosOrgRelationInfo.getPosition().getAdminOrgUnit().getCompany();
  64. departmentInfo = empPosOrgRelationInfo.getPosition().getAdminOrgUnit().getDepartment();
  65. beginDate = empPosOrgRelationInfo.getEFFDT();
  66. }
  67. }
  68. }
  69. map.put("assignType", assignType);
  70. map.put("position", positionInfo);
  71. map.put("adminOrgUnit", adminOrgInfo);
  72. map.put("company", companyInfo);
  73. map.put("department", departmentInfo);
  74. map.put("beginDate", beginDate);
  75. this.writeSuccessData(map);
  76. return null;
  77. }
  78. private SelectorItemCollection getEmpPosOrgRelSelectors() {
  79. SelectorItemCollection selectors = new SelectorItemCollection();
  80. selectors.add(new SelectorItemInfo("position.id"));
  81. selectors.add(new SelectorItemInfo("position.name"));
  82. selectors.add(new SelectorItemInfo("position.number"));
  83. selectors.add(new SelectorItemInfo("position.adminOrgUnit.id"));
  84. selectors.add(new SelectorItemInfo("position.adminOrgUnit.name"));
  85. selectors.add(new SelectorItemInfo("position.adminOrgUnit.displayName"));
  86. selectors.add(new SelectorItemInfo("position.adminOrgUnit.company.id"));
  87. selectors.add(new SelectorItemInfo("position.adminOrgUnit.company.name"));
  88. selectors.add(new SelectorItemInfo("position.adminOrgUnit.company.displayName"));
  89. selectors.add(new SelectorItemInfo("position.adminOrgUnit.department.id"));
  90. selectors.add(new SelectorItemInfo("position.adminOrgUnit.department.name"));
  91. selectors.add(new SelectorItemInfo("position.adminOrgUnit.department.displayName"));
  92. selectors.add(new SelectorItemInfo("EFFDT"));
  93. selectors.add(new SelectorItemInfo("assignType"));
  94. return selectors;
  95. }
  96. }