WorkHandoverEditHandler.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. package com.kingdee.eas.custom.handover.handler;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.dao.IObjectPK;
  5. import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
  6. import com.kingdee.bos.metadata.entity.*;
  7. import com.kingdee.bos.util.BOSUuid;
  8. import com.kingdee.eas.basedata.org.*;
  9. import com.kingdee.eas.common.EASBizException;
  10. import com.kingdee.eas.custom.handover.*;
  11. import com.kingdee.eas.custom.handover.utils.WorkHandoverUtil;
  12. import com.kingdee.eas.framework.CoreBaseInfo;
  13. import com.kingdee.eas.hr.affair.ResignBizBillEntryInfo;
  14. import com.kingdee.eas.hr.affair.ResignBizBillFactory;
  15. import com.kingdee.eas.hr.affair.ResignBizBillInfo;
  16. import com.kingdee.eas.hr.base.*;
  17. import com.kingdee.shr.base.syssetting.context.SHRContext;
  18. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  19. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  20. import com.kingdee.shr.base.syssetting.web.handler.EditHandler;
  21. import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
  22. import com.kingdee.util.StringUtils;
  23. import org.apache.log4j.Logger;
  24. import org.springframework.ui.ModelMap;
  25. import javax.servlet.http.HttpServletRequest;
  26. import javax.servlet.http.HttpServletResponse;
  27. /**
  28. * @Description 工作交接人表单EditHandler
  29. * @Date 2025/5/30 17:46
  30. * @Created by Heyuan
  31. */
  32. public class WorkHandoverEditHandler extends EditHandler {
  33. private static Logger logger = Logger.getLogger(WorkHandoverEditHandler.class);
  34. @Override
  35. protected void afterCreateNewModel(
  36. HttpServletRequest request,
  37. HttpServletResponse response,
  38. CoreBaseInfo coreBaseInfo
  39. ) throws SHRWebException {
  40. super.afterCreateNewModel(request, response, coreBaseInfo);
  41. //录用审批单据
  42. WorkHandoverInfo info = (WorkHandoverInfo) coreBaseInfo;
  43. HROrgUnitInfo hrOrgUnitInfo = new HROrgUnitInfo();
  44. hrOrgUnitInfo.setId(BOSUuid.read("00000000-0000-0000-0000-000000000000CCE7AED4"));
  45. info.setHrOrgUnit(hrOrgUnitInfo);
  46. info.setId(BOSUuid.create(info.getBOSType()));
  47. }
  48. /**
  49. * 通过单据id获取离职单数据
  50. *
  51. * @param request
  52. * @param response
  53. * @param modelMap
  54. * @return
  55. * @throws SHRWebException
  56. */
  57. public void getResignBizBillInfoByBillIdAction(
  58. HttpServletRequest request,
  59. HttpServletResponse response,
  60. ModelMap modelMap
  61. ) throws SHRWebException {
  62. Context ctx = SHRContext.getInstance().getContext();
  63. String resignBizBillId = request.getParameter("resignBizBillId");
  64. if (StringUtils.isEmpty(resignBizBillId)) {
  65. throw new ShrWebBizException("离职单id不能为空!");
  66. }
  67. try {
  68. SelectorItemCollection sic = new SelectorItemCollection();
  69. sic.add("entrys.*");
  70. sic.add("entrys.person.*");
  71. sic.add("entrys.adminOrg.*");
  72. sic.add("entrys.hrBizDefine.*");
  73. sic.add("entrys.position.*");
  74. sic.add("entrys.jobGrade.*");
  75. sic.add("entrys.oldEmpType.*");
  76. sic.add("entrys.empType.*");
  77. sic.add("entrys.variationReason.*");
  78. ResignBizBillInfo resignBizBillInfo =
  79. ResignBizBillFactory.getRemoteInstance().getResignBizBillInfo(new ObjectUuidPK(resignBizBillId), sic);
  80. ResignBizBillEntryInfo resignBizBillEntryInfo = resignBizBillInfo.getEntrys().get(0);
  81. String personId = resignBizBillEntryInfo.getPerson().getId().toString();
  82. //是否为领导
  83. boolean isLeader = WorkHandoverUtil.isLeader(ctx, personId);
  84. resignBizBillEntryInfo.put("isLeader", isLeader);
  85. JSONUtils.SUCCESS(resignBizBillEntryInfo);
  86. } catch (Exception e) {
  87. logger.error(e.getMessage(), e);
  88. throw new ShrWebBizException(e);
  89. }
  90. }
  91. @Override
  92. protected void beforeSubmit(
  93. HttpServletRequest request,
  94. HttpServletResponse response,
  95. CoreBaseInfo model
  96. ) throws SHRWebException {
  97. //设置单据状态为未审批
  98. model.setInt("billState", 1);
  99. super.beforeSubmit(request, response, model);
  100. }
  101. /**
  102. * 提交生效
  103. *
  104. * @param request
  105. * @param response
  106. * @param modelMap
  107. * @throws SHRWebException
  108. */
  109. public void submitEffectAction(
  110. HttpServletRequest request,
  111. HttpServletResponse response,
  112. ModelMap modelMap
  113. ) throws SHRWebException {
  114. CoreBaseInfo model = (CoreBaseInfo) request.getAttribute("dynamic_model");
  115. this.beforeSave(request, response, model);
  116. HRBillBaseInfo hrBillBaseInfo = (HRBillBaseInfo) model;
  117. hrBillBaseInfo.setApproveType(ApproveTypeEnum.DIRECT);
  118. try {
  119. IHRBillBase ihrBillBase = (IHRBillBase) this.getBizInterface();
  120. IObjectPK objectPK = ihrBillBase.submitEffect(model);
  121. model.setId(BOSUuid.read(objectPK.toString()));
  122. } catch (EASBizException var8) {
  123. logger.error(var8);
  124. throw new ShrWebBizException(var8.getMessage(), var8);
  125. } catch (BOSException var9) {
  126. logger.error(var9);
  127. throw new ShrWebBizException(var9.getMessage(), var9);
  128. } catch (Exception var10) {
  129. logger.error(var10);
  130. throw new ShrWebBizException(var10);
  131. }
  132. this.afterSave(request, response, model);
  133. this.saveAttachment(request, response, model);
  134. this.writeSuccessData(model.getId().toString());
  135. }
  136. }