| | |
| | | analysisCustomerContractAmountsDto.setChain(chain); |
| | | |
| | | Map<String, BigDecimal> collect = salesLedgers.stream() |
| | | .collect(Collectors.groupingBy(SalesLedger::getCustomerName, Collectors.reducing(BigDecimal.ZERO, |
| | | SalesLedger::getContractAmount, BigDecimal::add))); |
| | | .collect(Collectors.groupingBy( |
| | | salesLedger -> StringUtils.isBlank(salesLedger.getCustomerName()) ? "未分配客户" : salesLedger.getCustomerName(), |
| | | Collectors.reducing(BigDecimal.ZERO, |
| | | salesLedger -> Objects.nonNull(salesLedger.getContractAmount()) |
| | | ? salesLedger.getContractAmount() : BigDecimal.ZERO, |
| | | BigDecimal::add))); |
| | | List<MapDto> mapDtos = new ArrayList<>(); |
| | | collect.forEach((k, v) -> { |
| | | MapDto mapDto = new MapDto(); |