package com.ejie.ab39a.model;

import com.ejie.ab39a.constantes.Constantes;
import com.fasterxml.jackson.annotation.JsonIgnore;

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

/**
 * ElementosPe.
 * 
 *  
 */

public class ElementosPe extends ElementosArbol implements java.io.Serializable {

	private static final long serialVersionUID = 1L;
	private Integer codelementope;
	private ElementosPe elementosPe;
	private Integer codplane;
	private Long orden;
	private Long nivel;
	private String nombre;
	private String nombrecas;
	private Long idelemento;
	private String helburu;
	private BigDecimal hasEus;
	private BigDecimal hasElebi;
	private BigDecimal aurreEus;
	private BigDecimal aurreElebi;
	private BigDecimal amaiEus;
	private BigDecimal amaiElebi;
	private String oharrak;
	private Integer codElementoPadre;
	private Long elemBase;
	private Long ponderacion;
	private List<ElementosPe> elementosPes = new ArrayList<ElementosPe>();
	private List<ElementosPg> elementosPgs = new ArrayList<ElementosPg>();
	private BigDecimal hasValor;
	private BigDecimal aurreValor;
	private BigDecimal amaiValor;
	private Long idElementoBase;
	private Long tieneElebi;
	private Long tieneValor;
	private Long tieneSiNo;
	private Long tieneEus;
	private Long hasSiNo;
	private Long aurreSiNo;
	private Long amaiSiNo;

	/**
	 * Method 'ElementosPe'.
	 */
	public ElementosPe() {
		super();
	}

	/**
	 * Method 'ElementosPe'.
	 * 
	 * @param codelementope
	 *            Integer codelementope
	 */
	public ElementosPe(Integer codelementope) {
		super();
		this.codelementope = codelementope;
	}

	/**
	 * Method 'ElementosPe'.
	 * 
	 * @param codelementope
	 *            Integer codelementope
	 * @param nombre
	 *            String nombre
	 * @param nivel
	 *            Long nivel
	 * @param helburu
	 *            String helburu
	 * @param codElementoPadre
	 *            Integer codElementoPadre
	 */
	public ElementosPe(Integer codelementope, String nombre, Long nivel, String helburu, Integer codElementoPadre) {
		super();
		this.codelementope = codelementope;
		this.nombre = nombre;
		this.nivel = nivel;
		this.helburu = helburu;
		this.codElementoPadre = codElementoPadre;
	}

	/**
	 * Method 'ElementosPe'.
	 * 
	 * @param codPlane
	 *            Long codPlane
	 * @param idElemento
	 *            Long idElemento
	 * @param orden
	 *            Long orden
	 * @param nivel
	 *            Long nivel
	 * @param nombre
	 *            String nombre
	 * @param nombrecas
	 *            String nombrecas
	 * @param helburu
	 *            String helburu
	 * @param helburucas
	 *            String helburucas
	 * @param elementoPadre
	 *            Long elementoPadre
	 * @param hasEus
	 *            Long hasEus
	 * @param hasElebi
	 *            Long hasElebi
	 * @param aurreEus
	 *            Long aurreEus
	 * @param aurreElebi
	 *            Long aurreElebi
	 * @param amaiEus
	 *            Long amaiEus
	 * @param amaiElebi
	 *            Long amaiElebi
	 * @param elemBase
	 *            Long elemBase
	 * @param oharrak
	 *            String oharrak
	 * @param ponderacion
	 *            Long ponderacion
	 * @param tieneElebi
	 *            Long tieneElebi
	 * @param tieneValor
	 *            Long tieneValor
	 * @param hasValor
	 *            Long hasValor
	 * @param aurreValor
	 *            Long aurreValor
	 * @param amaiValor
	 *            Long amaiValor
	 * @param idElementoBase
	 *            Long idElementoBase
	 * @param tieneEus
	 *            Long tieneEus
	 * @param tieneSino
	 *            Long tieneSino
	 * @param hasSiNo
	 *            Long hasSiNo
	 * @param aurreSiNo
	 *            Long aurreSiNo
	 * @param amaiSiNo
	 *            Long amaiSiNo
	 */
	public ElementosPe(Long codPlane, Long idElemento, Long orden, Long nivel, String nombre, String nombrecas,
			String helburu, String helburucas, Long elementoPadre, BigDecimal hasEus, BigDecimal hasElebi,
			BigDecimal aurreEus, BigDecimal aurreElebi, BigDecimal amaiEus, BigDecimal amaiElebi, Long elemBase,
			String oharrak, Long ponderacion, Long tieneElebi, Long tieneValor, BigDecimal hasValor,
			BigDecimal aurreValor, BigDecimal amaiValor, Long idElementoBase, Long tieneEus, Long tieneSino,
			Long hasSiNo, Long aurreSiNo, Long amaiSiNo) {
		super(idElemento, orden, nivel, nombre, nombrecas, helburu, helburucas, elementoPadre, codPlane);
		this.aurreSiNo = aurreSiNo;
		this.amaiSiNo = amaiSiNo;
		this.tieneValor = tieneValor;
		this.hasValor = hasValor;
		this.hasEus = hasEus;
		this.hasElebi = hasElebi;
		this.aurreEus = aurreEus;
		this.aurreElebi = aurreElebi;
		this.amaiEus = amaiEus;
		this.amaiElebi = amaiElebi;
		this.ponderacion = ponderacion;
		this.tieneElebi = tieneElebi;
		this.aurreValor = aurreValor;
		this.amaiValor = amaiValor;
		this.idElementoBase = idElementoBase;
		this.tieneEus = tieneEus;
		this.tieneSiNo = tieneSino;
		this.hasSiNo = hasSiNo;
		this.elemBase = elemBase;
		this.oharrak = oharrak;
	}

