package com.brilliance.isc.common.sespay.vo;

import com.brilliance.mda.runtime.mda.IStream;
import com.brilliance.mda.runtime.mda.impl.StreamImpl;
import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.brilliance.isc.vo.CipmodVo;
import com.brilliance.isc.vo.FxpmodVo;
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.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class SespayVo extends AbstractCommonVo {

    //"amount booked"
    private BigDecimal accamt = Decimals.ZERO_SCALE2;

    //"acc.currency"
    private String accccur = NULLSTR;

    //"Account with Institution Account"
    private String awiacc = NULLSTR;

    //"Beneficiary Institution Account"
    private String beiacc = NULLSTR;

    //"Beneficiary's account"
    private String benacc = NULLSTR;

    //"Use Option F for Beneficiary"
    private String benoptfflg = NULLSTR;

    //"Details of payment MT100"
    private  String blkt70 = NULLSTR;

    //"Label for Charges to/Date of Discrep."
    private  String chalab = NULLSTR;

    //"Details of Charges"
    private  String chato = NULLSTR;

    //"自槸区备注label"
    private  String commetlab = NULLSTR;

    //"自槸区备注"
    private  String comsystbl = NULLSTR;

    //"清算代理行槦号"
    private  String coract = NULLSTR;

    //"清算代理行"
    private  String corbnk = NULLSTR;

    //"Direct payment one message"
    private String dirindflg = NULLSTR;

    //"disposition"
    private String dsp = NULLSTR;

    //"光大开户分行"
    private  String evebnk = NULLSTR;

    //"Intermediary Account"
    private  String intacc = NULLSTR;

    //"Ordering Customers Account"
    private  String odcacc = NULLSTR;

    //"old contents"
    private IStream oldstm = new StreamImpl();

    //"Ordering Institution Account"
    private  String oriacc = NULLSTR;

    //"202报文专用"
    private  String ownref = NULLSTR;

    //"54A Account"
    private  String rcvcor2acc = NULLSTR;

    //"Receiver's Correspondent Account"
    private  String rcvcoracc = NULLSTR;

    //"Role"
    private String rol = NULLSTR;

    //"Which MT to beneficiary institution"
    private String sftmt = NULLSTR;

    //"Sender to receiver Information message to benf. inst."
    private  String strinf = NULLSTR;

    //"Sender to receiver Information to NOSTRO correspondent"
    private  String strinf202 = NULLSTR;

    //"Sender to receiver Information to NOSTRO correspondent"
    private  String strinf202eri = NULLSTR;

   //"Sender to receiver Information message to benf. inst."
    private  String strinferi = NULLSTR;

    //"Sender to Receiver Info modified"
    private  String strinfflg = NULLSTR;

    //"Row in SUMTAB", name = "sumtabrow"
    private  int sumtabrow;

    //"3rd Reimbursement Institution Account", name = "triacc"
    private  String triacc = NULLSTR;

    //"value date"
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date valdat = null;

    /**
     * cips模型
     */
    private CipmodVo cipmod;

    /**
     * fxps模型
     */
    private FxpmodVo fxpmod;

    @Override
    public void reset() {
        if (cipmod == null) {
            cipmod = new CipmodVo();
        }
        cipmod.reset();
        if (fxpmod == null) {
            fxpmod = new FxpmodVo();
        }
        fxpmod.reset();
    }
}
