<?php
namespace App\Entity;
use App\Repository\CompanySupplierRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CompanySupplierRepository::class)
* @ORM\HasLifecycleCallbacks()
*/
class CompanySupplier
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Company::class, inversedBy="companySuppliers")
* @ORM\JoinColumn(onDelete="CASCADE")
* @ORM\JoinColumn(nullable=false)
*/
private $company;
/**
* @ORM\ManyToOne(targetEntity=Supplier::class, inversedBy="companySuppliers")
* @ORM\JoinColumn(onDelete="CASCADE")
* @ORM\JoinColumn(nullable=false)
*/
private $supplier;
/**
* @ORM\Column(type="datetime")
*/
private $date_added;
/**
* 1:Interno, 2:Externo
*
* @ORM\Column(type="smallint")
*/
private $type;
/**
* Aprueba la solicitud de colaboraciĆ³n externa
* Solo requerido para relaciĆ³n tipo=2 y para marketplace
*
* @ORM\Column(type="boolean", nullable=true)
*/
private $collab;
/**
* Fecha en que se aprueba/deniega solicitud c.e.
*
* @ORM\Column(type="datetime", nullable=true)
*/
private $date_collab;
/**
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(onDelete="CASCADE")
*/
private $user_collab;
/**
* @ORM\Column(type="boolean")
*/
private $config_step_budget;
/**
* @ORM\Column(type="boolean")
*/
private $config_step_chief_confirm;
/**
* @ORM\Column(type="boolean")
*/
private $config_step_in_delivery;
/**
* @ORM\Column(type="boolean", nullable=true)
*/
private $marketplace;
public function getId(): ?int
{
return $this->id;
}
public function getCompany(): ?Company
{
return $this->company;
}
public function setCompany(?Company $company): self
{
$this->company = $company;
return $this;
}
public function getSupplier(): ?Supplier
{
return $this->supplier;
}
public function setSupplier(?Supplier $supplier): self
{
$this->supplier = $supplier;
return $this;
}
public function getDateAdded(): ?\DateTimeInterface
{
return $this->date_added;
}
public function setDateAdded(\DateTimeInterface $date_added): self
{
$this->date_added = $date_added;
return $this;
}
public function getType(): ?int
{
return $this->type;
}
public function setType(int $type): self
{
$this->type = $type;
return $this;
}
/**
* @ORM\PrePersist
*/
public function setDateAddedValue(): void
{
$this->date_added = new \DateTime();
}
public function getCollab(): ?bool
{
return $this->collab;
}
public function setCollab(?bool $collab): self
{
$this->collab = $collab;
return $this;
}
public function getDateCollab(): ?\DateTimeInterface
{
return $this->date_collab;
}
public function setDateCollab(?\DateTimeInterface $date_collab): self
{
$this->date_collab = $date_collab;
return $this;
}
public function getUserCollab(): ?User
{
return $this->user_collab;
}
public function setUserCollab(?User $user_collab): self
{
$this->user_collab = $user_collab;
return $this;
}
public function getConfigStepBudget(): ?bool
{
return $this->config_step_budget;
}
public function setConfigStepBudget(bool $config_step_budget): self
{
$this->config_step_budget = $config_step_budget;
return $this;
}
public function getConfigStepChiefConfirm(): ?bool
{
return $this->config_step_chief_confirm;
}
public function setConfigStepChiefConfirm(bool $config_step_chief_confirm): self
{
$this->config_step_chief_confirm = $config_step_chief_confirm;
return $this;
}
public function getConfigStepInDelivery(): ?bool
{
return $this->config_step_in_delivery;
}
public function setConfigStepInDelivery(bool $config_step_in_delivery): self
{
$this->config_step_in_delivery = $config_step_in_delivery;
return $this;
}
public function getMarketplace(): ?bool
{
return $this->marketplace;
}
public function setMarketplace(?bool $marketplace): self
{
$this->marketplace = $marketplace;
return $this;
}
}