src/Entity/Pedido.php line 17

  1. <?php
  2. namespace App\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. use Symfony\Component\Validator\Constraints as Assert;
  5. use App\Entity\Cupon;
  6. use JMS\Serializer\Annotation as JMS;
  7. /**
  8.  * Pedido
  9.  *
  10.  * @ORM\Table(name="pedido")
  11.  * @ORM\Entity
  12.  */
  13. class Pedido
  14. {
  15.     /**
  16.      * @var integer
  17.      *
  18.      * @ORM\Column(name="id", type="integer", nullable=false)
  19.      * @ORM\Id
  20.      * @ORM\GeneratedValue(strategy="IDENTITY")
  21.      */
  22.     private $id;
  23.     /**
  24.      * @var string
  25.      *
  26.      * @ORM\Column(name="divisaOrigen", type="string", length=255, nullable=false)
  27.      */
  28.     private $divisaOrigen;
  29.     /**
  30.      * @var string
  31.      *
  32.      * @ORM\Column(name="codigoPromo", type="string", length=255, nullable=false)
  33.      */
  34.     private $codigoPromo;
  35.     /**
  36.      * @ORM\ManyToOne(targetEntity="App\Entity\Cupon")
  37.      * @ORM\JoinColumn(name="cupon", referencedColumnName="id", nullable=true)
  38.      */
  39.     private $cupon;
  40.     /**
  41.      * @Assert\Valid()
  42.      * @ORM\OneToMany(targetEntity="Pedido", mappedBy="pedidos",cascade={"persist"})
  43.      */
  44.     private $pedidos;
  45.     /**
  46.      * @var string
  47.      *
  48.      * @ORM\Column(name="divisaFinal", type="string", length=255, nullable=false)
  49.      */
  50.     private $divisaFinal;
  51.     /**
  52.      * @var float
  53.      *
  54.      * @ORM\Column(name="cantidadOrigen", type="float", precision=10, scale=0, nullable=false)
  55.      */
  56.     private $cantidadOrigen;
  57.     /**
  58.      * @var float
  59.      *
  60.      * @ORM\Column(name="cantidadFinal", type="float", precision=10, scale=0, nullable=false)
  61.      */
  62.     private $cantidadFinal;
  63.     /**
  64.      * @var integer
  65.      *
  66.      * @ORM\Column(name="cliente", type="integer", nullable=false)
  67.      */
  68.     private $cliente;
  69.     /**
  70.      * @var string
  71.      *
  72.      * @ORM\Column(name="estado", type="string", length=255, nullable=false)
  73.      */
  74.     private $estado;
  75.     /**
  76.      * @var string
  77.      *
  78.      * @ORM\Column(name="tienda", type="string", length=255, nullable=false)
  79.      */
  80.     private $oficina;
  81.     /**
  82.      * @var string
  83.      *
  84.      * @ORM\Column(name="direccion", type="string", length=255, nullable=false)
  85.      */
  86.     private $direccion;
  87.     /**
  88.      * @var integer
  89.      *
  90.      * @ORM\Column(name="codigoPostal", type="integer", nullable=false)
  91.      */
  92.     private $codigoPostal;
  93.     /**
  94.      * @var string
  95.      *
  96.      * @ORM\Column(name="ciudad", type="string", length=255, nullable=false)
  97.      */
  98.     private $ciudad;
  99.     /**
  100.      * @ORM\ManyToOne(targetEntity="App\Entity\Provincia")
  101.      * @ORM\JoinColumn(name="provincia", referencedColumnName="id", nullable=true)
  102.      */
  103.     private $provincia;
  104.     /**
  105.      * @var string
  106.      *
  107.      * @ORM\Column(name="pais", type="string", length=255, nullable=false)
  108.      */
  109.     private $pais;
  110.     /**
  111.      * @var string
  112.      *
  113.      * @ORM\Column(name="companiaTransporte", type="string", length=255, nullable=false)
  114.      */
  115.     private $companiaTransporte;
  116.     /**
  117.      * @var string
  118.      *
  119.      * @ORM\Column(name="tipoPago", type="string", length=255, nullable=false)
  120.      */
  121.     private $tipoPago;
  122.     /**
  123.      * @var \DateTime
  124.      *
  125.      * @ORM\Column(name="fechaCompra", type="datetime", nullable=false)
  126.      */
  127.     private $fechaCompra;
  128.     /**
  129.      * @var \DateTime
  130.      *
  131.      * @ORM\Column(name="fechaEntrega", type="date", nullable=false)
  132.      */
  133.     private $fechaEntrega;
  134.     /**
  135.      * @var \DateTime
  136.      *
  137.      * @ORM\Column(name="horaEntrega", type="date", nullable=false)
  138.      */
  139.     private $horaEntrega;
  140.     /**
  141.      * @var string
  142.      *
  143.      * @ORM\Column(name="comentario", type="string", length=255, nullable=false)
  144.      */
  145.     private $comentario;
  146.     /**
  147.      * @var integer
  148.      *
  149.      * @ORM\Column(name="carro", type="integer", nullable=true)
  150.      */
  151.     private $carro;
  152.     private $reserva=0;
  153.     private $erpCode;
  154.     /**
  155.      * Get id
  156.      *
  157.      * @return integer
  158.      */
  159.     public function getId()
  160.     {
  161.         return $this->id;
  162.     }
  163.     /**
  164.      * Set divisaOrigen
  165.      *
  166.      * @param string $divisaOrigen
  167.      * @return Pedido
  168.      */
  169.     public function setDivisaOrigen($divisaOrigen)
  170.     {
  171.         $this->divisaOrigen $divisaOrigen;
  172.         return $this;
  173.     }
  174.     /**
  175.      * Get divisaOrigen
  176.      *
  177.      * @return string
  178.      */
  179.     public function getDivisaOrigen()
  180.     {
  181.         return $this->divisaOrigen;
  182.     }
  183.     /**
  184.      * Set divisaFinal
  185.      *
  186.      * @param string $divisaFinal
  187.      * @return Pedido
  188.      */
  189.     public function setDivisaFinal($divisaFinal)
  190.     {
  191.         $this->divisaFinal $divisaFinal;
  192.         return $this;
  193.     }
  194.     /**
  195.      * Get divisaFinal
  196.      *
  197.      * @return Divisa
  198.      */
  199.     public function getDivisaFinal()
  200.     {
  201.         return $this->divisaFinal;
  202.     }
  203.     /**
  204.      * Set cantidadOrigen
  205.      *
  206.      * @param float $cantidadOrigen
  207.      * @return Pedido
  208.      */
  209.     public function setCantidadOrigen($cantidadOrigen)
  210.     {
  211.         $this->cantidadOrigen $cantidadOrigen;
  212.         return $this;
  213.     }
  214.     /**
  215.      * Get cantidad
  216.      *
  217.      * @return float
  218.      */
  219.     public function getCantidadOrigen()
  220.     {
  221.         return $this->cantidadOrigen;
  222.     }
  223.     /**
  224.      * Set cupon
  225.      *
  226.      * @param string $cupon
  227.      * @return Pedido
  228.      */
  229.     public function setCupon($cupon)
  230.     {
  231.         $this->cupon $cupon;
  232.         return $this;
  233.     }
  234.     /**
  235.      * Get cupon
  236.      *
  237.      * @return Cupon
  238.      */
  239.     public function getCupon()
  240.     {
  241.         return $this->cupon;
  242.     }
  243.     /**
  244.      * Set cantidadFinal
  245.      *
  246.      * @param float $cantidadFinal
  247.      * @return Pedido
  248.      */
  249.     public function setCantidadFinal($cantidadFinal)
  250.     {
  251.         $this->cantidadFinal $cantidadFinal;
  252.         return $this;
  253.     }
  254.     /**
  255.      * Get cantidadFinal
  256.      *
  257.      * @return float
  258.      */
  259.     public function getCantidadFinal()
  260.     {
  261.         return $this->cantidadFinal;
  262.     }
  263.     /**
  264.      * Set codigoProm
  265.      *
  266.      * @param float $codigoProm
  267.      * @return Pedido
  268.      */
  269.     public function setCodigoPromo($codigoProm)
  270.     {
  271.         $this->codigoPromo $codigoProm;
  272.         return $this;
  273.     }
  274.     /**
  275.      * Get codigoProm
  276.      *
  277.      * @return float
  278.      */
  279.     public function getCodigoPromo()
  280.     {
  281.         return $this->codigoPromo;
  282.     }
  283.     /**
  284.      * Set cliente
  285.      *
  286.      * @param integer $cliente
  287.      * @return Pedido
  288.      */
  289.     public function setCliente($cliente)
  290.     {
  291.         $this->cliente $cliente;
  292.         return $this;
  293.     }
  294.     /**
  295.      * Get cliente
  296.      *
  297.      * @return integer
  298.      */
  299.     public function getCliente()
  300.     {
  301.         return $this->cliente;
  302.     }
  303.     /**
  304.      * Set oficina
  305.      *
  306.      * @param string $oficina
  307.      * @return Pedido
  308.      */
  309.     public function setOficina($oficina)
  310.     {
  311.         $this->oficina $oficina;
  312.         return $this;
  313.     }
  314.     /**
  315.      * Get oficina
  316.      *
  317.      * @return string
  318.      */
  319.     public function getOficina()
  320.     {
  321.         return $this->oficina;
  322.     }
  323.     /**
  324.      * Set direccion
  325.      *
  326.      * @param string $direccion
  327.      * @return Pedido
  328.      */
  329.     public function setDireccion($direccion)
  330.     {
  331.         $this->direccion $direccion;
  332.         return $this;
  333.     }
  334.     /**
  335.      * Get direccion
  336.      *
  337.      * @return string
  338.      */
  339.     public function getDireccion()
  340.     {
  341.         return $this->direccion;
  342.     }
  343.     /**
  344.      * Set codigoPostal
  345.      *
  346.      * @param integer $codigoPostal
  347.      * @return Pedido
  348.      */
  349.     public function setCodigoPostal($codigoPostal)
  350.     {
  351.         $this->codigoPostal $codigoPostal;
  352.         return $this;
  353.     }
  354.     /**
  355.      * Get codigoPostal
  356.      *
  357.      * @return integer
  358.      */
  359.     public function getCodigoPostal()
  360.     {
  361.         return $this->codigoPostal;
  362.     }
  363.     /**
  364.      * Set ciudad
  365.      *
  366.      * @param string $ciudad
  367.      * @return Pedido
  368.      */
  369.     public function setCiudad($ciudad)
  370.     {
  371.         $this->ciudad $ciudad;
  372.         return $this;
  373.     }
  374.     /**
  375.      * Get ciudad
  376.      *
  377.      * @return string
  378.      */
  379.     public function getCiudad()
  380.     {
  381.         return $this->ciudad;
  382.     }
  383.     /**
  384.      * Set erpCode
  385.      *
  386.      * @param string $erpCode
  387.      * @return Pedido
  388.      */
  389.     public function setErpCode($erpCode)
  390.     {
  391.         $this->erpCode $erpCode;
  392.         return $this;
  393.     }
  394.     /**
  395.      * Get erpCode
  396.      *
  397.      * @return string
  398.      */
  399.     public function getErpCode()
  400.     {
  401.         return $this->erpCode;
  402.     }
  403.     /**
  404.      * Set provincia
  405.      *
  406.      * @param string $provincia
  407.      * @return Pedido
  408.      */
  409.     public function setProvincia($provincia)
  410.     {
  411.         $this->provincia $provincia;
  412.         return $this;
  413.     }
  414.     /**
  415.      * Get provincia
  416.      *
  417.      * @return string
  418.      */
  419.     public function getProvincia()
  420.     {
  421.         return $this->provincia;
  422.     }
  423.     /**
  424.      * Set pais
  425.      *
  426.      * @param string $pais
  427.      * @return Pedido
  428.      */
  429.     public function setPais($pais)
  430.     {
  431.         $this->pais $pais;
  432.         return $this;
  433.     }
  434.     /**
  435.      * Get pais
  436.      *
  437.      * @return string
  438.      */
  439.     public function getPais()
  440.     {
  441.         return $this->pais;
  442.     }
  443.     /**
  444.      * Set companiaTransporte
  445.      *
  446.      * @param string $companiaTransporte
  447.      * @return Pedido
  448.      */
  449.     public function setCompaniaTransporte($companiaTransporte)
  450.     {
  451.         $this->companiaTransporte $companiaTransporte;
  452.         return $this;
  453.     }
  454.     /**
  455.      * Get companiaTransporte
  456.      *
  457.      * @return string
  458.      */
  459.     public function getCompaniaTransporte()
  460.     {
  461.         return $this->companiaTransporte;
  462.     }
  463.     /**
  464.      * Set tipoPago
  465.      *
  466.      * @param string $tipoPago
  467.      * @return Pedido
  468.      */
  469.     public function setTipoPago($tipoPago)
  470.     {
  471.         $this->tipoPago $tipoPago;
  472.         return $this;
  473.     }
  474.     /**
  475.      * Get tipoPago
  476.      *
  477.      * @return string
  478.      */
  479.     public function getTipoPago()
  480.     {
  481.         return $this->tipoPago;
  482.     }
  483.     /**
  484.      * Set fechaCompra
  485.      *
  486.      * @param \DateTime $fechaCompra
  487.      * @return Pedido
  488.      */
  489.     public function setFechaCompra($fechaCompra)
  490.     {
  491.         $this->fechaCompra $fechaCompra;
  492.         return $this;
  493.     }
  494.     /**
  495.      * Get fechaCompra
  496.      *
  497.      * @return \DateTime
  498.      */
  499.     public function getFechaCompra()
  500.     {
  501.         return $this->fechaCompra;
  502.     }
  503.     /**
  504.      * Set fechaEntrega
  505.      *
  506.      * @param \DateTime $fechaEntrega
  507.      * @return Pedido
  508.      */
  509.     public function setFechaEntrega($fechaEntrega)
  510.     {
  511.         $this->fechaEntrega $fechaEntrega;
  512.         return $this;
  513.     }
  514.     /**
  515.      * Get fechaEntrega
  516.      *
  517.      * @return \DateTime
  518.      */
  519.     public function getFechaEntrega()
  520.     {
  521.         return $this->fechaEntrega;
  522.     }
  523.     /**
  524.      * Set horaEntrega
  525.      *
  526.      * @param \DateTime $horaEntrega
  527.      * @return Pedido
  528.      */
  529.     public function setHoraEntrega($horaEntrega)
  530.     {
  531.         $this->horaEntrega $horaEntrega;
  532.         return $this;
  533.     }
  534.     /**
  535.      * Get comentario
  536.      *
  537.      * @return \DateTime
  538.      */
  539.     public function getComentario()
  540.     {
  541.         return $this->comentario;
  542.     }
  543.     /**
  544.      * Set comentario
  545.      *
  546.      * @param \DateTime $comentario
  547.      * @return Pedido
  548.      */
  549.     public function setComentario($comentario)
  550.     {
  551.         $this->comentario $comentario;
  552.         return $this;
  553.     }
  554.     /**
  555.      * Get horaEntrega
  556.      *
  557.      * @return \DateTime
  558.      */
  559.     public function getHoraEntrega()
  560.     {
  561.         return $this->horaEntrega;
  562.     }
  563.     public function getShortName(){
  564.         return "walapop";
  565.     }
  566.     public function getNombreIngles(){
  567.         return "trololo";
  568.     }
  569.     public function getReserva(){
  570.         return $this->reserva;
  571.     }
  572.     public function setReserva($reserva){
  573.         $this->reserva=$reserva;
  574.         return $this;
  575.     }
  576.     /**
  577.      * @Assert\IsTrue(message = "cart.sameCurrency")
  578.      */
  579.     public function isDivisaOrigenLegal(){
  580.         if($this->divisaOrigen==$this->divisaFinal){
  581.             return false;
  582.         }
  583.         else return true;
  584.     }
  585.     /**
  586.      * @Assert\IsTrue(message = "cart.notEuro")
  587.      */
  588.     public function isDivisaOrigen2Legal(){
  589.         if($this->divisaOrigen==null) return true;
  590.         if(!$this->divisaOrigen->getMaestro() && !$this->divisaFinal->getMaestro()){
  591.             return false;
  592.         }
  593.         else return true;
  594.     }
  595. }