'; $output .= _mostrar_datos_proyecto($node); $output .= _mostrar_indicadores_metafisica_seg_proyecto($node); $output .= _mostrar_indicadores_financieros_seg_proyecto($node); if (variable_get('proyectos_operativos_muestra_beneficiario', TRUE)) { $output .= _mostrar_beneficiarios_seg_proyecto($node); } $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_proyecto($node) { $output = ''; $output .= '
Datos del Proyecto Operativo'; $output .= 'Codigo del Proyecto: '.$node->field_proyecto_codigo[0]['value'].'
'; $output .= 'Nombre del Proyecto: '.$node->titulo_asignado.'
'; $id_field1 = 'field_proyecto_fecha_i'; $fecha = explode(' ', $node->{$id_field1}[0]['value']); $output .= 'Fecha de Inicio: '.$fecha[0].'
'; $id_field1 = 'field_proyecto_fecha_f'; $fecha = explode(' ', $node->{$id_field1}[0]['value']); $output .= 'Fecha Fin: ' . $fecha[0] . '
'; $term = taxonomy_get_term($node->field_proyecto_pndes[0]['value']); $output .= 'Estrategia MCTI: '.$term->name.'
'; $output .= 'Objetivo PNDES: '.'
'; $output .= 'Estrategia PNDES: '.'
'; $output .= 'Politica PNDES: '.'
'; $output .= '
'; return $output; } /** * Pagina que carga la tabla de indicadores de meta física del proyecto * revisado 13 marzo 2013 */ function _mostrar_indicadores_metafisica_seg_proyecto($node) { $output = ''; $meses = array( 0 => t('January'), 1 => t('February'), 2 => t('March'), 3 => t('April'), 4 => t('May'), 5 => t('June'), 6 => t('July'), 7 => t('August'), 8 => t('September'), 9 => t('Octuber'), 10 => t('November'), 11 => t('December'), ); $format_number = array( 'decimals' => variable_get('proyectos_operativos_number_decimals', 0), 'dec_point' => variable_get('proyectos_operativos_number_dec_point', ','), 'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'), ); //tabla de indicadores financieros de la accion especifica $tablas = array(); $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'),); $seg_metafisica_todos = _seguimiento_metafisica_todosmes_proyecto_load($node); $rows = array(); for($i=0; $i<12; $i++){ //calcular variacion por reformulacion $variacion_planificado_mes = _seguimiento_mesactual_metafisica_proyecto_reformulaciones_load($node, $i); $planificadoMes = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['planificadoMes'] + $variacion_planificado_mes; $Ejecutado = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['ejecutadoMes']; $infocomplementaria_metafisica = $seg_metafisica_todos['seguimiento_metafisica_todosmes'][$i]['infocomplementaria_metafisica']; $estatus_ejecucion = _calcularzonacritica($planificadoMes, $Ejecutado); $porczonacritica = $estatus_ejecucion['porczonacritica']; $textozona = $estatus_ejecucion['textozona']; $colorzona = $estatus_ejecucion['colorzona']; $colorfontzona = $estatus_ejecucion['colorfontzona']; $row = array(); $row[] = array('data' => $meses[$i],); //si el mes esta dentro del periodo de duracion de la accion especifica if(_mes_dentro_de_duracion_proyecto($node, $i)){ $row[] = array('data' => number_format($planificadoMes, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($Ejecutado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => $porczonacritica,); $row[] = array('data' => $textozona, 'style' => 'font-weight: bold;background:' . $colorzona . '; color:' . $colorfontzona); $row[] = array('data' => $infocomplementaria_metafisica,); if(($node->_workflow == $estado_aprobado && _mes_habilitado_para_seguimiento($i))&&(_periodo_de_seguimiento_proyecto_y_aes_esta_activo())){ $links = array(); $links[] = ''.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_proyecto/mes/' . $i . '/edit').''; $row[] = array('data' => theme('item_list', $links),); }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; } $acumuladoPlanificado = $seg_metafisica_todos['acum']['acumuladoPlanificado']; $AcumuladoEjecutado = $seg_metafisica_todos['acum']['acumuladoEjecutado']; $row = array(); $row[] = array('data' => t('Acumulado'),); $row[] = array('data' => number_format($acumuladoPlanificado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($AcumuladoEjecutado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total ejecutado $row[] = array('data' => '', 'colspan' => 4); $rows[] = $row; $tablas[]= theme('table', $header, $rows); if (count($tablas)) { $output .= '
Indicadores de la Meta Física del Proyecto'; $output .= 'Descripción del Bien y Servicio: '.$node->field_proyecto_descripcion_bien[0]['value'].'
'; $term = taxonomy_get_term($node->field_proyecto_unidadm[0]['value']); $output .= 'Unidad de Medida: '.$term->name.'

'; $output .= implode('', $tablas).'
'; } return $output; } /** * Pagina que carga la tabla de indicadores de meta física de la accion especifica */ function _mostrar_indicadores_financieros_seg_proyecto($node) { $estado_aprobado = variable_get('proyectos_operativos_state_aprobado', NULL); $seguimiento_todos_meses_financiero = _seguimiento_financiero_todosmes_proyecto_load($node); $meses = array( 0 => t('January'), 1 => t('February'), 2 => t('March'), 3 => t('April'), 4 => t('May'), 5 => t('June'), 6 => t('July'), 7 => t('August'), 8 => t('September'), 9 => t('Octuber'), 10 => t('November'), 11 => t('December'), ); $format_number = array( 'decimals' => variable_get('proyectos_operativos_number_decimals', 0), 'dec_point' => variable_get('proyectos_operativos_number_dec_point', ','), 'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'), ); //tabla de indicadores financieros del proyecto $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'),); $rows = array(); for($mes=0; $mes<12; $mes++){ //calcular variación por reformulación $variacion_total_ref_asignado = _seguimiento_mesactual_total_proyecto_reformulaciones_load($node, $mes); $asignadoMes = $seguimiento_todos_meses_financiero['seguimiento_financiero_todosmes'][$mes]['asignadoMes'] + $variacion_total_ref_asignado; $totalComprometido = $seguimiento_todos_meses_financiero['seguimiento_financiero_todosmes'][$mes]['comprometidoMes']; $totalCausado = $seguimiento_todos_meses_financiero['seguimiento_financiero_todosmes'][$mes]['causadoMes']; $totalPagado = $seguimiento_todos_meses_financiero['seguimiento_financiero_todosmes'][$mes]['pagadoMes']; $infocomplementaria_financiera = $seguimiento_todos_meses_financiero['seguimiento_financiero_todosmes'][$mes]['infocomplementaria_metafinanciera']; $estatus_inversion = _calcularzonacritica($asignadoMes, $totalCausado); $porczonacritica = $estatus_inversion['porczonacritica']; $textozona = $estatus_inversion['textozona']; $colorzona = $estatus_inversion['colorzona']; $colorfontzona = $estatus_inversion['colorfontzona']; $row = array(); $row[] = array('data' => $meses[$mes],); //si el mes esta dentro del periodo de duracion del proyecto if(_mes_dentro_de_duracion_proyecto($node, $mes)){ $row[] = array('data' => number_format($asignadoMes, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($totalComprometido, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($totalCausado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($totalPagado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => $porczonacritica,); $row[] = array('data' => $textozona, 'style' => 'font-weight: bold;background:' . $colorzona . '; color:' . $colorfontzona); $row[] = array('data' => $infocomplementaria_financiera,); $links = array(); if(($node->_workflow == $estado_aprobado && _mes_habilitado_para_seguimiento($mes))&&(_periodo_de_seguimiento_proyecto_y_aes_esta_activo())){ $links[] = ''.l(t('Modificar'), 'node/' . $node->nid . '/seguimiento_proyecto/mes/' . $mes . '/edit').''; } $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; } $acumuladoAsignado = $seguimiento_todos_meses_financiero['acum']['acumuladoAsignado']; $AcumuladoTotalComprometido = $seguimiento_todos_meses_financiero['acum']['acumuladoComprometido']; $AcumuladoTotalCausado = $seguimiento_todos_meses_financiero['acum']['acumuladoCausado']; $AcumuladoTotalPagado = $seguimiento_todos_meses_financiero['acum']['acumuladoPagado']; $row = array(); $row[] = array('data' => t('Acumulado'),); $row[] = array('data' => number_format($acumuladoAsignado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($AcumuladoTotalComprometido, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total comprometido $row[] = array('data' => number_format($AcumuladoTotalCausado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total causado $row[] = array('data' => number_format($AcumuladoTotalPagado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),);//total pagado $row[] = array('data' => '', 'colspan' => 4); $rows[] = $row; $tablas[]= theme('table', $header, $rows); if (count($tablas)) { $output .= '
Indicadores Financieros del Proyecto' . implode('', $tablas); $output .= '
Nota: Los valores de \'Comprometido\', \'Causado\' y \'Pagado\', corresponden al total de los seguimiento de las acciones específicas. Si desea modificar estos valores para algun mes, debe modificar los seguimientos de las acciones específicas para ese mes.'; $output .= '
'; } return $output; } /** * Pagina que carga la tabla de seguimiento de beneficiarios */ function _mostrar_beneficiarios_seg_proyecto($node) { $seguimiento_todos_meses_beneficiario = _seguimiento_beneficiario_todosmes_proyecto_load($node); $format_number = array( 'decimals' => variable_get('proyectos_operativos_number_decimals', 0), 'dec_point' => variable_get('proyectos_operativos_number_dec_point', ','), 'thousands_sep' => variable_get('proyectos_operativos_number_thousands_sep', '.'), ); //tabla de indicadores financieros del proyecto $tablas = array(); $header = array(); $header[] = array('data' => t('Beneficiario')); $header[] = array('data' => t('ENE')); $header[] = array('data' => t('FEB')); $header[] = array('data' => t('MAR')); $header[] = array('data' => t('ABR')); $header[] = array('data' => t('MAY')); $header[] = array('data' => t('JUN')); $header[] = array('data' => t('JUL')); $header[] = array('data' => t('AGO')); $header[] = array('data' => t('SEP')); $header[] = array('data' => t('OCT')); $header[] = array('data' => t('NOV')); $header[] = array('data' => t('DIC')); $header[] = array('data' => t('TOTAL'),); $rows = array(); foreach($seguimiento_todos_meses_beneficiario as $seg_benef){ $row = array(); $row[] = array('data' => $seg_benef['nombre'],); for($mes=0; $mes<12; $mes++){ if(_mes_dentro_de_duracion_proyecto($node, $mes)){ $row[] = array('data' => number_format($seg_benef['cant_meses'][$mes], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); }else{ $row[] = array('data' => '-',); } } $row[] = array('data' => number_format($seg_benef['total_benef'], $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $rows[] = $row; } $tablas[]= theme('table', $header, $rows); if (count($tablas)) { $output .= '
Beneficiarios del Proyecto (Durante la Ejecución)' . implode('', $tablas); $output .= '
'; } return $output; } /** * Pagina que muestra la lsita de los seguimientos de las acciones especificas del proyecto */ function seguimiento_proyecto_y_aes_lista_page($node) { drupal_set_title(t('Seguimiento y Control del Proyecto y sus Acciones Específicas')); $output = ''; $output .= '
'; //acciones especificas $output .= '

Acciones Específicas

'; $header = array(); $header[] = array('data' => t('Nombre de la Acción Específica')); $header[] = array('data' => t('Enlace')); $rows = array(); foreach($node->field_proyecto_accion_esp as $accionEspecifica) {//recorrido por todas las acciones especificas $accion_esp_load = node_load($accionEspecifica['nid']); if ($accion_esp_load && $accion_esp_load->type == 'accion_especifica') {//accion especifica cargada $row = array(); $links = array(); $row[] = array('data' => $accion_esp_load->titulo_asignado,); $links[] = ''.l(t('Seguimiento de la AE'), 'node/' . $accion_esp_load->nid . '/seguimiento_aeproyecto').''; $row[] = array('data' => theme('item_list', $links),); $rows[] = $row; } } $output .= theme('table', $header, $rows); //proyecto $output .= '

Proyecto Operativo

'; $header = array(); $header[] = array('data' => t('Nombre del Proyecto')); $header[] = array('data' => t('Enlace')); $rows = array(); $row = array(); $links = array(); $row[] = array('data' => $node->titulo_asignado,); $links[] = ''.l(t('Seguimiento del Proyecto'), 'node/' . $node->nid . '/seguimiento_proyecto').''; $row[] = array('data' => theme('item_list', $links),); $rows[] = $row; $output .= theme('table', $header, $rows); //$nodo_proyecto = node_load($proyecto->nid); if(_proyectooperativo_esta_aprobado($node)){ $meses = array( 0 => t('January'), 1 => t('February'), 2 => t('March'), 3 => t('April'), 4 => t('May'), 5 => t('June'), 6 => t('July'), 7 => t('August'), 8 => t('September'), 9 => t('Octuber'), 10 => t('November'), 11 => t('December'), ); $mes_fase_seg = _obtener_mes_fase_seguimiento_proyecto($node); $enlace_fase_seg = ''.l(t('Fase de Seguimiento ').'('.$meses[$mes_fase_seg].')', 'node/' . $node->nid."/fase_de_seguimiento_proyecto_y_aes/mes/".$mes_fase_seg).''; $output .= '

'; $output .= 'También puede consultar la fase de seguimiento del mes actual para este proyecto operativo a través del siguiente enlace '.$enlace_fase_seg.'.'; $output .= '
'; } return $output; }