<?php
namespace App\Entity\Contabilidad;
use App\Entity\Catalogos\MedioPago;
use App\Entity\Catalogos\SubtipoGasto;
use App\Entity\Catalogos\TipoComprobanteCompra;
use App\Entity\Producto\Proveedores;
use Doctrine\ORM\Mapping as ORM;
/**
* ComprobantesCompra
*
* @ORM\Table(name="contabilidad.comprobantes_compra", indexes={@ORM\Index(name="IDX_1BFCF675A818614A", columns={"id_medio_pago"}), @ORM\Index(name="IDX_1BFCF6759E5D6506", columns={"id_proveedores"}), @ORM\Index(name="IDX_1BFCF675BFDC0B10", columns={"id_subtipo_gasto"}), @ORM\Index(name="IDX_1BFCF67569CB2F02", columns={"id_tipo_comprobante_compra"})})
* @ORM\Entity
*/
class ComprobantesCompra
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="SEQUENCE")
* @ORM\SequenceGenerator(sequenceName="contabilidad.comprobantes_compra_id_seq", allocationSize=1, initialValue=1)
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="numero", type="string", length=30, nullable=false)
*/
private $numero;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha", type="date", nullable=false)
*/
private $fecha;
/**
* @var float
*
* @ORM\Column(name="valor_sin_iva", type="float", precision=10, scale=0, nullable=false)
*/
private $valorSinIva;
/**
* @var float
*
* @ORM\Column(name="porcentaje_iva", type="float", precision=10, scale=0, nullable=false)
*/
private $porcentajeIva;
/**
* @var float
*
* @ORM\Column(name="iva", type="float", precision=10, scale=0, nullable=false)
*/
private $iva;
/**
* @var float|null
*
* @ORM\Column(name="valor_descuento", type="float", precision=10, scale=0, nullable=true)
*/
private $valorDescuento;
/**
* @var float|null
*
* @ORM\Column(name="valor_iva_cero", type="float", precision=10, scale=0, nullable=true)
*/
private $valorIvaCero;
/**
* @var bool
*
* @ORM\Column(name="pagada", type="boolean", nullable=false)
*/
private $pagada;
/**
* @var bool
*
* @ORM\Column(name="credito", type="boolean", nullable=false)
*/
private $credito;
/**
* @var int|null
*
* @ORM\Column(name="numero_pagos_credito", type="smallint", nullable=true, options={"comment"="Numero de pagos, cuando el pago es a crédito."})
*/
private $numeroPagosCredito;
/**
* @var int
*
* @ORM\Column(name="id_usuario_modificacion", type="integer", nullable=false)
*/
private $idUsuarioModificacion;
/**
* @var \DateTime
*
* @ORM\Column(name="fecha_modificacion", type="datetime", nullable=false)
*/
private $fechaModificacion;
/**
* @var string
*
* @ORM\Column(name="ip_modificacion", type="string", length=50, nullable=false)
*/
private $ipModificacion;
/**
* @var string|null
*
* @ORM\Column(name="observacion", type="string", length=200, nullable=true)
*/
private $observacion;
/**
* @var bool|null
*
* @ORM\Column(name="registrado", type="boolean", nullable=true)
*/
private $registrado;
/**
* @var bool|null
*
* @ORM\Column(name="compra_bien", type="boolean", nullable=true)
*/
private $compraBien;
/**
* @var \App\Entity\Catalogos\MedioPago
*
* @ORM\ManyToOne(targetEntity="\App\Entity\Catalogos\MedioPago")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_medio_pago", referencedColumnName="id")
* })
*/
private $idMedioPago;
/**
* @var \App\Entity\Producto\Proveedores
*
* @ORM\ManyToOne(targetEntity="\App\Entity\Producto\Proveedores")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_proveedores", referencedColumnName="id")
* })
*/
private $idProveedores;
/**
* @var \App\Entity\Catalogos\SubtipoGasto
*
* @ORM\ManyToOne(targetEntity="\App\Entity\Catalogos\SubtipoGasto")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_subtipo_gasto", referencedColumnName="id")
* })
*/
private $idSubtipoGasto;
/**
* @var \App\Entity\Catalogos\TipoComprobanteCompra
*
* @ORM\ManyToOne(targetEntity="\App\Entity\Catalogos\TipoComprobanteCompra")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id_tipo_comprobante_compra", referencedColumnName="id")
* })
*/
private $idTipoComprobanteCompra;
public function getId(): ?int
{
return $this->id;
}
public function getNumero(): ?string
{
return $this->numero;
}
public function setNumero(string $numero): self
{
$this->numero = $numero;
return $this;
}
public function getFecha(): ?\DateTimeInterface
{
return $this->fecha;
}
public function getFechaString(): ?string
{
return $this->fecha->format('Y-m-d');
}
public function setFecha(\DateTimeInterface $fecha): self
{
$this->fecha = $fecha;
return $this;
}
public function getValorSinIva(): ?float
{
return $this->valorSinIva;
}
public function setValorSinIva(float $valorSinIva): self
{
$this->valorSinIva = $valorSinIva;
return $this;
}
public function getPorcentajeIva(): ?float
{
return $this->porcentajeIva;
}
public function setPorcentajeIva(float $porcentajeIva): self
{
$this->porcentajeIva = $porcentajeIva;
return $this;
}
public function getIva(): ?float
{
return $this->iva;
}
public function setIva(float $iva): self
{
$this->iva = $iva;
return $this;
}
public function getValorDescuento(): ?float
{
return $this->valorDescuento;
}
public function setValorDescuento(?float $valorDescuento): self
{
$this->valorDescuento = $valorDescuento;
return $this;
}
public function getValorIvaCero(): ?float
{
return $this->valorIvaCero;
}
public function setValorIvaCero(?float $valorIvaCero): self
{
$this->valorIvaCero = $valorIvaCero;
return $this;
}
public function getPagada(): ?bool
{
return $this->pagada;
}
public function setPagada(bool $pagada): self
{
$this->pagada = $pagada;
return $this;
}
public function getCredito(): ?bool
{
return $this->credito;
}
public function setCredito(bool $credito): self
{
$this->credito = $credito;
return $this;
}
public function getNumeroPagosCredito(): ?int
{
return $this->numeroPagosCredito;
}
public function setNumeroPagosCredito(?int $numeroPagosCredito): self
{
$this->numeroPagosCredito = $numeroPagosCredito;
return $this;
}
public function getIdUsuarioModificacion(): ?int
{
return $this->idUsuarioModificacion;
}
public function setIdUsuarioModificacion(int $idUsuarioModificacion): self
{
$this->idUsuarioModificacion = $idUsuarioModificacion;
return $this;
}
public function getFechaModificacion(): ?\DateTimeInterface
{
return $this->fechaModificacion;
}
public function setFechaModificacion(\DateTimeInterface $fechaModificacion): self
{
$this->fechaModificacion = $fechaModificacion;
return $this;
}
public function getIpModificacion(): ?string
{
return $this->ipModificacion;
}
public function setIpModificacion(string $ipModificacion): self
{
$this->ipModificacion = $ipModificacion;
return $this;
}
public function getObservacion(): ?string
{
return $this->observacion;
}
public function setObservacion(?string $observacion): self
{
$this->observacion = $observacion;
return $this;
}
public function getRegistrado(): ?bool
{
return $this->registrado;
}
public function setRegistrado(?bool $registrado): self
{
$this->registrado = $registrado;
return $this;
}
public function getCompraBien(): ?bool
{
return $this->compraBien;
}
public function setCompraBien(?bool $compraBien): self
{
$this->compraBien = $compraBien;
return $this;
}
public function getIdMedioPago(): ?MedioPago
{
return $this->idMedioPago;
}
public function setIdMedioPago(?MedioPago $idMedioPago): self
{
$this->idMedioPago = $idMedioPago;
return $this;
}
public function getIdProveedores(): ?Proveedores
{
return $this->idProveedores;
}
public function setIdProveedores(?Proveedores $idProveedores): self
{
$this->idProveedores = $idProveedores;
return $this;
}
public function getIdSubtipoGasto(): ?SubtipoGasto
{
return $this->idSubtipoGasto;
}
public function setIdSubtipoGasto(?SubtipoGasto $idSubtipoGasto): self
{
$this->idSubtipoGasto = $idSubtipoGasto;
return $this;
}
public function getIdTipoComprobanteCompra(): ?TipoComprobanteCompra
{
return $this->idTipoComprobanteCompra;
}
public function setIdTipoComprobanteCompra(?TipoComprobanteCompra $idTipoComprobanteCompra): self
{
$this->idTipoComprobanteCompra = $idTipoComprobanteCompra;
return $this;
}
}