package com.ots.project.tool.report.CAQ;
|
import com.ots.common.enums.LangTypeEnum;
|
import com.ots.common.enums.ReportTypeEnum;
|
import com.ots.common.utils.StringUtils;
|
import com.ots.project.exam.domain.TLibraryCode;
|
import com.ots.project.tool.report.CAQ.condition.WaterDropletContentPAbstract;
|
import com.ots.project.tool.report.CAQ.condition.WaterDropletContentPCombined;
|
import com.ots.project.tool.report.CAQ.condition.WaterDropletContentPNumeric;
|
import com.ots.project.tool.report.MAQ.base.BaseCondition;
|
import com.ots.project.tool.report.MAQ.condition.SimpleMessage;
|
import com.ots.project.tool.report.ReportResultData;
|
import lombok.Getter;
|
import lombok.Setter;
|
import java.util.*;
|
import java.util.stream.Collectors;
|
|
@Getter
|
@Setter
|
public class CAQReport {
|
|
private String fullName;
|
|
private String reportDate;
|
|
private String testToken;
|
|
public ReportResultData getTemplateParameters(Map<String, String> thaiCalculationMap, ReportTypeEnum type, LangTypeEnum langType) {
|
Map<String, Object> infoMap = new HashMap();
|
infoMap.put("fullName", fullName);
|
infoMap.put("reportDate", reportDate);
|
infoMap.put("testToken", testToken);
|
Map textMap = new HashMap();
|
Map waterDropsMap = new HashMap();
|
getParamList(type).stream().forEach(p -> {
|
TLibraryCode calculate = p.calculate(thaiCalculationMap, langType);
|
textMap.put(p.getName(), Objects.isNull(calculate) || StringUtils.isBlank(calculate.getLangTypeContext(langType)) ? "N/A NONE" : calculate.getLangTypeContext(langType));
|
if (Objects.nonNull(p.getMAQwaterDropsImages())) {
|
waterDropsMap.putAll(p.getMAQwaterDropsImages());
|
}
|
});
|
textMap.putAll(thaiCalculationMap);
|
ReportResultData reportResultData = new ReportResultData();
|
reportResultData.setTextMap(textMap);
|
reportResultData.setImageMap(waterDropsMap);
|
return reportResultData;
|
}
|
public List<BaseCondition> getParamList(ReportTypeEnum reportTypeEnum) {
|
return init(reportTypeEnum);
|
}
|
private List<BaseCondition> init(ReportTypeEnum reportTypeEnum) {
|
List<BaseCondition> paramList = new ArrayList<>();
|
|
paramList.addAll(getSimpleMessageCoreIds().stream().map(p -> {
|
SimpleMessage simpleMessage = new SimpleMessage(p);
|
return simpleMessage;
|
}).collect(Collectors.toList()));
|
paramList.add(new WaterDropletContentPCombined());
|
paramList.add(new WaterDropletContentPAbstract());
|
paramList.add(new WaterDropletContentPNumeric());
|
return paramList;
|
}
|
private List<String> getSimpleMessageCoreIds() {
|
return Arrays.asList("LIBCAQ0005", "LIBCAQ0006", "LIBCAQ0007", "LIBCAQ0008", "LIBCAQ0010", "LIBCAQ0020"
|
,"LIBCAQ0030","LIBCAQ0040","LIBCAQ0050","LIBCAQ0060","LIBCAQ0070","LIBCAQ0080"
|
,"LIBCAQ0090","LIBCAQ0095","LIBCAQ0100","LIBCAQ0100","LIBCAQ0110","LIBCAQ0150"
|
,"LIBCAQ0001","LIBCAQ0003","LIBCAQ0004","LIBCAQ0011","LIBCAQ0015"
|
);
|
}
|
}
|