[测评系统]--测评系统核心代码库
林致杰
2021-11-23 1a786a2b5552d2c5d59f321bd40eb9a18af97fc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
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<String, String> getMAQwaterDropsImages() {
        HashMap<String, String> map = new HashMap<>();
        map.put(name + IMAGE_PREFIX, Objects.isNull(conditionValue) ? "0" : String.valueOf(conditionValue));
        return map;
    }
    @Override
    public TLibraryCode calculate(Map<String, String> map, LangTypeEnum langType) {
        try {
            String conditionKey = conditionVO.getConditionKey();
            String conValue = map.get(conditionKey);
            if (checkParamsIsNull(conValue)) {
                return null;
            }
            conditionValue = Double.valueOf(conValue);
            List<String> 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<TLibraryCode> calculateList(Map<String, String> map, LangTypeEnum langType) {
        try {
            String conditionKey = conditionVO.getConditionKey();
            String conValue = map.get(conditionKey);
            if (checkParamsIsNull(conValue)) {
                return null;
            }
            conditionValue = Double.valueOf(conValue);
            List<String> 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<TLibraryCode> 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;
        }
    }
}