[测评系统]--测评系统核心代码库
linzhijie
2021-08-02 565244093e398d5ee6276978b0b60d8f1c13ccb5
PAQ有效性诊断
2个文件已添加
2个文件已修改
197 ■■■■■ 已修改文件
src/main/java/com/ots/common/utils/poi/WordUtil.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/tool/report/PAQ/PAQReport.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/tool/report/PAQ/condition/Diagnosis.java 94 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/project/tool/report/PAQ/condition/DiagnosisTitle.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -427,8 +427,10 @@
            }
        }
    }
    //校验文本是否需要替换
    public static boolean checkText(String text) {
        //替换文本包含%
        if (text.indexOf("%") != -1 || StringUtils.equals(text, "N/A NONE")) {
            return true;
        }
@@ -1297,4 +1299,11 @@
        }
        return result.size();
    }
    public static void main(String[] args) {
        if (!checkText("人才选拔的目的就是找到能够胜任工作、愿意承担工作,且与组织的需求、文化、价值观相匹配的人。PAQ报告是根据候选人对PAQ问卷中题目的作答信息而生成的,测量的是候选人在工作中偏好的行为风格。PAQ也包括了对作答真实性的测量,同时也装入了TAI专有的作假防范程序,可以有效降低候选人的伪装好倾向(全球30%的自评问卷中都出现了伪装好现象)。")) {
            System.out.println("11");
        }
    }
}
src/main/java/com/ots/project/tool/report/PAQ/PAQReport.java
@@ -8,6 +8,8 @@
import com.ots.project.tool.report.MAQNEW.base.MAQConditionVO_V2;
import com.ots.project.tool.report.MAQNEW.base.MAQSummaryCondition_V2;
import com.ots.project.tool.report.MAQNEW.condition.*;
import com.ots.project.tool.report.PAQ.condition.Diagnosis;
import com.ots.project.tool.report.PAQ.condition.DiagnosisTitle;
import com.ots.project.tool.report.ReportResultData;
import lombok.Data;
import lombok.Getter;
@@ -64,6 +66,10 @@
            return scoreCharacteristics;
        }).collect(Collectors.toList()));
        //有效性结果诊断
        paramList.add(new DiagnosisTitle());
        paramList.add(new Diagnosis());
        return paramList;
    }
src/main/java/com/ots/project/tool/report/PAQ/condition/Diagnosis.java
New file
@@ -0,0 +1,94 @@
package com.ots.project.tool.report.PAQ.condition;
import com.ots.common.enums.LangTypeEnum;
import com.ots.project.exam.domain.TLibraryCode;
import com.ots.project.tool.report.MAQNEW.base.BaseCondition_V2;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import java.util.*;
/**
 * 测试结果有效性诊断
 */
