PerfGoalsListHandlerEx.java 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. package com.kingdee.eas.hr.perf.handler;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.bos.dao.IObjectValue;
  5. import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
  6. import com.kingdee.eas.common.EASBizException;
  7. import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsBody;
  8. import com.kingdee.shr.base.syssetting.api.bean.BatchMessageTipsHeader;
  9. import com.kingdee.shr.base.syssetting.context.SHRContext;
  10. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  11. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  12. import com.kingdee.shr.base.syssetting.util.NetCtrlHelper;
  13. import com.kingdee.shr.perfweb.app.base.evalplan.*;
  14. import com.kingdee.shr.perfweb.app.base.evalrule.PerformanceRuleInfo;
  15. import com.kingdee.shr.perfweb.app.resource.SHRPerfWebResource;
  16. import com.kingdee.shr.perfweb.planexecute.handler.PerfGoalsListHandler;
  17. import com.kingdee.shr.perfweb.util.PerfRuleSettingUtil;
  18. import com.kingdee.shr.perfweb.util.SHRPerfWebResourceUtil;
  19. import com.kingdee.shr.perfweb.utils.CommonValidDataUtils;
  20. import com.kingdee.util.StringUtils;
  21. import org.slf4j.Logger;
  22. import org.slf4j.LoggerFactory;
  23. import org.springframework.ui.ModelMap;
  24. import org.springframework.util.CollectionUtils;
  25. import javax.servlet.http.HttpServletRequest;
  26. import javax.servlet.http.HttpServletResponse;
  27. import java.util.*;
  28. /**
  29. * @author qingwu
  30. * @date 2025/3/3
  31. * @apiNote 目标填报下达
  32. *
  33. */
  34. public class PerfGoalsListHandlerEx extends PerfGoalsListHandler {
  35. private static Logger logger = LoggerFactory.getLogger(PerfGoalsListHandlerEx.class);
  36. @Override
  37. protected void setInitData(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, Map<String, Object> initData) throws SHRWebException {
  38. super.setInitData(request, response, modelMap, initData);
  39. Context ctx = SHRContext.getInstance().getContext();
  40. Map<String, Object> custom_params = (Map<String, Object>) initData.get("custom_params");
  41. //考核周期
  42. String perfPlanId = (String) custom_params.get("perfPlanId");
  43. try {
  44. IPerfPlan iPerfPlan = PerfPlanFactory.getLocalInstance(ctx);
  45. PerfPlanInfo perfPlanInfo = iPerfPlan.getPerfPlanInfo(new ObjectUuidPK(perfPlanId));
  46. IObjectValue perobject = (IObjectValue) perfPlanInfo.get("perobjectId");//项目id
  47. initData.put("perobjectId", perobject);
  48. } catch (BOSException e) {
  49. throw new RuntimeException(e);
  50. } catch (EASBizException e) {
  51. throw new RuntimeException(e);
  52. }
  53. }
  54. public void batchTransmitAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, BatchMessageTipsHeader batchMessageTipsHeader) throws SHRWebException {
  55. super.batchTransmitAction(request, response, modelMap, batchMessageTipsHeader);
  56. Context ctx = SHRContext.getInstance().getContext();
  57. String transmitType = request.getParameter("transmitType");
  58. String billId = (String) request.getAttribute("billId");
  59. String msgTempID = request.getParameter("msgTempID");
  60. String smsType = request.getParameter("smsType");
  61. String emailType = request.getParameter("emailType");
  62. String portalType = request.getParameter("portalType");
  63. String yzjMsgType = request.getParameter("yzjMsgType");
  64. Set<String> billIds = new HashSet();
  65. billIds.addAll(Arrays.asList(billId.split(",")));
  66. List<String> ids = new ArrayList();
  67. ids.addAll(billIds);
  68. boolean isDirectlyTransmit = "1".equals(transmitType);
  69. if (isDirectlyTransmit) {
  70. String period = request.getParameter("period");
  71. for (String id : billIds) {
  72. for (BatchMessageTipsBody body : batchMessageTipsHeader.getResult()) {
  73. if (id.equals(body.getId())&&Boolean.FALSE.equals(body.isMuitTipsState())) {
  74. ids.remove(id);
  75. }
  76. }
  77. }
  78. for (String id : ids) {
  79. try {
  80. GoalsTargetFacadeFactory.getLocalInstance(ctx).batchGoalsTransmit(id, period);
  81. } catch (Exception var45) {
  82. logger.error("", var45);
  83. } finally {
  84. }
  85. }
  86. }
  87. }
  88. }