package com.brilliance.isc.bo;

import com.brilliance.isc.bo.model.Fincbs;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.math.BigDecimal;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Finmod extends AbstractCommonVo {
    private Fincbs cbs;

    private String inr;

    //相关业务编号inr
    private String objinr;

    //相关业务编号类型
    private String objtyp;

    //业务编号
    private String ownref;

    //业务种类
    private String trntyp;

    //借据号
    private String fincod;

    //合同编号
    private String conref;

    //计息周期
    private String intprd;

    //固定周期
    private int fixprd;

    //计息日期
    private String intdat;

    //利率调整方式
    private String ratchgtyp;

    //利率调整周期
    private String ratchgprd;

    //利率调整月日数
    private String ratchgdat;

    //宽限期
    private int graday = 0;

    //浮动方式
    private String flttyp;

    //浮动值
    private BigDecimal fltval = BigDecimal.ZERO;

    //呆滞计息方式
    private String ovdinttyp;

    //罚息比率
    private BigDecimal ovdintrat = BigDecimal.ZERO;

    //收息类型
    private String intflg;

    //计复息标志
    private String cmpflg;

    //第一还款账号
    private String act1;

    //第二还款账号
    private String act2;

    //第三方还款账号
    private String act3;

    //第三方还款方式
    private String acttyp;

    //信贷柜员
    private String usr;

    //放款部门
    private String branch;

    //入账机构
    private String accbch;

    //预收息金额
    private BigDecimal intamt = BigDecimal.ZERO;

    //利息付款账号
    private String intact;

    //是否到期主动扣收款
    private String wjdkfl;

    //预扣息方式
    private String inttyp;

    //定价审批代码
    private String dinjdm;

    //审批流程发起标识
    private String rmbsbs;

    //6153接口请求
    private String fin6153;

    //6205接口请求
    private String fin6205;

    //6107接口请求
    private String fin6107;

    //6204接口请求
    private String fin6204;

    //4338接口请求
    private String fin4338;

    //直通式接口请求
    private String finzts;

    private String opnflg;

    private Dinmod dinmod;

    //接口操作标志
    private String itftyp;

    //税率
    private BigDecimal shuilv = BigDecimal.ZERO;

    //还款方式
    private String reptyp;

    @Override
    public void reset() {
        if (cbs == null) {
            cbs = new Fincbs();
        }
        cbs.reset();
    }
}
