diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java index ac09307..cecdb5a 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/InterestBearingRptListPlugin.java @@ -390,11 +390,11 @@ public class InterestBearingRptListPlugin extends AbstractReportListDataPlugin { String selYearNcAmt = "(SELECT s1.fdrawamount-sum(isnull(s3.fexdrawamount,0))\n" + "FROM t_cfm_loanbill s1 \n" + "INNER JOIN t_cfm_loanbill_e s2 ON s1.fid = s2.FID \n" + - "INNER JOIN t_cfm_loanbill_rp_entry s3 ON s1.fid = s3.FID \n" + + "LEFT JOIN t_cfm_loanbill_rp_entry s3 ON s1.fid = s3.FID and to_char(s3.fexrepaymentdate,'yyyy') < '"+year+"'\n" + "WHERE (s2.floantype = 'loan' OR s2.floantype = 'sl' OR s2.floantype = 'bond') \n" + "AND (s1.fdrawtype = 'drawed' OR s1.fdrawtype = 'partpayment') \n" + "AND t1.FBILLNO = s1.FBILLNO \n" + - "and to_char(s3.fexrepaymentdate,'yyyy') < '"+year+"' and to_char(s2.fstartintdate,'yyyy') < '"+year+"'\n" + + "AND to_char(s2.fstartintdate,'yyyy') < '"+year+"'\n" + "GROUP BY s1.fdrawamount)"; //年度新增金额 diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java index 944b421..cd406a1 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/PlanReportPlugin.java @@ -51,25 +51,29 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { private static final String DANGYUE_SELECT = "fbillno," + "fstartdate_yyyyMM as dangyueqijian," + - "fbankcateid as fbankcateid1," + + "fopuserid as fopuserid1," + + "fopusertype as fopusertype1," + "total_fdetailext17 as shkd_dyxd," + "total_fdetailext18 as shkd_dyxzrz," + "total_fdetailext20 as shkd_dyyjcljrzwye"; private static final String XIAYUE_SELECT = "" + "fstartdate_yyyyMM as xiayueqijian," + - "fbankcateid as fbankcateid," + + "fopuserid as fopuserid," + + "fopusertype as fopusertype," + "total_fdetailext17 as shkd_xyxd," + "total_fdetailext18 as shkd_xyxzrz," + "total_fdetailext20 as shkd_xyyjcljrzwye"; private static final String GDZCBJ_DANGYUE_SELECT = "" + - "fbankcateid as fbankcateid2," + + "fopuserid as fopuserid2," + + "fopusertype as fopusertype2," + "total_tqhk as shkd_dytqhk," + "total_dqhk as shkd_dydqhk"; private static final String GDZCBJ_XIAYUE_SELECT = "" + - "fbankcateid as fbankcateid3," + + "fopuserid as fopuserid3," + + "fopusertype as fopusertype3," + "total_tqhk as shkd_xytqhk," + "total_dqhk as shkd_xydqhk"; @@ -129,20 +133,21 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { String[] mergedFieldNames = mergedList.toArray(new String[0]); JoinDataSet join = dangyueres.join(xiayueyueres, JoinType.FULL); - DataSet finish = join.on("fbankcateid1", "fbankcateid").select(mergedFieldNames).finish(); - finish=finish.addField("(case when fbankcateid1!=null and fbankcateid1!=' ' then fbankcateid1 else fbankcateid end)","shkd_jrjg"); + DataSet finish = join.on("fopuserid1", "fopuserid").select(mergedFieldNames).finish(); + finish=finish.addField("(case when fopuserid1!=null and fopuserid1!=0 then fopuserid1 else fopuserid end)","shkd_dsfmc"); + finish=finish.addField("(case when fopusertype1!=null and fopusertype!=' ' then fopusertype1 else fopusertype end)","shkd_dsflx"); DataSet dataSet_sum = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), "SELECT\n" + - ""+zdm.get("金融机构")+" AS bankcate,\n" + + ""+zdm.get("对手方名称")+" AS bankcate,\n" + "SUM("+zdm.get("存量金融债务余额")+") AS shkd_cljrzwye,\n" + "SUM("+zdm.get("有效授信(流贷)")+") AS shkd_yxsx\n" + "FROM\n" + "t_fpm_reportdatadetail\n" + "WHERE\n" + "fid = "+id+"\n" + - "GROUP BY "+zdm.get("金融机构")+" ");//财务云 + "GROUP BY "+zdm.get("对手方名称")+" ");//财务云 JoinDataSet join1 = finish.join(dataSet_sum, JoinType.LEFT); - finish = join1.on("shkd_jrjg", "bankcate").select(finish.getRowMeta().getFieldNames(),new String[]{"shkd_cljrzwye", "shkd_yxsx"}).finish(); + finish = join1.on("shkd_dsfmc", "bankcate").select(finish.getRowMeta().getFieldNames(),new String[]{"shkd_cljrzwye", "shkd_yxsx"}).finish(); //获取刚兑支出-本金 QFilter qFilter1 = new QFilter("name", QCP.equals, "刚兑支出-本金"); @@ -154,15 +159,17 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { DataSet gdzcbjdangyueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), gdzcbjdangyuesqlBuilder.toString());//财务云 gdzcbjdangyueres= gdzcbjdangyueres.select(GDZCBJ_DANGYUE_SELECT); JoinDataSet join2 = finish.join(gdzcbjdangyueres, JoinType.FULL); - finish = join2.on("shkd_jrjg", "fbankcateid2").select(finish.getRowMeta().getFieldNames(),new String[]{"fbankcateid2","shkd_dytqhk", "shkd_dydqhk"}).finish(); - finish=finish.updateField("shkd_jrjg","(case when shkd_jrjg!=null and shkd_jrjg!=' ' then shkd_jrjg else fbankcateid2 end)"); + finish = join2.on("shkd_dsfmc", "fopuserid2").select(finish.getRowMeta().getFieldNames(),new String[]{"fopuserid2","fopusertype2","shkd_dytqhk", "shkd_dydqhk"}).finish(); + finish=finish.updateField("shkd_dsfmc","(case when shkd_dsfmc!=null and shkd_dsfmc!=0 then shkd_dsfmc else fopuserid2 end)"); + finish=finish.updateField("shkd_dsflx","(case when shkd_dsflx!=null and shkd_dsflx!=' ' then shkd_dsflx else fopusertype2 end)"); StringBuilder gdzcbjxiayuesqlBuilder=getgdzcbjsql(gdzcbjid,zdm,xiayueyue,shkd_km); DataSet gdzcbjxiayueres = DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), gdzcbjxiayuesqlBuilder.toString());//财务云 gdzcbjxiayueres= gdzcbjxiayueres.select(GDZCBJ_XIAYUE_SELECT); JoinDataSet join3 = finish.join(gdzcbjxiayueres, JoinType.FULL); - finish = join3.on("shkd_jrjg", "fbankcateid3").select(finish.getRowMeta().getFieldNames(),new String[]{"fbankcateid3","shkd_xytqhk", "shkd_xydqhk"}).finish(); - finish=finish.updateField("shkd_jrjg","(case when shkd_jrjg!=null and shkd_jrjg!=' ' then shkd_jrjg else fbankcateid3 end)"); + finish = join3.on("shkd_dsfmc", "fopuserid3").select(finish.getRowMeta().getFieldNames(),new String[]{"fopuserid3","fopusertype3","shkd_xytqhk", "shkd_xydqhk"}).finish(); + finish=finish.updateField("shkd_dsfmc","(case when shkd_dsfmc!=null and shkd_dsfmc!=0 then shkd_dsfmc else fopuserid3 end)"); + finish=finish.updateField("shkd_dsflx","(case when shkd_dsflx!=null and shkd_dsflx!=' ' then shkd_dsflx else fopusertype3 end)"); }else { finish=finish.addField("0","shkd_dytqhk"); finish=finish.addField("0","shkd_dydqhk"); @@ -193,7 +200,8 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { "SELECT\n" + "t1.fbillno as fbillno,\n" + " DATE_FORMAT(t4.fstartdate, '%Y%m') AS fstartdate_yyyyMM, -- 按照年月分组\n" + - " t2."+zdm.get("金融机构")+" as fbankcateid, -- 金融机构\n" + + " t2."+zdm.get("对手方类型")+" as fopusertype, -- 对手方类型\n" + + " t2."+zdm.get("对手方名称")+" as fopuserid, -- 对手方名称\n" + " SUM(CASE WHEN t2."+zdm.get("归还性质")+" = '提前还款' THEN t3."+zdm.get("计划金额")+" ELSE 0 END) AS total_tqhk, --提前还款总和\n" + " SUM(CASE WHEN t2."+zdm.get("归还性质")+" = '到期还款' THEN t3."+zdm.get("计划金额")+" ELSE 0 END) AS total_dqhk --到期还款总和\n" + "FROM\n" + @@ -205,10 +213,11 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { " t1.fid = "+id+" AND\n" + " t4.fstartdate>='"+start+"' AND\n" + " t4.fstartdate<='"+end+"' AND\n" + - " t2."+zdm.get("金融机构")+" IS NOT NULL AND t2."+zdm.get("金融机构")+"!=' ' \n"); + " t2."+zdm.get("对手方名称")+" IS NOT NULL AND t2."+zdm.get("对手方名称")+"!=0 \n"); sqlBuilder.append("GROUP BY\n" + " DATE_FORMAT(t4.fstartdate, '%Y%m'), -- 直接在 GROUP BY 中使用原始表达式\n" + - " t2."+zdm.get("金融机构")+", -- 按照金融机构分组\n" + + " t2."+zdm.get("对手方类型")+", -- 按照对手方类型分组\n" + + " t2."+zdm.get("对手方名称")+", -- 按照对手方名称分组\n" + " t1.fbillno"); return sqlBuilder; } @@ -224,7 +233,8 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { "SELECT\n" + "t1.fbillno as fbillno,\n" + " DATE_FORMAT(t4.fstartdate, '%Y%m') AS fstartdate_yyyyMM, -- 按照年月分组\n" + - " t2."+zdm.get("金融机构")+" as fbankcateid, -- 金融机构\n" + + " t2."+zdm.get("对手方类型")+" as fopusertype, -- 对手方类型\n" + + " t2."+zdm.get("对手方名称")+" as fopuserid, -- 对手方名称\n" + " SUM(t2."+zdm.get("提前还款")+") AS total_fdetailext15, -- 提前还款总和\n" + " SUM(t2."+zdm.get("到期还款")+") AS total_fdetailext16, -- 到期还款总和\n" + " SUM(t2."+zdm.get("续贷")+") AS total_fdetailext17, -- 续贷总和\n" + @@ -239,7 +249,7 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { " t1.fid = "+id+" AND\n" + " t4.fstartdate>='"+start+"' AND\n" + " t4.fstartdate<='"+end+"' AND\n" + - " t2."+zdm.get("金融机构")+" IS NOT NULL AND t2."+zdm.get("金融机构")+"!=' ' \n"); + " t2."+zdm.get("对手方名称")+" <>0 \n"); if (shkd_km != null) { sqlBuilder.append(" AND t3.fsubjectmemid = "+shkd_km.getLong("id")+" \n"); @@ -247,7 +257,8 @@ public class PlanReportPlugin extends AbstractReportListDataPlugin { sqlBuilder.append("GROUP BY\n" + " DATE_FORMAT(t4.fstartdate, '%Y%m'), -- 直接在 GROUP BY 中使用原始表达式\n" + - " t2."+zdm.get("金融机构")+", -- 按照金融机构分组\n" + + " t2."+zdm.get("对手方类型")+", -- 按照对手方类型分组\n" + + " t2."+zdm.get("对手方名称")+", -- 按照对手方名称分组\n" + " t1.fbillno"); return sqlBuilder; }