package com.dxhy.domestic.dao;

import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dxhy.domestic.entity.TdxExportInvoice;
import com.dxhy.domestic.model.dto.TdxExportInvoiceModelDTO;

/**
 * TDxExportInvoiceDao继承基类
 *
 * @author dxhy
 */
@Mapper
public interface DomesticExportInvoiceDao extends BaseMapper<TdxExportInvoice> {

    /**
     * 待填
     * 
     * @param page
     *            page
     * @param dto
     *            dto
     * @return Page
     */
    Page<Map<String, Object>> queryVatSgrz(@Param("page") Page<Object> page,
        @Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param dto
     *            dto
     * @return Map
     */
    Map<String, Object> queryVatSgrzSum(@Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param page
     *            page
     * @param dto
     *            dto
     * @return Page
     */
    Page<Map<String, Object>> queryVatBdk(@Param("page") Page<Object> page,
        @Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param dto
     *            dto
     * @return Map
     */
    Map<String, Object> queryVatBdkSum(@Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param page
     *            page
     * @param dto
     *            dto
     * @return Page
     */
    Page<Map<String, Object>> queryVatRzcx(@Param("page") Page<Object> page,
        @Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param dto
     *            dto
     * @return Map
     */
    Map<String, Object> queryVatRzcxSum(@Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param page
     *            page
     * @param dto
     *            dto
     * @return Page
     */
    Page<Map<String, Object>> queryExportInvoiceList(@Param("page") Page<Object> page,
        @Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 待填
     * 
     * @param dto
     *            dto
     * @return Map
     */
    Map<String, Object> queryExportInvoiceSum(@Param("queryParams") TdxExportInvoiceModelDTO dto);

    /**
     * 合计税号已抵扣的税额
     *
     * @param pramsMap
     *            pramsMap
     * @return TdxExportInvoice
     */
    TdxExportInvoice selectDkse(Map<String, Object> pramsMap);
}
