View Javadoc

1   package ecar.servlet.relatorio.PPA_Util;
2   
3   import java.math.BigDecimal;
4   
5   import ecar.servlet.relatorio.PPA.bean.AcaoBean;
6   import ecar.servlet.relatorio.PPA.bean.ProgramaBean;
7   import ecar.servlet.relatorio.PPA_LinhaAcao.PPA_LinhaAcaoBean;
8   import ecar.servlet.relatorio.PPA_Orgao.PPA_OrgaoBean;
9   import ecar.servlet.relatorio.PPA_Programa.PPA_ProgramaBean;
10  
11  /**
12   * Classe utilitaria para calcular os totais das tabelas de PPA
13   * @author Gabriel I Solana
14   * @since 07/2007
15   *
16   */
17  public class CalcularTotalVisitor {
18  
19  	public CalcularTotalVisitor(){}
20  	
21  
22  	
23  	/**
24  	 * Calcula totais da tabela de resumo de Itens de Programa para o relatorio PPA 
25  	 * @param programa
26  	 */
27  	public void visit(ProgramaBean programa){
28  		
29  		// coluna corrente ano 1
30  		BigDecimal totalCorrenteVlr1 = new BigDecimal(0);
31  		totalCorrenteVlr1 = totalCorrenteVlr1.add(programa.getValor13());
32  		totalCorrenteVlr1 = totalCorrenteVlr1.add(programa.getValor14());
33  		totalCorrenteVlr1 = totalCorrenteVlr1.add(programa.getValor15());
34  		programa.setTotalCorrenteVlr1( totalCorrenteVlr1 );
35  		
36  		// coluna corrente ano 2
37  		BigDecimal totalCorrenteVlr2 = new BigDecimal(0);
38  		totalCorrenteVlr2 = totalCorrenteVlr2.add(programa.getValor16());
39  		totalCorrenteVlr2 = totalCorrenteVlr2.add(programa.getValor17());
40  		totalCorrenteVlr2 = totalCorrenteVlr2.add(programa.getValor18());
41  		programa.setTotalCorrenteVlr2( totalCorrenteVlr2 );
42  		
43  		// coluna corrente ano 3
44  		BigDecimal totalCorrenteVlr3 = new BigDecimal(0);
45  		totalCorrenteVlr3 = totalCorrenteVlr3.add(programa.getValor19());
46  		totalCorrenteVlr3 = totalCorrenteVlr3.add(programa.getValor20());
47  		totalCorrenteVlr3 = totalCorrenteVlr3.add(programa.getValor21());
48  		programa.setTotalCorrenteVlr3( totalCorrenteVlr3 );
49  		
50  		// coluna corrente ano 4
51  		BigDecimal totalCorrenteVlr4 = new BigDecimal(0);
52  		totalCorrenteVlr4 = totalCorrenteVlr4.add(programa.getValor22());
53  		totalCorrenteVlr4 = totalCorrenteVlr4.add(programa.getValor23());
54  		totalCorrenteVlr4 = totalCorrenteVlr4.add(programa.getValor24());
55  		programa.setTotalCorrenteVlr4( totalCorrenteVlr4 );		
56  		
57  		// linha 1 total ( correntes )
58  		BigDecimal totalCorrenteRecurso1 = new BigDecimal(0);
59  		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(programa.getValor15());
60  		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(programa.getValor18());
61  		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(programa.getValor21());
62  		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(programa.getValor24());		
63  		programa.setTotalCorrenteRecurso1( totalCorrenteRecurso1 );			
64  		
65  		//	linha 2 total ( correntes )
66  		BigDecimal totalCorrenteRecurso2 = new BigDecimal(0);
67  		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(programa.getValor13());
68  		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(programa.getValor16());
69  		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(programa.getValor19());
70  		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(programa.getValor22());		
71  		programa.setTotalCorrenteRecurso2( totalCorrenteRecurso2 );
72  		
73  		//	linha 3 total ( correntes )
74  		BigDecimal totalCorrenteRecurso3 = new BigDecimal(0);
75  		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(programa.getValor14());
76  		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(programa.getValor17());
77  		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(programa.getValor20());
78  		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(programa.getValor23());		
79  		programa.setTotalCorrenteRecurso3( totalCorrenteRecurso3 );
80  		
81  		BigDecimal totalCorrenteRecursoTot = new BigDecimal(0);
82  		totalCorrenteRecursoTot = totalCorrenteRecursoTot.add( totalCorrenteRecurso1 );
83  		totalCorrenteRecursoTot = totalCorrenteRecursoTot.add(totalCorrenteRecurso2 );
84  		totalCorrenteRecursoTot = totalCorrenteRecursoTot.add(totalCorrenteRecurso3 );		
85  		programa.setTotalCorrenteRecursoTot( totalCorrenteRecursoTot );
86  		
87  		// coluna capital ano 1
88  		BigDecimal totalCapitalVlr1 = new BigDecimal(0);
89  		totalCapitalVlr1 = totalCapitalVlr1.add(programa.getValor1());
90  		totalCapitalVlr1 = totalCapitalVlr1.add(programa.getValor2());
91  		totalCapitalVlr1 = totalCapitalVlr1.add(programa.getValor3());
92  		programa.setTotalCapitalVlr1( totalCapitalVlr1 );
93  		
94  		// coluna capital ano 2
95  		BigDecimal totalCapitalVlr2 = new BigDecimal(0);
96  		totalCapitalVlr2 = totalCapitalVlr2.add(programa.getValor4());
97  		totalCapitalVlr2 = totalCapitalVlr2.add(programa.getValor5());
98  		totalCapitalVlr2 = totalCapitalVlr2.add(programa.getValor6());
99  		programa.setTotalCapitalVlr2( totalCapitalVlr2 );		
100 		
101 		// coluna capital ano 3
102 		BigDecimal totalCapitalVlr3 = new BigDecimal(0);
103 		totalCapitalVlr3 = totalCapitalVlr3.add(programa.getValor7());
104 		totalCapitalVlr3 = totalCapitalVlr3.add(programa.getValor8());
105 		totalCapitalVlr3 = totalCapitalVlr3.add(programa.getValor9());
106 		programa.setTotalCapitalVlr3( totalCapitalVlr3 );		
107 
108 		// coluna capital ano 4
109 		BigDecimal totalCapitalVlr4 = new BigDecimal(0);
110 		totalCapitalVlr4 = totalCapitalVlr4.add(programa.getValor10());
111 		totalCapitalVlr4 = totalCapitalVlr4.add(programa.getValor11());
112 		totalCapitalVlr4 = totalCapitalVlr4.add(programa.getValor12());
113 		programa.setTotalCapitalVlr4( totalCapitalVlr4 );				
114 		
115 		// linha 1 total ( capital )
116 		BigDecimal totalCapitalRecurso1 = new BigDecimal(0);
117 		totalCapitalRecurso1 = totalCapitalRecurso1.add(programa.getValor3());
118 		totalCapitalRecurso1 = totalCapitalRecurso1.add(programa.getValor6());
119 		totalCapitalRecurso1 = totalCapitalRecurso1.add(programa.getValor9());
120 		totalCapitalRecurso1 = totalCapitalRecurso1.add(programa.getValor12());		
121 		programa.setTotalCapitalRecurso1( totalCapitalRecurso1 );	
122 
123 		// linha 2 total ( capital )
124 		BigDecimal totalCapitalRecurso2 = new BigDecimal(0);
125 		totalCapitalRecurso2 = totalCapitalRecurso2.add(programa.getValor1());
126 		totalCapitalRecurso2 = totalCapitalRecurso2.add(programa.getValor4());
127 		totalCapitalRecurso2 = totalCapitalRecurso2.add(programa.getValor7());
128 		totalCapitalRecurso2 = totalCapitalRecurso2.add(programa.getValor10());		
129 		programa.setTotalCapitalRecurso2( totalCapitalRecurso2 );			
130 		
131 		// linha 3 total ( capital )
132 		BigDecimal totalCapitalRecurso3 = new BigDecimal(0);
133 		totalCapitalRecurso3 = totalCapitalRecurso3.add(programa.getValor2());
134 		totalCapitalRecurso3 = totalCapitalRecurso3.add(programa.getValor5());
135 		totalCapitalRecurso3 = totalCapitalRecurso3.add(programa.getValor8());
136 		totalCapitalRecurso3 = totalCapitalRecurso3.add(programa.getValor11());		
137 		programa.setTotalCapitalRecurso3( totalCapitalRecurso3 );			
138 		
139 		BigDecimal totalCapitalRecursoTot = new BigDecimal(0);
140 		totalCapitalRecursoTot = totalCapitalRecursoTot.add( totalCapitalRecurso1 );
141 		totalCapitalRecursoTot = totalCapitalRecursoTot.add( totalCapitalRecurso2 );
142 		totalCapitalRecursoTot = totalCapitalRecursoTot.add( totalCapitalRecurso3 );		
143 		programa.setTotalCapitalRecursoTot( totalCapitalRecursoTot );		
144 		
145 		
146 		// coluna total geral - linha 1
147 		BigDecimal totalGeralRecurso1 = new BigDecimal(0);
148 		totalGeralRecurso1 = totalGeralRecurso1.add( totalCorrenteRecurso1 );
149 		totalGeralRecurso1 = totalGeralRecurso1.add( totalCapitalRecurso1 );	
150 		programa.setTotalGeralRecurso1( totalGeralRecurso1 );
151 		
152 		// coluna total geral - linha 2
153 		BigDecimal totalGeralRecurso2 = new BigDecimal(0);
154 		totalGeralRecurso2 = totalGeralRecurso2.add( totalCorrenteRecurso2 );
155 		totalGeralRecurso2 = totalGeralRecurso2.add( totalCapitalRecurso2 );	
156 		programa.setTotalGeralRecurso2( totalGeralRecurso2 );
157 
158 		// coluna total geral - linha 3
159 		BigDecimal totalGeralRecurso3 = new BigDecimal(0);
160 		totalGeralRecurso3 = totalGeralRecurso3.add( totalCorrenteRecurso3 );
161 		totalGeralRecurso3 = totalGeralRecurso3.add( totalCapitalRecurso3 );	
162 		programa.setTotalGeralRecurso3( totalGeralRecurso3 );
163 		
164 		BigDecimal totalGeralRecursoTot = new BigDecimal(0);
165 		totalGeralRecursoTot = totalGeralRecursoTot.add( totalGeralRecurso1 );
166 		totalGeralRecursoTot = totalGeralRecursoTot.add( totalGeralRecurso2 );
167 		totalGeralRecursoTot = totalGeralRecursoTot.add( totalGeralRecurso3 );		
168 		programa.setTotalGeralRecursoTot( totalGeralRecursoTot );	
169 		
170 		
171 	}	
172 	
173 	/**
174 	 * Calcula totais da tabela de resumo de itens de Acoes
175 	 * @param acao
176 	 */
177 	public void visit(AcaoBean acao){
178 		
179 		// coluna corrente ano 1
180 		BigDecimal totalCorrenteVlr1 = new BigDecimal(0);
181 		totalCorrenteVlr1 = totalCorrenteVlr1.add(acao.getValor13());
182 		totalCorrenteVlr1 = totalCorrenteVlr1.add(acao.getValor14());
183 		totalCorrenteVlr1 = totalCorrenteVlr1.add(acao.getValor15());
184 		acao.setTotalCorrenteVlr1( totalCorrenteVlr1 );
185 		
186 		// coluna corrente ano 2
187 		BigDecimal totalCorrenteVlr2 = new BigDecimal(0);
188 		totalCorrenteVlr2 = totalCorrenteVlr2.add(acao.getValor16());
189 		totalCorrenteVlr2 = totalCorrenteVlr2.add(acao.getValor17());
190 		totalCorrenteVlr2 = totalCorrenteVlr2.add(acao.getValor18());
191 		acao.setTotalCorrenteVlr2( totalCorrenteVlr2 );
192 		
193 		// coluna corrente ano 3
194 		BigDecimal totalCorrenteVlr3 = new BigDecimal(0);
195 		totalCorrenteVlr3 = totalCorrenteVlr3.add(acao.getValor19());
196 		totalCorrenteVlr3 = totalCorrenteVlr3.add(acao.getValor20());
197 		totalCorrenteVlr3 = totalCorrenteVlr3.add(acao.getValor21());
198 		acao.setTotalCorrenteVlr3( totalCorrenteVlr3 );
199 		
200 		// coluna corrente ano 4
201 		BigDecimal totalCorrenteVlr4 = new BigDecimal(0);
202 		totalCorrenteVlr4 = totalCorrenteVlr4.add(acao.getValor22());
203 		totalCorrenteVlr4 = totalCorrenteVlr4.add(acao.getValor23());
204 		totalCorrenteVlr4 = totalCorrenteVlr4.add(acao.getValor24());
205 		acao.setTotalCorrenteVlr4( totalCorrenteVlr4 );		
206 		
207 		// linha 1 total ( correntes )
208 		BigDecimal totalCorrenteRecurso1 = new BigDecimal(0);
209 		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(acao.getValor15());
210 		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(acao.getValor18());
211 		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(acao.getValor21());
212 		totalCorrenteRecurso1 = totalCorrenteRecurso1.add(acao.getValor24());		
213 		acao.setTotalCorrenteRecurso1( totalCorrenteRecurso1 );			
214 		
215 		//	linha 2 total ( correntes )
216 		BigDecimal totalCorrenteRecurso2 = new BigDecimal(0);
217 		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(acao.getValor13());
218 		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(acao.getValor16());
219 		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(acao.getValor19());
220 		totalCorrenteRecurso2 = totalCorrenteRecurso2.add(acao.getValor22());		
221 		acao.setTotalCorrenteRecurso2( totalCorrenteRecurso2 );
222 		
223 		//	linha 3 total ( correntes )
224 		BigDecimal totalCorrenteRecurso3 = new BigDecimal(0);
225 		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(acao.getValor14());
226 		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(acao.getValor17());
227 		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(acao.getValor20());
228 		totalCorrenteRecurso3 = totalCorrenteRecurso3.add(acao.getValor23());		
229 		acao.setTotalCorrenteRecurso3( totalCorrenteRecurso3 );
230 		
231 		BigDecimal totalCorrenteRecursoTot = new BigDecimal(0);
232 		totalCorrenteRecursoTot = totalCorrenteRecursoTot.add( totalCorrenteRecurso1 );
233 		totalCorrenteRecursoTot = totalCorrenteRecursoTot.add(totalCorrenteRecurso2 );
234 		totalCorrenteRecursoTot = totalCorrenteRecursoTot.add(totalCorrenteRecurso3 );		
235 		acao.setTotalCorrenteRecursoTot( totalCorrenteRecursoTot );
236 		
237 		// coluna capital ano 1
238 		BigDecimal totalCapitalVlr1 = new BigDecimal(0);
239 		totalCapitalVlr1 = totalCapitalVlr1.add(acao.getValor1());
240 		totalCapitalVlr1 = totalCapitalVlr1.add(acao.getValor2());
241 		totalCapitalVlr1 = totalCapitalVlr1.add(acao.getValor3());
242 		acao.setTotalCapitalVlr1( totalCapitalVlr1 );
243 		
244 		// coluna capital ano 2
245 		BigDecimal totalCapitalVlr2 = new BigDecimal(0);
246 		totalCapitalVlr2 = totalCapitalVlr2.add(acao.getValor4());
247 		totalCapitalVlr2 = totalCapitalVlr2.add(acao.getValor5());
248 		totalCapitalVlr2 = totalCapitalVlr2.add(acao.getValor6());
249 		acao.setTotalCapitalVlr2( totalCapitalVlr2 );		
250 		
251 		// coluna capital ano 3
252 		BigDecimal totalCapitalVlr3 = new BigDecimal(0);
253 		totalCapitalVlr3 = totalCapitalVlr3.add(acao.getValor7());
254 		totalCapitalVlr3 = totalCapitalVlr3.add(acao.getValor8());
255 		totalCapitalVlr3 = totalCapitalVlr3.add(acao.getValor9());
256 		acao.setTotalCapitalVlr3( totalCapitalVlr3 );		
257 
258 		// coluna capital ano 4
259 		BigDecimal totalCapitalVlr4 = new BigDecimal(0);
260 		totalCapitalVlr4 = totalCapitalVlr4.add(acao.getValor10());
261 		totalCapitalVlr4 = totalCapitalVlr4.add(acao.getValor11());
262 		totalCapitalVlr4 = totalCapitalVlr4.add(acao.getValor12());
263 		acao.setTotalCapitalVlr4( totalCapitalVlr4 );				
264 		
265 		// linha 1 total ( capital )
266 		BigDecimal totalCapitalRecurso1 = new BigDecimal(0);
267 		totalCapitalRecurso1 = totalCapitalRecurso1.add(acao.getValor3());
268 		totalCapitalRecurso1 = totalCapitalRecurso1.add(acao.getValor6());
269 		totalCapitalRecurso1 = totalCapitalRecurso1.add(acao.getValor9());
270 		totalCapitalRecurso1 = totalCapitalRecurso1.add(acao.getValor12());		
271 		acao.setTotalCapitalRecurso1( totalCapitalRecurso1 );	
272 
273 		// linha 2 total ( capital )
274 		BigDecimal totalCapitalRecurso2 = new BigDecimal(0);
275 		totalCapitalRecurso2 = totalCapitalRecurso2.add(acao.getValor1());
276 		totalCapitalRecurso2 = totalCapitalRecurso2.add(acao.getValor4());
277 		totalCapitalRecurso2 = totalCapitalRecurso2.add(acao.getValor7());
278 		totalCapitalRecurso2 = totalCapitalRecurso2.add(acao.getValor10());		
279 		acao.setTotalCapitalRecurso2( totalCapitalRecurso2 );			
280 		
281 		// linha 3 total ( capital )
282 		BigDecimal totalCapitalRecurso3 = new BigDecimal(0);
283 		totalCapitalRecurso3 = totalCapitalRecurso3.add(acao.getValor2());
284 		totalCapitalRecurso3 = totalCapitalRecurso3.add(acao.getValor5());
285 		totalCapitalRecurso3 = totalCapitalRecurso3.add(acao.getValor8());
286 		totalCapitalRecurso3 = totalCapitalRecurso3.add(acao.getValor11());		
287 		acao.setTotalCapitalRecurso3( totalCapitalRecurso3 );			
288 		
289 		BigDecimal totalCapitalRecursoTot = new BigDecimal(0);
290 		totalCapitalRecursoTot = totalCapitalRecursoTot.add( totalCapitalRecurso1 );
291 		totalCapitalRecursoTot = totalCapitalRecursoTot.add( totalCapitalRecurso2 );
292 		totalCapitalRecursoTot = totalCapitalRecursoTot.add( totalCapitalRecurso3 );		
293 		acao.setTotalCapitalRecursoTot( totalCapitalRecursoTot );		
294 		
295 		
296 		// coluna total geral - linha 1
297 		BigDecimal totalGeralRecurso1 = new BigDecimal(0);
298 		totalGeralRecurso1 = totalGeralRecurso1.add( totalCorrenteRecurso1 );
299 		totalGeralRecurso1 = totalGeralRecurso1.add( totalCapitalRecurso1 );	
300 		acao.setTotalGeralRecurso1( totalGeralRecurso1 );
301 		
302 		// coluna total geral - linha 2
303 		BigDecimal totalGeralRecurso2 = new BigDecimal(0);
304 		totalGeralRecurso2 = totalGeralRecurso2.add( totalCorrenteRecurso2 );
305 		totalGeralRecurso2 = totalGeralRecurso2.add( totalCapitalRecurso2 );	
306 		acao.setTotalGeralRecurso2( totalGeralRecurso2 );
307 
308 		// coluna total geral - linha 3
309 		BigDecimal totalGeralRecurso3 = new BigDecimal(0);
310 		totalGeralRecurso3 = totalGeralRecurso3.add( totalCorrenteRecurso3 );
311 		totalGeralRecurso3 = totalGeralRecurso3.add( totalCapitalRecurso3 );	
312 		acao.setTotalGeralRecurso3( totalGeralRecurso3 );
313 		
314 		BigDecimal totalGeralRecursoTot = new BigDecimal(0);
315 		totalGeralRecursoTot = totalGeralRecursoTot.add( totalGeralRecurso1 );
316 		totalGeralRecursoTot = totalGeralRecursoTot.add( totalGeralRecurso2 );
317 		totalGeralRecursoTot = totalGeralRecursoTot.add( totalGeralRecurso3 );		
318 		acao.setTotalGeralRecursoTot( totalGeralRecursoTot );	
319 		
320 		
321 	}		
322 	
323 	/**
324 	 * Calcula totais da tabela de resumo de itens de Programa para o Relatorio PPA por Programa
325 	 * @param programa
326 	 */
327 	public void visit(PPA_ProgramaBean programa){
328 		
329 		BigDecimal total = new BigDecimal(0);
330 		total = total.add(programa.getValor1());
331 		total = total.add(programa.getValor2());
332 		total = total.add(programa.getValor3());
333 		total = total.add(programa.getValor4());
334 		programa.setTotal( total );
335 		
336 	}
337 	
338 	/**
339 	 * Calcula totais da tabela de resumo de itens de Programa para o Relatorio PPA por Linha de acao
340 	 * @param item
341 	 */
342 	public void visit(PPA_LinhaAcaoBean item){
343 		
344 		BigDecimal total = new BigDecimal(0);
345 		total = total.add(item.getValor1());
346 		total = total.add(item.getValor2());
347 		total = total.add(item.getValor3());
348 		total = total.add(item.getValor4());
349 		item.setTotal( total );
350 		
351 	}
352 	
353 	/**
354 	 * Calcula totais da tabela de resumo de itens  para o Relatorio PPA por Orgao
355 	 * @param item
356 	 */
357 	public void visit(PPA_OrgaoBean item){
358 		
359 		BigDecimal total = new BigDecimal(0);
360 		total = total.add(item.getValor1());
361 		total = total.add(item.getValor2());
362 		total = total.add(item.getValor3());
363 		total = total.add(item.getValor4());
364 		item.setTotal( total );
365 		
366 	}	
367 	
368 	
369 }