wip:出口报关明细报表,保费(结算币别)

This commit is contained in:
zzs01@yunemao.com 2024-09-04 17:59:00 +08:00
parent aaa6982cda
commit 9d0393bf46

View File

@ -140,6 +140,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
dataSet = dataSet.addField("0.0", "yem_basepremiumamt");//原币保险费 dataSet = dataSet.addField("0.0", "yem_basepremiumamt");//原币保险费
dataSet = dataSet.addField("0.0", "yem_usdpremiumamt");//美元保险费 dataSet = dataSet.addField("0.0", "yem_usdpremiumamt");//美元保险费
dataSet = dataSet.addField("0.0", "tmp_reightamtend");//海运费结算币别 dataSet = dataSet.addField("0.0", "tmp_reightamtend");//海运费结算币别
dataSet = dataSet.addField("0.0", "tmp_premiumamtcy");//保费结算币别
dataSet = RptUtil.zeroNullNums(dataSet); dataSet = RptUtil.zeroNullNums(dataSet);
DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet.copy()); DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet.copy());
Map<String, List<DynamicObject>> map = new LinkedHashMap<>(); Map<String, List<DynamicObject>> map = new LinkedHashMap<>();
@ -172,6 +173,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
BigDecimal share_basepremiumamt = BigDecimal.ZERO;//原币保险费分摊 BigDecimal share_basepremiumamt = BigDecimal.ZERO;//原币保险费分摊
BigDecimal share_usdpremiumamt = BigDecimal.ZERO;//美元保险费分摊 BigDecimal share_usdpremiumamt = BigDecimal.ZERO;//美元保险费分摊
BigDecimal share_tmp_reightamtend = BigDecimal.ZERO;//海运费结算币别分摊 BigDecimal share_tmp_reightamtend = BigDecimal.ZERO;//海运费结算币别分摊
BigDecimal share_tmp_premiumamtcy = BigDecimal.ZERO;//保费结算币别分摊
for (DynamicObject d : value) { for (DynamicObject d : value) {
BigDecimal amount = d.getBigDecimal("yem_amount");//金额 BigDecimal amount = d.getBigDecimal("yem_amount");//金额
BigDecimal seausdamtsum = d.getBigDecimal("yem_seausdamtsum");//海运费USD总价 BigDecimal seausdamtsum = d.getBigDecimal("yem_seausdamtsum");//海运费USD总价
@ -179,7 +181,7 @@ public class ExportDeclarationDetailsReportPlugin extends AbstractReportListData
BigDecimal premiumamt = d.getBigDecimal("yem_premiumamt");//原币保险费 BigDecimal premiumamt = d.getBigDecimal("yem_premiumamt");//原币保险费
BigDecimal usdPmamtAmt = d.getBigDecimal("usd_pmamt_amt");//美元保险费 BigDecimal usdPmamtAmt = d.getBigDecimal("usd_pmamt_amt");//美元保险费
BigDecimal reightamtend = d.getBigDecimal("yem_reightamtend");//海运费结算币别 BigDecimal reightamtend = d.getBigDecimal("yem_reightamtend");//海运费结算币别
BigDecimal premiumamtcy = d.getBigDecimal("yem_premiumamtcy");//保费结算币别
BigDecimal rate = BigDecimalUtils.div(amount, sumAmt, 10); 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); 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)) { if (isLastRow(d, value)) {
d.set("yem_baseseaamt", seausdamtsum.subtract(share_baseseaamt));//原币海运费 d.set("yem_baseseaamt", seausdamtsum.subtract(share_baseseaamt));//原币海运费
d.set("yem_usdseaamt", usdSeaAmt.subtract(share_usdseaamt));//美元海运费 d.set("yem_usdseaamt", usdSeaAmt.subtract(share_usdseaamt));//美元海运费
d.set("yem_basepremiumamt", premiumamt.subtract(share_basepremiumamt));//原币保险费 d.set("yem_basepremiumamt", premiumamt.subtract(share_basepremiumamt));//原币保险费
d.set("yem_usdpremiumamt", usdpremiumamt.subtract(share_usdpremiumamt));//美元保险费 d.set("yem_usdpremiumamt", usdPmamtAmt.subtract(share_usdpremiumamt));//美元保险费
d.set("tmp_reightamtend", tmp_reightamtend.subtract(share_tmp_reightamtend));//海运费结算币别 d.set("tmp_reightamtend", reightamtend.subtract(share_tmp_reightamtend));//海运费结算币别
d.set("tmp_premiumamtcy", premiumamtcy.subtract(share_tmp_premiumamtcy));//保费结算币别
} else { } else {
share_baseseaamt = share_baseseaamt.add(baseseaamt); share_baseseaamt = share_baseseaamt.add(baseseaamt);
share_usdseaamt = share_usdseaamt.add(usdseaamt); share_usdseaamt = share_usdseaamt.add(usdseaamt);
share_basepremiumamt = share_basepremiumamt.add(basepremiumamt); share_basepremiumamt = share_basepremiumamt.add(basepremiumamt);
share_usdpremiumamt = share_usdpremiumamt.add(usdpremiumamt);
share_tmp_reightamtend = share_tmp_reightamtend.add(tmp_reightamtend); 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_baseseaamt", baseseaamt);//原币海运费
d.set("yem_usdseaamt", usdseaamt);//美元海运费 d.set("yem_usdseaamt", usdseaamt);//美元海运费
d.set("yem_basepremiumamt", basepremiumamt);//原币保险费 d.set("yem_basepremiumamt", basepremiumamt);//原币保险费
d.set("yem_usdpremiumamt", usdpremiumamt);//美元保险费 d.set("yem_usdpremiumamt", usdpremiumamt);//美元保险费
d.set("tmp_reightamtend", tmp_reightamtend);//海运费结算币别 d.set("tmp_reightamtend", tmp_reightamtend);//海运费结算币别
d.set("tmp_premiumamtcy", tmp_premiumamtcy);//保费结算币别
} }
dc.add(d); dc.add(d);