public function IndexAction() { $array = array(); $atributos = new Propiedades(); $rows = $atributos->fetchAll('Titulo', false); unset($atributos); foreach ($rows as $row) { $array[$row['Id']]['Titulo'] = $row['Value']; $valor = new PropiedadesValores(); $valores = $valor->getValores($row['Id']); unset($valor); foreach ($valores as $valor) { $array[$row['Id']]['Valores'][$valor['Id']] = $valor['Valor']; } } $articulo = new Articulos(); $rows = $articulo->cargaCondicion("IDArticulo", "BelongsTo='{$this->request[2]}'"); unset($articulo); foreach ($rows as $row) { $articulos[] = new Articulos($row['IDArticulo']); } $this->values['articulos'] = $articulos; $this->values['propiedadesValores'] = $array; $this->values['idArticulo'] = $this->request[2]; return array('template' => $this->entity . '/index.html.twig', 'values' => $this->values); }
/** * Devuelve array de objetos Articulos con los * artículos de la promoción en curso * * @param type $nItems Cero o negativo, sin límite. Positivo indica el número de artículos a devolver * @return array Array de objetos Artículos */ public function getArticulos($nItems = 0) { $limit = $nItems <= 0 ? "" : "limit {$nItems}"; $array = array(); if ($this->getIDFamilia()->getPrimaryKeyValue()) { $articulo = new Articulos(); $rows = $articulo->cargaCondicion("IDArticulo", "IDFamilia='{$this->getIDFamilia()->getPrimaryKeyValue()}'", "PublishedAt DESC {$limit}"); unset($articulo); foreach ($rows as $row) { $array[] = new Articulos($row['IDArticulo']); } } else { $array[] = $this->getIDArticulo(); } return $array(); }
private function cargarLineas($idPedido, $idFirma, $idCliente, $archivoCsv) { $nLinea = 0; $errores = array(); $csv = new Archivo($archivoCsv); $csv->setColumnsDelimiter(";"); if ($csv->open()) { $articulo = new Articulos(); while ($linea = $csv->readLine()) { $nLinea++; $codigo = trim($linea[0]); $unidades = trim($linea[1]); if ($codigo != '') { $filtro = "IdFirma='{$idFirma}' and (Codigo='{$codigo}' or CodigoEAN='{$codigo}')"; //echo $filtro,"\n"; $rows = $articulo->cargaCondicion("Id,IdFamilia,Codigo,Descripcion,Pvd", $filtro); $row = $rows[0]; if ($row['Id'] != '') { $articulo = new Articulos($row['Id']); $pedidoLinea = new PedidosLineas(); $pedidoLinea->setIdPedido($idPedido); $pedidoLinea->setIdFirma($idFirma); $pedidoLinea->setIdFamilia($row['IdFamilia']); $pedidoLinea->setIdCliente($idCliente); $pedidoLinea->setIdArticulo($row['Id']); $pedidoLinea->setDescripcion($row['Descripcion']); $pedidoLinea->setUnidades($unidades); $pedidoLinea->setPrecio($row['Pvd']); $pedidoLinea->setIva($articulo->getIdIva()->getIva()); $pedidoLinea->setImporte($unidades * $row['Pvd']); $id = $pedidoLinea->create(); if (!$id) { $errores[] = "Línea {$nLinea}: No se pudo crear la línea de pedido."; } } else { $errores[] = "Línea {$nLinea}: El artículo {$codigo} no existe o no pertenece a la firma del pedido."; } } } $csv->close(); unset($articulo); unset($pedidoLinea); // Recalcular los totales del pedido if (count($errores) == 0) { $pedido = new PedidosCab($idPedido); $pedido->save(); unset($pedido); } } else { $errores[] = "No se ha podido abrir el archivo cargado"; } return $errores; }
/** * Devuelve un array de objetos fabricantes que están relacionados * con la categoría/famila/subfamilia en curso * * @return \Fabricantes */ public function getFabricantes() { switch ($this->NivelJerarquico) { case 1: $campo = "IDCategoria"; break; case 2: $campo = "IDFamilia"; break; case 3: $campo = "IDSubfamilia"; break; } $array = array(); $articulo = new Articulos(); $rows = $articulo->cargaCondicion("distinct IDFabricante", "{$campo}='{$this->IDFamilia}' and Vigente='1'"); unset($articulo); foreach ($rows as $row) { $array[] = new Fabricantes($row['IDFabricante']); } return $array; }
/** * Aplica la regla $idRegla, que consiste * en crear las entradas en la tabla ErpOrdenesArticulos de los articulos * que cumplan las condiciones de la regla * * La regla no se aplicará a los artículos que no estén vigentes * La regla se aplicará a los artículos publish si y publish no * * Si no se indica $idRegla, se aplicará la regla en curso * * @param int $idRegla El id de la regla a aplicar * @return void */ public function aplicaRegla($idRegla = '') { $regla = $idRegla == '' ? $this : new Escaparates($idRegla); if ($regla->IDLote > 0) { $lote = new LotesWeb($regla->IDLote); foreach ($lote->getArrayObjetosArticulos() as $articulo) { $filtroLote .= "IDArticulo='{$articulo->getPrimaryKeyValue()}' OR "; } $filtroLote = "(" . substr($filtroLote, 0, -4) . ")"; } else { $filtroLote = "(1)"; } $filtroEstado = $regla->IDEstado > 0 ? "(IDEstado1='{$regla->IDEstado}' OR IDEstado2='{$regla->IDEstado}' OR IDEstado3='{$regla->IDEstado}' OR IDEstado4='{$regla->IDEstado}' OR IDEstado5='{$regla->IDEstado}')" : "(1)"; $filtroMarca = $regla->IDFabricante > 0 ? "(IDFabricante='{$regla->IDFabricante}')" : "(1)"; $filtroCategoria = $regla->IDCategoria > 0 ? "(IDCategoria='{$regla->IDCategoria}')" : "(1)"; $filtroFamilia = $regla->IDFamilia > 0 ? "(IDFamilia='{$regla->IDFamilia}')" : "(1)"; $filtroSubfamilia = $regla->IDSubfamilia > 0 ? "(IDSubfamilia='{$regla->IDSubfamilia}')" : "(1)"; $filtroAdicional = $regla->Filtro != '' ? "({$filtroAdicional})" : "(1)"; $filtro = "(Vigente='1') AND {$filtroLote} AND {$filtroEstado} AND {$filtroMarca} AND {$filtroCategoria} AND {$filtroFamilia} AND {$filtroSubfamilia} AND {$filtroAdicional}"; //echo $filtro; $articulo = new Articulos(); $rows = $articulo->cargaCondicion("IDArticulo,Descripcion", $filtro); unset($articulo); foreach ($rows as $row) { $orden = new OrdenesArticulos(); $orden->setIdRegla($regla->Id); $orden->setIDArticulo($row["IDArticulo"]); $orden->setObservations($row['Descripcion']); $orden->create(); } unset($orden); }
Autoloader::excludeFolderNamesMatchingRegex('/^CVS|\\..*$/'); Autoloader::setClassPaths(array('../' . $app['framework'], '../entities/', '../lib/')); spl_autoload_register(array('Autoloader', 'loadClass')); $v = $_GET; $formato = strtoupper($v['formato']); $columna = trim($_GET['columna']); $valor = trim($_GET['valor']); if ($columna === '') { // Busco el artículo por código o por EAN $filtro = "(Codigo='{$valor}' or CodigoEAN='{$valor}') and Vigente='1'"; } else { // Busco el artículo por la columna indicada $filtro = "{$columna}='{$valor}' and Vigente='1'"; } $articulo = new Articulos(); $rows = $articulo->cargaCondicion("IDArticulo", $filtro); $articulo = new Articulos($rows[0]['IDArticulo']); $array = $articulo->iterator(); $array['Iva'] = $articulo->getIDIva()->getIva(); $array['PvpConImpuestos'] = $articulo->getPrecioVentaConImpuestos(); unset($articulo); switch ($formato) { case '': case 'JSON': $tag = json_encode($array); break; default: $tag = ""; break; } echo $tag;