package com.brilliance.isc.common.txfmod.vo;

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.brilliance.mda.runtime.mda.util.Decimals;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;

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

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

/**
 * 备案表
 */
@Getter
@Setter
@JsonIgnoreProperties(ignoreUnknown = true)
public class TxfmodVo extends AbstractCommonVo {

    private TxfmodBizInfo rec;

    private String errorMsg;

    //税务备案表核验
    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 String payflg;

    private Txform txform;

    private Txpaym txpaym;

    private Txflog txflog;

    private List<Txpreg> reglst;

    private List<Txpreg> oldreglst;

    private List<TxfResult> warningList;

    // 是否进行税务备案信息核验弹窗 0-是 1-否
    private String checkflg;



    @Override
    public void reset() {
        if (rec == null) {
            rec = new TxfmodBizInfo();
        }
        rec.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<>();
        }
        if (warningList == null) {
            warningList = new ArrayList<>();
        }
    }
}
