package com.brilliance.isc.bo.lg;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.vo.BizInfoVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

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
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class NidBizInfoBo extends BizInfoVo {

    private String hndtyp = NULLSTR;

    private String rmbflg;

    // \\NIDGRP\\REC\\GARTYP
    private String gartyp;

    // \\NIDGRP\\REC\\FINGUA
    private String fingua;

    // \\NIDGRP\\GHD\\SEGTYP
    private String segtyp;

    //\\NIDGRP\\GHD\\AMESTA;
    private String amesta;

    // \NIDGRP\REC\FROMFLG
    private String fromflg;

    // \NIDGRP\REC\OTHERSNO
    private String othersno;

    private String beyzd3;

    private String beyzd6;

    // \NIDGRP\REC\RTNFILESTYLE
    private String rtnfilestyle;

    // \NIDGRP\REC\SNDTO
    private String sndto;

    private String secuilflg;

    // NIDGRP\REC\LEGFRM
    private String legfrm = NULLSTR;

    // GITP\REC\SWIFTFLG
    private String swiftflg;

    // NIDGRP\REC\PURCAN
    private String purcan = NULLSTR;

    // NIDGRP\REC\LIAFLG
    private String liaflg = NULLSTR;

    // NIDGRP\REC\LIADAT
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date liadat = NULLDATE;

    // NIDGRP\REC\NIDUIL
    private String giduil;

    // NIDGRP\REC\PURPOS
    private String purpos;

    // NIDGRP\REC\REVFLG
    private String revflg;

    // NIDGRP\REC\CNFSTA
    private String cnfsta;

    //GETAMEVO//GITAMEPVO//SWIADD//AMEACCFLG
    private String amemsgdonflg = NULLSTR;

    //GETAMEVO//GITAMEPVO//PRTFLG
    private String prtflg;

    // NIDGRP\APLCNT
    private int aplcnt;

    // NIDGRP\REC\REDAMT
    private BigDecimal redamt = Decimals.ZERO_SCALE2;

    //GCDGRP//REC//DOCPRBROL
    private String docprbrol = NULLSTR;

    //TRNMODVO//SWIADD//PURPOSAME
    private String purposame = NULLSTR;

    //GETAMEVO//GITAMEPVO//AMEACCFLG
    private String ameaccflg;

    //GCDGRP//REC//PTYTYP
    private  String ptytyp = NULLSTR;

    //NIDGRP//ADA//ROLSETFLG
    private  String rolsetflg = NULLSTR;

    //NIDGRP//REC//OUTCUR
    private String outcur = NULLSTR;

    // NIDGRP\REC\EXPFLG
    private String expflg;

    //Date Guarantee Closed
    // NIDGRP\REC\CLSDAT
    private Date clsdat;

    //Date Guarantee Closed
    // NIDGRP\REC\FEECOLDAT
    private Date feecoldat;

    //Confirmation Date
    // NIDGRP\REC\CNFDAT
    private Date cnfdat;

    // GCTP\CRE732FLG
    private String cre732flg = NULLSTR;

    // GITSET\CLMRMBFLG
    private String clmrmbflg = NULLSTR;

    // GITSET\SETMOD\DOCAMT
    private BigDecimal docamt = Decimals.ZERO_SCALE2;

    // GITSET\SETMOD\DOCCUR
    private  String doccur = NULLSTR;


    private String rmbnar;

    private String ghdinr;

    private String ncdinr;

    private String ameflg;

    private String clisetopt;

    private String dspflg;

    private BigDecimal ameamt;

    private String nxtflg;

    private String payrol;

    private BigDecimal chgamt = Decimals.ZERO_SCALE2;

    private Date chgdat;

    //Gitcrj新增
    private String Rejtypsel;

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

    //Request of Amendment send to
    private  String ramrol;

    //Gitset新增
    private String cannowflg = NULLSTR;
    private String paypsb = NULLSTR;
    private String frepayflg = NULLSTR;
    private String opnsta;

    //nitenc相关
    //nitenc/trnmod/diapic/cod；nitenc/trnmod/diapic/dat
    //Coded Reason；Date of Diary
//    private String cod = NULLSTR;
//    private Date dat = NULLDATE;

    // 云平台保函消息类型
    private String msgTyp;

    private String guaflg = NULLSTR;

    private String countrycode = NULLSTR;
    @Override
    public void reset() {
        if (redamt == null) {
            redamt = Decimals.ZERO_SCALE2;
        }
    }
}
