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.FindRedInfo; 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 com.jianshui.invoice.domain.ele.EleNewMessage; 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 decryptResult * @param companyservice * @return */ HXResponse queryRedConfirmationList(JSONObject decryptResult, Companyservice companyservice); /** * 红字确认单明细查询(数电专用) * @param decryptResult * @param companyservice * @return */ HXResponse queryRedConfirmationItemList(JSONObject decryptResult, Companyservice companyservice); /** * 红字确认单申请(数电专用) * @param decryptResult * @param companyservice * @return */ HXResponse redConfirmationApply(JSONObject decryptResult, Companyservice companyservice); /** * 红字确认单确认(数电专用) * @param decryptResult * @param companyservice * @return */ HXResponse redConfirmationConfirm(JSONObject decryptResult, Companyservice companyservice); /** * 数电登录接口(数电专用接口) * @param decryptResult * @param companyservice * @return */ HXResponse rpaLogin(JSONObject decryptResult, Companyservice companyservice); /** * 数电实名认证状态查询接口(数电专用接口) * @param decryptResult * @param companyservice * @return */ HXResponse getRpaAuthStatus(JSONObject decryptResult, Companyservice companyservice); /** * 发票平台电子税局账号查询接口(数电专用接口) * @param decryptResult * @param companyservice * @return */ HXResponse queryRpaTaxAccount(JSONObject decryptResult, 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(InvoiceAllKshcJsonDataTWODTO invoiceAllKshcTWODTO, Companyservice companyservice); /** *蓝字发票统计 * @param decryptResult * @param companyservice * @return */ HXResponse invoiceStatic(JSONObject decryptResult, Companyservice companyservice); /** *审核红字信息表 * @param decryptResult * @param companyservice * @return */ HXResponse auditRedInfo(InvoiceAllShhzJsonDataTWODTO 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); /** * 功能描述: 红字信息查询 * @param findRedInfo * @param companyservice * @return : java.lang.Object */ EleNewMessage findRedInfo(FindRedInfo findRedInfo, Companyservice companyservice); /** 生成动态二维码接口*/ HXResponse generateDynamicCode(JSONObject decryptResult, Companyservice companyservice); /** 机动车加密接口 */ HXResponse exportVehicleInvoice(JSONObject decryptResult, Companyservice companyservice); /** 获取人脸识别结果*/ HXResponse qrcodeResult(JSONObject decryptResult, Companyservice companyservice); }