package com.brilliance.isc.vo.funds;

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

import java.util.Date;

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


/**
 * CrdVo
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CrdVo extends AbstractCommonVo {


    //Internal Unique ID of Import L/C (max = 16)
    private String inr = NULLSTR;

    //Reference (max = 16)
    private String ownref = NULLSTR;

    //Externally Displayed Name to Identify the Contract (max = 40)
    private String nam = NULLSTR;

    //Responsible User (max = 8)
    private String ownusr = NULLSTR;

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

    //Date L/C Opened/Issued
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date opndat = NULLDATE;

    //Date L/C Closed
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")

    private Date clsdat = NULLDATE;

    //Object Type of Associated Contract Optional  (max =6)
    private String rcvobjtyp = NULLSTR;

    //Object INR of Associated Contract Optional (max =8)
    private String rcvobjinr = NULLSTR;

    //Clearing Type  (max =1) I:Clearing In  ;O:Clearing Out
    private String clrtyp = NULLSTR;

    /*
        Transaction Type  (max =1)
        贸易 0
        非贸易 1
        资本 2
        其他 3
     */
    private String trntyp = NULLSTR;

    //Receiver BIC  (max =12)
    private String rcvbic = NULLSTR;

    //Message ReferenceTag21  (max =16)
    private String msgref = NULLSTR;

    //Account in MessageTag59  (max =21)
    private String msgact = NULLSTR;

    //Message Type  (max =3)
    private String msgtyp = NULLSTR;

    //Message InrSMH  (max =8)
    private String msginr = NULLSTR;

    //Bound Message Type  (max =8)
    private String bndtyp = NULLSTR;

    //Bound Message INRSMH   (max =8)
    private String bndinr = NULLSTR;

    //Status  (max =1)
    private String sta = NULLSTR;

    //Error Message  (max =40)
    private String errmsg = NULLSTR;

    //Customer Type  (max =1)  1:对私 0:对公
    private String custyp = NULLSTR;

    //BRANCHINR (max =8)
    private String branchinr = NULLSTR;

    //BRANCH CODE KEYINR  (max =8)
    private String bchkeyinr = NULLSTR;

    //Receiver Branch Inr  (max =8)
    private String rcvbchinr = NULLSTR;

    //Version Counter  (max =4)
    private String ver = NULLSTR;

    //Inr for SPT  (max =8)
    private String sptinr = NULLSTR;

    //Entity holding Contract   (max =8)
    private String etyextkey = NULLSTR;


}