zhoutg 4 лет назад
Родитель
Сommit
be7da57b11

+ 17 - 5
src/main/java/com/diagbot/facade/KlDiagnoseImportFacade.java

@@ -33,6 +33,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.ListIterator;
@@ -56,18 +57,29 @@ public class KlDiagnoseImportFacade {
 
     public Map<String, Object> importDiagnose(MultipartFile file, DiagnoseImportVO diagnoseImportVO) {
         long t1 = System.currentTimeMillis();
-        Map<String, Object> errMessage = new LinkedHashMap<>(); // 错误提示语
+        Map<String, Object> message = new LinkedHashMap<>(); // 提示信息
         List<ImportDiagnoseResVO> allData = Lists.newArrayList();  // 最终需要保存的数据
+        if (StringUtil.isNotBlank(diagnoseImportVO.getDiagStr())) {
+            List<String> diagList = Arrays.stream(diagnoseImportVO.getDiagStr().split("#")).map(r -> r.trim()).collect(Collectors.toList());
+            diagnoseImportVO.setDiags(diagList);
+        }
         // 校验数据
-        Boolean allFlag = verifyData(file, diagnoseImportVO, errMessage, allData);
+        Boolean allFlag = verifyData(file, diagnoseImportVO, message, allData);
 
         // 保存数据
         if (allFlag) {
             saveData(allData);
+            message.put("导入条数", allData.size() + "条");
+            // 如果有指定诊断,提示导入的诊断;如果全部导入,提示“所有诊断”
+            if (ListUtil.isNotEmpty(diagnoseImportVO.getDiags())) {
+                message.put("导入诊断", allData.stream().map(r -> r.getDiseaseName()).collect(Collectors.joining("#")));
+            } else {
+                message.put("导入诊断", "所有诊断");
+            }
         }
         long t2 = System.currentTimeMillis();
-        System.out.println("总计:" + (t2 - t1) / 1000.0);
-        return errMessage;
+        message.put("总计耗时", (t2 - t1) / 1000.0);
+        return message;
     }
 
     /**
@@ -114,7 +126,7 @@ public class KlDiagnoseImportFacade {
                     continue;
                 }
             }
-            System.out.println(i++ + ": " + disName);
+            // System.out.println(i++ + ": " + disName);
             List<String> currentErrMsg = Lists.newArrayList();
 
             ImportDiagnoseResVO importDiagnoseResVO = new ImportDiagnoseResVO();

+ 0 - 1
src/main/java/com/diagbot/util/VerifyUtil.java

@@ -267,7 +267,6 @@ public class VerifyUtil {
 						"|/" ;
 
 		String[] arr = s.split(regex);
-		System.out.println(s);
 		return Arrays.asList(arr);
 	}
 

+ 5 - 0
src/main/java/com/diagbot/vo/DiagnoseImportVO.java

@@ -1,6 +1,7 @@
 package com.diagbot.vo;
 
 import com.google.common.collect.Lists;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
@@ -20,5 +21,9 @@ public class DiagnoseImportVO implements Serializable {
     private static final long serialVersionUID = 1L;
 
     // 诊断列表
+    @ApiModelProperty(hidden = true)
     private List<String> diags = Lists.newArrayList();
+
+    // 诊断名称,#分隔
+    private String diagStr = "";
 }

+ 1 - 1
src/main/java/com/diagbot/web/KlDiagnoseImportController.java

@@ -34,7 +34,7 @@ public class KlDiagnoseImportController {
     KlDiagnoseDetailFacade klDiagnoseDetailFacade;
 
     @ApiOperation(value = "诊断依据导入API[zhoutg]",
-            notes = "diags:指定诊断名称导入")
+            notes = "diagStr:指定诊断名称,用#分隔")
     @PostMapping("/importDiagnose")
     @Transactional
     public RespDTO<Map<String, Object>> importDiagnose(@RequestParam("file") MultipartFile file, DiagnoseImportVO diagnoseImportVO) {