package com.goafanti.order.service;



import com.goafanti.common.model.TOrderInvoice;
import com.goafanti.core.mybatis.page.Pagination;
import com.goafanti.order.bo.InputOrderInvoiceBo;
import com.goafanti.order.bo.OutInvoiceLog;
import com.goafanti.order.bo.TOrderInvoiceBo;
import com.goafanti.order.bo.TOrderInvoiceDetails;

import java.util.List;

public interface OrderInvoiceService {
	/**
	 * 创建发票申请
	 * @return
	 */
	int createServiceOrder(TOrderInvoice t);

	/**
	 * 修改发票申请
	 * @return
	 */
	int updateServiceOrder(TOrderInvoice t);

	boolean checkAmount(TOrderInvoice t);



	Pagination<TOrderInvoiceBo>  financeOrderInvoiceList(InputOrderInvoiceBo o, Integer pageNo, Integer pageSize);

	TOrderInvoiceDetails selectByIdOrderInvoice(Integer id);

	Pagination<TOrderInvoiceBo> salesmanOrderInvoiceList( String orderNo,  Integer pageNo, Integer pageSize);

	int updatefinanceExamine(Integer id, Integer examine, String reason);

	Pagination<TOrderInvoiceBo> approvalOrderInvoiceList(Integer status,Integer approval,Integer type, String orderDep, String orderNo, String name,String userName,Integer pageNo,
			Integer pageSize);

	int updateapprovalExamine(Integer id, Integer examine, String reason);

	TOrderInvoiceDetails getInvoiceDetails(String orderNo);


    List<OutInvoiceLog> InvoiceLog(Integer id);

    boolean checkDelete(Integer id);

	Object delete(Integer id);
}
