package com.dxhy.erp.dao;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.dxhy.erp.entity.AutomaticSign;
import com.dxhy.erp.entity.InvoiceSavePo;
import com.dxhy.erp.entity.SignedInvoiceVo;

/**
 * @ClassName: IInvoiceSignDao : 扫描发票数据入库
 * @author yuanlz
 * @date 2016年12月1日 下午3:55:10
 *
 */
@Mapper
public interface InvoiceSignDao {

    /**
     * 批量插入扫描数据
     *
     * @param savePo
     * @return
     */
    Integer saveInvoice(InvoiceSavePo savePo);

    /**
     * 待填
     *
     * @param xfTaxNo
     * @return
     */
    List<String> selectXfName(String xfTaxNo);

    /**
     * 待填
     *
     * @param savePo
     */
    void saveInvoices(InvoiceSavePo savePo);

    /**
     * 获取库中最大流水号
     *
     * @return
     */
    String getMaxSerialNo();

    /**
     * 根据id永久删除数据发票数据
     *
     * @param id
     * @return
     */
    int deleteInvoice(Long id);

    /**
     * 根据uuid查询发票代码和发票号码
     *
     * @param uuid
     * @return
     */
    InvoiceSavePo selectByUuid(String uuid);

    /**
     * 查询未签的数据
     *
     * @return
     */
    List<AutomaticSign> automaticSign();

    /**
     * 定时自动签收更新扫描表状态
     *
     * @param uuId
     * @param invoiceStatus
     * @return
     */
    int timingSing(@Param("uuId") String uuId, @Param("invoiceStatus") int invoiceStatus);

    /**
     * 查询是否有推送艺龙结算的权限
     *
     * @param uuId
     * @Methods:queryByUuid
     * @author JLY
     * @date 2017年9月21日下午5:45:33
     * @return
     */
    InvoiceSavePo queryByUuid(String uuId);

    /**
     * 待填
     *
     * @param invoiceVo
     */
    void updateRecode(SignedInvoiceVo invoiceVo);

}
