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


import cn.superdesk.uniorder.dto.vo.invoice.customer.InvoiceApplyCustomerHeadDataVo;
import cn.superdesk.uniorder.dto.vo.invoice.customer.ExportExcelInvoiceApplyForceUnifiedDimGoodsVo;
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;
import java.util.Map;


/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 7/15/20 11:43 AM
 * @UpdateUser: linjinyu
 * @UpdateDate: 7/15/20 11:43 AM
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@Repository
public interface InvoiceApplyMapperExUnified {

	/**
	 * 列表
	 * 详细也用到(id)
	 *
	 * @param params
	 * @return
	 */
	List<InvoiceApplyCustomerPageVo> selectByCondition(Map<String, Object> params);
	/**
	 * 详细?
	 *
	 * @param params
	 * @return
	 */
	InvoiceApplyCustomerHeadDataVo findViewHeadDataFocusUnified(Map<String, Object> params);



	/**
	 * 客户结算-发票申请管理-opt 导出报表
	 *
	 * @param params
	 * @return
	 */
	List<ExportExcelInvoiceApplyForceUnifiedDimGoodsVo> exportExcelInvoiceApplyFocusUnified(Map<String, Object> params);



	List<InvoiceApplyCustomerSelectScoreVo> invoiceApplySelectFocusUnifiedDimOrder(Map<String, Object> params);
	List<InvoiceApplyCustomerSelectScoreVo> invoiceApplySelectFocusUnifiedDimGoods(Map<String, Object> params);


	/**
	 * 根据 对账单 Id 来查 开票状态
	 * <p>
	 * UnifiedOrderInvoiceState
	 * <p>
	 * 错错错
	 * 已开票(1, "已开票"),
	 * 未开票(2, "未开票"),
	 * 部分开票(3, "部分开票");
	 * <p>
	 * 用的是这个
	 * AccountingOrderInvoiceStatus
	 * 看SQL 只有 0 未开票 1 全部开票 2 部分开票
	 * <p>
	 * 未开票(0, "未开票"),
	 * 已开票(1, "已开票"),
	 * 部分开票(2, "部分开票"),
	 *
	 * @param id
	 * @return
	 */
	/**
	 * 存在 用弃用表 判定
	 * @param id
	 * @return
	 */
	@Deprecated
	Integer checkInvoiceStatusByAccountingOrderId(@Param("id") Long id);
}
