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']);
 }
Beispiel #2
0
 /**
  * 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);
 }