package com.jianshui.invoice.service; import com.alibaba.fastjson.JSONObject; import com.jianshui.common.core.domain.AjaxResult; import com.jianshui.common.core.domain.entity.Companyservice; import com.jianshui.invoice.domain.BillInfo; import com.jianshui.invoice.domain.Invoice; import com.jianshui.invoice.domain.Redinfo; import com.jianshui.invoice.domain.dto.*; import com.jianshui.invoice.domain.dto.api.*; import javax.servlet.http.HttpServletRequest; /** * 发票服务接口 */ public interface IInvoiceApiService { /** * 发票开具 * * @param billInfo * @return */ public HXResponse addInvoice(BillInfo billInfo, Companyservice companyservice) throws IllegalAccessException, InstantiationException; /** * 发票失败重开接口 * * @param */ public AjaxResult reInvoice(BillInfo billInfo, Companyservice companyservice); /** * 单个发票查询接口 * * @param billInfo * @return */ public HXResponse queryInvoice(QueryBillInfoDTO billInfo, Companyservice companyservice); /** * 批量发票查询接口 * * @param billInfo * @return */ public HXResponse batchQueryInvoices(BillInfo billInfo, String byWhat, Companyservice companyservice); /** * 范围查询发票接口 * * @param queryJson * @return */ public HXResponse scopeQueryInvoices(JSONObject queryJson, Companyservice companyservice); /** * 申请/上传 红字发票 * * @param redinfo */ public HXResponse uploadRedInfo(Redinfo redinfo, Companyservice companyservice); /** * 红字信息申请查询 * * @param redinfo */ public AjaxResult queryRedInfo(Redinfo redinfo, Companyservice companyservice); /** * 红字信息表下载 */ public HXResponse downloadRedInfo(DownloadRedInfoDTO redinfo, Companyservice companyservice); /** * 发票作废 * * @param invoice * @return AjaxResult */ public HXResponse deprecateInvoice(JSONObject invoice, Companyservice companyservice); /** * 发票作废结果查询 * * @param invoice * @param companyservice * @return */ public HXResponse deprecateQueryInvoice(DeprecateQueryInvoiceDTO invoice, Companyservice companyservice); /** * 打印接口 * * @param invoice * @return */ public AjaxResult printInvoice(Invoice invoice, Companyservice companyservice); public HXResponse queryPrinter(QueryPrinterDTO queryPrinterDTO, Companyservice companyservice); /** * 推送消息 * * @return */ public HXResponse pushData(BillInfo billInfo, Companyservice companyservice); /** * 批量打印 * * @param billInfos * @return */ public HXResponse batchPrint(PrintDTO printDTO, Companyservice companyservice); /** * 同步发票库存 * * @param companyservice * @return */ public AjaxResult syncStockInfo(Companyservice companyservice); /** * 发票签章 * * @param signESealDTO * @param companyservice * @return */ public HXResponse signInvoice(SignESealDTO signESealDTO, Companyservice companyservice); /** * 发票专用章图片生成 * * @param createESealDTO * @param companyservice * @return */ public HXResponse createESeal(CreateESealDTO createESealDTO, Companyservice companyservice); /** * 发票专用章导入注册 * * @param createESealDTO * @param companyservice * @return */ public HXResponse registerESeal(RegisterESealDTO createESealDTO, Companyservice companyservice); /** * 月度汇总信息查询 * * @param summaryReportQueryDTO * @param companyservice * @return */ public AjaxResult SummaryReport(SummaryReportQueryDTO summaryReportQueryDTO, Companyservice companyservice); /** * 回调处理 * * @param request * @return */ public Object callback(HttpServletRequest request); /** * 开票回调 * * @param request * @return */ public Object addCallback(HttpServletRequest request); /** * 作废回调 * * @param request * @return */ public Object decryptCallback(HttpServletRequest request); /** 全电新增接口 **/ /** * 全电发票文件获取 * @param decryptResult * @param companyservice * @return */ HXResponse getFileUrl(InvoiceAllFileAcquisitionTWODTO invoiceAllFileAcquisitionTWODTO, Companyservice companyservice); /** * 全电发票文件获取 * @param decryptResult * @param companyservice * @return */ HXResponse getFileAcquisitionOn(InvoiceAllFileAcquisitionOnTWODTO invoiceAllFileAcquisitionOnTWODTO, Companyservice companyservice); /** *获取人脸二维码 * @param decryptResult * @param companyservice * @return */ HXResponse qrcode(JSONObject decryptResult, Companyservice companyservice); /** *全电发票文件获取 * @return */ HXResponse query(InvoiceAllFileQueryTWODTO invoiceAllFileQueryTWODTO, Companyservice companyservice); /** *获取发票打印XML * @param decryptResult * @param companyservice * @return */ HXResponse getPrintXML(InvoiceAllPrintXMLTWODTO invoiceAllPrintXMLTWODTO, Companyservice companyservice); /** *快速红冲 * @param decryptResult * @param companyservice * @return */ HXResponse issueFastRedInvoice(InvoiceAllKshcTWODTO invoiceAllKshcTWODTO, Companyservice companyservice); /** *蓝字发票统计 * @param decryptResult * @param companyservice * @return */ HXResponse invoiceStatic(JSONObject decryptResult, Companyservice companyservice); /** *审核红字信息表 * @param decryptResult * @param companyservice * @return */ HXResponse auditRedInfo(InvoiceAllShhzTWODTO invoiceAllShhzTWODTO, Companyservice companyservice); /** * 查询红字信息表明细 * @param invoiceAllRedInvoiceDetailDTO * @param companyservice * @return */ HXResponse queryRedInfoDetail(InvoiceAllRedInvoiceDetailTWODTO invoiceAllRedInvoiceDetailDTO, Companyservice companyservice); /** * 异步通用查询 * @param invoiceAllYhdjDTO * @param companyservice * @return */ HXResponse queryResultInfo(InvoiceAllQueryTWODTO invoiceAllYhdjDTO, Companyservice companyservice); }