提交人:陈绍鑫

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