|
|
@@ -2,6 +2,7 @@ package com.lc.ibps.components.verification.model;
|
|
|
|
|
|
import com.lc.ibps.components.verification.funcs.xValue;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -10,27 +11,13 @@ public class ExcelSheetRecord {
|
|
|
|
|
|
private String sheetName;
|
|
|
private List<Map> data;
|
|
|
-
|
|
|
+ //标本名称:检测值
|
|
|
private Map<String, xValue[]> convertedData;
|
|
|
|
|
|
- public ExcelSheetRecord(String sheetName, List<Map> data) {
|
|
|
- this.sheetName = sheetName;
|
|
|
- this.data = data;
|
|
|
- }
|
|
|
+ private List<String> errors = new ArrayList<>();
|
|
|
|
|
|
- public String getSheetName() {
|
|
|
- return sheetName;
|
|
|
- }
|
|
|
-
|
|
|
- public void setSheetName(String sheetName) {
|
|
|
+ public ExcelSheetRecord(String sheetName, List<Map> data) {
|
|
|
this.sheetName = sheetName;
|
|
|
- }
|
|
|
-
|
|
|
- public List<Map> getData() {
|
|
|
- return data;
|
|
|
- }
|
|
|
-
|
|
|
- public void setData(List<Map> data) {
|
|
|
this.data = data;
|
|
|
}
|
|
|
|
|
|
@@ -38,23 +25,42 @@ public class ExcelSheetRecord {
|
|
|
return convertedData;
|
|
|
}
|
|
|
|
|
|
- public void setConvertedData(Map<String, xValue[]> convertedData) {
|
|
|
- this.convertedData = convertedData;
|
|
|
- }
|
|
|
-
|
|
|
- public void convert(InspectionConfigVO config) {
|
|
|
+ public void convert(InspectionConfigVO config, String configSheetName) {
|
|
|
convertedData = new HashMap<>();
|
|
|
+
|
|
|
+ if(!configSheetName.equals(sheetName)){
|
|
|
+ errors.add(ExcelParserErrorEnum.IncorrectSheetName.getText());
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (data.size() < config.getRepeatNum()) {
|
|
|
+ errors.add(ExcelParserErrorEnum.RowLess.getText());
|
|
|
+ return;
|
|
|
+ }
|
|
|
for (String sName : config.getSpecimensName()) {
|
|
|
convertedData.put(sName, new xValue[config.getRepeatNum()]);
|
|
|
}
|
|
|
- for (int i = 0; i < data.size(); i++) {
|
|
|
+ for (int i = 0; i < config.getRepeatNum(); i++) {
|
|
|
Map<String, Object> map = data.get(i);
|
|
|
for (String sName : config.getSpecimensName()) {
|
|
|
Object val = map.get(sName + "_" + InspectionItemVO.DISPLAY_VALUE);
|
|
|
-
|
|
|
- convertedData.get(sName)[i] = new xValue(val);
|
|
|
+ xValue value = new xValue(val);
|
|
|
+ if(value.isBlank()){
|
|
|
+ errors.add(String.format(ExcelParserErrorEnum.ValueBlank.getText(),sName,i+1));
|
|
|
+ }else if(!value.isDoub()){
|
|
|
+ errors.add(String.format(ExcelParserErrorEnum.ValueNotDouble.getText(),sName,i+1));
|
|
|
+ }else {
|
|
|
+ convertedData.get(sName)[i] = value;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public List<String> getErrors() {
|
|
|
+ return errors;
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getSheetName() {
|
|
|
+ return sheetName;
|
|
|
+ }
|
|
|
}
|
|
|
|