PerfGoalsListHandlerEx.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. public class PerfGoalsListHandlerEx extends PerfGoalsListHandler {
  34. private static Logger logger = LoggerFactory.getLogger(PerfGoalsListHandlerEx.class);
  35. @Override
  36. protected void setInitData(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, Map<String, Object> initData) throws SHRWebException {
  37. super.setInitData(request, response, modelMap, initData);
  38. Context ctx = SHRContext.getInstance().getContext();
  39. Map<String, Object> custom_params = (Map<String, Object>) initData.get("custom_params");
  40. //考核周期
  41. String perfPlanId = (String) custom_params.get("perfPlanId");
  42. try {
  43. IPerfPlan iPerfPlan = PerfPlanFactory.getLocalInstance(ctx);
  44. PerfPlanInfo perfPlanInfo = iPerfPlan.getPerfPlanInfo(new ObjectUuidPK(perfPlanId));
  45. IObjectValue perobject = (IObjectValue) perfPlanInfo.get("perobjectId");//项目id
  46. initData.put("perobjectId", perobject);
  47. } catch (BOSException e) {
  48. throw new RuntimeException(e);
  49. } catch (EASBizException e) {
  50. throw new RuntimeException(e);
  51. }
  52. }
  53. public void batchTransmitAction(HttpServletRequest request, HttpServletResponse response, ModelMap modelMap, BatchMessageTipsHeader batchMessageTipsHeader) throws SHRWebException {
  54. super.batchTransmitAction(request, response, modelMap, batchMessageTipsHeader);
  55. Context ctx = SHRContext.getInstance().getContext();
  56. String transmitType = request.getParameter("transmitType");
  57. String billId = (String) request.getAttribute("billId");
  58. String msgTempID = request.getParameter("msgTempID");
  59. String smsType = request.getParameter("smsType");
  60. String emailType = request.getParameter("emailType");
  61. String portalType = request.getParameter("portalType");
  62. String yzjMsgType = request.getParameter("yzjMsgType");
  63. Set<String> billIds = new HashSet();
  64. billIds.addAll(Arrays.asList(billId.split(",")));
  65. List<String> ids = new ArrayList();
  66. ids.addAll(billIds);
  67. boolean isDirectlyTransmit = "1".equals(transmitType);
  68. if (isDirectlyTransmit) {
  69. String period = request.getParameter("period");
  70. for (String id : billIds) {
  71. for (BatchMessageTipsBody body : batchMessageTipsHeader.getResult()) {
  72. if (id.equals(body.getId())&&Boolean.FALSE.equals(body.isMuitTipsState())) {
  73. ids.remove(id);
  74. }
  75. }
  76. }
  77. for (String id : ids) {
  78. try {
  79. GoalsTargetFacadeFactory.getLocalInstance(ctx).batchGoalsTransmit(id, period);
  80. } catch (Exception var45) {
  81. logger.error("", var45);
  82. } finally {
  83. }
  84. }
  85. }
  86. }
  87. }