package com.dxhy.core.dao;

import java.util.List;
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.dxhy.core.entity.ExtAddTaxInvoice;
import com.dxhy.core.entity.ExtOtherInvoice;
import com.dxhy.core.entity.InvoicePaperEntity;
import com.dxhy.core.model.CompanyPoolJxVO;

/**
 * @author user
 */

@Mapper
public interface PoolPaperDao extends BaseMapper<InvoicePaperEntity> {
    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param pramsMap
     * @return java.util.List<com.dxhy.core.entity.InvoicePaperEntity>
     */
    List<InvoicePaperEntity> listPaperInvoice(Map<String, Object> pramsMap);

    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param pramsMap
     * @return java.util.List<com.dxhy.core.entity.ExtOtherInvoice>
     */
    List<ExtOtherInvoice> listOtherInvoice(Map<String, Object> pramsMap);

    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param pramsMap
     * @return java.util.List<com.dxhy.core.entity.ExtAddTaxInvoice>
     */
    List<ExtAddTaxInvoice> listAddTaxInvoice(Map<String, Object> pramsMap);

    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param pramsMap
     * @return java.util.List<com.dxhy.core.entity.ExtAddTaxInvoice>
     */
    List<ExtAddTaxInvoice> listSaleInvoice(Map<String, Object> pramsMap);

    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param gfsh
     * @return java.lang.String
     */
    String getGfName(@Param("gfsh") String gfsh);

    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param pramsMap
     * @return java.util.List<com.dxhy.core.model.BbfpzhmxcxRespVO>
     */
    List<CompanyPoolJxVO> listAddTaxInvoiceDetail(Map<String, Object> pramsMap);

    /**
     * 功能描述
     *
     * @author 陈刚扬
     * @date 2020/10/29
     * @param gfsh
     * @return java.lang.String
     */
    String getBlocName(@Param("gfsh") String gfsh);

    /**
     * 获取销项明细
     * 
     * @param pramsMap
     * @return
     */
    List<CompanyPoolJxVO> listSaleInvoiceDetail(Map<String, Object> pramsMap);

    long selectCountByParamsMap(Map<String, Object> pramsMap);
}
