<?php
namespace App\Entity;
use Doctrine\DBAL\Types\Types;
use Doctrine\ORM\Mapping as ORM;
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\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="marca", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Marca del equipo."})
*/
private $marca = '';
/**
* @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_marca", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Marca del monitor"})
*/
private $monitorMarca = '';
/**
* @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_marca", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Marca del teclado"})
*/
private $tecladoMarca = '';
/**
* @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_marca", type="string", length=50, nullable=true, options={"default"="NULL","comment"="Marca del mouse"})
*/
private $mouseMarca = '';
/**
* @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;
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 getMarca(): ?string
{
return $this->marca;
}
public function setMarca(?string $marca): self
{
$this->marca = $marca;
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 getMonitorMarca(): ?string
{
return $this->monitorMarca;
}
public function setMonitorMarca(?string $monitorMarca): self
{
$this->monitorMarca = $monitorMarca;
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 getTecladoMarca(): ?string
{
return $this->tecladoMarca;
}
public function setTecladoMarca(?string $tecladoMarca): self
{
$this->tecladoMarca = $tecladoMarca;
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 getMouseMarca(): ?string
{
return $this->mouseMarca;
}
public function setMouseMarca(?string $mouseMarca): self
{
$this->mouseMarca = $mouseMarca;
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;
}
// Entidad de equipo
}