/** * 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'); } }
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']); }
/** * 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; }