	/**
	 * Method 'ElementosPe'.
	 * 
	 * @param codelementope
	 *            Integer codelementope
	 * @param codplane
	 *            Integer codplane
	 * @param orden
	 *            Long orden
	 * @param nivel
	 *            Long nivel
	 * @param nombre
	 *            String nombre
	 * @param nombrecas
	 *            String nombrecas
	 * @param idelemento
	 *            Long idelemento
	 * @param helburu
	 *            String helburu
	 * @param hasEus
	 *            Long hasEus
	 * @param hasElebi
	 *            Long hasElebi
	 * @param aurreEus
	 *            Long aurreEus
	 * @param aurreElebi
	 *            Long aurreElebi
	 * @param amaiEus
	 *            Long amaiEus
	 * @param amaiElebi
	 *            Long amaiElebi
	 * @param oharrak
	 *            String oharrak
	 * @param codElementoPadre
	 *            Integer codElementoPadre
	 */
	public ElementosPe(Integer codelementope, Integer codplane, Long orden, Long nivel, String nombre, String nombrecas,
			Long idelemento, String helburu, BigDecimal hasEus, BigDecimal hasElebi, BigDecimal aurreEus,
			BigDecimal aurreElebi, BigDecimal amaiEus, BigDecimal amaiElebi, String oharrak, Integer codElementoPadre) {
		super();

		this.orden = orden;
		this.codElementoPadre = codElementoPadre;
		this.nivel = nivel;
		this.idelemento = idelemento;
		this.helburu = helburu;
		this.hasEus = hasEus;
		this.hasElebi = hasElebi;
		this.nombre = nombre;
		this.nombrecas = nombrecas;
		this.aurreEus = aurreEus;
		this.aurreElebi = aurreElebi;
		this.amaiEus = amaiEus;
		this.amaiElebi = amaiElebi;
		this.oharrak = oharrak;
		this.codelementope = codelementope;
		this.codplane = codplane;
	}

	/**
	 * Method 'ElementosPe'.
	 * 
	 * @param codelementope
	 *            Integer codelementope
	 * @param codplane
	 *            Integer codplane
	 * @param orden
	 *            Long orden
	 * @param nivel
	 *            Long nivel
	 * @param nombre
	 *            String nombre
	 * @param nombrecas
	 *            String nombrecas
	 * @param idelemento
	 *            Long idelemento
	 * @param helburu
	 *            String helburu
	 * @param hasEus
	 *            Long hasEus
	 * @param hasElebi
	 *            Long hasElebi
	 * @param aurreEus
	 *            Long aurreEus
	 * @param aurreElebi
	 *            Long aurreElebi
	 * @param amaiEus
	 *            Long amaiEus
	 * @param amaiElebi
	 *            Long amaiElebi
	 * @param oharrak
	 *            String oharrak
	 * @param elementosPe
	 *            ElementosPe elementosPe
	 */
	public ElementosPe(Integer codelementope, Integer codplane, Long orden, Long nivel, String nombre, String nombrecas,
			Long idelemento, String helburu, BigDecimal hasEus, BigDecimal hasElebi, BigDecimal aurreEus,
			BigDecimal aurreElebi, BigDecimal amaiEus, BigDecimal amaiElebi, String oharrak, ElementosPe elementosPe) {
		super();
		this.aurreElebi = aurreElebi;
		this.amaiEus = amaiEus;
		this.amaiElebi = amaiElebi;
		this.codplane = codplane;
		this.nombre = nombre;
		this.orden = orden;
		this.nivel = nivel;
		this.nombrecas = nombrecas;
		this.idelemento = idelemento;
		this.helburu = helburu;
		this.hasEus = hasEus;
		this.hasElebi = hasElebi;
		this.aurreEus = aurreEus;
		this.codelementope = codelementope;
		this.elementosPe = elementosPe;
		this.oharrak = oharrak;
	}

	/**
	 * Method 'ElementosPe'.
	 * 
	 * @param codelementope
	 *            Integer codelementope
	 * @param codplane
	 *            Integer codplane
	 * @param orden
	 *            Long orden
	 * @param nivel
	 *            Long nivel
	 * @param nombre
	 *            String nombre
	 * @param nombrecas
	 *            String nombrecas
	 * @param idelemento
	 *            Long idelemento
	 * @param helburu
	 *            String helburu
	 * @param hasEus
	 *            Long hasEus
	 * @param hasElebi
	 *            Long hasElebi
	 * @param aurreEus
	 *            Long aurreEus
	 * @param aurreElebi
	 *            Long aurreElebi
	 * @param amaiEus
	 *            Long amaiEus
	 * @param amaiElebi
	 *            Long amaiElebi
	 * @param oharrak
	 *            String oharrak
	 * @param elementosPe
	 *            ElementosPe elementosPe
	 * @param elementosPes
	 *            List<ElementosPe> elementosPes
	 * @param elementosPgs
	 *            List<ElementosPg> elementosPgs
	 */
	public ElementosPe(Integer codelementope, Integer codplane, Long orden, Long nivel, String nombre, String nombrecas,
			Long idelemento, String helburu, BigDecimal hasEus, BigDecimal hasElebi, BigDecimal aurreEus,
			BigDecimal aurreElebi, BigDecimal amaiEus, BigDecimal amaiElebi, String oharrak, ElementosPe elementosPe,
			List<ElementosPe> elementosPes, List<ElementosPg> elementosPgs) {
		super();

		this.codplane = codplane;
		this.orden = orden;
		this.nivel = nivel;
		this.codelementope = codelementope;
		this.elementosPe = elementosPe;
		this.nombre = nombre;
		this.idelemento = idelemento;
		this.helburu = helburu;
		this.nombrecas = nombrecas;
		this.hasEus = hasEus;
		this.hasElebi = hasElebi;
		this.aurreEus = aurreEus;
		this.aurreElebi = aurreElebi;
		this.oharrak = oharrak;
		this.elementosPes = elementosPes;
		this.elementosPgs = elementosPgs;
		this.amaiEus = amaiEus;
		this.amaiElebi = amaiElebi;
	}

	/**
	 * Method 'getCodelementope'.
	 *
	 * @return Integer
	 */

	public Integer getCodelementope() {
		return this.codelementope;
	}

	/**
	 * Method 'setCodelementope'.
	 *
	 * @param codelementope
	 *            Integer
	 */

	public void setCodelementope(Integer codelementope) {
		this.codelementope = codelementope;
	}

	/**
	 * Method 'getCodplane'.
	 *
	 * @return Integer
	 */

	public Integer getCodplane() {
		return this.codplane;
	}

	/**
	 * Method 'setCodplane'.
	 *
	 * @param codplane
	 *            Integer
	 */

	public void setCodplane(Integer codplane) {
		this.codplane = codplane;
	}

	/**
	 * Method 'getOrden'.
	 *
	 * @return Long
	 */

	public Long getOrden() {
		return this.orden;
	}

	/**
	 * Method 'setOrden'.
	 *
	 * @param orden
	 *            Long
	 */

	public void setOrden(Long orden) {
		this.orden = orden;
	}

	/**
	 * Method 'getNivel'.
	 *
	 * @return Long
	 */

	public Long getNivel() {
		return this.nivel;
	}

	/**
	 * Method 'setNivel'.
	 *
	 * @param nivel
	 *            Long
	 */

	public void setNivel(Long nivel) {
		this.nivel = nivel;
	}

	/**
	 * Method 'getNombre'.
	 *
	 * @return String
	 */

	public String getNombre() {
		return this.nombre;
	}

	/**
	 * Method 'setNombre'.
	 *
	 * @param nombre
	 *            String
	 */

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	/**
	 * Method 'getNombrecas'.
	 *
	 * @return String
	 */

	public String getNombrecas() {
		return this.nombrecas;
	}

	/**
	 * Method 'setNombrecas'.
	 *
	 * @param nombrecas
	 *            String
	 */

	public void setNombrecas(String nombrecas) {
		this.nombrecas = nombrecas;
	}

	/**
	 * Method 'getIdelemento'.
	 *
	 * @return Long
	 */

	public Long getIdelemento() {
		return this.idelemento;
	}

	/**
	 * Method 'setIdelemento'.
	 *
	 * @param idelemento
	 *            Long
	 */

	public void setIdelemento(Long idelemento) {
		this.idelemento = idelemento;
	}

	/**
	 * Method 'getHelburu'.
	 *
	 * @return String
	 */

	public String getHelburu() {
		return this.helburu;
	}

	/**
	 * Method 'setHelburu'.
	 *
	 * @param helburu
	 *            String
	 */

	public void setHelburu(String helburu) {
		this.helburu = helburu;
	}

	/**
	 * Method 'getHasEus'.
	 *
	 * @return Long
	 */

	public BigDecimal getHasEus() {
		return this.hasEus;
	}

	/**
	 * Method 'setHasEus'.
	 *
	 * @param hasEus
	 *            Long
	 */

	public void setHasEus(BigDecimal hasEus) {
		this.hasEus = hasEus;
	}

	/**
	 * Method 'getHasElebi'.
	 *
	 * @return Long
	 */

	public BigDecimal getHasElebi() {
		return this.hasElebi;
	}

	/**
	 * Method 'setHasElebi'.
	 *
	 * @param hasElebi
	 *            Long
	 */

	public void setHasElebi(BigDecimal hasElebi) {
		this.hasElebi = hasElebi;
	}

	/**
	 * Method 'getAurreEus'.
	 *
	 * @return Long
	 */

	public BigDecimal getAurreEus() {
		return this.aurreEus;
	}

	/**
	 * Method 'setAurreEus'.
	 *
	 * @param aurreEus
	 *            Long
	 */

	public void setAurreEus(BigDecimal aurreEus) {
		this.aurreEus = aurreEus;
	}

	/**
	 * Method 'getAurreElebi'.
	 *
	 * @return Long
	 */

	public BigDecimal getAurreElebi() {
		return this.aurreElebi;
	}

	/**
	 * Method 'setAurreElebi'.
	 *
	 * @param aurreElebi
	 *            Long
	 */

	public void setAurreElebi(BigDecimal aurreElebi) {
		this.aurreElebi = aurreElebi;
	}

	/**
	 * Method 'getAmaiEus'.
	 *
	 * @return Long
	 */

	public BigDecimal getAmaiEus() {
		return this.amaiEus;
	}

	/**
	 * Method 'setAmaiEus'.
	 *
	 * @param amaiEus
	 *            Long
	 */

	public void setAmaiEus(BigDecimal amaiEus) {
		this.amaiEus = amaiEus;
	}

	/**
	 * Method 'getAmaiElebi'.
	 *
	 * @return Long
	 */

	public BigDecimal getAmaiElebi() {
		return this.amaiElebi;
	}

	/**
	 * Method 'setAmaiElebi'.
	 *
	 * @param amaiElebi
	 *            Long
	 */

