diagrama de gantt
This commit is contained in:
parent
3f489b76b8
commit
d3bc62fce2
2
api.php
2
api.php
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
//session_start();
|
//session_start();
|
||||||
ini_set('display_errors', 'On');
|
//ini_set('display_errors', 'On');
|
||||||
|
|
||||||
require ('xajax/xajax.inc.php');
|
require ('xajax/xajax.inc.php');
|
||||||
$xajax = new xajax();
|
$xajax = new xajax();
|
||||||
|
@ -4687,6 +4687,7 @@ function cerrar_sesion(){
|
|||||||
}
|
}
|
||||||
$xajax->registerFunction("cerrar_sesion");
|
$xajax->registerFunction("cerrar_sesion");
|
||||||
|
|
||||||
|
|
||||||
function microtareas($formularios_microtareas,$datos,$div){
|
function microtareas($formularios_microtareas,$datos,$div){
|
||||||
$formulario_microtarea = $formularios_microtareas['formulario_microtarea'];
|
$formulario_microtarea = $formularios_microtareas['formulario_microtarea'];
|
||||||
$formulario_microtarea_asignacion =$formularios_microtareas['formulario_microtarea_asignacion'];
|
$formulario_microtarea_asignacion =$formularios_microtareas['formulario_microtarea_asignacion'];
|
||||||
@ -4714,8 +4715,10 @@ function microtareas($formularios_microtareas,$datos,$div){
|
|||||||
elseif($status ==''){$status_clase='danger'; $status ='No Asignado';}
|
elseif($status ==''){$status_clase='danger'; $status ='No Asignado';}
|
||||||
else{$status_clase='danger'; $status ='No Asignado';}
|
else{$status_clase='danger'; $status ='No Asignado';}
|
||||||
$item_nombre = remplacetas('form_datos','form_id',"$formulario_equipo","contenido","id_campo = '$campo_equipo' AND control ='$control_asignados'");
|
$item_nombre = remplacetas('form_datos','form_id',"$formulario_equipo","contenido","id_campo = '$campo_equipo' AND control ='$control_asignados'");
|
||||||
$editar= "<a class='btn btn-xs btn-$status_clase' onclick =\"xajax_formulario_embebido_ajax('','$formulario_microtarea_asignacion','$control_descripcion','edit') \";>
|
$editar_status= "<a class='btn btn-xs btn-$status_clase' onclick =\"xajax_formulario_embebido_ajax('','$formulario_microtarea_asignacion','$control_descripcion','edit') \";>
|
||||||
$status</a> ";
|
$status</a> ";
|
||||||
|
$editar_microtarea= "<a href='#' class='link' onclick =\"xajax_formulario_embebido_ajax('','$formulario_microtarea','$control_microtarea','edit') \";>
|
||||||
|
Editar</a> ";
|
||||||
$item_responsable= "
|
$item_responsable= "
|
||||||
<a class='link ' data-trigger='focus' tabindex='0'
|
<a class='link ' data-trigger='focus' tabindex='0'
|
||||||
data-placement='auto top' role='button'
|
data-placement='auto top' role='button'
|
||||||
@ -4730,7 +4733,7 @@ function microtareas($formularios_microtareas,$datos,$div){
|
|||||||
>
|
>
|
||||||
<div class='row' >
|
<div class='row' >
|
||||||
<div class='col-xs-4'>
|
<div class='col-xs-4'>
|
||||||
$editar
|
$editar_status
|
||||||
</div>
|
</div>
|
||||||
<div class='col-xs-8'>
|
<div class='col-xs-8'>
|
||||||
$item_responsable
|
$item_responsable
|
||||||
@ -4789,7 +4792,7 @@ function microtareas($formularios_microtareas,$datos,$div){
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class='col-xs-10'>
|
<div class='col-xs-10'>
|
||||||
$nombre
|
$nombre $editar_microtarea
|
||||||
<br>$asignados
|
<br>$asignados
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -4964,6 +4967,208 @@ if($div ==""){
|
|||||||
}
|
}
|
||||||
|
|
||||||
$xajax->registerFunction("listado_items");
|
$xajax->registerFunction("listado_items");
|
||||||
|
function segundos_cadena($segs){
|
||||||
|
$cadena = '';
|
||||||
|
if($segs >= 86400) {
|
||||||
|
$dias = floor($segs/86400);
|
||||||
|
$segs = $segs%86400;
|
||||||
|
$cadena = $dias.' día';
|
||||||
|
if($dias != 1) $cadena .= 's';
|
||||||
|
if($segs >= 0) $cadena .= ', ';
|
||||||
|
}
|
||||||
|
if($segs>=3600){
|
||||||
|
$horas = floor($segs/3600);
|
||||||
|
$segs = $segs%3600;
|
||||||
|
$cadena .= $horas.' hora';
|
||||||
|
if($horas != 1) $cadena .= 's';
|
||||||
|
if($segs >= 0) $cadena .= ', ';
|
||||||
|
}
|
||||||
|
if($segs>=60){
|
||||||
|
$minutes = floor($segs/60);
|
||||||
|
$segs = $segs%60;
|
||||||
|
$cadena .= $minutes.' minuto';
|
||||||
|
if($minutes != 1) $cadena .= 's';
|
||||||
|
if($segs >= 0) $cadena .= ', ';
|
||||||
|
}
|
||||||
|
$cadena .= $segs.' segundo';
|
||||||
|
if($segs != 1) $cadena .= 's';
|
||||||
|
return $cadena;
|
||||||
|
}
|
||||||
|
|
||||||
|
function gantt_datos($control,$tipo){
|
||||||
|
$campos=array();
|
||||||
|
$consulta = "SELECT campo_nombre, contenido, campo_tipo FROM form_datos,form_campos
|
||||||
|
WHERE form_datos.id_campo =form_campos.id
|
||||||
|
AND form_datos.control='$control'
|
||||||
|
";
|
||||||
|
$link=Conectarse();
|
||||||
|
mysqli_set_charset($link, "utf8");
|
||||||
|
|
||||||
|
$sql=mysqli_query($link,$consulta);
|
||||||
|
if (mysqli_num_rows($sql)!='0'){
|
||||||
|
while( $row = mysqli_fetch_array( $sql ) ) {
|
||||||
|
|
||||||
|
if($row['campo_nombre'] == "Inicio"){
|
||||||
|
$segundos = strtotime("$row[contenido]");
|
||||||
|
$campos['start'] = $segundos*1000;
|
||||||
|
$inicio = $segundos*1000;
|
||||||
|
$datos .="<li>Start: $segundos</li>";
|
||||||
|
$datos .="<li>$row[campo_nombre]: $row[contenido]</li>";
|
||||||
|
}
|
||||||
|
elseif($row['campo_nombre'] == "Fin"){
|
||||||
|
$segundos = strtotime("$row[contenido]");
|
||||||
|
$row['end'] = $row['contenido'];
|
||||||
|
$campos['end'] = $segundos*1000;
|
||||||
|
$fin = $segundos*1000;
|
||||||
|
$datos .="<li>End: $segundos</li>";
|
||||||
|
$datos .="<li>$row[campo_nombre]: $row[contenido]</li>";
|
||||||
|
}else{
|
||||||
|
$datos .= "<li>$row[campo_nombre] -> $row[contenido]</li>";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$restante = (($fin/1000) - time());
|
||||||
|
$restante = segundos_cadena("$restante");
|
||||||
|
$datos .= "<li>Restante: $restante</li>";
|
||||||
|
$campos['restante'] = "$restante";
|
||||||
|
}
|
||||||
|
if($tipo=='array'){
|
||||||
|
return $campos;
|
||||||
|
}else{
|
||||||
|
return $datos;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function gantt($formulario,$tipo,$div){
|
||||||
|
/// vuelve el array un formulario
|
||||||
|
$array =array();
|
||||||
|
foreach ($formulario as $c =>$v) {$campos .= " <input type= 'hidden' id='$c' name='$c' value='$v'>";}
|
||||||
|
$formularios= "<form autocomplete='off' id='formulario_items' name='formulario_items' >$campos</form>";
|
||||||
|
|
||||||
|
$menu= "$formularios<a href='#' onclick=\"xajax_gantt(xajax.getFormValues('formulario_items'),'','mostrar_gantt'); \" >Actualizar</a>";
|
||||||
|
$proyectos = listado_entradas("$formulario[formulario_proyectos]","","array","","$datos");
|
||||||
|
//$debug = print_r($microtarea,true);
|
||||||
|
foreach ($proyectos as $c =>$v) {
|
||||||
|
$control_proyecto = $v['control'];
|
||||||
|
$nombre_proyecto = $v['nombre'];
|
||||||
|
//$array[$v['nombre']]['name']=$v['nombre'];
|
||||||
|
//$array['id']=$v['control'];
|
||||||
|
$array[$v['nombre']]['id']=$v['control'];
|
||||||
|
$array[$v['nombre']]['name']=$v['nombre'];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$tareas_listado .= "<ul><li><h3>$v[nombre]</h3><ul>";
|
||||||
|
$tareas = listado_entradas("$formulario[formulario_tareas]","","array","$formulario[campo_proyectos]","$control_proyecto");
|
||||||
|
foreach ($tareas as $tareas_c =>$tareas_v) {
|
||||||
|
$control_tareas = $tareas_v['descripcion'];
|
||||||
|
$control_tareas_nombre = $tareas_v['nombre'];
|
||||||
|
$control_descripcion = $tareas_v['control'];
|
||||||
|
// $array[$v['nombre']][$tareas_v['nombre']]=$tareas_v['nombre'];
|
||||||
|
//$tareas_datos = gantt_datos("$tareas_v[control]",'');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$tareas_listado .= "<li><h4>$control_tareas_nombre</h4><ul> $tareas_datos";
|
||||||
|
$microtareas = listado_entradas("$formulario[formulario_microtarea]","","array","$formulario[campo_tareas]","$tareas_v[control]");
|
||||||
|
foreach ($microtareas as $microtareas_c =>$microtareas_v) {
|
||||||
|
|
||||||
|
$control_microtareas = $microtareas_v['descripcion'];
|
||||||
|
$control_microtareas_nombre = $microtareas_v['nombre'];
|
||||||
|
$control_microtareas_descripcion = $microtareas_v['control'];
|
||||||
|
$microtareas_datos = gantt_datos("$microtareas_v[control]",'');
|
||||||
|
$microtareas_array = gantt_datos("$microtareas_v[control]",'array');
|
||||||
|
|
||||||
|
$tareas_array = gantt_datos("$tareas_v[control]",'array');
|
||||||
|
$array[$tareas_v['nombre']]['id']=$tareas_v['control'];
|
||||||
|
$array[$tareas_v['nombre']]['name']=$tareas_v['nombre'];
|
||||||
|
$array[$tareas_v['nombre']]['start']=$tareas_array['start'];
|
||||||
|
$array[$tareas_v['nombre']]['end']=$tareas_array['end'];
|
||||||
|
$array[$tareas_v['nombre']]['restante']=$tareas_array['restante'];
|
||||||
|
$array[$tareas_v['nombre']]['parent']=$control_proyecto;
|
||||||
|
$array[$tareas_v['nombre']]['parent_nombre']=$nombre_proyecto;
|
||||||
|
|
||||||
|
$array[$microtareas_v['nombre']]['id']=$microtareas_v['control'];
|
||||||
|
$array[$microtareas_v['nombre']]['name']=$microtareas_v['nombre'];
|
||||||
|
$array[$microtareas_v['nombre']]['start']=$microtareas_array['start'];
|
||||||
|
$array[$microtareas_v['nombre']]['end']=$microtareas_array['end'];
|
||||||
|
$array[$microtareas_v['nombre']]['restante']=$microtareas_array['restante'];
|
||||||
|
$array[$microtareas_v['nombre']]['parent']=$tareas_v['control'];
|
||||||
|
$array[$microtareas_v['nombre']]['parent_nombre']=$tareas_v['nombre'];
|
||||||
|
///$array["$nombre_proyecto"][$tareas_v['nombre']][$microtareas_v['nombre']]['parent']=$tareas_v['control'];
|
||||||
|
$tareas_listado .= "<li><h5>$control_microtareas_nombre</h5><ul> $microtareas_datos";
|
||||||
|
$participantes = listado_entradas("$formulario[formulario_microtarea_asignacion]","","array","$formulario[campo_microtareas_asignacion]","$microtareas_v[control]");
|
||||||
|
|
||||||
|
foreach ($participantes as $participantes_c =>$participantes_v) {
|
||||||
|
$control_participantes = $participantes_v['descripcion'];
|
||||||
|
$control_participantes_nombre = $participantes_v['nombre'];
|
||||||
|
$control_participantes_descripcion = $participantes_v['control'];
|
||||||
|
$nombre = remplacetas('form_datos','control',"$control_participantes",'contenido'," id_campo='$formulario[campo_equipo]' and form_id = '$formulario[formulario_equipo]'") ;
|
||||||
|
$tareas_listado .= "<li>$nombre[0]</li> ";
|
||||||
|
// $participantes = listado_entradas("$formulario[formulario_microtarea_asignacion]","","array","$formulario[campo_microtarea]","$microtareas_v['control']");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$tareas_listado .= "</ul></li>";
|
||||||
|
|
||||||
|
}
|
||||||
|
$tareas_listado .= "</ul></li></ul>";
|
||||||
|
}
|
||||||
|
$tareas_listado .= "</ul></li></ul>";
|
||||||
|
}
|
||||||
|
//$variables = print_r($array,true);
|
||||||
|
foreach ($array as $clave =>$valor) {
|
||||||
|
|
||||||
|
foreach ($valor as $clave2 =>$valor2) {
|
||||||
|
if(is_numeric($valor2)){$valor2= $valor2;}
|
||||||
|
else{$valor2 = "'$valor2'";}
|
||||||
|
$array_limpio .="'$clave2':$valor2,";
|
||||||
|
}
|
||||||
|
$array_limpio = trim("$array_limpio",",");
|
||||||
|
$array_limpio2 .= "\n{ $array_limpio },";
|
||||||
|
$array_limpio ="";
|
||||||
|
}
|
||||||
|
$array_limpio2 = trim("$array_limpio2",",");
|
||||||
|
if($tipo=='array'){
|
||||||
|
|
||||||
|
return $array_limpio2;
|
||||||
|
}
|
||||||
|
//$variables = json_encode($array_limpio,JSON_PRETTY_PRINT|JSON_FORCE_OBJECT);
|
||||||
|
//$variables .= json_encode($array,JSON_PRETTY_PRINT|JSON_FORCE_OBJECT);
|
||||||
|
//$variables .= print_r($listado,true);
|
||||||
|
$resultado ="
|
||||||
|
|
||||||
|
<div id='mostrar_gantt'>
|
||||||
|
|
||||||
|
$menu
|
||||||
|
|
||||||
|
<pre>$array_limpio2</pre>
|
||||||
|
$tareas_listado
|
||||||
|
|
||||||
|
</div>";
|
||||||
|
|
||||||
|
if($div ==""){
|
||||||
|
|
||||||
|
return $resultado;
|
||||||
|
|
||||||
|
}else{
|
||||||
|
$respuesta = new xajaxResponse('utf-8');
|
||||||
|
//$resultado ="ajax";
|
||||||
|
//$resultado = mostrar_identificador("$control","$form","$plantilla","$tipo","$timestamp");
|
||||||
|
$respuesta->addAssign("$div","innerHTML","$resultado");
|
||||||
|
return $respuesta;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
$xajax->registerFunction("gantt");
|
||||||
|
|
||||||
|
|
||||||
function listado_entradas($formulario,$registros,$tipo,$campo,$key){
|
function listado_entradas($formulario,$registros,$tipo,$campo,$key){
|
||||||
$w_campo = "";
|
$w_campo = "";
|
||||||
@ -8771,17 +8976,20 @@ while($row = mysqli_fetch_array( $sql ))
|
|||||||
}
|
}
|
||||||
// if($campo_tipo[0] =='32') {
|
// if($campo_tipo[0] =='32') {
|
||||||
if($nombre_campo[0] =='Inicio') {
|
if($nombre_campo[0] =='Inicio') {
|
||||||
$array['start'] = "$contenido[0]";
|
$array['start'] = strtotime("$contenido[0]")*1000;
|
||||||
} else {
|
} else {
|
||||||
if($campo_tipo[0] =='32' OR $campo_tipo[0] =='11') {
|
if($campo_tipo[0] =='32' OR $campo_tipo[0] =='11') {
|
||||||
$array['start'] = "$contenido[0]";
|
$array['start'] = strtotime("$contenido[0]")*1000;
|
||||||
}
|
}
|
||||||
// $array['start'] = "$contenido[0]";
|
// $array['start'] = "$contenido[0]";
|
||||||
}
|
}
|
||||||
if($nombre_campo[0] =='Fin') {
|
if($nombre_campo[0] =='Fin') {
|
||||||
$array['end'] = "$contenido[0]";
|
|
||||||
|
$array['end'] = strtotime("$contenido[0]")*1000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* }
|
/* }
|
||||||
elseif($campo_tipo[0] =='11') {
|
elseif($campo_tipo[0] =='11') {
|
||||||
// $array['start'] = "$contenido[0]";
|
// $array['start'] = "$contenido[0]";
|
||||||
@ -10248,6 +10456,7 @@ function cargar_identificador($control,$form,$plantilla,$tipo,$timestamp,$div){
|
|||||||
}
|
}
|
||||||
$xajax->registerFunction("cargar_identificador");
|
$xajax->registerFunction("cargar_identificador");
|
||||||
|
|
||||||
|
|
||||||
function mostrar_identificador($control,$form,$plantilla,$tipo,$timestamp){
|
function mostrar_identificador($control,$form,$plantilla,$tipo,$timestamp){
|
||||||
//$respuesta = mostrar_identificador("$identificador","$row[form_id]","respuesta","$plantilla","$row[timestamp]");
|
//$respuesta = mostrar_identificador("$identificador","$row[form_id]","respuesta","$plantilla","$row[timestamp]");
|
||||||
$datos_form="";
|
$datos_form="";
|
||||||
@ -13036,7 +13245,9 @@ function json($datos){
|
|||||||
|
|
||||||
|
|
||||||
if(!isset ($datos["tipo"] )) { $datos["tipo"]="";}
|
if(!isset ($datos["tipo"] )) { $datos["tipo"]="";}
|
||||||
if ( !isset ( $_SESSION['id_empresa'] ) ) { $publico = "AND form_id.id_empresa = '$datos[proyecto]' AND form_id.publico = '1' "; $w_publico = "WHERE form_id.id_empresa = '$datos[proyecto]' AND form_id.publico = '1' ";
|
if ( !isset ( $_SESSION['id_empresa'] ) ) {
|
||||||
|
$publico = "AND form_id.id_empresa = '$datos[proyecto]' AND form_id.publico = '1' ";
|
||||||
|
$w_publico = "WHERE form_id.id_empresa = '$datos[proyecto]' AND form_id.publico = '1' ";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$publico = "AND form_id.id_empresa = '$datos[proyecto]'";
|
$publico = "AND form_id.id_empresa = '$datos[proyecto]'";
|
||||||
|
Loading…
Reference in New Issue
Block a user