| | |
| | | package com.ots.project.exam.service.impl; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import com.ots.common.enums.LangTypeEnum; |
| | | import com.ots.common.enums.ReportTypeEnum; |
| | | import com.ots.common.enums.TemplateTypeEnum; |
| | |
| | | import com.ots.project.tool.exam.JsonUtil; |
| | | import com.ots.project.tool.report.CAQ.CAQReport; |
| | | import com.ots.project.tool.report.MAQ.MAQReport; |
| | | import com.ots.project.tool.report.MAQNEW.MAQReport_V2; |
| | | import com.ots.project.tool.report.ReportResultData; |
| | | import com.ots.project.tool.report.RuilinMAQ.RuilinMAQReport; |
| | | import com.ots.project.tool.report.SAQ.SAQReport; |
| | |
| | | import java.util.stream.Collectors; |
| | | |
| | | @Service |
| | | @Slf4j |
| | | public class TExamReportServiceImpl implements ITExamReportService { |
| | | @Autowired |
| | | private TExamReportMapper tExamReportMapper; |
| | |
| | | @Override |
| | | public List<TExamReport> selectTExamReportList(TExamReport tExamReport) { |
| | | return tExamReportMapper.selectTExamReportList(tExamReport); |
| | | } |
| | | @Override |
| | | public List<TExamReport> selectTExamReportNoStatusList(TExamReport tExamReport) { |
| | | return tExamReportMapper.selectTExamReportNoStatusList(tExamReport); |
| | | } |
| | | @Override |
| | | public List<TExamReport> selectViewReportList(TExamReport tExamReport) { |
| | |
| | | resultData = getSAQReportData(langType, ReportTypeEnum.codeOf(reportType), entry, tExamReport); |
| | | } else if (Objects.equals(reportType, ReportTypeEnum.JAQ.getCode())) { |
| | | resultData = getJAQReportData(entry.getValue()); |
| | | } else if(Objects.equals(reportType, ReportTypeEnum.MAQV2.getCode())){ |
| | | resultData = getMAQ_V2ReportData(langType, ReportTypeEnum.codeOf(reportType), entry, tExamReport); |
| | | } else { |
| | | resultData = getMAQReportData(langType, ReportTypeEnum.codeOf(reportType), entry, tExamReport); |
| | | } |
| | |
| | | dataMap.put("password", tExamReport.getTokenId()); |
| | | dataMap.put("reportId", tExamReport.getId().toString()); |
| | | dataMap.put("userName", tExamReport.getUserName()); |
| | | dataMap.put("memberName", tExamReport.getMemberName()); |
| | | dataMap.put("reportTemplateId", tExamReport.getReportTemplateId()); |
| | | dataMap.put("Begin Time", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, tExamReport.getCreateTime())); |
| | | dataMap.put("End Time", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, tExamReport.getUpdateTime())); |
| | |
| | | dataMap.put("Test Package", ExamUtil.getLangString(tExamReport.getLangType(), tExamReport.getTestName())); |
| | | dataMap.put("Test", ExamUtil.getLangString(tExamReport.getLangType(), tExamReport.getProductName())); |
| | | EntTestMember entTestMember = entTestMemberService.selectEntTestMemberById(tExamReport.getMemberId().longValue()); |
| | | if (Objects.isNull(entTestMember)) { |
| | | return; |
| | | } |
| | | dataMap.put("reportGenerationDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, entTestMember.getEndTime())); |
| | | List<ReportAPIResult> interfaceContentList = JsonUtil.parseArray(tExamReport.getInterfaceContent(), ReportAPIResult.class); |
| | | |
| | |
| | | } |
| | | } |
| | | return ""; |
| | | } |
| | | public ReportResultData getMAQ_V2ReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { |
| | | MAQReport_V2 report = new MAQReport_V2(); |
| | | report.setQuestionnaireTaker(entry.getValue().get("memberName")); |
| | | report.setQuestionnaireID(entry.getValue().get("password")); |
| | | report.setReportGenerationDate(entry.getValue().get("reportGenerationDate")); |
| | | report.setQuestionnaireEmail(entry.getValue().get("testEmail")); |
| | | report.setUserName(entry.getValue().get("userName")); |
| | | report.setQuestionnaireStartTime(entry.getValue().get("beginTime")); |
| | | report.setQuestionnaireEndTime(entry.getValue().get("endTime")); |
| | | tExamReport.setId(Long.valueOf(entry.getValue().get("reportId"))); |
| | | ReportResultData resultData = report.getTemplateParameters(entry.getValue(), reportTypeEnum, LangTypeEnum.codeOf(langType)); |
| | | return resultData; |
| | | } |
| | | public ReportResultData getMAQReportData(String langType, ReportTypeEnum reportTypeEnum, Map.Entry<String, Map<String, String>> entry, TExamReport tExamReport) { |
| | | MAQReport report = new MAQReport(); |
| | |
| | | String[] waterDropPicture = key.split("_"); |
| | | |
| | | String waterDropName =StringUtils.isNotEmpty(ExamUtil.getWaterDropPictureMap(waterDropPicture[0])) ? ExamUtil.getWaterDropPictureMap(waterDropPicture[0]) : ExamUtil.getWaterDropPictureMap(key); |
| | | if(waterDropPicture[1].equals("V2")){ |
| | | waterDropName = ExamUtil.getWaterDropPictureMap("ResponseFidelityDiagnosis_V2"); |
| | | } |
| | | if (StringUtils.isEmpty(waterDropName)) { |
| | | return; |
| | | } |
| | |
| | | deleteStrList.add(EssConfig.getProfile() + "/" + key + "_" + id + "_" + floatValue.toString() + "_" + suffixDate + ".png"); |
| | | |
| | | if (StringUtils.equals(key.split("_")[0], "ResponseFidelityDiagnosis")) { |
| | | wordParam.setPicWidth(446); |
| | | wordParam.setPicHeight(33); |
| | | } else if (StringUtils.equals(key.split("_")[0], "RuilinTestResultValidityDiagnosisContext")) { |
| | | if(StringUtils.equals(key.split("_")[1], "V2")){ |
| | | wordParam.setPicWidth(210); |
| | | wordParam.setPicHeight(50); |
| | | }else{ |
| | | wordParam.setPicWidth(446); |
| | | wordParam.setPicHeight(33); |
| | | } |
| | | } else if (StringUtils.equals(key.split("_")[0], "ResponseFidelityDiagnosisV2")){ |
| | | wordParam.setPicWidth(210); |
| | | wordParam.setPicHeight(33); |
| | | }else if (StringUtils.equals(key.split("_")[0], "RuilinTestResultValidityDiagnosisContext")) { |
| | | wordParam.setPicWidth(450); |
| | | wordParam.setPicHeight(35); |
| | | wordParam.setX(-13.75); |
| | |
| | | fileNameResult.add(EssConfig.getProfile() + "/" + fileNameTemp); |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("发生异常:{}", e); |
| | | return false; |
| | | } |
| | | return true; |