	public void setAmaiElebi(BigDecimal amaiElebi) {
		this.amaiElebi = amaiElebi;
	}

	/**
	 * Method 'getOharrak'.
	 *
	 * @return String
	 */

	public String getOharrak() {
		return this.oharrak;
	}

	/**
	 * Method 'setOharrak'.
	 *
	 * @param oharrak
	 *            String
	 */

	public void setOharrak(String oharrak) {
		this.oharrak = oharrak;
	}

	/**
	 * Method 'getElementosPes'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<ElementosPe> getElementosPes() {
		return this.elementosPes;
	}

	/**
	 * Method 'setElementosPes'.
	 *
	 * @param elementosPes
	 *            List
	 */
	public void setElementosPes(List<ElementosPe> elementosPes) {
		this.elementosPes = elementosPes;
	}

	/**
	 * Method 'getElementosPgs'.
	 *
	 * @return List
	 */
	@JsonIgnore
	public List<ElementosPg> getElementosPgs() {
		return this.elementosPgs;
	}

	/**
	 * Method 'setElementosPgs'.
	 *
	 * @param elementosPgs
	 *            List
	 */
	public void setElementosPgs(List<ElementosPg> elementosPgs) {
		this.elementosPgs = elementosPgs;
	}

	/**
	 * Intended only for logging and debugging.
	 * 
	 * Here, the contents of every main field are placed into the result.
	 * 
	 * @return String
	 */
	@Override
	public String toString() {
		StringBuilder result = new StringBuilder();
		result.append(this.getClass().getName()).append(" Object { ");
		result.append(" [ codelementope: ").append(this.codelementope).append(" ]");
		result.append(", [ codplane: ").append(this.codplane).append(" ]");
		result.append(", [ orden: ").append(this.orden).append(" ]");
		result.append(", [ nivel: ").append(this.nivel).append(" ]");
		result.append(", [ nombre: ").append(this.nombre).append(" ]");
		result.append(", [ nombrecas: ").append(this.nombrecas).append(" ]");
		result.append(", [ idelemento: ").append(this.idelemento).append(" ]");
		result.append(", [ helburu: ").append(this.helburu).append(" ]");
		result.append(", [ hasEus: ").append(this.hasEus).append(" ]");
		result.append(", [ hasElebi: ").append(this.hasElebi).append(" ]");
		result.append(", [ aurreEus: ").append(this.aurreEus).append(" ]");
		result.append(", [ aurreElebi: ").append(this.aurreElebi).append(" ]");
		result.append(", [ amaiEus: ").append(this.amaiEus).append(" ]");
		result.append(", [ amaiElebi: ").append(this.amaiElebi).append(" ]");
		result.append(", [ oharrak: ").append(this.oharrak).append(" ]");
		result.append(", [ codElementoPadre: ").append(this.codElementoPadre).append(" ]");
		result.append(", [ elemBase: ").append(this.elemBase).append(" ]");
		result.append(", [ ponderacion: ").append(this.ponderacion).append(" ]");
		result.append(", [ tieneElebi: ").append(this.tieneElebi).append(" ]");
		result.append("}");
		return result.toString();
	}

	/**
	 * Method 'getCodElementoPadre'.
	 * 
	 * @return Integer
	 */
	public Integer getCodElementoPadre() {
		return this.codElementoPadre;
	}

	/**
	 * Method 'setCodElementoPadre'.
	 * 
	 * @param codElementoPadre
	 *            Integer
	 */
	public void setCodElementoPadre(Integer codElementoPadre) {
		this.codElementoPadre = codElementoPadre;
	}

	/**
	 * Method 'getElementosPe'.
	 * 
	 * @return ElementosPe
	 */
	public ElementosPe getElementosPe() {
		return this.elementosPe;
	}

	/**
	 * Method 'setElementosPe'.
	 * 
	 * @param elementosPe
	 *            ElementosPe
	 */
	public void setElementosPe(ElementosPe elementosPe) {
		this.elementosPe = elementosPe;
	}

	/**
	 * Method 'getElemBase'.
	 * 
	 * @return Long
	 */
	public Long getElemBase() {
		return this.elemBase;
	}

