|
|
@ -61,59 +61,25 @@ public class BirTbsVtbPayJoinServiceImpl extends ServiceImpl<BirTbsVtbPayJoinMap |
|
|
|
private TbsCostApplyService costApplyService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<BirTbsVtbPayJoinDTO> selectBirTbsVtbPayJoinDTO(BirTbsVtbPayJoinSo so){ |
|
|
|
PageUtil.startPage(); |
|
|
|
so.setOnlyAct(1); |
|
|
|
List<BirTbsVtbPayJoinDTO> costApplyList = this.baseMapper.selectBirTbsVtbPayJoinDTO(so); |
|
|
|
List<Long> actIds = costApplyList.stream().map(a->a.getActivityId()).collect(Collectors.toList()); |
|
|
|
if(actIds.size()==0){ |
|
|
|
return new ArrayList<>(); |
|
|
|
public PageVo<BirTbsVtbPayJoinDTO> selectBirTbsVtbPayJoinDTO(BirTbsVtbPayJoinSo so,Integer searchPage){ |
|
|
|
if(searchPage==1) { |
|
|
|
PageUtil.startPage(); |
|
|
|
} |
|
|
|
so.setOnlyAct(null); |
|
|
|
so.setActIds(actIds); |
|
|
|
List<BirTbsVtbPayJoinDTO> dtoList = this.baseMapper.selectBirTbsVtbPayJoinDTO(so); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> actDtoList = dtoList.stream().collect(Collectors.groupingBy(BirTbsVtbPayJoinDTO::getActivityId)) |
|
|
|
.values() |
|
|
|
.stream() |
|
|
|
.flatMap(List::stream) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
List<BirVtbPayJoinDTO> vtbDtoList = dtoList.stream().filter(a->a.getVtbId()!=null).collect(Collectors.groupingBy(BirTbsVtbPayJoinDTO::getVtbId)) |
|
|
|
.values() |
|
|
|
.stream() |
|
|
|
.flatMap(List::stream).map(a->{ |
|
|
|
BirVtbPayJoinDTO dto = new BirVtbPayJoinDTO(); |
|
|
|
CopierUtil.copy(a,dto); |
|
|
|
return dto; |
|
|
|
}) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
List<BirPayJoinDTO> payDtoList = dtoList.stream().filter(a->a.getPayId()!=null).collect(Collectors.groupingBy(BirTbsVtbPayJoinDTO::getPayId)) |
|
|
|
.values() |
|
|
|
.stream() |
|
|
|
.flatMap(List::stream).map(a->{ |
|
|
|
BirPayJoinDTO dto = new BirPayJoinDTO(); |
|
|
|
CopierUtil.copy(a,dto); |
|
|
|
return dto; |
|
|
|
}) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
List<BirVtbPayJoinDTO> vtbDtoChirlList = vtbDtoList.stream().map(vtb->{ |
|
|
|
List<BirPayJoinDTO> payList = payDtoList.stream().filter(pay->pay.getVtbId().equals(vtb.getVtbId())).collect(Collectors.toList()); |
|
|
|
vtb.setPayJoinDTOList(payList); |
|
|
|
return vtb; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
PageVo<BirTbsVtbPayJoinDTO> pageVo = new PageVo<>(); |
|
|
|
if(searchPage==1) { |
|
|
|
pageVo = R.buildPageHelperList(dtoList); |
|
|
|
} |
|
|
|
|
|
|
|
List<Long> actIds = dtoList.stream().map(a->a.getActivityId()).distinct().collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> sumVtbAmountList = actIds.size()>0?this.baseMapper.selectSumVtbAmount(actIds):new ArrayList<>(); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> sumPayAmountList = actIds.size()>0?this.baseMapper.selectSumPayAmount(actIds):new ArrayList<>(); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> returnActDtoList = actDtoList.stream().map(act->{ |
|
|
|
List<BirVtbPayJoinDTO> vtbList = vtbDtoChirlList.stream().filter(vtb->vtb.getActivityId().equals(act.getActivityId())).collect(Collectors.toList()); |
|
|
|
act.setBirVtbPayJoinDTOList(vtbList); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> returnActDtoList = dtoList.stream().map(act->{ |
|
|
|
|
|
|
|
Optional<BirTbsVtbPayJoinDTO> sumVtbAmountMatch = sumVtbAmountList.stream() |
|
|
|
.filter(a->a.getActivityId().equals(act.getActivityId())) |
|
|
@ -149,7 +115,123 @@ public class BirTbsVtbPayJoinServiceImpl extends ServiceImpl<BirTbsVtbPayJoinMap |
|
|
|
return act; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
return returnActDtoList; |
|
|
|
pageVo.setList(returnActDtoList); |
|
|
|
|
|
|
|
return pageVo; |
|
|
|
} |
|
|
|
|
|
|
|
public BirTbsVtbPayJoinDTO getSumData(BirTbsVtbPayJoinSo so){ |
|
|
|
|
|
|
|
BirTbsVtbPayJoinDTO sumDto = new BirTbsVtbPayJoinDTO(); |
|
|
|
|
|
|
|
so.setOnlyAct(1); |
|
|
|
List<BirTbsVtbPayJoinDTO> costApplyList = this.baseMapper.selectBirTbsVtbPayJoinDTO(so); |
|
|
|
List<Long> actIds = costApplyList.stream().map(a->a.getActivityId()).collect(Collectors.toList()); |
|
|
|
if(actIds.size()==0){ |
|
|
|
return sumDto; |
|
|
|
} |
|
|
|
so.setOnlyAct(null); |
|
|
|
so.setActIds(actIds); |
|
|
|
List<BirTbsVtbPayJoinDTO> dtoList = this.baseMapper.selectBirTbsVtbPayJoinDTO(so); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> sumVtbAmountList = actIds.size()>0?this.baseMapper.selectSumVtbAmount(actIds):new ArrayList<>(); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> sumPayAmountList = actIds.size()>0?this.baseMapper.selectSumPayAmount(actIds):new ArrayList<>(); |
|
|
|
|
|
|
|
List<BirTbsVtbPayJoinDTO> returnActDtoList = dtoList.stream() |
|
|
|
.collect(Collectors.groupingBy(BirTbsVtbPayJoinDTO::getActivityId)) |
|
|
|
.values() |
|
|
|
.stream() |
|
|
|
.flatMap(List::stream).map(act->{ |
|
|
|
|
|
|
|
Optional<BirTbsVtbPayJoinDTO> sumVtbAmountMatch = sumVtbAmountList.stream() |
|
|
|
.filter(a->a.getActivityId().equals(act.getActivityId())) |
|
|
|
.findFirst(); |
|
|
|
|
|
|
|
if (sumVtbAmountMatch.isPresent()) { |
|
|
|
act.setCheckedAmount(sumVtbAmountMatch.get().getCheckedAmount()); |
|
|
|
act.setCheckingAmount(sumVtbAmountMatch.get().getCheckingAmount()); |
|
|
|
}else{ |
|
|
|
act.setCheckedAmount(BigDecimal.ZERO); |
|
|
|
act.setCheckingAmount(BigDecimal.ZERO); |
|
|
|
} |
|
|
|
|
|
|
|
Optional<BirTbsVtbPayJoinDTO> sumPayAmountMatch = sumPayAmountList.stream() |
|
|
|
.filter(a->a.getActivityId().equals(act.getActivityId())) |
|
|
|
.findFirst(); |
|
|
|
|
|
|
|
if (sumPayAmountMatch.isPresent()) { |
|
|
|
act.setPayedAmount(sumPayAmountMatch.get().getPayedAmount()); |
|
|
|
act.setNotPayAmount(sumPayAmountMatch.get().getNotPayAmount()); |
|
|
|
}else{ |
|
|
|
act.setPayedAmount(BigDecimal.ZERO); |
|
|
|
act.setNotPayAmount(BigDecimal.ZERO); |
|
|
|
} |
|
|
|
|
|
|
|
if(act.getReleaseAmount()==null){ |
|
|
|
act.setReleaseAmount(BigDecimal.ZERO); |
|
|
|
} |
|
|
|
|
|
|
|
act.setUnCheckAmount(act.getActivityAmount().subtract(act.getCheckedAmount()).subtract(act.getCheckingAmount()).subtract(act.getReleaseAmount())); |
|
|
|
act.setUnpayAmount(act.getCheckedAmount().subtract(act.getPayedAmount())); |
|
|
|
|
|
|
|
return act; |
|
|
|
}).collect(Collectors.toList()); |
|
|
|
|
|
|
|
|
|
|
|
BigDecimal activityAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getActivityAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal checkedAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getCheckedAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal checkingAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getCheckingAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal releaseAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getReleaseAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal unCheckAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getUnCheckAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal payedAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getPayedAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal unpayAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getUnpayAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal notPayAmount = returnActDtoList.stream() |
|
|
|
.map(BirTbsVtbPayJoinDTO::getNotPayAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
sumDto.setActivityAmount(activityAmount); |
|
|
|
sumDto.setCheckedAmount(checkedAmount); |
|
|
|
sumDto.setCheckingAmount(checkingAmount); |
|
|
|
sumDto.setReleaseAmount(releaseAmount); |
|
|
|
sumDto.setUnCheckAmount(unCheckAmount); |
|
|
|
sumDto.setPayedAmount(payedAmount); |
|
|
|
sumDto.setUnpayAmount(unpayAmount); |
|
|
|
sumDto.setNotPayAmount(notPayAmount); |
|
|
|
|
|
|
|
BigDecimal vtbAmount = dtoList.stream().filter(a->a.getVtbAmount()!=null) |
|
|
|
.map(BirTbsVtbPayJoinDTO::getVtbAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
BigDecimal payAmount = dtoList.stream().filter(a->a.getPayAmount()!=null) |
|
|
|
.map(BirTbsVtbPayJoinDTO::getPayAmount) |
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add); |
|
|
|
|
|
|
|
sumDto.setVtbAmount(vtbAmount); |
|
|
|
sumDto.setPayAmount(payAmount); |
|
|
|
|
|
|
|
return sumDto; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|