package com.brilliance.isc.vo.finance;

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 DfdBizInfoVo extends BizInfoVo {

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

    private String fintyp = NULLSTR;

    private String dfuflg = NULLSTR;

    private String msgtyp = NULLSTR;

    private String fmttyp = NULLSTR;

    private String nrlflg = NULLSTR;

    private String clsflg = NULLSTR;

    private String trntyp = NULLSTR;

    private String taxcur = NULLSTR;

    private String dfucur = NULLSTR;

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal tottax = Decimals.ZERO_SCALE3;

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal resamt = Decimals.ZERO_SCALE3;

    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal dfuamt = Decimals.ZERO_SCALE3;

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

    /**
     * 报送使用  代付起息日
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date stttendat = NULLDATE;

    /**
     * 报送使用 代付到期日
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date matdat = NULLDATE;


    /**
     * 报送使用  执行利率  DFDGRP.REC.ACTRAT
     */
    private BigDecimal actrat = Decimals.ZERO_SCALE6;

    /**
     * 报送使用  修改前执行利率  DFDGRP.REC.ACTRAT
     */
    private BigDecimal oldactrat = Decimals.ZERO_SCALE6;


    /**
     * 报送使用 浮动方式
     */
    private String flttyp = NULLSTR;

    /**
     * 报送使用 代付行中文名称 DFDGRP.REC.BANKCN
     */
    private String bankcn = NULLSTR;

    /**
     * 报送使用 还代币种 DFDGRP.REC.RESCUR
     */
    private String rescur = NULLSTR;
}
