From f55c563e2a0b52e4569ce6b5f81632cac598f7fe Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期三, 30 十月 2024 18:36:55 +0800 Subject: [PATCH] 代码提交 --- smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java | 44 +++++++++++++++++++++++++++++++++++--------- 1 files changed, 35 insertions(+), 9 deletions(-) diff --git a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java index c5ea8c6..dbe3da2 100644 --- a/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java +++ b/smartor/src/main/java/com/smartor/service/impl/PatArchiveImportServiceImpl.java @@ -6,19 +6,19 @@ import com.smartor.mapper.PatArchiveImportMapper; import com.smartor.service.IPatArchiveImportService; import org.apache.commons.lang3.ObjectUtils; -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.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; +import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.regex.Pattern; /** * Excel瀵煎叆鎮h�呮。妗圫ervice涓氬姟灞傚鐞� @@ -103,11 +103,14 @@ public List<PatArchiveImport> importPatInfo(MultipartFile multipartFile) { //鐢ㄤ簬杩斿洖 List<PatArchiveImport> patArchiveImports = new ArrayList<>(); + + //鍘婚噸 + List<String> qc = new ArrayList<>(); try { Workbook workbook = new XSSFWorkbook(multipartFile.getInputStream()); Sheet sheet = workbook.getSheetAt(0); - for (int i = sheet.getFirstRowNum() + 1; i < sheet.getLastRowNum(); i++) { + for (int i = sheet.getFirstRowNum() + 1; i <= sheet.getLastRowNum(); i++) { //瀵煎叆鎮h�呭璞� PatArchiveImport patArchiveImport = new PatArchiveImport(); Row row = sheet.getRow(i); @@ -118,15 +121,38 @@ //鍒ゆ柇鏁版嵁鏄惁鏈夐棶棰� - if (ObjectUtils.isNotEmpty(row.getCell(0).toString())) { + if (ObjectUtils.isNotEmpty(row.getCell(0))) { patArchiveImport.setName(row.getCell(0).toString()); + } else { + continue; } if (ObjectUtils.isNotEmpty(row.getCell(1))) { - patArchiveImport.setIdcardno(row.getCell(1).toString()); + Cell cell = row.getCell(1); + if (row.getCell(1).toString().contains("X") || row.getCell(1).toString().contains("x")) { + patArchiveImport.setIdcardno(row.getCell(1).toString()); + } else { + Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); + boolean matches = pattern.matcher(row.getCell(1).toString()).matches(); + if (matches) { + patArchiveImport.setIdcardno(row.getCell(1).toString()); + } else { + double numericCellValue = cell.getNumericCellValue(); + DecimalFormat decimalFormat = new DecimalFormat("#"); + String formattedValue = decimalFormat.format(numericCellValue); + patArchiveImport.setIdcardno(formattedValue); + } + } + + boolean contains = qc.contains(row.getCell(1).toString()); + if (contains) continue; } if (ObjectUtils.isNotEmpty(row.getCell(2))) { - patArchiveImport.setTelcode(row.getCell(2).toString()); + Cell cell = row.getCell(2); + double numericCellValue = cell.getNumericCellValue(); + DecimalFormat decimalFormat = new DecimalFormat("#"); + String formattedValue = decimalFormat.format(numericCellValue); + patArchiveImport.setTelcode(formattedValue); } if (ObjectUtils.isNotEmpty(row.getCell(3))) { patArchiveImport.setBatchName(row.getCell(3).toString()); @@ -145,13 +171,13 @@ patArchiveImport.setAge(Long.valueOf(row.getCell(7).toString())); } - patArchiveImports.add(patArchiveImport); - patArchiveImport.setCreateTime(new Date()); patArchiveImport.setUpdateTime(new Date()); //鎵归噺鍙凤紙褰撳墠鏃堕棿锛� patArchiveImport.setBatchNo(new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); insertPatArchiveImport(patArchiveImport); + + patArchiveImports.add(patArchiveImport); } } catch (Exception e) { -- Gitblit v1.9.3