应收台账取数以及显示优化
This commit is contained in:
wenlukang1 2025-07-30 14:52:06 +08:00
parent 7e8eb690cb
commit b6e3f7f8cb
1 changed files with 80 additions and 70 deletions

View File

@ -100,65 +100,68 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin
//贴现 //贴现
private DataSet getDisCountData(){ private DataSet getDisCountData(){
return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"),
"/*dialect*/ SELECT \n" + "/*dialect*/ SELECT\n" +
" pjid3,\n" + " pjid3,\n" +
" MAX(discountid) AS discountid,\n" + " MAX(discountid) AS discountid,\n" +
" MAX(discounttradetype) AS discounttradetype,\n" + " MAX(discounttradetype) AS discounttradetype,\n" +
" LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'),';') WITHIN GROUP (ORDER BY bizdate) AS shkd_txrq, \n" + " LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'), '\n')\n" +
" LISTAGG(disfrecbodyname || ';' || TO_CHAR(discamt, '999,999,999,999.99'),';') \n" + " WITHIN GROUP (ORDER BY bizdate) AS shkd_txrq,\n" +
" WITHIN GROUP (ORDER BY bizdate) AS shkd_txjg,\n" + " LISTAGG(\n" +
" disfrecbodyname || ';¥' ||\n" +
" TRIM(TO_CHAR(TRUNC(discamt), 'FM999,999,999,990')) || '.' ||\n" +
" LPAD(TO_CHAR(MOD(ROUND(discamt * 100), 100)), 2, '0'),\n" +
" '\n'\n" +
" ) WITHIN GROUP (ORDER BY bizdate) AS shkd_txjg,\n" +
" SUM(discamt) AS shkd_txje\n" + " SUM(discamt) AS shkd_txje\n" +
" FROM (\n" + "FROM (\n" +
" SELECT \n" + " SELECT\n" +
" t1.fid AS pjid3,\n" + " t1.fid AS pjid3,\n" +
" t2.fid AS discountid,\n" + " t2.fid AS discountid,\n" +
" t2.ftradetype AS discounttradetype,\n" + " t2.ftradetype AS discounttradetype,\n" +
" t2.frecbodyname AS disfrecbodyname,\n" + " t2.frecbodyname AS disfrecbodyname,\n" +
" t2.FBIZDATE AS bizdate,\n" + " t2.FBIZDATE AS bizdate,\n" +
" t3.fdis_discamt AS discamt\n" + " t3.fdis_discamt AS discamt\n" +
" FROM \n" + " FROM t_cdm_draftbill t1\n" +
" CTSK0414_FI.t_cdm_draftbill t1\n" + " JOIN t_cdm_discountentry t3 ON t1.fid = t3.fdis_selectbillid\n" +
" LEFT JOIN \n" + " JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" +
" CTSK0414_FI.t_cdm_discountentry t3 ON t1.fid = t3.fdis_selectbillid\n" + " WHERE t1.fsource <> 'cdm'\n" +
" LEFT JOIN \n" + " AND t2.ftradetype = 'discount'\n" +
" CTSK0414_FI.t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + ") src\n" +
" WHERE \n" + "GROUP BY pjid3;");
" t1.fsource <> 'cdm'\n" +
" AND t2.ftradetype = 'discount'\n" +
" ) src\n" +
" GROUP BY pjid3;");
} }
//背书 //背书
private DataSet getEndorseData() { private DataSet getEndorseData() {
return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"),
"/*dialect*/ SELECT \n" + "/*dialect*/ SELECT\n" +
" pjid2,\n" + " pjid2,\n" +
" MAX(discountid) AS discountid,\n" + " MAX(discountid) AS discountid,\n" +
" MAX(discounttradetype) AS discounttradetype,\n" + " MAX(discounttradetype) AS discounttradetype,\n" +
" LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'), '\n') WITHIN GROUP (ORDER BY bizdate ASC) AS shkd_bsrq,\n" + " LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'), CHR(10))\n" +
" LISTAGG(endorsename || ';' || TO_CHAR(endorseamt, '999,999,999,999.99'), '\n') WITHIN GROUP " + " WITHIN GROUP (ORDER BY bizdate) AS shkd_bsrq,\n" +
" (ORDER BY bizdate ASC) AS shkd_bsr,\n" + " LISTAGG(\n" +
" endorsename || ';¥' ||\n" +
" TRIM(TO_CHAR(TRUNC(endorseamt), 'FM999,999,999,990')) || '.' ||\n" +
" LPAD(TO_CHAR(MOD(ROUND(endorseamt * 100), 100)), 2, '0'),\n" +
" CHR(10)\n" +
" ) WITHIN GROUP (ORDER BY bizdate) AS shkd_bsr,\n" +
" SUM(endorseamt) AS shkd_bsje\n" + " SUM(endorseamt) AS shkd_bsje\n" +
" FROM (\n" + "FROM (\n" +
" SELECT \n" + " SELECT\n" +
" t1.fid AS pjid2,\n" + " t1.fid AS pjid2,\n" +
" t2.fid AS discountid,\n" + " t2.fid AS discountid,\n" +
" t2.ftradetype AS discounttradetype,\n" + " t2.ftradetype AS discounttradetype,\n" +
" t2.fbeendorsortext AS endorsename,\n" + " t2.fbeendorsortext AS endorsename,\n" +
" t2.FBIZDATE AS bizdate,\n" + " t2.FBIZDATE AS bizdate,\n" +
" t3.fs_billamount AS endorseamt\n" + " t3.fs_billamount AS endorseamt\n" +
" FROM t_cdm_draftbill t1\n" + " FROM t_cdm_draftbill t1\n" +
" LEFT JOIN t_cdm_drafttrdbill_entry t3 \n" + " JOIN t_cdm_drafttrdbill_entry t3 ON t1.fid = t3.fdraftbillid\n" +
" ON t1.fid = t3.fdraftbillid\n" + " JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" +
" LEFT JOIN t_cdm_drafttradebill t2 \n" + " WHERE t1.fsource <> 'cdm'\n" +
" ON t2.fid = t3.fid\n" + " AND t2.ftradetype = 'endorse'\n" +
" WHERE \n" + ") src\n" +
" t1.fsource <> 'cdm' \n" + "GROUP BY pjid2;");
" AND t2.ftradetype = 'endorse'\n" +
" ) src\n" +
" GROUP BY pjid2;");
} }
//托收 //托收
@ -182,29 +185,33 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin
//质押 //质押
private DataSet getPledgeData(){ private DataSet getPledgeData(){
return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"),
"/*dialect*/ SELECT \n" + "/*dialect*/ SELECT\n" +
" pjid4,\n" + " pjid4,\n" +
" MAX(t2id4) AS t2id4,\n" + " MAX(t2id4) AS t2id4,\n" +
" MAX(tradetype4) AS tradetype4,\n" + " MAX(tradetype4) AS tradetype4,\n" +
" LISTAGG(\n" + " LISTAGG(\n" +
" TO_CHAR(bizdate, 'YYYY-MM-DD'),'\n' \n" + " TO_CHAR(bizdate, 'YYYY-MM-DD'), '\n'\n" +
" ) WITHIN GROUP (ORDER BY bizdate ASC) AS shkd_zyrq,\n" + " ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyrq,\n" +
" LISTAGG(\n" + " LISTAGG(\n" +
" pledgename || ';' || TO_CHAR(pledgeamt, '999,999,999,999.99'),'\n'\n" + " pledgename || ';¥' ||\n" +
" ) WITHIN GROUP (ORDER BY bizdate ASC) AS shkd_zyr,\n" + " TRIM(TO_CHAR(TRUNC(pledgeamt), 'FM999,999,999,990')) || '.' ||\n" +
" LPAD(TO_CHAR(MOD(ROUND(pledgeamt * 100), 100)), 2, '0'),\n" +
" '\n'\n" +
" ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyr,\n" +
" SUM(pledgeamt) AS shkd_yzyje\n" + " SUM(pledgeamt) AS shkd_yzyje\n" +
" FROM (\n" + " FROM (\n" +
" SELECT \n" + " SELECT\n" +
" t1.fid AS pjid4,\n" + " t1.fid AS pjid4,\n" +
" t2.fid AS t2id4,\n" + " t2.fid AS t2id4,\n" +
" t2.ftradetype AS tradetype4,\n" + " t2.ftradetype AS tradetype4,\n" +
" t2.fpledgeetext AS pledgename,\n" + " t2.fpledgeetext AS pledgename,\n" +
" t2.FBIZDATE AS bizdate,\n" + " t2.FBIZDATE AS bizdate,\n" +
" t3.fs_billamount AS pledgeamt\n" + " t3.fs_billamount AS pledgeamt\n" +
" FROM t_cdm_draftbill t1\n" + " FROM t_cdm_draftbill t1\n" +
" LEFT JOIN t_cdm_drafttrdbill_entry t3 ON t1.fid = t3.fdraftbillid\n" + " LEFT JOIN t_cdm_drafttrdbill_entry t3 ON t1.fid = t3.fdraftbillid\n" +
" LEFT JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + " LEFT JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" +
" WHERE t1.fsource <> 'cdm' AND t2.ftradetype = 'pledge'\n" + " WHERE t1.fsource <> 'cdm'\n" +
" AND t2.ftradetype = 'pledge'\n" +
" ) src\n" + " ) src\n" +
" GROUP BY pjid4;"); " GROUP BY pjid4;");
@ -218,10 +225,13 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin
" MAX(t2id6) AS t2id6,\n" + " MAX(t2id6) AS t2id6,\n" +
" MAX(tradetype4) AS tradetype4,\n" + " MAX(tradetype4) AS tradetype4,\n" +
" LISTAGG(\n" + " LISTAGG(\n" +
" TO_CHAR(bizdate, 'YYYY-MM-DD'),'\n' \n" + " TO_CHAR(bizdate, 'YYYY-MM-DD'),';' \n" +
" ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyjcrq,\n" + " ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyjcrq,\n" +
" LISTAGG(\n" + " LISTAGG(\n" +
" TO_CHAR(pledgeamt, '999,999,999,999.99'),'\n' \n" + " '¥' ||\n" +
" TRIM(TO_CHAR(TRUNC(pledgeamt), 'FM999,999,999,990')) || '.' ||\n" +
" LPAD(TO_CHAR(MOD(ROUND(pledgeamt*100), 100)), 2, '0'),\n" +
" ';'\n" +
" ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyjcje\n" + " ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyjcje\n" +
" FROM (\n" + " FROM (\n" +
" SELECT \n" + " SELECT \n" +
@ -231,9 +241,9 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin
" t2.fpledgeetext AS pledgename,\n" + " t2.fpledgeetext AS pledgename,\n" +
" t2.FBIZDATE AS bizdate,\n" + " t2.FBIZDATE AS bizdate,\n" +
" t3.fs_billamount AS pledgeamt\n" + " t3.fs_billamount AS pledgeamt\n" +
" FROM CTSK0414_FI.t_cdm_draftbill t1\n" + " FROM t_cdm_draftbill t1\n" +
" LEFT JOIN CTSK0414_FI.t_cdm_drafttrdbill_entry t3 ON t1.fid = t3.fdraftbillid\n" + " LEFT JOIN t_cdm_drafttrdbill_entry t3 ON t1.fid = t3.fdraftbillid\n" +
" LEFT JOIN CTSK0414_FI.t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + " LEFT JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" +
" WHERE t1.fsource <> 'cdm' AND t2.ftradetype = 'rlspledge'\n" + " WHERE t1.fsource <> 'cdm' AND t2.ftradetype = 'rlspledge'\n" +
" ) src\n" + " ) src\n" +
" GROUP BY pjid6;"); " GROUP BY pjid6;");
@ -258,10 +268,10 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin
" t2.fbizdate,\n" + " t2.fbizdate,\n" +
" t3.fs_billamount,\n" + " t3.fs_billamount,\n" +
" t2.ftradetype\n" + " t2.ftradetype\n" +
" FROM CTSK0414_FI.t_cdm_draftbill t1\n" + " FROM t_cdm_draftbill t1\n" +
" LEFT JOIN CTSK0414_FI.t_cdm_drafttrdbill_entry t3 \n" + " LEFT JOIN t_cdm_drafttrdbill_entry t3 \n" +
" ON t1.fid = t3.fdraftbillid\n" + " ON t1.fid = t3.fdraftbillid\n" +
" LEFT JOIN CTSK0414_FI.t_cdm_drafttradebill t2 \n" + " LEFT JOIN t_cdm_drafttradebill t2 \n" +
" ON t2.fid = t3.fid\n" + " ON t2.fid = t3.fid\n" +
" WHERE \n" + " WHERE \n" +
" t1.fsource <> 'cdm' \n" + " t1.fsource <> 'cdm' \n" +