McBasicMoneyImportInspection.java
2.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.chinagas.modules.schsf.utils.listener;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.chinagas.common.core.utils.StringUtils;
import com.chinagas.modules.schsf.domain.McBasicMoney;
import java.util.Map;
public class McBasicMoneyImportInspection extends AnalysisEventListener<McBasicMoney> {
@Override
public void invoke(McBasicMoney data, AnalysisContext context) {
McBasicMoney mcBasicMoney = data;
if (StringUtils.isEmpty(mcBasicMoney.getCompanyName())) {
throw new RuntimeException(String.format("第%s行 项目公司 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
if (StringUtils.isEmpty(mcBasicMoney.getCompanyCode())) {
throw new RuntimeException(String.format("第%s行 公司代码 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
}
@Override
public void onException(Exception exception, AnalysisContext context) throws Exception {
if (exception instanceof ExcelDataConvertException) {
/**从0开始计算*/
Integer columnIndex = ((ExcelDataConvertException) exception).getColumnIndex() + 1;
Integer rowIndex = ((ExcelDataConvertException) exception).getRowIndex() + 1;
String message = "第" + rowIndex + "行,第" + columnIndex + "列" + "数据格式有误,请核实";
throw new RuntimeException(message);
} else if (exception instanceof RuntimeException) {
throw exception;
} else {
super.onException(exception, context);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
if (headMap==null || headMap.size()!=33){
throw new RuntimeException(String.format("导入文件格式错误,请检查"));
}
}
}