package com.brilliance.isc.vo.lc;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.bo.model.Rmbclm;
import com.brilliance.isc.common.vo.BizInfoVo;
import com.brilliance.isc.common.vo.PtsptaVo;
import com.brilliance.isc.vo.collection.Docgrdm;
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 BedBizInfoVo extends BizInfoVo {

    private String pntinr;

    private String pnttyp;

    private String docprbrol;

    private String payrol;

    //Partial Confirmation \LEDGRP\REC\PARTCON
    private BigDecimal partcon  = Decimals.ZERO_SCALE2;

    //fremsg相关
    private String sndmt;
    private  String msgrol = NULLSTR;
    private  String ccrol = NULLSTR;
    private PtsptaVo othmsg;
    private PtsptaVo othcc;
    private  String reldir = NULLSTR;
    private  String fulmt = NULLSTR;
    private  String relmt = NULLSTR;

    //RMB rol (Reimbursement role )
    private String rmbrol = NULLSTR;

    //Claim Reimbursement now
    private  String rmbclmnow= NULLSTR;

    //Claim Reimbursement late
    private  String rmbclmlate= NULLSTR;

    //Available by [AVBBY0]
    private String avbby = NULLSTR;

    //second mail flag
    private  String semflg= NULLSTR;

    //Ammendment Ben. or Iss. Address
    private  String ameadrflg= NULLSTR;

    //Free of Payment
    private String frepayflg = NULLSTR;

    //票据转卖
    private String forflg = NULLSTR;

    private String doccur = NULLSTR;

    private BigDecimal docamt = BigDecimal.ZERO;

    private BigDecimal redamt = BigDecimal.ZERO;

    //Send MT 742, Rmbclm.clmrmbflg
    private String clmrmbflg = NULLSTR;

    //Send Message
    private  String sndmsg= NULLSTR;

    //Multiple Tenor Flag
    private String mattxtflg = NULLSTR;

    //Internal Unique ID of Export L/C Document Set
    private String inr = NULLSTR;

    //send reimbursement date
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date snadat;

    //Advice of Discrepancy MT750
    private  String advdisflg= NULLSTR;

    //Rejection pending instructions
    private  String rejpenins= NULLSTR;

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date predat;

    private Integer tenmaxday;

    //Return of Documents
    private String advdocflg = NULLSTR;

    //Advice of Refusal MT734
    private  String advrefflg= NULLSTR;


    //Date of Receipt of Documents
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date rcvdat = NULLDATE;

    //Document Set Status
    private String docsta = NULLSTR;

    private String stacty;

    //默认对手费用收取角色
    private String feecorrol = NULLSTR;

    // 用于计算 semflg (second mail flag)
    private Docgrdm docgrdm;

    // Send Documents to another Address, 选择寄单行 标记
    private String docrolflg;

    // Receiver of Documents, 单据接收行
    private String docrol;

    // RMB pts extkey, used in bedsnd diary register
    private String rmbPtsExtkey;

    // 用于registerSettlementRMB计算其上的clmcur，clmamt，clmamt2等;
    private Rmbclm rmbclm;

    // bedgrp.rec.clsdat, 用于registerSettlementRMB计算其上的clmcur，clmamt，clmamt2等;
    private Date clsdat;

    // aamset.ultmat, 用于registerSettlementRMB计算其上的clmcur，clmamt，clmamt2等;
    private BigDecimal ultamt;

    // bedgrp.rec.lescom, Less comm.
    private  BigDecimal lescom  = Decimals.ZERO_SCALE3;

    //ledgrp inr
    private String ledinr;

}
