McBasicCmtyImportInspection.java
2.67 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
55
56
57
58
59
60
61
62
63
64
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.McBasicCmty;
import com.chinagas.modules.schsf.service.ICommonService;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.HashMap;
public class McBasicCmtyImportInspection extends AnalysisEventListener {
@Override
public void invoke(Object data, AnalysisContext context) {
McBasicCmty mcBasicCmty = (McBasicCmty) data;
System.out.println(mcBasicCmty);
if (mcBasicCmty.getFiscalYear() == null) {
throw new RuntimeException(String.format("第%s行 财年 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
if (StringUtils.isEmpty(mcBasicCmty.getRegionName())) {
throw new RuntimeException(String.format("第%s行 区域 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
if (StringUtils.isEmpty(mcBasicCmty.getCompanyName())) {
throw new RuntimeException(String.format("第%s行 项目公司 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
if (StringUtils.isEmpty(mcBasicCmty.getCompanyCode())) {
throw new RuntimeException(String.format("第%s行 公司代码 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
if (StringUtils.isEmpty(mcBasicCmty.getVlgOrCmty())) {
throw new RuntimeException(String.format("第%s行 小区/村 为空,请核实", context.readRowHolder().getRowIndex() + 1));
}
}
/**
* 出现异常回调
*
* @param exception
* @param context
* @throws Exception
*/
@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) {
}
}