<?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
use phpDocumentor\Reflection\Types\Integer;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
use DateTimeInterface;
/**
* Equipo
*
* @ORM\Table(name="equipo", indexes={@ORM\Index(name="equipo_ubicacion_fk", columns={"ubicacion"}), @ORM\Index(name="equipo_usuario_fk", columns={"usuario"}), @ORM\Index(name="equipo_unidad_fk", columns={"unidad"}),@ORM\Index(name="equipo_c_estado_uso_fk", columns={"id_uso"}),@ORM\Index(name="equipo_c_material_fk", columns={"id_material"})})
* @ORM\Entity(repositoryClass="App\Repository\EquipoRepository")
* @UniqueEntity(fields={"marbete"}, message="Existe un EQUIPO registrado con el mismo marbete")
*/
class Equipo
{
/**
* @var int
* @ORM\Column(name="id_equ", type="integer", nullable=false, options={"comment"="Identificador único del equipo informático."})
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $idEqu;
/**
* @var string|null
* @ORM\Column(name="marbete", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Número de marbete asignado al equipo por el sistema de inventarios del estado de méxico SICOPA."})
*/
protected $marbete;
//private $marbete = '';
/**
* @var string|null
* @ORM\Column(name="descripcion", type="text", length=65535, nullable=true, options={"default"="NULL","comment"="Descripción de la computadora en turno"})
*/
private $descripcion = '';
/**
* @var string|null
* @ORM\Column(name="modelo", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Modelo del equipo"})
*/
private $modelo = '';
/**
* @var string|null
*
* @ORM\Column(name="serie", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Número de serie del equipo"})
*/
private $serie = '';
/**
* @var string|null
*
* @ORM\Column(name="procesador", type="string", length=80, nullable=true, options={"default"="NULL","comment"="Descripción completa del procesador o en su defecto la matricula del procesador."})
*/
private $procesador = '';
/**
* @var int|null
*
* @ORM\Column(name="nucleos", type="integer", nullable=true, options={"default"="NULL","comment"="Número de nucleos del procesador"})
*/
private $nucleos = 4;
/**
* @var string|null
*
* @ORM\Column(name="cpu_velocidad", type="string", length=40, nullable=true, options={"default"="NULL","comment"="Velocidad del procesador en GHz"})
*/
private $cpuVelocidad = 3.2;
/**
* @var string|null
*
* @ORM\Column(name="ram", type="string", length=40, nullable=true, options={"default"="NULL","comment"="Cantidad de memoria RAM de la computadora en GB"})
*/
private $ram = 4;
/**
* @var int|null
*
* @ORM\Column(name="hhd", type="integer", length=40, nullable=true, options={"default"="NULL","comment"="Capacidad del Disco Duro Mecánico de la computadora en GB"})
*/
private $hhd = '';
/**
* @var int|null
*
* @ORM\Column(name="ssd", type="integer", length=40, nullable=true, options={"default"="NULL","comment"="Capacidad del Disco Duro de Estado solido de la computadora en GB"})
*/
private $ssd = '';
/**
* @var string|null
*
* @ORM\Column(name="mac", type="string", length=18, nullable=true, options={"default"="NULL","comment"="Dirección MAC del equipo"})
*/
private $mac = '';
/**
* @var string|null
*
* @ORM\Column(name="ip", type="string", length=16, nullable=true, options={"default"="NULL","comment"="Dirección IP del equipo"})
*/
private $ip = '';
/**
* @var string|null
*
* @ORM\Column(name="monitor_marbete", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Número de marbete asignado al monitor por el sistema de inventarios del estado de méxico SICOPA. Normalmente este numero es igual al marbete del equipo. Pero hay exepciones en donde puede ser diferente"})
*/
private $monitorMarbete = '';
/**
* @var string|null
*
* @ORM\Column(name="monitor_modelo", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Modelo del monitor"})
*/
private $monitorModelo = '';
/**
* @var string|null
*
* @ORM\Column(name="monitor_serie", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Número de serie del teclado"})
*/
private $monitorSerie = '';
/**
* @var string|null
*
* @ORM\Column(name="monitor_tipo", type="string", length=20, nullable=true, options={"default"="NULL","comment"="Solo hay cuatro opciones: ""Monocromo"", ""VGA"", ""Supere VGA"" y ""Ultra VGA"""})
*/
private $monitorTipo = '';
/**
* @var string|null
*
* @ORM\Column(name="monitor_pulgadas", type="string", length=20, nullable=true, options={"default"="NULL","comment"="Pulgadas diagonales del monitor"})
*/
private $monitorPulgadas = '';
/**
* @var string|null
*
* @ORM\Column(name="teclado_modelo", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Modelo del teclado"})
*/
private $tecladoModelo = '';
/**
* @var string|null
*
* @ORM\Column(name="teclado_serie", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Número de serie del teclado"})
*/
private $tecladoSerie = '';
/**
* @var string|null
*
* @ORM\Column(name="mouse_modelo", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Modelo del mouse"})
*/
private $mouseModelo = '';
/**
* @var string|null
*
* @ORM\Column(name="mouse_serie", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Número de serie del mouse"})
*/
private $mouseSerie = '';
/**
* @var string|null
*
* @ORM\Column(name="uso", type="string", length=20, nullable=true, options={"default"="NULL","comment"="Para describir el uso que se le da al equipo
1=Educativo
2=Docente
3=Administrativo"})
*/
private $uso = '';
/**
* @var string|null
*
* @ORM\Column(name="funcion", type="string", length=20, nullable=true, options={"default"="NULL","comment"="función principal Servidor / ecritorio SW instalado
1=Escritorio
2=Servidor
"})
*/
private $funcion = '';
/**
* @var string|null
*
* @ORM\Column(name="funcion_descripcion", type="text", length=65535, nullable=true, options={"default"="NULL","comment"="Para la carrera, o tipo de servidor o controlador"})
*/
private $funcionDescripcion = '';
/**
* @var string|null
*
* @ORM\Column(name="estatus", type="string", length=20, nullable=true, options={"default"="NULL","comment"="Para indicar el estado en que se encuentra el equipo
1=En operación
2=Descompuesto
3=Sin instalar
4=En proceso de baja
5=Baja"})
*/
private $estatus = '';
/**
* @var \DateTime|null
* @ORM\Column(name="falta", type="datetime", options={"default"="CURRENT_TIMESTAMP"})
*/
private $falta;
/**
* @var \DateTime|null
* @ORM\Column(name="factualizacion", type="datetime", options={"default"="CURRENT_TIMESTAMP"})
*/
private $factualizacion;
/**
* @var bool|null
*
* @ORM\Column(name="emhv", type="boolean", nullable=true, options={"default"="NULL","comment"="Solo hay dos opciones: ""1"" si cumple con EMHV o ""0"" si no cumple con EMHV."})
*/
private $emhv;
/**
* @var Usuario
*
* @ORM\ManyToOne(targetEntity="Usuario")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="usuario", referencedColumnName="id_usu")
* })
*/
private $usuario;
/**
* @var Ubicacion
*
* @ORM\ManyToOne(targetEntity="Ubicacion")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="ubicacion", referencedColumnName="id_ubi")
* })
*/
private $ubicacion;
/**
* @var \Unidad
*
* @ORM\ManyToOne(targetEntity="Unidad")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="unidad", referencedColumnName="id_uni")
* })
*/
private $unidad;
/**
* @var int
*
* @ORM\Column(name="mantenimiento_count", type="integer", nullable=false, options={"default"=0, "comment"="Número de mantenimientos realizados"})
*/
private $mantenimientoCount = 0;
/**
* @var bool|null
*
* @ORM\Column(name="allinone", type="boolean", options={"default" : 0}, nullable=true)
*/
private ?bool $allinone = false;
/**
* @var bool|null
*
*
* @ORM\Column(name="actualizable", type="boolean", options={"default" : 1}, nullable=true)
*/
/**
* @var string|null
* @ORM\Column(name="color", type="string", length=50, nullable=true)
*/
private $color = '';
/**
* @var string|null
* @ORM\Column(name="piso", type="string", options={"default" : 0}, length=10, nullable=true)
*/
private $piso = 0;
/**
* @var string|null
* @ORM\Column(name="seccion_aula", type="string", length=50, nullable=true)
*/
private $seccionAula = '';
/**
* @var string|null
* @ORM\Column(name="num_puerta_cubi", type="string", length=50, nullable=true)
*/
private $numPuertaCubi = '';
/**
* @var CMaterial
*
* @ORM\ManyToOne(targetEntity="CMaterial")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_material", referencedColumnName="id_material")
* })
*/
private $idMaterial;
/**
* @var CEstadoUso
*
* @ORM\ManyToOne(targetEntity="CEstadoUso")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_uso", referencedColumnName="id_uso")
* })
*/
private $idUso;
/**
* @var CMarcas
*
* @ORM\ManyToOne(targetEntity="CMarcas")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_marca", referencedColumnName="id_marca")
* })
*/
private $idMarca;
/**
* @var CMarcas
*
* @ORM\ManyToOne(targetEntity="CMarcas")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="monitor_marca", referencedColumnName="id_marca")
* })
*/
private $monitorMarca ;
/**
* @var CMarcas
*
* @ORM\ManyToOne(targetEntity="CMarcas")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="teclado_marca", referencedColumnName="id_marca")
* })
*/
private $tecladoMarca ;
/**
* @var CMarcas
*
* @ORM\ManyToOne(targetEntity="CMarcas")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="mouse_marca", referencedColumnName="id_marca")
* })
*/
private $mouseMarca ;
private ?bool $actualizable = true;
public function getAllinone(): ?bool
{
return $this->allinone;
}
public function setAllinone(?bool $allinone): self
{
$this->allinone = $allinone;
return $this;
}
public function getActualizable(): ?bool
{
return $this->actualizable;
}
public function setActualizable(?bool $actualizable): self
{
$this->actualizable = $actualizable;
return $this;
}
public function getMantenimientoCount(): ?int
{
return $this->mantenimientoCount;
}
public function setMantenimientoCount(int $mantenimientoCount): self
{
$this->mantenimientoCount = $mantenimientoCount;
return $this;
}
public function incrementMantenimientoCount(): void
{
$this->mantenimientoCount++;
}
public function getIdEqu(): ?int
{
return $this->idEqu;
}
public function getMarbete(): ?string
{
return $this->marbete;
}
public function setMarbete(?string $marbete): self
{
$this->marbete = $marbete;
return $this;
}
public function getDescripcion(): ?string
{
return $this->descripcion;
}
public function setDescripcion(?string $descripcion): self
{
$this->descripcion = $descripcion;
return $this;
}
public function getModelo(): ?string
{
return $this->modelo;
}
public function setModelo(?string $modelo): self
{
$this->modelo = $modelo;
return $this;
}
public function getSerie(): ?string
{
return $this->serie;
}
public function setSerie(?string $serie): self
{
$this->serie = $serie;
return $this;
}
public function getProcesador(): ?string
{
return $this->procesador;
}
public function setProcesador(?string $procesador): self
{
$this->procesador = $procesador;
return $this;
}
public function getNucleos(): ?int
{
return $this->nucleos;
}
public function setNucleos(?int $nucleos): self
{
$this->nucleos = $nucleos;
return $this;
}
public function getCpuVelocidad(): ?string
{
return $this->cpuVelocidad;
}
public function setCpuVelocidad(?string $cpuVelocidad): self
{
$this->cpuVelocidad = $cpuVelocidad;
return $this;
}
public function getRam(): ?string
{
return $this->ram;
}
public function setRam(?string $ram): self
{
$this->ram = $ram;
return $this;
}
public function getHhd(): ?int
{
return $this->hhd !== null ? (int) $this->hhd : null;
}
public function setHhd(?int $hhd): self
{
$this->hhd = $hhd !== null ? (int) $hhd : null;
return $this;
}
public function getSsd(): ?int
{
return $this->ssd !== null ? (int) $this->ssd : null;
}
public function setSsd(?int $ssd): self
{
$this->ssd = $ssd !== null ? (int) $ssd : null;
return $this;
}
public function getMac(): ?string
{
return $this->mac;
}
public function setMac(?string $mac): self
{
$this->mac = $mac;
return $this;
}
public function getIp(): ?string
{
return $this->ip;
}
public function setIp(?string $ip): self
{
$this->ip = $ip;
return $this;
}
public function getMonitorMarbete(): ?string
{
return $this->monitorMarbete;
}
public function setMonitorMarbete(?string $monitorMarbete): self
{
$this->monitorMarbete = $monitorMarbete;
return $this;
}
public function getMonitorModelo(): ?string
{
return $this->monitorModelo;
}
public function setMonitorModelo(?string $monitorModelo): self
{
$this->monitorModelo = $monitorModelo;
return $this;
}
public function getMonitorSerie(): ?string
{
return $this->monitorSerie;
}
public function setMonitorSerie(?string $monitorSerie): self
{
$this->monitorSerie = $monitorSerie;
return $this;
}
public function getMonitorTipo(): ?string
{
return $this->monitorTipo;
}
public function setMonitorTipo(?string $monitorTipo): self
{
$this->monitorTipo = $monitorTipo;
return $this;
}
public function getMonitorPulgadas(): ?string
{
return $this->monitorPulgadas;
}
public function setMonitorPulgadas(?string $monitorPulgadas): self
{
$this->monitorPulgadas = $monitorPulgadas;
return $this;
}
public function getTecladoModelo(): ?string
{
return $this->tecladoModelo;
}
public function setTecladoModelo(?string $tecladoModelo): self
{
$this->tecladoModelo = $tecladoModelo;
return $this;
}
public function getTecladoSerie(): ?string
{
return $this->tecladoSerie;
}
public function setTecladoSerie(?string $tecladoSerie): self
{
$this->tecladoSerie = $tecladoSerie;
return $this;
}
public function getMouseModelo(): ?string
{
return $this->mouseModelo;
}
public function setMouseModelo(?string $mouseModelo): self
{
$this->mouseModelo = $mouseModelo;
return $this;
}
public function getMouseSerie(): ?string
{
return $this->mouseSerie;
}
public function setMouseSerie(?string $mouseSerie): self
{
$this->mouseSerie = $mouseSerie;
return $this;
}
public function getUso(): ?string
{
return $this->uso;
}
public function setUso(?string $uso): self
{
$this->uso = $uso;
return $this;
}
public function getFuncion(): ?string
{
return $this->funcion;
}
public function setFuncion(?string $funcion): self
{
$this->funcion = $funcion;
return $this;
}
public function getFuncionDescripcion(): ?string
{
return $this->funcionDescripcion;
}
public function setFuncionDescripcion(?string $funcionDescripcion): self
{
$this->funcionDescripcion = $funcionDescripcion;
return $this;
}
public function getEstatus(): ?string
{
return $this->estatus;
}
public function setEstatus(?string $estatus): self
{
$this->estatus = $estatus;
return $this;
}
public function getFalta(): ?\DateTimeInterface
{
return $this->falta;
}
public function setFalta(?\DateTimeInterface $falta): self
{
$this->falta = $falta;
return $this;
}
public function getFactualizacion(): ?\DateTimeInterface
{
return $this->factualizacion;
}
public function setFactualizacion(?\DateTimeInterface $factualizacion): self
{
$this->factualizacion = $factualizacion;
return $this;
}
public function isEmhv(): ?bool
{
return $this->emhv;
}
public function setEmhv(?bool $emhv): self
{
$this->emhv = $emhv;
return $this;
}
public function getUsuario(): ?Usuario
{
return $this->usuario;
}
public function setUsuario(?Usuario $usuario): self
{
$this->usuario = $usuario;
return $this;
}
public function getUbicacion(): ?Ubicacion
{
return $this->ubicacion;
}
public function setUbicacion(?Ubicacion $ubicacion): self
{
$this->ubicacion = $ubicacion;
return $this;
}
public function getUnidad(): ?Unidad
{
return $this->unidad;
}
public function setUnidad(?Unidad $unidad): self
{
$this->unidad = $unidad;
return $this;
}
public function __toString(){
//return $this->marbete;
return "(" . $this->idEqu. ") " . $this->marbete;
}
public function getColor(): ?string
{
return $this->color;
}
public function setColor(?string $color): self
{
$this->color = $color;
return $this;
}
// Entidad de equipo
/**
* Get the value of piso
*
* @return string|null
*/
public function getPiso()
{
return $this->piso;
}
/**
* Set the value of piso
*
* @param string|null $piso
*
* @return self
*/
public function setPiso($piso): self
{
$this->piso = $piso;
return $this;
}
/**
* Get the value of seccionAula
*
* @return string|null
*/
public function getSeccionAula()
{
return $this->seccionAula;
}
/**
* Set the value of seccionAula
*
* @param string|null $seccionAula
*
* @return self
*/
public function setSeccionAula($seccionAula): self
{
$this->seccionAula = $seccionAula;
return $this;
}
/**
* Get the value of numPuertaCubi
*
* @return string|null
*/
public function getNumPuertaCubi()
{
return $this->numPuertaCubi;
}
/**
* Set the value of numPuertaCubi
*
* @param string|null $numPuertaCubi
*
* @return self
*/
public function setNumPuertaCubi($numPuertaCubi)
{
$this->numPuertaCubi = $numPuertaCubi;
return $this;
}
/**
* Get the value of idMaterial
*
* @return CMaterial
*/
public function getIdMaterial()
{
return $this->idMaterial;
}
/**
* Set the value of idMaterial
*
* @param CMaterial|null $idMaterial
*
* @return self
*/
public function setIdMaterial(?CMaterial $idMaterial): self
{
$this->idMaterial = $idMaterial;
return $this;
}
/**
* Get the value of idUso
*
* @return CEstadoUso
*/
public function getIdUso()
{
return $this->idUso;
}
/**
* Set the value of idUso
*
* @param CEstadoUso|null $idUso
*
* @return self
*/
public function setIdUso(?CEstadoUso $idUso): self
{
$this->idUso = $idUso;
return $this;
}
/**
* Get the value of idMarca
*
* @return CMarcas
*/
public function getIdMarca()
{
return $this->idMarca;
}
/**
* Set the value of idMarca
*
* @param CMarcas|null $idMarca
*
* @return self
*/
public function setIdMarca(?CMarcas $idMarca): self
{
$this->idMarca = $idMarca;
return $this;
}
/**
* Get the value of monitorMarca
*
* @return CMarcas
*/
public function getMonitorMarca()
{
return $this->monitorMarca;
}
/**
* Set the value of monitorMarca
*
* @param CMarcas|null $monitorMarca
*
* @return self
*/
public function setMonitorMarca(?CMarcas $monitorMarca): self
{
$this->monitorMarca = $monitorMarca;
return $this;
}
/**
* Get the value of tecladoMarca
*
* @return CMarcas
*/
public function getTecladoMarca()
{
return $this->tecladoMarca;
}
/**
* Set the value of tecladoMarca
*
* @param CMarcas|null $tecladoMarca
*
* @return self
*/
public function setTecladoMarca(?CMarcas $tecladoMarca): self
{
$this->tecladoMarca = $tecladoMarca;
return $this;
}
/**
* Get the value of mouseMarca
*
* @return CMarcas
*/
public function getMouseMarca()
{
return $this->mouseMarca;
}
/**
* Set the value of mouseMarca
*
* @param CMarcas|null $mouseMarca
*
* @return self
*/
public function setMouseMarca(?CMarcas $mouseMarca): self
{
$this->mouseMarca = $mouseMarca;
return $this;
}
}