From 84d2cebc581878fb336e8c70861d680147ec2e89 Mon Sep 17 00:00:00 2001 From: linzhijie <1003392067@qq.com> Date: 星期四, 13 四月 2023 17:39:02 +0800 Subject: [PATCH] 新增CIAQ模板 --- src/main/java/com/ots/project/tool/report/CIAQ/CIAQReport.java | 132 ++++++++++++++++++++++++++++++++++++++++++++ src/main/java/com/ots/project/tool/report/reportCalculation/request/CIAQRequest.java | 31 ++++++++++ src/main/java/com/ots/project/tool/report/reportCalculation/request/CalculationTypeEnum.java | 2 src/main/java/com/ots/common/enums/ReportTypeEnum.java | 3 4 files changed, 166 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/ots/common/enums/ReportTypeEnum.java b/src/main/java/com/ots/common/enums/ReportTypeEnum.java index ca765fd..752a349 100644 --- a/src/main/java/com/ots/common/enums/ReportTypeEnum.java +++ b/src/main/java/com/ots/common/enums/ReportTypeEnum.java @@ -4,7 +4,8 @@ @Getter public enum ReportTypeEnum { Brief("Brief", "绠�鏄撶増"), Complete("Complete", "瀹屾暣鐗�"), SAQ("SAQ", "SAQ鎶ュ憡"), RuiLin("RuiLin", "鐫块偦鎶ュ憡"), CAQ("CAQ", "CAQ鎶ュ憡"), - JAQ("JAQ","JAQ鎶ュ憡"),MAQ("MAQ", "MAQ鎶ュ憡"),MAQV2("MAQV2", "MAQV2鎶ュ憡"),PAQ("PAQ", "PAQ鎶ュ憡"),MAQIAR("MAQIAR", "MAQIAR鎶ュ憡"),MAQTR("MAQTR", "MAQTR鎶ュ憡"); + JAQ("JAQ","JAQ鎶ュ憡"),MAQ("MAQ", "MAQ鎶ュ憡"),MAQV2("MAQV2", "MAQV2鎶ュ憡"),PAQ("PAQ", "PAQ鎶ュ憡"),MAQIAR("MAQIAR", "MAQIAR鎶ュ憡"), + MAQTR("MAQTR", "MAQTR鎶ュ憡"),CIAQ("CIAQ", "CIAQ鎶ュ憡"); private final String code; private final String message; ReportTypeEnum(String code, String message) { diff --git a/src/main/java/com/ots/project/tool/report/CIAQ/CIAQReport.java b/src/main/java/com/ots/project/tool/report/CIAQ/CIAQReport.java new file mode 100644 index 0000000..b32f3cf --- /dev/null +++ b/src/main/java/com/ots/project/tool/report/CIAQ/CIAQReport.java @@ -0,0 +1,132 @@ +package com.ots.project.tool.report.CIAQ; + +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.ResponseFidelityDiagnosisTitle_V2; +import com.ots.project.tool.report.MAQNEW.condition.ResponseFidelityDiagnosis_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.PAQ.condition.Diagnosis; +import com.ots.project.tool.report.PAQ.condition.DiagnosisTitle; +import com.ots.project.tool.report.ReportResultData; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; + +import java.text.DecimalFormat; +import java.util.*; +import java.util.stream.Collectors; + +@Data +@Slf4j +public class CIAQReport { + 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; + + /** + * 鏍规嵁鎶ュ憡绫诲瀷鍒濆鍖栨暟鎹� + * @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("PR_Dim01", "PR_Dim02", "PR_Dim03", "PR_Dim04", "PR_Dim05", "PR_Dim06", "PR_Dim07", "PR_Dim08"); + } + + /** + * 鏅�氭枃鏈浛鎹ibrary + * @return + */ + private List<String> getSimpleMessageCoreIds() { + return Arrays.asList( + "occ1H", "occ2H", "occ3H", "occ4H", "occ5H", "occ6H", "occ7H", "occ8H", "occ9H", "occ10H", + "occ1L", "occ2L", "occ3L", "occ4L", "occ5L", "occ6L", "occ7L", "occ8L", "occ9L", "occ10L", + "Condition"); + } + + /** + * 鑾峰彇鎶ュ憡瀛楀吀鏇挎崲鍊� + * @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(); + //Map waterDropsMap = 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()); + //鏍规嵁鎶ュ憡绫诲瀷鑾峰彇鎶ュ憡瀛楀吀 + getParamList(type).stream().forEach(p -> { + //鑾峰彇瀵瑰簲璇█鎶ュ憡瀛楀吀 + TLibraryCode calculate = p.calculate(thaiCalculationMap, langType); + List<TLibraryCode> tLibraryCodes = p.calculateList(thaiCalculationMap, langType); + if(tLibraryCodes != null && tLibraryCodes.size() > 0){ + //琛ㄦ牸澶氫綅 璁$畻鍒嗘暟鍊艰祴鍊� 渚嬪 + // 琛ㄦ牸鐨勶細%ResponseFidelityDiagnosis_V2_0% + // 琛ㄦ牸鐨勶細%ResponseFidelityDiagnosis_V2_1% + // 琛ㄦ牸鐨勶細%ResponseFidelityDiagnosis_V2_2% + for (int i = 0; i < tLibraryCodes.size(); i++) { + TLibraryCode tLibraryCode = tLibraryCodes.get(i); + textMap.put(p.getName() + "_" + i, Objects.isNull(tLibraryCode) || StringUtils.isBlank(tLibraryCode.getLangTypeContext(langType)) ? "N/A NONE" : tLibraryCode.getLangTypeContext(langType)); + } + }else{ + //鏅�氭姤鍛婂瓧鍏歌祴鍊� + textMap.put(p.getName(), Objects.isNull(calculate) || StringUtils.isBlank(calculate.getLangTypeContext(langType)) ? "N/A NONE" : calculate.getLangTypeContext(langType)); + } + }); + textMap.putAll(thaiCalculationMap); + ReportResultData reportResultData = new ReportResultData(); + reportResultData.setTextMap(textMap); + return reportResultData; + } +} diff --git a/src/main/java/com/ots/project/tool/report/reportCalculation/request/CIAQRequest.java b/src/main/java/com/ots/project/tool/report/reportCalculation/request/CIAQRequest.java new file mode 100644 index 0000000..326115d --- /dev/null +++ b/src/main/java/com/ots/project/tool/report/reportCalculation/request/CIAQRequest.java @@ -0,0 +1,31 @@ +package com.ots.project.tool.report.reportCalculation.request; + +import lombok.Data; +import lombok.Getter; +import lombok.Setter; + +import java.util.Map; + +/* + * @Author linzhijie + * @Description CIAQ鑱屼笟鍏磋叮绠楁硶鎺ュ彛璇锋眰 + * @Date 2023/4/13 17:34 + * @Param + * @return + */ +@Data +public class CIAQRequest { + + // 鐢ㄦ埛鍚� + private String username; + + // 娴嬭瘯瀵嗙爜 + private String accesscode; + + // CIAQ棰樼洰姘镐箙ID鍙� + private String cid; + + // 绛旈淇℃伅 + private String answer; + +} diff --git a/src/main/java/com/ots/project/tool/report/reportCalculation/request/CalculationTypeEnum.java b/src/main/java/com/ots/project/tool/report/reportCalculation/request/CalculationTypeEnum.java index 7a65b89..2d7a18c 100644 --- a/src/main/java/com/ots/project/tool/report/reportCalculation/request/CalculationTypeEnum.java +++ b/src/main/java/com/ots/project/tool/report/reportCalculation/request/CalculationTypeEnum.java @@ -1,5 +1,5 @@ package com.ots.project.tool.report.reportCalculation.request; public enum CalculationTypeEnum { - MAQ, SAQ, RUILIN, CAQ, JAQ,PAQ + MAQ, SAQ, RUILIN, CAQ, JAQ,PAQ,CIAQ } -- Gitblit v1.9.1