package cn.superdesk.uniorder.dao.mapper.invoice.customer;

import cn.superdesk.uniorder.dto.param.invoice.customer.InvoiceApplyCustomerQueryCriteria;
import cn.superdesk.uniorder.dto.vo.invoice.customer.InvoiceApplyDetailDimOrderItemVo;
import cn.superdesk.uniorder.dto.vo.invoice.customer.InvoiceApplyCustomerHeadDataVo;
import cn.superdesk.uniorder.dto.vo.invoice.customer.ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo;
import cn.superdesk.uniorder.dto.vo.invoice.customer.InvoiceApplyCustomerPageVo;
import cn.superdesk.uniorder.dto.vo.invoice.customer.InvoiceApplyCustomerSelectScoreVo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2022/2/23 下午6:45
 * @UpdateUser: linjinyu
 * @UpdateDate: 2022/2/23 下午6:45
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Repository
public interface InvoiceApplyMapperExScore {

	List<InvoiceApplyCustomerSelectScoreVo> invoiceApplySelectFocusScoreDimCredit(InvoiceApplyCustomerQueryCriteria criteria);

	/**
	 * 列表
	 * 详细也用到(id)
	 *
	 * @param criteria
	 * @return
	 */
	List<InvoiceApplyCustomerPageVo> findViewByPage(InvoiceApplyCustomerQueryCriteria criteria);

	/**
	 * 列表 头
	 *
	 * @param criteria
	 * @return
	 */
	InvoiceApplyCustomerHeadDataVo findViewHeadData(InvoiceApplyCustomerQueryCriteria criteria);

	/**
	 * 详情 弃用
	 *
	 * @param invoiceApplyId
	 * @return
	 */
	@Deprecated
	List<InvoiceApplyDetailDimOrderItemVo> findInvoiceApplyDetailDim1Score2Credit(@Param("id") Long invoiceApplyId);

	/**
	 * 存在 用弃用表 判定
	 *
	 * @param id
	 * @return
	 */
	@Deprecated
	Integer checkInvoiceStatusByAccountingOrderId(@Param("id") Long id);

	/**
	 * 积分结算-发票申请管理-opt 导出报表
	 *
	 * @param criteria
	 * @return
	 */
	List<ExportExcelInvoiceApplyCustomerForceScoreDimCreditVo> exportExcelInvoiceApplyFocusScore(InvoiceApplyCustomerQueryCriteria criteria);

}
