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

import com.fasterxml.jackson.annotation.JsonInclude;

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

/**
 * CL44  额度管理系统额度释放
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class InnerResCL44 {

    public InnerResCL44() {
    }

    public InnerResCL44(String objectid, String resp01, String resp02, String resp03, String resp04, List<ItemFCL443> lstCL443, List<ItemFCL444> lstCL444, List<ItemFCL445> lstCL445, List<ItemFCL445> lstCL446) {
        this.objectid = objectid;
        this.resp01 = resp01;
        this.resp02 = resp02;
        this.resp03 = resp03;
        this.resp04 = resp04;
        this.lstCL443 = lstCL443;
        this.lstCL444 = lstCL444;
        this.lstCL445 = lstCL445;
        this.lstCL446 = lstCL446;
    }

    /**
     * 报文名
     */
    public String objectid;
    /**
     * 后台流水号
     */
    public String resp01;
    /**
     * 客户ECIF号
     */
    public String resp02;
    /**
     * 客户名称
     */
    public String resp03;
    /**
     * 交易结果
     */
    public String resp04;

    public List<ItemFCL443> lstCL443 = new ArrayList<>();

    public List<ItemFCL444> lstCL444 = new ArrayList<>();

    public List<ItemFCL445> lstCL445 = new ArrayList<>();

    public List<ItemFCL445> lstCL446 = new ArrayList<>();

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemFCL443 {
        /**
         * 业务编号
         */
        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;
        /**
         * 拟占用/恢复表外规模上限额度
         */
        public String tbxx17;
        /**
         * 失败原因
         */
        public String tbxx18;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemFCL444 {
        /**
         * 业务编号
         */
        public String tb2xx01;
        /**
         * 同业ECIF客户号
         */
        public String tb2xx02;
        /**
         * 同业SWIFT号
         */
        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;
        /**
         * 同业可用敞口
         */
        public String tb2xx14;
        /**
         * 同业拟占用敞口
         */
        public String tb2xx15;
        /**
         * 同业额度失败原因
         */
        public String tb2xx16;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemFCL445 {
        /**
         * 业务编号
         */
        public String tb3xx01;
        /**
         * 国家授信额度
         */
        public String tb3xx02;
        /**
         * 国家已用额度
         */
        public String tb3xx03;
        /**
         * 国家可用额度
         */
        public String tb3xx04;
        /**
         * 国家拟占/恢复用额度
         */
        public String tb3xx05;
        /**
         * 国家额度失败原因
         */
        public String tb3xx06;
        /**
         * 大洲授信额度
         */
        public String tb3xx07;
        /**
         * 大洲已用额度
         */
        public String tb3xx08;
        /**
         * 大洲可用额度
         */
        public String tb3xx09;
        /**
         * 大洲拟占用/恢复额度
         */
        public String tb3xx10;
        /**
         * 大洲额度失败原因
         */
        public String tb3xx11;
    }

    public static class ItemFCL446{

        /**
         * 业务编号
         */
        public String tb4xx01;

        /**
         * 大洲授信额度
         */
        public String tb4xx07;
        /**
         * 大洲已用额度
         */
        public String tb4xx08;
        /**
         * 大洲可用额度
         */
        public String tb4xx09;
        /**
         * 大洲拟占用/恢复额度
         */
        public String tb4xx10;
        /**
         * 大洲额度失败原因
         */
        public String tb4xx11;
    }

}
