package com.dayou.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dayou.dto.RealFundAssetsStatDTO;
import com.dayou.entity.FinanceClaim;
import com.dayou.dao.CustomBaseMapper;
import com.dayou.vo.FinanceClaimVO;
import com.dayou.vo.RealFundAssetsStatVO;
import com.dayou.vo.RealFundMajorStatVO;
import org.apache.ibatis.annotations.Param;

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

/**
 * <p>
 * 实收款认领 Mapper 接口
 * </p>
 *
 * @author wucl
 * @since 2023-12-08
 */
public interface FinanceClaimMapper extends CustomBaseMapper<FinanceClaim> {

    List<FinanceClaimVO> getList(@Param("realFundId") Long  realFundId);

    BigDecimal getTotalClaimAmountByProductionFundId(@Param("productionFundId") Long productionFundId);

    BigDecimal residueAmount(@Param("financeFundId") Long financeFundId);

    Page<RealFundMajorStatVO> majorStat(Page page,@Param("majorStat")  RealFundMajorStatVO majorStat);

    List<RealFundMajorStatVO> majorStatExport(@Param("majorStat") RealFundMajorStatVO majorStat);

    /**
     * 分页查询资产实收款统计
     * @param page 分页信息
     * @param dto 查询dto
     * @return Page<RealFundAssetsStatVO>
     */
    Page<RealFundAssetsStatVO> assetsSate(Page page, @Param("dto") RealFundAssetsStatDTO dto);

    /**
     * 资产实收款统计导出
     * @param dto 查询dto
     * @return Page<RealFundAssetsStatVO>
     */
    List<RealFundAssetsStatVO> assetsSateExport(@Param("dto") RealFundAssetsStatDTO dto);
}
