huminmin
2026-06-01 7944fe0c62ad8ac73bfc46b44bdc243c78158abb
销售订单数据排除反审
已修改5个文件
42 ■■■■■ 文件已修改
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/MetricStatisticsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -151,7 +151,8 @@
        // 创建LambdaQueryWrapper
        LambdaQueryWrapper<SalesLedger> salesLedgerLambdaQueryWrapper = new LambdaQueryWrapper<>();
        salesLedgerLambdaQueryWrapper.ge(SalesLedger::getEntryDate, currentMonth.atDay(1).atStartOfDay()) // 大于等于本月第一天
                .lt(SalesLedger::getEntryDate, currentMonth.plusMonths(1).atDay(1).atStartOfDay()); // 小于下月第一天
                .lt(SalesLedger::getEntryDate, currentMonth.plusMonths(1).atDay(1).atStartOfDay()) // 小于下月第一天
                .ne(SalesLedger::getReviewStatus, 2); // 排除反审核数据
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(salesLedgerLambdaQueryWrapper);
        if (!CollectionUtils.isEmpty(salesLedgers)) {
            // 合计合同金额
@@ -213,7 +214,7 @@
    @Override
    public AnalysisCustomerContractAmountsDto analysisCustomerContractAmounts() {
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(null);
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>().ne(SalesLedger::getReviewStatus, 2));
        // 合计合同金额
        BigDecimal contractAmount = salesLedgers.stream().map(SalesLedger::getContractAmount)
                .filter(Objects::nonNull)
@@ -229,7 +230,8 @@
        LocalDate endOfWeek = today.with(DayOfWeek.SUNDAY);
        List<SalesLedger> salesLedgers1 = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
                .ge(SalesLedger::getEntryDate, startOfWeek) // 大于等于本周周一
                .lt(SalesLedger::getEntryDate, endOfWeek.plusDays(1))); // 修改:使用 lt 并加上一天来包含周日
                .lt(SalesLedger::getEntryDate, endOfWeek.plusDays(1))
                .ne(SalesLedger::getReviewStatus, 2)); // 修改:使用 lt 并加上一天来包含周日
        BigDecimal weekContractAmount = salesLedgers1.stream().map(SalesLedger::getContractAmount)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -238,7 +240,8 @@
        LocalDate lastYearEndOfWeek = today.minusYears(1).with(DayOfWeek.SUNDAY);
        List<SalesLedger> salesLedgers2 = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
                .ge(SalesLedger::getEntryDate, lastYearStartOfWeek) // 大于等于去年本周周一
                .lt(SalesLedger::getEntryDate, lastYearEndOfWeek.plusDays(1))); // 修改:使用 lt 并加上一天来包含周日
                .lt(SalesLedger::getEntryDate, lastYearEndOfWeek.plusDays(1))
                .ne(SalesLedger::getReviewStatus, 2)); // 修改:使用 lt 并加上一天来包含周日
        BigDecimal lastYearWeekContractAmount = salesLedgers2.stream().map(SalesLedger::getContractAmount)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -258,13 +261,15 @@
        LocalDate plusDays = today.plusDays(1);
        List<SalesLedger> salesLedgers3 = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
                .ge(SalesLedger::getEntryDate, today) // 大于等于今天
                .lt(SalesLedger::getEntryDate, plusDays)); // 修改:使用 lt 并加上一天来包含当天
                .lt(SalesLedger::getEntryDate, plusDays)
                .ne(SalesLedger::getReviewStatus, 2)); // 修改:使用 lt 并加上一天来包含当天
        BigDecimal todayContractAmount = salesLedgers3.stream().map(SalesLedger::getContractAmount)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
        List<SalesLedger> salesLedgers4 = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
                .ge(SalesLedger::getEntryDate, yesterday) // 大于等于昨天
                .lt(SalesLedger::getEntryDate, today)); // 修改:使用 lt 而不是 gt
                .lt(SalesLedger::getEntryDate, today)
                .ne(SalesLedger::getReviewStatus, 2)); // 修改:使用 lt 而不是 gt
        BigDecimal lastYearYesterdayContractAmount = salesLedgers4.stream().map(SalesLedger::getContractAmount)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -503,8 +508,7 @@
        }
        // 应收
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
                // .ge(SalesLedger::getEntryDate, startDate)
                // .lt(SalesLedger::getEntryDate, endDate)
                .ne(SalesLedger::getReviewStatus, 2) // 排除反审核数据
        );
        // BigDecimal receivableMoney =
        // salesLedgers.stream().map(SalesLedger::getContractAmount).reduce(BigDecimal.ZERO,
