| | |
| | | // 创建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)) { |
| | | // 合计合同金额 |
| | |
| | | |
| | | @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) |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | 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); |
| | |
| | | } |
| | | // 应收 |
| | | 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, |
| | |
| | | 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++) { |
| | |
| | | |
| | | return productProcessMapper.calculateProductionStatistics(startDateTime, endDateTime, userId, processIds); |
| | | } |
| | | } |
| | | } |