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 otherParams = new HashMap<>(); public void replace(String key, String value) { if (!otherParams.isEmpty()) { Map 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; } }