';
$output .= _mostrar_datos_ae($proyecto, $ae);
$output .= _mostrar_indicadores_metafisica_seg_ae($proyecto, $ae);
$output .= _mostrar_indicadores_financieros_seg_ae($proyecto, $ae);
$output .= _mostrarleyendazonacritica();
return $output;
}
/**
* Pagina que carga los datos generales de una accion especifica (datos del proyecto y datos de la accion)
*/
function _mostrar_datos_ae($proyecto = 0, $ae = 0) {
$output = '';
//cargar el nodo del proyecto al que pertenece
$node_type = content_types('proyectos_operativos');
$fields = $node_type['fields'];
$output .= '
';
$output .= '' . t('Datos del Proyecto al que pertenece la Acción Específica') . ' ';
$output .= '' . $fields['field_proyecto_codigo']['widget']['label'] . ': ' . $proyecto->field_proyecto_codigo[0]['value'] . ' ';
$output .= '' . t('Nombre del Proyecto') . ': '.$proyecto->titulo_asignado.' ';
$output .= '' . $fields['field_proyecto_monto_anual']['widget']['label'] . ': '.number_format($proyecto->field_proyecto_monto_anual[0]['value'], 0, ',', '.').' Bs ';
$output .= ' ';
$tablas = array();//tabla de ubicacion geografica
$header = array();
$header[] = array('data' => t('País'));
$header[] = array('data' => t('Estado'));
$header[] = array('data' => t('Municipio'));
$header[] = array('data' => t('Parroquia'));
$header[] = array('data' => t('Latitud'));
$header[] = array('data' => t('Longitud'));
$rows = array();
$varlugar = array();
$padres = array_reverse(taxonomy_get_parents_all($ae->field_accion_esp_localizacion[0]['value']));
$varlugar[0] = isset($padres[0]) ? $padres[0]->name : '-';
$varlugar[1] = isset($padres[1]) ? $padres[0]->name : '-';
$varlugar[2] = isset($padres[2]) ? $padres[0]->name : '-';
$varlugar[3] = isset($padres[3]) ? $padres[0]->name : '-';
$row[] = array('data' => $varlugar[0],);
$row[] = array('data' => $varlugar[1],);
$row[] = array('data' => $varlugar[2],);
$row[] = array('data' => $varlugar[3],);
$id_field1 = 'field_accion_esp_latitud';
$row[] = array('data' => $ae->{$id_field1}[0]['value'],);
$id_field1 = 'field_accion_esp_longitud';
$row[] = array('data' => $ae->{$id_field1}[0]['value'],);
$rows[] = $row;
$tablas[]= theme('table', $header, $rows);
$output .= '' . t('Datos de la Acción Específica') . ' ';
$output .= '' . t('Nombre de la AE') . ': ' . $ae->titulo_asignado . ' ';
$id_field1 = 'field_accion_esp_fechai';
$fecha = explode(' ', $ae->{$id_field1}[0]['value']);
$fecha = explode('-', $fecha[0]);
$output .= '' . t('Fecha de Inicio'). ': ' . $fecha[2] . '/' . $fecha[1] . '/' . $fecha[0] . ' ';
$id_field1 = 'field_accion_esp_fechaf';
$fecha = explode(' ', $ae->{$id_field1}[0]['value']);
$fecha = explode('-', $fecha[0]);
$output .= '' . t('Fecha Fin') . ': ' . $fecha[2] . '/' . $fecha[1] . '/' . $fecha[0] . ' ';
$id_field1 = 'field_accion_esp_ejecutor';
$output .= '' . t('Ejecutor') . ': '.$ae->{$id_field1}[0]['value'].' ';
$output .= implode('', $tablas).' ';
$output .= ' ';
return $output;
}
/**
* Pagina que carga la tabla de indicadores de meta fisica de la accion especifica
*/
function _mostrar_indicadores_metafisica_seg_ae($proyecto = 0, $ae = 0) {
$output = '';
$ftypes = array(
'value' => t('January'),
'value_1' => t('February'),
'value_2' => t('March'),
'value_3' => t('April'),
'value_4' => t('May'),
'value_5' => t('June'),
'value_6' => t('July'),
'value_7' => t('August'),
'value_8' => t('September'),
'value_9' => t('Octuber'),
'value_10' => t('November'),
'value_11' => t('December'),
);
$meses = json_decode(MESES);
//tabla de indicadores financieros de la accion especifica
$tablas = array();
//_proyectos_reformulacion_load($node->proyecto_asignado);
$header = array();
$header[] = array('data' => t('Mes'));
$header[] = array('data' => t('Planificado'));
$header[] = array('data' => t('Ejecutado'));
$header[] = array('data' => t('% de Logro'));
$header[] = array('data' => t('Estatus de Ejecución'));
$header[] = array('data' => t('Información Complementaria'));
$header[] = array('data' => t('Opciones Disponibles'),);
//calcular planificado
$planificadoMes = array();
$acumuladoPlanificado = 0;
$id_field1 = 'field_accion_esp_metaf';
$i = 0;
/*
print '';
print_r($ae->{$id_field1});
print ' ';
*/
foreach($ae->{$id_field1} as $nombrescampo) {
foreach($ftypes as $ids =>$texto) {
//calcular variacion en el planificado de la meta fisica
$mes = $i;
$variacion_planificado_mes = _seguimiento_mesactual_metafisica_ae_deproyecto_reformulaciones_load($ae, $mes);
$planificadoMes[$i] = $nombrescampo[$ids] + $variacion_planificado_mes;
$acumuladoPlanificado += $planificadoMes[$i];
$i++;
}
}
//cargar y procesar informacion de ejecutado meta fisica y informacion complementaria
$Ejecutado = array();
$infocomplementaria_metafisica = array();
$AcumuladoEjecutado = 0;
$consulta_metafisica_seguimiento_meses = _seguimiento_metafisica_todosmes_ae_deproyecto_load($ae);
/*
print '';
print_r($consulta_metafisica_seguimiento_meses);
print ' ';
*/
// foreach($meses as $mes => $id) {
$asinadovalor=0;
foreach ($consulta_metafisica_seguimiento_meses as $consulta_seguimiento_mes) {//colocando valor en consulta
/*
print '';
print_r($consulta_seguimiento_mes);
print ' ';
*/
$mes = $consulta_seguimiento_mes['mes'];
// if($mes == $consulta_seguimiento_mes['mes']){
$asinadovalor=1;
$Ejecutado[$mes] = $consulta_seguimiento_mes['ejecutadometafisica'];
$infocomplementaria_metafisica[$mes] = isset($consulta_seguimiento_mes['infocomplementaria_metafisica'])? $consulta_seguimiento_mes['infocomplementaria_metafisica']:'';
$AcumuladoEjecutado += is_numeric($Ejecutado[$mes]) ? $Ejecutado[$mes] : 0;//aumenta acumulador
}
// }
/* if ($asinadovalor == 0){
$Ejecutado[$mes] = 'N/A';
$infocomplementaria_metafisica[$mes] = '';
}
}*/
//creacion de la tabla (solo asignacion de valores)
$rows = array();
$i = 0;
foreach ($ftypes as $ids =>$texto) {
$estatus_ejecucion = _calcularzonacritica($planificadoMes[$i], $Ejecutado[$i]);
$porczonacritica = $estatus_ejecucion['porczonacritica'];
$textozona = $estatus_ejecucion['textozona'];
$colorzona = $estatus_ejecucion['colorzona'];
$colorfontzona = $estatus_ejecucion['colorfontzona'];
$row = array();
$row[] = array('data' => $texto,);
//$mesi = $i +1 ;
$mesi = $i;
//si el mes esta dentro del periodo de duracion de la accion especifica
//if(_mes_dentro_de_duracion_ae_proyecto($ae, $mesi)){
$row[] = array('data' => number_format($planificadoMes[$mesi], 0, ',', '.'),);
$valor = isset($Ejecutado[$mesi]) ? number_format($Ejecutado[$mesi], 0, ',', '.') : 'N/A';
$row[] = array('data' => $valor,);
$row[] = array('data' => $porczonacritica,);
$row[] = array('data' => $textozona, 'style' => 'font-weight: bold;background:' . $colorzona . '; color:' . $colorfontzona);
$row[] = array('data' => $infocomplementaria_metafisica[$mesi],);
//if($mes_seguimiento_proyecto_y_aes-1 == $i){
//if(_mes_habilitado_para_seguimiento($mesi) && _proyecto_operativo_seguimiento_modificar_mes_access($proyecto, $mesi)){
if(_mes_habilitado_para_seguimiento($mesi + 1) && _proyecto_operativo_seguimiento_modificar_mes_access($proyecto, $mesi)){
$links = array();
//'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/partidas/' . $i . '/edit'
$links[] = ''.l(t('Modificar'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . $mesi . '/edit/comentario_metafisica').' ';
$row[] = array('data' => theme('item_list', $links),);
//$row[] = array('data' => ''.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_aeproyecto/partidas/'. $i . '/edit').' ',);
}else{
$row[] = array('data' => '',);
}
/* }else{
$row[] = array('data' => '-',);//planificado
$row[] = array('data' => '-',);//ejecutado
$row[] = array('data' => '-',);//porcentaje
$row[] = array('data' => '-',);//estatus de ejecucion
$row[] = array('data' => '-',);//info complementaria
$row[] = array('data' => '-',);
}*/
$rows[] = $row;
$i++;
}
$row = array();
if ($ae->es_acumulativo) {
$row[] = array('data' => t('Acumulado'),);
$row[] = array('data' => number_format($acumuladoPlanificado, 0, ',', '.'),);
$row[] = array('data' => number_format($AcumuladoEjecutado, 0, ',', '.'),);//total ejecutado
$row[] = array('data' => '', 'colspan' => 6);
}
$rows[] = $row;
$tablas[]= theme('table', $header, $rows);
if (count($tablas)) {
$output .= '' . t('Indicadores de la Meta Física de la Acción Específica') . ' ';
$id_field1 = 'field_accion_esp_bien';
$output .= '' . t('Descripción del Bien y Servicio') . ': ' . $ae->{$id_field1}[0]['value'] . ' ';
$term_id = isset($ae->variaciones) && isset($ae->variaciones['field_accion_esp_metaf_'. $ae->nid][0]['unidad']) ? $ae->variaciones['field_accion_esp_metaf_'. $ae->nid][0]['unidad'] : $ae->field_accion_esp_unidadm[0]['value'];
$id_field1 = 'field_accion_esp_unidadm';
$term = taxonomy_get_term($term_id);
$output .= '' . t('Unidad de Medida') . ': ' . $term->name . ' ';
$output .= implode('', $tablas) . ' ';
}
return $output;
}
/**
* Pagina que carga la tabla de indicadores de meta fisica de la accion especifica
*/
function _mostrar_indicadores_financieros_seg_ae($proyecto = 0, $ae = 0) {
$output = '';
$ftypes = array(
'value' => t('January'),
'value_1' => t('February'),
'value_2' => t('March'),
'value_3' => t('April'),
'value_4' => t('May'),
'value_5' => t('June'),
'value_6' => t('July'),
'value_7' => t('August'),
'value_8' => t('September'),
'value_9' => t('Octuber'),
'value_10' => t('November'),
'value_11' => t('December'),
);
$meses = json_decode(MESES);
//tabla de indicadores financieros de la accion especifica
$tablas = array();
$header = array();
$header[] = array('data' => t('Mes'));
$header[] = array('data' => t('Asignado'));
$header[] = array('data' => t('Comprometido'));
$header[] = array('data' => t('Causado'));
$header[] = array('data' => t('Pagado'));
$header[] = array('data' => t('% de Inversión'));
$header[] = array('data' => t('Estatus de la Inversión'));
$header[] = array('data' => t('Información Complementaria'));
$header[] = array('data' => t('Opciones Disponibles'),);
//calcular asignado
$asignadoMes = array();
$i=0;
foreach($ftypes as $ids =>$texto) {
$asignadoMes[$i]=0;
$i += 1;
}
$acumuladoAsignado = 0;
$id_field1 = 'field_accion_esp_programacion';
foreach($ae->{$id_field1} as $partidascampo) {//recorrido a grupo de partidas
$i=0;
foreach($ftypes as $ids =>$texto) {
$asignadoMes[$i] += $partidascampo[$ids];
$acumuladoAsignado += $partidascampo[$ids];
$i += 1;
}
}
//calcular la variación por reformulaciones
for($i=0; $i<12; $i++){
if(_mes_dentro_de_duracion_ae_proyecto($ae, $i)){
$mes = $i;
$variacion_asignado = _seguimiento_mesactual_total_ae_deproyecto_reformulaciones_load($ae, $mes);
$variacion_asignado = isset($variacion_asignado)? $variacion_asignado : 0;
$asignadoMes[$i] += $variacion_asignado;
$acumuladoAsignado += $variacion_asignado;
}
}
//calcular comprometido, causado, pagado
$totalComprometido = array();
$totalCausado = array();
$totalPagado = array();
$infocomplementaria_financiera = array();
$AcumuladoTotalComprometido = 0;
$AcumuladoTotalCausado = 0;
$AcumuladoTotalPagado = 0;
foreach($meses as $it => $id) {
$mes = $it;
$consulta_totales_seguimiento_mes = _seguimiento_mesactual_partida_ae_deproyecto_totales_load($ae, $mes);
$totalComprometido[$mes] = isset($consulta_totales_seguimiento_mes['segmespartidastotales']['totalcomprometido'])? $consulta_totales_seguimiento_mes['segmespartidastotales']['totalcomprometido']: 'N/A';
$totalCausado[$mes] = isset($consulta_totales_seguimiento_mes['segmespartidastotales']['totalcausado'])?$consulta_totales_seguimiento_mes['segmespartidastotales']['totalcausado']: 'N/A';
$totalPagado[$mes] = isset($consulta_totales_seguimiento_mes['segmespartidastotales']['totalpagado'])?$consulta_totales_seguimiento_mes['segmespartidastotales']['totalpagado']: 'N/A';
$infocomplementaria_financiera[$mes] = isset($consulta_totales_seguimiento_mes['segmes']['infocomplementaria_metafinanciera'])? $consulta_totales_seguimiento_mes['segmes']['infocomplementaria_metafinanciera']:'';
$AcumuladoTotalComprometido += is_numeric($totalComprometido[$mes]) ? $totalComprometido[$mes] : 0;
$AcumuladoTotalCausado += is_numeric($totalCausado[$mes]) ? $totalCausado[$mes] : 0;
$AcumuladoTotalPagado += is_numeric($totalPagado[$mes]) ? $totalPagado[$mes] : 0;
}
//$mes_seguimiento_proyecto_y_aes = variable_get('accion_especifica_de_proyecto_seguimiento_mes_seguimiento', 0);
//Asignacion de valores para la creacion de la tabla
$rows = array();
$i = 0;
foreach($ftypes as $ids =>$texto) {
$estatus_inversion = _calcularzonacritica($asignadoMes[$i], $totalCausado[$i]);
$porczonacritica = $estatus_inversion['porczonacritica'];
$textozona = $estatus_inversion['textozona'];
$colorzona = $estatus_inversion['colorzona'];
$colorfontzona = $estatus_inversion['colorfontzona'];
$row = array();
$row[] = array('data' => $texto,);
$mesi = $i;
//si el mes esta dentro del periodo de duracion de la accion especifica
// if (_mes_dentro_de_duracion_ae_proyecto($ae, $mesi)) {
$valor = is_numeric($asignadoMes[$i]) ? number_format($asignadoMes[$i], 0, ',', '.') : $asignadoMes[$i];
$row[] = array('data' => $valor,);
$valor = is_numeric($totalComprometido[$mesi]) ? number_format($totalComprometido[$mesi], 0, ',', '.') : $totalComprometido[$mesi];
$row[] = array('data' => $valor,);
$valor = is_numeric($totalCausado[$mesi]) ? number_format($totalCausado[$mesi], 0, ',', '.') : $totalCausado[$mesi];
$row[] = array('data' => $valor,);
$valor = is_numeric($totalPagado[$mesi]) ? number_format($totalPagado[$mesi], 0, ',', '.') : $totalPagado[$mesi];
$row[] = array('data' => $valor,);
$row[] = array('data' => $porczonacritica,);
$row[] = array('data' => $textozona, 'style' => 'font-weight: bold;background:' . $colorzona . '; color:' . $colorfontzona);
$row[] = array('data' => $infocomplementaria_financiera[$mesi],);
$links = array();
//'proyectosop/%proyectosop/seguimiento/ae/%accion_especifical/partidas/%messegaepartida/view'
if (is_numeric($totalComprometido[$mesi])) {
$links[] = l(t('Seguimiento por partidas'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . $mesi . '/view');
}
if(_mes_habilitado_para_seguimiento($mesi + 1) && _proyecto_operativo_seguimiento_modificar_mes_access($proyecto, $mesi)){
$links[] = ''.l(t('Modificar'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . ($mesi) . '/edit/comentario_informacionfinanciera').' ';
}
$row[] = array('data' => theme('item_list', $links),);
/* }else{
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
$row[] = array('data' => '-',);
}*/
$rows[] = $row;
$i++;
}
$row = array();
if ($ae->es_acumulativo) {
$row[] = array('data' => t('Acumulado'),);
$row[] = array('data' => number_format($acumuladoAsignado, 0, ',', '.'),);
$row[] = array('data' => number_format($AcumuladoTotalComprometido, 0, ',', '.'),);//total comprometido
$row[] = array('data' => number_format($AcumuladoTotalCausado, 0, ',', '.'),);//total causado
$row[] = array('data' => number_format($AcumuladoTotalPagado, 0, ',', '.'),);//total pagado
$row[] = array('data' => '', 'colspan' => 4);
}
$rows[] = $row;
$tablas[]= theme('table', $header, $rows);
if (count($tablas)) {
$output .= '' . t('Indicadores Financieros de la Acción Específica') . ' ' . implode('', $tablas);
$output .= ' ';
}
return $output;
}