PosColumnMap.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package jnpf.permission.constant;
  2. import jnpf.model.ExcelColumnAttr;
  3. import org.apache.poi.ss.usermodel.IndexedColors;
  4. import java.util.*;
  5. public class PosColumnMap {
  6. String excelName = "岗位信息";
  7. Map<String, String> keyMap = new LinkedHashMap() {{
  8. put("organizeId", "所属组织");
  9. put("parentId", "上级岗位");
  10. put("fullName", "岗位名称");
  11. put("enCode", "岗位编码");
  12. put("isCondition", "岗位约束");
  13. put("constraintType", "约束类型");
  14. put("mutualExclusion", "互斥岗位");
  15. put("userNum", "用户基数");
  16. put("permissionNum", "权限基数");
  17. put("prerequisite", "先决岗位");
  18. put("sortCode", "排序");
  19. put("description", "说明");
  20. }};
  21. //岗位约束类型
  22. public static Map<Integer, String> constraintType = new LinkedHashMap() {{
  23. put(0, "互斥约束");
  24. put(1, "基数约束");
  25. put(2, "先决约束");
  26. }};
  27. /**
  28. * 表格名称
  29. *
  30. * @return
  31. */
  32. public String getExcelName() {
  33. return excelName;
  34. }
  35. /**
  36. * 根据类型获取excel表头字段
  37. *
  38. * @param type
  39. * @return
  40. */
  41. public Map<String, String> getColumnByType(Integer type) {
  42. return keyMap;
  43. }
  44. /**
  45. * 获取字段列表
  46. *
  47. * @param isError
  48. * @return
  49. */
  50. public List<ExcelColumnAttr> getFieldsModel(boolean isError) {
  51. List<ExcelColumnAttr> models = new ArrayList<>();
  52. //异常原因
  53. if (isError) {
  54. ExcelColumnAttr attr = ExcelColumnAttr.builder().key("errorsInfo").name("异常原因").build();
  55. models.add(attr);
  56. }
  57. List<String> requireFields = Arrays.asList("organizeId", "fullName");
  58. for (String key : keyMap.keySet()) {
  59. ExcelColumnAttr attr = ExcelColumnAttr.builder().key(key).name(keyMap.get(key)).build();
  60. if (requireFields.contains(key)) {
  61. attr.setRequire(true);
  62. attr.setFontColor(IndexedColors.RED.getIndex());
  63. }
  64. models.add(attr);
  65. }
  66. return models;
  67. }
  68. /**
  69. * 获取默认值
  70. */
  71. public List<Map<String, Object>> getDefaultList() {
  72. List<Map<String, Object>> list = new ArrayList<>();
  73. Map<String, Object> map = new HashMap<>();
  74. //所属组织
  75. map.put("organizeId", "组织名称/编码");
  76. map.put("parentId", "岗位名称/编码");
  77. //约束类型
  78. Map<Integer, String> constraintTypeMap = PosColumnMap.constraintType;
  79. String constraintType = String.join(",", constraintTypeMap.values());
  80. map.put("constraintType", constraintType + ":多选组合");
  81. map.put("mutualExclusion", "岗位名称1/编码1,岗位名称2/编码2");
  82. map.put("prerequisite", "岗位名称1/编码1,岗位名称2/编码2");
  83. list.add(map);
  84. return list;
  85. }
  86. }