package com.ots.project.tool.report.MAQNEW.condition; import com.ots.common.enums.LangTypeEnum; import com.ots.project.exam.domain.TLibraryCode; import com.ots.project.tool.CacheServiceFactory; import com.ots.project.tool.report.MAQ.base.MAQConditionVO; import com.ots.project.tool.report.MAQNEW.base.BaseCondition_V2; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import java.util.*; @Setter @Getter @Slf4j public class MAQCondition_V2 extends BaseCondition_V2 { private String name; private MAQConditionVO conditionVO; private Double conditionValue; public MAQCondition_V2(MAQConditionVO conditionVO) { this.name = conditionVO.getName(); this.conditionVO = conditionVO; } public static void main(String[] args) { String core = "LIBMAQ1011"; String[] split = core.split(","); System.out.println(split.length); } @Override public Map getMAQwaterDropsImages() { HashMap map = new HashMap<>(); map.put(name + IMAGE_PREFIX, Objects.isNull(conditionValue) ? "0" : String.valueOf(conditionValue)); return map; } @Override public TLibraryCode calculate(Map map, LangTypeEnum langType) { try { String conditionKey = conditionVO.getConditionKey(); String conValue = map.get(conditionKey); if (checkParamsIsNull(conValue)) { return null; } conditionValue = Double.valueOf(conValue); List conditionTarget = conditionVO.getConditionTarget(); Map calculateMap = new HashMap(); calculateMap.put(conditionValue <= 5, conditionTarget.get(0)); calculateMap.put(5 < conditionValue && conditionValue <= 30, conditionTarget.get(1)); calculateMap.put(30 < conditionValue && conditionValue < 50, conditionTarget.get(2)); calculateMap.put(50 <= conditionValue && conditionValue < 70, conditionTarget.get(3)); calculateMap.put(70 <= conditionValue && conditionValue < 95, conditionTarget.get(4)); calculateMap.put(conditionValue >= 95, conditionTarget.get(5)); String codeId = selectTrueObject(calculateMap); TLibraryCode library = getMaqReportLibrary(map, codeId, langType); return library; } catch (Exception ex) { log.error("MAQCondition error name={},conditionKey={},conditionTarget={} error:{}", name, conditionVO.getConditionKey(), conditionVO.getConditionTarget(), ex.getMessage(), ex); return null; } } @Override public List calculateList(Map map, LangTypeEnum langType) { try { String conditionKey = conditionVO.getConditionKey(); String conValue = map.get(conditionKey); if (checkParamsIsNull(conValue)) { return null; } conditionValue = Double.valueOf(conValue); List conditionTarget = conditionVO.getConditionTarget(); Map calculateMap = new HashMap(); calculateMap.put(conditionValue <= 5, conditionTarget.get(0)); calculateMap.put(5 < conditionValue && conditionValue <= 30, conditionTarget.get(1)); calculateMap.put(30 < conditionValue && conditionValue < 50, conditionTarget.get(2)); calculateMap.put(50 <= conditionValue && conditionValue < 70, conditionTarget.get(3)); calculateMap.put(70 <= conditionValue && conditionValue < 95, conditionTarget.get(4)); calculateMap.put(conditionValue >= 95, conditionTarget.get(5)); String codeId = selectTrueObject(calculateMap); String[] split = codeId.split(","); List libcodes = new ArrayList<>(); Arrays.stream(split).forEach(item -> { libcodes.add(getMaqReportLibrary(map, item, langType)); }); return libcodes; } catch (Exception ex) { log.error("MAQCondition error name={},conditionKey={},conditionTarget={} error:{}", name, conditionVO.getConditionKey(), conditionVO.getConditionTarget(), ex.getMessage(), ex); return null; } } }