package com.dxhy.customs.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dxhy.api.model.custom.TdxCustomsRecord;
import com.dxhy.customs.model.TdxCustomsRecordDTO;
import com.dxhy.customs.model.TdxCustomsRecordModelDTO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Map;

/**
 * <p>
 * 海关缴款书底账表 Mapper 接口
 * </p>
 *
 * @author config123
 * @since 2020-06-29
 */
@Mapper
public interface CustomsRecordDao extends BaseMapper<TdxCustomsRecord> {

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param entity
     *            入参实体
     * @return 返回
     */
    Page<Map<String, String>> queryCollect(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param entity
     *            入参实体
     * @return 返回
     */
    Page<Map<String, String>> queryCollectDetail(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 待填
     *
     * @param entity
     *            入参实体
     * @return 返回
     */
    Map<String, Object> sumTaxAmount(@Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param dto
     *            入参实体
     * @return 返回
     */
    Page<Map<String, Object>> querySgByPage(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordModelDTO dto);

    /**
     * 待填
     *
     * @param dto
     *            入参实体
     * @return 返回
     */
    Map<String, Object> querySgBySum(@Param("queryParams") TdxCustomsRecordModelDTO dto);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param dto
     *            入参实体
     * @return 返回
     */
    Page<Map<String, Object>> queryBdkByPage(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordModelDTO dto);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param dto
     *            入参实体
     * @return 返回
     */
    Page<Map<String, Object>> queryRzcxByPage(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordModelDTO dto);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param entity
     *            入参实体
     * @return 返回
     */
    Page<Map> insertQuery(@Param("page") Page<?> page, @Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param entity
     *            入参实体
     * @return 返回
     */
    Page<Map<String, String>> queryExcptionDetail(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param entity
     *            入参实体
     * @return 返回
     */
    Page<Map<String, Object>> queryManualSign(@Param("page") Page<?> page,
        @Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 待填
     *
     * @param scanId
     *            scanId
     */
    void deleteCustomsScan(@Param("scanId") String scanId);

    /**
     * 待填
     *
     * @param scanId
     *            scanId
     */
    void deleteCustomsImg(@Param("scanId") String scanId);

    /**
     * 待填
     *
     * @param page
     *            分页
     * @param entity
     *            入参实体
     * @return 返回
     */
    Page<Map<String, Object>> querySign(@Param("page") Page<?> page, @Param("queryParams") TdxCustomsRecordDTO entity);

    /**
     * 合计税号已抵扣的税额
     *
     * @param pramsMap
     *            入参
     * @return 返回
     */
    TdxCustomsRecord selectDkse(Map<String, Object> pramsMap);

    /**
     * 待填
     *
     * @param dto
     *            入参实体
     * @return 返回
     */
    Map<String, Object> queryRzcxBySum(@Param("queryParams") TdxCustomsRecordModelDTO dto);

    /**
     * 待填
     *
     * @param dto
     *            入参实体
     * @return 返回
     */
    Map<String, Object> queryBdkBySum(@Param("queryParams") TdxCustomsRecordModelDTO dto);

    /**
     * 待填
     *
     * @param customsCode
     *            海关缴款书单号
     * @return 返回
     */
    int updateRecordSign(@Param("customsCode") String customsCode);

    /**
    * @Description 缴款书手工签收-合计
    * @Author wangruwei
    * @Date 2023/2/14 16:07
    **/
    Map queryManualSignHj(@Param("queryParams") TdxCustomsRecordDTO entity);
    /**
     * @Description 缴款书签收查询-合计
     * @Author wangruwei
     * @Date 2023/2/14 16:07
     **/
    Map querySignHj(@Param("queryParams") TdxCustomsRecordDTO entity);
}
