提交人:陈绍鑫

日期:2025/9/28 12:00
内容:报表导出优化
This commit is contained in:
陈绍鑫 2025-09-28 12:18:15 +08:00
parent d68bebb440
commit 8ca6fac971
1 changed files with 50 additions and 39 deletions

View File

@ -14,6 +14,8 @@ import kd.bos.entity.datamodel.FmtField;
import kd.bos.entity.report.*;
import kd.bos.form.control.Toolbar;
import kd.bos.form.control.events.ItemClickEvent;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
import kd.bos.report.ReportList;
import kd.bos.report.plugin.AbstractReportFormPlugin;
import kd.bos.report.proxy.ReportListProxy;
@ -33,6 +35,8 @@ import java.util.stream.Collectors;
public class AccountbankReportFormPlugin extends AbstractReportFormPlugin {
private static final Log logger = LogFactory.getLog(AccountbankReportFormPlugin.class);
@Override
public void registerListener(EventObject e) {
super.registerListener(e);
@ -135,45 +139,52 @@ public class AccountbankReportFormPlugin extends AbstractReportFormPlugin {
}
String disString="";//展示的文本
//获取配置
Map<String, Object> stringObjectMap = type.get(key);
System.out.println(stringObjectMap);
String Stringtype = (String) stringObjectMap.get("type");
switch (Stringtype) {
case "DecimalReportColumn"://数值
int Scale= (int) stringObjectMap.get("value");
// 设置小数点后保留两位
BigDecimal roundedValue = ((BigDecimal)value).setScale(Scale, BigDecimal.ROUND_HALF_UP);
// 转换为字符串
disString= roundedValue.toString();
break;
case "ComboReportColumn"://下拉框
Map<String,String> Combomap= (Map<String, String>) stringObjectMap.get("value");
disString=Combomap.get(value);
break;
case "DateTimeReportColumn"://时间
// 获取当前日期
String Mask= (String) stringObjectMap.get("value");
if (Mask==null){
Mask="yyyy-MM-dd";
}
// 指定日期格式
SimpleDateFormat sdf = new SimpleDateFormat(Mask);
// 格式化日期
Timestamp timestamp = ((Timestamp) value);
// 使用getTime()方法将Timestamp转换为Date
disString = sdf.format(new Date(timestamp.getTime()));
break;
case "TextColumn"://文本
disString=value.toString();
break;
case "DynamicObjectColumn"://基础资料
String getDisplayProp= (String) stringObjectMap.get("value");
disString=((DynamicObject)value).getString(getDisplayProp);
break;
default:
disString="";
break;
try {
//获取配置
Map<String, Object> stringObjectMap = type.get(key);
System.out.println(stringObjectMap);
String Stringtype = (String) stringObjectMap.get("type");
switch (Stringtype) {
case "DecimalReportColumn"://数值
int Scale= (int) stringObjectMap.get("value");
// 设置小数点后保留两位
BigDecimal roundedValue = ((BigDecimal)value).setScale(Scale, BigDecimal.ROUND_HALF_UP);
// 转换为字符串
disString= roundedValue.toString();
break;
case "ComboReportColumn"://下拉框
Map<String,String> Combomap= (Map<String, String>) stringObjectMap.get("value");
disString=Combomap.get(value);
break;
case "DateTimeReportColumn"://时间
// 获取当前日期
String Mask= (String) stringObjectMap.get("value");
if (Mask==null){
Mask="yyyy-MM-dd";
}
// 指定日期格式
SimpleDateFormat sdf = new SimpleDateFormat(Mask);
// 格式化日期
Timestamp timestamp = ((Timestamp) value);
// 使用getTime()方法将Timestamp转换为Date
disString = sdf.format(new Date(timestamp.getTime()));
break;
case "TextColumn"://文本
disString=value.toString();
break;
case "DynamicObjectColumn"://基础资料
String getDisplayProp= (String) stringObjectMap.get("value");
disString=((DynamicObject)value).getString(getDisplayProp);
break;
default:
disString="";
break;
}
} catch (Exception e) {
logger.info("value:"+value);
logger.info("type:"+type);
logger.info("key:"+key);
logger.info("错误");
}
return disString;