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