src/Entity/Muestra.php line 57
<?phpnamespace App\Entity;use Symfony\Component\Serializer\Annotation\Groups;use Ramsey\Uuid\Uuid;use Doctrine\ORM\Mapping as ORM;use Doctrine\DBAL\Types\Types;use App\Trait\UuidTrait;use App\Trait\TimestampableTrait;use App\Trait\BlameableTrait;use App\State\MuestraStateProcessor;use App\Repository\MuestraRepository;use ApiPlatform\Metadata\Put;use ApiPlatform\Metadata\Post;use ApiPlatform\Metadata\Patch;use ApiPlatform\Metadata\GetCollection;use ApiPlatform\Metadata\Get;use ApiPlatform\Metadata\Delete;use ApiPlatform\Metadata\ApiResource;use ApiPlatform\Metadata\ApiFilter;use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;use ApiPlatform\Doctrine\Orm\Filter\OrderFilter;use ApiPlatform\Doctrine\Orm\Filter\ExistsFilter;use ApiPlatform\Doctrine\Orm\Filter\BooleanFilter;#[ORM\Entity(repositoryClass: MuestraRepository::class)]#[ApiResource(operations: [new GetCollection(paginationEnabled: false),new Post(validationContext: ['groups' => ['Default', 'muestra:create']], denormalizationContext: ['groups' => ['muestra:create']], processor: MuestraStateProcessor::class),new Get(),new Put(denormalizationContext: ['groups' => ['muestra:update']]),new Patch(denormalizationContext: ['groups' => ['muestra:update']]),new Delete(),],normalizationContext: ['groups' => ['muestra:read', 'uuid']],)]#[ApiFilter(SearchFilter::class,properties: ['codigo' => 'exact','nombre' => 'exact'])]#[ApiFilter(BooleanFilter::class, properties: ['original', 'repetida', 'reproducida'])]#[ApiFilter(ExistsFilter::class, properties: ['parent', 'sesion'])]#[ApiFilter(OrderFilter::class,properties: ['nombre','codigo','producto.nombre','marca',])]class Muestra{public const MODULO = 'muestras';public const MODULO_SENSORIAL = 'muestras_sensorial';public const MODULO_ORGANOLEPTICO = 'muestras_organoleptico';public const MODULO_VINO = 'Informe IAS-03 (vino)';public const MODULO_VINO_VINAGRE = 'Informe IAS-03 (vino + vinagre)';public const MODULO_QUESO = 'Informe IAS-03 (queso)';use TimestampableTrait;use BlameableTrait;use UuidTrait;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $codigo = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $codId = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $nombre = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: false)]private ?Producto $producto = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $productor = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $tipoProducto = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $nInforme = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(type: Types::DATETIME_MUTABLE, nullable: true)]private ?\DateTimeInterface $fecha = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(nullable: true)]private ?bool $isResuelto = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(nullable: true)]private array $fases = [];#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(nullable: true)]private array $definicion = [];#[Groups(['muestra:read'])]#[ORM\ManyToOne]#[ORM\JoinColumn(nullable: false)]private ?Empresa $empresa = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(length: 255, nullable: true)]private ?string $marca = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\ManyToOne(targetEntity: self::class)]#[ORM\JoinColumn(onDelete: 'SET NULL')]private ?self $parent = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(nullable: true)]private ?bool $repetida = null;#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(nullable: true)]private ?bool $reproducida = null;#[Groups(['muestra:read', 'sesion:read', 'sesion:create', 'sesion:update'])]#[ORM\Column(nullable: true, options: ['default' => true])]private ?bool $original = null;#[Groups(['muestra:read'])]#[ORM\ManyToOne(inversedBy: 'muestras', cascade: ['persist'])]#[ORM\JoinColumn(onDelete: 'SET NULL')]private ?Sesion $sesion = null;#[ORM\Column(length: 255, nullable: true)]#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]private ?string $codigoAuditor = null;#[ORM\Column(length: 255, nullable: true)]#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]private ?string $fechaToma = null;#[ORM\Column(length: 255, nullable: true)]#[Groups(['muestra:read', 'muestra:create', 'muestra:update', 'sesion:read', 'sesion:create', 'sesion:update'])]private ?string $contraetiquetaPrecinta = null;public function __construct(){$this->uuid = Uuid::uuid4()->toString();}public function getCodigo(): ?string{return $this->codigo;}public function setCodigo(?string $codigo): self{$this->codigo = $codigo;return $this;}public function getCodId(): ?string{return $this->codId;}public function setCodId(?string $codId): self{$this->codId = $codId;return $this;}public function getNombre(): ?string{return $this->nombre;}public function setNombre(?string $nombre): self{$this->nombre = $nombre;return $this;}public function getProducto(): ?Producto{return $this->producto;}public function setProducto(?Producto $producto): self{$this->producto = $producto;return $this;}public function getProductor(): ?string{return $this->productor;}public function setProductor(?string $productor): self{$this->productor = $productor;return $this;}public function getTipoProducto(): ?string{return $this->tipoProducto;}public function setTipoProducto(?string $tipoProducto): self{$this->tipoProducto = $tipoProducto;return $this;}public function getNInforme(): ?string{return $this->nInforme;}public function setNInforme(?string $nInforme): self{$this->nInforme = $nInforme;return $this;}public function getFecha(): ?\DateTimeInterface{return $this->fecha;}public function setFecha(?\DateTimeInterface $fecha): self{$this->fecha = $fecha;return $this;}public function isIsResuelto(): ?bool{return $this->isResuelto;}public function setIsResuelto(?bool $isResuelto): self{$this->isResuelto = $isResuelto;return $this;}public function getFases(): array{return $this->fases;}public function setFases(?array $fases): self{$this->fases = $fases;return $this;}public function getDefinicion(): array{return $this->definicion;}public function setDefinicion(?array $definicion): self{$this->definicion = $definicion;return $this;}public function getEmpresa(): ?Empresa{return $this->empresa;}public function setEmpresa(?Empresa $empresa): self{$this->empresa = $empresa;return $this;}public function getMarca(): ?string{return $this->marca;}public function setMarca(?string $marca): self{$this->marca = $marca;return $this;}public function getParent(): ?self{return $this->parent;}public function setParent(?self $parent): static{$this->parent = $parent;return $this;}public function isRepetida(): ?bool{return $this->repetida;}public function setRepetida(?bool $repetida): static{$this->repetida = $repetida;return $this;}public function isReproducida(): ?bool{return $this->reproducida;}public function setReproducida(?bool $reproducida): static{$this->reproducida = $reproducida;return $this;}public function isOriginal(): ?bool{return $this->original;}public function setOriginal(?bool $original): static{$this->original = $original;return $this;}public function getSesion(): ?Sesion{return $this->sesion;}public function setSesion(?Sesion $sesion): static{$this->sesion = $sesion;return $this;}public function getCodigoAuditor(): ?string{return $this->codigoAuditor;}public function setCodigoAuditor(?string $codigoAuditor): static{$this->codigoAuditor = $codigoAuditor;return $this;}public function getFechaToma(): ?string{return $this->fechaToma;}public function setFechaToma(?string $fechaToma): static{$this->fechaToma = $fechaToma;return $this;}public function getContraetiquetaPrecinta(): ?string{return $this->contraetiquetaPrecinta;}public function setContraetiquetaPrecinta(?string $contraetiquetaPrecinta): static{$this->contraetiquetaPrecinta = $contraetiquetaPrecinta;return $this;}}