package com.dxhy.sign.dao;

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

import com.dxhy.sign.entity.SignRulesEntity;
import com.dxhy.sign.entity.TDxInvoice;
import com.dxhy.sign.model.SgqsWqsfpVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dxhy.sign.entity.TDxRecordInvoice;

/**
 *
 * 发票信息dao
 *
 * @author jiaohongyang
 * @date 2019年3月26日 下午6:02:48
 */
@Mapper
public interface SignRecordInvoiceDao extends BaseMapper<TDxRecordInvoice> {

    /**
     * 未签收发票查询接口
     *
     * @param pramsMap
     *            请求参数
     * @return 返回结果
     * @since 1.0
     */
    List<TDxRecordInvoice> selectWqsfp(Map<String, Object> pramsMap);
    List<TDxRecordInvoice> selectWqsfpByQsyx(Map<String, Object> pramsMap);

    /**
     * 未签收发票合计信息查询接口
     *
     * @param pramsMap
     *            请求参数
     * @return 返回结果
     * @since 1.0
     */
    List<TDxRecordInvoice> selectWqsfpHj(Map<String, Object> pramsMap);

    /**
     * 批量删除发票
     *
     * @param scanId
     *            请求参数
     *
     */
    void deleteBatchInvoice(@Param("scanId") String scanId);

    /**
     * 批量删除图片
     *
     * @param scanId
     *            请求参数
     *
     */
    void deleteBatchImg(@Param("scanId") String scanId);

    /**
     * 获取签收规则
     *
     * @param company
     *            请求参数
     * @return 返回结果
     */
    List<SignRulesEntity> getRules(@Param("company") String company);

    /**
     * 取消签收
     *
     * @param uuid
     *            请求参数
     */
    void updateQsxx(@Param("uuid") String uuid);

    /**
     * 获取本机构用户
     *
     * @param company
     *            公司代码
     * @return 返回结果
     */
    List<Map<String, String>> getUser(@Param("company") String company);

    /**
     * 艺龙签收成功发票
     *
     * @param pramsMap
     *            请求参数
     * @return 返回结果
     * @since 1.0
     */
    List<SgqsWqsfpVO> selectYlqsfp(Map<String, Object> pramsMap);

    /**
     * 未签收发票合计信息查询接口
     *
     * @param pramsMap
     *            请求参数
     * @return 返回结果
     * @since 1.0
     */
    List<TDxRecordInvoice> selectYlqsfpHj(Map<String, Object> pramsMap);

    /**
     * 批量删除发票
     *
     * @param id
     *            请求参数
     *
     */
    void deleteInvoiceByid(@Param("Id") String id);

    TDxInvoice selectInvoice(@Param("Id") String id);
}
