package com.brilliance.isc.bo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
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;


/**
* TABLE:fee:FEE - Fee
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Fin extends AbstractCommonVo {
    private String inr = NULLSTR;

    //关联表
    private String objtyp = NULLSTR;

    //关联主键
    private String objinr = NULLSTR;

    //关联业务编号
    private String relref = NULLSTR;

    //本行融资申请编号
    private String ownref = NULLSTR;

    //外管局融资编号
    private String wgrref = NULLSTR;

    //客户号
    private String cliextkey = NULLSTR;

    //客户名称
    private String clinam = NULLSTR;

    //组织机构代码
    private String custcode = NULLSTR;

    //经办机构号
    private String bchcod = NULLSTR;

    //归属机构号
    private String ownbchcod = NULLSTR;

    //境外付款期限
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date conenddat = NULLDATE;

    //应收�'�款币种
    private String rcvtotcur = NULLSTR;

    //应收�'�款总金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal rcvtotamt  = Decimals.ZERO_SCALE2;

    //融资申请日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date finappdat = NULLDATE;

    //融资申请币种
    private String cur = NULLSTR;

    //融资申请金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private  BigDecimal amt  = Decimals.ZERO_SCALE2;

    //发票数量
    private  int inenum ;

    //报关单数量
    private  int cusnum ;

    //融资受理状态
    private String finaplsta = NULLSTR;

    //融资拒绝理由
    private String rfurea = NULLSTR;

    //融资放款币种
    private String finloacur = NULLSTR;

    //放款审核状态
    private String loachksta = NULLSTR;

    //融资放款金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private  BigDecimal finloaamt  = Decimals.ZERO_SCALE2;

    //放款日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date loadat = NULLDATE;

    //预计还款日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date prcrepdat = NULLDATE;

    //备注
    private String remark = NULLSTR;

    //融资审核币种
    private String loacur = NULLSTR;

    //融资审核金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private  BigDecimal loaamt  = Decimals.ZERO_SCALE2;

    //融资审核期限
    private String loalimday = NULLSTR;

    //还款币种
    private String rcvcur = NULLSTR;

    //还款金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private  BigDecimal rcvamt  = Decimals.ZERO_SCALE2;

    //实际还款日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date facrcvdat = NULLDATE;

    //通过理由
    private String abarea = NULLSTR;

    //数据删除原因
    private String delrea = NULLSTR;

    //创建日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date credat = NULLDATE;

    //中信保标志
    private String zxbflg = NULLSTR;

    //保单号
    private String policyno = NULLSTR;

    //应转-赔转协议编号
    private String agreementno = NULLSTR;

    //承保通知书编号
    private String noticeid = NULLSTR;

    //融资险种
    private String policytype = NULLSTR;

    //是否线下承保
    private String xxcbflg = NULLSTR;

}