chenrui
2025-05-26 698008c4a0f97efa3c583967e246b78777b150a7
src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.sales.dto.InvoiceLedgerDto;
import com.ruoyi.sales.dto.ReceiptPaymentDto;
import com.ruoyi.sales.mapper.ReceiptPaymentMapper;
import com.ruoyi.sales.pojo.ReceiptPayment;
@@ -11,7 +12,11 @@
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.List;
import java.util.Objects;
@Service
public class ReceiptPaymentServiceImpl extends ServiceImpl<ReceiptPaymentMapper,ReceiptPayment> implements ReceiptPaymentService {
@@ -25,8 +30,12 @@
     * @return
     */
    @Override
    public int receiptPaymentAdd(ReceiptPayment receiptPayment) {
        return receiptPaymentMapper.insert(receiptPayment);
    public int receiptPaymentSaveOrUpdate(ReceiptPayment receiptPayment) {
        if(null==receiptPayment.getId()){
            return receiptPaymentMapper.insert(receiptPayment);
        }else {
            return receiptPaymentMapper.updateById(receiptPayment);
        }
    }
    /**
@@ -61,4 +70,56 @@
    public IPage<ReceiptPaymentDto> receiptPaymentListPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
        return receiptPaymentMapper.receiptPaymentListPage(page, receiptPaymentDto);
    }
    /**
     * 回款登记详情
     * @param id
     * @return
     */
    @Override
    public ReceiptPaymentDto receiptPaymentInfo(Integer id) {
        return receiptPaymentMapper.receiptPaymentInfo(id);
    }
    @Override
    public BigDecimal getReceiptAmount() {
        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 totalContractAmount = receiptPayments.stream()
                .map(ReceiptPayment::getReceiptPaymentAmount)
                .filter(Objects::nonNull)
                .reduce(BigDecimal.ZERO, BigDecimal::add);
        return totalContractAmount;
    }
    /**
     * 查询已经绑定发票的开票台账
     * @param page
     * @param receiptPaymentDto
     * @return
     */
    @Override
    public IPage<ReceiptPaymentDto> bindInvoiceNoRegPage(Page page, ReceiptPaymentDto receiptPaymentDto) {
        return receiptPaymentMapper.bindInvoiceNoRegPage(page, receiptPaymentDto);
    }
    /**
     * 开票台账详情
     * @param id
     * @return
     */
    @Override
    public InvoiceLedgerDto invoiceInfo(Integer id) {
        return receiptPaymentMapper.invoiceInfo(id);
    }
}