package com.brilliance.isc.vo.domlc;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
import com.brilliance.isc.common.vo.BizInfoVo;
import com.brilliance.isc.common.vo.PtsptaVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
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 BddBizInfoVo extends BizInfoVo {

    private String pntinr;

    private String pnttyp;

    private String docprbrol;

    private String dscinsflg;

    private String elcflg;

    private String docdis;

    private String ownref;

    private String relgodflg;

    private String oldrelgodflg;

    private String mhtyp;

    private String payrol;

    private String advrefflg;

    private String advdocflg;

    private String advbwdflg;

    private String rejpenins;

    private String advdisflg;

    private String sftmt;

    private String acpnowflg;

    private String paypsb;

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

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal dscbckamt = Decimals.ZERO_SCALE2;

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal pclbckamt = Decimals.ZERO_SCALE2;

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal setamt = Decimals.ZERO_SCALE2;

    private String doccur =  NULLSTR;

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal docamt = Decimals.ZERO_SCALE2;

    private String mattxtflg;

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

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

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

    private String dfflag;

    private String clrmtd;

    private String fromflg;

    private String frepayflg;

    private String trntyp;

    private String gleflg;

    private String sndmsg;

    private String rebkpflg;


    private String msgtxt = NULLSTR;

    private String jscyjg = NULLSTR;

    private  String didclsflg = NULLSTR;

    private  String dkflg = NULLSTR;

    private String avbby = NULLSTR;

    private  int tenmaxday = -1;

    /**
     * trtcre.crefinflg融资勾选框
     */
    private String crefinflg;

    //扣减金额
    private BigDecimal redamt = Decimals.ZERO_SCALE2;

    //自由格式报文类型
    private String typsel = NULLSTR;

    //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;

    //付款方式 1-手工送单放款 2-直通式放款
    private String fkfs = "";

}
