OrgColumnMap.java 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  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 OrgColumnMap {
  6. String excelName = "组织信息";
  7. /**
  8. * 全部字段
  9. */
  10. private Map<String, String> allKeyMap = new LinkedHashMap() {{
  11. put("parentId", "上级组织");
  12. put("category", "组织类型");
  13. put("fullName", "组织名称");
  14. put("enCode", "组织编码");
  15. put("sortCode", "排序");
  16. put("description", "说明");
  17. }};
  18. /**
  19. * 组织map
  20. */
  21. private Map<String, String> orgMap = new LinkedHashMap() {{
  22. put("category", "类型");
  23. put("parentId", "上级公司");
  24. put("fullName", "公司名称");
  25. put("enCode", "公司编码");
  26. put("shortName", "公司简称");
  27. put("enterpriseNature", "公司性质");
  28. put("industry", "所属行业");
  29. put("foundedTime", "成立时间");
  30. put("telePhone", "公司电话");
  31. put("fax", "公司传真");
  32. put("webSite", "公司主页");
  33. put("address", "公司地址");
  34. put("managerName", "公司法人");
  35. put("managerTelePhone", "联系电话");
  36. put("managerMobilePhone", "联系手机");
  37. put("manageEmail", "联系邮箱");
  38. put("bankName", "开户银行");
  39. put("bankAccount", "银行账户");
  40. put("businessscope", "经营范围");
  41. put("managerId", "部门主管");
  42. }};
  43. /**
  44. * 部门map
  45. */
  46. private Map<String, String> depMap = new LinkedHashMap() {{
  47. put("category", "类型");
  48. put("parentId", "所属组织");
  49. put("fullName", "部门名称");
  50. put("enCode", "部门编码");
  51. put("managerId", "部门主管");
  52. put("sortCode", "排序");
  53. put("description", "说明");
  54. }};
  55. /**
  56. * 根据类型获取excel表头字段
  57. *
  58. * @param type
  59. * @return
  60. */
  61. public Map<String, String> getColumnByType(Integer type) {
  62. Map<String, String> map = new LinkedHashMap();
  63. switch (type) {
  64. case 2:
  65. map = new LinkedHashMap(depMap);
  66. break;
  67. case 1:
  68. map = new LinkedHashMap(orgMap);
  69. map.remove("managerId");
  70. break;
  71. default:
  72. // map = new LinkedHashMap(orgMap);
  73. map.putAll(allKeyMap);
  74. break;
  75. }
  76. return map;
  77. }
  78. public String getExcelName() {
  79. return excelName;
  80. }
  81. public List<ExcelColumnAttr> getFieldsModel(boolean isError, Integer type) {
  82. List<ExcelColumnAttr> models = new ArrayList<>();
  83. //异常原因
  84. if (isError) {
  85. ExcelColumnAttr attr = new ExcelColumnAttr().builder()
  86. .key("errorsInfo")
  87. .name("异常原因")
  88. .build();
  89. models.add(attr);
  90. }
  91. List<String> requirelist = Arrays.asList("category", "fullName");
  92. // 遍历添加属性
  93. Map<String, String> keyMap = getColumnByType(type);
  94. for (String key : keyMap.keySet()) {
  95. ExcelColumnAttr attr = ExcelColumnAttr.builder()
  96. .key(key)
  97. .name(keyMap.get(key))
  98. .build();
  99. if (requirelist.contains(key)) {
  100. attr.setRequire(true);
  101. attr.setFontColor(IndexedColors.RED.getIndex());
  102. }
  103. models.add(attr);
  104. }
  105. return models;
  106. }
  107. /**
  108. * 获取默认值
  109. */
  110. public List<Map<String, Object>> getDefaultList() {
  111. // Map<String, Object> orgMapDemo = new HashMap<>();
  112. // orgMapDemo.put("fullName", "公司名称/公司名称1");
  113. // orgMapDemo.put("foundedTime", "yyy-MM-dd");
  114. Map<String, Object> depMapDemo = new HashMap<>();
  115. depMapDemo.put("fullName", "组织名称");
  116. depMapDemo.put("parentId", "上级组织名称/编码(为空时则该组织添加为一级组织)");
  117. // depMapDemo.put("managerId", "姓名/账号");
  118. List<Map<String, Object>> list = new ArrayList<>();
  119. // list.add(orgMapDemo);
  120. list.add(depMapDemo);
  121. return list;
  122. }
  123. }