[测评系统]--测评系统核心代码库
wzp
2024-02-01 bf90c55358e0bbbbf5091133e45f887fd7f1734c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
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<BaseCondition_V2> getParamList(ReportTypeEnum reportTypeEnum) {
        return init(reportTypeEnum);
    }
    /**
     * 根据报告类型初始化所有
     * @param reportTypeEnum
     * @return
     */
    private List<BaseCondition_V2> init(ReportTypeEnum reportTypeEnum) {
        List<BaseCondition_V2> 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<String> 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<String> getSimpleMessageCoreIds() {
        return new ArrayList<>();
    }
 
    /**
     * 获取报告字典替换值
     * @param thaiCalculationMap
     * @param type
     * @param langType
     * @return
     */
    public ReportResultData getTemplateParameters(Map<String, String> 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;
    }
 
}