计提过滤

This commit is contained in:
李贵强 2025-05-21 19:21:35 +08:00
parent c28826884c
commit 56880b2a4d
2 changed files with 12 additions and 27 deletions

View File

@ -123,33 +123,6 @@ public class RegularFormReport extends AbstractReportFormPlugin implements Plugi
} }
} }
// else {
// //TODO:计提日期年份大于截至日期;计提日期小于启始日期 ---跳过
// // 计提日期不在有效区间内的情况处理
// Calendar filterCal = Calendar.getInstance();
// filterCal.setTime(filterDate);
//
// Calendar startCal = Calendar.getInstance();
// startCal.setTime(depositStartDate);
//
// Calendar endCal = Calendar.getInstance();
// endCal.setTime(depositEndDate);
//
// // 检查是否不在同一年
// boolean notSameYearBefore = filterCal.get(Calendar.YEAR) != startCal.get(Calendar.YEAR);
// boolean notSameYearAfter = filterCal.get(Calendar.YEAR) != endCal.get(Calendar.YEAR);
//
// if (filterDate.before(depositStartDate) && notSameYearBefore) {
// // 计提日期小于起始日期且不在同一年 ---跳过
// iterator.remove();
// continue;
// }
// if (filterDate.after(depositEndDate) && notSameYearAfter) {
// // 计提日期大于截至日期且不在同一年 ---跳过
// iterator.remove();
// continue;
// }
// }
} }
if (companyName.contains("小计")){ if (companyName.contains("小计")){
row.set(FIELDS[11], ""); // 计提天数 row.set(FIELDS[11], ""); // 计提天数

View File

@ -14,6 +14,7 @@ import kd.sdk.plugin.Plugin;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
@ -74,6 +75,17 @@ public class RegularListReport extends AbstractReportListDataPlugin implements P
} }
//定期存款处理 //定期存款处理
DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "cim_deposit", selectFields.toString(), qFilters.toArray(new QFilter[]{}), null); DataSet dataSet = QueryServiceHelper.queryDataSet(this.getClass().getName(), "cim_deposit", selectFields.toString(), qFilters.toArray(new QFilter[]{}), null);
//过滤----起始日<=计提日<=截至日到截止日年底
//起始日shjh_depositstartdate
//截止日shjh_depositstopdate
// 转换为字符串格式用于filter表达式如果需要
// 获取计提日假设已从queryParam中获取
Date filterDate = param.getFilter().getDate("shjh_filterdate");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String filterDateStr = sdf.format(filterDate);
dataSet=dataSet.filter("shjh_depositstartdate <= to_date('" + filterDateStr + "','yyyy-MM-dd') " +
"and to_date('" + filterDateStr + "','yyyy-MM-dd') <= " +
"to_date(concat(year(shjh_depositstopdate),'-12-31'),'yyyy-MM-dd')");
//分组小计 //分组小计
DataSet groupDataSet = dataSet.groupBy(new String[]{FIELDS[0]}).sum(FIELDS[10]).finish(); DataSet groupDataSet = dataSet.groupBy(new String[]{FIELDS[0]}).sum(FIELDS[10]).finish();
// 由于分组计算之后Dataset的字段少了一个需要通过addField加回来为之后union做准备 // 由于分组计算之后Dataset的字段少了一个需要通过addField加回来为之后union做准备