1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.fhw.cabaweb.calculation;
21
22 import java.util.ArrayList;
23 import java.util.Collection;
24 import java.util.Iterator;
25
26 import org.apache.commons.logging.Log;
27 import org.apache.commons.logging.LogFactory;
28 import org.fhw.cabaweb.data.DataInterfaceErgebnissdaten;
29 import org.fhw.cabaweb.data.DataInterfaceProjektgruppen;
30 import org.fhw.cabaweb.data.DataInterfaceVoreinstellungen;
31 import org.fhw.cabaweb.data.constants.Constants;
32 import org.fhw.cabaweb.data.dataobjects.Ergebniss;
33 import org.fhw.cabaweb.data.dataobjects.ForschungUndEntwicklung;
34 import org.fhw.cabaweb.data.dataobjects.GruppeWert;
35 import org.fhw.cabaweb.data.dataobjects.Lizenzverkauf;
36 import org.fhw.cabaweb.data.dataobjects.Marketingeffekt;
37 import org.fhw.cabaweb.data.dataobjects.Marktforschung;
38 import org.fhw.cabaweb.data.dataobjects.PreisAbsatz;
39 import org.fhw.cabaweb.data.dataobjects.ProduktartAbhaengigkeiten;
40 import org.fhw.cabaweb.data.dataobjects.Qualitaetssicherung;
41 import org.fhw.cabaweb.data.dataobjects.Verwaltungskosten;
42 import org.fhw.cabaweb.data.dataobjects.Voreinstellung;
43 import org.fhw.cabaweb.ojb.dataobjects.Projektgruppen;
44
45 /***
46 * Die Klasse füllt die notwendigen "Tabellen"-Objekte mit Voreinstellungen / Ergebnissen.
47 *
48 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
49 * @version Version 1.0 13.08.2004
50 */
51 public final class ErstelleDatentabellen
52 {
53 /*** Commons Logging Instanz */
54 private static Log log = LogFactory.getLog("org.fhw.cabaweb.calculation.ErstelleDatentabellen");
55
56
57
58 /***
59 * Standardkonstruktor der nicht zugänglich sein soll, da dies eine Utility Klasse ist
60 */
61 protected ErstelleDatentabellen()
62 {
63 throw new UnsupportedOperationException();
64 }
65
66 /***
67 * Generiert die Preis-Absatz Tabelle.
68 *
69 * @param projektnummer Die Projektnummer
70 * @return PreisAbsatzTabelle ArrayList
71 */
72 public static final ArrayList PreisAbsatzTabelle(Integer projektnummer)
73 {
74 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
75 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
76
77 ArrayList preisAbsatzTabelle = new ArrayList();
78 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_PREISABSATZ_PREIS_KEY);
79 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_PREISABSATZ_ABSATZ_KEY);
80 Iterator iter_1 = voreinstellungen_1.iterator();
81 Iterator iter_2 = voreinstellungen_2.iterator();
82 Voreinstellung voreinstellung_1 = null;
83 Voreinstellung voreinstellung_2 = null;
84
85 while (iter_1.hasNext() && iter_2.hasNext())
86 {
87 voreinstellung_1 = (Voreinstellung) iter_1.next();
88 voreinstellung_2 = (Voreinstellung) iter_2.next();
89
90 preisAbsatzTabelle.add(new PreisAbsatz(((Double) voreinstellung_1.getWertObject()).doubleValue(), ((Integer) voreinstellung_2.getWertObject()).intValue()));
91 }
92
93 if (log.isDebugEnabled())
94 {
95 log.debug(" '" + preisAbsatzTabelle.toString() + "'");
96 }
97
98 return preisAbsatzTabelle;
99 }
100
101 /***
102 *
103 *
104 * @param projektnummer Die Projektnummer
105 */
106 public static final ArrayList MarketingTabelle(Integer projektnummer)
107 {
108 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
109 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
110
111 ArrayList marketingTabelle = new ArrayList();
112 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_MARKETINGEFFEKT_VORWERT_KEY);
113 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_MARKETINGEFFEKT_EFFEKT_KEY);
114 Iterator iter_1 = voreinstellungen_1.iterator();
115 Iterator iter_2 = voreinstellungen_2.iterator();
116 Voreinstellung voreinstellung_1 = null;
117 Voreinstellung voreinstellung_2 = null;
118
119 while (iter_1.hasNext() && iter_2.hasNext())
120 {
121 voreinstellung_1 = (Voreinstellung) iter_1.next();
122 voreinstellung_2 = (Voreinstellung) iter_2.next();
123
124 marketingTabelle.add(new Marketingeffekt(((Double) voreinstellung_1.getWertObject()).doubleValue(), ((Double) voreinstellung_2.getWertObject()).doubleValue()));
125 }
126
127 if (log.isDebugEnabled())
128 {
129 log.debug(" '" + marketingTabelle.toString() + "'");
130 }
131
132 return marketingTabelle;
133 }
134
135 /***
136 *
137 *
138 * @param projektnummer Die Projektnummer
139 */
140 public static final ArrayList MarktforschungTabelle(Integer projektnummer)
141 {
142 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
143 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
144
145 ArrayList marktforschungTabelle = new ArrayList();
146 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_MARKTFORSCHUNG_STUFE_KEY);
147 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_MARKTFORSCHUNG_KOSTEN_KEY);
148 Iterator iter_1 = voreinstellungen_1.iterator();
149 Iterator iter_2 = voreinstellungen_2.iterator();
150 Voreinstellung voreinstellung_1 = null;
151 Voreinstellung voreinstellung_2 = null;
152
153 while (iter_1.hasNext() && iter_2.hasNext())
154 {
155 voreinstellung_1 = (Voreinstellung) iter_1.next();
156 voreinstellung_2 = (Voreinstellung) iter_2.next();
157
158 marktforschungTabelle.add(new Marktforschung(((Integer) voreinstellung_1.getWertObject()).intValue(), ((Double) voreinstellung_2.getWertObject()).doubleValue()));
159 }
160
161 if (log.isDebugEnabled())
162 {
163 log.debug(" '" + marktforschungTabelle.toString() + "'");
164 }
165
166 return marktforschungTabelle;
167 }
168
169 /***
170 *
171 *
172 * @param projektnummer Die Projektnummer
173 */
174 public static final ArrayList ProduktArtAbhaengigkeitenTabelle(Integer projektnummer)
175 {
176 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
177 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
178
179 ArrayList produktArtAbhaengigkeitenTabelle = new ArrayList();
180 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_PRODUKTARTABHAENGIGKEITEN_PRODUKTART_KEY);
181 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_PRODUKTARTABHAENGIGKEITEN_PRODUKTARTEFFEKT_KEY);
182 Collection voreinstellungen_3 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_PRODUKTARTABHAENGIGKEITEN_FERTIGUNGSZEIT_KEY);
183 Collection voreinstellungen_4 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_PRODUKTARTABHAENGIGKEITEN_VERBRAUCH_KEY);
184 Iterator iter_1 = voreinstellungen_1.iterator();
185 Iterator iter_2 = voreinstellungen_2.iterator();
186 Iterator iter_3 = voreinstellungen_3.iterator();
187 Iterator iter_4 = voreinstellungen_4.iterator();
188 Voreinstellung voreinstellung_1 = null;
189 Voreinstellung voreinstellung_2 = null;
190 Voreinstellung voreinstellung_3 = null;
191 Voreinstellung voreinstellung_4 = null;
192
193 while (iter_1.hasNext() && iter_2.hasNext() && iter_3.hasNext() && iter_4.hasNext())
194 {
195 voreinstellung_1 = (Voreinstellung) iter_1.next();
196 voreinstellung_2 = (Voreinstellung) iter_2.next();
197 voreinstellung_3 = (Voreinstellung) iter_3.next();
198 voreinstellung_4 = (Voreinstellung) iter_4.next();
199
200 produktArtAbhaengigkeitenTabelle.add(new ProduktartAbhaengigkeiten(((Integer) voreinstellung_1.getWertObject()).intValue(), ((Double) voreinstellung_2.getWertObject()).doubleValue(), ((Double) voreinstellung_3.getWertObject()).doubleValue(), ((Double) voreinstellung_4.getWertObject()).doubleValue()));
201 }
202
203 if (log.isDebugEnabled())
204 {
205 log.debug(" '" + produktArtAbhaengigkeitenTabelle.toString() + "'");
206 }
207
208 return produktArtAbhaengigkeitenTabelle;
209 }
210
211 /***
212 *
213 *
214 * @param projektnummer Die Projektnummer
215 */
216 public static final ArrayList ForschungUndEntwicklungTabelle(Integer projektnummer)
217 {
218 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
219 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
220
221 ArrayList forschungUndEntwicklungTabelle = new ArrayList();
222 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_FORSCHUNGUNDENTWICKLUNG_KOSTEN_KEY);
223 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_FORSCHUNGUNDENTWICKLUNG_PRODUKTART_KEY);
224 Iterator iter_1 = voreinstellungen_1.iterator();
225 Iterator iter_2 = voreinstellungen_2.iterator();
226 Voreinstellung voreinstellung_1 = null;
227 Voreinstellung voreinstellung_2 = null;
228
229 while (iter_1.hasNext() && iter_2.hasNext())
230 {
231 voreinstellung_1 = (Voreinstellung) iter_1.next();
232 voreinstellung_2 = (Voreinstellung) iter_2.next();
233
234 forschungUndEntwicklungTabelle.add(new ForschungUndEntwicklung(((Double) voreinstellung_1.getWertObject()).doubleValue(), ((Integer) voreinstellung_2.getWertObject()).intValue()));
235 }
236
237 if (log.isDebugEnabled())
238 {
239 log.debug(" '" + forschungUndEntwicklungTabelle.toString() + "'");
240 }
241
242 return forschungUndEntwicklungTabelle;
243 }
244
245 /***
246 *
247 *
248 * @param projektnummer Die Projektnummer
249 */
250 public static final ArrayList QualitaetssicherungTabelle(Integer projektnummer)
251 {
252 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
253 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
254
255 ArrayList qualitaetssicherungTabelle = new ArrayList();
256 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_QUALITAETSSICHERUNG_AUSGABEN_KEY);
257 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_QUALITAETSSICHERUNG_FEHLERRATE_KEY);
258 Collection voreinstellungen_3 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_QUALITAETSSICHERUNG_AUSSCHUSSRATE_KEY);
259 Iterator iter_1 = voreinstellungen_1.iterator();
260 Iterator iter_2 = voreinstellungen_2.iterator();
261 Iterator iter_3 = voreinstellungen_3.iterator();
262 Voreinstellung voreinstellung_1 = null;
263 Voreinstellung voreinstellung_2 = null;
264 Voreinstellung voreinstellung_3 = null;
265
266 while (iter_1.hasNext() && iter_2.hasNext() && iter_3.hasNext())
267 {
268 voreinstellung_1 = (Voreinstellung) iter_1.next();
269 voreinstellung_2 = (Voreinstellung) iter_2.next();
270 voreinstellung_3 = (Voreinstellung) iter_3.next();
271
272 qualitaetssicherungTabelle.add(new Qualitaetssicherung(((Double) voreinstellung_1.getWertObject()).doubleValue(), ((Double) voreinstellung_2.getWertObject()).doubleValue(), ((Double) voreinstellung_3.getWertObject()).doubleValue()));
273 }
274
275 if (log.isDebugEnabled())
276 {
277 log.debug(" '" + qualitaetssicherungTabelle.toString() + "'");
278 }
279
280 return qualitaetssicherungTabelle;
281 }
282
283 /***
284 *
285 *
286 * @param projektnummer Die Projektnummer
287 */
288 public static final ArrayList VerwaltungTabelle(Integer projektnummer)
289 {
290 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
291 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
292
293 ArrayList verwaltungTabelle = new ArrayList();
294 Collection voreinstellungen_1 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_VERWALTUNGSKOSTEN_KAPAZITAETSAUSLASTUNG_KEY);
295 Collection voreinstellungen_2 = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_VERWALTUNGSKOSTEN_KOSTEN_KEY);
296 Iterator iter_1 = voreinstellungen_1.iterator();
297 Iterator iter_2 = voreinstellungen_2.iterator();
298 Voreinstellung voreinstellung_1 = null;
299 Voreinstellung voreinstellung_2 = null;
300
301 while (iter_1.hasNext() && iter_2.hasNext())
302 {
303 voreinstellung_1 = (Voreinstellung) iter_1.next();
304 voreinstellung_2 = (Voreinstellung) iter_2.next();
305
306 verwaltungTabelle.add(new Verwaltungskosten(((Double) voreinstellung_1.getWertObject()).doubleValue(), ((Double) voreinstellung_2.getWertObject()).doubleValue()));
307 }
308
309 if (log.isDebugEnabled())
310 {
311 log.debug(" '" + verwaltungTabelle.toString() + "'");
312 }
313
314 return verwaltungTabelle;
315 }
316
317 /***
318 *
319 *
320 * @param projektnummer Die Projektnummer
321 * @param quartal Das Quartal
322 */
323 public static final ArrayList AbsetzbareMengenTabelle(Integer projektnummer, Integer quartal)
324 {
325 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
326 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
327 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
328 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
329
330 ArrayList absetzbareMengenTabelle = new ArrayList();
331 Collection absetzbareMengen = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENABSETZBAREMENGE_KEY);
332 Iterator iter = absetzbareMengen.iterator();
333 Ergebniss absetzbareMenge = null;
334
335 while (iter.hasNext())
336 {
337 absetzbareMenge = (Ergebniss) iter.next();
338
339 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(absetzbareMenge.getGruppennummer());
340
341 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
342 {
343 if (log.isDebugEnabled())
344 {
345 log.debug(" WRONG GROUP - NOTHING TO DO");
346 }
347 }
348 else
349 absetzbareMengenTabelle.add(new GruppeWert(absetzbareMenge.getGruppennummer(), (Double) absetzbareMenge.getObjectWert()));
350 }
351
352 if (log.isDebugEnabled())
353 {
354 log.debug(" '" + absetzbareMengenTabelle.toString() + "'");
355 }
356
357 return absetzbareMengenTabelle;
358 }
359
360 /***
361 *
362 *
363 * @param projektnummer Die Projektnummer
364 * @param quartal Das Quartal
365 */
366 public static final ArrayList FertigProdukteTabelle(Integer projektnummer, Integer quartal)
367 {
368 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
369 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
370 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
371 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
372
373 ArrayList fertigProdukteTabelle = new ArrayList();
374 Collection fertigProdukte = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_ALLGEMEINFERTIGPRODUKTEGESAMT_KEY);
375 Iterator iter = fertigProdukte.iterator();
376 Ergebniss fertigProdukt = null;
377
378 while (iter.hasNext())
379 {
380 fertigProdukt = (Ergebniss) iter.next();
381
382 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(fertigProdukt.getGruppennummer());
383
384 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
385 {
386 if (log.isDebugEnabled())
387 {
388 log.debug(" WRONG GROUP - NOTHING TO DO");
389 }
390 }
391 else
392 fertigProdukteTabelle.add(new GruppeWert(fertigProdukt.getGruppennummer(), (Double) fertigProdukt.getObjectWert()));
393 }
394
395 if (log.isDebugEnabled())
396 {
397 log.debug(" '" + fertigProdukteTabelle.toString() + "'");
398 }
399
400 return fertigProdukteTabelle;
401 }
402
403 /***
404 *
405 *
406 * @param projektnummer Die Projektnummer
407 * @param quartal Das Quartal
408 */
409 public static final ArrayList TatsaechlicherAbsatzTabelle(Integer projektnummer, Integer quartal)
410 {
411 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
412 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
413 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
414 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
415
416 ArrayList tatsaechlicherAbsatzTabelle = new ArrayList();
417 Collection tatsaechlicheAbsaetze = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENABGESETZTEMENGE_KEY);
418 Iterator iter = tatsaechlicheAbsaetze.iterator();
419 Ergebniss tatsaechlicherAbsatz = null;
420
421 while (iter.hasNext())
422 {
423 tatsaechlicherAbsatz = (Ergebniss) iter.next();
424
425 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(tatsaechlicherAbsatz.getGruppennummer());
426
427 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
428 {
429 if (log.isDebugEnabled())
430 {
431 log.debug(" WRONG GROUP - NOTHING TO DO");
432 }
433 }
434 else
435 tatsaechlicherAbsatzTabelle.add(new GruppeWert(tatsaechlicherAbsatz.getGruppennummer(), (Double) tatsaechlicherAbsatz.getObjectWert()));
436 }
437
438 if (log.isDebugEnabled())
439 {
440 log.debug(" '" + tatsaechlicherAbsatzTabelle.toString() + "'");
441 }
442
443 return tatsaechlicherAbsatzTabelle;
444 }
445
446 /***
447 *
448 *
449 * @param projektnummer Die Projektnummer
450 * @param quartal Das Quartal
451 */
452 public static final ArrayList DefiziteTabelle(Integer projektnummer, Integer quartal)
453 {
454 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
455 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
456 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
457 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
458
459 ArrayList defiziteTabelle = new ArrayList();
460 Collection defizite = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENLIEFERDEFIZIT_KEY);
461 Iterator iter = defizite.iterator();
462 Ergebniss defizit = null;
463
464 while (iter.hasNext())
465 {
466 defizit = (Ergebniss) iter.next();
467
468 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(defizit.getGruppennummer());
469
470 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
471 {
472 if (log.isDebugEnabled())
473 {
474 log.debug(" WRONG GROUP - NOTHING TO DO");
475 }
476 }
477 else
478 defiziteTabelle.add(new GruppeWert(defizit.getGruppennummer(), (Double) defizit.getObjectWert()));
479 }
480
481 if (log.isDebugEnabled())
482 {
483 log.debug(" '" + defiziteTabelle.toString() + "'");
484 }
485
486 return defiziteTabelle;
487 }
488
489 /***
490 *
491 *
492 * @param projektnummer Die Projektnummer
493 * @param quartal Das Quartal
494 */
495 public static final ArrayList UmsatzTabelle(Integer projektnummer, Integer quartal)
496 {
497 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
498 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
499 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
500 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
501
502 ArrayList umsatzTabelle = new ArrayList();
503 Collection umsaetze = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_ERFOLGSRECHNUNGUMSATZERLOESE_KEY);
504 Iterator iter = umsaetze.iterator();
505 Ergebniss umsatz = null;
506
507 while (iter.hasNext())
508 {
509 umsatz = (Ergebniss) iter.next();
510
511 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(umsatz.getGruppennummer());
512
513 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
514 {
515 if (log.isDebugEnabled())
516 {
517 log.debug(" WRONG GROUP - NOTHING TO DO");
518 }
519 }
520 else
521 umsatzTabelle.add(new GruppeWert(umsatz.getGruppennummer(), (Double) umsatz.getObjectWert()));
522 }
523
524 if (log.isDebugEnabled())
525 {
526 log.debug(" '" + umsatzTabelle.toString() + "'");
527 }
528
529 return umsatzTabelle;
530 }
531
532 /***
533 *
534 *
535 * @param projektnummer Die Projektnummer
536 * @param quartal Das Quartal
537 */
538 public static final ArrayList WirksamerPreisTabelle(Integer projektnummer, Integer quartal)
539 {
540 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
541 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
542 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
543 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
544
545 if (log.isDebugEnabled())
546 {
547 log.debug(" Projekt Nummer : '" + projektnummer + "' Quartal : '" + quartal + "'");
548 }
549
550 ArrayList wirksamerPreisTabelle = new ArrayList();
551 Collection wirksamePreise = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENVERKAUFSPREISWIRKSAM_KEY);
552 Iterator iter = wirksamePreise.iterator();
553 Ergebniss wirksamerPreis = null;
554
555 while (iter.hasNext())
556 {
557 wirksamerPreis = (Ergebniss) iter.next();
558
559 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(wirksamerPreis.getGruppennummer());
560
561 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
562 {
563 if (log.isDebugEnabled())
564 {
565 log.debug(" WRONG GROUP - NOTHING TO DO");
566 }
567 }
568 else
569 wirksamerPreisTabelle.add(new GruppeWert(wirksamerPreis.getGruppennummer(), (Double) wirksamerPreis.getObjectWert()));
570 }
571
572 if (log.isDebugEnabled())
573 {
574 log.debug(" '" + wirksamerPreisTabelle.toString() + "'");
575 }
576
577 return wirksamerPreisTabelle;
578 }
579
580 /***
581 *
582 *
583 * @param projektnummer Die Projektnummer
584 * @param quartal Das Quartal
585 */
586 public static final ArrayList LizenzverkaufTabelle(Integer projektnummer, Integer quartal)
587 {
588 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
589 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
590 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
591 DataInterfaceProjektgruppen dipg = new DataInterfaceProjektgruppen();
592
593 ArrayList lizenzverkaufTabelle = new ArrayList();
594 Collection produktartVerkauf = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENLIZENZVERKAUFPRODUKTART_KEY);
595 Collection unternehmenVerkauf = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENLIZENZVERKAUFUNTERNEHMEN_KEY);
596 Collection unternehmenErwerb = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENLIZENZERWERBUNTERNEHMEN_KEY);
597 Collection kostenErwerb = die.sucheKombination_Feld(projektnummer, quartal, Constants.EF_GRUNDDATENLIZENZERWERBSKOSTEN_KEY);
598 Iterator iter_1 = produktartVerkauf.iterator();
599 Iterator iter_2 = unternehmenVerkauf.iterator();
600 Iterator iter_3 = unternehmenErwerb.iterator();
601 Iterator iter_4 = kostenErwerb.iterator();
602 Ergebniss produktartVerkaufWert = null;
603 Ergebniss unternehmenVerkaufWert = null;
604 Ergebniss unternehmenErwerbWert = null;
605 Ergebniss kostenErwerbWert = null;
606
607 while (iter_1.hasNext() && iter_2.hasNext() && iter_3.hasNext() && iter_4.hasNext())
608 {
609 produktartVerkaufWert = (Ergebniss) iter_1.next();
610 unternehmenVerkaufWert = (Ergebniss) iter_2.next();
611 unternehmenErwerbWert = (Ergebniss) iter_3.next();
612 kostenErwerbWert = (Ergebniss) iter_4.next();
613
614 Projektgruppen projektgruppe = (Projektgruppen) dipg.sucheGruppennummer(produktartVerkaufWert.getGruppennummer());
615
616 if (projektgruppe.getAktiv().booleanValue() == false || projektgruppe.getGruppenname().compareTo("Default") == 0 || projektgruppe.getGruppenname().compareTo("Projektleiter") == 0 || projektgruppe.getGruppenname().compareTo("Administratorgruppe") == 0)
617 {
618 if (log.isDebugEnabled())
619 {
620 log.debug(" WRONG GROUP - NOTHING TO DO");
621 }
622 }
623 else
624 {
625 int produktartVerkaufI = 0;
626 int unternehmenVerkaufI = 0;
627 int unternehmenErwerbI = 0;
628 double kostenErwerbD = 0.0;
629
630 if (produktartVerkaufWert.getObjectWert() != null)
631 produktartVerkaufI = ((Integer) produktartVerkaufWert.getObjectWert()).intValue();
632 if (unternehmenVerkaufWert.getObjectWert() != null)
633 unternehmenVerkaufI = ((Integer) unternehmenVerkaufWert.getObjectWert()).intValue();
634 if (unternehmenErwerbWert.getObjectWert() != null)
635 unternehmenErwerbI = ((Integer) unternehmenErwerbWert.getObjectWert()).intValue();
636 if (kostenErwerbWert.getObjectWert() != null)
637 kostenErwerbD = ((Double) kostenErwerbWert.getObjectWert()).doubleValue();
638
639 lizenzverkaufTabelle.add(new Lizenzverkauf((Integer) produktartVerkaufWert.getGruppennummer(), produktartVerkaufI, unternehmenVerkaufI, unternehmenErwerbI, kostenErwerbD));
640 }
641 }
642
643 if (log.isDebugEnabled())
644 {
645 log.debug(" '" + lizenzverkaufTabelle.toString() + "'");
646 }
647
648 return lizenzverkaufTabelle;
649 }
650 }