package com.brilliance.isc.common.vo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

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

import static com.brilliance.mda.runtime.mda.Constants.NULLDATE;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;


/**
* TABLE:cnyvou:
*/
@Data
public class CnyvouVo {

        public CnyvouVo(){
            super();
        }

        //业务主键
        private String spk = NULLSTR;

        //报送银行机构代码
        private String sbankorgcode = NULLSTR;

        //担保方向
        private String cvouchdirection = NULLSTR;

        //业务属性
        private String stransattr = NULLSTR;

        //担保人机构代码
        private String svoucherswiftbic = NULLSTR;

        //担保人国别
        private String svouchercountrycode = NULLSTR;

        //担保权人机构代码
        private String svoucheeorgcode = NULLSTR;

        //担保权人国别
        private String svoucheecountrycode = NULLSTR;

        //债务人机构代码
        private String sdebtororgcode = NULLSTR;

        //债务人国别
        private String sdebtorcountrycode = NULLSTR;

        //反担保人机构代码
        private String sreverseorgcode = NULLSTR;

        //反担保人国别
        private String sreversecountrycode = NULLSTR;

        //担保种类
        private String cvouchtype = NULLSTR;

        //反担保方式
        private String cvouchmode = NULLSTR;

        //原币种金额
        private  BigDecimal fvouchamt  = Decimals.ZERO_SCALE2;

        //担保生效日期
        @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
        private Date dvouchefficientdate = NULLDATE;

        //担保到期日期
        @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
        private Date dvouchenddate = NULLDATE;

        //担保合同编号
        private String scontractno = NULLSTR;

        //担保登记编号
        private String svouchno = NULLSTR;

        //银行业务编号
        private String sbanktrano = NULLSTR;

        //担保币种
        private String currencycode = NULLSTR;

        private Set<String> modifySet = new HashSet<>();

        public boolean isModified(String key){
                return modifySet.contains(key);
        }







































}