package com.dxhy.customs.service;

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

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dxhy.api.model.config.UserInfo;
import com.dxhy.api.model.custom.TdxCustomsRecord;
import com.dxhy.customs.model.TdxCustomsRecordDTO;

/**
 * @author dxhy
 */
public interface CustomsSignService {
    /**
     * 手工签收列表查询
     *
     * @param page
     * @param entity
     * @param userInfo
     * @return
     * @throws Exception
     */
    String queryManualSign(Page page, TdxCustomsRecordDTO entity, UserInfo userInfo) throws Exception;

    /**
     * 手工签收--批量签收
     *
     * @param costomsInfo
     * @param userInfo
     * @return
     */
    String batchSign(String costomsInfo, UserInfo userInfo);

    /**
     * 待填
     *
     * @param costomsInfo
     * @param userInfo
     * @return
     */
    String infoCollect(String costomsInfo, UserInfo userInfo);

    /**
     * 导入签收
     *
     * @param pramsMap
     * @param userInfo
     * @return
     * @throws Exception
     */
    String importSign(Map<String, String> pramsMap, UserInfo userInfo) throws Exception;

    /**
     * 删除签收失败缴款书
     *
     * @param scanId
     * @param dbName
     * @return
     */
    boolean deleteCustomScan(String scanId, String dbName);

    /**
     * 签收查询列表
     *
     * @param page
     * @param entity
     * @param userInfo
     * @return
     * @throws Exception
     */
    String querySign(Page page, TdxCustomsRecordDTO entity, UserInfo userInfo) throws Exception;

    /**
     * 取消签收
     *
     * @param idList
     * @param userInfo
     * @return
     */
    String cancelSign(List<String> idList, UserInfo userInfo);

    /**
     * 修改业务单元
     *
     * @param entity
     * @param userInfo
     * @return
     */
    String changeBusiness(TdxCustomsRecordDTO entity, UserInfo userInfo);

    /**
     * 修改备注
     *
     * @param entity
     * @param userInfo
     * @return
     */
    String changeRemark(TdxCustomsRecordDTO entity, UserInfo userInfo);

    /**
     * 签收查询--签收
     *
     * @param idList
     * @param userInfo
     * @return
     */
    String scanBatchSign(List<String> idList, UserInfo userInfo);

    /**
     * 扫描仪签收
     *
     * @param pramsMap
     * @param userInfo
     * @return
     * @throws Exception
     */
    String scanSign(Map<String, String> pramsMap, UserInfo userInfo) throws Exception;

    String editCustoms(TdxCustomsRecord entity, UserInfo userInfo) throws Exception;
}
