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 .= '
' . implode(' | ', $texto) . "
"; return $output; }