set_display($display_id);
$view->override_path = $_GET['q'];
if ($_POST['field_proyecto_unidadm_value'] && is_numeric($_POST['field_proyecto_unidadm_value'])) {
$_POST['unidad_apro'] = $_POST['field_proyecto_unidadm_value'];
}
$view->set_exposed_input($_POST);
$planificado = FALSE;
$ejecutado = FALSE;
$grafico = FALSE;
if (isset($_POST['mostrar']) && count($_POST['mostrar'])) {
foreach($_POST['mostrar'] as $mostrar){
if ($mostrar == 'planificado') {
$planificado = TRUE;
}
elseif($mostrar == 'ejecutado') {
$ejecutado = TRUE;
}
elseif($mostrar == 'grafico') {
$grafico = TRUE;
}
}
}
if (!$planificado && !$ejecutado) {
$view->set_exposed_input(array());
}
$view->pre_execute();
$view->execute();
if (($planificado || $ejecutado) && count($view->result)) {
$ftypes = array(
0 => t('Seleccione'),
'1' => t('January'),
'2' => t('February'),
'3' => t('March'),
'4' => t('April'),
'5' => t('May'),
'6' => t('June'),
'7' => t('July'),
'8' => t('August'),
'9' => t('September'),
'10' => t('Octuber'),
'11' => t('November'),
'12' => t('December'),
);
$new_result = array();
$nids = array();
$mes_inicio = isset($_POST['mes_seguimiento_0']) && isset($ftypes[$_POST['mes_seguimiento_0'] - 1]) ? $_POST['mes_seguimiento_0'] - 1 : 0;
$mes_final = isset($_POST['mes_seguimiento_1']) && isset($ftypes[$_POST['mes_seguimiento_1'] - 1]) ? $_POST['mes_seguimiento_1'] - 1 : 11;
if ($mes_inicio > $mes_final) {
$au = $mes_final;
$mes_final = $mes_inicio;
$mes_inicio = $au;
}
$partidas_labels = array();
$partidas = array();
$categorias = array();
$planificado_values = array();
$seguimiento_values = array();
if (isset($_POST['partidas']) && count($_POST['partidas'])) {
foreach($_POST['partidas'] as $campo){
$partidas[] = $campo;
if ($grafico && ($planificado || $ejecutado)) {
$categorias[$campo] = check_plain($_POST['partida_label_' . $campo]);
}
$partidas_labels[$campo] = isset($_POST['partida_label_' . $campo])? $_POST['partida_label_' . $campo] : FALSE;
}
}
$arreglo_label = array();
$financia = array();
if (isset($_POST['financiamiento']) && count($_POST['financiamiento'])) {
foreach($_POST['financiamiento'] as $campo){
$father = isset($_POST['finaciamiento_father_' . $campo])? $_POST['finaciamiento_father_' . $campo] : FALSE;
if ($father && !isset($arreglo_label[$father])) {
$arreglo_label[$father] = array();
}
if ($father && $_POST['finaciamiento_label_' . $campo]) {
if ($grafico && $planificado) {
$categorias[$campo] = check_plain($_POST['finaciamiento_label_' . $campo]);
}
$financia[] = $campo;
$arreglo_label[$father][$campo] = $_POST['finaciamiento_label_' . $campo];
}
}
}
$node_type = content_types('accion_especifica');
$fields = $node_type['fields'];
$campos = array();
foreach($fields as $id => $field) {
if ($field['module'] == 'number' && $field['multiple'] == 0 && $id != 'field_accion_esp_ponderacion') {
$campos[$id] = 'SUM(a.' . $id . '_value) AS ' . $id;
}
}
$campos_par = array();
for($j = $mes_inicio; $j <= $mes_final; $j++) {
$texto = $j != 0? 'value_' . $j : 'value';
$campos_par[] = 'SUM(p.field_accion_esp_programacion_' . $texto . ')';
}
$campos_partidas = implode(' + ', $campos_par);
$campos_financiamiento = implode(',', $campos);
$estado_aprobado = variable_get('acciones_centralizadas_state_aprobado', NULL);
foreach($view->result as $i => $values) {
$seguimientos = array();
if (!isset($nids[$values->nid])) {
$nodo = node_load($values->nid);
//SE OBTIENE EL SEGUIMIENTO POR PARTIDAS:
if ($ejecutado) {
$resultado = db_query('SELECT SUM(sap.comprometido) AS total_comprometido, sap.partida FROM seguimiento_aeproyecto_partida AS sap LEFT JOIN seguimiento_proyecto AS sp ON sp.id_seg = sap.id_seg LEFT JOIN {seguimiento_aeproyecto} AS saep ON saep.id_seg = sp.id_seg AND saep.mes >= %d AND saep.mes <= %d AND saep.estado = %d WHERE sp.nid = %d GROUP BY sap.partida', $mes_inicio, $mes_final, $estado_aprobado, $nodo->nid);
while ($seguimiento = db_fetch_object($resultado)){
$seguimientos[$seguimiento->partida] = $seguimiento->total_comprometido;
if ($grafico && $ejecutado) {
if (!isset($seguimiento_values[$seguimiento->partida])) {
$seguimiento_values[$seguimiento->partida] = 0;
}
$seguimiento_values[$seguimiento->partida] += $seguimiento->total_comprometido;
}
}
$values->seg_partidas = $seguimientos;
}
$acciones = array();
if ($planificado && count($nodo->field_proyecto_accion_esp)) {
foreach($nodo->field_proyecto_accion_esp as $value) {
if (isset($value['nid']) && $value['nid']) {
$acciones[] = $value['nid'];
}
}
}
$implode_acciones = implode(',', $acciones);
if (count($financia) && count($acciones)) {
$resultado = db_query('SELECT ' . $campos_financiamiento . ' FROM {content_type_accion_especifica} AS a LEFT JOIN {node} AS n ON n.nid = a.nid AND n.vid = a.vid WHERE n.nid IN (%s)', $implode_acciones);
$fuente = db_fetch_object($resultado);
$fuentes = array();
if ($fuente) {
foreach ($financia as $field) {
$varia = isset($nodo->variaciones[$field . '_' . $nodo->nid])? $nodo->variaciones[$field . '_' . $nodo->nid][0]['value'] : 0;
$fuentes[$field] = $fuente->{$field} + $varia;
if ($grafico && $planificado) {
if (!isset($planificado_values[$field])) {
$planificado_values[$field] = 0;
}
$planificado_values[$field] += $fuente->{$field} + $varia;
}
}
}
$values->financiamiento = $fuentes;
}
if (count($acciones)) {
$resultado = db_query('SELECT ' . $campos_partidas . ' AS suma, p.field_accion_esp_programacion_tid FROM {content_field_accion_esp_programacion} AS p LEFT JOIN {node} AS n ON n.nid = p.nid AND n.vid = p.vid WHERE n.nid IN (%s) GROUP BY p.field_accion_esp_programacion_tid', $implode_acciones);
$suma_partidas = array();
$variaciones = array();
foreach($acciones as $nid) {
if (isset($nodo->variaciones['field_accion_esp_programacion_' . $nid])) {
foreach($nodo->variaciones['field_accion_esp_programacion_' . $nid] as $tid => $value) {
$suma = 0;
for($j = $mes_inicio; $j <= $mes_final; $j++) {
$texto = $j != 0? 'value_' . $j : 'value';
$suma += $value[$texto];
}
if (!isset($variaciones[$tid])) {
$variaciones[$tid] = 0;
}
$variaciones[$tid] += $suma;
}
}
}
while($partidas_load = db_fetch_object($resultado)){
$suma_partidas[$partidas_load->field_accion_esp_programacion_tid] = $partidas_load->suma + $variaciones[$partidas_load->field_accion_esp_programacion_tid];
if ($grafico && $planificado) {
if (!isset($planificado_values[$partidas_load->field_accion_esp_programacion_tid])) {
$planificado_values[$partidas_load->field_accion_esp_programacion_tid] = 0;
}
$planificado_values[$partidas_load->field_accion_esp_programacion_tid] += $suma_partidas[$partidas_load->field_accion_esp_programacion_tid];
}
}
$values->suma_partidas = $suma_partidas;
}
$nids[$values->nid] = $values->nid;
$new_result[] = $values;
}
}
$view->result = $new_result;
}
$texto_auxiliar = '';
if (!$planificado && !$ejecutado) {
$texto_auxiliar = '
' . t('Debe seleccionar los datos a mostrar (Planificado y/o Ejecutado)') . '
';
}
$output = '';
$output .= $view->render() . $texto_auxiliar;
if ($grafico && count($categorias)) {
$width = isset($_POST['width']) && is_numeric($_POST['width']) && $_POST['width']? $_POST['width'] : 800;
$height = isset($_POST['height']) && is_numeric($_POST['height']) && $_POST['height']? $_POST['height'] : 400;
$datos_grafica = array(
'labels' => $categorias,
'plan' => $planificado_values,
'exe' => $seguimiento_values,
'exe' => $seguimiento_values,
'planificado' => $planificado,
'ejecutado' => $ejecutado,
'width' => $width,
'height' => $height,
);
$output .= sipp_report2_generate_graph_plan_exe_column($datos_grafica);
}
return $output;
}
/**
* Implementation of sipp_report2_generate_graph_plan_exe_column().
* Display charts report
*/
function sipp_report2_generate_graph_plan_exe_column($datos_grafica) {
$page_content = '';
$path = libraries_get_path('Highcharts-3.0.1');
$options = sipp_report2_generate_graph_plan_exe_column_options($datos_grafica);
if (is_object($options)) {
// Render the chart options object, and retrieve the chart id.
highcharts_render($options);
// Define required and optional chart container attributes.
$attributes = array(
// Required chart id passed by reference.
'id' => $options->chart->renderTo,
// Optionally add styles or any other valid attribute.
'style' => 'height: ' . $datos_grafica['height'] . 'px;width: ' . $datos_grafica['width'] . 'px;'
);
$page_content .= theme_highcharts_chart($options->chart->renderTo);
$page_content .= theme('highcharts_chart', $attributes);
}
$path_biblioteca_Highcharts = libraries_get_path('Highcharts-3.0.1');
drupal_add_js($path_biblioteca_Highcharts . '/js/modules/exporting.js');
return $page_content;
}
/**
* Column-basic highcharts options object.
*
* @see highcharts_render()
*/
function sipp_report2_generate_graph_plan_exe_column_options($datos_grafica) {
$options = new stdClass();
// Chart.
$options->chart = (object)array(
'renderTo' => 'container',
'plotBackgroundColor' => NULL,
'plotBorderWidth' => NULL,
'plotShadow' => FALSE,
);
$options->chart->type = 'column';
// Title.
$options->title->text = t('Reporte de Partidas y fuentes de financiamiento');
$categorias_xAxis = array();
$labels = array();
foreach($datos_grafica['labels'] as $id => $valor_opc_i){
$labels[] = $valor_opc_i;
}
$categorias_xAxis[] = $datos_grafica['labels'];
$options->xAxis->categories = $labels;
$options->yAxis->title->text = t('Monto (Bs)');
$options->yAxis->allowDecimals = FALSE;
$options->tooltip->headerFormat = '{point.key}';
//$options->tooltip->shared = 'true';
$options->tooltip->useHTML = 'true';
$options->tooltip->formatter = "function() {return ''+ this.x + ': '+ Highcharts.numberFormat(this.point.y, 2, '.', ',') +' Bs (' + this.series.name + ')';}";
// Plot options.
$options->plotOptions->column = (object)array(
'allowPointSelect' => TRUE,
'cursor' => 'pointer',
'dataLabels' => array(
'enabled' => FALSE,
),
'showInLegend' => TRUE,
);
// Series.
$options->series = array();
if ($datos_grafica['planificado']) {
$series = new StdClass();
$series->name = t('Planificado');
$series->data = array();
foreach($datos_grafica['labels'] as $id => $valor_opc_i){
$series->data[] = $datos_grafica['plan'][$id];
}
$options->series[] = $series;
}
if ($datos_grafica['ejecutado']) {
$series = new StdClass();
$series->name = t('Ejecutado');
$series->data = array();
foreach($datos_grafica['labels'] as $id => $valor_opc_i){
if (is_numeric($id)) {
$series->data[] = $datos_grafica['exe'][$id];
}
else {
$series->data[] = 0;
}
}
$options->series[] = $series;
}
// Diable credits.
$options->credits->enabled = FALSE;
return $options;
}
/**
* Implementation of sipp_report2_consulta_proyectos_operativos_reporte_page().
* Display consulta de proyectos operativos reports
*/
function sipp_report2_consulta_proyectos_operativos_reporte_page(){
$view = views_get_view('matriz_procesos');
$display_id = 'page_2';
$view->set_display($display_id);
$view->override_path = $_GET['q'];
if ($_POST['field_proyecto_unidadm_value'] && is_numeric($_POST['field_proyecto_unidadm_value'])) {
$_POST['unidad_apro'] = $_POST['field_proyecto_unidadm_value'];
}
$view->set_exposed_input($_POST);
$view->pre_execute();
$view->execute();
if (count($view->result)) {
$ftypes = array(
0 => t('Seleccione'),
'1' => t('January'),
'2' => t('February'),
'3' => t('March'),
'4' => t('April'),
'5' => t('May'),
'6' => t('June'),
'7' => t('July'),
'8' => t('August'),
'9' => t('September'),
'10' => t('Octuber'),
'11' => t('November'),
'12' => t('December'),
);
$new_result = array();
$nids = array();
$mes_inicio = isset($_POST['mes_seguimiento_0']) && isset($ftypes[$_POST['mes_seguimiento_0'] - 1]) ? $_POST['mes_seguimiento_0'] - 1 : 0;
$mes_final = isset($_POST['mes_seguimiento_1']) && isset($ftypes[$_POST['mes_seguimiento_1'] - 1]) ? $_POST['mes_seguimiento_1'] - 1 : 11;
if ($mes_inicio > $mes_final) {
$au = $mes_final;
$mes_final = $mes_inicio;
$mes_inicio = $au;
}
$form = sipp_report2_proyecto_genera_campos_form();
$views = array();
$content = node_build_content($node);
$valores = array();
$title_combos = $form['#title_combos'];
foreach($_POST as $id => $campos){
if (is_array($campos) && count($campos)) {
foreach($campos as $campo) {
if ($campo) {
$valores[$id][] = $campo;
}
}
}
}
foreach($view->result as $i => $values) {
if (!isset($nids[$values->nid])) {
$values->nodo_reporte = sipp_report2_genera_vista_nodo($values->nid, $title_combos, $valores);
$nids[$values->nid] = $values->nid;
$new_result[] = $values;
}
}
$view->result = $new_result;
}
return $view->render();
}
/**
* Implementation of sipp_report2_genera_vista_nodo().
* Generate node display in consulta de proyectos report
*/
function sipp_report2_genera_vista_nodo($nid, $title_combos, $valores){
$node_load = node_load($nid);
$content = node_build_content($node_load);
$views = array();
$views['titulo'] .= '' . $node_load->titulo_asignado . '
';
foreach($title_combos as $id => $campos){
if (isset($valores[$id])) {
$views[$id] = !isset($views[$id]) ? '';
}
else {
foreach($campos as $id_campo => $campo) {
if (isset($valores[$id_campo])) {
$muestra = TRUE;
$views[$id] = !isset($views[$id]) ? '';
}
}
}
$output = '';
if (count($views)) {
$output = implode('', $views);
}
return $output;
}
/**
* Implementation of sipp_report2_resultados_por_unidad_ejecutora_page().
* Display unidad ejecutora reports
*/
function sipp_report2_resultados_por_unidad_ejecutora_page(){
$view = views_get_view('matriz_procesos');
$display_id = 'page_1';
$view->set_display($display_id);
$view->override_path = $_GET['q'];
$view->set_exposed_input($_POST);
$_POST['unidad_apro'] = $_POST['field_proyecto_unidadm_value'] && is_numeric($_POST['field_proyecto_unidadm_value']) ? $_POST['field_proyecto_unidadm_value'] : 0;
$view->pre_execute();
$view->execute();
if (count($view->result)) {
$ftypes = array(
0 => t('Seleccione'),
'1' => t('January'),
'2' => t('February'),
'3' => t('March'),
'4' => t('April'),
'5' => t('May'),
'6' => t('June'),
'7' => t('July'),
'8' => t('August'),
'9' => t('September'),
'10' => t('Octuber'),
'11' => t('November'),
'12' => t('December'),
);
$new_result = array();
$nids = array();
$mes_inicio = isset($_POST['mes_seguimiento_0']) && isset($ftypes[$_POST['mes_seguimiento_0'] - 1]) ? $_POST['mes_seguimiento_0'] - 1 : 0;
$mes_final = isset($_POST['mes_seguimiento_1']) && isset($ftypes[$_POST['mes_seguimiento_1'] - 1]) ? $_POST['mes_seguimiento_1'] - 1 : 11;
if ($mes_inicio > $mes_final) {
$au = $mes_final;
$mes_final = $mes_inicio;
$mes_inicio = $au;
}
foreach($view->result as $i => $values) {
if (!isset($nids[$values->nid])) {
$nodo = node_load($values->nid);
$nids[$values->nid] = $values->nid;
$seguimiento = _seguimiento_financiero_todosmes_proyecto_load_solo_datos_aprobados($nodo);
$metafisica = _seguimiento_metafisica_todosmes_proyecto_load_solo_datos_aprobados($nodo);
$totalCausado = 0;
$asignadoMes = 0;
$metatotalCausado = 0;
$metaasignadoMes = 0;
$totalComprometido = 0;
$totalpagado = 0;
for($j = $mes_inicio; $j <= $mes_final; $j++) {
$asignadoMes += $seguimiento['seguimiento_financiero_todosmes'][$j]['asignadoMes'];
$totalCausado += $seguimiento['seguimiento_financiero_todosmes'][$j]['causadoMes'];
$totalComprometido += $seguimiento['seguimiento_financiero_todosmes'][$j]['comprometidoMes'];
$totalpagado += $seguimiento['seguimiento_financiero_todosmes'][$j]['pagadoMes'];
$metaasignadoMes += $metafisica['seguimiento_metafisica_todosmes'][$j]['planificadoMes'];
$metatotalCausado += $metafisica['seguimiento_metafisica_todosmes'][$j]['ejecutadoMes'];
}
$porc_ejecucion_financiera = $asignadoMes ? (($totalCausado/$asignadoMes) *100) . '%' : 'N/A';
$porc_ejecucion_meta = $metaasignadoMes ? (($metatotalCausado/$metaasignadoMes) *100) . '%' : 'N/A';
$values->meta_asignado = $metaasignadoMes;
$values->meta_causado = $metatotalCausado;
$values->meta_porc = $porc_ejecucion_meta;
$values->finan_asignado = $asignadoMes;
$values->finan_causado = $totalCausado;
$values->finan_comprometido = $totalComprometido;
$values->finan_pagado = $totalpagado;
$values->finan_porc = $porc_ejecucion_financiera;
if ($values->proyectos_reformular_id_ref && $values->proyectos_reformular_unidad) {
$values->node_data_field_proyecto_unidadm_field_proyecto_unidadm_value = $values->proyectos_reformular_unidad;
}
$new_result[] = $values;
}
}
$view->result = $new_result;
}
return $view->render();
}
/**
* Implementation of sipp_report2_matriz_de_procesos_reporte_page().
* Display matriz de procesos reports
*/
function sipp_report2_matriz_de_procesos_reporte_page(){
$view = views_get_view('matriz_procesos');
$display_id = 'default';
$view->set_display($display_id);
$view->override_path = $_GET['q'];
$view->set_exposed_input($_POST);
$_POST['unidad_apro'] = $_POST['field_proyecto_unidadm_value'] && is_numeric($_POST['field_proyecto_unidadm_value']) ? $_POST['field_proyecto_unidadm_value'] : 0;
$view->pre_execute();
$view->execute();
if (count($view->result)) {
$ftypes = array(
0 => t('Seleccione'),
'1' => t('January'),
'2' => t('February'),
'3' => t('March'),
'4' => t('April'),
'5' => t('May'),
'6' => t('June'),
'7' => t('July'),
'8' => t('August'),
'9' => t('September'),
'10' => t('Octuber'),
'11' => t('November'),
'12' => t('December'),
);
$new_result = array();
$nids = array();
$mes_inicio = isset($_POST['mes_seguimiento_0']) && isset($ftypes[$_POST['mes_seguimiento_0'] - 1]) ? $_POST['mes_seguimiento_0'] - 1 : 0;
$mes_final = isset($_POST['mes_seguimiento_1']) && isset($ftypes[$_POST['mes_seguimiento_1'] - 1]) ? $_POST['mes_seguimiento_1'] - 1 : 11;
if ($mes_inicio > $mes_final) {
$au = $mes_final;
$mes_final = $mes_inicio;
$mes_inicio = $au;
}
foreach($view->result as $i => $values) {
if (!isset($nids[$values->nid])) {
$nodo = node_load($values->nid);
$nids[$values->nid] = $values->nid;
$seguimiento = _seguimiento_financiero_todosmes_proyecto_load_solo_datos_aprobados($nodo);
$metafisica = _seguimiento_metafisica_todosmes_proyecto_load_solo_datos_aprobados($nodo);
$totalCausado = 0;
$asignadoMes = 0;
$metatotalCausado = 0;
$metaasignadoMes = 0;
for($j = $mes_inicio; $j <= $mes_final; $j++) {
$asignadoMes += $seguimiento['seguimiento_financiero_todosmes'][$j]['asignadoMes'];
$totalCausado += $seguimiento['seguimiento_financiero_todosmes'][$j]['causadoMes'];
$metaasignadoMes += $metafisica['seguimiento_metafisica_todosmes'][$j]['planificadoMes'];
$metatotalCausado += $metafisica['seguimiento_metafisica_todosmes'][$j]['ejecutadoMes'];
}
$porc_ejecucion_financiera = $asignadoMes ? (($totalCausado/$asignadoMes) *100) . '%' : 'N/A';
$porc_ejecucion_meta = $metaasignadoMes ? (($metatotalCausado/$metaasignadoMes) *100) . '%' : 'N/A';
$values->meta_asignado = $metaasignadoMes;
$values->meta_causado = $metatotalCausado;
$values->meta_porc = $porc_ejecucion_meta;
$values->finan_asignado = $asignadoMes;
$values->finan_causado = $totalCausado;
$values->finan_porc = $porc_ejecucion_financiera;
if ($values->proyectos_reformular_id_ref && $values->proyectos_reformular_unidad) {
$values->node_data_field_proyecto_unidadm_field_proyecto_unidadm_value = $values->proyectos_reformular_unidad;
}
$new_result[] = $values;
}
}
$view->result = $new_result;
}
return $view->render();
}
/**
* Implementation of hook__menu_alter().
*/
function sipp_report2_menu_alter(&$items) {
$items['principal']['page callback'] = 'sipp_report2_menu_principal_inicio_page';
$items['inicio']['page callback'] = 'sipp_report2_pagina_inicio_page';
}
/**
* Implementation of sipp_report2_menu_principal_inicio_page().
* Display alter menu principal
*/
function sipp_report2_menu_principal_inicio_page(){
$output = menu_principal_inicio_page();
// $output .= sipp_report2_page();
return $output;
}
/**
* Implementation of sipp_report2_pagina_inicio_page().
* Display alter pagina inicio
*/
function sipp_report2_pagina_inicio_page() {
global $user;
if($user->uid > 0){
$page_content = sipp_report2_menu_principal_inicio_page();
}
else {
$page_content = pagina_inicio_page();
}
return $page_content;
}
/*
* Implementation of hook_menu()
*/
function sipp_report2_menu() {
$items = array();
$items['sipp_report2'] = array(
'title' => t('Reportes'),
'page callback' => 'sipp_report2_page',
'access callback' => true,
'type' => MENU_CALLBACK,
);
$items['sipp_report2/matriz_de_procesos'] = array(
'title' => t('Matríz de Procesos'),
'page callback' => 'sipp_report2_matriz_de_procesos_reporte_page',
'access callback' => true,
'type' => MENU_LOCAL_TASK,
'weight' => 1,
);
$items['sipp_report2/resultados_por_unidad_ejecutora'] = array(
'title' => t('Resultados por Unidad Ejecutora'),//Mensual
'page callback' => 'sipp_report2_resultados_por_unidad_ejecutora_page',
'access callback' => true,
'type' => MENU_LOCAL_TASK,
'weight' => 2,
);
$items['sipp_report2/consulta_proyectosoperativos'] = array(
'title' => t('Consulta de Proyectos Operativos'),
'page callback' => 'sipp_report2_consulta_proyectos_operativos_reporte_page',
'access callback' => true,
'type' => MENU_LOCAL_TASK,
'weight' => 5,
);
$items['sipp_report2/consulta_partidas_fuentes'] = array(
'title' => t('Reporte de Partidas'),
'page callback' => 'sipp_report2_consulta_partidas_fuentes_page',
'access callback' => true,
'type' => MENU_LOCAL_TASK,
'weight' => 5,
);
return $items;
}
/**
* Implementation of sipp_report2_page().
* Display menu nuevos reportes
*/
function sipp_report2_page(){
$path_modulo_menu_principal = drupal_get_path('module', 'principal_inicio_sipp');
//reportes disponibles
$page_content .= '
';
$page_content .= 'Nuevos Reportes
';
$page_content .= '';
$image_tag = theme_image($path_modulo_menu_principal.'/img/reportes/matrizprocesos.png').'
'.''.t('Matriz de Procesos').'';
$page_content .= "".l($image_tag, 'sipp_report2/matriz_de_procesos', array('html'=>TRUE))." | ";
$image_tag = theme_image($path_modulo_menu_principal.'/img/reportes/unidadejecutora.png').'
'.''.t('Resultados por Unidad Ejecutora').'';
$page_content .= "".l($image_tag, 'sipp_report2/resultados_por_unidad_ejecutora', array('html'=>TRUE))." | ";
$image_tag = theme_image($path_modulo_menu_principal.'/img/reportes/areasestrategicasdelministerio.png').'
'.''.t('Partidas y Fuentes de Financiamiento').'';
$page_content .= "".l($image_tag, 'sipp_report2/consulta_partidas_fuentes', array('html'=>TRUE))." | ";
$image_tag = theme_image($path_modulo_menu_principal.'/img/reportes/consultadeproyectos.png').'
'.''.t('Consultas de Proyectos').'';
$page_content .= "".l($image_tag, 'sipp_report2/consulta_proyectosoperativos', array('html'=>TRUE))." | ";
$page_content .= '
';
$page_content .= '
';
return $page_content;
}
/**
* Implementation of hook_views_api().
*/
function sipp_report2_views_api() {
return array(
'api' => '2.0',
'path' => drupal_get_path('module', 'sipp_report2') . '/views',
);
}
/*
* hook_form_alter()
*/
function sipp_report2_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'views_exposed_form') {
if ($form['#id'] == 'views-exposed-form-matriz-procesos-default' || $form['#id'] == 'views-exposed-form-matriz-procesos-page-1' || $form['#id'] == 'views-exposed-form-matriz-procesos-page-2' || $form['#id'] == 'views-exposed-form-matriz-procesos-page-3') {
$form['#method'] = 'post';
$info = array();
$ftypes = array(
0 => t('Seleccione'),
'1' => t('January'),
'2' => t('February'),
'3' => t('March'),
'4' => t('April'),
'5' => t('May'),
'6' => t('June'),
'7' => t('July'),
'8' => t('August'),
'9' => t('September'),
'10' => t('Octuber'),
'11' => t('November'),
'12' => t('December'),
);
$form['mes_seguimiento_0'] = array(
'#type' => 'select',
'#default_value' => 0,
'#options' => $ftypes,
);
$form['mes_seguimiento_1'] = array(
'#type' => 'select',
'#default_value' => 0,
'#options' => $ftypes,
);
$campo = $form['#id'] == 'views-exposed-form-matriz-procesos-page-3' ? 'filter-year' : 'filter-field_proyecto_status_value_many_to_one';
foreach($form['#info'] as $id => $value) {
if ($id == $campo) {
$instance = array();
$instance['value'] = 'mes_seguimiento_0';
$instance['label'] = t('Desde');
$instance['operator'] = NULL;
$info['filter-' . 'mes_seguimiento_0'] = $instance;
$instance = array();
$instance['value'] = 'mes_seguimiento_1';
$instance['label'] = t('Hasta');
$instance['operator'] = NULL;
$info['filter-' . 'mes_seguimiento_1'] = $instance;
}
$info[$id] = $value;
}
$form['#info'] = $info;
if ($form['#id'] != 'views-exposed-form-matriz-procesos-page-3') {
$form['#info']['filter-unidad_apro']['label'] = '';
$form['unidad_apro'] = array('#type' => 'hidden', '#value' => isset($_POST['unidad_apro']) ? $_POST['unidad_apro'] : 0);
}
}
}
if ($form['#id'] == 'views-exposed-form-matriz-procesos-page-2') {
$form1 = sipp_report2_proyecto_genera_campos_form();
foreach($form1['#title_combos'] as $id => $varia) {
$instance = array();
$instance['value'] = $id;;
$instance['operator'] = NULL;
$form['#info']['filter-' . $id] = $instance;
}
$instance = array();
$instance['value'] = 'ae';
$instance['operator'] = NULL;
$form['#info']['filter-ae'] = $instance;
$instance = array();
$instance['value'] = 'otros';
$instance['operator'] = NULL;
$form['#info']['filter-otros'] = $instance;
$instance = array();
$instance['value'] = 'proyectos_reformulacion';
$instance['operator'] = NULL;
$form['#info']['filter-proyectos_reformulacion'] = $instance;
$form += $form1;
}
if ($form['#id'] == 'views-exposed-form-matriz-procesos-page-3') {
$field = content_fields('field_accion_esp_programacion', 'accion_especifica');
$tree = taxonomy_get_tree($field['vid']);
$vtid = $field['vtid'];
$partidas = array();
if ($tree) {
foreach ($tree as $term) {
if (isset($vtid[$term->tid])) {
$form['partida_label_' . $term->tid] = array('#type' => 'hidden', '#value' => $term->name);
$partidas[$term->tid] = $term->name;
}
}
}
if (count($partidas)) {
$form['partidas'] = array(
'#type' => 'checkboxes',
'#default_value' => 0,
'#options' => $partidas,
);
$instance = array();
$instance['value'] = 'partidas';
$instance['label'] = t('Partidas');
$instance['operator'] = NULL;
$form['#info']['filter-' . 'partidas'] = $instance;
}
//financiamiento
$arreglo_financiamiento = array();
$accion_especifica_number_fields = variable_get('accion_especifica_number_fields', 4);
if ($accion_especifica_number_fields > 0) {
for($i = 0; $i < $accion_especifica_number_fields; $i++) {
$arreglo_financiamiento['financiamiento_' . $i] = variable_get('accion_especifica_financiamiento_label_' . $i, '') ? variable_get('accion_especifica_financiamiento_label_' . $i, '') : '';
$arreglo_campos = variable_get('accion_especifica_financiamiento_options_' . $i, array());
foreach($arreglo_campos as $id_cam) {
if ($id_cam) {
$field = content_fields($id_cam, 'accion_especifica');
$form['finaciamiento_father_' . $id_cam] = array('#type' => 'hidden', '#value' => $arreglo_financiamiento['financiamiento_' . $i]);
$form['finaciamiento_label_' . $id_cam] = array('#type' => 'hidden', '#value' => $field['widget']['label']);
$arreglo_financiamiento_fields[$arreglo_financiamiento['financiamiento_' . $i]][$id_cam] = $field['widget']['label'];
}
}
}
}
if (count($arreglo_financiamiento_fields)) {
$form['financiamiento'] = array(
'#type' => 'select',
'#default_value' => 0,
'#options' => $arreglo_financiamiento_fields,
'#multiple' => TRUE,
);
$instance = array();
$instance['value'] = 'financiamiento';
$instance['label'] = t('Fuentes de Financiamiento');
$instance['operator'] = NULL;
$form['#info']['filter-' . 'financiamiento'] = $instance;
}
$mostrar = array(
'planificado' => t('Planificado'),
'ejecutado' => t('Ejecutado'),
'grafico' => t('Mostrar Gráfico'),
);
$form['mostrar'] = array(
'#type' => 'checkboxes',
'#default_value' => 0,
'#options' => $mostrar,
);
$instance = array();
$instance['value'] = 'mostrar';
$instance['operator'] = NULL;
$form['#info']['filter-' . 'mostrar'] = $instance;
drupal_add_js(drupal_get_path('module','sipp_report2').'/js/sipp_report2.js');
$form['graph_dimesions'] = array(
'#type' => 'fieldset',
'#title' => t('Dimensiones del Gráfico'),
'#collapsible' => FALSE,
'#collapsed' => 0,
'#tree' => FALSE,
);
$form['graph_dimesions']['width'] = array(
'#type' => 'textfield',
'#title' => t('Ancho'),
'#default_value' => $node->title,
'#size' => 20,
'#maxlength' => 10,
);
$form['graph_dimesions']['height'] = array(
'#type' => 'textfield',
'#title' => t('Largo'),
'#default_value' => $node->title,
'#size' => 20,
'#maxlength' => 10,
);
$instance = array();
$instance['value'] = 'graph_dimesions';
$instance['operator'] = NULL;
$form['#info']['filter-' . 'graph_dimesions'] = $instance;
}
}
/**
* Implementation of sipp_report2_proyecto_genera_campos_form().
* Formulario con todos los campos disponibles en el proyecto.
*/
function sipp_report2_proyecto_genera_campos_form() {
$form = array();
$node_type = content_types('proyectos_operativos');
$fields = $node_type['fields'];
//DATOS BASICOS
//Datos Básicos de Identificación del Proyecto
$title_combos = array();
$title_combos['db']['title'] = t('Datos Básicos');
$arreglo['db']['identificacion'] = array();
$arreglo['db']['identificacion'] = array(
'title' => t('Nombre del Proyecto'),
'field_proyecto_codigo' => 'field_proyecto_codigo',
'field_proyecto_fecha_i' => 'field_proyecto_fecha_i',
'field_proyecto_fecha_f' => 'field_proyecto_fecha_f',
'field_proyecto_status' => 'field_proyecto_status',
'field_proyecto_situacion_p' => 'field_proyecto_situacion_p',
'field_proyecto_plurianual' => 'field_proyecto_plurianual',
'field_proyecto_monto_anual' => 'field_proyecto_monto_anual',
'field_proyecto_total' => 'field_proyecto_total',
'field_proyecto_poan' => 'field_proyecto_poan',
);
$title_combos['db']['identificacion']['title'] = t('Datos Básicos de Identificación del Proyecto');
//Gerente del Proyecto
$arreglo['db']['gerentep'] = array();
$arreglo['db']['gerentep'] = array(
'field_proyecto_ente' => 'field_proyecto_ente',
'field_proyecto_autoridad' => 'field_proyecto_autoridad',
'field_proyecto_lider' => 'field_proyecto_lider',
'field_proyecto_unidad_a' => 'field_proyecto_unidad_a',
'field_proyecto_cargo' => 'field_proyecto_cargo',
'field_proyecto_telefono' => 'field_proyecto_telefono',
'field_proyecto_correo' => 'field_proyecto_correo',
);
$title_combos['db']['gerentep']['title'] = t('Gerente del Proyecto');
//Área Estrategica
$pndes = variable_get('proyectos_operativos_muestra_pndes', TRUE);
$mcti = variable_get('proyectos_operativos_muestra_mcti', TRUE);
$arreglo['db']['areae'] = array();
if ($pndes) {
$arreglo['db']['areae']['field_proyecto_pndes'] = 'field_proyecto_pndes';
}
if ($mcti) {
$arreglo['db']['areae']['field_proyecto_mcti'] = 'field_proyecto_mcti';
}
$title_combos['db']['areae']['title'] = t('Área Estratégica');
//DATOS GENERALES
$title_combos['dg']['title'] = t('Datos Generales');
//Clasificación Sectorial
$arreglo['dg']['sector'] = array();
$arreglo['dg']['sector'] = array(
'field_proyecto_sector' => 'field_proyecto_sector',
);
$title_combos['dg']['sector']['title'] = t('Clasificación Sectorial');
//Talento Humano
$arreglo['dg']['talentoh'] = array();
if (variable_get('proyectos_operativos_muestra_talento', TRUE)) {
$arreglo['dg']['talentoh'] = array(
'field_proyecto_institucionth' => 'field_proyecto_institucionth',
'field_proyecto_nombres_a' => 'field_proyecto_nombres_a',
'field_proyecto_cargo_th' => 'field_proyecto_cargo_th',
'field_proyecto_rol_th' => 'field_proyecto_rol_th',
'field_proyecto_esfuerzo' => 'field_proyecto_esfuerzo',
'field_proyecto_formacion' => 'field_proyecto_formacion',
);
}
$title_combos['dg']['talentoh']['title'] = t('Talento Humano');
//Capacidades
$arreglo['dg']['capacidades'] = array();
if (variable_get('proyectos_operativos_muestra_capacidades', TRUE)) {
$arreglo['dg']['capacidades'] = array(
'field_proyecto_institucion_alc' => 'field_proyecto_institucion_alc',
'field_proyecto_infraestructura' => 'field_proyecto_infraestructura',
'field_proyecto_equipos' => 'field_proyecto_equipos',
'field_proyecto_insumos' => 'field_proyecto_insumos',
'field_proyectos_servicios' => 'field_proyectos_servicios',
);
}
$title_combos['dg']['capacidades']['title'] = t('Capacidades');
//Instituciones
$arreglo['dg']['relacion'] = array();
$arreglo['dg']['relacion'] = array(
'field_proyecto_relacion' => 'field_proyecto_relacion',
);
$title_combos['dg']['relacion']['title'] = t('Instituciones');
//Empleos Generados
$arreglo['dg']['empleosg'] = array();
if (variable_get('proyectos_operativos_muestra_beneficiario', TRUE)) {
$arreglo['dg']['empleosg'] = array(
'field_proyecto_emdirecto' => 'field_proyecto_emdirecto',
'field_proyecto_efdirecto' => 'field_proyecto_efdirecto',
);
if (variable_get('proyectos_operativos_muestra_beneficiarios_indirectos', TRUE)) {
$arreglo['dg']['empleosg']['field_proyecto_emindirecto'] = 'field_proyecto_emindirecto';
$arreglo['dg']['empleosg']['field_proyecto_efindirecto'] = 'field_proyecto_efindirecto';
}
}
$title_combos['dg']['empleosg']['title'] = t('Empleos Generados');
//Objetivos del Proyecto
$arreglo['dg']['objetivosp'] = array();
$arreglo['dg']['objetivosp'] = array(
'field_proyecto_og' => 'field_proyecto_og',
'field_proyecto_oe' => 'field_proyecto_oe',
);
//INDICADORES DEL PROYECTO
//Enunciado del Problema
$title_combos['ip']['title'] = t('Indicadores del Proyecto');
$arreglo['ip']['enunciadop'] = array();
if (variable_get('proyectos_operativos_muestra_enunciado_problema', TRUE)) {
$arreglo['ip']['enunciadop'] = array(
'field_proyecto_causas' => 'field_proyecto_causas',
'field_proyecto_problemas' => 'field_proyecto_problemas',
'field_proyecto_consecuencias' => 'field_proyecto_consecuencias',
);
}
$title_combos['ip']['enunciadop']['title'] = t('Enunciado del Problema');
//Justificación del Proyecto
$arreglo['ip']['justificacion'] = array();
if (variable_get('proyectos_operativos_muestra_justicacion', TRUE)) {
$arreglo['ip']['justificacion'] = array(
'field_proyecto_justificacion' => 'field_proyecto_justificacion',
);
}
$title_combos['ip']['justificacion']['title'] = t('Justificación del Proyecto');
//Alcance del Proyecto
$arreglo['ip']['alcance'] = array();
if (variable_get('proyectos_operativos_muestra_alcance', TRUE)) {
$arreglo['ip']['alcance'] = array(
'field_proyecto_alcance' => 'field_proyecto_alcance',
);
}
$title_combos['ip']['alcance']['title'] = t('Alcance del Proyecto');
//Situación Actual del Proyecto
$arreglo['ip']['situaciona'] = array();
if (variable_get('proyectos_operativos_muestra_sa', TRUE)) {
$arreglo['ip']['situaciona'] = array(
'field_proyecto_sa_descripcion' => 'field_proyecto_sa_descripcion',
);
if (variable_get('proyectos_operativos_muestra_sa_cuantificacion', TRUE)) {
$arreglo['ip']['situaciona']['field_proyecto_sa_cuantificacion'] = 'field_proyecto_sa_cuantificacion';
}
$arreglo['ip']['situaciona']['field_proyecto_sa_formulai'] = 'field_proyecto_sa_formulai';
$arreglo['ip']['situaciona']['field_proyecto_sa_fuentei'] = 'field_proyecto_sa_fuentei';
$arreglo['ip']['situaciona']['field_proyecto_sa_fecha'] = 'field_proyecto_sa_fecha';
}
$title_combos['ip']['situaciona']['title'] = t('Situación Actual del Proyecto');
//Situación Objetivo
$arreglo['ip']['situaciono'] = array();
if (variable_get('proyectos_operativos_muestra_so', TRUE)) {
$arreglo['ip']['situaciono'] = array(
'field_proyecto_so_descripcion' => 'field_proyecto_so_descripcion',
'field_proyecto_so_cuantificacion' => 'field_proyecto_so_cuantificacion',
'field_proyecto_tiempoi' => 'field_proyecto_tiempoi',
);
}
$title_combos['ip']['situaciono']['title'] = t('Situación Objetivo del Proyecto');
//Indicador del resultado del Proyecto
$arreglo['ip']['resultadop'] = array();
$arreglo['ip']['resultadop'] = array(
'field_proyecto_descripcion_bien' => 'field_proyecto_descripcion_bien',
'field_proyecto_unidadm' => 'field_proyecto_unidadm',
'field_proyecto_meta_fisica' => 'field_proyecto_meta_fisica',
);
$title_combos['ip']['resultadop']['title'] = t('Indicador del resultado del Proyecto');
$campos['todos-los-campos'] = t('Mostrar todos los campos');
//$campos['title'] = t('Nombre del Proyecto');
if (count($fields)) {
foreach($fields as $id => $field) {
if (!$field['display_settings']['full']['exclude']) {
//DATOS BASICOS DEL PROYECTO
//Datos Básicos de Identificación del Proyecto
if (array_key_exists($id, $arreglo['db']['identificacion'])) {
$arreglo['db']['identificacion'][$id] = $field['widget']['label'];
}
//Gerente del Proyecto
elseif(array_key_exists($id, $arreglo['db']['gerentep'])) {
$arreglo['db']['gerentep'][$id] = $field['widget']['label'];
}
//Área Estrategica
elseif(array_key_exists($id, $arreglo['db']['areae'])) {
$arreglo['db']['areae'][$id] = $field['widget']['label'];
}
//DATOS GENERALES
//Clasificación Sectorial
elseif(array_key_exists($id, $arreglo['dg']['sector'])) {
$arreglo['dg']['sector'][$id] = $field['widget']['label'];
}
//Talento Humano
elseif(array_key_exists($id, $arreglo['dg']['talentoh'])) {
$arreglo['dg']['talentoh'][$id] = $field['widget']['label'];
}
//Capacidades
elseif(array_key_exists($id, $arreglo['dg']['capacidades'])) {
$arreglo['dg']['capacidades'][$id] = $field['widget']['label'];
}
//Instituciones
elseif(array_key_exists($id, $arreglo['dg']['relacion'])) {
$arreglo['dg']['relacion'][$id] = $field['widget']['label'];
}
//Empleos Generados
elseif(array_key_exists($id, $arreglo['dg']['empleosg'])) {
$arreglo['dg']['empleosg'][$id] = $field['widget']['label'];
}
//Objetivos del Proyecto
elseif(array_key_exists($id, $arreglo['dg']['objetivosp'])) {
$arreglo['dg']['objetivosp'][$id] = $field['widget']['label'];
}
//INDICADORES DEL PROYECTO
//Enunciado del Problema
elseif(array_key_exists($id, $arreglo['ip']['enunciadop'])) {
$arreglo['ip']['enunciadop'][$id] = $field['widget']['label'];
}
//Justificación del Proyecto
elseif(array_key_exists($id, $arreglo['ip']['justificacion'])) {
$arreglo['ip']['justificacion'][$id] = $field['widget']['label'];
}
//Alcance del Proyecto
elseif(array_key_exists($id, $arreglo['ip']['alcance'])) {
$arreglo['ip']['alcance'][$id] = $field['widget']['label'];
}
//Situación Actual del Proyecto
elseif(array_key_exists($id, $arreglo['ip']['situaciona'])) {
$arreglo['ip']['situaciona'][$id] = $field['widget']['label'];
}
//Situación Objetivo
elseif(array_key_exists($id, $arreglo['ip']['situaciono'])) {
$arreglo['ip']['situaciono'][$id] = $field['widget']['label'];
}
//Indicador del resultado del Proyecto
elseif(array_key_exists($id, $arreglo['ip']['resultadop'])) {
$arreglo['ip']['resultadop'][$id] = $field['widget']['label'];
}
//DATOS BASICOS DEL PROYECTO
//Datos Básicos de Identificación del Proyecto
elseif (variable_get('proyectos_operativos_ac_d_' . $id, FALSE)) {
$arreglo['db']['identificacion'][$id] = $field['widget']['label'];
}
//Gerente del Proyecto
elseif (variable_get('proyectos_operativos_ac_di_' . $id, FALSE)) {
$arreglo['db']['gerentep'][$id] = $field['widget']['label'];
}
//Área Estrategica
elseif (variable_get('proyectos_operativos_ac_p_' . $id, FALSE)) {
$arreglo['db']['areae'][$id] = $field['widget']['label'];
}
//DATOS GENERALES
//Clasificación Sectorial
elseif (variable_get('proyectos_operativos_dg_s_' . $id, FALSE)) {
$arreglo['dg']['sector'][$id] = $field['widget']['label'];
}
//Instituciones
elseif (variable_get('proyectos_operativos_dg_r_' . $id, FALSE)) {
$arreglo['dg']['relacion'][$id] = $field['widget']['label'];
}
//Objetivos del Proyecto
elseif (variable_get('proyectos_operativos_dg_o_' . $id, FALSE)) {
$arreglo['dg']['objetivosp'][$id] = $field['widget']['label'];
}
//Enunciado del Problema
elseif (variable_get('proyectos_operativos_ip_in_' . $id, FALSE)) {
$arreglo['ip']['enunciadop'][$id] = $field['widget']['label'];
}
//Alcance del Proyecto
elseif (variable_get('proyectos_operativos_ip_al_' . $id, FALSE)) {
$arreglo['ip']['alcance'][$id] = $field['widget']['label'];
}
//Justificación del Proyecto
elseif (variable_get('proyectos_operativos_ip_ju_' . $id, FALSE)) {
$arreglo['ip']['justificacion'][$id] = $field['widget']['label'];
}
//Situación Actual del Proyecto
elseif (variable_get('proyectos_operativos_ip_sa_' . $id, FALSE)) {
$arreglo['ip']['situaciona'][$id] = $field['widget']['label'];
}
//Situación Objetivo
elseif (variable_get('proyectos_operativos_ip_so_' . $id, FALSE)) {
$arreglo['ip']['situaciono'][$id] = $field['widget']['label'];
}
//Indicador del resultado del Proyecto
elseif (variable_get('proyectos_operativos_ip_re_' . $id, FALSE)) {
$arreglo['ip']['resultadop'][$id] = $field['widget']['label'];
}
//$campos[$id] = $field['widget']['label'];
}
//DATOS BASICOS DEL PROYECTO
//Datos Básicos de Identificación del Proyecto
elseif (array_key_exists($id, $arreglo['db']['identificacion'])) {
unset($arreglo['db']['identificacion'][$id]);
}
//Gerente del Proyecto
elseif (array_key_exists($id, $arreglo['db']['gerentep'])) {
unset($arreglo['db']['gerentep'][$id]);
}
//Área Estrategica
elseif (array_key_exists($id, $arreglo['db']['areae'])) {
unset($arreglo['db']['areae'][$id]);
}
//DATOS GENERALES
//Clasificación Sectorial
elseif (array_key_exists($id, $arreglo['dg']['sector'])) {
unset($arreglo['dg']['sector'][$id]);
}
//Talento Humano
elseif (array_key_exists($id, $arreglo['dg']['talentoh'])) {
unset($arreglo['dg']['talentoh'][$id]);
}
//Capacidades
elseif (array_key_exists($id, $arreglo['dg']['capacidades'])) {
unset($arreglo['dg']['capacidades'][$id]);
}
//Instituciones
elseif (array_key_exists($id, $arreglo['dg']['relacion'])) {
unset($arreglo['dg']['relacion'][$id]);
}
//Empleos Generados
elseif (array_key_exists($id, $arreglo['dg']['empleosg'])) {
unset($arreglo['dg']['empleosg'][$id]);
}
//Objetivos del Proyecto
elseif (array_key_exists($id, $arreglo['dg']['objetivosp'])) {
unset($arreglo['dg']['objetivosp'][$id]);
}
//INDICADORES DEL PROYECTO
//Enunciado del Problema
elseif (array_key_exists($id, $arreglo['ip']['enunciadop'])) {
unset($arreglo['ip']['enunciadop'][$id]);
}
//Justificación del Proyecto
elseif (array_key_exists($id, $arreglo['ip']['justificacion'])) {
unset($arreglo['ip']['justificacion'][$id]);
}
//Alcance del Proyecto
elseif (array_key_exists($id, $arreglo['ip']['alcance'])) {
unset($arreglo['ip']['alcance'][$id]);
}
//Situación Actual del Proyecto
elseif (array_key_exists($id, $arreglo['ip']['situaciona'])) {
unset($arreglo['ip']['situaciona'][$id]);
}
//Situación Objetivo
elseif (array_key_exists($id, $arreglo['ip']['situaciono'])) {
unset($arreglo['ip']['situaciono'][$id]);
}
//Indicador del resultado del Proyecto
elseif (array_key_exists($id, $arreglo['ip']['resultadop'])) {
unset($arreglo['ip']['resultadop'][$id]);
}
}
}
//$campos['proyectos_operativos_flujo'] = t('Flujo de Trabajo');
//DATOS BASICOS DEL PROYECTO
$identificacion = count($arreglo['db']['identificacion']);
$gerentep = count($arreglo['db']['gerentep']);
$areae = count($arreglo['db']['areae']);
if ($identificacion || $gerentep || $areae) {
$form['db'] = array(
'#type' => 'fieldset',
'#title' => t('Datos Básicos'),
);
}
if ($identificacion) {
$form['db']['identificacion'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['db']['identificacion'],
'#default_value' => array(),
'#title' => t('Datos Básicos de Identificación del Proyecto'),
'#multiple' => TRUE,
);
}
if ($gerentep) {
$form['db']['gerentep'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['db']['gerentep'],
'#default_value' => array(),
'#title' => t('Gerente del Proyecto'),
'#multiple' => TRUE,
);
}
if ($areae) {
$form['db']['areae'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['db']['areae'],
'#default_value' => array(),
'#title' => t('Área Estratégica'),
'#multiple' => TRUE,
);
}
//DATOS GENERALES DEL PROYECTO
$sector = count($arreglo['dg']['sector']);
$talentoh = count($arreglo['dg']['talentoh']);
$capacidades = count($arreglo['dg']['capacidades']);
$beneficiarios = count($arreglo['dg']['empleosg']);
$relacion = count($arreglo['dg']['relacion']);
$objetivosp = count($arreglo['dg']['objetivosp']);
if ($sector || $talentoh || $capacidades || $relacion || $objetivosp) {
$form['dg'] = array(
'#type' => 'fieldset',
'#title' => t('Datos Generales'),
);
}
//Clasificación Sectorial
if ($sector) {
$form['dg']['sector'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['dg']['sector'],
'#default_value' => array(),
'#title' => t('Clasificación Sectorial'),
'#multiple' => TRUE,
);
}
//Talento Humano
if ($talentoh) {
$form['dg']['talentoh'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['dg']['talentoh'],
'#default_value' => array(),
'#title' => t('Talento Humano'),
'#multiple' => TRUE,
);
}
//Capacidades
if ($capacidades) {
$arreglo['dg']['empleosg']['proyectos_operativos_beneficiarios'] = 'proyectos_operativos_beneficiarios';
$form['dg']['capacidades'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['dg']['capacidades'],
'#default_value' => array(),
'#title' => t('Capacidades'),
'#multiple' => TRUE,
);
}
//Beneficiarios
if ($beneficiarios) {
$arreglo['dg']['empleosg']['proyectos_operativos_beneficiarios'] = t('Benefiarios (Completo)');
$form['dg']['empleosg'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['dg']['empleosg'],
'#default_value' => array(),
'#title' => t('Beneficiarios'),
'#multiple' => TRUE,
);
}
//Instituciones
if ($relacion) {
$form['dg']['relacion'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['dg']['relacion'],
'#default_value' => array(),
'#title' => t('Instituciones'),
'#multiple' => TRUE,
);
}
//Objetivos del Proyecto
if ($objetivosp) {
$form['dg']['objetivosp'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['dg']['objetivosp'],
'#default_value' => array(),
'#title' => t('Objetivos del Proyecto'),
'#multiple' => TRUE,
);
}
//INDICADORES DEL PROYECTO
$enunciadop = count($arreglo['ip']['enunciadop']);
$justificacion = count($arreglo['ip']['justificacion']);
$alcance = count($arreglo['ip']['alcance']);
$situaciona = count($arreglo['ip']['situaciona']);
$situaciono = count($arreglo['ip']['situaciono']);
$resultadop = count($arreglo['ip']['resultadop']);
if ($enunciadop || $justificacion || $alcance || $situaciona || $situaciono || $resultadop) {
$form['ip'] = array(
'#type' => 'fieldset',
'#title' => t('Indicadores del Proyecto'),
);
}
//Enunciado del Problema
if ($enunciadop) {
$form['ip']['enunciadop'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ip']['enunciadop'],
'#default_value' => array(),
'#title' => t('Enunciado del Problema'),
'#multiple' => TRUE,
);
}
//Justificación del Proyecto
if ($justificacion) {
$form['ip']['justificacion'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ip']['justificacion'],
'#default_value' => array(),
'#title' => t('Justificación del Proyecto'),
'#multiple' => TRUE,
);
}
//Alcance del Proyecto
if ($alcance) {
$form['ip']['alcance'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ip']['alcance'],
'#default_value' => array(),
'#title' => t('Alcance del Proyecto'),
'#multiple' => TRUE,
);
}
//Situación Actual del Proyecto
if ($situaciona) {
$form['ip']['situaciona'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ip']['situaciona'],
'#default_value' => array(),
'#title' => t('Situación Actual del Proyecto'),
'#multiple' => TRUE,
);
}
//Situación Objetivo
if ($situaciono) {
$form['ip']['situaciono'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ip']['situaciono'],
'#default_value' => array(),
'#title' => t('Situación Objetivo'),
'#multiple' => TRUE,
);
}
//Indicador del resultado del Proyecto
if ($resultadop) {
$form['ip']['resultadop'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ip']['resultadop'],
'#default_value' => array(),
'#title' => t('Indicador del resultado del Proyecto'),
'#multiple' => TRUE,
);
}
//Acciones especificas
$form['ae'] = array(
'#type' => 'fieldset',
'#title' => t('Acciones Específicas'),
);
$arreglo['ae']['field_proyecto_accion_esp'] = t('Acciones Específicas');
//Indicador del resultado del Proyecto
$form['ae']['accionesesp'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['ae'],
'#default_value' => array(),
'#title' => t('Acciones Específicas'),
'#multiple' => TRUE,
'#weight' => 99,
);
$title_combos['accionesesp']['title'] = t('Acciones Específicas');
//otros
$form['otros'] = array(
'#type' => 'fieldset',
'#title' => t('Otros'),
);
$arreglo['otros']['proyectos_operativos_flujo'] = t('Flujo de Trabajo');
//Indicador del resultado del Proyecto
$form['otros']['fl'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['otros'],
'#default_value' => array(),
'#title' => t('Flujo de Trabajo'),
'#multiple' => TRUE,
'#weight' => 99,
);
$title_combos['fl']['title'] = t('Flujo de Trabajo');
//REFORMULACION DEL PROYECTO
$arreglo['proyectos_reformulacion']['reformulacion'] = array(
'proyectos_operativos_monto_anual_reformulado' => t('Monto Total del Proyecto para el año en curso (Reformulado)'),
'proyectos_operativos_monto_total_reformulado' => t('Monto Total del Proyecto (Reformulado)'),
'proyectos_operativos_unidad_medida_reformulado' => t('Unidad de Medida (Reformulado)'),
'proyectos_operativos_meta_fisica_reformulado' => t('Meta Física del proyecto (Reformulado)'),
);
$form['proyectos_reformulacion'] = array(
'#type' => 'fieldset',
'#title' => t('Reformulación del Proyecto'),
'#weight' => 1,
);
//Clasificación Sectorial
$form['proyectos_reformulacion']['reformulacion'] = array(
'#type' => 'checkboxes',
'#options' => $arreglo['proyectos_reformulacion']['reformulacion'],
'#default_value' => array(),
'#title' => t('Reformulación del Proyecto'),
'#multiple' => TRUE,
);
$form['#title_combos']['reformulacion']['title'] = t('Reformulación del Proyecto');
$form['#title_combos'] = $title_combos;
return $form;
}