|
|
@ -4,9 +4,8 @@ import com.alibaba.excel.context.AnalysisContext;
|
|
|
|
import com.alibaba.excel.event.AnalysisEventListener;
|
|
|
|
import com.alibaba.excel.event.AnalysisEventListener;
|
|
|
|
import com.xydl.cac.entity.*;
|
|
|
|
import com.xydl.cac.entity.*;
|
|
|
|
import com.xydl.cac.entity.constants.Constants;
|
|
|
|
import com.xydl.cac.entity.constants.Constants;
|
|
|
|
import com.xydl.cac.exception.BusinessException;
|
|
|
|
|
|
|
|
import com.xydl.cac.repository.ModevTypePointRepository;
|
|
|
|
import com.xydl.cac.repository.ModevTypePointRepository;
|
|
|
|
import com.xydl.cac.service.N103SensorService;
|
|
|
|
import com.xydl.cac.service.NSensorService;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
|
|
|
|
|
@ -21,18 +20,18 @@ import static com.xydl.cac.entity.constants.Constants.YaoXin;
|
|
|
|
|
|
|
|
|
|
|
|
public class CacExcelListener extends AnalysisEventListener<CacLine> {
|
|
|
|
public class CacExcelListener extends AnalysisEventListener<CacLine> {
|
|
|
|
|
|
|
|
|
|
|
|
N103SensorService n103SensorService;
|
|
|
|
NSensorService sensorService;
|
|
|
|
ModevTypePointRepository typePointRepository;
|
|
|
|
ModevTypePointRepository typePointRepository;
|
|
|
|
HashMap<String, ModevType> typeMap = new HashMap<>();
|
|
|
|
HashMap<String, ModevType> typeMap = new HashMap<>();
|
|
|
|
int base = 16385;
|
|
|
|
int base = 16385;
|
|
|
|
int type;
|
|
|
|
int type;
|
|
|
|
LinkedHashMap<String, N103Sensor> sensorList = new LinkedHashMap<>();
|
|
|
|
LinkedHashMap<String, NSensor> sensorList = new LinkedHashMap<>();
|
|
|
|
List<String> errorList = new ArrayList<>();
|
|
|
|
List<String> errorList = new ArrayList<>();
|
|
|
|
HashMap<String, String> doneMap = new HashMap<>();
|
|
|
|
HashMap<String, String> doneMap = new HashMap<>();
|
|
|
|
|
|
|
|
|
|
|
|
public CacExcelListener(N103SensorService service, ModevTypePointRepository pointRepository,
|
|
|
|
public CacExcelListener(NSensorService service, ModevTypePointRepository pointRepository,
|
|
|
|
List<ModevType> modevTypeList) {
|
|
|
|
List<ModevType> modevTypeList) {
|
|
|
|
n103SensorService = service;
|
|
|
|
sensorService = service;
|
|
|
|
typePointRepository = pointRepository;
|
|
|
|
typePointRepository = pointRepository;
|
|
|
|
for (ModevType type : modevTypeList) {
|
|
|
|
for (ModevType type : modevTypeList) {
|
|
|
|
typeMap.put(type.getTablename(), type);
|
|
|
|
typeMap.put(type.getTablename(), type);
|
|
|
@ -56,9 +55,9 @@ public class CacExcelListener extends AnalysisEventListener<CacLine> {
|
|
|
|
|
|
|
|
|
|
|
|
private void processLine(CacLine line, int row) {
|
|
|
|
private void processLine(CacLine line, int row) {
|
|
|
|
if (StringUtils.isNotBlank(line.getSensorCode()) && StringUtils.isNotBlank(line.getField())) {
|
|
|
|
if (StringUtils.isNotBlank(line.getSensorCode()) && StringUtils.isNotBlank(line.getField())) {
|
|
|
|
N103Sensor sensor103 = sensorList.get(line.getSensorCode());
|
|
|
|
NSensor sensor = sensorList.get(line.getSensorCode());
|
|
|
|
if (sensor103 == null) {
|
|
|
|
if (sensor == null) {
|
|
|
|
NSensor sensor = new NSensor();
|
|
|
|
sensor = new NSensor();
|
|
|
|
sensor.setSensorCode(line.getSensorCode());
|
|
|
|
sensor.setSensorCode(line.getSensorCode());
|
|
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isBlank(line.getEquipmentCode())) {
|
|
|
|
if (StringUtils.isBlank(line.getEquipmentCode())) {
|
|
|
@ -98,16 +97,16 @@ public class CacExcelListener extends AnalysisEventListener<CacLine> {
|
|
|
|
sensor.setPhase(line.getPhase());
|
|
|
|
sensor.setPhase(line.getPhase());
|
|
|
|
sensor.setStatus(Constants.NORMAL);
|
|
|
|
sensor.setStatus(Constants.NORMAL);
|
|
|
|
|
|
|
|
|
|
|
|
sensor103 = new N103Sensor();
|
|
|
|
N103Sensor n103Sensor = new N103Sensor();
|
|
|
|
sensor103.setNSensor(sensor);
|
|
|
|
sensor.setN103Sensor(n103Sensor);
|
|
|
|
if (StringUtils.isNotBlank(line.getGrpNo())) {
|
|
|
|
if (StringUtils.isNotBlank(line.getGrpNo())) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
sensor103.setGrpNo(Integer.parseInt(line.getGrpNo()));
|
|
|
|
n103Sensor.setGrpNo(Integer.parseInt(line.getGrpNo()));
|
|
|
|
} catch (Exception ignore) {
|
|
|
|
} catch (Exception ignore) {
|
|
|
|
errorList.add("第" + row + "行的组号不是正确的数字类型");
|
|
|
|
errorList.add("第" + row + "行的组号不是正确的数字类型");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
sensorList.put(line.getSensorCode(), sensor103);
|
|
|
|
sensorList.put(line.getSensorCode(), sensor);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -123,13 +122,13 @@ public class CacExcelListener extends AnalysisEventListener<CacLine> {
|
|
|
|
.row(row)
|
|
|
|
.row(row)
|
|
|
|
.build();
|
|
|
|
.build();
|
|
|
|
N103Point n103Point = N103Point.builder()
|
|
|
|
N103Point n103Point = N103Point.builder()
|
|
|
|
.nPoint(point)
|
|
|
|
|
|
|
|
.sadr(line.getPointId())
|
|
|
|
.sadr(line.getPointId())
|
|
|
|
.itemNo(line.getItemNo())
|
|
|
|
.itemNo(line.getItemNo())
|
|
|
|
.paramindex(line.getParamindex())
|
|
|
|
.paramindex(line.getParamindex())
|
|
|
|
.partName(line.getShortName())
|
|
|
|
.partName(line.getShortName())
|
|
|
|
.build();
|
|
|
|
.build();
|
|
|
|
String err = sensor103.addPoint(n103Point);
|
|
|
|
point.setN103Point(n103Point);
|
|
|
|
|
|
|
|
String err = sensor.addPoint(point);
|
|
|
|
if (StringUtils.isNotBlank(err)) {
|
|
|
|
if (StringUtils.isNotBlank(err)) {
|
|
|
|
errorList.add(err);
|
|
|
|
errorList.add(err);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -155,7 +154,7 @@ public class CacExcelListener extends AnalysisEventListener<CacLine> {
|
|
|
|
String msg = errorList.stream().collect(Collectors.joining(","));
|
|
|
|
String msg = errorList.stream().collect(Collectors.joining(","));
|
|
|
|
throw new RuntimeException(msg);
|
|
|
|
throw new RuntimeException(msg);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
n103SensorService.importFrom(sensorList.values());
|
|
|
|
sensorService.importFrom(sensorList.values());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|