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

import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.LinkedList;
import java.util.List;

/**
 * CL41  额度管理系统额度试算
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class InnerResCL41 {

    /**
     * 客户ECIF号
     */
    public String restxt02;
    /**
     * 客户名称
     */
    public String restxt03;
    /**
     * 业务品种
     */
    public String restxt04;
    /**
     * 业务编号
     */
    public String restxt05;
    /**
     * 业务币种
     */
    public String restxt06;
    /**
     * 合同保证金比例
     */
    public String restxt07;
    /**
     * 调整后业务余额
     */
    public String restxt08;
    /**
     * 调整前业务余额
     */
    public String restxt09;
    /**
     * 调整后保证金比例
     */
    public String restxt10;
    /**
     * 调整前保证金比例
     */
    public String restxt11;
    /**
     * 调整后拟占用额度
     */
    public String restxt12;
    /**
     * 调整前已占用额度
     */
    public String restxt13;
    /**
     * 调整后拟占用敞口
     */
    public String restxt14;
    /**
     * 调整前已占用敞口
     */
    public String restxt15;
    /**
     * 调整后表外规模上限拟占用值
     */
    public String restxt16;
    /**
     * 调整前表外规模上限已占用值
     */
    public String restxt17;
    /**
     * 需占用额度
     */
    public String restxt18;
    /**
     * 当前可用额度
     */
    public String restxt19;
    /**
     * 需占用敞口
     */
    public String restxt20;
    /**
     * 当前可用敞口
     */
    public String restxt21;
    /**
     * 需占用表外规模上限
     */
    public String restxt22;
    /**
     * 当前表外规模上限可用值
     */
    public String restxt23;
    /**
     * 当前表外规模上限可用值
     */
    public String restxt24;
    /**
     * 可恢复敞口
     */
    public String restxt25;
    /**
     * 可恢复表外规模上限
     */
    public String restxt26;

    public List<ItemCL412> lstCL412 = new LinkedList<>();

    public List<ItemCL413> lstCL413 = new LinkedList<>();

    public List<ItemCL414> lstCL414 = new LinkedList<>();

    public InnerResCL41() {
        super();
    }

    public InnerResCL41(String restxt02, String restxt03, String restxt04, String restxt05, String restxt06, String restxt07, String restxt08, String restxt09, String restxt10, String restxt11, String restxt12, String restxt13, String restxt14, String restxt15, String restxt16, String restxt17, String restxt18, String restxt19, String restxt20, String restxt21, String restxt22, String restxt23, String restxt24, String restxt25, String restxt26, List<ItemCL412> lstCL412, List<ItemCL413> lstCL413, List<ItemCL414> lstCL414) {
        this.restxt02 = restxt02;
        this.restxt03 = restxt03;
        this.restxt04 = restxt04;
        this.restxt05 = restxt05;
        this.restxt06 = restxt06;
        this.restxt07 = restxt07;
        this.restxt08 = restxt08;
        this.restxt09 = restxt09;
        this.restxt10 = restxt10;
        this.restxt11 = restxt11;
        this.restxt12 = restxt12;
        this.restxt13 = restxt13;
        this.restxt14 = restxt14;
        this.restxt15 = restxt15;
        this.restxt16 = restxt16;
        this.restxt17 = restxt17;
        this.restxt18 = restxt18;
        this.restxt19 = restxt19;
        this.restxt20 = restxt20;
        this.restxt21 = restxt21;
        this.restxt22 = restxt22;
        this.restxt23 = restxt23;
        this.restxt24 = restxt24;
        this.restxt25 = restxt25;
        this.restxt26 = restxt26;
        this.lstCL412 = lstCL412;
        this.lstCL413 = lstCL413;
        this.lstCL414 = lstCL414;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL412 {
        /**
         * 同业客户调整前拟占用额度
         */
        public String tbx01;
        /**
         * 同业客户调整后拟占用额度
         */
        public String tbx02;
        /**
         * 同业客户调整前拟占用敞口
         */
        public String tbx03;
        /**
         * 同业客户调整后拟占用敞口
         */
        public String tbx04;
        /**
         * 同业客户可恢复额度
         */
        public String tbx05;
        /**
         * 同业客户需占用额度
         */
        public String tbx06;
        /**
         * 同业客户可恢复敞口
         */
        public String tbx07;
        /**
         * 同业客户需占用敞口
         */
        public String tbx08;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL413 {
        /**
         * 额度类型
         */
        public String tbxx01;
        /**
         * 额度编号
         */
        public String tbxx02;
        /**
         * 额度明细编号
         */
        public String tbxx03;
        /**
         * 额度品种
         */
        public String tbxx04;
        /**
         * 额度币种
         */
        public String tbxx05;
        /**
         * 保证金比例
         */
        public String tbxx06;
        /**
         * 授信额度
         */
        public String tbxx07;
        /**
         * 已用额度
         */
        public String tbxx08;
        /**
         * 可用额度
         */
        public String tbxx09;
        /**
         * 敞口额度
         */
        public String tbxx10;
        /**
         * 已用敞口
         */
        public String tbxx11;
        /**
         * 可用敞口
         */
        public String tbxx12;
        /**
         * 表外规模上限当前值
         */
        public String tbxx13;
        /**
         * 表外规模上限已用值
         */
        public String tbxx14;
        /**
         * 表外规模上限可用值
         */
        public String tbxx15;
        /**
         * 恢复序号
         */
        public String tbxx16;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL414 {
        /**
         * 同业ECIF客户号
         */
        public String tb2xx01;
        /**
         * 同业SWIFT号
         */
        public String tb2xx02;
        /**
         * 同业客户名称
         */
        public String tb2xx03;
        /**
         * 占用同业额度编号
         */
        public String tb2xx04;
        /**
         * 同业明细额度编号
         */
        public String tb2xx05;
        /**
         * 同业额度品种
         */
        public String tb2xx06;
        /**
         * 同业额度币种
         */
        public String tb2xx07;
        /**
         * 同业授信额度
         */
        public String tb2xx08;
        /**
         * 同业已用额度
         */
        public String tb2xx09;
        /**
         * 同业可用额度
         */
        public String tb2xx10;
        /**
         * 同业敞口额度
         */
        public String tb2xx11;
        /**
         * 同业已用敞口
         */
        public String tb2xx12;
        /**
         * 同业可用敞口
         */
        public String tb2xx13;
    }
}
