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

import com.brilliance.mda.runtime.mda.CodetableItem;
import com.brilliance.mda.runtime.mda.IStream;
import com.brilliance.mda.runtime.mda.impl.StreamImpl;
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.annotation.OitCommon;
import com.brilliance.isc.common.sespay.vo.SespayVo;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.brilliance.isc.common.vo.ActVo;
import com.brilliance.isc.common.vo.PtsptaVo;
import com.brilliance.isc.vo.model.SetgrpVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.*;

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

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@ApiModel(value = "结算分录信息详情", description = "结算分录信息详情")
public class SetgllVo extends AbstractCommonVo implements Serializable {

    @ApiModelProperty(value = "Modified", name = "modflg", required = true)
    private String modflg = NULLSTR;

    @ApiModelProperty(value = "role", name = "rol", required = true)
    private String rol = NULLSTR;

    /**
     * acccur 记账币种下拉列表
     */
    private List<CodetableItem> acccurSet;

    @ApiModelProperty(value = "acc. currency", name = "acccur", required = true)
    private String acccur = NULLSTR;

    @ApiModelProperty(value = "Amount to be paid", name = "fmtaccamt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal fmtaccamt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "Old account", name = "oldact", required = true)
    private String oldact = NULLSTR;

    @ApiModelProperty(value = "value date", name = "valdat;", required = true)
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date valdat;

    @ApiModelProperty(value = "Debit/Credit", name = "debcdtflg", required = true)
    private String debcdtflg = NULLSTR;

    @ApiModelProperty(value = "currency", name = "cur", required = true)
    private String cur = NULLSTR;

    @ApiModelProperty(value = "Original Amount", name = "fmtamt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal fmtamt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "Acc. Amount calculated from sum", name = "accamtfix", required = true)
    private String accamtfix = NULLSTR;

    @ApiModelProperty(value = "amount", name = "amt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal amt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "amount booked", name = "accamt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal accamt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "Search type", name = "actpriflg", required = true)
    private String actpriflg = NULLSTR;

    @ApiModelProperty(value = "Old Search type", name = "oldactpriflg", required = true)
    private String oldactpriflg = NULLSTR;

    @ApiModelProperty(value = "Payment order", name = "paoflg", required = true)
    private String paoflg = NULLSTR;

    @ApiModelProperty(value = "Label for role", name = "rollab", required = true)
    private String rollab = NULLSTR;

    @ApiModelProperty(value = "Label for Additional information 52", name = "strinf52lab", required = true)
    private String strinf52lab = NULLSTR;

    @ApiModelProperty(value = "Debit/Payment Information", name = "strinf52", required = true)
    private String strinf52 = NULLSTR;

    @ApiModelProperty(value = "Group for settlement texts", name = "txmgrp", required = true)
    private String txmgrp = NULLSTR;

    @ApiModelProperty(value = "usage of forward rate checked", name = "fchchkflg", required = true)
    private String fchchkflg = NULLSTR;

    @ApiModelProperty(value = "Their account identif.", name = "coractid", required = true)
    private String coractid = NULLSTR;

    @ApiModelProperty(value = "role address INR", name = "rolptainr", required = true)
    private String rolptainr = NULLSTR;

    @ApiModelProperty(value = "role party INR", name = "rolptyinr", required = true)
    private String rolptyinr = NULLSTR;

    @ApiModelProperty(value = "old role party INR", name = "oldrolptyinr", required = true)
    private String oldrolptyinr = NULLSTR;

    @ApiModelProperty(value = "Empty if not changed by user", name = "actptyflg", required = true)
    private String actptyflg = NULLSTR;

    @ApiModelProperty(value = "Sender to receiver Information message to benf. inst.", name = "strinf", required = true)
    private String strinf = NULLSTR;

    @ApiModelProperty(value = "Sender to receiver Information message to benf. inst.", name = "strinferi", required = true)
    private String strinferi = NULLSTR;

    @ApiModelProperty(value = "Code selection", name = "strinfcon1", required = true)
    private String strinfcon1 = NULLSTR;

    @ApiModelProperty(value = "Direct payment one message", name = "dirindflg", required = true)
    private String dirindflg = NULLSTR;

    @ApiModelProperty(value = "disposition flag", name = "dspflg", required = true)
    private String dspflg = NULLSTR;

    @ApiModelProperty(value = "old acc. currency", name = "acccurold", required = true)
    private String acccurold = NULLSTR;

    @ApiModelProperty(value = "Document Cur to Base RATe TYPe", name = "dcbrattyp", required = true)
    private String dcbrattyp = NULLSTR;

    @ApiModelProperty(value = "Document Cur to Base EXTernal RATe", name = "dcbextrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal dcbextrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Old Document Cur to Base EXTernal RATe", name = "olddcbextrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal olddcbextrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Settle Cur to Base EXTernal RATe", name = "scbextrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal scbextrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Old Settle Cur to Base EXTernal RATe", name = "oldscbextrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal oldscbextrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Settle Cur to Base RATe TYPe", name = "scbrattyp", required = true)
    private String scbrattyp = NULLSTR;

    @ApiModelProperty(value = "Label rate convert", name = "dcbratlab", required = true)
    private String dcbratlab = NULLSTR;

    @ApiModelProperty(value = "Label rate convert", name = "scbratlab", required = true)
    private String scbratlab = NULLSTR;

    @ApiModelProperty(value = "Type", name = "flg", required = true)
    private String flg = NULLSTR;

    @ApiModelProperty(value = "Sys Currency Amount Equivalent", name = "xrfamt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal xrfamt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "Currency of Converted Amount Usually SYSCUR, Optional", name = "xrfcur", required = true)
    private String xrfcur = NULLSTR;

    @ApiModelProperty(value = "Forward contract to be used for conversion", name = "fcdinr", required = true)
    private String fcdinr = NULLSTR;

    @ApiModelProperty(value = "Codetable of supported rate types M-iddle, B-uying, S-elling, I-nput", name = "rattyp", required = true)
    private String rattyp = " ";

    @ApiModelProperty(value = "Settle Cur to Base SQaRing RATe", name = "scbsqrrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal scbsqrrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Settle Cur to Base SQaRing RATe", name = "dcbsqrrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal dcbsqrrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "rate used", name = "rat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal rat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Label rate convert", name = "ratcurlab", required = true)
    private String ratcurlab = NULLSTR;

    @ApiModelProperty(value = "Label for role Account", name = "rolactlab", required = true)
    private String rolactlab = NULLSTR;

    @ApiModelProperty(value = "Reference document rate selling", name = "dcbresrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal dcbresrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Reference document rate selling", name = "dcbrebrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal dcbrebrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Reference settle rate selling", name = "scbrebrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal scbrebrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Reference settle rate selling", name = "scbresrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal scbresrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "rate base currency", name = "bascur", required = true)
    private String bascur = NULLSTR;

    @ApiModelProperty(value = "Rate base Currency Amount Equivalent", name = "basamt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal basamt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "Account flag: Empty:Iinitialized M-anually D-efaulted N-o account found", name = "actflg", required = true)
    private String actflg = NULLSTR;

    @ApiModelProperty(value = "account external set", name = "extsetflg", required = true)
    private String extsetflg = NULLSTR;

    @ApiModelProperty(value = "done", name = "donflg", required = true)
    private String donflg = NULLSTR;

    @ApiModelProperty(value = "ref. for SETxxx", name = "setxxxrow;", required = true)
    private int setxxxrow;

    @ApiModelProperty(value = "value date as set from transaction", name = "valdattrn;", required = true)
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date valdattrn;

    @ApiModelProperty(value = "current MAC", name = "mac", required = true)
    private String mac = NULLSTR;

    @ApiModelProperty(value = "MAC after last run of Assert-fuction", name = "macold", required = true)
    private String macold = NULLSTR;

    @ApiModelProperty(value = "Old disposition", name = "olddsp", required = true)
    private String olddsp = NULLSTR;

    @ApiModelProperty(value = "Old Account party", name = "oldactinr", required = true)
    private String oldactinr = NULLSTR;

    @ApiModelProperty(value = "Compressed Amount paid from this line", name = "acccpramt", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal acccpramt = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "MAC for lines to be compressed", name = "cprmac", required = true)
    private String cprmac = NULLSTR;

    @ApiModelProperty(value = "List of lines compressed", name = "cprlinlst", required = true)
    private IStream cprlinlst = new StreamImpl();

    @ApiModelProperty(value = "INR of picked up GLP", name = "glpinr", required = true)
    private String glpinr = NULLSTR;

    @ApiModelProperty(value = "Ids totalled up for amount", name = "amtidsstm", required = true)
    private IStream amtidsstm = new StreamImpl();

    @ApiModelProperty(value = "Group totalled up in line", name = "gllgrp", required = true)
    private String gllgrp = NULLSTR;

    @ApiModelProperty(value = "Begin-Date of XRT-Rate of ACCCUR", name = "xrtdatacc;", required = true)
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date xrtdatacc;

    @ApiModelProperty(value = "Begin-Date of XRT-Rate of CUR", name = "xrtdatcur;", required = true)
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date xrtdatcur;

    @ApiModelProperty(value = "Which MT to beneficiary institution", name = "sftmt", required = true)
    private String sftmt = NULLSTR;

    @ApiModelProperty(value = "Buying Rate", name = "buyrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal buyrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Selling Rate", name = "selrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal selrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "Middle Rate", name = "midrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal midrat = Decimals.ZERO_SCALE6;

    @ApiModelProperty(value = "account", name = "act", required = true)
    private String act = NULLSTR;
    /**
     * 前端账号的下拉列表
     */
    private Set<String> actSet;
    @ApiModelProperty(value = "disposition", name = "dsp", required = true)
    private String dsp = NULLSTR;
    /**
     * 前端DSP的下拉列表
     */
    private List<CodetableItem> dspSet;
    @ApiModelProperty(value = "Account Term_id", name = "acttrmtyp", required = true)
    private String acttrmtyp = NULLSTR;

    /**
     * 前端科目代码的下拉列表
     */
    private List<CodetableItem> acttrmtypSet;

    @ApiModelProperty(value = "传票摘要", name = "txt", required = true)
    private String txt = NULLSTR;

    @ApiModelProperty(value = "传票摘要", name = "txt1", required = true)
    private String txt1 = NULLSTR;

    @ApiModelProperty(value = "传票摘要", name = "txt2", required = true)
    private String txt2 = NULLSTR;

    @ApiModelProperty(value = "TRADE IN", name = "trdint", required = true)
    private String trdint = NULLSTR;

    @ApiModelProperty(value = "TRADE OUT", name = "trdout", required = true)
    private String trdout = NULLSTR;

    @ApiModelProperty(value = "交易主体", name = "trnman", required = true)
    private String trnman = NULLSTR;

    @ApiModelProperty(value = "Branch Code", name = "branch", required = true)
    private String branch = NULLSTR;

    @ApiModelProperty(value = "XRT Time", name = "xrttim", required = true)
    private String xrttim = NULLSTR;

    @ApiModelProperty(value = "Rate", name = "preselrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal preselrat = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "rate", name = "prebuyrat", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal prebuyrat = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "pre rate type", name = "selrattyp", required = true)
    private String selrattyp = " ";

    @ApiModelProperty(value = "Pre rate type", name = "buyrattyp", required = true)
    private String buyrattyp = " ";

    @ApiModelProperty(value = "第三方还款", name = "act3flg", required = true)
    private String act3flg = NULLSTR;

    @ApiModelProperty(value = "核心业务代号", name = "acccode", required = true)
    private String acccode = NULLSTR;

    @ApiModelProperty(value = "核心账户余额", name = "acccode", required = true)
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(2)
    private BigDecimal accountBalance = Decimals.ZERO_SCALE2;

    @ApiModelProperty(value = "对方槦号", name = "oppacc", required = true)
    private String oppacc = NULLSTR;

    private boolean oppaccLoseFlag = false;

    @ApiModelProperty(value = "交易性槨", name = "trntyp", required = true)
    private String trntyp = NULLSTR;

    @ApiModelProperty(value = "对方户名", name = "oppnam", required = true)
    private String oppnam = NULLSTR;

    @ApiModelProperty(value = "对方银行代码", name = "oppbnk", required = true)
    private String oppbnk = NULLSTR;

    @ApiModelProperty(value = "国内地区代码", name = "discod", required = true)
    private String discod = NULLSTR;

    @ApiModelProperty(value = "国别代码", name = "ctycod", required = true)
    private String ctycod = NULLSTR;

    @ApiModelProperty(value = "EAST对方槦号", name = "eastoppacc", required = true)
    private String eastoppacc = NULLSTR;

    @ApiModelProperty(value = "EAST对方户名", name = "eastoppnam", required = true)
    private String eastoppnam = NULLSTR;

    @ApiModelProperty(value = "EAST对方银行", name = "eastoppbnk", required = true)
    private String eastoppbnk = NULLSTR;

    @ApiModelProperty(value = "EAST摘要", name = "eastinf", required = true)
    private String eastinf = NULLSTR;

    @ApiModelProperty(value = "XZHACC", name = "xzhacc", required = true)
    private String xzhacc = NULLSTR;

    @ApiModelProperty(value = "XZHNAM", name = "xzhnam", required = true)
    private String xzhnam = NULLSTR;

    @ApiModelProperty(value = "", name = "actrec", required = true)
    private ActVo actrec;

    @ApiModelProperty(value = "party的map集合", name = "ptsptaMap", required = true)
    private SetgrpVo setgrp;

    @ApiModelProperty(value = "结算发报组件", name = "sespay", required = true)
    private SespayVo sespay;

    /**
     * 结售汇标志
     */
    private boolean exchangeFlag = false;

    /**
     * 结汇
     */
    private boolean trdintFlag = false;

    /**
     * 售汇
     */
    private boolean trdoutFlag = false;

    private Set<String> disableSet;

    /**
     * rattyp 下拉列表固定选项
     */
    private Set<String> ratTypFilter;

    /**
     * trnman 下拉列表固定选项
     */
    private Set<String> trnmanFilter;

    private String typ = "";

    public void setDisable(String field) {
        if (disableSet == null) {
            disableSet = new HashSet<>();
        }
        disableSet.add(field);
    }

    public void resetDisable(String field) {
        if (disableSet == null) {
            disableSet = new HashSet<>();
        }
        disableSet.remove(field);
    }

    public void reset() {
        if (modflg == null) {
            modflg = NULLSTR;
        }
        if (rol == null) {
            rol = NULLSTR;
        }
        if (acccur == null) {
            acccur = NULLSTR;
        }
        if (fmtaccamt == null) {
            fmtaccamt = Decimals.ZERO_SCALE2;
        }
        if (oldact == null) {
            oldact = NULLSTR;
        }
        if (debcdtflg == null) {
            debcdtflg = NULLSTR;
        }
        if (cur == null) {
            cur = NULLSTR;
        }
        if (fmtamt == null) {
            fmtamt = Decimals.ZERO_SCALE2;
        }
        if (accamtfix == null) {
            accamtfix = NULLSTR;
        }
        if (amt == null) {
            amt = Decimals.ZERO_SCALE2;
        }
        if (accamt == null) {
            accamt = Decimals.ZERO_SCALE2;
        }
        if (actpriflg == null) {
            actpriflg = NULLSTR;
        }
        if (oldactpriflg == null) {
            oldactpriflg = NULLSTR;
        }
        if (paoflg == null) {
            paoflg = NULLSTR;
        }
        if (rollab == null) {
            rollab = NULLSTR;
        }
        if (strinf52lab == null) {
            strinf52lab = NULLSTR;
        }
        if (strinf52 == null) {
            strinf52 = NULLSTR;
        }
        if (txmgrp == null) {
            txmgrp = NULLSTR;
        }
        if (fchchkflg == null) {
            fchchkflg = NULLSTR;
        }
        if (coractid == null) {
            coractid = NULLSTR;
        }
        if (rolptainr == null) {
            rolptainr = NULLSTR;
        }
        if (rolptyinr == null) {
            rolptyinr = NULLSTR;
        }
        if (actptyflg == null) {
            actptyflg = NULLSTR;
        }
        if (strinf == null) {
            strinf = NULLSTR;
        }
        if (strinferi == null) {
            strinferi = NULLSTR;
        }
        if (strinfcon1 == null) {
            strinfcon1 = NULLSTR;
        }
        if (dirindflg == null) {
            dirindflg = NULLSTR;
        }
        if (dspflg == null) {
            dspflg = NULLSTR;
        }
        if (acccurold == null) {
            acccurold = NULLSTR;
        }
        if (dcbrattyp == null) {
            dcbrattyp = NULLSTR;
        }
        if (dcbextrat == null) {
            dcbextrat = Decimals.ZERO_SCALE6;
        }
        if (olddcbextrat == null) {
            olddcbextrat = Decimals.ZERO_SCALE6;
        }
        if (scbextrat == null) {
            scbextrat = Decimals.ZERO_SCALE6;
        }
        if (oldscbextrat == null) {
            oldscbextrat = Decimals.ZERO_SCALE6;
        }
        if (scbrattyp == null) {
            scbrattyp = NULLSTR;
        }
        if (dcbratlab == null) {
            dcbratlab = NULLSTR;
        }
        if (scbratlab == null) {
            scbratlab = NULLSTR;
        }
        if (flg == null) {
            flg = NULLSTR;
        }
        if (xrfamt == null) {
            xrfamt = Decimals.ZERO_SCALE2;
        }
        if (xrfcur == null) {
            xrfcur = NULLSTR;
        }
        if (fcdinr == null) {
            fcdinr = NULLSTR;
        }
        if (rattyp == null) {
            rattyp = " ";
        }
        if (scbsqrrat == null) {
            scbsqrrat = Decimals.ZERO_SCALE6;
        }
        if (dcbsqrrat == null) {
            dcbsqrrat = Decimals.ZERO_SCALE6;
        }
        if (rat == null) {
            rat = Decimals.ZERO_SCALE6;
        }
        if (ratcurlab == null) {
            ratcurlab = NULLSTR;
        }
        if (rolactlab == null) {
            rolactlab = NULLSTR;
        }
        if (dcbresrat == null) {
            dcbresrat = Decimals.ZERO_SCALE6;
        }
        if (dcbrebrat == null) {
            dcbrebrat = Decimals.ZERO_SCALE6;
        }
        if (scbrebrat == null) {
            scbrebrat = Decimals.ZERO_SCALE6;
        }
        if (scbresrat == null) {
            scbresrat = Decimals.ZERO_SCALE6;
        }
        if (bascur == null) {
            bascur = NULLSTR;
        }
        if (basamt == null) {
            basamt = Decimals.ZERO_SCALE2;
        }
        if (actflg == null) {
            actflg = NULLSTR;
        }
        if (extsetflg == null) {
            extsetflg = NULLSTR;
        }
        if (donflg == null) {
            donflg = NULLSTR;
        }
        if (mac == null) {
            mac = NULLSTR;
        }
        if (macold == null) {
            macold = NULLSTR;
        }
        if (olddsp == null) {
            olddsp = NULLSTR;
        }
        if (oldactinr == null) {
            oldactinr = NULLSTR;
        }
        if (acccpramt == null) {
            acccpramt = Decimals.ZERO_SCALE2;
        }
        if (cprmac == null) {
            cprmac = NULLSTR;
        }
        if (cprlinlst == null) {
            cprlinlst = new StreamImpl();
        }
        if (glpinr == null) {
            glpinr = NULLSTR;
        }
        if (amtidsstm == null) {
            amtidsstm = new StreamImpl();
        }
        if (gllgrp == null) {
            gllgrp = NULLSTR;
        }
        if (sftmt == null) {
            sftmt = NULLSTR;
        }
        if (buyrat == null) {
            buyrat = Decimals.ZERO_SCALE6;
        }
        if (selrat == null) {
            selrat = Decimals.ZERO_SCALE6;
        }
        if (midrat == null) {
            midrat = Decimals.ZERO_SCALE6;
        }
        if (act == null) {
            act = NULLSTR;
        }
        if (dsp == null) {
            dsp = NULLSTR;
        }
        if (acttrmtyp == null) {
            acttrmtyp = NULLSTR;
        }
        if (txt2 == null) {
            txt2 = NULLSTR;
        }
        if (trdint == null) {
            trdint = NULLSTR;
        }
        if (trdout == null) {
            trdout = NULLSTR;
        }
        if (trnman == null) {
            trnman = NULLSTR;
        }
        if (branch == null) {
            branch = NULLSTR;
        }
        if (xrttim == null) {
            xrttim = NULLSTR;
        }
        if (preselrat == null) {
            preselrat = Decimals.ZERO_SCALE2;
        }
        if (prebuyrat == null) {
            prebuyrat = Decimals.ZERO_SCALE2;
        }
        if (selrattyp == null) {
            selrattyp = NULLSTR;
        }
        if (buyrattyp == null) {
            buyrattyp = NULLSTR;
        }
        if (act3flg == null) {
            act3flg = NULLSTR;
        }
        if (acccode == null) {
            acccode = NULLSTR;
        }
        if (oppacc == null) {
            oppacc = NULLSTR;
        }
        if (trntyp == null) {
            trntyp = NULLSTR;
        }
        if (oppnam == null) {
            oppnam = NULLSTR;
        }
        if (oppbnk == null) {
            oppbnk = NULLSTR;
        }
        if (discod == null) {
            discod = NULLSTR;
        }
        if (ctycod == null) {
            ctycod = NULLSTR;
        }
        if (eastoppacc == null) {
            eastoppacc = NULLSTR;
        }
        if (eastoppnam == null) {
            eastoppnam = NULLSTR;
        }
        if (eastoppbnk == null) {
            eastoppbnk = NULLSTR;
        }
        if (eastinf == null) {
            eastinf = NULLSTR;
        }
        if (xzhacc == null) {
            xzhacc = NULLSTR;
        }
        if (xzhnam == null) {
            xzhnam = NULLSTR;
        }
        if (actrec == null) {
            actrec = new ActVo();
        }
        if (setgrp == null) {
            setgrp = new SetgrpVo();
        }
        setgrp.reset();
        if(sespay==null){
            sespay = new SespayVo();
        }
        sespay.reset();
        if (actSet == null) {
            actSet = new HashSet<>();
        }
        if (dspSet == null) {
            dspSet = new ArrayList<>();
        }
        if (acccurSet == null) {
            acccurSet = new ArrayList<>();
        }
        if (acttrmtypSet == null) {
            acttrmtypSet = new ArrayList<>();
        }
    }
}
