diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java index 6e8d252c1f..b29a1928ff 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/data/IcNatImportExcelData.java @@ -40,7 +40,7 @@ public class IcNatImportExcelData { private String natResultZh; @Data - public static class ErrorRow { + public static class RowRemarkMessage { @ExcelProperty("姓名") @ColumnWidth(20) diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java index 32bb100b3b..854507d471 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/excel/handler/IcNatExcelImportListener.java @@ -44,7 +44,11 @@ public class IcNatExcelImportListener implements ReadListener errorRows = new ArrayList<>(); + private List errorRows = new ArrayList<>(); + /** + * 其他被标记出来的列表列表 + */ + private List otherRows = new ArrayList<>(); private IcNatServiceImpl icNatService; @@ -91,7 +95,7 @@ public class IcNatExcelImportListener implements ReadListener getErrorRows() { + public List getErrorRows() { return errorRows; } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java index 51e22193de..1a0caf24e5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcNatServiceImpl.java @@ -322,7 +322,14 @@ public class IcNatServiceImpl extends BaseServiceImpl imp Path errorDescFile = null; String errorDesFileUrl = null; - List errorRows = listener.getErrorRows(); + + List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); + + boolean failed = errorRows.size() > 0; + + // 合并到一起写入 + errorRows.addAll(otherRows); // 生成并上传错误文件 try { @@ -335,7 +342,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp FileItem fileItem = factory.createItem("file", ContentType.APPLICATION_OCTET_STREAM.toString(), true, fileName); OutputStream os = fileItem.getOutputStream(); - EasyExcel.write(os, IcNatImportExcelData.ErrorRow.class).sheet("导入失败列表").doWrite(errorRows); + EasyExcel.write(os, IcNatImportExcelData.RowRemarkMessage.class).sheet("信息列表").doWrite(errorRows); // 文件上传oss Result errorDesFileUploadResult = ossFeignClient.uploadImportTaskDescFile(new CommonsMultipartFile(fileItem)); @@ -350,7 +357,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp ImportTaskCommonFormDTO importFinishTaskForm = new ImportTaskCommonFormDTO(); importFinishTaskForm.setTaskId(importTaskId); - importFinishTaskForm.setProcessStatus(errorRows.size() <= 0 ? ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS : ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL); + importFinishTaskForm.setProcessStatus(failed ? ImportTaskConstants.PROCESS_STATUS_FINISHED_FAIL : ImportTaskConstants.PROCESS_STATUS_FINISHED_SUCCESS); importFinishTaskForm.setOperatorId(userId); importFinishTaskForm.setResultDesc(""); importFinishTaskForm.setResultDescFilePath(errorDesFileUrl); @@ -439,11 +446,11 @@ public class IcNatServiceImpl extends BaseServiceImpl imp String errorMsg = ExceptionUtils.getErrorStackTrace(exception); log.error(errorMsg); - IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(e.getName()); errorRow.setMobile(e.getMobile()); errorRow.setIdCard(e.getIdCard()); - errorRow.setErrorInfo("未知系统错误c "); + errorRow.setErrorInfo("未知系统错误"); listener.getErrorRows().add(errorRow); } }); @@ -458,7 +465,7 @@ public class IcNatServiceImpl extends BaseServiceImpl imp */ @Transactional(rollbackFor = Exception.class) public void persisNat(IcNatEntity e, String customerId, String currentUserId, IcNatExcelImportListener listener) { - List errorRows = listener.getErrorRows(); + List otherRows = listener.getOtherRows(); Date natTime = e.getNatTime(); String idCard = e.getIdCard(); @@ -473,12 +480,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp // 有这个人,并且不是导入的 String message = "已存在该次核酸检测录入记录,请到系统中修改"; - IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); errorRow.setErrorInfo(message); - errorRows.add(errorRow); + otherRows.add(errorRow); return; } @@ -514,12 +521,12 @@ public class IcNatServiceImpl extends BaseServiceImpl imp if (changedFieldNames.size() > 0) { String fieldsStr = String.join(",", changedFieldNames); String message = "该次核酸检测记录已存在,执行更新动作," + fieldsStr + "已成功更新"; - IcNatImportExcelData.ErrorRow errorRow = new IcNatImportExcelData.ErrorRow(); + IcNatImportExcelData.RowRemarkMessage errorRow = new IcNatImportExcelData.RowRemarkMessage(); errorRow.setName(name); errorRow.setMobile(mobile); errorRow.setIdCard(idCard); errorRow.setErrorInfo(message); - errorRows.add(errorRow); + otherRows.add(errorRow); } if (needUpdate) {