理财报表优化
This commit is contained in:
parent
e6dae28bf9
commit
ca6f4ff736
|
|
@ -161,6 +161,8 @@ public class FinancialFormReport extends AbstractReportFormPlugin implements Plu
|
||||||
//ReportUtils.changeRowData(rowData,REPORT_FIELDS[0]);
|
//ReportUtils.changeRowData(rowData,REPORT_FIELDS[0]);
|
||||||
//过滤
|
//过滤
|
||||||
ReportUtils.removeRowData(rowData,REPORT_FIELDS[9],DYNAMICS_FIELDS[1]);
|
ReportUtils.removeRowData(rowData,REPORT_FIELDS[9],DYNAMICS_FIELDS[1]);
|
||||||
|
//排序
|
||||||
|
//ReportUtils.sortByDate(rowData,REPORT_FIELDS[9],false);
|
||||||
//添加合计
|
//添加合计
|
||||||
// 需要配置求和的字段映射(目标字段,来源字段)
|
// 需要配置求和的字段映射(目标字段,来源字段)
|
||||||
List<String[]> sumConfig = new ArrayList<>();
|
List<String[]> sumConfig = new ArrayList<>();
|
||||||
|
|
@ -176,6 +178,7 @@ public class FinancialFormReport extends AbstractReportFormPlugin implements Plu
|
||||||
ReportUtils.addTotalRowData(rowData,REPORT_FIELDS[0],"小计","合计",sumConfig);
|
ReportUtils.addTotalRowData(rowData,REPORT_FIELDS[0],"小计","合计",sumConfig);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -492,7 +495,7 @@ public class FinancialFormReport extends AbstractReportFormPlugin implements Plu
|
||||||
Object pkValue = shdh.getPkValue();
|
Object pkValue = shdh.getPkValue();
|
||||||
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pkValue, "cim_redeem");
|
DynamicObject dynamicObject = BusinessDataServiceHelper.loadSingle(pkValue, "cim_redeem");
|
||||||
BigDecimal amount = dynamicObject.getBigDecimal("amount"); // 赎回金额字段名
|
BigDecimal amount = dynamicObject.getBigDecimal("amount"); // 赎回金额字段名
|
||||||
BigDecimal realrevenue = dynamicObject.getBigDecimal("revenueamount"); // 实际收益字段名
|
BigDecimal realrevenue = dynamicObject.getBigDecimal("realrevenue"); // 实际收益字段名
|
||||||
if (amount != null) {
|
if (amount != null) {
|
||||||
sum = sum.add(amount).add(realrevenue);
|
sum = sum.add(amount).add(realrevenue);
|
||||||
}
|
}
|
||||||
|
|
@ -657,6 +660,7 @@ public class FinancialFormReport extends AbstractReportFormPlugin implements Plu
|
||||||
if (maxRedeemDate != null) {
|
if (maxRedeemDate != null) {
|
||||||
endDate = maxRedeemDate;
|
endDate = maxRedeemDate;
|
||||||
row.set(REPORT_FIELDS[9], endDate); // 设置到期日
|
row.set(REPORT_FIELDS[9], endDate); // 设置到期日
|
||||||
|
expireDate=endDate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,10 +7,7 @@ import kd.bos.entity.report.ReportColumn;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.math.RoundingMode;
|
import java.math.RoundingMode;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class ReportUtils {
|
public class ReportUtils {
|
||||||
|
|
||||||
|
|
@ -80,6 +77,46 @@ public class ReportUtils {
|
||||||
rowData.add(0,totalRow);
|
rowData.add(0,totalRow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据日期字段对行数据进行排序
|
||||||
|
* @param rowData 要排序的数据集合
|
||||||
|
* @param dateField 日期字段名
|
||||||
|
* @param descending 是否降序排序(true-降序,false-升序)
|
||||||
|
*/
|
||||||
|
public static void sortByDate(DynamicObjectCollection rowData, String dateField, boolean descending) {
|
||||||
|
if (rowData == null || dateField == null || rowData.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
List<DynamicObject> dataList = new ArrayList<>(rowData);
|
||||||
|
|
||||||
|
Collections.sort(dataList, new Comparator<DynamicObject>() {
|
||||||
|
@Override
|
||||||
|
public int compare(DynamicObject o1, DynamicObject o2) {
|
||||||
|
Date date1 = o1.getDate(dateField);
|
||||||
|
Date date2 = o2.getDate(dateField);
|
||||||
|
|
||||||
|
if (date1 == null && date2 == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (date1 == null) {
|
||||||
|
return descending ? 1 : -1;
|
||||||
|
}
|
||||||
|
if (date2 == null) {
|
||||||
|
return descending ? -1 : 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int comparison = date1.compareTo(date2);
|
||||||
|
return descending ? -comparison : comparison;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// 清空原集合并添加排序后的数据
|
||||||
|
rowData.clear();
|
||||||
|
rowData.addAll(dataList);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对小计行处理
|
* 对小计行处理
|
||||||
* @param rowData 数据集合
|
* @param rowData 数据集合
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue