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

import com.brilliance.isc.bo.Dia;
import com.brilliance.isc.bo.Fec;
import com.brilliance.isc.bo.Pte;
import com.brilliance.isc.bo.Pts;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

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

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BimdataVo{

    private TroStoreObjectVo rec;

    private TroStoreObjectVo blk;

    //回滚update模型集合
    private List<TroStoreObjectVo> modelList;

    //回滚删除模型集合
    private List<TroStoreObjectVo> deleteModelList;

    //PTS角色列表
    private List<Pts> ptsList;

    //备忘录列表
    private List<Dia> diaList;

    //业务费用规则列表
    private List<Fec> fecList;

    //PTE列表
    private List<Pte> pteList;

    public void addModel(TroStoreObjectVo modelVo) {
        if (modelList == null) {
            modelList = new ArrayList<>();
        }
        modelList.add(modelVo);
    }

    public void addDeleteModel(TroStoreObjectVo modelVo) {
        if (deleteModelList == null) {
            deleteModelList = new ArrayList<>();
        }
        deleteModelList.add(modelVo);
    }

    public void reset() {
        if (ptsList == null) {
            ptsList = new ArrayList<>();
        }
        if (pteList == null) {
            pteList = new ArrayList<>();
        }
        if (diaList == null) {
            diaList = new ArrayList<>();
        }
        if (fecList == null) {
            fecList = new ArrayList<>();
        }
        if (modelList == null) {
            modelList = new ArrayList<>();
        }
    }
}