@Data
@Slf4j
public class Diagnosis extends BaseCondition_V2 {
    private String name = "Diagnosis";
    private Double P_SDE23;
    private Double P_IM24;
    private Double P_INCON25;
    @Override
    public TLibraryCode calculate(Map<String, String> map, LangTypeEnum langType) {
        return null;
    }
    @Override
    public Map<String, String> getMAQwaterDropsImages() {
        return null;
    }
    @Override
    public List<TLibraryCode> calculateList(Map<String, String> map, LangTypeEnum langType) {
        try {
            String p_sde_t1 = map.get("P_SDE_T1");
            String p_im_t1 = map.get("P_IM_T1");
            String p_incon_t1 = map.get("P_INCON_T1");
            String p_sde23 = map.get("P_SDE23");
            String p_im24 = map.get("P_IM24");
            String p_incon25 = map.get("P_INCON25");
            if (checkParamsIsNull(p_sde_t1, p_im_t1, p_incon_t1, p_sde23, p_im24, p_incon25)) {
                return null;
            }
            Double P_SDE_T1 = Double.valueOf(p_sde_t1);
            Double P_IM_T1 = Double.valueOf(p_im_t1);
            Double P_INCON_T1 = Double.valueOf(p_incon_t1);
            P_SDE23 = Double.valueOf(p_sde23);
            P_IM24 = Double.valueOf(p_im24);
            P_INCON25 = Double.valueOf(p_incon25);
            //分数区间计算代码
            boolean LIBPAQGS8801_3 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 >= 95 || P_IM24 >= 95 || P_INCON25 >= 95);
            boolean LIBPAQGS8802_3 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && ((5 < P_SDE23 && P_SDE23 < 95) && (5 < P_IM24 && P_IM24 < 95) && P_INCON25 < 95);
            boolean LIBPAQGS8803_3 = false;
            boolean LIBPAQGS8803_3_1 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 <= 5 && 5 < P_IM24 && P_IM24 < 95) && (P_INCON25 < 95);
            boolean LIBPAQGS8803_3_2 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (5 < P_SDE23 && P_SDE23 < 95 && P_IM24 <= 5) && (P_INCON25 < 95);
            boolean LIBPAQGS8803_3_3 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 <= 5 && P_IM24 <= 5) && (P_INCON25 < 95);
            //三个条件 其中一个符合就返回true
            if(LIBPAQGS8803_3_1 || LIBPAQGS8803_3_2 || LIBPAQGS8803_3_3){
                LIBPAQGS8803_3 = true;
            }
            boolean LIBPAQGS8804_3 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 >= 95 || P_IM24 >= 95 || P_INCON25 >= 95);
            boolean LIBPAQGS8805_3 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && ((5 < P_SDE23 && P_SDE23 < 95) && (5 < P_IM24 && P_IM24 < 95) && P_INCON25 < 95);
            boolean LIBPAQGS8806_3 = false;
            boolean LIBPAQGS8806_3_1 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 <= 5 && 5 < P_IM24 && P_IM24 < 95) && (P_INCON25 < 95);
            boolean LIBPAQGS8806_3_2 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (5 < P_SDE23 && P_SDE23 < 95 && P_IM24 <= 5) && (P_INCON25 < 95);
            boolean LIBPAQGS8806_3_3 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 <= 5 && P_IM24 <= 5) && (P_INCON25 < 95);
            //三个条件 其中一个符合就返回true
            if(LIBPAQGS8806_3_1 || LIBPAQGS8806_3_2 || LIBPAQGS8806_3_3){
                LIBPAQGS8806_3 = true;
            }
            Map calculateMap = new HashMap();
            calculateMap.put(LIBPAQGS8801_3, "LIBPAQGS88011,LIBPAQGS88012,LIBPAQGS88013");
            calculateMap.put(LIBPAQGS8802_3, "LIBPAQGS88021,LIBPAQGS88022,LIBPAQGS88023");
            calculateMap.put(LIBPAQGS8803_3, "LIBPAQGS88031,LIBPAQGS88032,LIBPAQGS88033");
            calculateMap.put(LIBPAQGS8804_3, "LIBPAQGS88041,LIBPAQGS88042,LIBPAQGS88043");
            calculateMap.put(LIBPAQGS8805_3, "LIBPAQGS88051,LIBPAQGS88052,LIBPAQGS88053");
            calculateMap.put(LIBPAQGS8806_3, "LIBPAQGS88061,LIBPAQGS88062,LIBPAQGS88063");
            String codeId = selectTrueObject(calculateMap);
            String[] split = codeId.split(",");
            List<TLibraryCode> libcodes = new ArrayList<>();
            Arrays.stream(split).forEach(item -> {
                libcodes.add(getMaqReportLibrary(map, item, langType));
            });
            return libcodes;
        } catch (Exception ex) {
            log.error("Diagnosis error:{}", ex.getMessage(), ex);
            return null;
        }
    }
}
src/main/java/com/ots/project/tool/report/PAQ/condition/DiagnosisTitle.java
New file
@@ -0,0 +1,86 @@
package com.ots.project.tool.report.PAQ.condition;
import com.ots.common.enums.LangTypeEnum;
import com.ots.project.exam.domain.TLibraryCode;
import com.ots.project.tool.report.MAQNEW.base.BaseCondition_V2;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
/**
 * 测试结果有效性诊断标题
 */
