zss
3 天以前 bb6efa768f59b15ec6ee78915d1fe71fa67adc72
销售看板调整
已修改2个文件
76 ■■■■ 文件已修改
src/main/java/com/ruoyi/home/service/HomeService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/service/HomeService.java
@@ -100,11 +100,7 @@
    SalesTotalDto salesAnalysis(SalesDeliveryDto salesDeliveryDto);
    List<SalesTotalDetailDto> salesRanking(SalesDeliveryDto salesDeliveryDto);
    SalesTotalDto salesAmount(SalesDeliveryDto salesDeliveryDto);
    List<SalesTotalDetailDto> salesDataRanking(SalesDeliveryDto salesDeliveryDto);
    SalesTotalDto customerTrends(SalesDeliveryDto salesDeliveryDto);
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -2566,7 +2566,7 @@
                lastDay = date.with(TemporalAdjusters.lastDayOfYear());
            }
            LocalDate finalLastDay = lastDay;
            salesDeliveries = salesDeliveries
            List<SalesDelivery> salesDeliverie = salesDeliveries
                    .stream()
                    .filter(delivery -> {
                        LocalDate deliveryDate = delivery.getDeliveryDate();
@@ -2578,9 +2578,9 @@
                            AddressRegionEnum::getRegionName, // 区域名作为key
                            enumItem -> 0L                    // 初始值全部为0
                    ));
            if (!CollectionUtils.isEmpty(salesDeliveries)) {
            if (!CollectionUtils.isEmpty(salesDeliverie)) {
                // 按区域分组,统计每个区域的销量总和
                regionCountMap = salesDeliveries.stream()
                regionCountMap = salesDeliverie.stream()
                        .filter(delivery -> delivery.getDeliveryPlace() != null)
                        .collect(Collectors.groupingBy(
                                delivery -> {
@@ -2590,7 +2590,7 @@
                                Collectors.summingLong(delivery -> delivery.getVolume() != null ? delivery.getVolume().longValue() : 0L)
                        ));
            }
            regionCountMap.put("全部", salesDeliveries.stream()
            regionCountMap.put("全部", salesDeliverie.stream()
                    .mapToLong(item -> item.getVolume() != null ? item.getVolume().longValue() : 0L)
                    .sum());
            maps.add(regionCountMap);
@@ -2598,54 +2598,6 @@
        salesTotalDto.setDates(dates);
        salesTotalDto.setCustomerTrends(maps);
        return salesTotalDto;
    }
    @Override
    public List<SalesTotalDetailDto> salesRanking(SalesDeliveryDto salesDeliveryDto) {
        List<SalesTotalDetailDto> salesTotalDetailDtos = new ArrayList<>();
        List<LocalDate> dates = convertDateList(salesDeliveryDto.getDays());
        List<SalesDelivery> salesDeliveries = salesDeliveryMapper.selectList(Wrappers.<SalesDelivery>lambdaQuery()
                .eq(SalesDelivery::getProductName, salesDeliveryDto.getType()));
        for (LocalDate date : dates) {
            LocalDate firstDay = date.with(TemporalAdjusters.firstDayOfMonth());
            LocalDate lastDay = date.with(TemporalAdjusters.lastDayOfMonth());
            if (salesDeliveryDto.getDays().equals("年")) {
                lastDay = date.with(TemporalAdjusters.lastDayOfYear());
            }
            LocalDate finalLastDay = lastDay;
            salesDeliveries = salesDeliveries
                    .stream()
                    .filter(delivery -> {
                        LocalDate deliveryDate = delivery.getDeliveryDate();
                        return !deliveryDate.isBefore(firstDay) && !deliveryDate.isAfter(finalLastDay);
                    })
                    .collect(Collectors.toList());
            Map<String, Long> regionCountMap = Arrays.stream(AddressRegionEnum.values())
                    .collect(Collectors.toMap(
                            AddressRegionEnum::getRegionName, // 区域名作为key
                            enumItem -> 0L                    // 初始值全部为0
                    ));
            if (!CollectionUtils.isEmpty(salesDeliveries)) {
                // 按区域分组,统计每个区域的销量总和
                regionCountMap = salesDeliveries.stream()
                        .filter(delivery -> delivery.getDeliveryPlace() != null)
                        .collect(Collectors.groupingBy(
                                delivery -> {
                                    AddressRegionEnum regionEnum = AddressRegionEnum.matchRegion(delivery.getDeliveryPlace());
                                    return regionEnum != null ? regionEnum.getRegionName() : null;
                                },
                                Collectors.summingLong(delivery -> delivery.getVolume() != null ? delivery.getVolume().longValue() : 0L)
                        ));
            }
            regionCountMap.put("全部", salesDeliveries.stream()
                    .mapToLong(item -> item.getVolume() != null ? item.getVolume().longValue() : 0L)
                    .sum());
            SalesTotalDetailDto salesTotalDetailDto = new SalesTotalDetailDto();
            salesTotalDetailDto.setDate(date);
            salesTotalDetailDto.setType(salesDeliveryDto.getType());
            salesTotalDetailDtos.add(salesTotalDetailDto);
        }
        return salesTotalDetailDtos;
    }
    @Override
@@ -2662,7 +2614,7 @@
                lastDay = date.with(TemporalAdjusters.lastDayOfYear());
            }
            LocalDate finalLastDay = lastDay;
            salesDeliveries = salesDeliveries
            List<SalesDelivery> salesDeliverie = salesDeliveries
                    .stream()
                    .filter(delivery -> {
                        LocalDate deliveryDate = delivery.getDeliveryDate();
@@ -2674,9 +2626,9 @@
                            AddressRegionEnum::getRegionName, // 区域名作为key
                            enumItem -> 0L                    // 初始值全部为0
                    ));
            if (!CollectionUtils.isEmpty(salesDeliveries)) {
            if (!CollectionUtils.isEmpty(salesDeliverie)) {
                // 按区域分组,统计每个区域的销量总和
                regionCountMap = salesDeliveries.stream()
                regionCountMap = salesDeliverie.stream()
                        .filter(delivery -> delivery.getDeliveryPlace() != null)
                        .collect(Collectors.groupingBy(
                                delivery -> {
@@ -2686,7 +2638,7 @@
                                Collectors.summingLong(delivery -> delivery.getPrice() != null ? delivery.getPrice().longValue() : 0L)
                        ));
            }
            regionCountMap.put("全部", salesDeliveries.stream()
            regionCountMap.put("全部", salesDeliverie.stream()
                    .mapToLong(item -> item.getPrice() != null ? item.getPrice().longValue() : 0L)
                    .sum());
            maps.add(regionCountMap);
@@ -2694,14 +2646,6 @@
        salesTotalDto.setDates(dates);
        salesTotalDto.setCustomerTrends(maps);
        return salesTotalDto;
    }
    @Override
    public List<SalesTotalDetailDto> salesDataRanking(SalesDeliveryDto salesDeliveryDto) {
        List<SalesTotalDetailDto> salesTotalDetailDtos = new ArrayList<>();
        List<LocalDate> dates = convertDateList(salesDeliveryDto.getDays());
        return salesTotalDetailDtos;
    }
    @Override