package cn.superdesk.uniorder.service.order._leaveover;

import cn.superdesk.uniorder.common.rest.response.R;
import cn.superdesk.uniorder.dao.entity.sys.SysInvoice;
import cn.superdesk.uniorder.dto.vo.inv.ViewBackAccountManage;
import cn.superdesk.uniorder.dto.vo.inv.ViewInvoiceDetailsHead;
import cn.superdesk.uniorder.dto.vo.inv.ViewInvoiceDetailsList;
import cn.superdesk.uniorder.dto.vo.inv.ViewInvoiceManage;
import cn.superdesk.uniorder.service.base.BaseService;

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

public interface SysInvoiceService extends BaseService<SysInvoice> {

	R<List<ViewInvoiceManage>> findInvoiceManageViewPage(Map<String, Object> params, int pageNo, int pageSize);

	/**
	 * 发票管理list
	 */
	List<ViewInvoiceManage> findInvoiceManageList(Map<String, Object> params);

	R<List<ViewBackAccountManage>> getBackAccountManageData(Map<String, Object> params, int pageNo, int pageSize);

	List<ViewBackAccountManage> getBackAccountManageList(Map<String, Object> params);

	List<ViewBackAccountManage> getBackAccountDataRegisterData(Map<String, Object> params);

	/**
	 * 发票详情
	 */
	List<ViewInvoiceDetailsList> findInvoiceDetailsList(Map<String, Object> params);

	List<ViewInvoiceDetailsHead> getInvoiceDetailByInvoiceId(Map<String, Object> params);

	Integer mailTickRegister(Map mailTickRegisterMap, String operationStr);

	Integer confirmBackAccount(List<Map> mailTickRegisterList, String token);

	Map<String, Object> reInvoiceRegister(String mdzId, String orderId);

	//导入发票
	Map<String, Object> importDZExcel(List<Map<String, String>> list);

}
