Commit 845d8e78bd38889990500b5dc69422df4459d01f
1 parent
552cb337
Exists in
dev
1: 项目类型下拉框
Showing
4 changed files
with
33 additions
and
25 deletions
Show diff stats
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<McBasicCm | @@ -33,6 +33,17 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener<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 | } |