Commit a5bc317c4a97d183255f57745f552bbda5d9ef9b

Authored by 陈威
1 parent e9764e35
Exists in dev

导入基础数据做格式验证

zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicCmtyImportInspection.java
@@ -5,18 +5,14 @@ import com.alibaba.excel.event.AnalysisEventListener; @@ -5,18 +5,14 @@ import com.alibaba.excel.event.AnalysisEventListener;
5 import com.alibaba.excel.exception.ExcelDataConvertException; 5 import com.alibaba.excel.exception.ExcelDataConvertException;
6 import com.chinagas.common.core.utils.StringUtils; 6 import com.chinagas.common.core.utils.StringUtils;
7 import com.chinagas.modules.schsf.domain.McBasicCmty; 7 import com.chinagas.modules.schsf.domain.McBasicCmty;
8 -import com.chinagas.modules.schsf.service.ICommonService;  
9 -import org.springframework.beans.factory.annotation.Autowired;  
10 8
11 -import java.util.HashMap; 9 +import java.util.Map;
12 10
13 -public class McBasicCmtyImportInspection extends AnalysisEventListener { 11 +public class McBasicCmtyImportInspection extends AnalysisEventListener<McBasicCmty> {
14 12
15 @Override 13 @Override
16 - public void invoke(Object data, AnalysisContext context) {  
17 -  
18 - McBasicCmty mcBasicCmty = (McBasicCmty) data;  
19 - System.out.println(mcBasicCmty); 14 + public void invoke(McBasicCmty data, AnalysisContext context) {
  15 + McBasicCmty mcBasicCmty = data;
20 if (mcBasicCmty.getFiscalYear() == null) { 16 if (mcBasicCmty.getFiscalYear() == null) {
21 throw new RuntimeException(String.format("第%s行 财年 为空,请核实", context.readRowHolder().getRowIndex() + 1)); 17 throw new RuntimeException(String.format("第%s行 财年 为空,请核实", context.readRowHolder().getRowIndex() + 1));
22 } 18 }
@@ -58,6 +54,20 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener { @@ -58,6 +54,20 @@ public class McBasicCmtyImportInspection extends AnalysisEventListener {
58 54
59 55
60 @Override 56 @Override
  57 + public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
  58 +// // 检查标题行,headMap 是一个 Map,key 是列索引,value 是列标题
  59 +// if (headMap.containsKey(0) && "预期标题".equals(headMap.get(0))) { // 假设预期的标题在第一列
  60 +//
  61 +// }
  62 + if (headMap==null || headMap.size()!=36){
  63 + throw new RuntimeException(String.format("导入文件格式错误,请检查"));
  64 + }
  65 + }
  66 +
  67 +
  68 +
  69 +
  70 + @Override
61 public void doAfterAllAnalysed(AnalysisContext analysisContext) { 71 public void doAfterAllAnalysed(AnalysisContext analysisContext) {
62 72
63 } 73 }
zr-cloud/zr-modules/zr-schsf/src/main/java/com/chinagas/modules/schsf/utils/listener/McBasicMoneyImportInspection.java
@@ -6,13 +6,15 @@ import com.alibaba.excel.exception.ExcelDataConvertException; @@ -6,13 +6,15 @@ import com.alibaba.excel.exception.ExcelDataConvertException;
6 import com.chinagas.common.core.utils.StringUtils; 6 import com.chinagas.common.core.utils.StringUtils;
7 import com.chinagas.modules.schsf.domain.McBasicMoney; 7 import com.chinagas.modules.schsf.domain.McBasicMoney;
8 8
9 -public class McBasicMoneyImportInspection extends AnalysisEventListener { 9 +import java.util.Map;
  10 +
  11 +public class McBasicMoneyImportInspection extends AnalysisEventListener<McBasicMoney> {
10 12
11 13
12 14
13 @Override 15 @Override
14 - public void invoke(Object data, AnalysisContext context) {  
15 - McBasicMoney mcBasicMoney = (McBasicMoney) data; 16 + public void invoke(McBasicMoney data, AnalysisContext context) {
  17 + McBasicMoney mcBasicMoney = data;
16 if (StringUtils.isEmpty(mcBasicMoney.getCompanyName())) { 18 if (StringUtils.isEmpty(mcBasicMoney.getCompanyName())) {
17 throw new RuntimeException(String.format("第%s行 项目公司 为空,请核实", context.readRowHolder().getRowIndex() + 1)); 19 throw new RuntimeException(String.format("第%s行 项目公司 为空,请核实", context.readRowHolder().getRowIndex() + 1));
18 } 20 }
@@ -40,4 +42,13 @@ public class McBasicMoneyImportInspection extends AnalysisEventListener { @@ -40,4 +42,13 @@ public class McBasicMoneyImportInspection extends AnalysisEventListener {
40 public void doAfterAllAnalysed(AnalysisContext analysisContext) { 42 public void doAfterAllAnalysed(AnalysisContext analysisContext) {
41 43
42 } 44 }
  45 +
  46 +
  47 + @Override
  48 + public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
  49 + if (headMap==null || headMap.size()!=33){
  50 + throw new RuntimeException(String.format("导入文件格式错误,请检查"));
  51 + }
  52 + }
  53 +
43 } 54 }