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,9 +194,18 @@ public class McBasicCmtyController extends BaseController {
194 List<String> xllist = new ArrayList<>(); 194 List<String> xllist = new ArrayList<>();
195 xllist.add("乡燃"); 195 xllist.add("乡燃");
196 xllist.add("城燃"); 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 EasyExcel.write(response.getOutputStream(), McBasicCmty.class) 207 EasyExcel.write(response.getOutputStream(), McBasicCmty.class)
199 - .registerWriteHandler(new McBasicCmtySheetWriteHandler(xllist, 11)) 208 + .registerWriteHandler(new McBasicCmtySheetWriteHandler(d))
200 .autoCloseStream(Boolean.FALSE) 209 .autoCloseStream(Boolean.FALSE)
201 .sheet("客户信息列表") 210 .sheet("客户信息列表")
202 .doWrite(list); 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,9 +151,11 @@ public class McBasicMoneyController extends BaseController {
151 List<String> xllist = new ArrayList<>(); 151 List<String> xllist = new ArrayList<>();
152 xllist.add("乡燃"); 152 xllist.add("乡燃");
153 xllist.add("城燃"); 153 xllist.add("城燃");
  154 + HashMap<Integer, List<String>> d = new HashMap<>();
  155 + d.put(11,xllist);
154 // 这里需要设置不关闭流 156 // 这里需要设置不关闭流
155 EasyExcel.write(response.getOutputStream(), McBasicMoney.class) 157 EasyExcel.write(response.getOutputStream(), McBasicMoney.class)
156 - .registerWriteHandler(new McBasicCmtySheetWriteHandler(xllist, 11)) 158 + .registerWriteHandler(new McBasicCmtySheetWriteHandler(d))
157 .autoCloseStream(Boolean.FALSE) 159 .autoCloseStream(Boolean.FALSE)
158 .sheet("客户信息列表") 160 .sheet("客户信息列表")
159 .doWrite(list); 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,6 +33,17 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener&lt;McBasicCm
33 throw new RuntimeException(String.format("第%s行 城乡分类 请选择‘乡燃’或‘城燃’,请核实", context.readRowHolder().getRowIndex() + 1)); 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,33 +6,20 @@ import com.alibaba.excel.write.metadata.holder.WriteWorkbookHolder;
6 import org.apache.poi.ss.usermodel.*; 6 import org.apache.poi.ss.usermodel.*;
7 import org.apache.poi.ss.util.CellRangeAddressList; 7 import org.apache.poi.ss.util.CellRangeAddressList;
8 8
9 -import java.util.HashMap;  
10 import java.util.List; 9 import java.util.List;
11 import java.util.Map; 10 import java.util.Map;
12 11
13 public class McBasicCmtySheetWriteHandler implements SheetWriteHandler { 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 @Override 20 @Override
31 public void afterSheetCreate(WriteWorkbookHolder writeWorkbookHolder, WriteSheetHolder writeSheetHolder) { 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 // 获取第一个sheet页 23 // 获取第一个sheet页
37 Sheet sheet = writeSheetHolder.getCachedSheet(); 24 Sheet sheet = writeSheetHolder.getCachedSheet();
38 // 获取sheet页的数据校验对象 25 // 获取sheet页的数据校验对象
@@ -40,14 +27,13 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler { @@ -40,14 +27,13 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler {
40 // 获取工作簿对象,用于创建存放下拉数据的字典sheet数据页 27 // 获取工作簿对象,用于创建存放下拉数据的字典sheet数据页
41 Workbook workbook = writeWorkbookHolder.getWorkbook(); 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 // 设置存放下拉数据的字典sheet,并把这些sheet隐藏掉,这样用户交互更友好 31 // 设置存放下拉数据的字典sheet,并把这些sheet隐藏掉,这样用户交互更友好
47 - String dictSheetName = "dict_hide_sheet" + index; 32 + String dictSheetName = "dict_hide_sheet" + globalIndex;
48 Sheet dictSheet = workbook.createSheet(dictSheetName); 33 Sheet dictSheet = workbook.createSheet(dictSheetName);
49 // 隐藏字典sheet页 34 // 隐藏字典sheet页
50 - workbook.setSheetHidden(index++, true); 35 + workbook.setSheetHidden(globalIndex, true);
  36 +
51 // 创建一个名为“dictSheetName”的名称,指向字典表中的数据区域 37 // 创建一个名为“dictSheetName”的名称,指向字典表中的数据区域
52 String refers = dictSheetName + "!$A$1:$A$" + (entry.getValue().size() + 1); 38 String refers = dictSheetName + "!$A$1:$A$" + (entry.getValue().size() + 1);
53 Name name = workbook.createName(); 39 Name name = workbook.createName();
@@ -69,7 +55,7 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler { @@ -69,7 +55,7 @@ public class McBasicCmtySheetWriteHandler implements SheetWriteHandler {
69 DataValidation dataValidation = helper.createValidation(constraint, infoList); 55 DataValidation dataValidation = helper.createValidation(constraint, infoList);
70 sheet.addValidationData(dataValidation); 56 sheet.addValidationData(dataValidation);
71 57
72 - index++; 58 + globalIndex++;
73 } 59 }
74 } 60 }
75 } 61 }