From 9d0393bf4635959272017ef095ad89743c4dcf4e Mon Sep 17 00:00:00 2001 From: "zzs01@yunemao.com" Date: Wed, 4 Sep 2024 17:59:00 +0800 Subject: [PATCH] =?UTF-8?q?wip:=E5=87=BA=E5=8F=A3=E6=8A=A5=E5=85=B3?= =?UTF-8?q?=E6=98=8E=E7=BB=86=E6=8A=A5=E8=A1=A8,=E4=BF=9D=E8=B4=B9?= =?UTF-8?q?=EF=BC=88=E7=BB=93=E7=AE=97=E5=B8=81=E5=88=AB=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ExportDeclarationDetailsReportPlugin.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java b/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java index 8e1f89b6..8a246d28 100644 --- a/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java +++ b/src/main/java/com/yem/rf/salescommission/ExportDeclarationDetailsReportPlugin.java @@ -140,6 +140,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData dataSet = dataSet.addField("0.0", "yem_basepremiumamt");//原币保险费 dataSet = dataSet.addField("0.0", "yem_usdpremiumamt");//美元保险费 dataSet = dataSet.addField("0.0", "tmp_reightamtend");//海运费(结算币别) + dataSet = dataSet.addField("0.0", "tmp_premiumamtcy");//保费(结算币别) dataSet = RptUtil.zeroNullNums(dataSet); DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet.copy()); Map> map = new LinkedHashMap<>(); @@ -172,6 +173,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData BigDecimal share_basepremiumamt = BigDecimal.ZERO;//原币保险费分摊 BigDecimal share_usdpremiumamt = BigDecimal.ZERO;//美元保险费分摊 BigDecimal share_tmp_reightamtend = BigDecimal.ZERO;//海运费(结算币别)分摊 + BigDecimal share_tmp_premiumamtcy = BigDecimal.ZERO;//保费(结算币别)分摊 for (DynamicObject d : value) { BigDecimal amount = d.getBigDecimal("yem_amount");//金额 BigDecimal seausdamtsum = d.getBigDecimal("yem_seausdamtsum");//海运费USD总价 @@ -179,7 +181,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData BigDecimal premiumamt = d.getBigDecimal("yem_premiumamt");//原币保险费 BigDecimal usdPmamtAmt = d.getBigDecimal("usd_pmamt_amt");//美元保险费 BigDecimal reightamtend = d.getBigDecimal("yem_reightamtend");//海运费(结算币别) - + BigDecimal premiumamtcy = d.getBigDecimal("yem_premiumamtcy");//保费(结算币别) BigDecimal rate = BigDecimalUtils.div(amount, sumAmt, 10); @@ -204,23 +206,30 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData tmp_reightamtend = tmp_reightamtend.setScale(2, RoundingMode.HALF_UP); //保费(结算币别) + BigDecimal tmp_premiumamtcy = rate.multiply(premiumamtcy); + tmp_premiumamtcy = tmp_premiumamtcy.setScale(2, RoundingMode.HALF_UP); if (isLastRow(d, value)) { d.set("yem_baseseaamt", seausdamtsum.subtract(share_baseseaamt));//原币海运费 d.set("yem_usdseaamt", usdSeaAmt.subtract(share_usdseaamt));//美元海运费 d.set("yem_basepremiumamt", premiumamt.subtract(share_basepremiumamt));//原币保险费 - d.set("yem_usdpremiumamt", usdpremiumamt.subtract(share_usdpremiumamt));//美元保险费 - d.set("tmp_reightamtend", tmp_reightamtend.subtract(share_tmp_reightamtend));//海运费(结算币别) + d.set("yem_usdpremiumamt", usdPmamtAmt.subtract(share_usdpremiumamt));//美元保险费 + d.set("tmp_reightamtend", reightamtend.subtract(share_tmp_reightamtend));//海运费(结算币别) + d.set("tmp_premiumamtcy", premiumamtcy.subtract(share_tmp_premiumamtcy));//保费(结算币别) } else { share_baseseaamt = share_baseseaamt.add(baseseaamt); share_usdseaamt = share_usdseaamt.add(usdseaamt); share_basepremiumamt = share_basepremiumamt.add(basepremiumamt); + share_usdpremiumamt = share_usdpremiumamt.add(usdpremiumamt); share_tmp_reightamtend = share_tmp_reightamtend.add(tmp_reightamtend); + share_tmp_premiumamtcy = share_tmp_premiumamtcy.add(tmp_premiumamtcy); + d.set("yem_baseseaamt", baseseaamt);//原币海运费 d.set("yem_usdseaamt", usdseaamt);//美元海运费 d.set("yem_basepremiumamt", basepremiumamt);//原币保险费 d.set("yem_usdpremiumamt", usdpremiumamt);//美元保险费 d.set("tmp_reightamtend", tmp_reightamtend);//海运费(结算币别) + d.set("tmp_premiumamtcy", tmp_premiumamtcy);//保费(结算币别) } dc.add(d);