diff --git a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/guaranteecontListPlugin.java b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/guaranteecontListPlugin.java index 7cae6ae..c2774b8 100644 --- a/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/guaranteecontListPlugin.java +++ b/sys/shkd-sys-sys/src/main/java/shkd/sys/sys/plugin/list/guaranteecontListPlugin.java @@ -39,32 +39,35 @@ public class guaranteecontListPlugin extends AbstractListPlugin { QFilter gQF = new QFilter("gcontract.id", "=", id); gQF.and("billstatus", "=", BillStatusEnum.AUDIT.getValue()); DynamicObjectCollection gcUseBills = QueryServiceHelper.query("gm_guaranteeuse", String.join(",", gcProps), gQF.toArray()); - Map letterCreditMap = GuaranteeContractHelper.getLetterCreditMap(gcUseBills); - Map loanBillMap = GuaranteeContractHelper.getLoanBillMap(gcUseBills); - BigDecimal sumOfBal = BigDecimal.ZERO; if (!EmptyUtil.isEmpty(gcUseBills)) { - for (DynamicObject gcBIll : gcUseBills) { - if ("cfm_creditlimit".equals(TmcBusinessBaseHelper.getBillFormId(gcBIll.getString("gsrcbilltype")))) { - } else { - BigDecimal debtBalance = gcBIll.getBigDecimal("gdebtbalance"); - if ("lc_lettercredit".equals(gcBIll.get("gsrcbilltype")) && EmptyUtil.isNoEmpty((BigDecimal)letterCreditMap.get(gcBIll.getLong("gsrcbillid")))) { - debtBalance = ((BigDecimal)letterCreditMap.get(gcBIll.getLong("gsrcbillid"))).multiply(gcBIll.getBigDecimal("gratio")).divide(Constants.ONE_HUNDRED, 4, RoundingMode.HALF_UP); + Map letterCreditMap = GuaranteeContractHelper.getLetterCreditMap(gcUseBills); + Map loanBillMap = GuaranteeContractHelper.getLoanBillMap(gcUseBills); + DynamicObject[] gcUseBillArr = GuaranteeUseHelper.removeExpireData((DynamicObject[])gcUseBills.toArray(new DynamicObject[gcUseBills.size()])); + BigDecimal sumOfBal = BigDecimal.ZERO; + if (!EmptyUtil.isEmpty(gcUseBills)) { + for (DynamicObject gcBIll : gcUseBillArr) { + if ("cfm_creditlimit".equals(TmcBusinessBaseHelper.getBillFormId(gcBIll.getString("gsrcbilltype")))) { + } else { + BigDecimal debtBalance = gcBIll.getBigDecimal("gdebtbalance"); + if ("lc_lettercredit".equals(gcBIll.get("gsrcbilltype")) && EmptyUtil.isNoEmpty((BigDecimal)letterCreditMap.get(gcBIll.getLong("gsrcbillid")))) { + debtBalance = ((BigDecimal)letterCreditMap.get(gcBIll.getLong("gsrcbillid"))).multiply(gcBIll.getBigDecimal("gratio")).divide(Constants.ONE_HUNDRED, 4, RoundingMode.HALF_UP); + } + else if (Arrays.asList("cfm_loanbill_b_l", "cfm_loanbill_e_l", "cfm_loanbill", "cim_invest_loanbill").contains(gcBIll.get("gsrcbilltype")) && EmptyUtil.isNoEmpty((BigDecimal)loanBillMap.get(gcBIll.getLong("gsrcbillid")))) { + debtBalance = ((BigDecimal)loanBillMap.get(gcBIll.getLong("gsrcbillid"))).multiply(gcBIll.getBigDecimal("gratio")).divide(Constants.ONE_HUNDRED, 4, RoundingMode.HALF_UP); + } + Long debtBillCcy = gcBIll.getLong("gdebtcurrency"); + if (EmptyUtil.isNoEmpty(debtBillCcy) && !gContractCcyId.equals(debtBillCcy) && debtBalance.compareTo(BigDecimal.ZERO) != 0) { + BigDecimal gExchangeRate = gcBIll.getBigDecimal("gexchrate"); + debtBalance = debtBalance.multiply(gExchangeRate); + } + sumOfBal = sumOfBal.add(debtBalance); } - else if (Arrays.asList("cfm_loanbill_b_l", "cfm_loanbill_e_l", "cfm_loanbill", "cim_invest_loanbill").contains(gcBIll.get("gsrcbilltype")) && EmptyUtil.isNoEmpty((BigDecimal)loanBillMap.get(gcBIll.getLong("gsrcbillid")))) { - debtBalance = ((BigDecimal)loanBillMap.get(gcBIll.getLong("gsrcbillid"))).multiply(gcBIll.getBigDecimal("gratio")).divide(Constants.ONE_HUNDRED, 4, RoundingMode.HALF_UP); - } - Long debtBillCcy = gcBIll.getLong("gdebtcurrency"); - if (EmptyUtil.isNoEmpty(debtBillCcy) && !gContractCcyId.equals(debtBillCcy) && debtBalance.compareTo(BigDecimal.ZERO) != 0) { - BigDecimal gExchangeRate = gcBIll.getBigDecimal("gexchrate"); - debtBalance = debtBalance.multiply(gExchangeRate); - } - sumOfBal = sumOfBal.add(debtBalance); } } + DecimalFormat df = new DecimalFormat("¥#,##0.00"); + String formattedAmount = df.format(sumOfBal); + e.setFormatValue(formattedAmount); } - DecimalFormat df = new DecimalFormat("¥#,##0.00"); - String formattedAmount = df.format(sumOfBal); - e.setFormatValue(formattedAmount); } } }