Commit 845d8e78bd38889990500b5dc69422df4459d01f

Authored by 陈威
1 parent 552cb337
Exists in dev

1: 项目类型下拉框

zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicCmtyController.java
... ... @@ -194,9 +194,18 @@ public class McBasicCmtyController extends BaseController {
194 194 List<String> xllist = new ArrayList<>();
195 195 xllist.add("乡燃");
196 196 xllist.add("城燃");
  197 + List<String> xllist2 = new ArrayList<>();
  198 + xllist2.add("雷行动项目(市政中压已覆盖)");
  199 + xllist2.add("扫雷行动项目(市政中压未覆盖)");
  200 + xllist2.add("新增空白项目(市政中压已覆盖)");
  201 + xllist2.add("新增空白项目(市政中压未覆盖)");
  202 + xllist2.add("已通气项目零散开发");
  203 + HashMap<Integer, List<String>> d = new HashMap<>();
  204 + d.put(11,xllist);
  205 + d.put(12,xllist2);
197 206 // 这里需要设置不关闭流
198 207 EasyExcel.write(response.getOutputStream(), McBasicCmty.class)
199   - .registerWriteHandler(new McBasicCmtySheetWriteHandler(xllist, 11))
  208 + .registerWriteHandler(new McBasicCmtySheetWriteHandler(d))
200 209 .autoCloseStream(Boolean.FALSE)
201 210 .sheet("客户信息列表")
202 211 .doWrite(list);
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/controller/McBasicMoneyController.java
... ... @@ -151,9 +151,11 @@ public class McBasicMoneyController extends BaseController {
151 151 List<String> xllist = new ArrayList<>();
152 152 xllist.add("乡燃");
153 153 xllist.add("城燃");
  154 + HashMap<Integer, List<String>> d = new HashMap<>();
  155 + d.put(11,xllist);
154 156 // 这里需要设置不关闭流
155 157 EasyExcel.write(response.getOutputStream(), McBasicMoney.class)
156   - .registerWriteHandler(new McBasicCmtySheetWriteHandler(xllist, 11))
  158 + .registerWriteHandler(new McBasicCmtySheetWriteHandler(d))
157 159 .autoCloseStream(Boolean.FALSE)
158 160 .sheet("客户信息列表")
159 161 .doWrite(list);
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java
... ... @@ -33,6 +33,17 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener&lt;McBasicCm
33 33 throw new RuntimeException(String.format("第%s行 城乡分类 请选择‘乡燃’或‘城燃’,请核实", context.readRowHolder().getRowIndex() + 1));
34 34 }
35 35 }
  36 + if (StringUtils.isNotEmpty(mcBasicCmty.getProjectTypeName())) {
  37 + if (
  38 + !mcBasicCmty.getProjectTypeName().equals("雷行动项目(市政中压已覆盖)")
  39 + && !mcBasicCmty.getProjectTypeName().equals("扫雷行动项目(市政中压未覆盖)")
  40 + && !mcBasicCmty.getProjectTypeName().equals("新增空白项目(市政中压已覆盖)")
  41 + && !mcBasicCmty.getProjectTypeName().equals("新增空白项目(市政中压未覆盖)")
  42 + && !mcBasicCmty.getProjectTypeName().equals("已通气项目零散开发")
  43 + ){
  44 + throw new RuntimeException(String.format("第%s行 项目类型 请选择‘雷行动项目(市政中压已覆盖)’‘扫雷行动项目(市政中压未覆盖)’‘新增空白项目(市政中压已覆盖)’‘新增空白项目(市政中压未覆盖)’‘已通气项目零散开发’,请核实", context.readRowHolder().getRowIndex() + 1));
  45 + }
  46 + }
36 47 }
37 48  
38 49 /**
... ...
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtySheetWriteHandler.java
... ... @@ -6,33 +6,20 @@ import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
6 6 import org.apache.poi.ss.usermodel.*;
7 7 import org.apache.poi.ss.util.CellRangeAddressList;
8 8  
9   -import java.util.HashMap;
10 9 import java.util.List;
11 10 import java.util.Map;
12 11  
13 12 public class McBasicCmtySheetWriteHandler implements SheetWriteHandler {
14 13  
15   - private List<String> selectDataList;
16   - private int ls = 0;
  14 + private Map<Integer, List<String>> selectDataMap;
17 15  
18   - public McBasicCmtySheetWriteHandler(List<String> selectDataList, int ls) {
19   - this.selectDataList = selectDataList;
20   - this.ls = ls;
  16 + public McBasicCmtySheetWriteHandler(Map<Integer, List<String>> selectDataMap) {
  17 + this.selectDataMap = selectDataMap;
21 18 }
22 19  
23   - /**
24   - * 想实现Excel引用其他sheet页数据作为单元格下拉选项值,
25   - * 需要重写该方法
26   - *
27   - * @param writeWorkbookHolder
28   - * @param writeSheetHolder
29   - */
30 20 @Override
31 21 public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) {
32   - // 构造下拉选项单元格列的位置,以及下拉选项可选参数值的map集合
33   - Map<Integer, List<String>> selectParamMap = new HashMap<>();
34   - selectParamMap.put(ls, selectDataList); // 假设下拉选项放在第一列
35   -
  22 + int globalIndex = 1;
36 23 // 获取第一个sheet页
37 24 Sheet sheet = writeSheetHolder.getCachedSheet();
38 25 // 获取sheet页的数据校验对象
... ... @@ -40,14 +27,13 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler {
40 27 // 获取工作簿对象,用于创建存放下拉数据的字典sheet数据页
41 28 Workbook workbook = writeWorkbookHolder.getWorkbook();
42 29  
43   - // 迭代索引,用于存放下拉数据的字典sheet命名
44   - int index = 1;
45   - for (Map.Entry<Integer, List<String>> entry : selectParamMap.entrySet()) {
  30 + for (Map.Entry<Integer, List<String>> entry : selectDataMap.entrySet()) {
46 31 // 设置存放下拉数据的字典sheet,并把这些sheet隐藏掉,这样用户交互更友好
47   - String dictSheetName = "dict_hide_sheet" + index;
  32 + String dictSheetName = "dict_hide_sheet" + globalIndex;
48 33 Sheet dictSheet = workbook.createSheet(dictSheetName);
49 34 // 隐藏字典sheet页
50   - workbook.setSheetHidden(index++, true);
  35 + workbook.setSheetHidden(globalIndex, true);
  36 +
51 37 // 创建一个名为“dictSheetName”的名称,指向字典表中的数据区域
52 38 String refers = dictSheetName + "!$A$1:$A$" + (entry.getValue().size() + 1);
53 39 Name name = workbook.createName();
... ... @@ -69,7 +55,7 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler {
69 55 DataValidation dataValidation = helper.createValidation(constraint, infoList);
70 56 sheet.addValidationData(dataValidation);
71 57  
72   - index++;
  58 + globalIndex++;
73 59 }
74 60 }
75 61 }
... ...