parent
7152952fa6
commit
6404c02c54
|
|
@ -64,27 +64,41 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin {
|
|||
public DataSet query(ReportQueryParam reportQueryParam, Object o) throws Throwable {
|
||||
List<QFilter> listQFilter = ReportUtils.getListQFilter(reportQueryParam);
|
||||
Date date = new Date();
|
||||
|
||||
DynamicObject shkd_qj=null;
|
||||
DynamicObject shkd_km=null;
|
||||
for (QFilter filter : listQFilter) {
|
||||
if (filter.getProperty().contains("shkd_date")) {
|
||||
date= (Date) filter.getValue();
|
||||
} else if (filter.getProperty().contains("shkd_qj")) {
|
||||
shkd_qj= (DynamicObject) filter.getValue();
|
||||
}else if (filter.getProperty().contains("shkd_km")) {
|
||||
shkd_km= (DynamicObject) filter.getValue();
|
||||
}
|
||||
}
|
||||
|
||||
if (shkd_qj!=null){
|
||||
DynamicObject Period = BusinessDataServiceHelper.loadSingle(shkd_qj.getPkValue(), "fpm_member");
|
||||
date=Period.getDate("startdate");
|
||||
}
|
||||
//获取当月日期范围
|
||||
Map<String, Date> dangyue = getMonthStartAndEnd(date);
|
||||
Date date1 = getnextMonth(date);
|
||||
//获取上月日期范围
|
||||
//获取下月日期范围
|
||||
Map<String, Date> xiayueyue = getMonthStartAndEnd(date1);
|
||||
//获取计划编制里的融资计划
|
||||
QFilter qFilter = new QFilter("name", QCP.equals, "融资计划");
|
||||
qFilter=qFilter.and(new QFilter("reportperiod",QCP.equals,shkd_qj.getLong("id")));
|
||||
DynamicObject fpm_report = BusinessDataServiceHelper.loadSingle("fpm_report", qFilter.toArray());
|
||||
if (fpm_report==null){
|
||||
return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"),"select NULL AS res ");//财务云;
|
||||
}
|
||||
long id = fpm_report.getLong("id");
|
||||
|
||||
StringBuilder dangyuesqlBuilder=getsql(id,zdm,dangyue);
|
||||
StringBuilder dangyuesqlBuilder=getsql(id,zdm,dangyue,shkd_km);
|
||||
DataSet dangyueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), dangyuesqlBuilder.toString());//财务云
|
||||
dangyueres= dangyueres.select(DANGYUE_SELECT);
|
||||
|
||||
StringBuilder xiayueyuesqlBuilder=getsql(id,zdm,xiayueyue);
|
||||
StringBuilder xiayueyuesqlBuilder=getsql(id,zdm,xiayueyue,shkd_km);
|
||||
DataSet xiayueyueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), xiayueyuesqlBuilder.toString());//财务云
|
||||
xiayueyueres= xiayueyueres.select(XIAYUE_SELECT);
|
||||
|
||||
|
|
@ -113,7 +127,8 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin {
|
|||
return finish;
|
||||
}
|
||||
|
||||
private StringBuilder getsql(long id, Map<String, String> zdm, Map<String, Date> dateMap) {
|
||||
|
||||
private StringBuilder getsql(long id, Map<String, String> zdm, Map<String, Date> dateMap,DynamicObject shkd_km) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String start = sdf.format(dateMap.get("start"));
|
||||
String end = sdf.format(dateMap.get("end"));
|
||||
|
|
@ -140,8 +155,13 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin {
|
|||
" t1.fid = "+id+" AND\n" +
|
||||
" t4.fstartdate>='"+start+"' AND\n" +
|
||||
" t4.fstartdate<='"+end+"' AND\n" +
|
||||
" t2.fbankcateid <> 0\n" +
|
||||
"GROUP BY\n" +
|
||||
" t2.fbankcateid <> 0 \n");
|
||||
|
||||
if (shkd_km != null) {
|
||||
sqlBuilder.append(" AND t3.fsubjectmemid = "+shkd_km.getLong("id")+" \n");
|
||||
}
|
||||
|
||||
sqlBuilder.append("GROUP BY\n" +
|
||||
" DATE_FORMAT(t4.fstartdate, '%Y%m'), -- 直接在 GROUP BY 中使用原始表达式\n" +
|
||||
" t2.fbankcateid, -- 按照金融机构分组\n" +
|
||||
" t1.fbillno");
|
||||
|
|
|
|||
Loading…
Reference in New Issue