[303fae2] | 1 | <?php |
---|
| 2 | /** |
---|
| 3 | * Sistema Automatizado para la Planificación Estratégico-Situacional en la Administración Pública Venezolana |
---|
| 4 | * @file proyecto_operativo_seguimiento.module |
---|
| 5 | * Drupal part Module to code proyectos operativos module |
---|
| 6 | * Copyright 2012 Sistema Automatizado para la Planificación Estratégico-Situacional en la Administración Pública Venezolana (CENDITEL) |
---|
| 7 | * |
---|
| 8 | * This program is free software; you can redistribute it and/or modify |
---|
| 9 | * it under the terms of the GNU General Public License as published by |
---|
| 10 | * the Free Software Foundation; either version 2 of the License, or |
---|
| 11 | * (at your option) any later version. |
---|
| 12 | * |
---|
| 13 | * This program is distributed in the hope that it will be useful, |
---|
| 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 16 | * GNU General Public License for more details. |
---|
| 17 | * |
---|
| 18 | * You should have received a copy of the GNU General Public License |
---|
| 19 | * along with this program; if not, write to the Free Software |
---|
| 20 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
---|
| 21 | * |
---|
| 22 | * @author CENDITEL Merida - Ing. Diego Uzcategui |
---|
| 23 | * @date 2013-02-07 // (anno-mes-dia) |
---|
| 24 | * @version 0.1 |
---|
| 25 | * |
---|
| 26 | */ |
---|
| 27 | |
---|
| 28 | /** |
---|
| 29 | * |
---|
| 30 | */ |
---|
| 31 | function _cargar_totales_seguimiento_aes_delproyecto($node, $mes=0) { |
---|
| 32 | |
---|
| 33 | //calcular asignado |
---|
| 34 | $ids_valor = $mes > 0 ? 'value_' . $mes : 'value'; |
---|
| 35 | //calcular comprometido, causado, pagado de las acciones especÃficas |
---|
| 36 | $seg_financiero_aes = array(); |
---|
| 37 | $TotalComprometidoProyecto = 0; |
---|
| 38 | $TotalCausadoProyecto = 0; |
---|
| 39 | $TotalPagadoProyecto = 0; |
---|
| 40 | |
---|
| 41 | if ($node->type == 'proyectos_operativos'){ |
---|
| 42 | $it=0; |
---|
| 43 | foreach($node->field_proyecto_accion_esp as $accion) { |
---|
| 44 | if ($accion['nid']) { |
---|
| 45 | $accion_load = node_load($accion['nid']); |
---|
| 46 | if ($accion_load && $accion_load->type == 'accion_especifica') { |
---|
| 47 | |
---|
| 48 | //calcular asignado |
---|
| 49 | $totalAsignadoAE=0; |
---|
| 50 | foreach($accion_load->field_accion_esp_programacion as $partidascampo) {//recorrido a grupo de partidas en el $mes |
---|
| 51 | $totalAsignadoAE += $partidascampo[$ids_valor]; |
---|
| 52 | } |
---|
| 53 | |
---|
| 54 | //calcular valor reformulado |
---|
| 55 | if(_mes_dentro_de_duracion_ae_proyecto($accion_load, $mes)){ |
---|
| 56 | $variacion_ref_total_asignado = _seguimiento_mesactual_total_ae_deproyecto_reformulaciones_load($accion_load, $mes); |
---|
| 57 | }else{ |
---|
| 58 | $variacion_ref_total_asignado = 0; |
---|
| 59 | } |
---|
| 60 | |
---|
| 61 | $consulta_totales_seguimiento_mes = _seguimiento_mesactual_partida_ae_deproyecto_totales_load($accion_load, $mes); |
---|
| 62 | |
---|
| 63 | $idnodoAE= $accion_load->nid; |
---|
| 64 | $nombreAE= $accion_load->title; |
---|
| 65 | $totalComprometidoAE = isset($consulta_totales_seguimiento_mes['segmespartidastotales']['totalcomprometido'])? $consulta_totales_seguimiento_mes['segmespartidastotales']['totalcomprometido']:0; |
---|
| 66 | $totalCausadoAE = isset($consulta_totales_seguimiento_mes['segmespartidastotales']['totalcausado'])?$consulta_totales_seguimiento_mes['segmespartidastotales']['totalcausado']:0; |
---|
| 67 | $totalPagadoAE = isset($consulta_totales_seguimiento_mes['segmespartidastotales']['totalpagado'])?$consulta_totales_seguimiento_mes['segmespartidastotales']['totalpagado']:0; |
---|
| 68 | |
---|
| 69 | $seg_financiero_aes[$it]= array( |
---|
| 70 | 'idnodosAEs' => $idnodoAE, |
---|
| 71 | 'nombreAEs' => $nombreAE, |
---|
| 72 | 'totalAsignadoAEs' => $totalAsignadoAE + $variacion_ref_total_asignado, |
---|
| 73 | 'totalComprometidoAEs' => $totalComprometidoAE, |
---|
| 74 | 'totalCausadoAEs' => $totalCausadoAE, |
---|
| 75 | 'totalPagadoAEs' => $totalPagadoAE, |
---|
| 76 | ); |
---|
| 77 | |
---|
| 78 | $TotalAsignadoProyecto += $seg_financiero_aes[$it]['totalAsignadoAEs']; |
---|
| 79 | $TotalComprometidoProyecto += $seg_financiero_aes[$it]['totalComprometidoAEs']; |
---|
| 80 | $TotalCausadoProyecto += $seg_financiero_aes[$it]['totalCausadoAEs']; |
---|
| 81 | $TotalPagadoProyecto += $seg_financiero_aes[$it]['totalPagadoAEs']; |
---|
| 82 | |
---|
| 83 | $it++; |
---|
| 84 | } |
---|
| 85 | } |
---|
| 86 | } |
---|
| 87 | } |
---|
| 88 | |
---|
| 89 | $seg_financiero_proyecto = array( |
---|
| 90 | 'idnodoProyecto' => $node->nid, |
---|
| 91 | 'nombreProyecto' => $node->title, |
---|
| 92 | 'TotalAsignadoProyecto' => $TotalAsignadoProyecto, |
---|
| 93 | 'TotalComprometidoProyecto' => $TotalComprometidoProyecto, |
---|
| 94 | 'TotalCausadoProyecto' => $TotalCausadoProyecto, |
---|
| 95 | 'TotalPagadoProyecto' => $TotalPagadoProyecto, |
---|
| 96 | ); |
---|
| 97 | |
---|
| 98 | $seguimiento_financiero_proyecto = array( |
---|
| 99 | 'seg_financiero_aes' => $seg_financiero_aes, |
---|
| 100 | 'seg_financiero_proyecto' => $seg_financiero_proyecto, |
---|
| 101 | ); |
---|
| 102 | |
---|
| 103 | return $seguimiento_financiero_proyecto; |
---|
| 104 | } |
---|
| 105 | |
---|
| 106 | |
---|
| 107 | function _cargar_asignado_mes_ae($node) { |
---|
| 108 | |
---|
| 109 | $ftypes = array( |
---|
| 110 | 'value' => t('January'), |
---|
| 111 | 'value_1' => t('February'), |
---|
| 112 | 'value_2' => t('March'), |
---|
| 113 | 'value_3' => t('April'), |
---|
| 114 | 'value_4' => t('May'), |
---|
| 115 | 'value_5' => t('June'), |
---|
| 116 | 'value_6' => t('July'), |
---|
| 117 | 'value_7' => t('August'), |
---|
| 118 | 'value_8' => t('September'), |
---|
| 119 | 'value_9' => t('Octuber'), |
---|
| 120 | 'value_10' => t('November'), |
---|
| 121 | 'value_11' => t('December'), |
---|
| 122 | ); |
---|
| 123 | |
---|
| 124 | //calcular asignado |
---|
| 125 | $asignadoMes = array(); |
---|
| 126 | $i=0; |
---|
| 127 | foreach($ftypes as $ids =>$texto) { |
---|
| 128 | $asignadoMes[$i]=0; |
---|
| 129 | $i += 1; |
---|
| 130 | } |
---|
| 131 | |
---|
| 132 | $acumuladoAsignado = 0; |
---|
| 133 | $id_field1 = 'field_accion_esp_programacion'; |
---|
| 134 | foreach($node->{$id_field1} as $partidascampo) {//recorrido a grupo de partidas |
---|
| 135 | $i=0; |
---|
| 136 | foreach($ftypes as $ids =>$texto) { |
---|
| 137 | $asignadoMes[$i] += $partidascampo[$ids]; |
---|
| 138 | $acumuladoAsignado += $partidascampo[$ids]; |
---|
| 139 | $i += 1; |
---|
| 140 | } |
---|
| 141 | } |
---|
| 142 | |
---|
| 143 | return $asignadoMes; |
---|
| 144 | } |
---|
| 145 | |
---|
| 146 | function _totalizar_asignadofinanciero_de_aes_proyecto($node) { |
---|
| 147 | $cant = 0; |
---|
| 148 | |
---|
| 149 | $asignadoMesTotal = array(); |
---|
| 150 | for ( $i = 0 ; $i <= 11 ; $i ++) { |
---|
| 151 | $asignadoMesTotal[$i]=0; |
---|
| 152 | } |
---|
| 153 | |
---|
| 154 | $asignado_financiero_aes = array(); |
---|
| 155 | |
---|
| 156 | foreach($node->field_proyecto_accion_esp as $accion) { |
---|
| 157 | if ($accion['nid'] && $nid != $accion['nid']) { |
---|
| 158 | $accion_load = node_load($accion['nid']); |
---|
| 159 | if ($accion_load && $accion_load->type == 'accion_especifica') { |
---|
| 160 | $asignado_financiero_ac = _cargar_asignado_mes_ae($accion_load); |
---|
| 161 | $asignado_financiero_aes[] = $asignado_financiero_ac; |
---|
| 162 | $it=0; |
---|
| 163 | foreach($asignado_financiero_ac as $asig_meses) { |
---|
| 164 | $asignadoMesTotal[$it] += $asig_meses; |
---|
| 165 | $it++; |
---|
| 166 | } |
---|
| 167 | } |
---|
| 168 | $cant++; |
---|
| 169 | } |
---|
| 170 | elseif($nid = $accion['nid']) { |
---|
| 171 | $acciones_especificas[$ae->nid] = $ae; |
---|
| 172 | } |
---|
| 173 | } |
---|
| 174 | return $asignadoMesTotal; |
---|
| 175 | } |
---|
| 176 | |
---|
| 177 | /** |
---|
| 178 | * Consulta la cantidad de comprometido, causado y pagado para TODAS LAS PARTIDAS de una accion especifica. Tambien el ejecutado de meta fÃsica, y las informaciones complementarias |
---|
| 179 | */ |
---|
| 180 | function _seguimiento_mesactual_proyecto_load($node, $mes = 0) { |
---|
| 181 | |
---|
| 182 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d and mes=%d";//consulta seguimiento |
---|
| 183 | $queryResult = db_query ( $query, $node->nid, $mes); |
---|
| 184 | $seg = db_fetch_object ( $queryResult ) ; |
---|
| 185 | $seg_arreglo=array(); |
---|
| 186 | $seg_arreglo['id_seg'] = $seg->id_seg; |
---|
| 187 | $seg_arreglo['nid'] = $seg->nid; |
---|
| 188 | $seg_arreglo['estado'] = $seg->estado; |
---|
| 189 | $seg_arreglo['ejecutadometafisica'] = $seg->ejecutadometafisica; |
---|
| 190 | $seg_arreglo['infocomplementaria_metafisica'] = $seg->infocomplementaria_metafisica; |
---|
| 191 | $seg_arreglo['infocomplementaria_metafinanciera'] = $seg->infocomplementaria_metafinanciera; |
---|
| 192 | |
---|
| 193 | $query2 = "SELECT * from {seguimiento_proyecto_beneficiarios} where id_seg=%d";//consulta seguimiento de partidas |
---|
| 194 | $queryResult2 = db_query ( $query2, $seg->id_seg); |
---|
| 195 | $seguimientos_beneficiarios = array (); |
---|
| 196 | while ( $seg_beneficiario = db_fetch_object ( $queryResult2 )) |
---|
| 197 | { |
---|
| 198 | $seg_beneficiario_arreglo = array(); |
---|
| 199 | $seg_beneficiario_arreglo['id_seg_beneficiario'] = $seg_beneficiario->id_seg_beneficiario; |
---|
| 200 | $seg_beneficiario_arreglo['posicion_beneficiario'] = $seg_beneficiario->posicion_beneficiario; |
---|
| 201 | $seg_beneficiario_arreglo['cant_beneficiarios_mes'] = $seg_beneficiario->cant_beneficiarios_mes; |
---|
| 202 | $seguimientos_beneficiarios[] = $seg_beneficiario_arreglo; |
---|
| 203 | } |
---|
| 204 | |
---|
| 205 | $seguimientomes = array( |
---|
| 206 | 'segmes' => $seg_arreglo, |
---|
| 207 | 'seguimientos_beneficiarios' => $seguimientos_beneficiarios, |
---|
| 208 | ); |
---|
| 209 | |
---|
| 210 | return $seguimientomes; |
---|
| 211 | } |
---|
| 212 | |
---|
| 213 | |
---|
| 214 | /** |
---|
| 215 | * consulta cantidad de planificado y ejecutado de meta fÃsica del proyecto, para todos los meses (funcion utilizada para mostrar los datos seguimiento proyecto) |
---|
| 216 | * 13 marzo 2013, por Diego Uzcategui |
---|
| 217 | */ |
---|
| 218 | function _seguimiento_metafisica_todosmes_proyecto_load($node) { |
---|
| 219 | |
---|
| 220 | $seguimiento_metafisica_todosmes = array(); |
---|
| 221 | |
---|
| 222 | $acumuladoPlanificado = 0; |
---|
| 223 | //calcular planificado |
---|
| 224 | for($mes=0; $mes<12; $mes++){ |
---|
| 225 | $valor_camp = $mes > 0 ? 'value_' . $mes : 'value'; |
---|
| 226 | $planificadoMes = $node->field_proyecto_meta_fisica[0][$valor_camp]; |
---|
| 227 | $seguimientomes = array( |
---|
| 228 | 'planificadoMes' => $planificadoMes, |
---|
| 229 | 'ejecutadoMes' => 0, |
---|
| 230 | 'infocomplementaria_metafisica' => '', |
---|
| 231 | 'id_seg' => 0, |
---|
| 232 | ); |
---|
| 233 | $seguimiento_metafisica_todosmes[] = $seguimientomes; |
---|
| 234 | |
---|
| 235 | $acumuladoPlanificado += $planificadoMes; |
---|
| 236 | } |
---|
| 237 | |
---|
| 238 | $acumuladoEjecutado = 0; |
---|
| 239 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d";//consulta seguimiento |
---|
| 240 | $queryResult = db_query ( $query, $node->nid); |
---|
| 241 | |
---|
| 242 | while ( $seg_metafisica_m = db_fetch_object ( $queryResult )) |
---|
| 243 | { |
---|
| 244 | $mes_actual = $seg_metafisica_m->mes; |
---|
| 245 | $seguimiento_metafisica_todosmes[$mes_actual]['ejecutadoMes'] = isset($seg_metafisica_m->ejecutadometafisica)? $seg_metafisica_m->ejecutadometafisica : 0; |
---|
| 246 | $seguimiento_metafisica_todosmes[$mes_actual]['infocomplementaria_metafisica'] = isset($seg_metafisica_m->infocomplementaria_metafisica)? $seg_metafisica_m->infocomplementaria_metafisica : ''; |
---|
| 247 | $seguimiento_metafisica_todosmes[$mes_actual]['id_seg'] = isset($seg_metafisica_m->id_seg)? $seg_metafisica_m->id_seg : 0; |
---|
| 248 | |
---|
| 249 | $acumuladoEjecutado += $seguimiento_metafisica_todosmes[$mes_actual]['ejecutadoMes']; |
---|
| 250 | } |
---|
| 251 | |
---|
| 252 | //totales |
---|
| 253 | $acum = array( |
---|
| 254 | 'acumuladoPlanificado' => $acumuladoPlanificado, |
---|
| 255 | 'acumuladoEjecutado' => $acumuladoEjecutado, |
---|
| 256 | ); |
---|
| 257 | //de cada mes y totales |
---|
| 258 | $seguimiento_todos_meses_mf = array( |
---|
| 259 | 'seguimiento_metafisica_todosmes' => $seguimiento_metafisica_todosmes, |
---|
| 260 | 'acum' => $acum, |
---|
| 261 | ); |
---|
| 262 | |
---|
| 263 | return $seguimiento_todos_meses_mf; |
---|
| 264 | } |
---|
| 265 | |
---|
| 266 | /** |
---|
| 267 | * consulta cantidad de asignado, comprometido, causado, pagado de meta financiera del proyecto (totales de acciones especÃficas), para todos los meses (funcion utilizada para mostrar los datos seguimiento proyecto) |
---|
| 268 | * 13 marzo 2013, por Diego Uzcategui |
---|
| 269 | */ |
---|
| 270 | function _seguimiento_financiero_todosmes_proyecto_load($node) { |
---|
| 271 | |
---|
| 272 | $asignadoMesAE = array(); |
---|
| 273 | for($mes=0; $mes<12; $mes++){ |
---|
| 274 | $asignadoMesAE[$mes] = 0; |
---|
| 275 | } |
---|
| 276 | foreach($node->field_proyecto_accion_esp as $accion) {//recorrido por todas las acciones especÃficas |
---|
| 277 | $accion_esp_load = node_load($accion['nid']); |
---|
| 278 | if ($accion_esp_load && $accion_esp_load->type == 'accion_especifica') {//accion especifica cargada |
---|
| 279 | foreach($accion_esp_load->field_accion_esp_programacion as $partidas_ae) {//recorrido a partidas de la accion especifica |
---|
| 280 | for($mes=0; $mes<12; $mes++){//recorrido de los meses de cada partida |
---|
| 281 | $valor_camp = $mes > 0 ? 'value_' . $mes : 'value'; |
---|
| 282 | $asignadoMesAE[$mes] += $partidas_ae[$valor_camp];//un mes en de una partida |
---|
| 283 | } |
---|
| 284 | } |
---|
| 285 | } |
---|
| 286 | } |
---|
| 287 | |
---|
| 288 | //cargar en arreglo |
---|
| 289 | $seguimiento_financiero_todosmes = array(); |
---|
| 290 | $acumuladoAsignado = 0; |
---|
| 291 | for($mes=0; $mes<12; $mes++){ |
---|
| 292 | $seguimientomes = array( |
---|
| 293 | 'asignadoMes' => $asignadoMesAE[$mes], |
---|
| 294 | 'comprometidoMes' => 0, |
---|
| 295 | 'causadoMes' => 0, |
---|
| 296 | 'pagadoMes' => 0, |
---|
| 297 | 'infocomplementaria_metafinanciera' => '', |
---|
| 298 | 'id_seg' => 0, |
---|
| 299 | ); |
---|
| 300 | $seguimiento_financiero_todosmes[] = $seguimientomes; |
---|
| 301 | $acumuladoAsignado += $asignadoMesAE[$mes]; |
---|
| 302 | } |
---|
| 303 | |
---|
| 304 | //informacion complementaria financiera proyecto |
---|
| 305 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d";//consulta seguimiento |
---|
| 306 | $queryResult = db_query ( $query, $node->nid); |
---|
| 307 | |
---|
| 308 | while ( $seg_proyecto_m = db_fetch_object ( $queryResult )) |
---|
| 309 | { |
---|
| 310 | //cargar en arreglo |
---|
| 311 | $mes_actual = $seg_proyecto_m->mes; |
---|
| 312 | $seguimiento_financiero_todosmes[$mes_actual]['infocomplementaria_metafinanciera'] = isset($seg_proyecto_m->infocomplementaria_metafinanciera)? $seg_proyecto_m->infocomplementaria_metafinanciera : ''; |
---|
| 313 | $seguimiento_financiero_todosmes[$mes_actual]['id_seg'] = isset($seg_proyecto_m->id_seg)? $seg_proyecto_m->id_seg : 0; |
---|
| 314 | } |
---|
| 315 | |
---|
| 316 | $comprometidoMesAE = array(); |
---|
| 317 | $causadoMesAE = array(); |
---|
| 318 | $pagadoMesAE = array(); |
---|
| 319 | for($mes=0; $mes<12; $mes++){ |
---|
| 320 | $comprometidoMesAE[$mes] = 0; |
---|
| 321 | $causadoMesAE[$mes] = 0; |
---|
| 322 | $pagadoMesAE[$mes] = 0; |
---|
| 323 | } |
---|
| 324 | foreach($node->field_proyecto_accion_esp as $accion) {//recorrido por todas las acciones especÃficas |
---|
| 325 | $accion_esp_load = node_load($accion['nid']); |
---|
| 326 | if ($accion_esp_load && $accion_esp_load->type == 'accion_especifica') {//accion especifica cargada |
---|
| 327 | |
---|
| 328 | for($mes=0; $mes<12; $mes++){//recorrido de los meses de seguimiento |
---|
| 329 | $query = "SELECT * from {seguimiento_aeproyecto} where nid=%d and mes=%d";//consulta seguimiento id |
---|
| 330 | $queryResult = db_query ( $query, $accion_esp_load->nid, $mes); |
---|
| 331 | $seg = db_fetch_object ( $queryResult ) ; |
---|
| 332 | $seg_identif = $seg->id_seg; |
---|
| 333 | |
---|
| 334 | //totales de cada accion especifica en un mes |
---|
| 335 | $query2 = "SELECT SUM(comprometido) as totalcomprometido, SUM(causado) as totalcausado, SUM(pagado) as totalpagado from {seguimiento_aeproyecto_partida} where id_seg=%d";//consulta seguimiento de partidas |
---|
| 336 | $queryResult2 = db_query ( $query2, $seg_identif); |
---|
| 337 | |
---|
| 338 | $seg_partida_total = db_fetch_object ( $queryResult2 ); |
---|
| 339 | $comprometidoMesAE[$mes] += isset($seg_partida_total->totalcomprometido)? $seg_partida_total->totalcomprometido : 0; |
---|
| 340 | $causadoMesAE[$mes] += isset($seg_partida_total->totalcausado)? $seg_partida_total->totalcausado : 0; |
---|
| 341 | $pagadoMesAE[$mes] += isset($seg_partida_total->totalpagado)? $seg_partida_total->totalpagado : 0; |
---|
| 342 | |
---|
| 343 | } |
---|
| 344 | } |
---|
| 345 | } |
---|
| 346 | |
---|
| 347 | //cargar en arreglo |
---|
| 348 | $acumuladoComprometido = 0; |
---|
| 349 | $acumuladoCausado = 0; |
---|
| 350 | $acumuladoPagado = 0; |
---|
| 351 | for($mes=0; $mes<12; $mes++){ |
---|
| 352 | |
---|
| 353 | $seguimiento_financiero_todosmes[$mes]['comprometidoMes'] = isset($comprometidoMesAE[$mes])? $comprometidoMesAE[$mes] : 0; |
---|
| 354 | $seguimiento_financiero_todosmes[$mes]['causadoMes'] = isset($causadoMesAE[$mes])? $causadoMesAE[$mes] : 0; |
---|
| 355 | $seguimiento_financiero_todosmes[$mes]['pagadoMes'] = isset($pagadoMesAE[$mes])? $pagadoMesAE[$mes] : 0; |
---|
| 356 | |
---|
| 357 | $acumuladoComprometido += $seguimiento_financiero_todosmes[$mes]['comprometidoMes']; |
---|
| 358 | $acumuladoCausado += $seguimiento_financiero_todosmes[$mes]['causadoMes']; |
---|
| 359 | $acumuladoPagado += $seguimiento_financiero_todosmes[$mes]['pagadoMes']; |
---|
| 360 | |
---|
| 361 | } |
---|
| 362 | |
---|
| 363 | //totales |
---|
| 364 | $acum = array( |
---|
| 365 | 'acumuladoAsignado' => $acumuladoAsignado, |
---|
| 366 | 'acumuladoComprometido' => $acumuladoComprometido, |
---|
| 367 | 'acumuladoCausado' => $acumuladoCausado, |
---|
| 368 | 'acumuladoPagado' => $acumuladoPagado, |
---|
| 369 | ); |
---|
| 370 | //de cada mes y totales |
---|
| 371 | $seguimiento_todos_meses_financiero = array( |
---|
| 372 | 'seguimiento_financiero_todosmes' => $seguimiento_financiero_todosmes, |
---|
| 373 | 'acum' => $acum, |
---|
| 374 | ); |
---|
| 375 | |
---|
| 376 | return $seguimiento_todos_meses_financiero; |
---|
| 377 | } |
---|
| 378 | |
---|
| 379 | /** |
---|
| 380 | * consulta cantidad de beneficiarios del proyecto, para todos los meses (funcion utilizada para mostrar los datos seguimiento proyecto) |
---|
| 381 | * 14 marzo 2013, por Diego Uzcategui |
---|
| 382 | */ |
---|
| 383 | function _seguimiento_beneficiario_todosmes_proyecto_load($node) { |
---|
| 384 | |
---|
| 385 | $seguimiento_todosbeneficiarios_todosmes = array(); |
---|
| 386 | |
---|
| 387 | $cant_beneficiarios_meses = array(); |
---|
| 388 | for($mes=0; $mes<12; $mes++){ |
---|
| 389 | $cant_beneficiarios_meses[$mes] = 0; |
---|
| 390 | } |
---|
| 391 | $total_benef = 0; |
---|
| 392 | foreach($node->field_proyecto_beneficiario as $beneficiarios) { |
---|
| 393 | $seguimiento_beneficiario = array( |
---|
| 394 | 'nombre' => $beneficiarios['value'], |
---|
| 395 | 'cant_meses' => $cant_beneficiarios_meses, |
---|
| 396 | 'total_benef' => $total_benef, |
---|
| 397 | ); |
---|
| 398 | $seguimiento_todosbeneficiarios_todosmes[] = $seguimiento_beneficiario; |
---|
| 399 | } |
---|
| 400 | |
---|
| 401 | //consultar cantidad de beneficiarios |
---|
| 402 | for($mes=0; $mes<12; $mes++){ |
---|
| 403 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d and mes=%d";//consulta seguimiento |
---|
| 404 | $queryResult = db_query ( $query, $node->nid, $mes); |
---|
| 405 | $seg = db_fetch_object ( $queryResult ) ; |
---|
| 406 | $seg_ident = $seg->id_seg; |
---|
| 407 | $mes_seg = $seg->mes; |
---|
| 408 | |
---|
| 409 | $query2 = "SELECT * from {seguimiento_proyecto_beneficiarios} where id_seg=%d";//consulta seguimiento de partidas |
---|
| 410 | $queryResult2 = db_query ( $query2, $seg_ident); |
---|
| 411 | |
---|
| 412 | while ( $seg_beneficiario = db_fetch_object ( $queryResult2 )){ |
---|
| 413 | $pos_benef = $seg_beneficiario->posicion_beneficiario; |
---|
| 414 | $cantid_benef_mes = $seg_beneficiario->cant_beneficiarios_mes; |
---|
| 415 | $seguimiento_todosbeneficiarios_todosmes[$pos_benef]['cant_meses'][$mes_seg] = $cantid_benef_mes; |
---|
| 416 | $seguimiento_todosbeneficiarios_todosmes[$pos_benef]['total_benef'] += $cantid_benef_mes; |
---|
| 417 | } |
---|
| 418 | } |
---|
| 419 | |
---|
| 420 | return $seguimiento_todosbeneficiarios_todosmes; |
---|
| 421 | } |
---|