package com.brilliance.isc.common.bopset.service;

import com.brilliance.isc.bo.bop.bopprint.BopTrnBo;

import java.util.Date;
import java.util.Map;

public interface IBopPrintService<T> {
    /**
     * 打印数据生成-只打印申报数据
     * @param bopGroup 申报数据模型
     * @param credate 收付款日期
     * @param alonflg 是否随业务申报 1-随业务申报 ，若为随业务申报需要打印全部信息，否则只打印基础信息
     * @return
     */
    Map<String,Object> getInputMapData(T bopGroup, Date credate, String alonflg);

    /**
     * 打印数据生成-打印包含业务信息
     * @param bopGroup 申报数据模型
     * @param credate 收付款日期
     * @param alonflg 是否随业务申报 1-随业务申报 ，若为随业务申报需要打印全部信息，否则只打印基础信息
     * @param bopTrnBo 部分栏位打印需要业务信息，需要交易提供
     * @return
     */
    Map<String,Object> getInputMapDataForTrn(T bopGroup, Date credate, String alonflg, BopTrnBo bopTrnBo);
}
