P15GEN2\59518
2025-10-10 9f6890646993d16260d4201d613c092132856127
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
89
90
91
92
93
94
95
96
package foundation.data.entity;
 
import java.util.List;
 
public class SummaryFields {
    
    private String value;
    private SummaryType type;
    private String[] fieldNames;
    private String[] fields;
 
    public static SummaryFields getInstance(List<String> sumFields, SummaryType type) {
        SummaryFields summaryFields = new SummaryFields();
        
        String fieldName, valueField;
        int pos;
        String[] fieldNames;String[] fields;
        
        // default field
        String sumField = type.getSimple();
        pos = sumField.indexOf(" ");
        
        if(sumFields == null) {
            fieldNames = new String[] {sumField.substring(pos + 1)};
            fields = new String[] {sumField.substring(0, pos)};
            summaryFields.setFieldNames(fieldNames);
            summaryFields.setFields(fields);
            summaryFields.setValue(sumField);
            return summaryFields;
        }
        
        fieldNames = new String[sumFields.size() + 1];
        fields = new String[sumFields.size() + 1];
        fieldNames[0] = sumField.substring(pos + 1);
        fields[0] = sumField.substring(0, pos);
        
        int indexNo = 0;
        for (String field: sumFields) {
            pos = field.lastIndexOf(' ');
            
            if (pos > 0) {
                fieldName = field.substring(pos + 1);
                valueField = field.substring(0, pos);
            }
            else {
                fieldName = field;
                valueField = field;
            }
            
            indexNo = indexNo + 1;
            fieldNames[indexNo] = fieldName;
            fields[indexNo] = valueField;
            
            sumField = sumField + ", " + type.name() + "(" + valueField + ") " + fieldName + "_" + type.getAlias();
        }
        
        summaryFields.setValue(sumField);
        summaryFields.setFieldNames(fieldNames);
        summaryFields.setFields(fields);
        summaryFields.setType(type);
        
        return summaryFields;
    }
 
    private void setType(SummaryType type) {
        this.type = type;
    }
 
    private void setFieldNames(String[] fieldNames) {
        this.fieldNames = fieldNames;
    }
 
    public String[] getFieldNames() {
        return fieldNames;
    }
 
    private void setFields(String[] fields) {
        this.fields = fields;
    }
 
    public String getValue() {
        return value;
    }
 
    public String getTypeAlias() {
        return type.getAlias();
    }
 
    public void setValue(String value) {
        this.value = value;
    }
 
    public int getSize() {
        return fieldNames.length;
    }
}