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

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

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

/**
 * CL81 额度查询响应对象
 */
@JsonIgnoreProperties(ignoreUnknown = true)
public class ResCL81 extends AbsResCL {
    public ResCL81() {
    }

    public ResCL81(String EDLSXH, String JIAYJG, String SHIBYY, String ECIFNO, String KEHUMC, String SWIFTH, String KEHULX, List<ItemFCL811> FCL811, List<ItemFCL812> FCL812, List<ItemFCL813> FCL813) {
        this.EDLSXH = EDLSXH;
        this.JIAYJG = JIAYJG;
        this.SHIBYY = SHIBYY;
        this.ECIFNO = ECIFNO;
        this.KEHUMC = KEHUMC;
        this.SWIFTH = SWIFTH;
        this.KEHULX = KEHULX;
        this.FCL811 = FCL811;
        this.FCL812 = FCL812;
        this.FCL813 = FCL813;
    }

    /**
     * 后台流水号[0,40]
     */
    public String EDLSXH;
    /**
     * 交易结果[0,1]
     */
    public String JIAYJG;
    /**
     * 失败原因[0,200]
     */
    public String SHIBYY;
    /**
     * 客户ECIF号[0,40]
     */
    public String ECIFNO;
    /**
     * 客户名称[0,100]
     */
    public String KEHUMC;
    /**
     * 同业SWIFT号[0,40]
     */
    public String SWIFTH;
    /**
     * 客户类型[0,10]
     */
    public String KEHULX;

    public List<ItemFCL811> FCL811 = new ArrayList<>();

    public List<ItemFCL812> FCL812 = new ArrayList<>();

    public List<ItemFCL813> FCL813 = new ArrayList<>();
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class ItemFCL811 {
        /**
         * 额度类型[0,10]
         */
        public String EDLEIX;
        /**
         * CECM授信方式[0,10]
         */
        public String CMSXFS;
        /**
         * 入账机构[0,40]
         */
        public String RUZHJG;
        /**
         * 额度编号[0,40]
         */
        public String EDBHAO;
        /**
         * 综合授信协议编号[0,40]
         */
        public String ZSXYBH;
        /**
         * 贷款性质[0,10]
         */
        public String DAIKXZ;
        /**
         * 额度币种[0,10]
         */
        public String EDBZDM;
        /**
         * 授信总额度[0,24]
         */
        public String SXZEDU;
        /**
         * 总占用额度[0,24]
         */
        public String ZZYEDU;
        /**
         * 授信总敞口[0,24]
         */
        public String SXZCKO;
        /**
         * 总占用敞口[0,24]
         */
        public String ZZYCKO;
        /**
         * 额度状态[0,10]
         */
        public String EDZTDM;
        /**
         * 额度生效日期[0,10]
         */
        public String EDSXRQ;
        /**
         * 额度到期日[0,10]
         */
        public String EDDQRQ;
        /**
         * 是否低风险[0,1]
         */
        public String SHFDFX;
        /**
         * 担保方式[0,10]
         */
        public String DBFSDM;
        /**
         * 担保方式子类[0,40]
         */
        public String DBZLDM;

    }
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class ItemFCL812 {
        /**
         * 额度编号[0,40]
         */
        public String EDBHAO;
        /**
         * 额度明细编号[0,40]
         */
        public String EDMXBH;
        /**
         * 额度品种代码[0,40]
         */
        public String EDPZDM;
        /**
         * 授信品种说明[0,200]
         */
        public String SXPZSM;
        /**
         * 额度明细币种[0,10]
         */
        public String EDMXBZ;
        /**
         * 产品授信额度[0,24]
         */
        public String CPSXED;
        /**
         * 产品可用额度[0,24]
         */
        public String CPKYED;
        /**
         * 产品已用额度[0,24]
         */
        public String CPYYED;
        /**
         * 产品授信敞口[0,24]
         */
        public String CPCKOU;
        /**
         * 产品可用敞口[0,24]
         */
        public String CPKYCK;
        /**
         * 产品已用敞口[0,24]
         */
        public String CPYYCK;
        /**
         * 表外规模上限当前值[0,24]
         */
        public String CPBWGM;
        /**
         * 表外规模上限可用值[0,24]
         */
        public String CPBWKY;
        /**
         * 表外规模上限已用值[0,24]
         */
        public String CPBWYY;
        /**
         * 额度产品状态[0,10]
         */
        public String EDCPZT;
        /**
         * 是否可循环[0,1]
         */
        public String SHFKXH;
        /**
         * 是否可串用[0,1]
         */
        public String SHFKCY;
        /**
         * 串用说明[0,250]
         */
        public String CMCYSM;
        /**
         * 保证金比例[0,10]
         */
        public String BZHJBL;
        /**
         * 产品额度生效日期[0,10]
         */
        public String CPSXRQ;
        /**
         * 产品额度到期日[0,10]
         */
        public String CPDQRQ;
        /**
         * 是否冻结[0,1]
         */
        public String SHFDJI;
        /**
         * 冻结日期[0,10]
         */
        public String DJRIQI;
        /**
         * 是否终止[0,1]
         */
        public String SHFZHZ;
        /**
         * 终止日期[0,10]
         */
        public String ZZRIQI;
        /**
         * 银行账户信用风险暴露分类[0,40]
         */
        public String CMBLFL;
        /**
         * 暴露分类说明[0,200]
         */
        public String BLFLSM;

    }
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class ItemFCL813 {
        /**
         * 额度编号[0,40]
         */
        public String EDBHAO;
        /**
         * 额度明细编号[0,40]
         */
        public String EDMXBH;
        /**
         * 分类明细编号[0,40]
         */
        public String FLMXBH;
        /**
         * 厂商客户编号[0,40]
         */
        public String CSKHBH;
        /**
         * 从协议号[0,30]
         */
        public String CXYHAO;
        /**
         * 业务属性[0,2]
         */
        public String YIEWSX;
        /**
         * 分类明细授信额度[0,24]
         */
        public String FLSXED;
        /**
         * 分类明细币种[0,10]
         */
        public String FLMXBZ;
        /**
         * 分类明细保证金比例[0,10]
         */
        public String FLBZBL;
        /**
         * 分类明细已用额度[0,24]
         */
        public String FLMXYY;
        /**
         * 分类明细可用额度[0,24]
         */
        public String FLMXKY;
        /**
         * 分类明细已用敞口[0,24]
         */
        public String FLMXCK;
        /**
         * 分类明细可用敞口[0,24]
         */
        public String FLKYCK;
        /**
         * 分类明细生效日期[0,10]
         */
        public String FLSXRQ;
        /**
         * 分类明细到期日期[0,10]
         */
        public String FLDQRQ;

    }
}