parent
948b6a0372
commit
801b0be909
|
@ -39,32 +39,35 @@ public class guaranteecontListPlugin extends AbstractListPlugin {
|
||||||
QFilter gQF = new QFilter("gcontract.id", "=", id);
|
QFilter gQF = new QFilter("gcontract.id", "=", id);
|
||||||
gQF.and("billstatus", "=", BillStatusEnum.AUDIT.getValue());
|
gQF.and("billstatus", "=", BillStatusEnum.AUDIT.getValue());
|
||||||
DynamicObjectCollection gcUseBills = QueryServiceHelper.query("gm_guaranteeuse", String.join(",", gcProps), gQF.toArray());
|
DynamicObjectCollection gcUseBills = QueryServiceHelper.query("gm_guaranteeuse", String.join(",", gcProps), gQF.toArray());
|
||||||
Map<Long, BigDecimal> letterCreditMap = GuaranteeContractHelper.getLetterCreditMap(gcUseBills);
|
|
||||||
Map<Long, BigDecimal> loanBillMap = GuaranteeContractHelper.getLoanBillMap(gcUseBills);
|
|
||||||
BigDecimal sumOfBal = BigDecimal.ZERO;
|
|
||||||
if (!EmptyUtil.isEmpty(gcUseBills)) {
|
if (!EmptyUtil.isEmpty(gcUseBills)) {
|
||||||
for (DynamicObject gcBIll : gcUseBills) {
|
Map<Long, BigDecimal> letterCreditMap = GuaranteeContractHelper.getLetterCreditMap(gcUseBills);
|
||||||
if ("cfm_creditlimit".equals(TmcBusinessBaseHelper.getBillFormId(gcBIll.getString("gsrcbilltype")))) {
|
Map<Long, BigDecimal> loanBillMap = GuaranteeContractHelper.getLoanBillMap(gcUseBills);
|
||||||
} else {
|
DynamicObject[] gcUseBillArr = GuaranteeUseHelper.removeExpireData((DynamicObject[])gcUseBills.toArray(new DynamicObject[gcUseBills.size()]));
|
||||||
BigDecimal debtBalance = gcBIll.getBigDecimal("gdebtbalance");
|
BigDecimal sumOfBal = BigDecimal.ZERO;
|
||||||
if ("lc_lettercredit".equals(gcBIll.get("gsrcbilltype")) && EmptyUtil.isNoEmpty((BigDecimal)letterCreditMap.get(gcBIll.getLong("gsrcbillid")))) {
|
if (!EmptyUtil.isEmpty(gcUseBills)) {
|
||||||
debtBalance = ((BigDecimal)letterCreditMap.get(gcBIll.getLong("gsrcbillid"))).multiply(gcBIll.getBigDecimal("gratio")).divide(Constants.ONE_HUNDRED, 4, RoundingMode.HALF_UP);
|
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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue