package com.dxhy.passengerticket.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.dxhy.passengerticket.vo.InvoiceAmountVo;
import com.dxhy.passengerticket.vo.InvoiceTableVo;

/**
 * @author dxhy
 */
@Mapper
public interface PassengerInvoiceStatisticsDao {
    /**
     *
     * 查询认证发票卡片信息
     * 
     * @param selectMonthMap
     * @return map
     */
    InvoiceAmountVo selectLegalizedInvoiceCard(Map<String, Object> selectMonthMap);

    /**
     * 查询认证发票卡片信息
     * 
     * @param selectYearMap
     * @return
     */
    InvoiceAmountVo selectLegalizedInvoiceCardYear(Map<String, Object> selectYearMap);

    /**
     * 查询客票统计数据月份（卡片）
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceAmountVo selectpassengerTicketMonthCar(Map<String, Object> selectMonthMap);

    /**
     * 查询客票统计数据年份（卡片）
     * 
     * @param selectYearMap
     * @return
     */
    InvoiceAmountVo selectpassengerTicketYearCar(Map<String, Object> selectYearMap);

    /**
     * 查询其他发票数据月份（卡片）
     * 
     * @param selectMonthMap
     * @return
     */
    Integer selectReimOtherInvoiceMonthCar(Map<String, Object> selectMonthMap);

    /**
     * 查询其他发票数量年份（卡片）
     * 
     * @param selectYearMap
     * @return
     */
    Integer selectReimOtherInvoiceYearCar(Map<String, Object> selectYearMap);

    /**
     * 查询认证发票数据（表格）
     * 
     * @param selectMonthMap
     * @return
     */
    List<InvoiceTableVo> selectLegalizedInvoiceTable(Map<String, Object> selectMonthMap);

    /**
     * 查询实际抵扣税额
     * 
     * @param selectMonthMap
     * @return
     */
    List<InvoiceTableVo> selectSjdkse(Map<String, Object> selectMonthMap);

    /**
     * 查询火车数据
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceTableVo slelectPassengerTicketRailwayVo(Map<String, Object> selectMonthMap);

    /**
     * 查询飞机票数据
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceTableVo slelectPassengerTicketaAircraftVo(Map<String, Object> selectMonthMap);

    /**
     * 公路水路其他客票数据
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceTableVo slelectPassengerTicketaHighwayVo(Map<String, Object> selectMonthMap);

    /**
     * 查询增值税电子发票数据
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceTableVo slelectPassengerTicketaGeneralVoteVo(Map<String, Object> selectMonthMap);

    /**
     * 其他发票数据
     * 
     * @param selectMonthMap
     * @return
     */
    List<InvoiceTableVo> selectotherReimInvoiceListTable(Map<String, Object> selectMonthMap);

    /**
     * 查询报销数据中的其他发票个数
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceTableVo selectotherInvoiceReimVo(Map<String, Object> selectMonthMap);

    /**
     * 查询底账的其他发票个数
     * 
     * @param selectYearMap
     * @return
     */
    Integer selectPassOtherInvoiceYearCar(Map<String, Object> selectYearMap);

    /**
     * 查询底账的其他发票个数
     * 
     * @param selectMonthMap
     * @return
     */
    Integer selectPassOtherInvoiceMonthCar(Map<String, Object> selectMonthMap);

    /**
     * 查询底账表中的其他发票个数
     * 
     * @param selectMonthMap
     * @return
     */
    List<InvoiceTableVo> selectotherPassInvoiceListTable(Map<String, Object> selectMonthMap);

    /**
     * 查询底账数据中的其他发票个数
     * 
     * @param selectMonthMap
     * @return
     */
    InvoiceTableVo selectotherInvoicePassVo(Map<String, Object> selectMonthMap);

}
