/** * Recalcula los precios de costo y de venta de los articulos * obtenidos en la elaboración, prorrateando el costo total de * la elaboración entre las UMAs obtenidas de cada producto * * Este proceso se hace con las líneas de tipo 1 que estén recepcionadas (Estado=3) * y en base a la política de recálculo de precios definida con el parámetro ACTU_PRECIOS */ public function CotizarAction() { if ($this->values['permisos']['permisosModulo']['UP']) { $idTraspaso = $this->request['TraspasosCab']['IDTraspaso']; $datos = new TraspasosCab($idTraspaso); if ($datos->getKilosDestino() != 0) { $totalCoste = $datos->getTotalCoste(); $totalUMAObtenidos = $datos->getKilosDestino(); $costePorUMA = $totalCoste / $datos->getKilosDestino(); //Recorrer las lineas de elaboracion tipo 1 $lineas = new TraspasosLineas(); $rows = $lineas->cargaCondicion("*", "IDTraspaso='{$idTraspaso}' and Tipo='1' and IDEstado='3'"); unset($lineas); foreach ($rows as $row) { $articulo = new Articulos($row['IDArticulo']); if ($articulo->actualizaPrecios($row['Unidades'], $costePorUMA)) { $this->values['alertas'][] = "Se actualizó: " . $articulo->getCodigo() . " " . $articulo->getDescripcion(); } else { $this->values['alertas'][] = "NO Se actualizó: " . $articulo->getCodigo() . " " . $articulo->getDescripcion(); } } unset($articulo); } $this->values['datos'] = $datos; $this->values['errores'] = $datos->getErrores(); unset($datos); return array('template' => $this->entity . '/edit.html.twig', 'values' => $this->values); } else { return array('template' => '_global/forbiden.html.twig'); } }