package com.brilliance.isc.bo.bopdecbo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.mda.support.jakson.serialize.BigDecimalSerializeRate;
import com.brilliance.mda.support.jakson.serialize.DecimalLength;
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 org.apache.poi.hpsf.Decimal;

import java.math.BigDecimal;
import java.util.Date;

/**
 *TABLE:dbf:境内承兑申报单-基础信息
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Dbf extends AbstractCommonVo {
    //internal unique id
    private String inr ;
    //临时申报流水号
    private String tmpref ;
    //initial entity code
    private String ownextkey ;
    //操作类型
    private String actiontype ;
    //修改/删除原因
    private String actiondesc ;
    //申报号码
    private String rptno ;
    //付款人类型
    private String custype ;
    //个人身份证件号码
    private String idcode ;
    //组织机构
    private String custcod ;
    //付款人名称
    private String custnm ;
    //收款人名称
    private String oppuser ;
    //付款币种
    private String txccy ;
    //付款金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal txamt  = Decimals.ZERO_SCALE2;
    //'汇汇率
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(8)
    private BigDecimal exrate  = Decimals.ZERO_SCALE8;
    //'汇金额
//    @JsonSerialize(using = BigDecimalSerializeRate.class)
//    @DecimalLength(2)
    private BigDecimal lcyamt  = Decimals.ZERO_SCALE0;
    //人民币帐号/银行卡号
    private String lcyacc ;
    //现汇金额
//    @JsonSerialize(using = BigDecimalSerializeRate.class)
//    @DecimalLength(2)
    private BigDecimal fcyamt  = Decimals.ZERO_SCALE0;
    //外汇帐号/银行卡号
    private String fcyacc ;
    //其它金额
//    @JsonSerialize(using = BigDecimalSerializeRate.class)
//    @DecimalLength(2)
    private BigDecimal othamt  = Decimals.ZERO_SCALE0;
    //其它帐号/银行卡号
    private String othacc ;
    //结算方式
    private String method ;
    //银行业务编号
    private String buscode ;
    //实际付款币种
    private String actuccy ;
    //实际付款金额
//    @JsonSerialize(using = BigDecimalSerializeRate.class)
//    @DecimalLength(2)
    private BigDecimal actuamt  = Decimals.ZERO_SCALE0;
    //扣费币种
    private String outchargeccy ;
    //扣费金额
//    @JsonSerialize(using = BigDecimalSerializeRate.class)
//    @DecimalLength(2)
    private BigDecimal outchargeamt  = Decimals.ZERO_SCALE0;
    //信用证/保函编号
    private String lcbgno ;
    //开证日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date issdate;
    //期限
    private long tenor ;
    //【chk】
    private String checkinf ;
    //【object type】
    private String objtyp ;
    //【是否报送过】
    private String sndflg ;
    //【基础信息状态】
    private String bassta ;
    //【申报信息状态】
    private String dclsta ;
    //【核销信息状态】
    private String vrfsta ;
    //NewField
    private String bchnam ;
    //【经办日期】
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date credat;
    //【数据来源】
    private String datsrc ;
    //【业务号码】
    private String extinf ;
    //【审批】
    private String exmandapp ;
    //【收付汇日期】
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date sfhdat;
    //员工号
    private String ownusr ;
}
