|
|
@@ -2800,8 +2800,11 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
if (feeCenterListD.isEmpty()) {
|
|
|
throw new RuntimeException("未找到应收费用明细");
|
|
|
}
|
|
|
+ BigDecimal amount = new BigDecimal("0.00");
|
|
|
+ for (FeeCenter item : feeCenterListD){
|
|
|
+ amount = amount.add(item.getAmountLoc().multiply(item.getStlExrate()));
|
|
|
+ }
|
|
|
BigDecimal amountD = feeCenterListD.stream().map(FeeCenter::getStlTtlAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- BigDecimal amount = feeCenterListD.stream().map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
if (amount.compareTo(amountD) != 0) {
|
|
|
return R.data("实收未全部到账是否继续确认付款");
|
|
|
} else {
|
|
|
@@ -3482,17 +3485,21 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.apply("stl_pid is not null")
|
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
- if (feeCenterListC.isEmpty()) {
|
|
|
- throw new RuntimeException("请先维护应付费用信息");
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }else{
|
|
|
+ agentFeeReport.setRealityOtherAmount(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityTariff(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityValueAddedTax(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityTradeAgencyAmount(new BigDecimal("0.00"));
|
|
|
}
|
|
|
- agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
List<AgentRecordReport> reportList = new ArrayList<>();
|
|
|
List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
|
|
|
"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
|
@@ -3525,31 +3532,42 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setSkAmountUsd(item.getAmountLoc());
|
|
|
agentFeeItemsReport.setExchangeRate(item.getExrate());
|
|
|
agentFeeItemsReport.setAmount(item.getAmountLoc().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- if (feeCenter != null) {
|
|
|
- AgentRecordReport report = new AgentRecordReport();
|
|
|
- if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
- report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (feeCenter != null) {
|
|
|
+ AgentRecordReport report = new AgentRecordReport();
|
|
|
+ if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
+ report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ }
|
|
|
+ report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
+ report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ reportList.add(report);
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
+ agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ } else {
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
+ agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
- report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- reportList.add(report);
|
|
|
- agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
- agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- } else {
|
|
|
+ }else{
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
+
|
|
|
agentFeeItemsReportList.add(agentFeeItemsReport);
|
|
|
}
|
|
|
- agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }else{
|
|
|
+ agentFeeReport.setRealityPostElectricFee(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityServiceCharge(new BigDecimal("0.00"));
|
|
|
+ }
|
|
|
BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
|
|
|
.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
|
|
|
@@ -3594,46 +3612,49 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setWkAmountUsd(item.getAmountLoc());
|
|
|
agentFeeItemsReport.setExchangeRate(item.getExrate());
|
|
|
agentFeeItemsReport.setAmount(agentFeeItemsReport.getWkAmountUsd().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- if (feeCenter != null) {
|
|
|
- AgentRecordReport report = new AgentRecordReport();
|
|
|
- if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
- report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (feeCenter != null) {
|
|
|
+ AgentRecordReport report = new AgentRecordReport();
|
|
|
+ if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
+ report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ }
|
|
|
+ report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
+ report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ reportList.add(report);
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
+ agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ } else {
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
+ agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
- report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- reportList.add(report);
|
|
|
- agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
- agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- } else {
|
|
|
+ }else{
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
agentFeeItemsReportList.add(agentFeeItemsReport);
|
|
|
}
|
|
|
+ BigDecimal ydf = new BigDecimal("0.00");
|
|
|
+ BigDecimal sxf = new BigDecimal("0.00");
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ ydf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ sxf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(agentFeeReport.getRealityPostElectricFee())) {
|
|
|
- agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(
|
|
|
- feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
- ));
|
|
|
+ agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(ydf));
|
|
|
} else {
|
|
|
- agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityPostElectricFee(ydf);
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(agentFeeReport.getRealityServiceCharge())) {
|
|
|
- agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(
|
|
|
- feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
- ));
|
|
|
+ agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(sxf));
|
|
|
} else {
|
|
|
- agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityServiceCharge(sxf);
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(agentFeeReport.getRealitySumAmount())) {
|
|
|
BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
|
|
|
@@ -3682,8 +3703,11 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeReport.setDate(dateFormat.format(agent.getBusinessDate()));
|
|
|
agentFeeReport.setPaymentMethod(agent.getAdvanceRatio());
|
|
|
agentFeeReport.setReportPostElectricFee(agentFeeReport.getRealityPostElectricFee());
|
|
|
- BigDecimal discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
|
|
|
- .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ BigDecimal discountAmount = new BigDecimal("0.00");
|
|
|
+ if (!reportList.isEmpty()){
|
|
|
+ discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
|
|
|
+ .filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
@@ -3772,32 +3796,36 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.apply("stl_pid is not null")
|
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
- if (feeCenterListC.isEmpty()) {
|
|
|
- throw new RuntimeException("请先维护首款费用信息");
|
|
|
- }
|
|
|
boolean status = false;
|
|
|
- List<Long> stlPidC = feeCenterListC.stream().map(FeeCenter::getStlPid).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
- if (!stlPidC.isEmpty()) {
|
|
|
- List<Agent> agentList = baseMapper.selectList(new LambdaQueryWrapper<Agent>()
|
|
|
- .eq(Agent::getTenantId, AuthUtil.getTenantId())
|
|
|
- .eq(Agent::getIsDeleted, 0)
|
|
|
- .eq(Agent::getBusinessType, "MYDL-STL")
|
|
|
- .eq(Agent::getDc, "C")
|
|
|
- .in(Agent::getId, stlPidC));
|
|
|
- for (Agent item : agentList) {
|
|
|
- if ("已确认".equals(item.getOrderStatus())) {
|
|
|
- status = true;
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ List<Long> stlPidC = feeCenterListC.stream().map(FeeCenter::getStlPid).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
+ if (!stlPidC.isEmpty()) {
|
|
|
+ List<Agent> agentList = baseMapper.selectList(new LambdaQueryWrapper<Agent>()
|
|
|
+ .eq(Agent::getTenantId, AuthUtil.getTenantId())
|
|
|
+ .eq(Agent::getIsDeleted, 0)
|
|
|
+ .eq(Agent::getBusinessType, "MYDL-STL")
|
|
|
+ .eq(Agent::getDc, "C")
|
|
|
+ .in(Agent::getId, stlPidC));
|
|
|
+ for (Agent item : agentList) {
|
|
|
+ if ("已确认".equals(item.getOrderStatus())) {
|
|
|
+ status = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
|
|
|
+ .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }else{
|
|
|
+ agentFeeReport.setRealityOtherAmount(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityTariff(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityValueAddedTax(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityTradeAgencyAmount(new BigDecimal("0.00"));
|
|
|
}
|
|
|
- agentFeeReport.setRealityOtherAmount(feeCenterListC.stream().filter(e -> !"SXF,YDF,YFK,WK,SFK,DLF,ZZS,GS".contains(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityTariff(feeCenterListC.stream().filter(e -> "GS".equals(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityValueAddedTax(feeCenterListC.stream().filter(e -> "ZZS".equals(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityTradeAgencyAmount(feeCenterListC.stream().filter(e -> "DLF".equals(e.getFeeCode()))
|
|
|
- .map(FeeCenter::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
List<AgentRecordReport> reportList = new ArrayList<>();
|
|
|
List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
|
|
|
"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
|
@@ -3830,31 +3858,41 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setSkAmountUsd(item.getAmountLoc());
|
|
|
agentFeeItemsReport.setExchangeRate(item.getExrate());
|
|
|
agentFeeItemsReport.setAmount(item.getAmountLoc().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- if (feeCenter != null) {
|
|
|
- AgentRecordReport report = new AgentRecordReport();
|
|
|
- if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
- report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (feeCenter != null) {
|
|
|
+ AgentRecordReport report = new AgentRecordReport();
|
|
|
+ if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
+ report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ }
|
|
|
+ report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
+ report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ reportList.add(report);
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
+ agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ } else {
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
+ agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
- report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- reportList.add(report);
|
|
|
- agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
- agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- } else {
|
|
|
+ }else{
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
agentFeeItemsReportList.add(agentFeeItemsReport);
|
|
|
}
|
|
|
- agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
- agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "1".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ }else{
|
|
|
+ agentFeeReport.setRealityPostElectricFee(new BigDecimal("0.00"));
|
|
|
+ agentFeeReport.setRealityServiceCharge(new BigDecimal("0.00"));
|
|
|
+ }
|
|
|
BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
|
|
|
.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
|
|
|
@@ -3899,46 +3937,49 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeItemsReport.setWkAmountUsd(item.getAmountLoc());
|
|
|
agentFeeItemsReport.setExchangeRate(item.getExrate());
|
|
|
agentFeeItemsReport.setAmount(agentFeeItemsReport.getWkAmountUsd().multiply(item.getExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- if (feeCenter != null) {
|
|
|
- AgentRecordReport report = new AgentRecordReport();
|
|
|
- if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
- report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ FeeCenter feeCenter = feeCenterListC.stream().filter(e -> e.getFeeCode().equals(item.getFeeCode())
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()) && "WK".equals(e.getFeeCode()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (feeCenter != null) {
|
|
|
+ AgentRecordReport report = new AgentRecordReport();
|
|
|
+ if (ObjectUtils.isNotNull(feeCenter.getStlDate())) {
|
|
|
+ report.setDate(dateFormat.format(feeCenter.getStlDate()));
|
|
|
+ }
|
|
|
+ report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
+ report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ reportList.add(report);
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
+ agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
+ } else {
|
|
|
+ agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
+ agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
- report.setExchangeRate(feeCenter.getDiscountExrate());
|
|
|
- report.setDiscountAmount(item.getAmountLoc().multiply(feeCenter.getDiscountExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- reportList.add(report);
|
|
|
- agentFeeItemsReport.setRealityExchangeRate(feeCenter.getStlExrate());
|
|
|
- agentFeeItemsReport.setRealityAmount(item.getAmountLoc().multiply(feeCenter.getStlExrate()).setScale(2, RoundingMode.HALF_UP));
|
|
|
- } else {
|
|
|
+ }else{
|
|
|
agentFeeItemsReport.setRealityExchangeRate(null);
|
|
|
agentFeeItemsReport.setRealityAmount(null);
|
|
|
}
|
|
|
agentFeeItemsReportList.add(agentFeeItemsReport);
|
|
|
}
|
|
|
+ BigDecimal ydf = new BigDecimal("0.00");
|
|
|
+ BigDecimal sxf = new BigDecimal("0.00");
|
|
|
+ if (!feeCenterListC.isEmpty()) {
|
|
|
+ ydf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ sxf = feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
+ && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
+ .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
+ }
|
|
|
if (ObjectUtils.isNotNull(agentFeeReport.getRealityPostElectricFee())) {
|
|
|
- agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(
|
|
|
- feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
- ));
|
|
|
+ agentFeeReport.setRealityPostElectricFee(agentFeeReport.getRealityPostElectricFee().add(ydf));
|
|
|
} else {
|
|
|
- agentFeeReport.setRealityPostElectricFee(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("YDF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityPostElectricFee(ydf);
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(agentFeeReport.getRealityServiceCharge())) {
|
|
|
- agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(
|
|
|
- feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)
|
|
|
- ));
|
|
|
+ agentFeeReport.setRealityServiceCharge(agentFeeReport.getRealityServiceCharge().add(sxf));
|
|
|
} else {
|
|
|
- agentFeeReport.setRealityServiceCharge(feeCenterListC.stream().filter(e -> e.getFeeCode().equals("SXF")
|
|
|
- && ObjectUtils.isNotNull(e.getFeeType()) && "2".equals(e.getFeeType()))
|
|
|
- .map(FeeCenter::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ agentFeeReport.setRealityServiceCharge(sxf);
|
|
|
}
|
|
|
if (ObjectUtils.isNotNull(agentFeeReport.getRealitySumAmount())) {
|
|
|
BigDecimal realityAmount = agentFeeItemsReportList.stream().map(AgentFeeItemsReport::getRealityAmount)
|