package com.ots.project.tool.report.APIFan; 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.MAQNEW.base.BaseCondition_V2; import com.ots.project.tool.report.MAQNEW.condition.ScoreCharacteristics_V2; import com.ots.project.tool.report.MAQNEW.condition.SimpleMessage_V2; import com.ots.project.tool.report.ReportResultData; import lombok.Data; import lombok.extern.slf4j.Slf4j; import java.util.*; import java.util.stream.Collectors; @Data @Slf4j public class APIFanReport { private String questionnaireTaker; private String questionnaireID; private String reportGenerationDate; private String userName; private String questionnaireEmail; private String questionnaireStartTime; private String questionnaireEndTime; private ReportTypeEnum reportTypeEnum; private LangTypeEnum langType; private String applyToPosition; /** * 根据报告类型初始化数据 * @param reportTypeEnum * @return */ public List getParamList(ReportTypeEnum reportTypeEnum) { return init(reportTypeEnum); } /** * 根据报告类型初始化所有 * @param reportTypeEnum * @return */ private List init(ReportTypeEnum reportTypeEnum) { List paramList = new ArrayList<>(); //普通信息 paramList.addAll(getSimpleMessageCoreIds().stream().map(p -> { SimpleMessage_V2 simpleMessage = new SimpleMessage_V2(p); return simpleMessage; }).collect(Collectors.toList())); //表格计算数值 paramList.addAll(getScoreCharacteristicsList().stream().map(p -> { ScoreCharacteristics_V2 scoreCharacteristics = new ScoreCharacteristics_V2(p); return scoreCharacteristics; }).collect(Collectors.toList())); return paramList; } /** * 表格计算数值 * @return */ private List getScoreCharacteristicsList() { return Arrays.asList("P_Total", "P_Retent09", "P_Social01", "P_Cooper02", "P_Analth03", "P_Initia04", "P_Persis05", "P_Depend06", "P_Emotct07", "P_Stress08", "P_SdecepT1", "P_Sdecept10", "P_ImpmgT1", "P_Impmg11", "BST1", "BST2"); } /** * 普通文本替换library * @return */ private List getSimpleMessageCoreIds() { return new ArrayList<>(); } /** * 获取报告字典替换值 * @param thaiCalculationMap * @param type * @param langType * @return */ public ReportResultData getTemplateParameters(Map thaiCalculationMap, ReportTypeEnum type, LangTypeEnum langType) { this.reportTypeEnum = type; this.langType = langType; Map textMap = new HashMap(); //基本信息字段 textMap.put("questionnaireTaker", getQuestionnaireTaker()); textMap.put("questionnaireID", getQuestionnaireID()); textMap.put("reportGenerationDate", getReportGenerationDate()); textMap.put("userName", getUserName()); textMap.put("questionnaireEmail", getQuestionnaireEmail()); textMap.put("questionnaireStartTime", getQuestionnaireStartTime()); textMap.put("questionnaireEndTime", getQuestionnaireEndTime()); textMap.put("applyToPosition",getApplyToPosition()); textMap.putAll(thaiCalculationMap); ReportResultData reportResultData = new ReportResultData(); reportResultData.setTextMap(textMap); return reportResultData; } }