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

import com.fasterxml.jackson.annotation.JsonInclude;

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

/**
 * CL40  国结-额度组合交易
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
public class InnerResCL40 {

    public List<ItemCL403> lstCL403 = new LinkedList<>();

    public List<ItemCL404> lstCL404 = new LinkedList<>();

    public List<ItemCL405> lstCL405 = new LinkedList<>();

    public List<ItemCL406> lstCL406 = new LinkedList<>();

    /**
     * 报文名
     */
    public String objectid;

    /**
     * 后台流水号
     */
    public String resp01;

    /**
     * 客户ECIF号
     */
    public String resp02;

    /**
     * 客户名称
     */
    public String resp03;

    /**
     * 交易结果
     */
    public String resp04;

    public InnerResCL40() {
    }

    public InnerResCL40(List<ItemCL403> lstCL403, List<ItemCL404> lstCL404, List<ItemCL405> lstCL405, List<ItemCL406> lstCL406, String objectid, String resp01, String resp02, String resp03, String resp04) {
        this.lstCL403 = lstCL403;
        this.lstCL404 = lstCL404;
        this.lstCL405 = lstCL405;
        this.lstCL406 = lstCL406;
        this.objectid = objectid;
        this.resp01 = resp01;
        this.resp02 = resp02;
        this.resp03 = resp03;
        this.resp04 = resp04;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL403 {
        /**
         * 业务场景
         */
        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;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL404 {
        /**
         * 恢复同业ECIF客户号
         */
        public String tb2xx01;
        /**
         * 恢复同业SWFIT号
         */
        public String tb2xx02;
        /**
         * 恢复同业客户名称
         */
        public String tb2xx03;
        /**
         * 恢复同业额度编号
         */
        public String tb2xx04;
        /**
         * 恢复同业明细额度编号
         */
        public String tb2xx05;
        /**
         * 恢复同业额度品种
         */
        public String tb2xx06;
        /**
         * 拟恢复同业金额
         */
        public String tb2xx07;
        /**
         * 恢复同业失败原因
         */
        public String tb2xx08;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL405 {
        /**
         * 占用业务编号
         */
        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 String tb3xx12;
        /**
         * 可用敞口
         */
        public String tb3xx13;
        /**
         * 拟占用敞口
         */
        public String tb3xx14;
        /**
         * 表外规模上限当前值
         */
        public String tb3xx15;
        /**
         * 表外规模上限已用值
         */
        public String tb3xx16;
        /**
         * 表外规模上限可用值
         */
        public String tb3xx17;
        /**
         * 表外规模上限拟占用值
         */
        public String tb3xx18;
        /**
         * 占用失败原因
         */
        public String tb3xx19;
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public static class ItemCL406 {
        /**
         * 占用同业ECIF客户号
         */
        public String tb4xx01;
        /**
         * 占用同业SWFIT号
         */
        public String tb4xx02;
        /**
         * 占用同业客户名称
         */
        public String tb4xx03;
        /**
         * 占用额度类型
         */
        public String tb4xx04;
        /**
         * 占用额度编号
         */
        public String tb4xx05;
        /**
         * 占用同业额度明细编号
         */
        public String tb4xx06;
        /**
         * 占用额度品种
         */
        public String tb4xx07;
        /**
         * 额度币种
         */
        public String tb4xx08;
        /**
         * 授信额度
         */
        public String tb4xx09;
        /**
         * 已用额度
         */
        public String tb4xx10;
        /**
         * 可用额度
         */
        public String tb4xx11;
        /**
         * 拟占用额度
         */
        public String tb4xx12;
        /**
         * 敞口额度
         */
        public String tb4xx13;
        /**
         * 已用敞口
         */
        public String tb4xx14;
        /**
         * 可用敞口
         */
        public String tb4xx15;
        /**
         * 拟占用敞口
         */
        public String tb4xx16;
        /**
         * 占用同业失败原因
         */
        public String tb4xx17;
    }
}