@Data
@Slf4j
public class DiagnosisTitle extends BaseCondition_V2 {
    private String name = "DiagnosisTitle";
    private Double P_SDE_T1;
    private Double P_IM_T1;
    private Double P_INCON_T1;
    @Override
    public TLibraryCode calculate(Map<String, String> map, LangTypeEnum langType) {
        try {
            String p_sde_t1 = map.get("P_SDE_T1");
            String p_im_t1 = map.get("P_IM_T1");
            String p_incon_t1 = map.get("P_INCON_T1");
            String p_sde23 = map.get("P_SDE23");
            String p_im24 = map.get("P_IM24");
            String p_incon25 = map.get("P_INCON25");
            if (checkParamsIsNull(p_sde_t1, p_im_t1, p_incon_t1, p_sde23, p_im24, p_incon25)) {
                return null;
            }
            P_SDE_T1 = Double.valueOf(p_sde_t1);
            P_IM_T1 = Double.valueOf(p_im_t1);
            P_INCON_T1 = Double.valueOf(p_incon_t1);
            Double P_SDE23 = Double.valueOf(p_sde23);
            Double P_IM24 = Double.valueOf(p_im24);
            Double P_INCON25 = Double.valueOf(p_incon25);
            //分数区间计算代码
            boolean LIBPAQGS8801 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 >= 95 || P_IM24 >= 95 || P_INCON25 >= 95);
            boolean LIBPAQGS8802 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && ((5 < P_SDE23 && P_SDE23 < 95) && (5 < P_IM24 && P_IM24 < 95) && P_INCON25 < 95);
            boolean LIBPAQGS8803 = false;
            boolean LIBPAQGS8803_1 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 <= 5 && 5 < P_IM24 && P_IM24 < 95) && (P_INCON25 < 95);
            boolean LIBPAQGS8803_2 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (5 < P_SDE23 && P_SDE23 < 95 && P_IM24 <= 5) && (P_INCON25 < 95);
            boolean LIBPAQGS8803_3 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 <= 5 && P_IM24 <= 5) && (P_INCON25 < 95);
            //三个条件 其中一个符合就返回true
            if(LIBPAQGS8803_1 || LIBPAQGS8803_2 || LIBPAQGS8803_3){
                LIBPAQGS8803 = true;
            }
            boolean LIBPAQGS8804 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 >= 95 || P_IM24 >= 95 || P_INCON25 >= 95);
            boolean LIBPAQGS8805 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && ((5 < P_SDE23 && P_SDE23 < 95) && (5 < P_IM24 && P_IM24 < 95) && P_INCON25 < 95);
            boolean LIBPAQGS8806 = false;
            boolean LIBPAQGS8806_1 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 <= 5 && 5 < P_IM24 && P_IM24 < 95) && (P_INCON25 < 95);
            boolean LIBPAQGS8806_2 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (5 < P_SDE23 && P_SDE23 < 95 && P_IM24 <= 5) && (P_INCON25 < 95);
            boolean LIBPAQGS8806_3 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 <= 5 && P_IM24 <= 5) && (P_INCON25 < 95);
            //三个条件 其中一个符合就返回true
            if(LIBPAQGS8806_1 || LIBPAQGS8806_2 || LIBPAQGS8806_3){
                LIBPAQGS8806 = true;
            }
            //设置命中的有效性结果
            Map calculateMap = new HashMap();
            calculateMap.put(LIBPAQGS8801, "LIBPAQGS8801");
            calculateMap.put(LIBPAQGS8802, "LIBPAQGS8802");
            calculateMap.put(LIBPAQGS8803, "LIBPAQGS8803");
            calculateMap.put(LIBPAQGS8804, "LIBPAQGS8804");
            calculateMap.put(LIBPAQGS8805, "LIBPAQGS8805");
            calculateMap.put(LIBPAQGS8806, "LIBPAQGS8806");
            String codeId = selectTrueObject(calculateMap);
            TLibraryCode maqReportLibrary = getMaqReportLibrary(map, codeId, langType);
            return maqReportLibrary;
        } catch (Exception ex) {
            log.error("DiagnosisTitle error:{}", ex.getMessage(), ex);
            return null;
        }
    }
    @Override
    public Map<String, String> getMAQwaterDropsImages() {
        return null;
    }
}