package com.brilliance.isc.common.transaction.help;

import com.brilliance.isc.bo.Cbb;
import com.brilliance.isc.bo.model.*;
import com.brilliance.isc.common.gedmod.vo.GedmodVo;
import com.brilliance.isc.common.glemod.vo.GlemodVo;
import com.brilliance.isc.common.jshmod.vo.JshmodRequest;
import com.brilliance.isc.common.lgbdet.vo.LgbdetVo;
import com.brilliance.isc.common.liaall.vo.LiaallVo;
import com.brilliance.isc.common.liaccv.vo.LiaccvVo;
import com.brilliance.isc.common.limmod.vo.LimmodVo;
import com.brilliance.isc.common.limmod.vo.YpnmodVo;
import com.brilliance.isc.common.monmod.vo.MonmodVo;
import com.brilliance.isc.common.rmbbop.vo.RmbbopRequest;
import com.brilliance.isc.common.setmod.vo.SetmodVo;
import com.brilliance.isc.common.transaction.vo.BaseTransactionVo;
import com.brilliance.isc.common.transaction.vo.BimdataVo;
import com.brilliance.isc.common.trndia.vo.TrndiaVo;
import com.brilliance.isc.common.trndoc.vo.TrndocVo;
import com.brilliance.isc.common.trnmod.vo.SwiaddVo;
import com.brilliance.isc.common.trnmod.vo.TrnmodVo;
import com.brilliance.isc.common.umdmod.vo.UmdmodVo;
import com.brilliance.isc.common.vo.BizAmdInfoVo;
import com.brilliance.isc.common.vo.BizInfoVo;
import com.brilliance.isc.common.vo.PtsptaVo;
import com.brilliance.isc.vo.CipmodVo;
import com.brilliance.isc.vo.HvpmodVo;
import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Data
public class TransactionServiceSet {

    /**
     * 快照 暂存需要序列化交易对象存文件
     */
    private BaseTransactionVo transactionVo;

    private BimdataVo bimdataVo;

    private Object rec;

    private Object oldrec;

    private Object blk;

    private Object wrkRec;

    private Object wrkBlk;

    private Object tranVo;

    private Map<String, Cbb> cbsMap;

    private List<PtsptaVo> ptsList;

    /**
     * List of PTSPTA Modules
     */
    private List<Ptsaddg> ptsaddg;

    private LiaccvVo liaccvVo;

    private LiaallVo liaall;

    private LgbdetVo lgbdetVo;

    private SetmodVo setmodVo;

    private TrnmodVo trnmodVo;

    private GlemodVo glemodVo;

    private TrndocVo trndocVo;

    private TrndiaVo trndiaVo;

    private CipmodVo cipmodVo;

    private HvpmodVo hvpmodVo;

    private SwiaddVo swiaddVo;

    private LimmodVo limmodVo;

    private MonmodVo monmodVo;

    private UmdmodVo umdmodVo;

    private Cfagit cfagit;

    private RmbbopRequest<BizInfoVo, BizAmdInfoVo> rmbbopRequest;

    private JshmodRequest<BizInfoVo> jshmodRequest;

    private YpnmodVo ypnmodVo;

    private Bopgat bopgat;

    private Boprem boprem;

    private Boppay boppay;

    //网银购汇对象 注册工作流的时候需要使用
    private GedmodVo gedmod;

    public void addPtspta(PtsptaVo ptspta) {
        if (ptsList == null) {
            ptsList = new ArrayList<>();
        }
        ptsList.add(ptspta);
    }
}