	/**
	 * Method 'setElemBase'.
	 * 
	 * @param elemBase
	 *            Long
	 */
	public void setElemBase(Long elemBase) {
		this.elemBase = elemBase;
	}

	/**
	 * Method 'getPonderacion'.
	 * 
	 * @return Long
	 */
	public Long getPonderacion() {
		return this.ponderacion;
	}

	/**
	 * Method 'setPonderacion'.
	 * 
	 * @param ponderacion
	 *            Long
	 */
	public void setPonderacion(Long ponderacion) {
		this.ponderacion = ponderacion;
	}

	/**
	 * Method 'getTieneElebi'.
	 * 
	 * @return Long
	 */
	public Long getTieneElebi() {
		return this.tieneElebi;
	}

	/**
	 * Method 'setTieneElebi'.
	 * 
	 * @param tieneElebi
	 *            Long
	 */
	public void setTieneElebi(Long tieneElebi) {
		this.tieneElebi = tieneElebi;
	}

	/**
	 * Method 'getTieneValor'.
	 * 
	 * @return Long
	 */
	public Long getTieneValor() {
		return this.tieneValor;
	}

	/**
	 * Method 'setTieneValor'.
	 * 
	 * @param tieneValor
	 *            Long
	 */
	public void setTieneValor(Long tieneValor) {
		this.tieneValor = tieneValor;
	}

	/**
	 * Method 'getHasValor'.
	 * 
	 * @return Long
	 */
	public BigDecimal getHasValor() {
		return this.hasValor;
	}

	/**
	 * Method 'setHasValor'.
	 * 
	 * @param hasValor
	 *            Long
	 */
	public void setHasValor(BigDecimal hasValor) {
		this.hasValor = hasValor;
	}

	/**
	 * Method 'getAurreValor'.
	 * 
	 * @return Long
	 */
	public BigDecimal getAurreValor() {
		return this.aurreValor;
	}

	/**
	 * Method 'setAurreValor'.
	 * 
	 * @param aurreValor
	 *            Long
	 */
	public void setAurreValor(BigDecimal aurreValor) {
		this.aurreValor = aurreValor;
	}

	/**
	 * Method 'getAmaiValor'.
	 * 
	 * @return Long
	 */
	public BigDecimal getAmaiValor() {
		return this.amaiValor;
	}

	/**
	 * Method 'setAmaiValor'.
	 * 
	 * @param amaiValor
	 *            Long
	 */
	public void setAmaiValor(BigDecimal amaiValor) {
		this.amaiValor = amaiValor;
	}

	/**
	 * Method 'getIdElementoBase'.
	 * 
	 * @return Long
	 */
	public Long getIdElementoBase() {
		return this.idElementoBase;
	}

	/**
	 * Method 'setIdElementoBase'.
	 * 
	 * @param idElementoBase
	 *            Long
	 */
	public void setIdElementoBase(Long idElementoBase) {
		this.idElementoBase = idElementoBase;
	}

	/**
	 * Method 'getTieneSiNo'
	 * 
	 * @return Long
	 */
	public Long getTieneSiNo() {
		return this.tieneSiNo;
	}

	/**
	 * Method 'setTieneSiNo'
	 * 
	 * @param tieneSiNo
	 *            Long
	 */
	public void setTieneSiNo(Long tieneSiNo) {
		this.tieneSiNo = tieneSiNo;
	}

	/**
	 * Method 'getTieneEus'
	 * 
	 * @return Long
	 */
	public Long getTieneEus() {
		return this.tieneEus;
	}

	/**
	 * Method 'setTieneEus'
	 * 
	 * @param tieneEus
	 *            Long
	 */
	public void setTieneEus(Long tieneEus) {
		this.tieneEus = tieneEus;
	}

	/**
	 * Method 'getHasSiNo'
	 * 
	 * @return Long
	 */
	public Long getHasSiNo() {
		return this.hasSiNo;
	}

	/**
	 * Method 'setHasSiNo'
	 * 
	 * @param hasSiNo
	 *            Long
	 */
	public void setHasSiNo(Long hasSiNo) {
		this.hasSiNo = hasSiNo;
	}

	/**
	 * Method 'getAurreSiNo'
	 * 
	 * @return Long
	 */
	public Long getAurreSiNo() {
		return this.aurreSiNo;
	}

