package com.dxhy.sign.service.singletable;

import java.util.List;

import com.alibaba.fastjson.JSONObject;
import com.dxhy.sign.entity.TDxCheckInvoiceDetail;
import com.dxhy.sign.entity.TDxCheckRecordInvoice;
import com.dxhy.sign.entity.TDxCheckVehicleSale;

/**
 *
 * 保存查验结果到查验相关记录表业务处理接口
 *
 * @author peipei.li
 * @date 2019-05-09
 */
public interface SignSaveCheckInfoService {

    /**
     * 保存查验结果到查验相关表
     *
     * @param queryInvoiceResult
     *            请求参数
     * @param dbName
     *            数据源
     * @param userid
     *            用户id
     * @since 1.0
     */
    void saveCheckInfo(JSONObject queryInvoiceResult, String userid, String dbName);

    /**
     * 根据查验结果获取查验明细表数据
     *
     * @param queryInvoiceResult
     *            请求参数
     * @return 返回结果
     * @since 1.0
     */
    List<TDxCheckInvoiceDetail> getRecordInvoiceDetail(JSONObject queryInvoiceResult);

    /**
     * 根据查验结果获取查验机动车表数据
     *
     * @param queryInvoiceResult
     *            请求参数
     * @return 返回结果
     * @since 1.0
     */
    TDxCheckVehicleSale getVehicleSaleInvoice(JSONObject queryInvoiceResult);

    /**
     * 根据查验结果获取查验表数据
     *
     * @param queryInvoiceResult
     *            请求参数
     * @param userid
     *            用户id
     * @return 返回结果
     * @since 1.0
     */
    TDxCheckRecordInvoice getRecordInvoice(JSONObject queryInvoiceResult, String userid);

    /**
     * 根据发票代码、发票号码查询票面信息
     *
     * @param invoiceCode
     *            发票代码
     * @param invoiceNo
     *            发票号码
     * @param dbName
     *            数据源
     * @return 返回结果
     * @since 1.0
     */
    JSONObject getCheckInfo(String invoiceCode, String invoiceNo, String dbName);
}
