yangys
2024-10-30 25db770e621f1259b8d5b7fd514207f7481c2d0f
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
package com.qianwen.smartman.common.enums;
 
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import com.qianwen.smartman.modules.cps.vo.WorkstationDataTypeExecParamVO;
import com.qianwen.smartman.modules.system.constant.FieldConstant;
import com.qianwen.smartman.modules.tdengine.mapper.WorkstationAggregateCountMapper;
import com.qianwen.smartman.modules.tdengine.mapper.WorkstationAggregatePulseMapper;
import com.qianwen.smartman.modules.tdengine.mapper.WorkstationDynamicCollectMapper;
 
public enum DynamicCalculationWcsDataType {
    COUNT(8, WorkstationAggregateCountMapper.class, null),
    PULSE(9, WorkstationAggregatePulseMapper.class, Arrays.asList(new WorkstationDataTypeExecParamVO("脉冲计数倍率", FieldConstant.OPTION_KEY, "number")));
    
    private final int code;
    private final Class<? extends WorkstationDynamicCollectMapper<?>> operationMapper;
    private List<WorkstationDataTypeExecParamVO> params;
 
    DynamicCalculationWcsDataType(int code, Class operationMapper, List params) {
        this.code = code;
        this.params = params;
        this.operationMapper = operationMapper;
    }
 
    public static DynamicCalculationWcsDataType of(int code) {
        return (DynamicCalculationWcsDataType) Arrays.stream(values()).filter(item -> {
            return item.getCode() == code;
        }).findFirst().orElse(null);
    }
 
    public static List<WorkstationDataTypeExecParamVO> getParamsByCode(int code) {
        return (List) Optional.ofNullable(of(code)).map((v0) -> {
            return v0.getParams();
        }).orElse(null);
    }
 
    public int getCode() {
        return this.code;
    }
 
    public List<WorkstationDataTypeExecParamVO> getParams() {
        return this.params;
    }
 
    public Class<? extends WorkstationDynamicCollectMapper<?>> getOperationMapper() {
        return this.operationMapper;
    }
}