package com.brilliance.isc.common.vo;

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

import java.util.Date;
import java.util.Set;

/**
 * Module to handle free Messages
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class FremsgVo extends AbstractCommonVo {
    //Role Copy
    private String ccrol;
    //Role Message
    private String msgrol;
    //PTAINR of Original message
    private String msgptainr;
    //PTAINR of copy
    private String ccptainr;
    //Text module group
    private String txmgrp;
    //Send Copy to name
    private String ccnam;
    //Copy of Message to
    private String ccnam2;
    //Form of Undertaking
    private String tag22d;
    //Addressblock
    private String adrblkmsg;
    //Addressblock
    private String adrblkcc;
    //Narrative for MT 759 for DTA sr2019
    private String tag45ddta2019;
    //Business Sector
    private String bussec;
    //Details info
    private String det;
    //Narrative
    private String tag77a;
    //Narrative
    private String tag72;
    //Function
    private String tag23h;
    //message to be created
    private String sndmt;
    //Type of Auth. of main message used in defaults and checks
    private String adrbicaut;
    //from
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date reldat;
    //label for tag 79
    private String strinflab;
    //label for date
    private String reldatlab;
    //relevant message sent/received
    private String reldir;
    //Role Copy flag for disable default
    private String ccrolflg;
    //Role Message flag for disable default
    private String msgrolflg;
    //Adjustment Flag
    private String adjmsgflg;
    //Enclosures
    private String encflg;
    //Document Title
    private String prttitle;
    //print reference block
    private String prtrefflg;
    //Narrative
    private String strinf;
    //Narrative
    private String fretxt;
    //Text for special types of messages
    private String spcmsgtxt;
    //Remove from TRO order
    private String troflg;
    //MT to Send
    private String fulmt;
    //Send Message to name
    private String msgnam;
    //Original Message to
    private String msgnam2;
    //related MT
    private String relmt;
    //MT799 tag20
    private String tag20lab;
    //tag 20 Ref.
    private String tag20ref;
    //FLG FOR GITFRE
    private String flg;
    //Undertaking Number
    private String tag23;
    //Issuer Role
    private String issrol;
    //Narrative for MT 759
    private String tag45d;
    //Date and Time of message
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date reldattim;
    //Content of tag 79 for SWT
    private String tag79txt999;
    //Content of tag 79
    private String tag79txt;
    //Amendment Number
    private int amenbr;
    //Cancellation Status
    private String tag12e;
    //Narrative for MT 741
    private String tag49l;
    //Content of tag 79
    private String tag79txtdta;
    //TAG23XCODES
    private String tag23x;
    //TAG23XBLOCK
    private String tag23xblock;

    //收报行角色列表
    private Set<String> msgrolSet;

    private PtsptaVo othcc;

    private PtsptaVo othmsg;

    private PtsptaVo iss;

    private PtsptaVo fmc;

    private PtsptaVo fmo;

}