|
|
@@ -243,9 +243,9 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
if (ObjectUtils.isNotNull(bills.getFeeCenterListC())) {
|
|
|
for (FeeCenter item : bills.getFeeCenterListC()) {
|
|
|
if ("USD".equals(item.getCurCode())) {
|
|
|
- amountCrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ amountCrUsd = amountCrUsd.add(item.getAmount());
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
- amountCr = amountDrUsd.add(item.getAmount());
|
|
|
+ amountCr = amountCr.add(item.getAmount());
|
|
|
} else {
|
|
|
BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount());
|
|
|
amountCrUsd = amountCrUsd.add(usd);
|
|
|
@@ -260,10 +260,10 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
if ("USD".equals(item.getCurCode())) {
|
|
|
amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
} else if ("CNY".equals(item.getCurCode())) {
|
|
|
- amountDrUsd = amountDrUsd.add(item.getAmount());
|
|
|
+ amountDr = amountDr.add(item.getAmount());
|
|
|
} else {
|
|
|
BigDecimal usd = bCurrencyService.converter(item.getCurCode(), item.getAmount());
|
|
|
- amountDrUsd = amountCrUsd.add(usd);
|
|
|
+ amountDrUsd = amountDrUsd.add(usd);
|
|
|
}
|
|
|
}
|
|
|
if (!charData.equals(bills.getCharData())) {
|
|
|
@@ -290,8 +290,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
amountProfit = amountDr.subtract(amountCr);
|
|
|
amountProfitUsd = amountDrUsd.subtract(amountCrUsd);
|
|
|
|
|
|
- amountDrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountDrUsd));
|
|
|
- amountCrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountCrUsd));
|
|
|
+ amountDrLoc = amountDrLoc.add(bCurrencyService.converterCny("USD", amountDrUsd)).add(amountDr);
|
|
|
+ amountCrLoc = amountCrLoc.add(bCurrencyService.converterCny("USD", amountCrUsd)).add(amountCr);
|
|
|
amountProfitLoc = amountDrLoc.subtract(amountCrLoc);
|
|
|
|
|
|
bills.setAmountDr(amountDr);
|
|
|
@@ -458,6 +458,36 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
}
|
|
|
this.updateBatchById(billsList);
|
|
|
+
|
|
|
+ BigDecimal amountDr = bills.getAmountDr();
|
|
|
+ BigDecimal amountCr = bills.getAmountCr();
|
|
|
+ BigDecimal amountProfit = bills.getAmountProfit();
|
|
|
+ BigDecimal amountDrUsd = bills.getAmountDrUsd();
|
|
|
+ BigDecimal amountCrUsd = bills.getAmountCrUsd();
|
|
|
+ BigDecimal amountProfitUsd = bills.getAmountProfitUsd();
|
|
|
+ BigDecimal amountDrLoc = bills.getAmountDrLoc();
|
|
|
+ BigDecimal amountCrLoc = bills.getAmountCrLoc();
|
|
|
+ BigDecimal amountProfitLoc = bills.getAmountProfitLoc();
|
|
|
+ if (billsList.size() > 0) {
|
|
|
+ amountDr = amountDr.add(billsList.stream().map(Bills::getAmountDr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountCr = amountCr.add(billsList.stream().map(Bills::getAmountCr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountProfit = amountProfit.add(billsList.stream().map(Bills::getAmountProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountDrUsd = amountDrUsd.add(billsList.stream().map(Bills::getAmountDrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountCrUsd = amountCrUsd.add(billsList.stream().map(Bills::getAmountCrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountProfitUsd = amountProfitUsd.add(billsList.stream().map(Bills::getAmountProfitUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountDrLoc = amountDrLoc.add(billsList.stream().map(Bills::getAmountDrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountCrLoc = amountCrLoc.add(billsList.stream().map(Bills::getAmountCrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountProfitLoc = amountProfitLoc.add(billsList.stream().map(Bills::getAmountProfitLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ bills.setAmountDr(amountDr);
|
|
|
+ bills.setAmountCr(amountCr);
|
|
|
+ bills.setAmountProfit(amountProfit);
|
|
|
+ bills.setAmountDrUsd(amountDrUsd);
|
|
|
+ bills.setAmountCrUsd(amountCrUsd);
|
|
|
+ bills.setAmountProfitUsd(amountProfitUsd);
|
|
|
+ bills.setAmountDrLoc(amountDrLoc);
|
|
|
+ bills.setAmountCrLoc(amountCrLoc);
|
|
|
+ bills.setAmountProfitLoc(amountProfitLoc);
|
|
|
baseMapper.updateById(bills);
|
|
|
}
|
|
|
return R.data("操作成功");
|
|
|
@@ -485,6 +515,35 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
|
|
|
item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
}
|
|
|
this.updateBatchById(billsList);
|
|
|
+ BigDecimal amountDr = bills.getAmountDr();
|
|
|
+ BigDecimal amountCr = bills.getAmountCr();
|
|
|
+ BigDecimal amountProfit = bills.getAmountProfit();
|
|
|
+ BigDecimal amountDrUsd = bills.getAmountDrUsd();
|
|
|
+ BigDecimal amountCrUsd = bills.getAmountCrUsd();
|
|
|
+ BigDecimal amountProfitUsd = bills.getAmountProfitUsd();
|
|
|
+ BigDecimal amountDrLoc = bills.getAmountDrLoc();
|
|
|
+ BigDecimal amountCrLoc = bills.getAmountCrLoc();
|
|
|
+ BigDecimal amountProfitLoc = bills.getAmountProfitLoc();
|
|
|
+ if (billsList.size() > 0) {
|
|
|
+ amountDr = amountDr.subtract(billsList.stream().map(Bills::getAmountDr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountCr = amountCr.subtract(billsList.stream().map(Bills::getAmountCr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountProfit = amountProfit.subtract(billsList.stream().map(Bills::getAmountProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountDrUsd = amountDrUsd.subtract(billsList.stream().map(Bills::getAmountDrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountCrUsd = amountCrUsd.subtract(billsList.stream().map(Bills::getAmountCrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountProfitUsd = amountProfitUsd.subtract(billsList.stream().map(Bills::getAmountProfitUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountDrLoc = amountDrLoc.subtract(billsList.stream().map(Bills::getAmountDrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountCrLoc = amountCrLoc.subtract(billsList.stream().map(Bills::getAmountCrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ amountProfitLoc = amountProfitLoc.subtract(billsList.stream().map(Bills::getAmountProfitLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }
|
|
|
+ bills.setAmountDr(amountDr);
|
|
|
+ bills.setAmountCr(amountCr);
|
|
|
+ bills.setAmountProfit(amountProfit);
|
|
|
+ bills.setAmountDrUsd(amountDrUsd);
|
|
|
+ bills.setAmountCrUsd(amountCrUsd);
|
|
|
+ bills.setAmountProfitUsd(amountProfitUsd);
|
|
|
+ bills.setAmountDrLoc(amountDrLoc);
|
|
|
+ bills.setAmountCrLoc(amountCrLoc);
|
|
|
+ bills.setAmountProfitLoc(amountProfitLoc);
|
|
|
bills.setMasterBillNo("");
|
|
|
bills.setMasterId(0L);
|
|
|
baseMapper.updateById(bills);
|