package com.brilliance.isc.esb.model.clm;


import com.brilliance.isc.esb.model.AbsReqNew;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.ArrayList;
import java.util.List;

@JsonInclude(JsonInclude.Include.NON_NULL)
public class ReqCL40 extends AbsReqNew {
    /**
     * 客户ECIF号[0,40]
     */
    public String ECIFNO;
    /**
     * 客户名称[0,100]
     */
    public String KEHUMC;
    /**
     * 柜员号[0,20]
     */
    public String GUIYID;
    /**
     * 业务场景[0,10]
     */
    public String YEWUCJ;
    /**
     * 国结交易编码[0,10]
     */
    public String GJJYBM;
    /**
     * 恢复业务编号[0,40]
     */
    public String HFYWBH;
    /**
     * 恢复业务币种[0,40]
     */
    public String HFYWBZ;
    /**
     * 恢复业务余额[0,24]
     */
    public String HFYWYE;
    /**
     * 最新保证金余额[0,24]
     */
    public String XBZJYE;
    /**
     * 拟恢复金额[0,24]
     */
    public String HFJINE;
    /**
     * 占用业务品种[0,40]
     */
    public String YWPZHO;
    /**
     * 占用国结业务编号[0,40]
     */
    public String ZYYWBH;
    /**
     * 占用业务币种[0,40]
     */
    public String ZYYWBZ;
    /**
     * 占用业务金额[0,24]
     */
    public String ZYYWJE;
    /**
     * 占用业务余额[0,24]
     */
    public String ZYYWYE;
    /**
     * 保证金余额[0,24]
     */
    public String BZJYUE;
    /**
     * 起始日[0,10]
     */
    public String QISHIR;
    /**
     * 到期日[0,10]
     */
    public String DAOQIR;
    /**
     * 占用额度类型[0,10]
     */
    public String EDLEIX;
    /**
     * 占用额度编号[0,40]
     */
    public String EDBHAO;
    /**
     * 是否转授权业务[0,1]
     */
    public String SFZSQYW;
    /**
     * 转授权客户编号[0,40]
     */
    public String ZSQKHBH;
    /**
     * 是否分公司业务[0,1]
     */
    public String SFFGSYW;
    /**
     * 总公司客户编号[0,100]
     */
    public String ZGSKHBH;

    public List<ItemFCL401> FCL401 = new ArrayList<>();

    public List<ItemFCL402> FCL402 = new ArrayList<>();


    public static class ItemFCL401 {

        /**
         * 占用明细额度编号[0,100]
         */
        public String EDMXBH;
        /**
         * 占用额度品种[0,100]
         */
        public String EDCPDM;
        /**
         * 恢复序号[0,38]
         */
        public String HUIFXH;
    }

    public static class ItemFCL402 {

        /**
         * 同业ECIF客户号[0,40]
         */
        public String TYKHBH;
        /**
         * 同业SWIFT号[0,100]
         */
        public String TYSWIT;
        /**
         * 占用同业额度编号[0,40]
         */
        public String TYEDBH;
        /**
         * 占用同业明细额度编号[0,40]
         */
        public String TYMXBH;
        /**
         * 额度品种[0,40]
         */
        public String EDCPDM;
        /**
         * 是否转授权业务(同业/担保)[0,24]
         */
        public String SFZSQYW;
        /**
         * 转授权客户编号(同业/担保)[0,100]
         */
        public String ZSQKHBH;
        /**
         * 占用同业额度编号[0,100]
         */
        public String SFFGSYW;
        /**
         * 总公司客户编号(同业/担保)[0,100]
         */
        public String ZGSKHBH;

    }

    public ReqCL40() {
    }

    public ReqCL40(String ECIFNO, String KEHUMC, String GUIYID, String YEWUCJ, String GJJVBM, String HFYWBH, String HFYWBZ, String HFYWYE, String XBZJYE, String HFJINE, String YWPZHO, String ZYYWBH, String ZYYWBZ, String ZYYWJE, String BZJYUE, String QISHIR, String DAOQIR, String EDLEIX, String EDBHAO, String SFZSQYW, String ZSQKHBH, String SFFGSYW, String ZGSKHBH, List<ItemFCL401> FCL401, List<ItemFCL402> FCL402) {
        this.ECIFNO = ECIFNO;
        this.KEHUMC = KEHUMC;
        this.GUIYID = GUIYID;
        this.YEWUCJ = YEWUCJ;
        this.GJJYBM = GJJVBM;
        this.HFYWBH = HFYWBH;
        this.HFYWBZ = HFYWBZ;
        this.HFYWYE = HFYWYE;
        this.XBZJYE = XBZJYE;
        this.HFJINE = HFJINE;
        this.YWPZHO = YWPZHO;
        this.ZYYWBH = ZYYWBH;
        this.ZYYWBZ = ZYYWBZ;
        this.ZYYWJE = ZYYWJE;
        this.BZJYUE = BZJYUE;
        this.QISHIR = QISHIR;
        this.DAOQIR = DAOQIR;
        this.EDLEIX = EDLEIX;
        this.EDBHAO = EDBHAO;
        this.SFZSQYW = SFZSQYW;
        this.ZSQKHBH = ZSQKHBH;
        this.SFFGSYW = SFFGSYW;
        this.ZGSKHBH = ZGSKHBH;
        this.FCL401 = FCL401;
        this.FCL402 = FCL402;
    }
}
