<?php
namespace App\Entity\FielpetPol;
use App\Entity\Traits\LoggableTrait;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
/**
* TicketRespuesta
*
* @ORM\Table(name="ticket_respuesta")
* @ORM\Entity(repositoryClass="App\Repository\FielpetPol\TicketRespuestaRepository")
*/
class TicketRespuesta
{
use LoggableTrait;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="contenido", type="text", nullable=false)
*/
private $contenido;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_creacion", type="datetime", nullable=false)
*/
private $fechaCreacion;
/**
* @var bool
*
* @ORM\Column(name="es_nota_interna", type="boolean", nullable=false, options={"default"=false})
*/
private $esNotaInterna = false;
/**
* @var string|null
*
* @ORM\Column(name="cambio_estado", type="string", length=50, nullable=true)
*/
private $cambioEstado;
/**
* @var Ticket
*
* @ORM\ManyToOne(targetEntity="App\Entity\FielpetPol\Ticket", inversedBy="respuestas")
* @ORM\JoinColumn(name="ticket_id", referencedColumnName="id", nullable=false)
*/
private $ticket;
/**
* @var Usuario
*
* @ORM\ManyToOne(targetEntity="App\Entity\FielpetPol\Usuario")
* @ORM\JoinColumn(name="usuario_id", referencedColumnName="id", nullable=false)
*/
private $usuario;
/**
* @var Collection|TicketAdjunto[]
*
* @ORM\OneToMany(targetEntity="App\Entity\FielpetPol\TicketAdjunto", mappedBy="ticketRespuesta", cascade={"remove"})
*/
private $adjuntos;
public function __construct()
{
$this->fechaCreacion = new \DateTime();
$this->adjuntos = new ArrayCollection();
}
// --- Getters & Setters ---
public function getId(): ?int
{
return $this->id;
}
public function getContenido(): ?string
{
return $this->contenido;
}
public function setContenido(string $contenido): static
{
$this->contenido = $contenido;
return $this;
}
public function getFechaCreacion(): ?\DateTimeInterface
{
return $this->fechaCreacion;
}
public function setFechaCreacion(\DateTimeInterface $fechaCreacion): static
{
$this->fechaCreacion = $fechaCreacion;
return $this;
}
public function isEsNotaInterna(): bool
{
return $this->esNotaInterna;
}
public function setEsNotaInterna(bool $esNotaInterna): static
{
$this->esNotaInterna = $esNotaInterna;
return $this;
}
public function getCambioEstado(): ?string
{
return $this->cambioEstado;
}
public function setCambioEstado(?string $cambioEstado): static
{
$this->cambioEstado = $cambioEstado;
return $this;
}
public function getTicket(): ?Ticket
{
return $this->ticket;
}
public function setTicket(?Ticket $ticket): static
{
$this->ticket = $ticket;
return $this;
}
public function getUsuario(): ?Usuario
{
return $this->usuario;
}
public function setUsuario(?Usuario $usuario): static
{
$this->usuario = $usuario;
return $this;
}
public function getAdjuntos(): Collection
{
return $this->adjuntos;
}
}