package com.zksy.property.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zksy.property.domain.AReceiptInfo;
import com.zksy.property.domain.vo.AReceiptInfoVo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
* @author Administrator
* @description 针对表【a_receipt_info(收据信息表)】的数据库操作Service
* @createDate 2025-07-29 15:30:56
*/
public interface AReceiptInfoService extends IService<AReceiptInfo> {
    Page<AReceiptInfo> findByPage(long pageNum, long pageSize, String receiptNumber,String payer,String paymentMethod,String generationDate);
    List<AReceiptInfo> getAReceiptInfoList(String receiptNumber,String payer,String paymentMethod,String generationDate);

    boolean removeBatchByIdsWithUrl(List<String> list);

    Page<AReceiptInfoVo> findByPageWithContract(long pageNum, long pageSize, String receiptNumber, String payer, String paymentMethod,String contractNumber);
    Map<String, BigDecimal> calculateMonthlyStatistics(int year);
    Map<String, BigDecimal> calculateQuarterlyStatistics(int year);
    Map<String, BigDecimal> calculateYearlyStatistics();
    // 获取数据库中存在的年份列表
    List<Integer> getExistingYears();
}