@@ -799,7 +803,8 @@
        List<SalesLedger> list = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
                .eq(SalesLedger::getCustomerId, customerId)
                .ge(SalesLedger::getEntryDate, start)
                .le(SalesLedger::getEntryDate, end));
                .le(SalesLedger::getEntryDate, end)
                .ne(SalesLedger::getReviewStatus, 2));
        if (groupByMonth) {
            for (int i = 0; i < 3; i++) {
@@ -2487,4 +2492,4 @@
        return productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processIds);
    }
}
}
src/main/java/com/ruoyi/sales/mapper/SalesLedgerMapper.java
@@ -70,7 +70,8 @@
            "SUM(CASE WHEN slp.approve_status = 2 THEN 1 ELSE 0 END) / COUNT(DISTINCT sl.id) * 100), 2) AS ship_rate " +
            "FROM sales_ledger sl " +
            "LEFT JOIN sales_ledger_product slp ON sl.id = slp.sales_ledger_id " +
            "WHERE sl.entry_date &gt;= DATE_FORMAT(#{statisticsTableDto.entryDateStart}, '%Y-%m-01') " +
            "WHERE sl.review_status != 2 " +
            "AND sl.entry_date &gt;= DATE_FORMAT(#{statisticsTableDto.entryDateStart}, '%Y-%m-01') " +
            "AND sl.entry_date &lt;= LAST_DAY(#{statisticsTableDto.entryDateEnd}) " +
            // 产品大类筛选
            "<if test='statisticsTableDto.productCategory != null and statisticsTableDto.productCategory != \"\"'>" +
@@ -89,4 +90,4 @@
    List<SalesLedgerProcessRoute> selectSalesProcess(Long salesLedgerId);
}
}
src/main/java/com/ruoyi/sales/service/impl/MetricStatisticsServiceImpl.java
@@ -37,7 +37,7 @@
    private ShippingInfoMapper shippingInfoMapper;
    public AjaxResult total() {
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(null);
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>().ne(SalesLedger::getReviewStatus, 2));
        if(CollectionUtils.isEmpty(salesLedgers)) return AjaxResult.success(salesLedgers);
        Map<String, Object> map = new HashMap<>();
        // 销售额
@@ -129,4 +129,4 @@
        map.put("shippingRateList", shippingRateList);
        return AjaxResult.success(map);
    }
}
}
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -272,7 +272,7 @@
    @Override
    public Map<String,BigDecimal> getAmountMouth() {
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(null);
        List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>().ne(SalesLedger::getReviewStatus, 2));
        BigDecimal contractAmount = salesLedgers.stream().map(SalesLedger::getContractAmount)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -354,4 +354,4 @@
        }
    }
}
}
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -331,7 +331,9 @@
    public List getTopFiveList() {
        // 查询原始数据
        LambdaQueryWrapper<SalesLedger> queryWrapper = Wrappers.lambdaQuery();
        queryWrapper.select(SalesLedger::getCustomerId, SalesLedger::getCustomerName, SalesLedger::getContractAmount).orderByDesc(SalesLedger::getContractAmount);
        queryWrapper.select(SalesLedger::getCustomerId, SalesLedger::getCustomerName, SalesLedger::getContractAmount)
                .orderByDesc(SalesLedger::getContractAmount)
                .ne(SalesLedger::getReviewStatus, 2); // 排除反审核数据
        List<SalesLedger> records = salesLedgerMapper.selectList(queryWrapper);
        // 按客户ID分组并聚合金额