From b6e3f7f8cb5ea64e3f3272e21806358e8d6ae48b Mon Sep 17 00:00:00 2001 From: wenlukang1 Date: Wed, 30 Jul 2025 14:52:06 +0800 Subject: [PATCH] perf: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 应收台账取数以及显示优化 --- .../BillReceivableReportFormPlugin.java | 150 ++++++++++-------- 1 file changed, 80 insertions(+), 70 deletions(-) diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/BillReceivableReportFormPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/BillReceivableReportFormPlugin.java index 710ae6f..bb7b639 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/BillReceivableReportFormPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/report/BillReceivableReportFormPlugin.java @@ -100,65 +100,68 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin //贴现 private DataSet getDisCountData(){ return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), - "/*dialect*/ SELECT \n" + + "/*dialect*/ SELECT\n" + " pjid3,\n" + - " MAX(discountid) AS discountid,\n" + + " MAX(discountid) AS discountid,\n" + " MAX(discounttradetype) AS discounttradetype,\n" + - " LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'),';') WITHIN GROUP (ORDER BY bizdate) AS shkd_txrq, \n" + - " LISTAGG(disfrecbodyname || ';' || TO_CHAR(discamt, '999,999,999,999.99'),';') \n" + - " WITHIN GROUP (ORDER BY bizdate) AS shkd_txjg,\n" + + " LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'), '\n')\n" + + " WITHIN GROUP (ORDER BY bizdate) AS shkd_txrq,\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" + - " FROM (\n" + - " SELECT \n" + - " t1.fid AS pjid3,\n" + - " t2.fid AS discountid,\n" + - " t2.ftradetype AS discounttradetype,\n" + - " t2.frecbodyname AS disfrecbodyname,\n" + - " t2.FBIZDATE AS bizdate,\n" + - " t3.fdis_discamt AS discamt\n" + - " FROM \n" + - " CTSK0414_FI.t_cdm_draftbill t1\n" + - " LEFT JOIN \n" + - " CTSK0414_FI.t_cdm_discountentry t3 ON t1.fid = t3.fdis_selectbillid\n" + - " LEFT JOIN \n" + - " CTSK0414_FI.t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + - " WHERE \n" + - " t1.fsource <> 'cdm'\n" + - " AND t2.ftradetype = 'discount'\n" + - " ) src\n" + - " GROUP BY pjid3;"); + "FROM (\n" + + " SELECT\n" + + " t1.fid AS pjid3,\n" + + " t2.fid AS discountid,\n" + + " t2.ftradetype AS discounttradetype,\n" + + " t2.frecbodyname AS disfrecbodyname,\n" + + " t2.FBIZDATE AS bizdate,\n" + + " t3.fdis_discamt AS discamt\n" + + " FROM t_cdm_draftbill t1\n" + + " JOIN t_cdm_discountentry t3 ON t1.fid = t3.fdis_selectbillid\n" + + " JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + + " WHERE t1.fsource <> 'cdm'\n" + + " AND t2.ftradetype = 'discount'\n" + + ") src\n" + + "GROUP BY pjid3;"); } //背书 private DataSet getEndorseData() { return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), - "/*dialect*/ SELECT \n" + + "/*dialect*/ SELECT\n" + " pjid2,\n" + - " MAX(discountid) AS discountid,\n" + + " MAX(discountid) AS discountid,\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(endorsename || ';' || TO_CHAR(endorseamt, '999,999,999,999.99'), '\n') WITHIN GROUP " + - " (ORDER BY bizdate ASC) AS shkd_bsr,\n" + + " LISTAGG(TO_CHAR(bizdate, 'YYYY-MM-DD'), CHR(10))\n" + + " WITHIN GROUP (ORDER BY bizdate) AS shkd_bsrq,\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" + - " FROM (\n" + - " SELECT \n" + - " t1.fid AS pjid2,\n" + - " t2.fid AS discountid,\n" + - " t2.ftradetype AS discounttradetype,\n" + + "FROM (\n" + + " SELECT\n" + + " t1.fid AS pjid2,\n" + + " t2.fid AS discountid,\n" + + " t2.ftradetype AS discounttradetype,\n" + " t2.fbeendorsortext AS endorsename,\n" + - " t2.FBIZDATE AS bizdate,\n" + - " t3.fs_billamount AS endorseamt\n" + - " FROM t_cdm_draftbill t1\n" + - " LEFT JOIN t_cdm_drafttrdbill_entry t3 \n" + - " ON t1.fid = t3.fdraftbillid\n" + - " LEFT JOIN t_cdm_drafttradebill t2 \n" + - " ON t2.fid = t3.fid\n" + - " WHERE \n" + - " t1.fsource <> 'cdm' \n" + - " AND t2.ftradetype = 'endorse'\n" + - " ) src\n" + - " GROUP BY pjid2;"); + " t2.FBIZDATE AS bizdate,\n" + + " t3.fs_billamount AS endorseamt\n" + + " FROM t_cdm_draftbill t1\n" + + " JOIN t_cdm_drafttrdbill_entry t3 ON t1.fid = t3.fdraftbillid\n" + + " JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + + " WHERE t1.fsource <> 'cdm'\n" + + " AND t2.ftradetype = 'endorse'\n" + + ") src\n" + + "GROUP BY pjid2;"); } //托收 @@ -182,29 +185,33 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin //质押 private DataSet getPledgeData(){ return DB.queryDataSet(this.getClass().getSimpleName(), DBRoute.of("fi"), - "/*dialect*/ SELECT \n" + + "/*dialect*/ SELECT\n" + " pjid4,\n" + - " MAX(t2id4) AS t2id4,\n" + + " MAX(t2id4) AS t2id4,\n" + " MAX(tradetype4) AS tradetype4,\n" + " LISTAGG(\n" + - " TO_CHAR(bizdate, 'YYYY-MM-DD'),'\n' \n" + - " ) WITHIN GROUP (ORDER BY bizdate ASC) AS shkd_zyrq,\n" + + " TO_CHAR(bizdate, 'YYYY-MM-DD'), '\n'\n" + + " ) WITHIN GROUP (ORDER BY bizdate) AS shkd_zyrq,\n" + " LISTAGG(\n" + - " pledgename || ';' || TO_CHAR(pledgeamt, '999,999,999,999.99'),'\n'\n" + - " ) WITHIN GROUP (ORDER BY bizdate ASC) AS shkd_zyr,\n" + + " pledgename || ';¥' ||\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" + " FROM (\n" + - " SELECT \n" + - " t1.fid AS pjid4,\n" + - " t2.fid AS t2id4,\n" + - " t2.ftradetype AS tradetype4,\n" + - " t2.fpledgeetext AS pledgename,\n" + - " t2.FBIZDATE AS bizdate,\n" + - " t3.fs_billamount AS pledgeamt\n" + - " FROM t_cdm_draftbill t1\n" + + " SELECT\n" + + " t1.fid AS pjid4,\n" + + " t2.fid AS t2id4,\n" + + " t2.ftradetype AS tradetype4,\n" + + " t2.fpledgeetext AS pledgename,\n" + + " t2.FBIZDATE AS bizdate,\n" + + " t3.fs_billamount AS pledgeamt\n" + + " FROM t_cdm_draftbill t1\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" + - " WHERE t1.fsource <> 'cdm' AND t2.ftradetype = 'pledge'\n" + + " LEFT JOIN t_cdm_drafttradebill t2 ON t2.fid = t3.fid\n" + + " WHERE t1.fsource <> 'cdm'\n" + + " AND t2.ftradetype = 'pledge'\n" + " ) src\n" + " GROUP BY pjid4;"); @@ -218,10 +225,13 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin " MAX(t2id6) AS t2id6,\n" + " MAX(tradetype4) AS tradetype4,\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" + " 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" + " FROM (\n" + " SELECT \n" + @@ -231,9 +241,9 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin " t2.fpledgeetext AS pledgename,\n" + " t2.FBIZDATE AS bizdate,\n" + " t3.fs_billamount AS pledgeamt\n" + - " FROM CTSK0414_FI.t_cdm_draftbill t1\n" + - " LEFT JOIN CTSK0414_FI.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" + + " FROM t_cdm_draftbill t1\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" + " WHERE t1.fsource <> 'cdm' AND t2.ftradetype = 'rlspledge'\n" + " ) src\n" + " GROUP BY pjid6;"); @@ -258,10 +268,10 @@ public class BillReceivableReportFormPlugin extends AbstractReportListDataPlugin " t2.fbizdate,\n" + " t3.fs_billamount,\n" + " t2.ftradetype\n" + - " FROM CTSK0414_FI.t_cdm_draftbill t1\n" + - " LEFT JOIN CTSK0414_FI.t_cdm_drafttrdbill_entry t3 \n" + + " FROM t_cdm_draftbill t1\n" + + " LEFT JOIN t_cdm_drafttrdbill_entry t3 \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" + " WHERE \n" + " t1.fsource <> 'cdm' \n" +