package com.ots.project.tool.report.SAQ.condition; import com.ots.common.enums.LangTypeEnum; import com.ots.project.exam.domain.TLibraryCode; import com.ots.project.tool.report.MAQ.base.BaseCondition; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; import java.util.Map; import java.util.Objects; @Getter @Setter @Slf4j public class ResponseFidelityDiagnosisSAQ extends BaseCondition { private String name = "ResponseFidelityDiagnosisSAQ"; private Double P_SDE23; private Double P_IM24; private Double P_INCON25; @Override public Map getMAQwaterDropsImages() { Map map = new HashMap(); map.put(name + IMAGE_PREFIX + "1", Objects.isNull(P_SDE23) ? "0" : String.valueOf(P_SDE23)); map.put(name + IMAGE_PREFIX + "2", Objects.isNull(P_IM24) ? "0" : String.valueOf(P_IM24)); map.put(name + IMAGE_PREFIX + "3", Objects.isNull(P_INCON25) ? "0" : String.valueOf(P_INCON25)); return map; } @Override public TLibraryCode calculate(Map 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 LIBSAQ8811 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 >= 95 || P_IM24 >= 95 || P_INCON25 >= 95); boolean LIBSAQ8821 = (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 LIBSAQ8831 = (P_SDE_T1 >= 95 || P_IM_T1 >= 95 || P_INCON_T1 >= 95) && (P_SDE23 <= 5 || P_IM24 <= 5) && (P_INCON25 < 95); boolean LIBSAQ8841 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 >= 95 || P_IM24 >= 95 || P_INCON25 >= 95); boolean LIBSAQ8851 = (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 LIBSAQ8861 = (P_SDE_T1 < 95 && P_IM_T1 < 95 && P_INCON_T1 < 95) && (P_SDE23 <= 5 || P_IM24 <= 5) && (P_INCON25 < 95); Map calculateMap = new HashMap(); calculateMap.put(LIBSAQ8811, "LIBSAQ8811"); calculateMap.put(LIBSAQ8821, "LIBSAQ8821"); calculateMap.put(LIBSAQ8831, "LIBSAQ8831"); calculateMap.put(LIBSAQ8841, "LIBSAQ8841"); calculateMap.put(LIBSAQ8851, "LIBSAQ8851"); calculateMap.put(LIBSAQ8861, "LIBSAQ8861"); String codeId = selectTrueObject(calculateMap); TLibraryCode maqReportLibrary = getMaqReportLibrary(map, codeId, langType); return maqReportLibrary; } catch (Exception ex) { log.error("ResponseFidelityDiagnosisSAQ error:{}", ex.getMessage(), ex); return null; } } }