From 0ec6e896df889087dfd2c5b8d9e8d8551edf1beb Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 4 Mar 2024 09:23:42 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A2=9E=E5=8A=A0=E8=A1=A8=E5=85=B3?= =?UTF-8?q?=E8=81=94=E7=B1=BB=E5=9E=8B=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xydl/cac/excel/CacExcelListener.java | 17 ++++++++++++----- .../cac/service/impl/ReportServiceImpl.java | 5 ++++- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/xydl/cac/excel/CacExcelListener.java b/src/main/java/com/xydl/cac/excel/CacExcelListener.java index edeea83..008a3df 100644 --- a/src/main/java/com/xydl/cac/excel/CacExcelListener.java +++ b/src/main/java/com/xydl/cac/excel/CacExcelListener.java @@ -2,15 +2,13 @@ package com.xydl.cac.excel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; -import com.xydl.cac.entity.N103Point; -import com.xydl.cac.entity.N103Sensor; -import com.xydl.cac.entity.NPoint; -import com.xydl.cac.entity.NSensor; +import com.xydl.cac.entity.*; import com.xydl.cac.entity.constants.Constants; import com.xydl.cac.service.N103SensorService; import org.apache.commons.lang3.StringUtils; import java.util.ArrayList; +import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.stream.Collectors; @@ -21,13 +19,17 @@ import static com.xydl.cac.entity.constants.Constants.YaoXin; public class CacExcelListener extends AnalysisEventListener { N103SensorService n103SensorService; + HashMap typeMap = new HashMap<>(); int base = 16385; int type; LinkedHashMap sensorList = new LinkedHashMap<>(); List errorList = new ArrayList<>(); - public CacExcelListener(N103SensorService service) { + public CacExcelListener(N103SensorService service, List modevTypeList) { n103SensorService = service; + for (ModevType type : modevTypeList) { + typeMap.put(type.getTablename(), type); + } } @Override @@ -58,6 +60,11 @@ public class CacExcelListener extends AnalysisEventListener { sensor.setEquipmentId(line.getEquipmentCode()); if (StringUtils.isBlank(line.getTableName())) { errorList.add("第" + row + "行的表名不能为空"); + } else { + ModevType modevType = typeMap.get(line.getTableName()); + if (modevType == null) { + errorList.add("第" + row + "行的表名" + line.getTableName() + "未找到对应的监测设备类型"); + } } sensor.setTableName(line.getTableName()); if (StringUtils.isBlank(line.getDevid())) { diff --git a/src/main/java/com/xydl/cac/service/impl/ReportServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ReportServiceImpl.java index e8b0b9f..fea88d2 100644 --- a/src/main/java/com/xydl/cac/service/impl/ReportServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ReportServiceImpl.java @@ -8,6 +8,7 @@ import com.xydl.cac.entity.NPoint; import com.xydl.cac.excel.CacExcelListener; import com.xydl.cac.excel.CacLine; import com.xydl.cac.model.SensorDetail; +import com.xydl.cac.service.ModevTypeService; import com.xydl.cac.service.N103SensorService; import com.xydl.cac.service.ReportService; import lombok.extern.slf4j.Slf4j; @@ -28,6 +29,8 @@ public class ReportServiceImpl implements ReportService { @Resource N103SensorService n103SensorService; + @Resource + ModevTypeService modevTypeService; @Override public void exportSensor(SensorDetail> detail, OutputStream output) throws Exception { @@ -70,7 +73,7 @@ public class ReportServiceImpl implements ReportService { @Override public void importCac(InputStream input) throws Exception { - CacExcelListener listener = new CacExcelListener(n103SensorService); + CacExcelListener listener = new CacExcelListener(n103SensorService, modevTypeService.listAll()); EasyExcel.read(input, CacLine.class, listener) .sheet(0) .doRead();