package com.dxhy.erp.service;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dxhy.common.service.MpBaseService;
import com.dxhy.common.util.pojo.Authorize;
import com.dxhy.common.util.pojo.GlobalInfo;
import com.dxhy.erp.entity.InvoiceElectron;

/**
 * 签收对外接口服务
 * 
 * @author user
 *
 */
public interface SignDataService extends MpBaseService<InvoiceElectron> {

    /**
     * 获取平台签收发票
     * 
     * @param globalInfo
     * @param map
     * @param request
     * @param response
     * @param authorize
     * @return
     */
    String getInvoice(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 签收发票
     * 
     * @param globalInfo
     * @param map
     * @param request
     * @param response
     * @param authorize
     * @return
     */
    String signInvoice(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 取消签收
     * 
     * @author 陈刚扬
     * @date 2020/8/13
     * @param globalInfo
     * @param map
     * @param request
     * @param response
     * @param authorize
     * @return java.lang.String
     */
    String revokeSign(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 根据接口签收发票批次号获取签收信息
     * 
     * @param globalInfo
     * @param map
     * @param request
     * @param response
     * @param authorize
     * @return
     */
    String getInvoiceByBatchNo(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);

    /**
     * 获取扫描图片
     * 
     * @param globalInfo
     * @param map
     * @param request
     * @param response
     * @param authorize
     * @return
     */
    String getImg(GlobalInfo globalInfo, Map<String, String> map, HttpServletRequest request,
        HttpServletResponse response, Authorize authorize);
}
