1 | <?php |
---|
2 | /** |
---|
3 | * Sistema Integral de Planificación y Presupuesto (SIPP) |
---|
4 | * @file reportes_sipp.module |
---|
5 | * Drupal part Module to Sistema Integral de Planificación y Presupuesto (SIPP) |
---|
6 | * Copyright 2013 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 Uzcátegui |
---|
23 | * @date 2013-05-01 // (año-mes-dia) |
---|
24 | * @version 0.1 // (0.1) |
---|
25 | * |
---|
26 | */ |
---|
27 | |
---|
28 | /** |
---|
29 | * consulta cantidad de planificado y ejecutado de meta fÃsica del proyecto, para todos los meses (funcion utilizada para mostrar los datos seguimiento proyecto) |
---|
30 | * 02 mayo 2013, por Diego Uzcategui |
---|
31 | */ |
---|
32 | function _seguimiento_metafisica_todosmes_proyecto_load_solo_datos_aprobados($node) { |
---|
33 | |
---|
34 | $seguimiento_metafisica_todosmes = array(); |
---|
35 | |
---|
36 | $acumuladoPlanificado = 0; |
---|
37 | //calcular planificado |
---|
38 | for($mes=0; $mes<12; $mes++){ |
---|
39 | $valor_camp = $mes > 0 ? 'value_' . $mes : 'value'; |
---|
40 | $planificadoMes = $node->field_proyecto_meta_fisica[0][$valor_camp]; |
---|
41 | $seguimientomes = array( |
---|
42 | 'planificadoMes' => $planificadoMes, |
---|
43 | 'ejecutadoMes' => 0, |
---|
44 | 'infocomplementaria_metafisica' => '', |
---|
45 | 'id_seg' => 0, |
---|
46 | ); |
---|
47 | $seguimiento_metafisica_todosmes[] = $seguimientomes; |
---|
48 | |
---|
49 | $acumuladoPlanificado += $planificadoMes; |
---|
50 | } |
---|
51 | |
---|
52 | $estado_aprobado = variable_get('acciones_centralizadas_state_aprobado', NULL); |
---|
53 | |
---|
54 | $acumuladoEjecutado = 0; |
---|
55 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d AND estado=%d ";//consulta seguimiento |
---|
56 | $queryResult = db_query ( $query, $node->nid, $estado_aprobado); |
---|
57 | |
---|
58 | while ( $seg_metafisica_m = db_fetch_object ( $queryResult )) |
---|
59 | { |
---|
60 | $mes_actual = $seg_metafisica_m->mes; |
---|
61 | $seguimiento_metafisica_todosmes[$mes_actual]['ejecutadoMes'] = isset($seg_metafisica_m->ejecutadometafisica)? $seg_metafisica_m->ejecutadometafisica : 0; |
---|
62 | $seguimiento_metafisica_todosmes[$mes_actual]['infocomplementaria_metafisica'] = isset($seg_metafisica_m->infocomplementaria_metafisica)? $seg_metafisica_m->infocomplementaria_metafisica : ''; |
---|
63 | $seguimiento_metafisica_todosmes[$mes_actual]['id_seg'] = isset($seg_metafisica_m->id_seg)? $seg_metafisica_m->id_seg : 0; |
---|
64 | |
---|
65 | $acumuladoEjecutado += $seguimiento_metafisica_todosmes[$mes_actual]['ejecutadoMes']; |
---|
66 | } |
---|
67 | |
---|
68 | //totales |
---|
69 | $acum = array( |
---|
70 | 'acumuladoPlanificado' => $acumuladoPlanificado, |
---|
71 | 'acumuladoEjecutado' => $acumuladoEjecutado, |
---|
72 | ); |
---|
73 | //de cada mes y totales |
---|
74 | $seguimiento_todos_meses_mf = array( |
---|
75 | 'seguimiento_metafisica_todosmes' => $seguimiento_metafisica_todosmes, |
---|
76 | 'acum' => $acum, |
---|
77 | ); |
---|
78 | |
---|
79 | return $seguimiento_todos_meses_mf; |
---|
80 | } |
---|
81 | |
---|
82 | /** |
---|
83 | * 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) |
---|
84 | * 02 mayo 2013, por Diego Uzcategui |
---|
85 | */ |
---|
86 | function _seguimiento_financiero_todosmes_proyecto_load_solo_datos_aprobados($node) { |
---|
87 | |
---|
88 | $asignadoMesAE = array(); |
---|
89 | for($mes=0; $mes<12; $mes++){ |
---|
90 | $asignadoMesAE[$mes] = 0; |
---|
91 | } |
---|
92 | foreach($node->field_proyecto_accion_esp as $accion) {//recorrido por todas las acciones especÃficas |
---|
93 | $accion_esp_load = node_load($accion['nid']); |
---|
94 | if ($accion_esp_load && $accion_esp_load->type == 'accion_especifica') {//accion especifica cargada |
---|
95 | foreach($accion_esp_load->field_accion_esp_programacion as $partidas_ae) {//recorrido a partidas de la accion especifica |
---|
96 | for($mes=0; $mes<12; $mes++){//recorrido de los meses de cada partida |
---|
97 | $valor_camp = $mes > 0 ? 'value_' . $mes : 'value'; |
---|
98 | $asignadoMesAE[$mes] += $partidas_ae[$valor_camp];//un mes en de una partida |
---|
99 | } |
---|
100 | } |
---|
101 | } |
---|
102 | } |
---|
103 | |
---|
104 | //cargar en arreglo |
---|
105 | $seguimiento_financiero_todosmes = array(); |
---|
106 | $acumuladoAsignado = 0; |
---|
107 | for($mes=0; $mes<12; $mes++){ |
---|
108 | $seguimientomes = array( |
---|
109 | 'asignadoMes' => $asignadoMesAE[$mes], |
---|
110 | 'comprometidoMes' => 0, |
---|
111 | 'causadoMes' => 0, |
---|
112 | 'pagadoMes' => 0, |
---|
113 | 'infocomplementaria_metafinanciera' => '', |
---|
114 | 'id_seg' => 0, |
---|
115 | ); |
---|
116 | $seguimiento_financiero_todosmes[] = $seguimientomes; |
---|
117 | $acumuladoAsignado += $asignadoMesAE[$mes]; |
---|
118 | } |
---|
119 | |
---|
120 | //informacion complementaria financiera proyecto |
---|
121 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d";//consulta seguimiento |
---|
122 | $queryResult = db_query ( $query, $node->nid); |
---|
123 | |
---|
124 | while ( $seg_proyecto_m = db_fetch_object ( $queryResult )) |
---|
125 | { |
---|
126 | //cargar en arreglo |
---|
127 | $mes_actual = $seg_proyecto_m->mes; |
---|
128 | $seguimiento_financiero_todosmes[$mes_actual]['infocomplementaria_metafinanciera'] = isset($seg_proyecto_m->infocomplementaria_metafinanciera)? $seg_proyecto_m->infocomplementaria_metafinanciera : ''; |
---|
129 | $seguimiento_financiero_todosmes[$mes_actual]['id_seg'] = isset($seg_proyecto_m->id_seg)? $seg_proyecto_m->id_seg : 0; |
---|
130 | } |
---|
131 | |
---|
132 | $estado_aprobado = variable_get('acciones_centralizadas_state_aprobado', NULL); |
---|
133 | |
---|
134 | $comprometidoMesAE = array(); |
---|
135 | $causadoMesAE = array(); |
---|
136 | $pagadoMesAE = array(); |
---|
137 | for($mes=0; $mes<12; $mes++){ |
---|
138 | $comprometidoMesAE[$mes] = 0; |
---|
139 | $causadoMesAE[$mes] = 0; |
---|
140 | $pagadoMesAE[$mes] = 0; |
---|
141 | } |
---|
142 | foreach($node->field_proyecto_accion_esp as $accion) {//recorrido por todas las acciones especÃficas |
---|
143 | $accion_esp_load = node_load($accion['nid']); |
---|
144 | if ($accion_esp_load && $accion_esp_load->type == 'accion_especifica') {//accion especifica cargada |
---|
145 | |
---|
146 | for($mes=0; $mes<12; $mes++){//recorrido de los meses de seguimiento |
---|
147 | $query = "SELECT * from {seguimiento_aeproyecto} where nid=%d and mes=%d AND estado=%d";//consulta seguimiento id |
---|
148 | $queryResult = db_query ( $query, $accion_esp_load->nid, $mes, $estado_aprobado); |
---|
149 | $seg = db_fetch_object ( $queryResult ) ; |
---|
150 | $seg_identif = $seg->id_seg; |
---|
151 | |
---|
152 | //totales de cada accion especifica en un mes |
---|
153 | $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 |
---|
154 | $queryResult2 = db_query ( $query2, $seg_identif); |
---|
155 | |
---|
156 | $seg_partida_total = db_fetch_object ( $queryResult2 ); |
---|
157 | $comprometidoMesAE[$mes] += isset($seg_partida_total->totalcomprometido)? $seg_partida_total->totalcomprometido : 0; |
---|
158 | $causadoMesAE[$mes] += isset($seg_partida_total->totalcausado)? $seg_partida_total->totalcausado : 0; |
---|
159 | $pagadoMesAE[$mes] += isset($seg_partida_total->totalpagado)? $seg_partida_total->totalpagado : 0; |
---|
160 | |
---|
161 | } |
---|
162 | } |
---|
163 | } |
---|
164 | |
---|
165 | //cargar en arreglo |
---|
166 | $acumuladoComprometido = 0; |
---|
167 | $acumuladoCausado = 0; |
---|
168 | $acumuladoPagado = 0; |
---|
169 | for($mes=0; $mes<12; $mes++){ |
---|
170 | |
---|
171 | $seguimiento_financiero_todosmes[$mes]['comprometidoMes'] = isset($comprometidoMesAE[$mes])? $comprometidoMesAE[$mes] : 0; |
---|
172 | $seguimiento_financiero_todosmes[$mes]['causadoMes'] = isset($causadoMesAE[$mes])? $causadoMesAE[$mes] : 0; |
---|
173 | $seguimiento_financiero_todosmes[$mes]['pagadoMes'] = isset($pagadoMesAE[$mes])? $pagadoMesAE[$mes] : 0; |
---|
174 | |
---|
175 | $acumuladoComprometido += $seguimiento_financiero_todosmes[$mes]['comprometidoMes']; |
---|
176 | $acumuladoCausado += $seguimiento_financiero_todosmes[$mes]['causadoMes']; |
---|
177 | $acumuladoPagado += $seguimiento_financiero_todosmes[$mes]['pagadoMes']; |
---|
178 | |
---|
179 | } |
---|
180 | |
---|
181 | //totales |
---|
182 | $acum = array( |
---|
183 | //'acumuladoAsignado' => $acumuladoAsignado,//no incluye las reformulaciones |
---|
184 | 'acumuladoComprometido' => $acumuladoComprometido, |
---|
185 | 'acumuladoCausado' => $acumuladoCausado, |
---|
186 | 'acumuladoPagado' => $acumuladoPagado, |
---|
187 | ); |
---|
188 | //de cada mes y totales |
---|
189 | $seguimiento_todos_meses_financiero = array( |
---|
190 | 'seguimiento_financiero_todosmes' => $seguimiento_financiero_todosmes, |
---|
191 | 'acum' => $acum, |
---|
192 | ); |
---|
193 | |
---|
194 | return $seguimiento_todos_meses_financiero; |
---|
195 | } |
---|
196 | |
---|
197 | /** |
---|
198 | * consulta cantidad de beneficiarios del proyecto, para todos los meses (funcion utilizada para mostrar los datos seguimiento proyecto) |
---|
199 | * 02 mayo 2013, por Diego Uzcategui |
---|
200 | */ |
---|
201 | function _seguimiento_beneficiario_todosmes_proyecto_load_solo_datos_aprobados($node) { |
---|
202 | |
---|
203 | $seguimiento_todosbeneficiarios_todosmes = array(); |
---|
204 | |
---|
205 | $cant_beneficiarios_meses = array(); |
---|
206 | for($mes=0; $mes<12; $mes++){ |
---|
207 | $cant_beneficiarios_meses[$mes] = 0; |
---|
208 | } |
---|
209 | $total_benef = 0; |
---|
210 | foreach($node->field_proyecto_beneficiario as $beneficiarios) { |
---|
211 | $seguimiento_beneficiario = array( |
---|
212 | 'nombre' => $beneficiarios['value'], |
---|
213 | 'cant_meses' => $cant_beneficiarios_meses, |
---|
214 | 'total_benef' => $total_benef, |
---|
215 | ); |
---|
216 | $seguimiento_todosbeneficiarios_todosmes[] = $seguimiento_beneficiario; |
---|
217 | } |
---|
218 | |
---|
219 | $estado_aprobado = variable_get('acciones_centralizadas_state_aprobado', NULL); |
---|
220 | |
---|
221 | //consultar cantidad de beneficiarios |
---|
222 | for($mes=0; $mes<12; $mes++){ |
---|
223 | $query = "SELECT * from {seguimiento_proyecto} where nid=%d and mes=%d AND estado=%d ";//consulta seguimiento |
---|
224 | $queryResult = db_query ( $query, $node->nid, $mes, $estado_aprobado); |
---|
225 | $seg = db_fetch_object ( $queryResult ) ; |
---|
226 | $seg_ident = $seg->id_seg; |
---|
227 | $mes_seg = $seg->mes; |
---|
228 | |
---|
229 | $query2 = "SELECT * from {seguimiento_proyecto_beneficiarios} where id_seg=%d";//consulta seguimiento de partidas |
---|
230 | $queryResult2 = db_query ( $query2, $seg_ident); |
---|
231 | |
---|
232 | while ( $seg_beneficiario = db_fetch_object ( $queryResult2 )){ |
---|
233 | $pos_benef = $seg_beneficiario->posicion_beneficiario; |
---|
234 | $cantid_benef_mes = $seg_beneficiario->cant_beneficiarios_mes; |
---|
235 | $seguimiento_todosbeneficiarios_todosmes[$pos_benef]['cant_meses'][$mes_seg] = $cantid_benef_mes; |
---|
236 | $seguimiento_todosbeneficiarios_todosmes[$pos_benef]['total_benef'] += $cantid_benef_mes; |
---|
237 | } |
---|
238 | } |
---|
239 | |
---|
240 | return $seguimiento_todosbeneficiarios_todosmes; |
---|
241 | } |
---|