Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Map<Long, ReportVendorTotalsDTO> vendorById = new HashMap<>();
- List<ReportVendorDetailsDTO> secVendors = new ArrayList<>();
- for (ReportVendorDetailsDTO dto: result) {
- if (!vendorById.containsKey(dto.getVendorId())) {
- ReportVendorTotalsDTO mainDTO = new ReportVendorTotalsDTO(dto.getVendorId(),
- dto.getVendorName(), dto.getVendorNumber(), dto.isCreditCardPayer(), dto.getAmount(), dto.getType1099());
- vendorById.put(dto.getVendorId(), mainDTO);
- } else {
- ReportVendorTotalsDTO vendor = vendorById.get(dto.getVendorId());
- vendor.setAmount(vendor.getAmount().add(dto.getAmount()));
- }
- if (StringUtils.isNotBlank(dto.getSecondaryPayeesName())) {
- vendorById.get(dto.getVendorId()).getSecondaryPayees().add(dto);
- if (dto.getSecondaryVendorId() != 0) {
- secVendors.add(dto);
- }
- }
- }
- for (ReportVendorDetailsDTO dto: secVendors) {
- if (dto.getSecondaryVendorId() != 0
- && vendorById.containsKey(dto.getSecondaryVendorId())
- && !vendorById.get(dto.getSecondaryVendorId()).isCreditCardPayer()) {
- ReportVendorTotalsDTO reportVendorTotalsDTO = vendorById.get(dto.getSecondaryVendorId());
- reportVendorTotalsDTO.setSecondaryPayments(reportVendorTotalsDTO.getSecondaryPayments() == null ? dto.getAmount()
- : reportVendorTotalsDTO.getSecondaryPayments().add(dto.getAmount()));
- }
- }
- List<ReportVendorTotalsDTO> values = new ArrayList<>();
- if (VendorRestrictions.OVER_600.equals(vR)) {
- for (ReportVendorTotalsDTO dto : vendorById.values() ) {
- if (dto.getAmount().compareTo(BigDecimal.valueOf(600)) >= 0) {
- values.add(dto);
- }
- }
- } else {
- values.addAll(vendorById.values());
- }
- if (CollectionUtils.isNotEmpty(vendorIds)) {
- values = values.stream().filter(x -> vendorIds.contains(x.getVendorId())).collect(Collectors.toList());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement