package com.brilliance.isc.common.vo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.fasterxml.jackson.annotation.JsonFormat;
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
public class GleVo extends AbstractCommonVo{

    //Internal Unique ID Set in GLEMOD
    private String inr = NULLSTR;

    //Objecttype of Contract Set in GLEMOD
    private String objtyp = NULLSTR;

    //INR of Linked Record Set in GLEMOD
    private String objinr = NULLSTR;

    //Transaction Creating Entry Set in GLEMOD
    private String trninr = NULLSTR;

    //Account Number in our Books Mandatory
    private String act = NULLSTR;

    //Debit/Credit Mandatory
    private String dbtcdt = NULLSTR;

    //Booked in Currency Mandatory
    private String cur = NULLSTR;

    //Booking Amount Mandatory
    private BigDecimal amt  = Decimals.ZERO_SCALE2;

    //System Currency Optional
    private String syscur = NULLSTR;

    //Booking Amount in System Currency Optional
    private  BigDecimal sysamt  = Decimals.ZERO_SCALE2;

    //Value Date Defaults to BUCDAT
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date valdat = NULLDATE;

    //Booking Date Defaults to Today
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date bucdat = NULLDATE;

    //Booking Text 1
    private String txt1 = NULLSTR;

    //Booking Text 2
    private String txt2 = NULLSTR;

    //Booking Text 3
    private String txt3 = NULLSTR;

    //Prima Nota
    private String prn = NULLSTR;

    //Export Session
    private String expses = NULLSTR;

    //Export Status 'S'tored, 'R'eleased, 'E'xported, 'A'ccepted
    private String expflg = NULLSTR;

    //transaction code for accounting interface
    private String acttrncod = NULLSTR;

    //branch code inr
    private String branchinr = NULLSTR;

    //Debit draft
    private String dbtdft = NULLSTR;

    //Peer act
    private String peeact = NULLSTR;

    //RATE
    private  BigDecimal rat  = Decimals.ZERO_SCALE6;

    //trade type
    private String trdtyp = NULLSTR;

    //Client Extend ID
    private String cliextkey = NULLSTR;

    //Type of foreign exchange
    private String whmtyp = NULLSTR;

    //Order of GLE
    private String gleord = NULLSTR;

    //ACT typr 7759 or 5006
    private String newactcod = NULLSTR;

    //Term type
    private String trmtyp = NULLSTR;

    //会计科目描述
    private String trmtypName = NULLSTR;

    //交易主体
    private String trnman = NULLSTR;

    //Middle Rat
    private  BigDecimal midrat  = Decimals.ZERO_SCALE6;

    //XRT Time
    private String xrttim = NULLSTR;

    //Income of exchange
    private  BigDecimal income  = Decimals.ZERO_SCALE2;

    //对方�'�号
    private String oppacc = NULLSTR;

    //对方户名
    private String oppnam = NULLSTR;

    //对方银行代码
    private String oppbnk = NULLSTR;

    //国内地区代码
    private String discod = NULLSTR;

    //国别代码
    private String ctycod = NULLSTR;

    //交易性�'�
    private String trntyp = NULLSTR;

    //税票相关信息
    private String taxinf = NULLSTR;

    //前台流�'号
    private String itfinr = NULLSTR;

    //EAST对方�'�号
    private String eastoppacc = NULLSTR;

    //EAST对方户名
    private String eastoppnam = NULLSTR;

    //EAST对方银行
    private String eastoppbnk = NULLSTR;

    //EAST摘要
    private String eastinf = NULLSTR;

    //结售汇顺序号
    private  int jshnum ;

    //借方客户账号
    private String debitact = NULLSTR;
}
