소스 검색

诊断依据导入

zhoutg 4 년 전
부모
커밋
7c20c0db08
2개의 변경된 파일10개의 추가작업 그리고 7개의 파일을 삭제
  1. 9 6
      src/main/java/com/diagbot/facade/KlDiagnoseImportFacade.java
  2. 1 1
      src/main/java/com/diagbot/web/KlDiagnoseImportController.java

+ 9 - 6
src/main/java/com/diagbot/facade/KlDiagnoseImportFacade.java

@@ -21,6 +21,7 @@ import com.diagbot.vo.KlDiagnoseSaveVO;
 import com.diagbot.vo.KlDiagnoseTypeVO;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import org.apache.commons.collections4.map.LinkedMap;
 import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
@@ -28,7 +29,6 @@ import org.springframework.stereotype.Component;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
@@ -79,10 +79,11 @@ public class KlDiagnoseImportFacade {
 
         // 获取所有的sheet和序号的对应关系
         Map<String, Integer> sheetNumNameMap = dealExcel(file);
+        // 指定诊断列表
         List<String> diags = diagnoseImportVO.getDiags();
         if (ListUtil.isNotEmpty(diags)) {
             StringBuilder sb = new StringBuilder();
-            Map<String, Integer> inputNumNameMap = new HashMap<>();
+            Map<String, Integer> inputNumNameMap = new LinkedMap<>();
             for (String diag : diags) {
                 if (!sheetNumNameMap.containsKey(diag)) {
                     sb.append(String.format("输入的诊断: %s不在下面的sheet中;  ", "【" + diag + "】"));
@@ -137,19 +138,21 @@ public class KlDiagnoseImportFacade {
      * @return
      */
     private Map<String, Integer> dealExcel(MultipartFile file) {
-        Map<String, Integer> sheet_num_name = Maps.newLinkedHashMap();
+        Map<String, Integer> sheetNumName = Maps.newLinkedHashMap();
         Workbook workBook = null;
         try {
             workBook = ExcelUtils.getWorkBook(file);
             int numberOfSheets = workBook.getNumberOfSheets();
-            for (int i = 1; i < numberOfSheets; i++) {
+            for (int i = 0; i < numberOfSheets; i++) {
                 String sheetName = workBook.getSheetName(i);
-                sheet_num_name.put(sheetName, i);
+                if (!"目录".equals(sheetName)) {
+                    sheetNumName.put(sheetName, i);
+                }
             }
         } catch (IOException e) {
             e.printStackTrace();
         }
-        return sheet_num_name;
+        return sheetNumName;
     }
 
     /**

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

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