|
@@ -1889,7 +1889,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
List<FinAccBills> finAccBills = new ArrayList<>();
|
|
List<FinAccBills> finAccBills = new ArrayList<>();
|
|
|
List<FinStlBillsItems> stlBillsItemsList = new ArrayList<>();
|
|
List<FinStlBillsItems> stlBillsItemsList = new ArrayList<>();
|
|
|
List<FeeCenter> feeCenters1 = new ArrayList<>();
|
|
List<FeeCenter> feeCenters1 = new ArrayList<>();
|
|
|
- for (FeeCenter item : feeCenterList) {
|
|
|
|
|
|
|
+ for (FeeCenter item : feeCentersList) {
|
|
|
if (1 == item.getStlStatus()) {
|
|
if (1 == item.getStlStatus()) {
|
|
|
throw new RuntimeException("费用:" + item.getFeeCnName() + "已确认");
|
|
throw new RuntimeException("费用:" + item.getFeeCnName() + "已确认");
|
|
|
}
|
|
}
|
|
@@ -3190,6 +3190,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
}
|
|
|
stlAgent.setTradeAgencyAmount(tradeAgencyAmount);
|
|
stlAgent.setTradeAgencyAmount(tradeAgencyAmount);
|
|
|
stlAgent.setOtherAmount(otherAmount);
|
|
stlAgent.setOtherAmount(otherAmount);
|
|
|
|
|
+ stlAgent.setValueAddedTax(valueAddedTax);
|
|
|
|
|
+ stlAgent.setTariff(tariff);
|
|
|
baseMapper.updateById(stlAgent);
|
|
baseMapper.updateById(stlAgent);
|
|
|
feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
|
//给角色为财务的人发送消息
|
|
//给角色为财务的人发送消息
|
|
@@ -3471,7 +3473,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
if (feeCenterList.isEmpty()) {
|
|
if (feeCenterList.isEmpty()) {
|
|
|
- throw new RuntimeException("请先维护首款费用信息");
|
|
|
|
|
|
|
+ throw new RuntimeException("请先维护应收费用信息");
|
|
|
}
|
|
}
|
|
|
List<Long> ids = feeCenterList.stream().map(FeeCenter::getPid).filter(Objects::nonNull).collect(Collectors.toList());
|
|
List<Long> ids = feeCenterList.stream().map(FeeCenter::getPid).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
List<FeeCenter> feeCenterListC = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
List<FeeCenter> feeCenterListC = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
@@ -3480,9 +3482,17 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
.apply("stl_pid is not null")
|
|
.apply("stl_pid is not null")
|
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
.eq(FeeCenter::getIsDeleted, 0));
|
|
|
- if (feeCenterList.isEmpty()) {
|
|
|
|
|
- throw new RuntimeException("请先维护首款费用信息");
|
|
|
|
|
|
|
+ if (feeCenterListC.isEmpty()) {
|
|
|
|
|
+ throw new RuntimeException("请先维护应付费用信息");
|
|
|
}
|
|
}
|
|
|
|
|
+ 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<AgentRecordReport> reportList = new ArrayList<>();
|
|
|
List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
|
|
List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
|
|
|
"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
@@ -3636,13 +3646,32 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
|
|
agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ BigDecimal remainingAmount = feeCenterList.stream().filter(e -> e.getFeeCode().equals("YFK")).map(FeeCenter::getAmount).filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ if (new BigDecimal("0.00").compareTo(remainingAmount) < 0) {
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(remainingAmount);
|
|
|
|
|
+ agentFeeReport.setBeforeRepairAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ } else if (new BigDecimal("0.00").compareTo(remainingAmount) > 0) {
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ agentFeeReport.setBeforeRepairAmount(remainingAmount.abs());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ agentFeeReport.setBeforeRepairAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ }
|
|
|
|
|
+ agentFeeReport.setRealitySumAmount(agentFeeReport.getRealitySumAmount().add(agentFeeReport.getRealityOtherAmount())
|
|
|
|
|
+ .add(agentFeeReport.getRealityTariff()).add(agentFeeReport.getRealityTradeAgencyAmount())
|
|
|
|
|
+ .add(agentFeeReport.getRealityValueAddedTax()).add(agentFeeReport.getBeforeRepairAmount())
|
|
|
|
|
+ .subtract(agentFeeReport.getRemainingAmount()));
|
|
|
agentFeeReport.setPostElectricFee(agent.getPostElectricFee());
|
|
agentFeeReport.setPostElectricFee(agent.getPostElectricFee());
|
|
|
agentFeeReport.setServiceCharge(agent.getServiceCharge());
|
|
agentFeeReport.setServiceCharge(agent.getServiceCharge());
|
|
|
- agentFeeReport.setSumAmount(agent.getActualAmount());
|
|
|
|
|
- agentFeeReport.setRemainingAmount(feeCenterList.stream().filter(e -> e.getFeeCode().equals("YFK")).map(FeeCenter::getAmount).filter(Objects::nonNull)
|
|
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
|
- agentFeeReport.setRepairAmount(agentFeeReport.getRealitySumAmount().subtract(agentFeeReport.getSumAmount())
|
|
|
|
|
|
|
+ agentFeeReport.setOtherAmount(agent.getOtherAmount());
|
|
|
|
|
+ agentFeeReport.setTariff(agent.getTariff());
|
|
|
|
|
+ agentFeeReport.setValueAddedTax(agent.getValueAddedTax());
|
|
|
|
|
+ agentFeeReport.setTradeAgencyAmount(agent.getTradeAgencyAmount());
|
|
|
|
|
+ agentFeeReport.setSumAmount(agent.getActualAmount().add(agent.getOtherAmount()).add(agent.getTariff())
|
|
|
|
|
+ .add(agent.getValueAddedTax()).add(agent.getTradeAgencyAmount()).add(agentFeeReport.getBeforeRepairAmount())
|
|
|
.subtract(agentFeeReport.getRemainingAmount()));
|
|
.subtract(agentFeeReport.getRemainingAmount()));
|
|
|
|
|
+ agentFeeReport.setRepairAmount(agentFeeReport.getRealitySumAmount().subtract(agentFeeReport.getSumAmount()));
|
|
|
if (new BigDecimal("0.00").compareTo(agentFeeReport.getRepairAmount()) > 0) {
|
|
if (new BigDecimal("0.00").compareTo(agentFeeReport.getRepairAmount()) > 0) {
|
|
|
agentFeeReport.setSurplusAmount(agentFeeReport.getRepairAmount().abs());
|
|
agentFeeReport.setSurplusAmount(agentFeeReport.getRepairAmount().abs());
|
|
|
agentFeeReport.setRepairAmount(agentFeeReport.getRepairAmount().abs());
|
|
agentFeeReport.setRepairAmount(agentFeeReport.getRepairAmount().abs());
|
|
@@ -3652,7 +3681,6 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
}
|
|
|
agentFeeReport.setDate(dateFormat.format(agent.getBusinessDate()));
|
|
agentFeeReport.setDate(dateFormat.format(agent.getBusinessDate()));
|
|
|
agentFeeReport.setPaymentMethod(agent.getAdvanceRatio());
|
|
agentFeeReport.setPaymentMethod(agent.getAdvanceRatio());
|
|
|
-
|
|
|
|
|
agentFeeReport.setReportPostElectricFee(agentFeeReport.getRealityPostElectricFee());
|
|
agentFeeReport.setReportPostElectricFee(agentFeeReport.getRealityPostElectricFee());
|
|
|
BigDecimal discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
|
|
BigDecimal discountAmount = reportList.stream().map(AgentRecordReport::getDiscountAmount)
|
|
|
.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
@@ -3762,6 +3790,14 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ 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<AgentRecordReport> reportList = new ArrayList<>();
|
|
|
List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
|
|
List<FeeCenter> feeCentersSk = feeCenterList.stream().filter(e -> ObjectUtils.isNotNull(e.getFeeType()) &&
|
|
|
"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
"1".equals(e.getFeeType()) && "SFK".equals(e.getFeeCode()))
|
|
@@ -3915,13 +3951,33 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
|
|
agentFeeReport.setRealitySumAmount(realityAmount.add(agentFeeReport.getRealityPostElectricFee()).add(agentFeeReport.getRealityServiceCharge()));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ BigDecimal remainingAmount = feeCenterList.stream().filter(e -> e.getFeeCode().equals("YFK")).map(FeeCenter::getAmount).filter(Objects::nonNull)
|
|
|
|
|
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(remainingAmount);
|
|
|
|
|
+ if (new BigDecimal("0.00").compareTo(remainingAmount) < 0) {
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(remainingAmount);
|
|
|
|
|
+ agentFeeReport.setBeforeRepairAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ } else if (new BigDecimal("0.00").compareTo(remainingAmount) > 0) {
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ agentFeeReport.setBeforeRepairAmount(remainingAmount.abs());
|
|
|
|
|
+ } else {
|
|
|
|
|
+ agentFeeReport.setRemainingAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ agentFeeReport.setBeforeRepairAmount(new BigDecimal("0.00"));
|
|
|
|
|
+ }
|
|
|
|
|
+ agentFeeReport.setRealitySumAmount(agentFeeReport.getRealitySumAmount().add(agentFeeReport.getRealityOtherAmount())
|
|
|
|
|
+ .add(agentFeeReport.getRealityTariff()).add(agentFeeReport.getRealityTradeAgencyAmount())
|
|
|
|
|
+ .add(agentFeeReport.getRealityValueAddedTax()).add(agentFeeReport.getBeforeRepairAmount())
|
|
|
|
|
+ .subtract(agentFeeReport.getRemainingAmount()));
|
|
|
agentFeeReport.setPostElectricFee(agent.getPostElectricFee());
|
|
agentFeeReport.setPostElectricFee(agent.getPostElectricFee());
|
|
|
agentFeeReport.setServiceCharge(agent.getServiceCharge());
|
|
agentFeeReport.setServiceCharge(agent.getServiceCharge());
|
|
|
- agentFeeReport.setSumAmount(agent.getActualAmount());
|
|
|
|
|
- agentFeeReport.setRemainingAmount(feeCenterList.stream().filter(e -> e.getFeeCode().equals("YFK")).map(FeeCenter::getAmount).filter(Objects::nonNull)
|
|
|
|
|
- .reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
|
|
- agentFeeReport.setRepairAmount(agentFeeReport.getRealitySumAmount().subtract(agentFeeReport.getSumAmount())
|
|
|
|
|
|
|
+ agentFeeReport.setOtherAmount(agent.getOtherAmount());
|
|
|
|
|
+ agentFeeReport.setTariff(agent.getTariff());
|
|
|
|
|
+ agentFeeReport.setValueAddedTax(agent.getValueAddedTax());
|
|
|
|
|
+ agentFeeReport.setTradeAgencyAmount(agent.getTradeAgencyAmount());
|
|
|
|
|
+ agentFeeReport.setSumAmount(agent.getActualAmount().add(agent.getOtherAmount()).add(agent.getTariff())
|
|
|
|
|
+ .add(agent.getValueAddedTax()).add(agent.getTradeAgencyAmount()).add(agentFeeReport.getBeforeRepairAmount())
|
|
|
.subtract(agentFeeReport.getRemainingAmount()));
|
|
.subtract(agentFeeReport.getRemainingAmount()));
|
|
|
|
|
+ agentFeeReport.setRepairAmount(agentFeeReport.getRealitySumAmount().subtract(agentFeeReport.getSumAmount()));
|
|
|
if (new BigDecimal("0.00").compareTo(agentFeeReport.getRepairAmount()) > 0) {
|
|
if (new BigDecimal("0.00").compareTo(agentFeeReport.getRepairAmount()) > 0) {
|
|
|
agentFeeReport.setSurplusAmount(agentFeeReport.getRepairAmount().abs());
|
|
agentFeeReport.setSurplusAmount(agentFeeReport.getRepairAmount().abs());
|
|
|
agentFeeReport.setRepairAmount(agentFeeReport.getRepairAmount().abs());
|
|
agentFeeReport.setRepairAmount(agentFeeReport.getRepairAmount().abs());
|