|
|
@@ -149,10 +149,10 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setAmountLoc(amount);
|
|
|
feeCenter.setAmountDiscountLoc(amount);
|
|
|
} else {
|
|
|
- feeCenter.setAmountNetLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountNet,""));
|
|
|
- feeCenter.setAmountTaxLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountTax,""));
|
|
|
- feeCenter.setAmountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount,""));
|
|
|
- feeCenter.setAmountDiscountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount,""));
|
|
|
+ feeCenter.setAmountNetLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountNet, ""));
|
|
|
+ feeCenter.setAmountTaxLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountTax, ""));
|
|
|
+ feeCenter.setAmountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount, ""));
|
|
|
+ feeCenter.setAmountDiscountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount, ""));
|
|
|
}
|
|
|
feeCenter.setAmountNet(amountNet);
|
|
|
feeCenter.setAmountTax(amountTax);
|
|
|
@@ -185,12 +185,6 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
.eq(PreContainers::getIsDeleted, 0)
|
|
|
.eq(PreContainers::getPid, bills.getId()));
|
|
|
if (losBFeesTemplate.getFeesTemplateItemsList().size() > 0) {
|
|
|
- String code = losBFeesTemplate.getFeesTemplateItemsList().stream().map(FeesTemplateItems::getCurCode).distinct().collect(Collectors.joining(","));
|
|
|
- List<BCurrency> bCurrency = currencyMapper.selectList(new LambdaQueryWrapper<BCurrency>()
|
|
|
- .eq(BCurrency::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(BCurrency::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(code,'" + code + "')")
|
|
|
- .eq(BCurrency::getStatus, 0));
|
|
|
int count = 1;
|
|
|
for (FeesTemplateItems items : losBFeesTemplate.getFeesTemplateItemsList()) {
|
|
|
FeeCenter feeCenter = new FeeCenter();
|
|
|
@@ -243,9 +237,17 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setPrice(items.getPrice());
|
|
|
feeCenter.setCurCode(items.getCurCode());
|
|
|
if (ObjectUtils.isNotNull(feeCenter.getCurCode())) {
|
|
|
- BCurrency currency = bCurrency.stream().filter(e -> e.getCode().equals(feeCenter.getCurCode())).findFirst().orElse(null);
|
|
|
- if (currency != null) {
|
|
|
- feeCenter.setExrate(currency.getExrate());
|
|
|
+ BCurrency bCurrency = new BCurrency();
|
|
|
+ bCurrency.setDate(bills.getEtd());
|
|
|
+ bCurrency.setDc(losBFeesTemplate.getDc());
|
|
|
+ List<BCurrency> bCurrencyList = bCurrencyService.getExrate(bCurrency);
|
|
|
+ if (bCurrencyList.size() > 0) {
|
|
|
+ BCurrency currency = bCurrencyList.stream().filter(e -> e.getCode().equals(feeCenter.getCurCode())).findFirst().orElse(null);
|
|
|
+ if (currency != null) {
|
|
|
+ feeCenter.setExrate(currency.getExrate());
|
|
|
+ } else {
|
|
|
+ throw new RuntimeException("未找到汇率信息");
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if ("1".equals(items.getQuantityRule())) {
|
|
|
@@ -309,23 +311,23 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
if ("TEU".equals(items.getUnitNo())) {
|
|
|
BigDecimal quantity20GPTeu = preContainers.stream().filter(e -> "20GP".equals(e.getCntrTypeCode())).map(PreContainers::getTeu).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
Integer quantity20GP = preContainers.stream().filter(e -> "20GP".equals(e.getCntrTypeCode())).map(PreContainers::getQuantity).mapToInt(Integer::intValue).sum();
|
|
|
- BigDecimal quantity20GPSum = quantity20GPTeu.multiply(new BigDecimal(quantity20GP+""));
|
|
|
+ BigDecimal quantity20GPSum = quantity20GPTeu.multiply(new BigDecimal(quantity20GP + ""));
|
|
|
|
|
|
BigDecimal quantity40GPTeu = preContainers.stream().filter(e -> "40GP".equals(e.getCntrTypeCode())).map(PreContainers::getTeu).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
Integer quantity40GP = preContainers.stream().filter(e -> "40GP".equals(e.getCntrTypeCode())).map(PreContainers::getQuantity).mapToInt(Integer::intValue).sum();
|
|
|
- BigDecimal quantity40GPSum = quantity40GPTeu.multiply(new BigDecimal(quantity40GP+""));
|
|
|
+ BigDecimal quantity40GPSum = quantity40GPTeu.multiply(new BigDecimal(quantity40GP + ""));
|
|
|
|
|
|
BigDecimal quantity40HCTeu = preContainers.stream().filter(e -> "40HC".equals(e.getCntrTypeCode())).map(PreContainers::getTeu).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
Integer quantity40HC = preContainers.stream().filter(e -> "40HC".equals(e.getCntrTypeCode())).map(PreContainers::getQuantity).mapToInt(Integer::intValue).sum();
|
|
|
- BigDecimal quantity40HCSum = quantity40HCTeu.multiply(new BigDecimal(quantity40HC+""));
|
|
|
+ BigDecimal quantity40HCSum = quantity40HCTeu.multiply(new BigDecimal(quantity40HC + ""));
|
|
|
|
|
|
BigDecimal quantity45GPTeu = preContainers.stream().filter(e -> "45GP".equals(e.getCntrTypeCode())).map(PreContainers::getTeu).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
Integer quantity45GP = preContainers.stream().filter(e -> "45GP".equals(e.getCntrTypeCode())).map(PreContainers::getQuantity).mapToInt(Integer::intValue).sum();
|
|
|
- BigDecimal quantity45GPSum = quantity45GPTeu.multiply(new BigDecimal(quantity45GP+""));
|
|
|
+ BigDecimal quantity45GPSum = quantity45GPTeu.multiply(new BigDecimal(quantity45GP + ""));
|
|
|
|
|
|
BigDecimal quantity48GPTeu = preContainers.stream().filter(e -> "48GP".equals(e.getCntrTypeCode())).map(PreContainers::getTeu).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
Integer quantity48GP = preContainers.stream().filter(e -> "48GP".equals(e.getCntrTypeCode())).map(PreContainers::getQuantity).mapToInt(Integer::intValue).sum();
|
|
|
- BigDecimal quantity48GPSum = quantity48GPTeu.multiply(new BigDecimal(quantity48GP+""));
|
|
|
+ BigDecimal quantity48GPSum = quantity48GPTeu.multiply(new BigDecimal(quantity48GP + ""));
|
|
|
|
|
|
BigDecimal quantity = quantity20GPSum.add(quantity40GPSum).add(quantity40HCSum).add(quantity45GPSum).add(quantity48GPSum);
|
|
|
if (quantity.compareTo(new BigDecimal("0")) == 0) {
|
|
|
@@ -422,10 +424,10 @@ public class FeeCenterServiceImpl extends ServiceImpl<FeeCenterMapper, FeeCenter
|
|
|
feeCenter.setAmountLoc(amount);
|
|
|
feeCenter.setAmountDiscountLoc(amount);
|
|
|
} else {
|
|
|
- feeCenter.setAmountNetLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountNet,""));
|
|
|
- feeCenter.setAmountTaxLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountTax,""));
|
|
|
- feeCenter.setAmountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount,""));
|
|
|
- feeCenter.setAmountDiscountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount,""));
|
|
|
+ feeCenter.setAmountNetLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountNet, ""));
|
|
|
+ feeCenter.setAmountTaxLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amountTax, ""));
|
|
|
+ feeCenter.setAmountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount, ""));
|
|
|
+ feeCenter.setAmountDiscountLoc(bCurrencyService.converterCny(feeCenter.getCurCode(), amount, ""));
|
|
|
}
|
|
|
feeCenter.setAmountNet(amountNet);
|
|
|
feeCenter.setAmountTax(amountTax);
|