package com.brilliance.isc.bo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

import static com.brilliance.mda.runtime.mda.Constants.NULLDATE;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Jsd extends AbstractCommonVo {
    //Internal Unique ID of JS Contract
    private String inr = NULLSTR;

    //业务编号
    private String ownref = NULLSTR;

    //买卖品种
    private String maimpz = NULLSTR;

    //处理标志
    private String chlibz = NULLSTR;

    //业务类型
    private String chlibz1 = NULLSTR;

    //Externally Displayed Name to Identify the Contract
    private String nam = NULLSTR;

    //买卖方向
    private String pngcfx = NULLSTR;

    //Creation Date
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date credat = NULLDATE;

    //交易日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date opndat = NULLDATE;

    //Date Closed
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date clsdat = NULLDATE;

    //Version Counter
    private String ver = NULLSTR;

    //BRANCHINR
    private String branchinr = NULLSTR;

    //BRANCHINR CODE KEY
    private String bchkeyinr = NULLSTR;

    //择期起始日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date qishrq = NULLDATE;

    //交割日
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date qixiri = NULLDATE;

    //即期T+n标志
    private String baozfs = NULLSTR;

    //银行买入�'�币
    private String huobdh = NULLSTR;

    //银行卖出�'�币
    private String dfhbdh = NULLSTR;

    //客户中文名
    private String kehzwm = NULLSTR;

    //交易参考价
    private  BigDecimal jioyjc  = Decimals.ZERO_SCALE6;

    //系统内平盘参考价
    private  BigDecimal pngpjc  = Decimals.ZERO_SCALE6;

    //系统外平盘参考价
    private  BigDecimal wpngpc  = Decimals.ZERO_SCALE6;

    //客户选择
    private String khwtxz = NULLSTR;

    //委托汇率
    private  BigDecimal weithl  = Decimals.ZERO_SCALE6;

    //交易行优惠值
    private  BigDecimal zdngll  = Decimals.ZERO_SCALE6;

    //交易成交汇率
    private  BigDecimal jqmrhl  = Decimals.ZERO_SCALE6;

    //系统内平盘汇率
    private  BigDecimal jqmchl  = Decimals.ZERO_SCALE6;

    //总行确认汇率
    private  BigDecimal cjiohl  = Decimals.ZERO_SCALE6;

    //买入金额
    private  BigDecimal mairje  = Decimals.ZERO_SCALE3;

    //卖出金额
    private  BigDecimal maicje  = Decimals.ZERO_SCALE3;

    //买入�'�号
    private String zha1zh = NULLSTR;

    //卖出�'�号
    private String zhangh = NULLSTR;

    //保证金�'�号
    private String bzhjzh = NULLSTR;

    //操作标志
    private String caozbz = NULLSTR;

    //序号
    private String dxuhao = NULLSTR;

    //币种组合
    private String bizhzh = NULLSTR;

    //大小额标志
    private String shfobz = NULLSTR;

    //收益机构
    private String ruzhjg = NULLSTR;

    //外管统计码(对应前端的"结售汇统计代码"字段)
    private String waitjm = NULLSTR;

    //是否择期
    private String benzbz = NULLSTR;

    //交割方式
    private String yewulx = NULLSTR;

    //差额交割币种
    private String zchbdh = NULLSTR;

    //联系电话
    private String dianhh = NULLSTR;

    //择期改期起始日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date chkrqi = NULLDATE;

    //到期日
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date daoqrq = NULLDATE;

    //违约金付款帐号
    private String dkrzzh = NULLSTR;

    //违约金付款币种
    private String sxfbzh = NULLSTR;

    //总行返还客户收益入�'��'�号
    private String bwqxzh = NULLSTR;

    //总行返还收益币种
    private String huo2dh = NULLSTR;

    //总行拒绝事由
    private String remark = NULLSTR;

    //差额交割汇率
    private  BigDecimal paijia  = Decimals.ZERO_SCALE6;

    //Responsible User
    private String ownusr = NULLSTR;

    //保证金应收比例
    private  BigDecimal cshpct  = Decimals.ZERO_SCALE2;

    //实占授信额度比例
    private  BigDecimal relcrepct  = Decimals.ZERO_SCALE2;

    //实占授信额度币种
    private String relcrecur = NULLSTR;

    //实占授信额度金额
    private  BigDecimal relcreamt  = Decimals.ZERO_SCALE3;

    //风险缓释
    private String rskmit = NULLSTR;

    //业务状态
    private String zhungt = NULLSTR;

    //部分交割买入金额
    private  BigDecimal bujxje  = Decimals.ZERO_SCALE3;

    //部分交割卖出金额
    private  BigDecimal cbdlje  = Decimals.ZERO_SCALE3;

    //核心业务编号
    private String yewubh = NULLSTR;

    //前手核心交易的编号
    private String preyewubh = NULLSTR;

    //对方客户类别
    private String dfkhlb = NULLSTR;

    //结售汇统计码
    private String waigtj = NULLSTR;

    //Total Coverage Amount
    private  BigDecimal totcov  = Decimals.ZERO_SCALE3;

    //保证金实收比例
    private  BigDecimal relcshpct  = Decimals.ZERO_SCALE2;

    //掉期业务处理标志
    private String diaoqi = NULLSTR;

    //平仓标志
    private String picflg = NULLSTR;

    //违约原因
    private String defrsn = NULLSTR;

    //e结算业务编号
    private String ejsownref = NULLSTR;

    //Entity holding Contract
    private String etyextkey = NULLSTR;

    //原始买入金额
    private BigDecimal maxmairje  = Decimals.ZERO_SCALE3;

    //原始卖出金额
    private  BigDecimal maxmaicje  = Decimals.ZERO_SCALE3;

    //核心客户号
    private String kehhao = NULLSTR;

    //是否为同业合作办理远期
    private String sfkzbz = NULLSTR;

    //是否融资担保公司
    private String rzdbflg = NULLSTR;

    //融资协议编号
    private String rzxybh = NULLSTR;

    //国际收支申报交易编码
    private String txcode = NULLSTR;
    //外汇局批件号/备案表号/业务编号
    private String regno = NULLSTR;
    //入账账户类型
    private String rzhtyp = NULLSTR;
    //出账账户类型
    private String czhtyp = NULLSTR;
    //结售汇性质
    private String waityp = NULLSTR;
    //优惠类型 0-无优惠 1-按基点 2-按比例
    private String yohulx = NULLSTR;

}
