コード例 #1
0
 /**
  * Crea un registro nuevo en la entidad correspondiente
  * y su correspondiente registro en las líneas de recepción
  * 
  * @return array con el template y valores a renderizar
  */
 public function newAction()
 {
     switch ($this->request["entidad"]) {
         //CREAR UNA LINEA DE PEDIDO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         case 'PedidosCab':
             $pedido = new PedidosCab($this->request['idEntidad']);
             $lineaPedido = new PedidosLineas();
             $lineaPedido->setIDPedido($this->request['idEntidad']);
             $lineaPedido->setIDArticulo($this->request['idArticulo']);
             $lineaPedido->setDescripcion($this->request['Descripcion']);
             $lineaPedido->setUnidades(0);
             $lineaPedido->setIDEstado(1);
             $lineaPedido->setIDAgente($_SESSION['usuarioPortal']['Id']);
             $lineaPedido->setIDAlmacen($pedido->getIDAlmacen()->getIDAlmacen());
             if ($lineaPedido->valida()) {
                 if ($lineaPedido->create()) {
                     $this->creaLineaRecepcion($this->request['entidad'], $this->request['idEntidad'], $lineaPedido);
                     $pedido->setIDAlmacen($pedido->getIDAlmacen()->getIDAlmacen());
                     $pedido->setIncidencias($pedido->getIncidencias() . "\nFuera de pedido: " . $lineaPedido->getDescripcion());
                     $pedido->save();
                 }
             }
             $this->values['errores'] = $lineaPedido->getErrores();
             unset($pedido);
             unset($lineaPedido);
             break;
             //CREAR UNA LINEA DE PEDIDO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         //CREAR UNA LINEA DE PEDIDO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         case 'ManufacCab':
             $manufac = new ManufacCab($this->request['idEntidad']);
             $lineaManufac = new ManufacLineas();
             $lineaManufac->setIDManufac($this->request['idEntidad']);
             $lineaManufac->setTipo(1);
             $lineaManufac->setIDArticulo($this->request['idArticulo']);
             $lineaManufac->setDescripcion($this->request['Descripcion']);
             $lineaManufac->setUnidades(1);
             $lineaManufac->setIDEstado(0);
             $lineaManufac->setIDAlmacen($manufac->getIDAlmacenDestino()->getIDAlmacen());
             if ($lineaManufac->valida()) {
                 if ($lineaManufac->create()) {
                     $this->creaLineaRecepcion($this->request['entidad'], $this->request['idEntidad'], $lineaManufac);
                     $manufac->setIDAlmacenDestino($manufac->getIDAlmacenDestino()->getIDAlmacen());
                     $manufac->setIncidencias($manufac->getIncidencias() . "\nFuera de pedido: " . $lineaManufac->getDescripcion());
                     $manufac->save();
                 }
             }
             $this->values['errores'] = $lineaManufac->getErrores();
             unset($manufac);
             unset($lineaManufac);
             break;
             //CREAR UNA LINEA DE TRASPASO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         //CREAR UNA LINEA DE TRASPASO NUEVA Y SU CORRESPONDIENTE LINEA DE RECEPCION
         case 'TraspasosCab':
             $traspaso = new TraspasosCab($this->request['idEntidad']);
             $lineaTraspaso = new TraspasosLineas();
             $lineaTraspaso->setIDTraspaso($this->request['idEntidad']);
             $lineaTraspaso->setTipo(1);
             $lineaTraspaso->setIDArticulo($this->request['idArticulo']);
             $lineaTraspaso->setDescripcion($this->request['Descripcion']);
             $lineaTraspaso->setUnidades(1);
             $lineaTraspaso->setIDEstado(0);
             $lineaTraspaso->setIDAlmacen($traspaso->getIDAlmacenDestino()->getIDAlmacen());
             if ($lineaTraspaso->valida()) {
                 if ($lineaTraspaso->create()) {
                     $this->creaLineaRecepcion($this->request['entidad'], $this->request['idEntidad'], $lineaTraspaso);
                     $traspaso->setIDAlmacenDestino($traspaso->getIDAlmacenDestino()->getIDAlmacen());
                     $traspaso->setIncidencias($traspaso->getIncidencias() . "\nFuera de traspaso: " . $lineaTraspaso->getDescripcion());
                     $traspaso->save();
                 }
             }
             $this->values['errores'] = $lineaTraspaso->getErrores();
             unset($traspaso);
             unset($lineaTraspaso);
             break;
     }
     return $this->listAction($this->request['entidad'], $this->request['idEntidad']);
 }