	/**
	 * Method 'setAurreSiNo'
	 * 
	 * @param aurreSiNo
	 *            Long
	 */
	public void setAurreSiNo(Long aurreSiNo) {
		this.aurreSiNo = aurreSiNo;
	}

	/**
	 * Method 'getAmaiSiNo'
	 * 
	 * @return Long
	 */
	public Long getAmaiSiNo() {
		return this.amaiSiNo;
	}

	/**
	 * Method 'setAmaiSiNo'
	 * 
	 * @param amaiSiNo
	 *            Long
	 */
	public void setAmaiSiNo(Long amaiSiNo) {
		this.amaiSiNo = amaiSiNo;
	}

	/**
	 * Generacion del codigo html necesario para la elaboracion del contenido
	 * del PDF de Planes estrategicos
	 * 
	 * LOGICA: tieneValor; tieneSiNo; tieneEus; tieneElebi;
	 * 
	 * Se realizaran las comprobaciones en el siguiente orden siendo
	 * excluyentes.
	 * 
	 * Si tieneValor=1, no se miran las siguientes 3 opciones y se recupera el
	 * valor desde hasValor, aurreValor y amaiValor, se realiza un colspan = 2
	 * abarcando las columnas de EUS y ELEBI, se mostrara el propio contenido
	 * del atributo;
	 * 
	 * Si tieneSiNo=1, no se miran las siguientes 2 opciones y se recupera el
	 * valor desde hasSiNo, aurreSiNo y amaiSiNo, se realiza un colspan = 2
	 * abarcando las columnas de EUS y ELEBI, se realizara la siguiente
	 * transformacion sobre contenido del atributo; 0 -No, 1-Si, segun el idioma
	 * en curso
	 * 
	 * Las siguientes 2 opciones son independientes entre si, si no se ha
	 * cumplido ninguna de las 2 anteriores:
	 * 
	 * Si tieneEus=1 se muestra el contenido recuperandolo de los campos hasEus,
	 * aurreEus y amaiEus;
	 * 
	 * Si tieneElebi=1 se muestra el contenido recuperandolo de los campos
	 * hasElebi, aurreElebi y amaiElebi;
	 * 
	 * @param sIdioma
	 *            String sIdioma
	 * @return StringBuilder StringBuilder
	 */
	public StringBuilder getTR_HTML(String sIdioma) {
		StringBuilder stB = new StringBuilder();
		String sTmp = "";
		String sEstiloNivel = "celdaDatosPLanNombreNivel";
		String sEstiloObjetivo = "celdaDatosPlanDatoLargo";
		String sEstiloDatos = "celdaDatosPlanDatoCorto";
		String sIdiomaSi = "";
		String sIdiomaNo = "";

		if ((null != sIdioma) && (sIdioma.equals(Constantes.IDIOMA_ES))) {
			sIdiomaSi = "Si";
			sIdiomaNo = "No";
		} else {
			sIdiomaSi = "Bai";
			sIdiomaNo = "Ez";
		}

		stB.append("<tr>\n");

		// Nombre del elemento
		sTmp = sIdioma.equals(Constantes.IDIOMA_ES) ? this.getNombrecasA() : this.getNombreA();
		if (null == sTmp) {
			sTmp = "&nbsp;";
		}
		stB.append("<td class=\"").append(sEstiloNivel).append(this.getNivelA());
		stB.append("\">");
		stB.append(sTmp);
		stB.append("</td>");

		// Objetivo del elemento
		if (this.getNivelA() != Constantes.ELEMENTO_NIVEL_3) {
			sTmp = sIdioma.equals(Constantes.IDIOMA_ES) ? this.getHelburucasA() : this.getHelburuA();
			if (null == sTmp) {
				sTmp = "&nbsp;";
			}
			stB.append("<td colspan=\"6\" class=\"").append(sEstiloObjetivo);
			stB.append("\">");
			stB.append(sTmp);
			stB.append("</td>");

			// Mostrado de los datos numericos de los elementos
		} else if (this.getNivelA() == Constantes.ELEMENTO_NIVEL_3) {

			if (this.getTieneValor() == 1) {

				// HASIERA
				if (null != this.getHasValor()) {
					sTmp = String.valueOf(this.getHasValor());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td colspan=\"2\" class=\"").append(sEstiloDatos).append("\">").append(sTmp)
						.append("</td>");

				// AURREIKUSITAKOA
				if (null != this.getAurreValor()) {
					sTmp = String.valueOf(this.getAurreValor());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td colspan=\"2\" class=\"").append(sEstiloDatos).append("\">").append(sTmp)
						.append("</td>");

				// AMAIERA
				if (null != this.getAmaiValor()) {
					sTmp = String.valueOf(this.getAmaiValor());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td colspan=\"2\" class=\"").append(sEstiloDatos).append("\">").append(sTmp)
						.append("</td>");

			} else if (this.getTieneSiNo() == 1) {

				// HASIERA
				if (null != this.getHasSiNo()) {
					sTmp = this.getHasSiNo() == 1 ? sIdiomaSi : sIdiomaNo;
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td colspan=\"2\" class=\"").append(sEstiloDatos).append("\">").append(sTmp)
						.append("</td>");

				// AURREIKUSITAKOA
				if (null != this.getAurreSiNo()) {
					sTmp = this.getAurreSiNo() == 1 ? sIdiomaSi : sIdiomaNo;
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td colspan=\"2\" class=\"").append(sEstiloDatos).append("\">").append(sTmp)
						.append("</td>");

				// AMAIERA
				if (null != this.getAmaiSiNo()) {
					sTmp = this.getAmaiSiNo() == 1 ? sIdiomaSi : sIdiomaNo;
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td colspan=\"2\" class=\"").append(sEstiloDatos).append("\">").append(sTmp)
						.append("</td>");

			} else {

				// HASIERA
				if ((null != this.getHasEus()) && (this.getTieneEus() == 1 || this.getTieneElebi() == 1)) {
					sTmp = String.valueOf(this.getHasEus());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td class=\"").append(sEstiloDatos).append("\">").append(sTmp).append("</td>");

				if ((null != this.getHasElebi()) && (this.getTieneElebi() == 1)) {
					sTmp = String.valueOf(this.getHasElebi());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td class=\"").append(sEstiloDatos).append("\">").append(sTmp).append("</td>\n");

				// AURREIKUSITAKOA
				if ((null != this.getAurreEus()) && (this.getTieneEus() == 1 || this.getTieneElebi() == 1)) {
					sTmp = String.valueOf(this.getAurreEus());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td class=\"").append(sEstiloDatos).append("\">").append(sTmp).append("</td>");

				if ((null != this.getAurreElebi()) && (this.getTieneElebi() == 1)) {
					sTmp = String.valueOf(this.getAurreElebi());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td class=\"").append(sEstiloDatos).append("\">").append(sTmp).append("</td>\n");

				// AMAIERA
				if ((null != this.getAmaiEus()) && (this.getTieneEus() == 1 || this.getTieneElebi() == 1)) {
					sTmp = String.valueOf(this.getAmaiEus());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td class=\"").append(sEstiloDatos).append("\">").append(sTmp).append("</td>");

				if ((null != this.getAmaiElebi()) && (this.getTieneElebi() == 1)) {
					sTmp = String.valueOf(this.getAmaiElebi());
				} else {
					sTmp = "&nbsp;";
				}
				stB.append("<td class=\"").append(sEstiloDatos).append("\">").append(sTmp).append("</td>\n");
			}
		} /*
			 * else { stB.append("<td class=\"").append(sEstiloDatos).append(
			 * "\">&nbsp;</td>");
			 * stB.append("<td class=\"").append(sEstiloDatos).append(
			 * "\">&nbsp;</td>\n");
			 * stB.append("<td class=\"").append(sEstiloDatos).append(
			 * "\">&nbsp;</td>");
			 * stB.append("<td class=\"").append(sEstiloDatos).append(
			 * "\">&nbsp;</td>\n");
			 * stB.append("<td class=\"").append(sEstiloDatos).append(
			 * "\">&nbsp;</td>");
			 * stB.append("<td class=\"").append(sEstiloDatos).append(
			 * "\">&nbsp;</td>\n"); }
			 */
		stB.append("</tr>\n");

		return stB;
	}

}
