/**
  * Devuelve un array de objetos ManufacCab con las elaboraciones
  * que están en estado En Elaboración (2) y cuyo almacén destino es
  * el seleccionado
  *
  * @return array Array de objetos ManufacCab
  */
 private function getElaboraciones()
 {
     $data = array();
     $manufac = new ManufacCab();
     $filtro = "IDEstado='2' and IDAlmacenDestino='{$this->request['idAlmacen']}'";
     $rows = $manufac->cargaCondicion('IDManufac', $filtro, 'FechaOrden ASC');
     unset($manufac);
     foreach ($rows as $row) {
         $data[] = new ManufacCab($row['IDManufac']);
     }
     return $data;
 }
 public function recepcionarAction()
 {
     if ($this->values['permisos']['permisosModulo']['UP']) {
         $datos = new ManufacCab($this->request['ManufacCab']['IDManufac']);
         $datos->recepciona();
         $this->values['errores'] = $datos->getErrores();
         $this->values['alertas'] = $datos->getAlertas();
         $datos = new ManufacCab($this->request['ManufacCab']['IDManufac']);
         $this->values['datos'] = $datos;
         unset($datos);
         return $this->listAction($this->request['ManufacCab']['IDManufac'], '1');
     } else {
         return array('template' => '_global/forbiden.html.twig');
     }
 }
Esempio n. 3
0
 private function TotalizaLinea()
 {
     switch ($this->BaseAplicacion) {
         case '0':
             // Calculo sobre las unidades enviadas
             $manufac = new ManufacCab($this->IDManufac);
             $unidades = $manufac->getKilosOrigen();
             unset($manufac);
             $this->setImporte($unidades * $this->Precio);
             break;
         case '1':
             // Calculo sobre las unidades obtenidas
             $this->setImporte($this->Unidades * $this->Precio);
             break;
     }
 }
 /**
  * Envia por email el parte de elaboracion en formato PDF
  * @return <type>
  */
 public function enviarAction()
 {
     if ($this->request['accion'] == 'Enviar') {
         $para = $this->request['Para'];
         $de = $this->request['De'];
         $deNombre = $this->request['DeNombre'];
         $asunto = $this->request['Asunto'];
         $mensaje = $this->request['Mensaje'];
         $adjuntos = array($this->request['Adjunto']);
         $envio = new Mail();
         $this->values['resultadoEnvio'] = $envio->send($para, $de, $deNombre, $asunto, $mensaje, $adjuntos);
         unset($envio);
     } else {
         $usuario = new Agentes($_SESSION['usuarioPortal']['Id']);
         $datos = new ManufacCab($this->request['ManufacCab']['IDManufac']);
         $formatos = DocumentoPdf::getFormatos('parteElaboracion');
         $formato = $this->request['Formato'];
         if ($formato == '') {
             $formato = 0;
         }
         $this->values['archivo'] = $this->generaPdf('parteElaboracion', array('0' => $datos->getIDManufac()), $formato);
         $this->values['email'] = array('Para' => $datos->getIDElaborador()->getEMail(), 'De' => $usuario->getEMail(), 'DeNombre' => $usuario->getNombre(), 'Cc' => '', 'Asunto' => 'Parte de Elaboración n. ' . $datos->getIDManufac(), 'Formatos' => $formatos, 'Formato' => $formato, 'Mensaje' => 'Le adjunto el parte de elaboración ' . $datos->getIDManufac() . "\n\nUn saludo.", 'idManufac' => $datos->getIDManufac());
         unset($usuario);
         unset($datos);
     }
     return parent::enviarAction();
 }
 /**
  * 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']);
 }
Esempio n. 6
0
 /**
  * Hace una copia del parte de elaboración
  * Genera otro parte en base al actual.
  * Solo genera las lineas de elaboración enviadas (tipo=0)
  *
  * @return integer El id del parte generado
  */
 public function duplica()
 {
     $idOrigen = $this->IDManufac;
     // Crear la cabecera del parte
     $destino = new ManufacCab();
     $destino->setIDEstado(0);
     $destino->setFechaOrden(date('d-m-Y'));
     $destino->setFechaEntrega('00-00-0000');
     $destino->setIDElaborador($this->IDElaborador);
     $destino->setDescripcion($this->Descripcion);
     $destino->setIDAlmacenOrigen($this->IDAlmacenOrigen);
     $destino->setIDAlmacenDestino($this->IDAlmacenDestino);
     $idDestino = $destino->create();
     // Crear las líneas de parte
     if ($idDestino) {
         $linea = new ManufacLineas();
         $rows = $linea->cargaCondicion("*", "IDManufac='{$idOrigen}' and Tipo='0'", "IDLinea ASC");
         unset($linea);
         foreach ($rows as $row) {
             $lineaDestino = new ManufacLineas();
             $lineaDestino->setIDManufac($idDestino);
             $lineaDestino->setIDArticulo($row['IDArticulo']);
             $lineaDestino->setDescripcion($row['Descripcion']);
             $lineaDestino->setUnidades($row['Unidades']);
             $lineaDestino->setIDAlmacen($row['IDAlmacen']);
             $lineaDestino->setPrecio($row['Precio']);
             $lineaDestino->setImporte($row['Importe']);
             $lineaDestino->create();
         }
         unset($lineaDestino);
     } else {
         $this->_errores[] = "Hubo un error al duplicar el parte de elaboración.";
     }
     return $idDestino;
 }