<?php
namespace App\Entity;
use App\Application\Sonata\UserBundle\Entity\User;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\HttpFoundation\File\UploadedFile;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity(repositoryClass="App\Repository\ContaReceberRepository")
*/
class ContaReceber implements CompanyDataRestrictable
{
use BaseFranquia;
use LifeCycleTrait;
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\Cliente")
* @ORM\JoinColumn(nullable=true)
*/
private $cliente;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $vencimento;
/**
* @ORM\Column(type="float")
*/
private $valorBruto;
/**
* @ORM\Column(type="float", nullable=true)
*/
private $valorLiquido;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $pagoEm;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $dataEmissaoNota;
/**
* @ORM\Column(type="string", length=45, nullable=true)
*/
private $numeroNota;
### IMAGENS
// Nota fiscal
/**
* @var UploadedFile
*/
private $notaFiscalFile;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $notaFiscal;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $notaFiscalOriginal;
// Comprovante de pagamento
/**
* @var UploadedFile
*/
private $comprovantePagamentoFile;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $comprovantePagamento;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $comprovantePagamentoOriginal;
/**
* @ORM\ManyToOne(targetEntity="App\Application\Sonata\UserBundle\Entity\User", inversedBy="clientes")
* @ORM\JoinColumn(nullable=false)
*/
private $cadastradoPor;
/**
* @ORM\ManyToOne(targetEntity="App\Application\Sonata\UserBundle\Entity\User")
*/
private $userUltimaAlteracao;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $descricao;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\CentroCusto")
* @ORM\JoinColumn(nullable=true)
*/
private $classificacao;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\BoletimMedicao")
*/
private $boletimMedicao;
/**
* @ORM\OneToOne(targetEntity="App\Entity\ContaReceber", cascade={"persist", "remove"})
* @ORM\JoinColumn(onDelete="CASCADE")
*/
private $fluxoCaixa;
/**
* @ORM\Column(type="string", length=45, nullable=true)
*/
private $contaBancaria;
public function __toString()
{
return !empty($this->id) ? 'Conta a receber: ' . $this->id : 'Nova Conta Receber';
}
public function getId(): ?int
{
return $this->id;
}
public function getVencimento(): ?\DateTimeInterface
{
return $this->vencimento;
}
public function setVencimento(\DateTimeInterface $vencimento): self
{
$this->vencimento = $vencimento;
return $this;
}
public function getPagoEm(): ?\DateTimeInterface
{
return $this->pagoEm;
}
public function setPagoEm(?\DateTimeInterface $pagoEm): self
{
$this->pagoEm = $pagoEm;
return $this;
}
public function getDataEmissaoNota(): ?\DateTimeInterface
{
return $this->dataEmissaoNota;
}
public function setDataEmissaoNota(?\DateTimeInterface $dataEmissaoNota): self
{
$this->dataEmissaoNota = $dataEmissaoNota;
return $this;
}
public function getNumeroNota(): ?string
{
return $this->numeroNota;
}
public function setNumeroNota(?string $numeroNota): self
{
$this->numeroNota = $numeroNota;
return $this;
}
public function getCliente(): ?Cliente
{
return $this->cliente;
}
public function setCliente(?Cliente $cliente): self
{
$this->cliente = $cliente;
return $this;
}
public function getValorBruto(): ?float
{
return $this->valorBruto;
}
public function setValorBruto(float $valorBruto): self
{
$this->valorBruto = $valorBruto;
return $this;
}
public function getValorLiquido(): ?float
{
return $this->valorLiquido;
}
public function setValorLiquido(?float $valorLiquido): self
{
$this->valorLiquido = $valorLiquido;
return $this;
}
public function getCadastradoPor(): ?User
{
return $this->cadastradoPor;
}
public function setCadastradoPor(?User $cadastradoPor): self
{
$this->cadastradoPor = $cadastradoPor;
return $this;
}
public function getUserUltimaAlteracao(): ?User
{
return $this->userUltimaAlteracao;
}
public function setUserUltimaAlteracao(?User $userUltimaAlteracao): self
{
$this->userUltimaAlteracao = $userUltimaAlteracao;
return $this;
}
### IMAGENS
##### Nota Fiscal
public function getNotaFiscal(): ?string
{
return $this->notaFiscal;
}
public function setNotaFiscal(?string $notaFiscal): self
{
$this->notaFiscal = $notaFiscal;
return $this;
}
public function getNotaFiscalOriginal(): ?string
{
return $this->notaFiscalOriginal;
}
public function setNotaFiscalOriginal(?string $notaOriginal): self
{
$this->notaFiscalOriginal = $notaOriginal;
return $this;
}
/**
* @return UploadedFile
*/
public function getNotaFiscalFile(): ?UploadedFile
{
return $this->notaFiscalFile;
}
/**
* @param UploadedFile $notaFiscalFile
* @return ContaReceber
*/
public function setNotaFiscalFile(?UploadedFile $notaFiscalFile = null): self
{
$this->notaFiscalFile = $notaFiscalFile;
return $this;
}
##### Comprovante
public function getComprovantePagamento(): ?string
{
return $this->comprovantePagamento;
}
public function setComprovantePagamento(?string $comprovantePagamento): self
{
$this->comprovantePagamento = $comprovantePagamento;
return $this;
}
public function getComprovantePagamentoOriginal(): ?string
{
return $this->comprovantePagamentoOriginal;
}
public function setComprovantePagamentoOriginal(?string $comprovantePagamentoOriginal): self
{
$this->comprovantePagamentoOriginal = $comprovantePagamentoOriginal;
return $this;
}
/**
* @return UploadedFile
*/
public function getComprovantePagamentoFile(): ?UploadedFile
{
return $this->comprovantePagamentoFile;
}
/**
* @param UploadedFile $comprovantePagamentoFile
* @return ContaReceber
*/
public function setComprovantePagamentoFile(?UploadedFile $comprovantePagamentoFile = null): self
{
$this->comprovantePagamentoFile = $comprovantePagamentoFile;
return $this;
}
public function getDescricao(): ?string
{
return $this->descricao;
}
public function setDescricao(?string $descricao): self
{
$this->descricao = $descricao;
return $this;
}
public function getClassificacao(): ?CentroCusto
{
return $this->classificacao;
}
public function getClassificacaoReceita(): ?CentroCusto
{
return $this->classificacao;
}
public function setClassificacao(?CentroCusto $classificacao): self
{
$this->classificacao = $classificacao;
return $this;
}
public function getBoletimMedicao(): ?BoletimMedicao
{
return $this->boletimMedicao;
}
public function setBoletimMedicao(?BoletimMedicao $boletimMedicao): self
{
$this->boletimMedicao = $boletimMedicao;
return $this;
}
public function getFluxoCaixa(): ?self
{
return $this->fluxoCaixa;
}
public function setFluxoCaixa(?self $fluxoCaixa): self
{
$this->fluxoCaixa = $fluxoCaixa;
return $this;
}
public function getContaBancaria(): ?string
{
return $this->contaBancaria;
}
public function setContaBancaria(?string $contaBancaria): self
{
$this->contaBancaria = $contaBancaria;
return $this;
}
}