package com.brilliance.isc.common.bop.cfa.cfagit.service;

import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import com.brilliance.isc.bo.model.Cfagit;
import com.brilliance.isc.common.bop.cfa.common.CfaStoreContractService;

import java.util.Date;

/**
 * @author yangxd
 * @version 1.0
 * @description:CFA依赖的服务，申报编码获取等服务
 * @data 2023/7/10 15:16
 */
public interface CfaDependService {

    public Logger logger = LoggerFactory.getLogger(CfaStoreContractService.class);

    /**
      * @description 赋值类变量cfagit
      * @param  cfagitv
      * @return
      * @date 2023/7/11 9:46
      */
    public void setCfagitPro(Cfagit cfagitv);

    /**
     * @description 获取对外担保编号
     * @param  cfatyp cfa类型
     * @param  reldat 实际日期
     * @return
     * @date 2023/7/11 9:46
     */
    public void getCfaReference(String cfatyp, Date reldat);

    /**
     * @description 获取履约编号
     * @param  rptno 对外担保编号
     * @return
     * @date 2023/7/11 9:46
     */
    public String getChangeNo(String rptno);

    /**
     * @description 对外担保编号
     * @param  dat 生成流水号的日期
     * @param  typ 业务类型
     * @param  decnum 担保人代码
     * @param  valid 验证编号标志
     * @param  validref 待验证编号
     * @return 对外担保编号
     * @date 2023/7/11 9:46
     */
    public String getCFARef(Date dat,String typ,String decnum,boolean valid,String validref);

    /**
     * @description 更新cfa-sta状态
     * @param  cfagitv 模型
     * @param  objTyp 业务类型：EBA,EAD,EAF,ECA
     * @param  instyp 子类型eba:bas,dcl,vrf
     * @param  numOfList dcl,vrf集合中对象位置
     * @return
     * @date 2023/7/11 9:46
     */
    public void setCFAERRSta(Cfagit cfagitv,String objTyp,String instyp,int numOfList);

    public void setAmeAmtAndExpDat(Cfagit cfagit);
}
