<?php
namespace App\Entity\Movimientos;
use App\Repository\Movimientos\OrdenReparacionRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use App\Entity\RRHH\Empleado;
use App\Entity\Equipos\Maquinaria;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass=OrdenReparacionRepository::class)
*/
class OrdenReparacion extends MovimientoStock
{
/**
* @ORM\ManyToMany(targetEntity=Maquinaria::class)
* @ORM\JoinTable(name="mov_equipos_por_orden",
* joinColumns={@ORM\JoinColumn(name="id_orden", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="id_equipo", referencedColumnName="id")}
* )
*/
private $equipos;
/**
* @ORM\ManyToOne(targetEntity=Empleado::class)
* @ORM\JoinColumn(name="id_empleado", referencedColumnName="id", nullable=true)
*/
private $responsable;
public function getAsociaPedidoReparacion()
{
return true;
}
public function getDescripcion()
{
return "Orden Reparacion Interna";
}
public function setIsDevuelta($flag, $fecha)
{
$this->setFinalizoCircuito(true)
->setYaProcesada(true);
}
public function getIsDevuelta()
{
return $this->isFinalizoCircuito();
}
public function __construct()
{
parent::__construct();
$this->equipos = new ArrayCollection();
}
public function getDetailEquipos()
{
$equipos = null;
foreach ($this->equipos as $e)
{
if ($equipos)
{
$equipos.= " - ";
}
$equipos.= $e;
}
return $equipos;
}
public function getDetalle()
{
$detalle = array(
"Orden Reparacion",
"NÂș: " . str_pad($this->getNumero(), 6, '0', STR_PAD_LEFT),
"Fecha " . $this->getFecha()->format('d/m/Y'),
"Responsable: " . $this->responsable,
"Deposito: " . $this->getDeposito()
);
return $detalle;
}
public static function isToolArticle()
{
return [false];
}
public function getInstance()
{
return "or";
}
public function getFinalizable()
{
return true;
}
public function getResponsable(): ?Empleado
{
return $this->responsable;
}
public function setResponsable(?Empleado $responsable): self
{
$this->responsable = $responsable;
return $this;
}
/**
* @return Collection<int, Maquinaria>
*/
public function getEquipos(): Collection
{
return $this->equipos;
}
public function addEquipo(Maquinaria $equipo): self
{
if (!$this->equipos->contains($equipo)) {
$this->equipos[] = $equipo;
}
return $this;
}
public function removeEquipo(Maquinaria $equipo): self
{
$this->equipos->removeElement($equipo);
return $this;
}
}