From 6dc9085d53f18baa7e9901b635e6041cdf5f77f2 Mon Sep 17 00:00:00 2001 From: heyuming <1514431883@qq.com> Date: Thu, 11 Jul 2024 09:50:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=8A=E4=BC=A0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3/importTemplate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/EntityDataAllServiceImpl.java | 196 ++++++++++-------- 1 file changed, 104 insertions(+), 92 deletions(-) diff --git a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataAllServiceImpl.java b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataAllServiceImpl.java index fa3831c..8c0a463 100644 --- a/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataAllServiceImpl.java +++ b/kn-service/biz-vordm/src/main/java/com/kening/vordm/service/impl/EntityDataAllServiceImpl.java @@ -6,18 +6,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.kening.vordm.entity.EntityDataAll; import com.kening.vordm.entity.GuestInfo; -import com.kening.vordm.entity.RemoteSensingSourceData; import com.kening.vordm.mapper.GuestInfoMapper; import com.kening.vordm.service.EntityDataAllService; import com.kening.vordm.mapper.EntityDataAllMapper; import com.kening.vordm.vo.UserTenantVo; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.apache.poi.hssf.usermodel.HSSFWorkbook; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.poi.ss.usermodel.*; import org.springblade.core.oss.MinioTemplate; import org.springblade.core.oss.model.BladeFile; import org.springblade.core.oss.props.OssProperties; @@ -29,8 +25,7 @@ import org.springframework.web.multipart.MultipartFile; import java.io.*; import java.util.*; -import java.util.stream.Collectors; -import java.util.stream.Stream; +import java.util.concurrent.atomic.AtomicInteger; /** * @author G @@ -39,6 +34,7 @@ import java.util.stream.Stream; */ @Service @RequiredArgsConstructor +@Slf4j public class EntityDataAllServiceImpl extends ServiceImpl implements EntityDataAllService { @@ -114,92 +110,89 @@ public class EntityDataAllServiceImpl extends ServiceImpl iterator = sheet.iterator(); - while (iterator.hasNext()) { - Row currentRow = iterator.next(); - if (currentRow.getRowNum() != 0) { - Iterator cellIterator = currentRow.iterator(); + sheet.forEach(currentRow -> { + if (currentRow.getRowNum()!= 0&¤tRow!=null&&!isBlankRow(currentRow)) { EntityDataAll entityDataAll = new EntityDataAll(); - while (cellIterator.hasNext()) { - Cell cell = cellIterator.next(); - //判断cell是否为空,为空不进行添加操作 - int columnIndex = cell.getColumnIndex(); - switch (columnIndex) { - case 0: - entityDataAll.setLink(cell.getStringCellValue()); - break; - case 1: - entityDataAll.setProductLevel(cell.getStringCellValue()); - break; - case 2: - entityDataAll.setProductSerialNum(cell.getStringCellValue()); - break; - case 3: - entityDataAll.setProductTime(cell.getDateCellValue()); - break; - case 4: - entityDataAll.setProductResolution(Double.toString(cell.getNumericCellValue())); - break; - case 5: - String s = Double.toString(cell.getNumericCellValue()); - entityDataAll.setCloudCover(Integer.parseInt(s.substring(0,s.lastIndexOf(".")))); - break; - case 6: - entityDataAll.setSatelliteCode(cell.getStringCellValue()); - break; - case 7: - entityDataAll.setUpperLeftLat(Double.toString(cell.getNumericCellValue())); - break; - case 8: - entityDataAll.setUpperLeftLon(Double.toString(cell.getNumericCellValue())); - break; - case 9: - entityDataAll.setUpperRightLat(Double.toString(cell.getNumericCellValue())); - break; - case 10: - entityDataAll.setUpperRightLon(Double.toString(cell.getNumericCellValue())); - break; - case 11: - entityDataAll.setViewCenterLat(Double.toString(cell.getNumericCellValue())); - break; - case 12: - entityDataAll.setViewCenterLon(Double.toString(cell.getNumericCellValue())); - break; - case 13: - entityDataAll.setLowerRightLat(Double.toString(cell.getNumericCellValue())); - break; - case 14: - entityDataAll.setLowerRightLon(Double.toString(cell.getNumericCellValue())); - break; - case 15: - entityDataAll.setLowerLeftLat(Double.toString(cell.getNumericCellValue())); - break; - case 16: - entityDataAll.setLowerLeftLon(Double.toString(cell.getNumericCellValue())); - break; - case 17: - entityDataAll.setSourceOrganization(cell.getStringCellValue()); - break; - case 18: - entityDataAll.setPictureName(cell.getStringCellValue()); - if (StrUtil.isNotBlank(cell.getStringCellValue())){ - boolean flag = pictureNames.add(cell.getStringCellValue()); - if (!flag) { - fileDataTwo.stream().forEach(multipartFile -> { - String filename = multipartFile.getOriginalFilename(); - if (filename.contains(cell.getStringCellValue())) { - BladeFile bladeFile = minioTemplate.putFile(multipartFile); - bladeFile = this.format(bladeFile, imageUrl); - entityDataAll.setLink(bladeFile.getLink()); - } - }); - } else { - pictureNames.remove(cell.getStringCellValue()); + currentRow.forEach(cell -> { + if (!Objects.isNull(cell)){ + int columnIndex = cell.getColumnIndex(); + switch (columnIndex) { + case 0: + entityDataAll.setLink(cell.getStringCellValue()); + break; + case 1: + entityDataAll.setProductLevel(cell.getStringCellValue()); + break; + case 2: + entityDataAll.setProductSerialNum(cell.getStringCellValue()); + break; + case 3: + entityDataAll.setProductTime(cell.getDateCellValue()); + break; + case 4: + entityDataAll.setProductResolution(Double.toString(cell.getNumericCellValue())); + break; + case 5: + String s = Double.toString(cell.getNumericCellValue()); + entityDataAll.setCloudCover(Integer.parseInt(s.substring(0,s.lastIndexOf(".")))); + break; + case 6: + entityDataAll.setSatelliteCode(cell.getStringCellValue()); + break; + case 7: + entityDataAll.setUpperLeftLat(Double.toString(cell.getNumericCellValue())); + break; + case 8: + entityDataAll.setUpperLeftLon(Double.toString(cell.getNumericCellValue())); + break; + case 9: + entityDataAll.setUpperRightLat(Double.toString(cell.getNumericCellValue())); + break; + case 10: + entityDataAll.setUpperRightLon(Double.toString(cell.getNumericCellValue())); + break; + case 11: + entityDataAll.setViewCenterLat(Double.toString(cell.getNumericCellValue())); + break; + case 12: + entityDataAll.setViewCenterLon(Double.toString(cell.getNumericCellValue())); + break; + case 13: + entityDataAll.setLowerRightLat(Double.toString(cell.getNumericCellValue())); + break; + case 14: + entityDataAll.setLowerRightLon(Double.toString(cell.getNumericCellValue())); + break; + case 15: + entityDataAll.setLowerLeftLat(Double.toString(cell.getNumericCellValue())); + break; + case 16: + entityDataAll.setLowerLeftLon(Double.toString(cell.getNumericCellValue())); + break; + case 17: + entityDataAll.setSourceOrganization(cell.getStringCellValue()); + break; + case 18: + entityDataAll.setPictureName(cell.getStringCellValue()); + if (StrUtil.isNotBlank(cell.getStringCellValue())){ + boolean flag = pictureNames.add(cell.getStringCellValue()); + if (!flag) { + fileDataTwo.stream().forEach(multipartFile -> { + String filename = multipartFile.getOriginalFilename(); + if (filename.contains(cell.getStringCellValue())) { + BladeFile bladeFile = minioTemplate.putFile(multipartFile); + bladeFile = format(bladeFile, imageUrl); + entityDataAll.setLink(bladeFile.getLink()); + } + }); + } else { + pictureNames.remove(cell.getStringCellValue()); + } } - } - break; + break; + } } - } + }); entityDataAll.setType("4"); entityDataAll.setSource("Other"); entityDataAll.setDisasterId(disasterId); @@ -208,7 +201,7 @@ public class EntityDataAllServiceImpl extends ServiceImpl