package com.brilliance.isc.vo.model;

import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.brilliance.isc.common.vo.PtsptaVo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;

import java.lang.reflect.Field;

@Setter
@Getter
public class SetgrpVo extends AbstractCommonVo {
    
    private PtsptaVo rol;

    
    private PtsptaVo rms;

    
    private PtsptaVo act;

    
    private PtsptaVo apy;

    
    private PtsptaVo actser;

    
    private PtsptaVo acthol;

    
    private PtsptaVo awi;

    
    private PtsptaVo bei;

    
    private PtsptaVo rcvcor;

    @JsonProperty("int")
    private PtsptaVo tmpint;

    
    private PtsptaVo tri;

    
    private PtsptaVo ori;

    
    private PtsptaVo rcvcor2;

    
    private PtsptaVo snd756;

    public void reset(){
        for (Field declaredField : this.getClass().getDeclaredFields()) {
            if(declaredField.getType().isAssignableFrom(PtsptaVo.class)){
                declaredField.setAccessible(true);
                try {
                    PtsptaVo ptsptaVo = (PtsptaVo) declaredField.get(this);
                    if(ptsptaVo == null){
                        ptsptaVo = new PtsptaVo();
                        ptsptaVo.reset();
                        String rol = declaredField.getName().toLowerCase();
                        if(rol.equals("tmpint")){
                            rol = "int";
                        }
                        ptsptaVo.getPts().setRol(rol);
                        declaredField.set(this,ptsptaVo);
                        continue;
                    }
                    ptsptaVo.reset();
                } catch (IllegalAccessException e) {
                }
            }
        }
    }
}
