package com.brilliance.isc.bo.model;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.bo.Txflog;
import com.brilliance.isc.bo.Txform;
import com.brilliance.isc.bo.Txpaym;
import com.brilliance.isc.bo.Txpreg;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

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

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Txfmod extends AbstractCommonVo {
    //税务备案表核验
    private String txfflg = NULLSTR;
    //备案表编号
    private String rcrdno = NULLSTR;
    //验证码
    private String dataverfcd = NULLSTR;
    //备案表一腧性匹配结果
    private String txfrst = NULLSTR;
    //说明
    private String explan = NULLSTR;
    //核验标志
    private String hyflg = NULLSTR;
    //业务受理标志
    private String acpflg = NULLSTR;
    //䶧时业务受理标志
    private String tmpacpflg = NULLSTR;
    //䶧时付汇业务编号
    private String tmpbsnsrlno = NULLSTR;
    //业务编号
    private String ywbh = NULLSTR;
    //TRNINR
    private String uptrninr = NULLSTR;
    //ADDFLG
    private String addflg = NULLSTR;
    //JUSCODE
    private String juscode = NULLSTR;
    //备案表剩余可用金额USD
    private BigDecimal avlamt = Decimals.ZERO_SCALE3;
    //业务编号
    private String relref = NULLSTR;
    //USD业务金额
    private BigDecimal relamt = Decimals.ZERO_SCALE3;
    //XMLPanel txfpdfl1的内置block
    private String txfpdfl1blk = NULLSTR;

    private Txform txform;

    private Txpaym txpaym;

    private Txflog txflog;

    private List<Txpreg> reglst;

    private List<Txpreg> oldreglst;

    @Override
    public void reset() {
        if (txform == null) {
            txform = new Txform();
        }
        if (txpaym == null) {
            txpaym = new Txpaym();
        }
        if (txflog == null) {
            txflog = new Txflog();
        }
        if (reglst == null) {
            reglst = new ArrayList<>();
        }
        if (oldreglst == null) {
            oldreglst = new ArrayList<>();
        }
    }
}
