package com.dxhy.erp.service;

import com.dxhy.erp.entity.alltax.*;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;

/**
 * @author luxiaoxu
 */
public interface AllTaxesService {

    /**
     * 获取通知信息
     *
     * @param params
     * @param req
     * @return
     * @throws UnsupportedEncodingException
     * @throws IOException
     */
    String getInvoice(String params, TaxesRequestInfo req) throws UnsupportedEncodingException, IOException;

    /**
     * 获取发票标志
     *
     * @param req
     * @return
     * @throws UnsupportedEncodingException
     * @throws IOException
     */
    String getInvoiceSign(TaxesRequestSign req) throws UnsupportedEncodingException, IOException;

    /**
     * 汇总发票信息
     *
     * @param taxesRequestInfo
     */
    void count(TaxesRequestInfo taxesRequestInfo);

    /**
     * 通过key获取发票
     *
     * @param req
     * @return
     * @throws UnsupportedEncodingException
     * @throws IOException
     */
    String getInvoiceByKey(ReqInvoiceInfo req) throws UnsupportedEncodingException, IOException;

    /**
     * 获取发票
     *
     * @param reqList
     * @return
     * @throws UnsupportedEncodingException
     * @throws IOException
     */
    String getInvoiceCount(List<ReqCountInfo> reqList) throws UnsupportedEncodingException, IOException;

}
