function obtenerPreviasCurso($idCarrera, $idCurso, $client) { //Formulario con las materias //$crawler = $GLOBALS['client']->request('GET', 'http://www1.bedelias.edu.uy/ingenieria/muestra_prev.imprime?carrera=' . $idCarrera . '&cicl=0&p_mat=' . $idCurso); $crawler = $client->request('GET', 'http://www1.bedelias.edu.uy/ingenieria/muestra_prev.imprime?carrera=72&cicl=0&p_mat=' . $idCurso); $tabla = $crawler->filter('table table')->eq(0); $filas = $tabla->filter('tr')->each(function ($fila, $index) use($idCarrera, $idCurso) { if ($index > 0) { echo "LINEA: " . $index . "<br>"; $cantColumnas = $fila->filter('td')->count(); if ($cantColumnas == 5) { //Obtener datos $actividad = trim($fila->filter('td')->eq(0)->text()); //echo "ACTIVIDAD: " . $actividad . "<br>"; $previa = trim($fila->filter('td')->eq(1)->text()); //echo "PREVIA: " . $previa . "<br>"; $nombre = trim($fila->filter('td')->eq(2)->text()); echo "NOMBRE: " . $nombre . "<br>"; $actPrevia = trim($fila->filter('td')->eq(3)->text()); //echo "ACT PREVIA: " . $actPrevia . "<br>"; $obs = trim($fila->filter('td')->eq(4)->text()); //echo "OBS: " . $obs . "<br>"; //Procesar datos //Es previa del Curso o del Examen if ($actividad == 'Curso') { $GLOBALS['previaDeCurso'] = true; } elseif ($actividad == 'Examen') { $GLOBALS['previaDeCurso'] = false; } if ($GLOBALS['previaDeCurso']) { $actividad = 'CURSO'; } else { $actividad = 'EXAMEN'; } if ($obs == '(*)') { echo "descarto (*)"; } else { if ($actPrevia == 'Grupo') { //La previa es un Grupo $url = $fila->filter('td')->eq(2)->filter('a')->eq(0)->attr('href'); $url = 'http://www1.bedelias.edu.uy' . $url; echo $url; obtener_grupo($url); guardarPreviaGrupo($idCarrera, $idCurso, $previa, $actividad); } else { //La previa es un Curso aprobado o un Examen aprobado if ($actPrevia == 'Curso aprobado') { $actPrevia = 'CURSO'; } elseif ($actPrevia == 'Curso aprobado') { $actPrevia = 'EXAMEN'; } guardarPreviaCurso($idCarrera, $idCurso, $previa, $actividad, $actPrevia); } } } elseif ($cantColumnas == 3) { echo "MINIMO CREDITOS <br>"; //Obtener datos $actividad = trim($fila->filter('td')->eq(0)->text()); //echo "ACTIVIDAD: " . $actividad . "<br>"; $minCreditos = trim($fila->filter('td')->eq(1)->text()); //echo "MINIMO CREDITOS: " . $minCreditos . "<br>"; $area = trim($fila->filter('td')->eq(1)->text()); //echo "AREA: " . $area . "<br>"; } echo "<br>"; } //end if index>0 }); }
$tipo_producto = isset($_GET['tipo_producto']) ? $_GET['tipo_producto'] : 1; if ($tipo_producto == 1) { // todos los productos del grupo $query = "SELECT\n\t\tCategoria.categoria,\n\t\tCategoria.stock_minimo,\n\t\tSUM(Item.stock_disponible),\n\t\tItem.id_categoria,\n\t\t(SUM(Item.stock_disponible)-Categoria.stock_minimo),\n\t\tUnidad.unidad,\n\t\tSUM(Item.stock_transito),\n\t\t(SUM(Item.stock_disponible)+SUM(Item.stock_transito)-Categoria.stock_minimo-Categoria.reservado),\n\t\tGrupo.grupo,\n Categoria.reservado\n\t FROM\n\t\tItem, Categoria, Unidad, Grupo\n\t WHERE (\n\t\t(Item.id_categoria = Categoria.id_categoria) AND\n\t\t(Unidad.id_unidad = Categoria.id_unidad_visual) AND\n\t\t(Categoria.id_grupo = Grupo.id_grupo) AND\n\t\t(Grupo.id_grupo = {$id_grupo})\n\t )\n\t GROUP BY\n\t\tItem.id_categoria\n\t ORDER BY\n\t\tCategoria.categoria"; } else { // productos segun el tipo de producto elegido (import o naci) $id_argentina = obtener_id_pais_argentina(); if ($tipo_producto == 2) { $condicion = "<> {$id_argentina}"; } else { $condicion = "= {$id_argentina}"; } $query = "SELECT\n\tCategoria.categoria,\n\tCategoria.stock_minimo,\n\tSUM(Item.stock_disponible),\n\tItem.id_categoria,\n\t(SUM(Item.stock_disponible)-Categoria.stock_minimo),\n\tUnidad.unidad,\n\tSUM(Item.stock_transito),\n\t(SUM(Item.stock_disponible)+SUM(Item.stock_transito)-Categoria.stock_minimo-Categoria.reservado),\n\tGrupo.grupo,\n Categoria.reservado\n FROM\n\tItem, Categoria, Unidad, Grupo, Proveedor, Pais\n WHERE (\n\t(Item.id_categoria = Categoria.id_categoria) AND\n\t(Unidad.id_unidad = Categoria.id_unidad_visual) AND\n\t(Categoria.id_grupo = Grupo.id_grupo)AND\n\tGrupo.id_grupo = {$id_grupo} AND\n\tProveedor.id_proveedor = Item.id_proveedor AND\n\tPais.id_pais = Proveedor.id_pais AND\n\tPais.id_pais {$condicion}\n )\n GROUP BY\n\tItem.id_categoria\n ORDER BY\n\tCategoria.categoria"; } $result = mysql_query($query); $titulo = obtener_grupo($id_grupo); $aux = ""; while ($row = mysql_fetch_array($result)) { if ($row[4] < 0) { $row[4] = "<em>{$row['4']}</em>"; } if ($row[7] < 0) { $row[7] = "<em>{$row['7']}</em>"; } $producto = htmlspecialchars(stripslashes($row[0])); $aux = $aux . "<tr class=\"provlistrow\"><td><a class=\"list\" onclick=\"show_detail({$row['3']});\">{$producto}</a></td>\n <td>{$row['2']}</td><td>{$row['1']}</td><td>{$row['4']}</td>" . desglose_transito_por_tipo_envio($row[3]) . "<td><a class=\"list\" onclick=\"edit_reservado({$row['3']});\">{$row['9']}</a></td><td>{$row['7']}</td><td>{$row['5']}</td></tr>\n"; } $action = "grupo_listar.php"; $var = array("rows" => $aux, "titulo" => $titulo, "imprimir" => $imprimir, "id_grupo" => $id_grupo, "tipo_producto" => $tipo_producto, "action" => $action); eval_html('producto_grupo_listar.html', $var); /**
} function obtener_grupo($id_grupo) { $query = "SELECT grupo FROM grupo WHERE id_grupo = {$id_grupo}"; $result = mysql_query($query); $row = mysql_fetch_array($result); return $row[0]; } // todos los items del grupo seleccionado $query = "SELECT\n\tCategoria.categoria,\n\tItem.id_categoria,\n\tItem.id_proveedor,\n\tProveedor.proveedor,\n\tItem.stock_disponible,\n\tCategoria.stock_minimo,\n\tItem.stock_disponible - Categoria.stock_minimo,\n\tUnidad.unidad,\n\tItem.stock_transito,\n\tItem.stock_disponible + Item.stock_transito - Categoria.stock_minimo,\n\tItem.codigo_proveedor,\n\tItem.id_item,\n\tItem.precio_fob,\n\tItem.precio_nac,\n\tItem.precio_ref\n\n FROM\n\tItem, Categoria, Unidad, Proveedor\n WHERE (\n\t(Item.id_categoria = Categoria.id_categoria) AND\n\t(Unidad.id_unidad = Categoria.id_unidad_visual) AND\n\t(Categoria.id_grupo = {$id_grupo})\n\n\tAND Proveedor.id_proveedor = Item.id_proveedor\n )\n\n ORDER BY\n\tCategoria.categoria"; $result = mysql_query($query); $aux = ""; while ($row = mysql_fetch_array($result)) { $aux = $aux . process_item($row, $periodo); } $grupo = obtener_grupo($id_grupo); $titulo = "Listado de stock minimos calcuado con periodo de {$periodo} meses"; $var = array("rows" => $aux, "id_grupo" => $id_grupo, "periodos" => get_periodos($periodo), "titulo" => $titulo, "imprimir" => ""); eval_html('producto_listar_stock_minimos.html', $var); // Function para armar cada table row del html function process_item($row, $periodo) { // calcular mesy anio iniciales a partir del periodo dado $anio_actual = date("Y"); $mes_actual = date("n"); $periodo_ini = $periodo; $periodo++; while ($periodo > 1) { $mes_actual = $mes_actual - 1; if ($mes_actual == 0) { $mes_actual = 12;