| | |
| | | import com.ruoyi.sales.dto.InvoiceLedgerDto; |
| | | import com.ruoyi.sales.dto.ReceiptPaymentDto; |
| | | import com.ruoyi.sales.mapper.ReceiptPaymentMapper; |
| | | import com.ruoyi.sales.mapper.SalesLedgerMapper; |
| | | import com.ruoyi.sales.pojo.ReceiptPayment; |
| | | import com.ruoyi.sales.pojo.SalesLedger; |
| | | import com.ruoyi.sales.service.ReceiptPaymentService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.YearMonth; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | |
| | | @Service |
| | |
| | | |
| | | @Autowired |
| | | private ReceiptPaymentMapper receiptPaymentMapper; |
| | | |
| | | @Autowired |
| | | private SalesLedgerMapper salesLedgerMapper; |
| | | |
| | | /** |
| | | * 回款登记新增 |
| | |
| | | public InvoiceLedgerDto invoiceInfo(Integer id) { |
| | | return receiptPaymentMapper.invoiceInfo(id); |
| | | } |
| | | |
| | | @Override |
| | | public Map<String,BigDecimal> getAmountMouth() { |
| | | List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(null); |
| | | BigDecimal contractAmount = salesLedgers.stream().map(SalesLedger::getContractAmount) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | LocalDate now = LocalDate.now(); |
| | | YearMonth currentMonth = YearMonth.from(now); |
| | | |
| | | // 创建LambdaQueryWrapper |
| | | LambdaQueryWrapper<ReceiptPayment> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.ge(ReceiptPayment::getReceiptPaymentDate, currentMonth.atDay(1).atStartOfDay()) // 大于等于本月第一天 |
| | | .lt(ReceiptPayment::getReceiptPaymentDate, currentMonth.plusMonths(1).atDay(1).atStartOfDay()); // 小于下月第一天 |
| | | |
| | | // 执行查询并计算总和 |
| | | List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(queryWrapper); |
| | | |
| | | BigDecimal receiveAmount = receiptPayments.stream() |
| | | .map(ReceiptPayment::getReceiptPaymentAmount) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | // 构建结果 |
| | | Map<String, BigDecimal> result = new HashMap<>(); |
| | | result.put("receiveAmount", receiveAmount); |
| | | result.put("contractAmount", contractAmount); |
| | | return result; |
| | | } |
| | | } |