package com.dxhy.passengerticket.service;

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

import com.dxhy.api.model.invoice.TDxInvoiceReimburse;
import com.dxhy.passengerticket.entity.TdxRecordInvoiceDetail;
import com.dxhy.passengerticket.entity.TdxVehicleSaleInvoice;

/**
 * @author xiexuedi
 * @date 2019/05/10 09:59:44
 */
public interface PassengerReimbursementSystemService {
    /**
     * 增加报销数据
     * 
     * @param vo
     * @param dbName
     * @return
     */
    Integer insertReimbursementSystem(TDxInvoiceReimburse vo, String dbName);

    /**
     * 查询客票展示列表
     * 
     * @param params
     * @param curr
     * @param size
     * @param dbName
     * @return
     */
    Map<String, Object> selectpassengerTicketList(Map<String, Object> params, Integer curr, Integer size,
        String dbName);

    /**
     * 查询客票详情
     * 
     * @param selectId
     * @param dbName
     * @return
     */
    TDxInvoiceReimburse selectPassengerTicketDetails(String selectId, String dbName);

    /**
     * 查询uuid去重
     * 
     * @param uuid
     * @param dbName
     * @return
     */
    boolean selectUuid(String uuid, String dbName);

    /**
     * 添加明细
     * 
     * @param tdxRecordInvoiceDetailList
     * @param uuid
     * @param dbName
     * @param invoiceCode
     * @param incoiceNo
     */
    void addInvoiceDetails(List<TdxRecordInvoiceDetail> tdxRecordInvoiceDetailList, String uuid, String dbName,
        String invoiceCode, String incoiceNo);

    /**
     * 修改报销状态
     * 
     * @param selectId
     * @param reimbursementStatus
     * @param dbName
     */
    void updateiInsertReimbursement(String selectId, String reimbursementStatus, String dbName);

    /**
     * 获取dbName
     * 
     * @param gfTaxNo
     * @return
     */
    String selectDbName(String gfTaxNo);

    /**
     * 增加机动车名细数据
     * 
     * @param invoiceDetailsList
     * @param uuid
     * @param dbName
     */
    void insertVehicleDetail(List<TdxVehicleSaleInvoice> invoiceDetailsList, String uuid, String dbName);

    /**
     * 根据selectId查询发票主题信息
     * 
     * @param selectId
     * @param dbName
     * 
     * @return TDxInvoiceReimburse
     */
    TDxInvoiceReimburse deleteInsertReimbursement(String selectId, String dbName);

    /**
     * 删除机动车明细
     * 
     * @param uuid
     * @param dbName
     */
    void deleteVehicleDetail(String uuid, String dbName);

    /**
     * 删除发票明细
     * 
     * @param uuid
     * @param dbName
     */
    void deleteInvoiceDetails(String uuid, String dbName);

    /**
     * 待填
     * 
     * @param selectId
     * @param dbName
     */
    void delectReimbursementSystem(String selectId, String dbName);
}
