|
|
@@ -1462,14 +1462,18 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
for (FeeCenter item : rateListC) {
|
|
|
rateCRmb = rateCRmb.add(item.getAmount().multiply(item.getExrate()));
|
|
|
}
|
|
|
- rateC = rateCRmb.divide(amountCUsd, MathContext.DECIMAL32).setScale(4, RoundingMode.HALF_UP);
|
|
|
+ if (new BigDecimal("0.00").compareTo(rateCRmb) != 0) {
|
|
|
+ rateC = rateCRmb.divide(amountCUsd, MathContext.DECIMAL32).setScale(4, RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
BigDecimal rateD = new BigDecimal("0.00");
|
|
|
BigDecimal rateDRmb = new BigDecimal("0.00");
|
|
|
List<FeeCenter> rateListD = feeCenterList.stream().filter(e -> "USD".equals(e.getCurCode()) && "D".equals(e.getDc())).collect(Collectors.toList());
|
|
|
for (FeeCenter item : rateListD) {
|
|
|
rateDRmb = rateDRmb.add(item.getAmount().multiply(item.getExrate()));
|
|
|
}
|
|
|
- rateD = rateDRmb.divide(amountDUsd, MathContext.DECIMAL32).setScale(4, RoundingMode.HALF_UP);
|
|
|
+ if (new BigDecimal("0.00").compareTo(rateDRmb) != 0) {
|
|
|
+ rateD = rateDRmb.divide(amountDUsd, MathContext.DECIMAL32).setScale(4, RoundingMode.HALF_UP);
|
|
|
+ }
|
|
|
//创建凭证主表信息
|
|
|
FinVouchers finVouchers = new FinVouchers();
|
|
|
String deptId = "";
|
|
|
@@ -1622,9 +1626,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
}
|
|
|
//计算借,贷人民币与美金合计人民币金额
|
|
|
finVouchersItems.setAmountDrLoc(ObjectUtils.isNull(finVouchersItems.getAmountDr()) ? new BigDecimal("0") : finVouchersItems.getAmountDr()
|
|
|
- .add(bCurrencyService.converterCny("USD", ObjectUtils.isNull(finVouchersItems.getAmountDrUsd()) ? new BigDecimal("0") : finVouchersItems.getAmountDrUsd(), "D","1")));
|
|
|
+ .add(bCurrencyService.converterCny("USD", ObjectUtils.isNull(finVouchersItems.getAmountDrUsd()) ? new BigDecimal("0") : finVouchersItems.getAmountDrUsd(), "D", "1")));
|
|
|
finVouchersItems.setAmountCrLoc(ObjectUtils.isNull(finVouchersItems.getAmountCr()) ? new BigDecimal("0") : finVouchersItems.getAmountCr()
|
|
|
- .add(bCurrencyService.converterCny("USD", ObjectUtils.isNull(finVouchersItems.getAmountCrUsd()) ? new BigDecimal("0") : finVouchersItems.getAmountCrUsd(), "C","1")));
|
|
|
+ .add(bCurrencyService.converterCny("USD", ObjectUtils.isNull(finVouchersItems.getAmountCrUsd()) ? new BigDecimal("0") : finVouchersItems.getAmountCrUsd(), "C", "1")));
|
|
|
finVouchersItems.setIsCorp(accounts.getIsCorp());
|
|
|
//判断是否核算客户 true 向明细中客户字段复制
|
|
|
if (1 == finVouchersItems.getIsCorp()) {
|
|
|
@@ -1752,8 +1756,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
|
|
|
.filter(e -> "USD".equals(e.getCurCode()) && "C".equals(e.getDc())).map(FinVouchersItems::getAmountCrUsd)
|
|
|
.filter(ObjectUtils::isNotNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
finVouchers.setAmountCrUsd(amountCrUSD);
|
|
|
- finVouchers.setAmountDrLoc(amountDrCNY.add(bCurrencyService.converterCny("USD", amountDrUSD, "D","1")));
|
|
|
- finVouchers.setAmountCrLoc(amountCrCNY.add(bCurrencyService.converterCny("USD", amountCrUSD, "C","1")));
|
|
|
+ finVouchers.setAmountDrLoc(amountDrCNY.add(bCurrencyService.converterCny("USD", amountDrUSD, "D", "1")));
|
|
|
+ finVouchers.setAmountCrLoc(amountCrCNY.add(bCurrencyService.converterCny("USD", amountCrUSD, "C", "1")));
|
|
|
finVouchers.setDescr(finVouchersItemsList.get(0).getDescr());
|
|
|
if (finVouchersItemsList.stream().anyMatch(e -> "USD".equals(e.getCurCode()))) {
|
|
|
finVouchers.setIsForeign(1);
|