File: /home/austral3d/fourdplan.com/webservices/ObtenerTodaData.php
<?php
include ("Comun.php");
$db = Conectar();
$proyecto_id = mysql_real_escape_string($_GET['proyecto_id'], $db);
$assemblies = ejecutar("SELECT a.id FROM Assembly a WHERE a.proyecto_id = '$proyecto_id'");
$n_assemblies = mysql_num_rows($assemblies);
$numero_estados_fabricacion = consultar("SELECT numero_estados FROM NomenclaturaEstados WHERE proyecto_id = '$proyecto_id'");
$xml = new SimpleXMLElement("<Assemblies></Assemblies>");
for ($i = 0; $i < $n_assemblies; $i++)
{
$tupla = mysql_fetch_row($assemblies);
$assembly_id = $tupla[0];
$assembly = $xml->addChild("Assembly");
$descripciones = ejecutar("SELECT id, descripcion, assembly_id, descripcion_corta FROM Descripcion WHERE assembly_id = '$assembly_id'");
$n_descripciones = mysql_num_rows($descripciones);
for ($j = 0; $j < $n_descripciones; $j++)
{
$tupla = mysql_fetch_row($descripciones);
$descripcion_id = $tupla[0];
$descripcion = $assembly->addChild("Descripcion");
$descripcion->addChild("descripcion", $tupla[1]);
$descripcion->addChild("descripcion_corta", $tupla[3]);
$elementos = $descripcion->addChild("Elementos");
$elementosSQL = ejecutar("SELECT id, item, nombre, revision, peso, TE, codigo_barra FROM Elemento WHERE descripcion_id = '$descripcion_id'");
$n_elementosSQL = mysql_num_rows($elementosSQL);
for ($k = 0; $k < $n_elementosSQL; $k++)
{
$tupla_elemento = mysql_fetch_row($elementosSQL);
$elemento_id = $tupla_elemento[0];
$elemento = $elementos->addChild("Elemento");
$elemento->addChild("item", $tupla_elemento[1]);
$elemento->addChild("nombre", $tupla_elemento[2]);
$elemento->addChild("revision", $tupla_elemento[3]);
$elemento->addChild("peso", $tupla_elemento[4]);
$elemento->addChild("TE", $tupla_elemento[5]);
$elemento->addChild("codigo_barra", $tupla_elemento[6]);
$instancias = $elemento->addChild("Instancias");
$instanciasSQL = ejecutar("SELECT i.assembly_mark, i.eje, i.fabricacion_estado_1, i.fabricacion_estado_2,i.fabricacion_estado_3,i.fabricacion_estado_4,i.fabricacion_estado_5,i.fabricacion_estado_6,i.fabricacion_estado_7,i.fabricacion_estado_8,i.fabricacion_estado_9,i.fabricacion_estado_10,i.fabricacion_estado_11,i.fabricacion_estado_12,i.fabricacion_estado_13,i.fabricacion_estado_14,i.fabricacion_estado_15, i.fecha_despacho, i.fecha_entrega_programado, i.acta_liberacion, i.guia_despacho, i.numero_packing_list, i.fecha_os_d, i.ticket_salida, i.fecha_ETA_recepcion_bodega, i.fecha_recepcion_bodega, i.fecha_salida_bodega, i.fecha_pintura_programado, i.workpackage_id FROM Instancia i WHERE i.elemento_id = '$elemento_id'");
$n_instancias = mysql_num_rows($instanciasSQL);
for ($l = 0; $l < $n_instancias; $l++)
{
$tupla_instancia = mysql_fetch_row($instanciasSQL);
$instancia = $instancias->addChild("instancia");
$instancia->addChild("assembly_mark", $tupla_instancia[0]);
$instancia->addChild("eje", $tupla_instancia[1]);
$instancia->addChild("numero_estados_fabricacion", $numero_estados_fabricacion);
$instancia->addChild("fabricacion_estado_1", $tupla_instancia[2]);
$instancia->addChild("fabricacion_estado_2", $tupla_instancia[3]);
$instancia->addChild("fabricacion_estado_3", $tupla_instancia[4]);
$instancia->addChild("fabricacion_estado_4", $tupla_instancia[5]);
$instancia->addChild("fabricacion_estado_5", $tupla_instancia[6]);
$instancia->addChild("fabricacion_estado_6", $tupla_instancia[7]);
$instancia->addChild("fabricacion_estado_7", $tupla_instancia[8]);
$instancia->addChild("fabricacion_estado_8", $tupla_instancia[9]);
$instancia->addChild("fabricacion_estado_9", $tupla_instancia[10]);
$instancia->addChild("fabricacion_estado_10", $tupla_instancia[11]);
$instancia->addChild("fabricacion_estado_11", $tupla_instancia[12]);
$instancia->addChild("fabricacion_estado_12", $tupla_instancia[13]);
$instancia->addChild("fabricacion_estado_13", $tupla_instancia[14]);
$instancia->addChild("fabricacion_estado_14", $tupla_instancia[15]);
$instancia->addChild("fabricacion_estado_15", $tupla_instancia[16]);
$instancia->addChild("fecha_despacho", $tupla_instancia[17]);
$instancia->addChild("fecha_entrega_programado", $tupla_instancia[18]);
$instancia->addChild("acta_liberacion", $tupla_instancia[19]);
$instancia->addChild("guia_despacho", $tupla_instancia[20]);
$instancia->addChild("numero_packing_list", $tupla_instancia[21]);
$instancia->addChild("fecha_os_d", $tupla_instancia[22]);
$instancia->addChild("ticket_salida", $tupla_instancia[23]);
$instancia->addChild("fecha_ETA_recepcion_bodega", $tupla_instancia[24]);
$instancia->addChild("fecha_recepcion_bodega", $tupla_instancia[25]);
$instancia->addChild("fecha_salida_bodega", $tupla_instancia[26]);
$instancia->addChild("fecha_pintura_programado", $tupla_instancia[27]);
$instancia->addChild("workpackage_id", $tupla_instancia[28]);
$workpackage_nombre = consultar("SELECT nombre FROM WorkPackage WHERE id = '$tupla_instancia[28]'");
$instancia->addChild("workpackage_nombre", $workpackage_nombre);
}
}
}
$work_packageSQL = ejecutar("SELECT id, nombre, assembly_id FROM WorkPackage WHERE assembly_id = '$assembly_id'");
$n_elementosSQL = mysql_num_rows($work_packageSQL);
for ($m = 0; $m < $n_elementosSQL; $m++)
{
$work_package = $xml->addChild("WorkPackage");
$tupla = mysql_fetch_row($work_packageSQL);
$work_package->addChild("id", $tupla[0]);
$work_package->addChild("nombre", $tupla[1]);
$work_package->addChild("assembly_id", $tupla[2]);
}
}
echo($xml->asXML());
?>