<?php
namespace App\Entity;
use App\Repository\BoletaRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
#[ORM\Entity(repositoryClass: BoletaRepository::class)]
class Boleta
{
#[ORM\Id]
#[ORM\GeneratedValue]
#[ORM\Column(type: 'integer')]
private $id;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $nombreEmpresa;
#[ORM\Column(type: 'string', length: 20, nullable: true)]
private $cuit;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaPago;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaVencimiento;
#[ORM\Column(type: 'integer', nullable: true)]
private $cantidadEmpleados;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $cuotaSindical;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $seguroSepelio;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $fondoConvencional;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $remuneracionTotal;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $aporte;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $punitorios;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $totalDepositado;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $numerosALetras;
#[ORM\Column(type: 'string', length: 255, nullable: true)]
private $codigoBarras;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaEmision;
#[ORM\Column(type: 'boolean', nullable: true)]
private $pagoManual;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaPagoManual;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaPeriodo;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaPeriodoHasta;
#[ORM\Column(type: 'decimal', precision: 10, scale: '2', nullable: true)]
private $aguinaldos;
#[ORM\ManyToOne(targetEntity: Empresa::class, inversedBy: 'boletas')]
private $empresa;
#[ORM\ManyToOne(targetEntity: Concepto::class, inversedBy: 'boleta')]
private $concepto;
#[ORM\OneToOne(mappedBy: 'boleta', targetEntity: AcuerdoConceptoPeriodo::class)]
private $acuerdoConcepto;
#[ORM\Column(type: 'boolean')]
private $isActive;
#[ORM\Column(type: 'boolean', nullable: true)]
private $vencida;
#[ORM\Column(type: 'boolean', nullable: true)]
private $pagada;
#[ORM\Column(type: 'text', nullable: true)]
private $error;
#[ORM\ManyToOne(targetEntity: Admin::class, inversedBy: 'boleta')]
private $adminPagoManual;
#[ORM\Column(type: 'boolean', nullable: true)]
private $entregoPagoManual;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaEntregoPagoManual;
#[ORM\ManyToOne(targetEntity: User::class, inversedBy: 'boletas')]
private $userCargo;
#[ORM\OneToMany(mappedBy: 'boleta', targetEntity: MedioConceptoEmpresa::class)]
private $medioConceptoEmpresas;
#[ORM\OneToMany(mappedBy: 'boleta', targetEntity: EmpleadoBoleta::class)]
private $empleadoBoletas;
#[ORM\ManyToOne(targetEntity: AcuerdoDePago::class, inversedBy: 'boleta')]
private $acuerdoDePago;
#[ORM\ManyToOne(targetEntity: PagosAcuerdo::class, inversedBy: 'boleta')]
private $pagoAcuerdo;
#[ORM\OneToMany(mappedBy: 'boleta', targetEntity: InformarPago::class)]
private $informarPagos;
#[ORM\OneToMany(mappedBy: 'boletas', targetEntity: EmpleadoBoleta::class)]
private $empleadoBoletaChecked;
#[ORM\Column(type: 'datetime', nullable: true)]
private $fechaIngresoPago;
#[ORM\OneToMany(mappedBy: 'boleta', targetEntity: PagosBanco::class)]
private Collection $pagosBancos;
public function __construct()
{
$this->medioConceptoEmpresas = new ArrayCollection();
$this->empleadoBoletas = new ArrayCollection();
$this->empleadoBoletaChecked = new ArrayCollection();
$this->informarPagos = new ArrayCollection();
$this->pagosBancos = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getNombreEmpresa(): ?string
{
return $this->nombreEmpresa;
}
public function setNombreEmpresa(?string $nombreEmpresa): self
{
$this->nombreEmpresa = $nombreEmpresa;
return $this;
}
public function getCuit(): ?string
{
return $this->cuit;
}
public function setCuit(?string $cuit): self
{
$this->cuit = $cuit;
return $this;
}
public function getFechaPago(): ?\DateTimeInterface
{
return $this->fechaPago;
}
public function setFechaPago(?\DateTimeInterface $fechaPago): self
{
$this->fechaPago = $fechaPago;
return $this;
}
public function getFechaVencimiento(): ?\DateTimeInterface
{
return $this->fechaVencimiento;
}
public function setFechaVencimiento(?\DateTimeInterface $fechaVencimiento): self
{
$this->fechaVencimiento = $fechaVencimiento;
return $this;
}
public function getCantidadEmpleados(): ?int
{
return $this->cantidadEmpleados;
}
public function setCantidadEmpleados(?int $cantidadEmpleados): self
{
$this->cantidadEmpleados = $cantidadEmpleados;
return $this;
}
public function getRemuneracionTotal(): ?float
{
return $this->remuneracionTotal;
}
public function setRemuneracionTotal(?float $remuneracionTotal): self
{
$this->remuneracionTotal = $remuneracionTotal;
return $this;
}
public function getAporte(): ?string
{
return $this->aporte;
}
public function setAporte(?string $aporte): self
{
$this->aporte = $aporte;
return $this;
}
public function getPunitorios(): ?string
{
return $this->punitorios;
}
public function setPunitorios(?string $punitorios): self
{
$this->punitorios = $punitorios;
return $this;
}
public function getTotalDepositado(): ?string
{
return $this->totalDepositado;
}
public function setTotalDepositado(?string $totalDepositado): self
{
$this->totalDepositado = $totalDepositado;
return $this;
}
public function getCodigoBarras(): ?string
{
return $this->codigoBarras;
}
public function setCodigoBarras(?string $codigoBarras): self
{
$this->codigoBarras = $codigoBarras;
return $this;
}
public function getFechaEmision(): ?\DateTimeInterface
{
return $this->fechaEmision;
}
public function setFechaEmision(?\DateTimeInterface $fechaEmision): self
{
$this->fechaEmision = $fechaEmision;
return $this;
}
public function getPagoManual(): ?bool
{
return $this->pagoManual;
}
public function setPagoManual(?bool $pagoManual): self
{
$this->pagoManual = $pagoManual;
return $this;
}
public function getFechaPagoManual(): ?\DateTimeInterface
{
return $this->fechaPagoManual;
}
public function setFechaPagoManual(?\DateTimeInterface $fechaPagoManual): self
{
$this->fechaPagoManual = $fechaPagoManual;
return $this;
}
public function getFechaPeriodo(): ?\DateTimeInterface
{
return $this->fechaPeriodo;
}
public function setFechaPeriodo(?\DateTimeInterface $fechaPeriodo): self
{
$this->fechaPeriodo = $fechaPeriodo;
return $this;
}
public function getFechaPeriodoHasta(): ?\DateTimeInterface
{
return $this->fechaPeriodoHasta;
}
public function setFechaPeriodoHasta(?\DateTimeInterface $fechaPeriodoHasta): self
{
$this->fechaPeriodoHasta = $fechaPeriodoHasta;
return $this;
}
public function getAguinaldos(): ?string
{
return $this->aguinaldos;
}
public function setAguinaldos(?string $aguinaldos): self
{
$this->aguinaldos = $aguinaldos;
return $this;
}
public function getEmpresa(): ?Empresa
{
return $this->empresa;
}
public function setEmpresa(?Empresa $empresa): self
{
$this->empresa = $empresa;
return $this;
}
public function getConcepto(): ?Concepto
{
return $this->concepto;
}
public function setConcepto(?Concepto $concepto): self
{
$this->concepto = $concepto;
return $this;
}
public function getIsActive(): ?bool
{
return $this->isActive;
}
public function setIsActive(bool $isActive): self
{
$this->isActive = $isActive;
return $this;
}
public function getVencida(): ?bool
{
return $this->vencida;
}
public function setVencida(?bool $vencida): self
{
$this->vencida = $vencida;
return $this;
}
public function getPagada(): ?bool
{
return $this->pagada;
}
public function setPagada(?bool $pagada): self
{
$this->pagada = $pagada;
return $this;
}
public function getError(): ?string
{
return $this->error;
}
public function setError(?string $error): self
{
$this->error = $error;
return $this;
}
public function getAdminPagoManual(): ?Admin
{
return $this->adminPagoManual;
}
public function setAdminPagoManual(?Admin $adminPagoManual): self
{
$this->adminPagoManual = $adminPagoManual;
return $this;
}
public function getEntregoPagoManual(): ?bool
{
return $this->entregoPagoManual;
}
public function setEntregoPagoManual(?bool $entregoPagoManual): self
{
$this->entregoPagoManual = $entregoPagoManual;
return $this;
}
public function getFechaEntregoPagoManual(): ?\DateTimeInterface
{
return $this->fechaEntregoPagoManual;
}
public function setFechaEntregoPagoManual(?\DateTimeInterface $fechaEntregoPagoManual): self
{
$this->fechaEntregoPagoManual = $fechaEntregoPagoManual;
return $this;
}
public function getUserCargo(): ?User
{
return $this->userCargo;
}
public function setUserCargo(?User $userCargo): self
{
$this->userCargo = $userCargo;
return $this;
}
/**
* @return Collection<int, MedioConceptoEmpresa>
*/
public function getMedioConceptoEmpresas(): Collection
{
return $this->medioConceptoEmpresas;
}
public function addMedioConceptoEmpresa(MedioConceptoEmpresa $medioConceptoEmpresa): self
{
if (!$this->medioConceptoEmpresas->contains($medioConceptoEmpresa)) {
$this->medioConceptoEmpresas[] = $medioConceptoEmpresa;
$medioConceptoEmpresa->setBoleta($this);
}
return $this;
}
public function removeMedioConceptoEmpresa(MedioConceptoEmpresa $medioConceptoEmpresa): self
{
if ($this->medioConceptoEmpresas->removeElement($medioConceptoEmpresa)) {
// set the owning side to null (unless already changed)
if ($medioConceptoEmpresa->getBoleta() === $this) {
$medioConceptoEmpresa->setBoleta(null);
}
}
return $this;
}
/**
* @return Collection<int, EmpleadoBoleta>
*/
public function getEmpleadoBoletas(): Collection
{
return $this->empleadoBoletas;
}
public function addEmpleadoBoleta(EmpleadoBoleta $empleadoBoleta): self
{
if (!$this->empleadoBoletas->contains($empleadoBoleta)) {
$this->empleadoBoletas[] = $empleadoBoleta;
$empleadoBoleta->setBoleta($this);
}
return $this;
}
public function removeEmpleadoBoleta(EmpleadoBoleta $empleadoBoleta): self
{
if ($this->empleadoBoletas->removeElement($empleadoBoleta)) {
// set the owning side to null (unless already changed)
if ($empleadoBoleta->getBoleta() === $this) {
$empleadoBoleta->setBoleta(null);
}
}
return $this;
}
public function getAcuerdoDePago(): ?AcuerdoDePago
{
return $this->acuerdoDePago;
}
public function setAcuerdoDePago(?AcuerdoDePago $acuerdoDePago): self
{
$this->acuerdoDePago = $acuerdoDePago;
return $this;
}
/**
* Get the value of numerosALetras
*/
public function getNumerosALetras()
{
return $this->numerosALetras;
}
/**
* Set the value of numerosALetras
*
* @return self
*/
public function setNumerosALetras($numerosALetras)
{
$this->numerosALetras = $numerosALetras;
return $this;
}
/**
* @return Collection<int, InformarPago>
*/
public function getInformarPagos(): Collection
{
return $this->informarPagos;
}
public function addInformarPago(InformarPago $informarPago): self
{
if (!$this->informarPagos->contains($informarPago)) {
$this->informarPagos[] = $informarPago;
$informarPago->setBoleta($this);
}
return $this;
}
public function removeInformarPago(InformarPago $informarPago): self
{
if ($this->informarPagos->removeElement($informarPago)) {
// set the owning side to null (unless already changed)
if ($informarPago->getBoleta() === $this) {
$informarPago->setBoleta(null);
}
}
return $this;
}
/**
* @return Collection<int, EmpleadoBoleta>
*/
public function getEmpleadoBoletaChecked(): Collection
{
return $this->empleadoBoletaChecked;
}
public function addEmpleadoBoletaChecked(EmpleadoBoleta $empleadoBoletaChecked): self
{
if (!$this->empleadoBoletaChecked->contains($empleadoBoletaChecked)) {
$this->empleadoBoletaChecked[] = $empleadoBoletaChecked;
$empleadoBoletaChecked->setBoletas($this);
}
return $this;
}
public function removeEmpleadoBoletaChecked(EmpleadoBoleta $empleadoBoletaChecked): self
{
if ($this->empleadoBoletaChecked->removeElement($empleadoBoletaChecked)) {
// set the owning side to null (unless already changed)
if ($empleadoBoletaChecked->getBoletas() === $this) {
$empleadoBoletaChecked->setBoletas(null);
}
}
return $this;
}
public function getAcuerdoConcepto(): ?AcuerdoConceptoPeriodo
{
return $this->acuerdoConcepto;
}
public function setAcuerdoConcepto(?AcuerdoConceptoPeriodo $acuerdoConcepto): self
{
$this->acuerdoConcepto = $acuerdoConcepto;
return $this;
}
public function getPagoAcuerdo(): ?PagosAcuerdo
{
return $this->pagoAcuerdo;
}
public function setPagoAcuerdo(?PagosAcuerdo $pagoAcuerdo): self
{
$this->pagoAcuerdo = $pagoAcuerdo;
return $this;
}
/**
* Get the value of fechaIngresoPago
*/
public function getFechaIngresoPago()
{
return $this->fechaIngresoPago;
}
/**
* Set the value of fechaIngresoPago
*
* @return self
*/
public function setFechaIngresoPago($fechaIngresoPago)
{
$this->fechaIngresoPago = $fechaIngresoPago;
return $this;
}
/**
* @return Collection<int, PagosBanco>
*/
public function getPagosBancos(): Collection
{
return $this->pagosBancos;
}
public function addPagosBanco(PagosBanco $pagosBanco): self
{
if (!$this->pagosBancos->contains($pagosBanco)) {
$this->pagosBancos->add($pagosBanco);
$pagosBanco->setBoleta($this);
}
return $this;
}
public function removePagosBanco(PagosBanco $pagosBanco): self
{
if ($this->pagosBancos->removeElement($pagosBanco)) {
// set the owning side to null (unless already changed)
if ($pagosBanco->getBoleta() === $this) {
$pagosBanco->setBoleta(null);
}
}
return $this;
}
/**
* Get the value of cuotaSindical
*/
public function getCuotaSindical()
{
return $this->cuotaSindical;
}
/**
* Set the value of cuotaSindical
*/
public function setCuotaSindical($cuotaSindical): self
{
$this->cuotaSindical = $cuotaSindical;
return $this;
}
/**
* Get the value of seguroSepelio
*/
public function getSeguroSepelio()
{
return $this->seguroSepelio;
}
/**
* Set the value of seguroSepelio
*/
public function setSeguroSepelio($seguroSepelio): self
{
$this->seguroSepelio = $seguroSepelio;
return $this;
}
/**
* Get the value of fondoConvencional
*/
public function getFondoConvencional()
{
return $this->fondoConvencional;
}
/**
* Set the value of fondoConvencional
*/
public function setFondoConvencional($fondoConvencional): self
{
$this->fondoConvencional = $fondoConvencional;
return $this;
}
}