PositionSalaryStandardEditHandler.java 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. package com.kingdee.eas.custom.compensationWeb.handler;
  2. import com.kingdee.bos.BOSException;
  3. import com.kingdee.bos.Context;
  4. import com.kingdee.eas.custom.compensation.basedata.PositionSalaryStandardEntryCollection;
  5. import com.kingdee.eas.custom.compensation.basedata.PositionSalaryStandardEntryInfo;
  6. import com.kingdee.eas.custom.compensation.basedata.PositionSalaryStandardInfo;
  7. import com.kingdee.eas.framework.CoreBaseInfo;
  8. import com.kingdee.eas.hr.ats.AtsUtil;
  9. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  10. import com.kingdee.shr.base.syssetting.exception.ShrWebBizException;
  11. import com.kingdee.shr.base.syssetting.web.dynamic.model.UIViewInfo;
  12. import com.kingdee.shr.base.syssetting.web.handler.SHRSubBasicItemEditHandler;
  13. import com.kingdee.shr.base.syssetting.web.json.JSONUtils;
  14. import com.kingdee.shr.compensation.CmpItemCollection;
  15. import com.kingdee.shr.compensation.CmpItemFactory;
  16. import com.kingdee.shr.compensation.CmpItemInfo;
  17. import com.kingdee.shr.compensation.ICmpItem;
  18. import org.springframework.ui.ModelMap;
  19. import javax.servlet.http.HttpServletRequest;
  20. import javax.servlet.http.HttpServletResponse;
  21. import java.util.ArrayList;
  22. import java.util.HashMap;
  23. import java.util.Map;
  24. /**
  25. * @Description ¸Úλн³ê±ê×¼
  26. * @Date 2026/7/16 14:44
  27. * @Created by HeYuan
  28. */
  29. public class PositionSalaryStandardEditHandler extends SHRSubBasicItemEditHandler {
  30. protected void setInitData(
  31. HttpServletRequest request,
  32. HttpServletResponse response,
  33. ModelMap modelMap,
  34. Map<String, Object> initData
  35. ) throws SHRWebException {
  36. super.setInitData(request, response, modelMap, initData);
  37. Context ctx = this.getContext();
  38. UIViewInfo uiViewInfo = this.getUIViewInfo(request);
  39. String pageParamConfig = uiViewInfo.getPageParamConfig();
  40. HashMap map = JSONUtils.convertJsonToObject(ctx, pageParamConfig.replace(" ", ""));
  41. Object isHideAddRow = map.get("isHideAddRow");
  42. Object isHideDeleteRow = map.get("isHideDeleteRow");
  43. if (Boolean.parseBoolean(isHideAddRow.toString())) {
  44. initData.put("isHideAddRow", true);
  45. } else {
  46. initData.put("isHideAddRow", false);
  47. }
  48. if (Boolean.parseBoolean(isHideDeleteRow.toString())) {
  49. initData.put("isHideDeleteRow", true);
  50. } else {
  51. initData.put("isHideDeleteRow", false);
  52. }
  53. }
  54. /**
  55. * @param request
  56. * @param response
  57. * @param coreBaseInfo
  58. * @throws SHRWebException
  59. */
  60. @Override
  61. protected void afterCreateNewModel(
  62. HttpServletRequest request,
  63. HttpServletResponse response,
  64. CoreBaseInfo coreBaseInfo
  65. ) throws SHRWebException {
  66. try {
  67. Context ctx = this.getContext();
  68. PositionSalaryStandardInfo info = (PositionSalaryStandardInfo) coreBaseInfo;
  69. PositionSalaryStandardEntryCollection entryCol = info.getEntry();
  70. UIViewInfo uiViewInfo = this.getUIViewInfo(request);
  71. String pageParamConfig = uiViewInfo.getPageParamConfig();
  72. HashMap map = JSONUtils.convertJsonToObject(ctx, pageParamConfig.replace(" ", ""));
  73. ArrayList<String> cmpItems = (ArrayList<String>) map.get("cmpItems");
  74. if (cmpItems == null || cmpItems.isEmpty()) {
  75. return;
  76. }
  77. ICmpItem iCmpItem = CmpItemFactory.getLocalInstance(ctx);
  78. CmpItemCollection cmpItemCol = iCmpItem.getCmpItemCollection("select * where number in (" + AtsUtil.convertListToString(cmpItems) + ")");
  79. for (int i = 0; i < cmpItems.size(); i++) {
  80. String cmpItemNumber = cmpItems.get(i);
  81. for (int j = 0; j < cmpItemCol.size(); j++) {
  82. CmpItemInfo cmpItemInfo = cmpItemCol.get(j);
  83. if (cmpItemInfo.getNumber().equals(cmpItemNumber)) {
  84. PositionSalaryStandardEntryInfo entryInfo = new PositionSalaryStandardEntryInfo();
  85. entryInfo.setCmpItem(cmpItemInfo);
  86. entryCol.add(entryInfo);
  87. break;
  88. }
  89. }
  90. }
  91. } catch (BOSException e) {
  92. throw new ShrWebBizException(e);
  93. }
  94. super.afterCreateNewModel(request, response, coreBaseInfo);
  95. }
  96. }