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'), ); drupal_set_title(t('Seguimiento y Control de Acción Específica de Proyecto '.' (Partidas en Mes de '.$meses[$mes].')')); $output = ''; $output .= '
'; $output .= _mostrar_segaepartidas($proyecto, $ae, $mes); $output .= _mostrarleyendazonacritica(); return $output; } /** * Pagina que carga la tabla de seguimiento por partidas de una accion especifica en un mes */ function _mostrar_segaepartidas($proyecto, $ae, $mes) { //reformulaciones aprobadas $ref_aprob = _seguimiento_mesactual_partida_ae_deproyecto_reformulaciones_load($ae, $mes); $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', '.'), ); $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'), ); $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'), ); $header = array(); $header[] = array('data' => t('Partida')); $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')); $consultaseguimientoactual = _seguimiento_mesactual_partida_ae_deproyecto_load($ae, $mes); $partidas_accion_especifica = $ae->field_accion_esp_programacion; foreach ($partidas_accion_especifica as $partida) { if ($partida['tid']) { //calcular la variacion si existe $variacion_por_ref = 0; foreach ($ref_aprob as $id => $ref_aprob_i){ if(($ref_aprob_i['partida'] == $partida['tid'])&&($ref_aprob_i['tomado_en_cuenta'] == 0)){ $variacion_por_ref += $ref_aprob_i['asignado_mes']; $ref_aprob[$id]['tomado_en_cuenta'] = 1; } } $term = taxonomy_get_term($partida['tid']); // If this term's vocabulary supports localization. if (module_exists('i18ntaxonomy') && i18ntaxonomy_vocabulary($term->vid) == I18N_TAXONOMY_LOCALIZE) { $term->name = tt("taxonomy:term:$term->tid:name", $term->name); } $valor = $mes > 0 ? 'value_' . $mes : 'value'; $asignadov = $partida[$valor] + $variacion_por_ref; $acumuladoAsignado += $asignadov; foreach ($consultaseguimientoactual['segmespartidas'] as $consultapartida) {//colocando valor en consulta if($partida['tid']==$consultapartida['partida']){ $comprometidov = isset($consultapartida['comprometido']) && $consultapartida['comprometido'] > 0? $consultapartida['comprometido'] : 0; $causadov = isset($consultapartida['causado']) && $consultapartida['causado'] > 0 ? $consultapartida['causado'] : 0; $pagadov = isset($consultapartida['pagado']) && $consultapartida['pagado'] > 0 ? $consultapartida['pagado'] : 0; $acumuladoComprometido += $comprometidov; $acumuladoCausado += $causadov; $acumuladoPagado += $pagadov; } } $comprometidov = isset($comprometidov) && $asignadov > 0? $comprometidov : 0; $causadov = isset($causadov) && $asignadov > 0? $causadov : 0; $pagadov = isset($pagadov) && $asignadov > 0? $pagadov : 0; $estatus_ejecucion = _calcularzonacritica($asignadov, $causadov); $porczonacritica = $estatus_ejecucion['porczonacritica']; $textozona = $estatus_ejecucion['textozona']; $colorzona = $estatus_ejecucion['colorzona']; $colorfontzona = $estatus_ejecucion['colorfontzona']; $row = array(); $row[] = array('data' => $term->name,); $row[] = array('data' => number_format($asignadov, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($comprometidov, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($causadov, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($pagadov, $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); $rows[] = $row; } } //colocar partidas nuevas por reformulacion ********************************************************************************** foreach ($ref_aprob as $id_0 => $ref_aprob_i_0){ if($ref_aprob_i_0['tomado_en_cuenta']==0){ $ref_aprob[$id_0]['tomado_en_cuenta']=1; //buscar todas las reformulaciones sobre esa partida $variacion_por_ref = $ref_aprob_i_0['asignado_mes']; $partida_actual = $ref_aprob_i_0['partida']; foreach ($ref_aprob as $id => $ref_aprob_i){ if(($ref_aprob_i['partida']==$partida_actual)&&($ref_aprob_i['tomado_en_cuenta']==0)){ $variacion_por_ref += $ref_aprob_i['asignado_mes']; $ref_aprob[$id]['tomado_en_cuenta']=1; } } $term = taxonomy_get_term($partida_actual); // If this term's vocabulary supports localization. if (module_exists('i18ntaxonomy') && i18ntaxonomy_vocabulary($term->vid) == I18N_TAXONOMY_LOCALIZE) { $term->name = tt("taxonomy:term:$term->tid:name", $term->name); } $asignadov = $variacion_por_ref; $acumuladoAsignado += $asignadov; foreach ($consultaseguimientoactual['segmespartidas'] as $consultapartida) {//colocando valor en consulta if($partida_actual==$consultapartida['partida']){ $comprometidov = isset($consultapartida['comprometido']) && $consultapartida['comprometido'] > 0? $consultapartida['comprometido'] : 0; $causadov = isset($consultapartida['causado']) && $consultapartida['causado'] > 0 ? $consultapartida['causado'] : 0; $pagadov = isset($consultapartida['pagado']) && $consultapartida['pagado'] > 0 ? $consultapartida['pagado'] : 0; $acumuladoComprometido += $comprometidov; $acumuladoCausado += $causadov; $acumuladoPagado += $pagadov; } } $comprometidov = isset($comprometidov) && $asignadov > 0? $comprometidov : 0; $causadov = isset($causadov) && $asignadov > 0? $causadov : 0; $pagadov = isset($pagadov) && $asignadov > 0? $pagadov : 0; $estatus_ejecucion = _calcularzonacritica($asignadov, $causadov); $porczonacritica = $estatus_ejecucion['porczonacritica']; $textozona = $estatus_ejecucion['textozona']; $colorzona = $estatus_ejecucion['colorzona']; $colorfontzona = $estatus_ejecucion['colorfontzona']; $row = array(); $row[] = array('data' => $term->name,); $row[] = array('data' => number_format($asignadov, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($comprometidov, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($causadov, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($pagadov, $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); $rows[] = $row; } } $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($acumuladoComprometido, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($acumuladoCausado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => number_format($acumuladoPagado, $format_number['decimals'], $format_number['dec_point'], $format_number['thousands_sep']),); $row[] = array('data' => '', 'colspan' => 2); $rows[] = $row; $output = ''; $grupo = explode('-', $grupos_fields['label']); //cargar el nodo del proyecto al que pertenece $output .= '
' . t('Datos del Proyecto al que pertenece la Acción Específica') . ''; $output .= '' . t('Código del Proyecto') . ': ' . $proyecto->field_proyecto_codigo[0]['value'] . '
'; $output .= '' . t('Nombre del Proyecto') . ': ' . $proyecto->titulo_asignado . '
'; $output .= '
'; $output .= '
' . t('Datos de la Acción Específica') . '' . '
' . t('Nombre de la Acción Específica:') .' ' . $ae->titulo_asignado . '
'. '
'; $output .= '
' . t('Seguimiento de partidas de la Acción Específica') . '' . '
' . t('Mes de Seguimiento Actual:') . ' ' . $meses[$mes] . '

' . theme('table', $header, $rows) ; $infocomplementaria_financiera = isset($consultaseguimientoactual['segmes']['infocomplementaria_metafinanciera']) ? $consultaseguimientoactual['segmes']['infocomplementaria_metafinanciera'] : ''; $output .= '
' . t('Información Complementaria sobre la Meta Financiera:') . ' ' . $infocomplementaria_financiera . '
'; $output .= '
'; $texto = array(); $mes_final = variable_get('seguimiento_proyectos_cantidad_meses_seguimiento', 0); if($mes > 0 && $mes <= $mes_final) { $texto[] = l(t('<< Consultar mes anterior'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . ($mes - 1) . '/view'); if ($mes < $mes_final) { $texto[] = l(t('Consultar mes próximo >>'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . ($mes + 1) . '/view'); } } elseif ($mes == 0) { $texto[] = l(t('Consultar mes próximo>>'), 'proyectosop/' . $proyecto->nid . '/seguimiento/ae/' . $ae->nid . '/' . ($mes + 1) . '/view'); } $output .= '

' . implode(' | ', $texto) . "

"; return $output; }