<?php
namespace App\Entity\Backend;
use Doctrine\ORM\Mapping AS ORM;
use Gedmo\Mapping\Annotation as Gedmo;
// use BeSimple\SoapBundle\ServiceDefinition\Annotation as Soap;
/**
* @ORM\Entity(repositoryClass="App\Repository\Backend\ComiteRepository")
* @ORM\Table(name="Comite")
* Soap\Alias("Comite")
*/
class Comite {
/**
* @ORM\Id
* @ORM\Column(type="integer", length=8)
* @ORM\GeneratedValue(strategy="AUTO")
* Soap\ComplexType("int", nillable=true)
*/
private $id;
/**
* @ORM\Column(type="string", length=255, nullable=false)
* Soap\ComplexType("string", nillable=true)
*/
private $nombre;
/**
* @ORM\Column(type="string", length=255, nullable=false)
* Soap\ComplexType("string", nillable=true)
*/
private $nombre_corto;
/**
* @ORM\Column(type="boolean", nullable=false)
* Soap\ComplexType("string", nillable=true)
*/
private $activo;
/**
* @ORM\Column(type="string", length=255, nullable=false)
* Soap\ComplexType("string", nillable=true)
* @Gedmo\Slug(fields={"nombre"})
*/
private $slug;
/**
* @ORM\Column(type="smallint")
*
*/
private $rfga_id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Backend\Cliente")
* @ORM\JoinColumn(name="Cliente_id", referencedColumnName="id")
* */
private $cliente;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*
*/
private $url;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $code;
/**
* @ORM\OneToMany(targetEntity="\App\Entity\Backend\AsignacionAnualComite", mappedBy="comite")
* @ORM\OrderBy({"anio" = "ASC"})
*
*/
private $asignacion_anual;
/**
* @ORM\OneToMany(targetEntity="\App\Entity\Backend\DocumentoContabilidad", mappedBy="comite")
* @ORM\OrderBy({"id" = "DESC"})
*
*/
private $documentoscontabilidad;
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Backend\Agrupacion", mappedBy="comites")
*/
private $agrupaciones;
/**
* @ORM\Column(name="tipo", type="enumtipocomite", nullable=false)
*/
private $tipo;
/**
* @ORM\Column(name="active_federation", type="boolean", nullable=false)
*/
private bool $active_federation;
/**
* Get id
*
* @return integer
*/
public function getId() {
return $this->id;
}
/**
* Set nombre
*
* @param string $nombre
* @return Comite
*/
public function setNombre($nombre) {
$this->nombre = $nombre;
return $this;
}
/**
* Get nombre
*
* @return string
*/
public function getNombre() {
return $this->nombre;
}
/**
* Set nombre_corto
*
* @param string $nombreCorto
* @return Comite
*/
public function setNombreCorto($nombreCorto) {
$this->nombre_corto = $nombreCorto;
return $this;
}
/**
* Get nombre_corto
*
* @return string
*/
public function getNombreCorto() {
return $this->nombre_corto;
}
/**
* Set activo
*
* @param boolean $activo
* @return Comite
*/
public function setActivo($activo) {
$this->activo = $activo;
return $this;
}
/**
* Get activo
*
* @return boolean
*/
public function getActivo() {
return $this->activo;
}
public function __toString() {
return $this->getNombreCorto() . ($this->cliente ? " (" . $this->cliente->getNombreCorto() . ")" : "");
}
/**
* Set slug
*
* @param string $slug
* @return Comite
*/
public function setSlug($slug) {
$this->slug = $slug;
return $this;
}
/**
* Get slug
*
* @return string
*/
public function getSlug() {
return $this->slug;
}
/**
* Set rfga_id
*
* @param integer $rfgaId
* @return Comite
*/
public function setRfgaId($rfgaId) {
$this->rfga_id = $rfgaId;
return $this;
}
/**
* Get rfga_id
*
* @return integer
*/
public function getRfgaId() {
return $this->rfga_id;
}
/**
* Set cliente
*
* @param Cliente $cliente
* @return Comite
*/
public function setCliente(Cliente $cliente = null) {
$this->cliente = $cliente;
return $this;
}
/**
* Get cliente
*
* @return Cliente
*/
public function getCliente() {
return $this->cliente;
}
/**
* Set url
*
* @param string $url
* @return Comite
*/
public function setUrl($url) {
$this->url = $url;
return $this;
}
/**
* Get url
*
* @return string
*/
public function getUrl() {
return $this->url;
}
/**
* Set code
*
* @param string|null $code
* @return Comite
*/
public function setCode($code) {
$this->code = $code;
return $this;
}
/**
* Get code
*
* @return string|null
*/
public function getCode() {
return $this->code;
}
/**
* Constructor
*/
public function __construct() {
$this->asignacion_anual = new \Doctrine\Common\Collections\ArrayCollection();
$this->documentoscontabilidad = new \Doctrine\Common\Collections\ArrayCollection();
$this->agrupaciones = new \Doctrine\Common\Collections\ArrayCollection();
}
/**
* Add asignacion_anual
*
* @param \App\Entity\Backend\AsignacionAnualComite $asignacionAnual
* @return Comite
*/
public function addAsignacionAnual(\App\Entity\Backend\AsignacionAnualComite $asignacionAnual) {
$this->asignacion_anual[] = $asignacionAnual;
return $this;
}
/**
* Remove asignacion_anual
*
* @param \App\Entity\Backend\AsignacionAnualComite $asignacionAnual
*/
public function removeAsignacionAnual(\App\Entity\Backend\AsignacionAnualComite $asignacionAnual) {
$this->asignacion_anual->removeElement($asignacionAnual);
}
/**
* Get asignacion_anual
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getAsignacionAnual() {
return $this->asignacion_anual;
}
/**
* Get asignacion_anual
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getAsignacionAnualAnio($anio) {
$asig = 0;
$aa_array = $this->getAsignacionAnual();
foreach ($aa_array as $an) {
if ($an->getAnio() == $anio) {
$asig = $an->getAsignacion();
}
}
return $asig;
}
public function getAsignacionActual() {
$anio = date("Y");
$asig = 0;
$aa_array = $this->getAsignacionAnual();
foreach ($aa_array as $an) {
if ($an->getAnio() == $anio) {
$asig = $an->getAsignacion();
break;
}
}
return $asig;
}
public function getPresupuestadoGeneralActual() {
$anio = date("Y");
$asig = 0;
$aa_array = $this->getAsignacionAnual();
foreach ($aa_array as $an) {
if ($an->getAnio() == $anio) {
$asig = $an->getGeneral();
break;
}
}
return $asig;
}
/**
* Add asignacion_anual
*
* @param \App\Entity\Backend\DocumentoContabilidad $documentoContabilidad
* @return Comite
*/
public function addDocumentoContabilidad(\App\Entity\Backend\DocumentoContabilidad $documentoContabilidad) {
$this->documentoscontabilidad[] = $documentoContabilidad;
return $this;
}
/**
* Remove asignacion_anual
*
* @param \App\Entity\Backend\DocumentoContabilidad $documentoContabilidad
*/
public function removeDocumentoContabilidad(\App\Entity\Backend\DocumentoContabilidad $documentoContabilidad) {
$this->documentoscontabilidad->removeElement($documentoContabilidad);
}
/**
* Get asignacion_anual
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getDocumentosContabilidad() {
return $this->documentoscontabilidad;
}
/**
* Add agrupacion
*
* @param \App\Entity\Backend\Agrupacion $agrupacion
* @return Comite
*/
public function addAgrupacion(\App\Entity\Backend\Agrupacion $agrupacion) {
$this->agrupaciones[] = $agrupacion;
return $this;
}
/**
* Remove agrupacion
*
* @param \App\Entity\Backend\Agrupacion $agrupacion
*/
public function removeAgrupacion(\App\Entity\Backend\Agrupacion $agrupacion) {
$this->agrupaciones->removeElement($agrupacion);
}
/**
* Get agrupaciones
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getAgrupaciones() {
return $this->agrupaciones;
}
/**
* Set tipo
*
* @param boolean $tipo
*
* @return Comite
*/
public function setTipo($tipo) {
$this->tipo = $tipo;
return $this;
}
/**
* Get tipo
*
* @return bool
*/
public function getTipo() {
return $this->tipo;
}
/**
* Get active_federation
*
* @return bool
*/
public function getActiveFederation(): bool
{
return $this->active_federation;
}
/**
* Set active_federation
*
* @param boolean $active_federation
*
* @return Comite
*/
public function setActiveFederation(bool $active_federation): self
{
$this->active_federation = $active_federation;
return $this;
}
}