0) ? taxonomy_get_term($area_seleccionada_para_reporte)->name : 'Todas';
$anho_min_historico = $anno_seleccionado_para_reporte;
module_load_include('inc', 'reportes_sipp' , 'includes/matriz_de_procesos_reporte_trimestral.pages');
$datos_grafica = array();
$datos_historico = array();
//proyectos operativos con estado aprobado
$sql1 = "SELECT";
$sql_campos = " COUNT(*) AS total, ctpo.field_proyecto_mcti_value, ctpo.field_proyecto_unidadm_value";//, po.year";
$sql_tablas = " FROM {proyectos_operativos} po, {node} n, {workflow_node} AS wn, {content_type_proyectos_operativos} AS ctpo";
$sql_condiciones = " WHERE po.nid = n.nid AND wn.nid = n.nid AND wn.sid = %d AND n.nid = ctpo.nid AND n.vid = ctpo.vid";
$sql_agrupacion = "";//GROUP BY campo
$sql_ordenacion = "";
$inputs = array();
$inputs[] = variable_get('proyectos_operativos_state_aprobado', NULL);
if($area_selecc != 'Todas'){
//filtrar por estrategia MCTI
$inputs[] = $area_seleccionada_para_reporte;
$sql_condiciones .= " AND ctpo.field_proyecto_mcti_value = %d";
}
$inputs[] = $anno_seleccionado_para_reporte;
$sql_condiciones .= " AND po.year = %d";
$sql_agrupacion = " GROUP BY ctpo.field_proyecto_mcti_value, ctpo.field_proyecto_unidadm_value";//, po.year";//agrupando de derecha a izquierda
$sql_ordenacion = " ORDER BY ctpo.field_proyecto_mcti_value, ctpo.field_proyecto_unidadm_value";//, po.year";
$sql1 .= $sql_campos.$sql_tablas.$sql_condiciones.$sql_agrupacion.$sql_ordenacion;
$queryResult1 = db_query ( $sql1, $inputs);
while ($proyectos = db_fetch_array ( $queryResult1 ) ){
$nombre_estrategia_mcti = taxonomy_get_term($proyectos['field_proyecto_mcti_value'])->name;
$nombre_unidad_medida = taxonomy_get_term($proyectos['field_proyecto_unidadm_value'])->name;
//calcular cantidades producidas en trimestres
$sql2 = "SELECT";
$sql_campos_2 = " n.nid";
$sql_tablas_2 = $sql_tablas;
$sql_condiciones_2 = $sql_condiciones;
$inputs_2 = array();
if($area_selecc == 'Todas'){//incluir filtro particular area
$sql_condiciones_2 .= " AND ctpo.field_proyecto_mcti_value = %d";
$inputs_2[] = $proyectos['field_proyecto_mcti_value'];
}
$sql_condiciones_2 .= " AND ctpo.field_proyecto_unidadm_value = %d";
$inputs_2[] = $proyectos['field_proyecto_unidadm_value'];
$sql2 .= $sql_campos_2.$sql_tablas_2.$sql_condiciones_2;//consulta especializada a proyectos de un grupo
$entradas = array_merge($inputs, $inputs_2);//agregar segundo grupo de entradas
//inicializar cantidades en trimestres
$cant_ejecutado_trim = array();
$cant_ejecutado_trim[0] = 0;
$cant_ejecutado_trim[1] = 0;
$cant_ejecutado_trim[2] = 0;
$cant_ejecutado_trim[3] = 0;
//consular cantidad de ejecutado de meta fisica en trimestres
$queryResult_2 = db_query ( $sql2, $entradas);//consultar los proyectos en determinado grupo
while ($proyectos_en_area_estrat = db_fetch_array ( $queryResult_2 ) ){
$nodo_proyecto = node_load($proyectos_en_area_estrat['nid']);
//calcular todos los trimestres
for($i=0; $i<4; $i++){
$porcentajes_avance = _calcular_porcentaje_avance_para_trimestre($nodo_proyecto, $i);
$cant_ejecutado_trim[$i] += $porcentajes_avance['valores_particulares']['mf_ejecutado_trimestre'];
}
}
$total_area_y_unidad_medida = 0;
for($i=0; $i<4; $i++){
$total_area_y_unidad_medida += $cant_ejecutado_trim[$i];
}
//copiar para datos graficas
$dato_graf = array(
'id_aem' => $proyectos['field_proyecto_mcti_value'],
'id_unidadmedida' => $proyectos['field_proyecto_unidadm_value'],
'nombre_opcion_politica' => $nombre_estrategia_mcti,
'nombre_opcion_unidadmedida' => $nombre_unidad_medida,
'cant_proyectos' => $proyectos['total'],
'anho_actual' => $anno_seleccionado_para_reporte,
'cantidad_trimestres' => $cant_ejecutado_trim,
);
$datos_grafica[] = $dato_graf;
//******************************************************************************
//consultar datos para grafico de historicos
$datos_historico_i = calcular_datos_historico_para_aem_reporte_page($proyectos['field_proyecto_mcti_value'], $proyectos['field_proyecto_unidadm_value'], $anno_seleccionado_para_reporte, $total_area_y_unidad_medida);
if($datos_historico_i['anho_nim'] < $anho_min_historico){
$anho_min_historico = $datos_historico_i['anho_nim'];
}
$datos_historico[] = $datos_historico_i['cantidad_por_anho'];
//******************************************************************************
}
$valor_de_retorno = array(
'datos_anho_actual' => $datos_grafica,
'datos_historico' => $datos_historico,
'anho_min_historico' => $anho_min_historico,
'param' => array('anho' => $anno_seleccionado_para_reporte, 'area' => $area_selecc, 'tgraf' => $tipografico_selec,),
);
return $valor_de_retorno;
}
//*******************************************************
function calcular_datos_historico_para_aem_reporte_page($id_aem = 0, $id_unidadmedida = 0, $anho_actual=0, $cant_anho_actual=0){//areas_estrategicas_del_ministerio
$cantidad_por_anhos = array();
$cantidad_por_anhos[$anho_actual] = $cant_anho_actual;
$anho_min = $anho_actual - 4;
//proyectos operativos con estado aprobado
$sql1 = "SELECT";
$sql_campos = " po.year AS anho, COUNT(*) AS total, SUM(sp.ejecutadometafisica) AS cantidad_prod";
$sql_tablas = " FROM {proyectos_operativos} po, {node} n, {workflow_node} AS wn, {content_type_proyectos_operativos} AS ctpo";
$sql_tablas .= ", {seguimiento_proyecto} AS sp";
$sql_condiciones = " WHERE po.nid = n.nid AND wn.nid = n.nid AND wn.sid = %d AND n.nid = ctpo.nid AND n.vid = ctpo.vid";
$sql_condiciones .= " AND ctpo.field_proyecto_mcti_value = %d AND ctpo.field_proyecto_unidadm_value = %d AND po.year != %d";// estrategia mcti y unidad de medida
$sql_condiciones .= " AND n.nid = sp.nid AND sp.estado = %d";//seguimiento de proyecto aprobado
$sql_agrupacion = " GROUP BY po.year";
$sql_ordenacion = " ORDER BY po.year";
$sql1 .= $sql_campos . $sql_tablas . $sql_condiciones . $sql_agrupacion . $sql_ordenacion;
$inputs = array();
$inputs[] = variable_get('proyectos_operativos_state_aprobado', NULL);
$inputs[] = $id_aem;
$inputs[] = $id_unidadmedida;
$inputs[] = $anho_actual;
$inputs[] = variable_get('acciones_centralizadas_state_aprobado', NULL);
$queryResult_2 = db_query ( $sql1, $inputs);
while ($proyectos_en_area_estrat = db_fetch_array ( $queryResult_2 ) ){
$cantidad_por_anhos[ $proyectos_en_area_estrat['anho'] ] = $proyectos_en_area_estrat['cantidad_prod'];
if($proyectos_en_area_estrat['anho'] < $anho_min){
$anho_min = $proyectos_en_area_estrat['anho'];
}
}
$valor_regresado = array(
'anho_nim' => $anho_min,
'cantidad_por_anho' => $cantidad_por_anhos,
);
return $valor_regresado;
}
//*******************************************************
function generar_tabla_produccion_trimestres($datos_anho_actual=array(), $param = array()){//areas_estrategicas_del_ministerio
$anno_seleccionado_para_reporte = $param['anho'];
$header = array();
$header[] = array('data' => t('Cantidad de Proyectos'));
$header[] = array('data' => t('Área Estratégica'));
$header[] = array('data' => t('Unidad de Medida'));
$header[] = array('data' => t('Producción
1er Trimestre'));
$header[] = array('data' => t('Producción
2do Trimestre'));
$header[] = array('data' => t('Producción
3er Trimestre'));
$header[] = array('data' => t('Producción
4to Trimestre'));
$header[] = array('data' => t('Total'));
$rows = array();
foreach($datos_anho_actual as $datos_area_udm_i){//area - unidad de medida
$row = array();
$row[] = array('data' => $datos_area_udm_i['cant_proyectos'],);
$row[] = array('data' => $datos_area_udm_i['nombre_opcion_politica'],);
$row[] = array('data' => $datos_area_udm_i['nombre_opcion_unidadmedida'],);
$total_area_y_unidad_medida = 0;
for($i=0; $i<4; $i++){
$row[] = array('data' => $datos_area_udm_i['cantidad_trimestres'][$i],);
$total_area_y_unidad_medida += $datos_area_udm_i['cantidad_trimestres'][$i];
}
$row[] = array('data' => $total_area_y_unidad_medida,);
$rows[] = $row;
}
if (!(count($rows)>0)) {
$row[] = array('data' => t('No hay resultados para el reporte actual'), 'colspan' => 8);
$rows[] = $row;
}
//generación tabla
$output .= "