public function newAction() { $datos = $this->request[$this->entity]; $articulo = new Articulos($datos['IDArticuloDestino']); if ($articulo->getIDArticulo() != '') { $escandallo = new ArticulosEscandallos(); $escandallo->bind($datos); $escandallo->setImporteCosto($articulo->getPmc() * $datos['Unidades']); $escandallo->setImporteVenta($articulo->getPvp() * $datos['Unidades']); $escandallo->setPeso($articulo->getPeso() * $datos['Unidades']); $escandallo->setVolumen($articulo->getVolumen() * $datos['Unidades']); $escandallo->create(); unset($escandallo); } unset($articulo); $this->recalcular($datos['IDArticuloOrigen']); return $this->listAction($datos['IDArticuloOrigen']); }
/** * Devuelve un array con los artículos que forman * parte del escandallo del articulo actual * * array('IDArticulo'=>,'Codigo'=>,'Descripcion'=>,'Unidades'=>,'UMV'=>) * * @return array \Articulos */ public function getEscandallo() { $escan = new ArticulosEscandallos(); $filtro = "IDArticuloOrigen='{$this->IDArticulo}' and IDArticuloDestino<>'0'"; $rows = $escan->cargaCondicion("IDArticuloDestino,Unidades", $filtro, "Id ASC"); unset($escan); $array = array(); foreach ($rows as $row) { $articulo = new Articulos($row['IDArticuloDestino']); $array[] = array('IDArticulo' => $articulo->getIDArticulo(), 'Codigo' => $articulo->getCodigo(), 'Descripcion' => $articulo->getDescripcion(), 'Unidades' => $row['Unidades'], 'UMV' => $articulo->getUMV()->getUnidadMedida()); unset($articulo); } return $array; }
/** * Genera los ordenes del articulo $idArticulo en base * a todas las reglas aplicables al mismo * * @param int $idArticulo El id del artículo * @return void */ public function aplicaReglasArticulo($idArticulo) { $articulo = new Articulos($idArticulo); $reglas = $this->getReglasArticulo($idArticulo); foreach ($reglas as $regla) { $orden = new OrdenesArticulos(); $filtro = "IDRegla='{$regla}' AND IDArticulo='{$articulo->getIDArticulo()}'"; $rows = $orden->cargaCondicion("Id", $filtro); if (!$rows[0]["Id"]) { $orden->setIDRegla($regla); $orden->setIDArticulo($articulo->getIDArticulo()); $orden->setObservations($articulo->getDescripcion()); $orden->create(); } } unset($articulo); }