|
@@ -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;
|
|
|
}
|
|
|
|
|
|
/**
|