<?php
namespace App\Entity\GestionComerciale;
use App\Entity\Utilisateur\Utilisateur;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\ExecutionContextInterface;
use App\Annotations\SecuredEntity;
/**
* CaisseIndividuelle
*
* @ORM\Table("commerciale__caisse__individuelle")
* @ORM\Entity(repositoryClass="App\Repository\GestionComerciale\CaisseIndividuelleRepository")
* @SecuredEntity (name="Caisse Individuelle", group="CAISSE")
*/
class CaisseIndividuelle
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(name="libelle", type="string", length=255)
*/
private $libelle;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Utilisateur\Utilisateur", inversedBy="caisseIndividuelle")
* @ORM\JoinColumn(nullable=true)
*/
private $utilisateur;
/**
* @ORM\OneToOne(targetEntity="App\Entity\GestionComerciale\FondCaisseIndividuelle", inversedBy="caisseIndividuelleOuverture", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
* @Assert\Valid
*/
private $fondCaisseOuverture;
/**
* @ORM\OneToOne(targetEntity="App\Entity\GestionComerciale\FondCaisseIndividuelle", inversedBy="caisseIndividuelleFermeture", cascade={"persist"})
* @ORM\JoinColumn(nullable=true)
* @Assert\Valid
*/
private $fondCaisseFermeture;
/**
* @ORM\Column(name="date_ouverture", type="datetime", nullable=true)
*/
private $dateOuverture;
/**
* @ORM\Column(name="date_cloture", type="datetime", nullable=true)
*/
private $dateCloture;
/**
* @ORM\Column(name="cloturer", type="boolean", nullable=true)
*/
private $cloturer;
public function __construct()
{
$this->dateOuverture = new Datetime();
}
public function getId(): int
{
return $this->id;
}
public function setId(int $id): CaisseIndividuelle
{
$this->id = $id;
return $this;
}
public function getLibelle(): string
{
return $this->libelle;
}
public function setLibelle(string $libelle): CaisseIndividuelle
{
$this->libelle = $libelle;
return $this;
}
public function setUtilisateur(?Utilisateur $utilisateur): Devis
{
$this->utilisateur = $utilisateur;
return $this;
}
public function getUtilisateur(): ?Utilisateur
{
return $this->utilisateur;
}
public function getDateOuverture(): ?DateTime
{
return $this->dateOuverture;
}
public function setDateOuverture(?DateTime $dateOuverture): CaisseIndividuelle
{
$this->dateOuverture = $dateOuverture;
return $this;
}
public function getDateCloture(): ?DateTime
{
return $this->dateCloture;
}
public function setDateCloture(?DateTime $dateCloture): CaisseIndividuelle
{
$this->dateCloture = $dateCloture;
return $this;
}
public function getCloturer(): ?bool
{
return $this->cloturer;
}
public function setCloturer(?bool $cloturer): CaisseIndividuelle
{
$this->cloturer = $cloturer;
return $this;
}
public function getFondCaisseOuverture(): ?int
{
return $this->fondCaisseOuverture;
}
public function setFondCaisseOuverture(?FondCaisseIndividuelle $fondCaisseOuverture): CaisseIndividuelle
{
$this->fondCaisseOuverture = $fondCaisseOuverture;
return $this;
}
public function getFondCaisseFermeture(): ?int
{
return $this->fondCaisseFermeture;
}
public function setFondCaisseFermeture(?FondCaisseIndividuelle $fondCaisseFermeture): CaisseIndividuelle
{
$this->fondCaisseFermeture = $fondCaisseFermeture;
return $this;
}
}