ProjectBonusDynamicHandler.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.kingdee.eas.custom.projectbonus.web.handler;
  2. import com.kingdee.shr.base.syssetting.exception.SHRWebException;
  3. import com.kingdee.shr.base.syssetting.web.dynamic.util.ExportHelper;
  4. import com.kingdee.shr.base.syssetting.web.handler.DynamicListHandler;
  5. import javax.servlet.http.HttpServletRequest;
  6. import java.util.ArrayList;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. /**
  11. * @Description 奖金同步动态列表
  12. * @Date 2024/6/19 20:30
  13. * @Created by Heyuan
  14. */
  15. public class ProjectBonusDynamicHandler extends DynamicListHandler {
  16. //设置金额字段显示精度
  17. private static List decimalPrecisionFields = new ArrayList();
  18. static {
  19. decimalPrecisionFields.add("bdpapd.opinionamount");
  20. decimalPrecisionFields.add("bdpapd.indivbonusamount");
  21. decimalPrecisionFields.add("bdpapd.approvalamount");
  22. decimalPrecisionFields.add("bdp.bonusamount");
  23. decimalPrecisionFields.add("bdp.totalbonushalf");
  24. decimalPrecisionFields.add("bdp.totalbonusreal");
  25. decimalPrecisionFields.add("bdp.directmanprojbonus");
  26. decimalPrecisionFields.add("bdp.contramanprojbonus");
  27. decimalPrecisionFields.add("bdp.condmanprojectbonus");
  28. decimalPrecisionFields.add("bdp.stramanprojectbonus");
  29. decimalPrecisionFields.add("bdp.bonusadjustment");
  30. }
  31. /**
  32. * 设置金额字段精度
  33. *
  34. * @param request
  35. * @param helper
  36. * @return
  37. * @throws SHRWebException
  38. */
  39. @Override
  40. protected Map<String, Object> initExportExcelConfig(HttpServletRequest request, ExportHelper helper) throws SHRWebException {
  41. Map<String, Object> excelConfig = super.initExportExcelConfig(request, helper);
  42. List<Map<String, Object>> columnModels = (List) excelConfig.get("columnModel");
  43. for (int i = 0; i < columnModels.size(); i++) {
  44. Map<String, Object> columnModel = columnModels.get(i);
  45. String name = (String) columnModel.get("name");
  46. Map<String, Object> attributes = new HashMap<>();
  47. attributes.putAll((Map<? extends String, ?>) columnModel.get("attributes"));
  48. if (decimalPrecisionFields.contains(name)) {
  49. attributes.put("decimalPrecision", 6);
  50. }else{
  51. attributes.put("decimalPrecision", 2);
  52. }
  53. columnModel.put("attributes", attributes);
  54. }
  55. return excelConfig;
  56. }
  57. }