1821349743@qq.com
2023-04-08 0d63f52d84e393204af3ba5bce86bdfddf936be8
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package com.product.server.report.entity;
 
import com.product.common.lang.StringUtils;
 
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
 
/**
 * @Author cheng
 * @Date 2023/4/3 11:34
 * @Desc 报表单元格
 */
public class ReportColumn {
    //跨列
    private int colspan = 1;
    //跨行
    private int rowspan = 1;
    //单元格内容
    private String content;
    //穿透字段
    private boolean penetrate;
    //子报表
    private boolean subReport;
    //穿透属性
    private String penetrateProperty;
    //子报表属性
    private String subReportProperty;
    //单元格宽度 px
    private int columnWidth;
 
    private Map<String, String> otherParams = new HashMap<>();
 
    public void replace(String key, String value) {
        if (!otherParams.isEmpty()) {
            Map<String, String> otherParams = this.otherParams;
            this.otherParams = new HashMap<>();
            otherParams.forEach((k, v) -> {
                this.otherParams.put(k.replace(key, value), v.replace(key, value));
            });
        }
        if(!StringUtils.isEmpty(subReportProperty)){
            subReportProperty=subReportProperty.replace(key,value);
        }
        if(!StringUtils.isEmpty(penetrateProperty)){
            penetrateProperty=penetrateProperty.replace(key,value);
        }
        if(!StringUtils.isEmpty(content)){
            content=content.replace(key,value);
        }
    }
 
    public void addProperty(String key, String value) {
        otherParams.put(key, value);
    }
 
    public int getColspan() {
        return colspan;
    }
 
    public void setColspan(int colspan) {
        this.colspan = colspan;
    }
 
    public int getRowspan() {
        return rowspan;
    }
 
    public void setRowspan(int rowspan) {
        this.rowspan = rowspan;
    }
 
    public String getContent() {
        return content;
    }
 
    public void setContent(String content) {
        this.content = content;
    }
 
    public boolean isPenetrate() {
        return penetrate;
    }
 
    public void setPenetrate(boolean penetrate) {
        this.penetrate = penetrate;
    }
 
    public boolean isSubReport() {
        return subReport;
    }
 
    public void setSubReport(boolean subReport) {
        this.subReport = subReport;
    }
 
    public String getPenetrateProperty() {
        return penetrateProperty;
    }
 
    public void setPenetrateProperty(String penetrateProperty) {
        this.penetrateProperty = penetrateProperty;
    }
 
    public String getSubReportProperty() {
        return subReportProperty;
    }
 
    public void setSubReportProperty(String subReportProperty) {
        this.subReportProperty = subReportProperty;
    }
 
    public int getColumnWidth() {
        return columnWidth;
    }
 
    public void setColumnWidth(int columnWidth) {
        this.columnWidth = columnWidth;
    }
}