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.Collection;
23 import java.util.Iterator;
24 import java.util.Random;
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.DataInterfaceVoreinstellungen;
30 import org.fhw.cabaweb.data.constants.Constants;
31 import org.fhw.cabaweb.data.dataobjects.Ergebniss;
32 import org.fhw.cabaweb.data.dataobjects.Voreinstellung;
33 import org.fhw.cabaweb.math.Common;
34
35 /***
36 * Die Klasse erstellt die nötigen Indices (Konjunktur, Saison, Inflation, Lohnerhöhung).
37 *
38 * @author <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
39 * @version Version 1.0 15.08-03.09.2004
40 */
41 public final class ErstelleIndices
42 {
43 /*** Commons Logging Instanz */
44 private static Log log = LogFactory.getLog("org.fhw.cabaweb.calculation.ErstelleIndices");
45
46 /*** Commons Logging Instanz */
47 private static Random randomize = new Random(System.currentTimeMillis());
48
49
50
51 /***
52 * Standardkonstruktor der nicht zugänglich sein soll, da dies eine Utility Klasse ist
53 */
54 protected ErstelleIndices()
55 {
56 throw new UnsupportedOperationException();
57 }
58
59 /***
60 * Ermittelt den aktuellen Inflationswert, und gibt ihn zurück.
61 *
62 * @param projektnummer Die Projektnummer
63 * @param gruppennummer Die Gruppennummer
64 * @param quartal Das Quartal
65 * @return Die Inflation
66 */
67 public static final Double Inflation(Integer projektnummer, Integer gruppennummer, Integer quartal)
68 {
69 Double inflation = new Double(0.0);
70
71 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
72 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
73 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
74 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
75
76 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_REALINFLATION_KEY);
77 Iterator voreinstellungenIterator = voreinstellungen.iterator();
78 Voreinstellung voreinstellung = null;
79
80 boolean ausVoreinstellungenGelesen = false;
81
82 while (voreinstellungenIterator.hasNext())
83 {
84 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
85
86 if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ0) == 0 && quartal.intValue() == 0)
87 {
88 inflation = (Double) voreinstellung.getWertObject();
89 ausVoreinstellungenGelesen = true;
90 break;
91 }
92 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ1) == 0 && quartal.intValue() == 1)
93 {
94 inflation = (Double) voreinstellung.getWertObject();
95 ausVoreinstellungenGelesen = true;
96 break;
97 }
98 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ2) == 0 && quartal.intValue() == 2)
99 {
100 inflation = (Double) voreinstellung.getWertObject();
101 ausVoreinstellungenGelesen = true;
102 break;
103 }
104 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ3) == 0 && quartal.intValue() == 3)
105 {
106 inflation = (Double) voreinstellung.getWertObject();
107 ausVoreinstellungenGelesen = true;
108 break;
109 }
110 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ4) == 0 && quartal.intValue() == 4)
111 {
112 inflation = (Double) voreinstellung.getWertObject();
113 ausVoreinstellungenGelesen = true;
114 break;
115 }
116 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ5) == 0 && quartal.intValue() == 5)
117 {
118 inflation = (Double) voreinstellung.getWertObject();
119 ausVoreinstellungenGelesen = true;
120 break;
121 }
122 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ6) == 0 && quartal.intValue() == 6)
123 {
124 inflation = (Double) voreinstellung.getWertObject();
125 ausVoreinstellungenGelesen = true;
126 break;
127 }
128 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ7) == 0 && quartal.intValue() == 7)
129 {
130 inflation = (Double) voreinstellung.getWertObject();
131 ausVoreinstellungenGelesen = true;
132 break;
133 }
134 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEINFALTIONQ8) == 0 && quartal.intValue() == 8)
135 {
136 inflation = (Double) voreinstellung.getWertObject();
137 ausVoreinstellungenGelesen = true;
138 break;
139 }
140 }
141
142 if (ausVoreinstellungenGelesen == false)
143 {
144 Ergebniss ergebniss_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, new Integer(quartal.intValue() - 1), Constants.EF_GRUNDDATENINFLATIONSRATEVORHERSAGE_KEY);
145 Ergebniss ergebniss_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENINFLATIONSRATE_KEY);
146
147 if (ergebniss_2 != null && ergebniss_2.getObjectWert() != null && ergebniss_2.getObjectWert() != null)
148 {
149 inflation = (Double) ergebniss_2.getObjectWert();
150 }
151 else if (ergebniss_1 != null && ergebniss_1.getObjectWert() != null && quartal.intValue() > 0)
152 {
153 inflation = new Double(Math.abs((randomize.nextDouble() * 100.0) % (((Double) ergebniss_1.getObjectWert()).intValue() + 1.0)));
154 }
155 else if (quartal.intValue() > 0)
156 {
157 inflation = new Double(Math.abs((randomize.nextDouble() * 100.0) % 2.5));
158 }
159 else
160 {
161 inflation = new Double(0.0);
162 }
163
164 if (log.isDebugEnabled())
165 {
166 log.debug(" Inflation : '" + inflation.toString() + "'");
167 }
168 }
169
170 inflation = new Double(Common.aufZweiNachkommastellenRunden(inflation.doubleValue()));
171
172 return inflation;
173 }
174
175 /***
176 * Ermittelt die Vorhersage des Inflationswertes für das nächste Quartal, und gibt ihn zurück.
177 *
178 * @param projektnummer Die Projektnummer
179 * @param gruppennummer Die Gruppennummer
180 * @param quartal Das Quartal
181 * @return Die Inflationsvorhersage
182 */
183 public static final Double InflationVorhersage(Integer projektnummer, Integer gruppennummer, Integer quartal)
184 {
185 Double inflationVorhersage = new Double(0.0);
186
187 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
188 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
189 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
190 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
191
192 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_VORHERSAGEINFLATIONSRATE_KEY);
193 Iterator voreinstellungenIterator = voreinstellungen.iterator();
194 Voreinstellung voreinstellung = null;
195
196 boolean ausVoreinstellungenGelesen = false;
197
198 while (voreinstellungenIterator.hasNext())
199 {
200 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
201
202 if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ1) == 0 && quartal.intValue() == 0)
203 {
204 inflationVorhersage = (Double) voreinstellung.getWertObject();
205 ausVoreinstellungenGelesen = true;
206 break;
207 }
208 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ2) == 0 && quartal.intValue() == 1)
209 {
210 inflationVorhersage = (Double) voreinstellung.getWertObject();
211 ausVoreinstellungenGelesen = true;
212 break;
213 }
214 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ3) == 0 && quartal.intValue() == 2)
215 {
216 inflationVorhersage = (Double) voreinstellung.getWertObject();
217 ausVoreinstellungenGelesen = true;
218 break;
219 }
220 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ4) == 0 && quartal.intValue() == 3)
221 {
222 inflationVorhersage = (Double) voreinstellung.getWertObject();
223 ausVoreinstellungenGelesen = true;
224 break;
225 }
226 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ5) == 0 && quartal.intValue() == 4)
227 {
228 inflationVorhersage = (Double) voreinstellung.getWertObject();
229 ausVoreinstellungenGelesen = true;
230 break;
231 }
232 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ6) == 0 && quartal.intValue() == 5)
233 {
234 inflationVorhersage = (Double) voreinstellung.getWertObject();
235 ausVoreinstellungenGelesen = true;
236 break;
237 }
238 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ7) == 0 && quartal.intValue() == 6)
239 {
240 inflationVorhersage = (Double) voreinstellung.getWertObject();
241 ausVoreinstellungenGelesen = true;
242 break;
243 }
244 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEINFLATIONQ8) == 0 && quartal.intValue() == 7)
245 {
246 inflationVorhersage = (Double) voreinstellung.getWertObject();
247 ausVoreinstellungenGelesen = true;
248 break;
249 }
250 }
251
252 if (ausVoreinstellungenGelesen == false)
253 {
254 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENINFLATIONSRATE_KEY);
255 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENINFLATIONSRATEVORHERSAGE_KEY);
256
257 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null)
258 {
259 inflationVorhersage = (Double) voreinstellung_2.getObjectWert();
260 }
261 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() > 0)
262 {
263 inflationVorhersage = new Double(Math.abs((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 1.0)));
264 }
265 else if (quartal.intValue() > 0)
266 {
267 inflationVorhersage = new Double(Math.abs((randomize.nextDouble() * 100.0) % 2.0));
268 }
269 else
270 {
271 inflationVorhersage = new Double(0.0);
272 }
273
274 if (log.isDebugEnabled())
275 {
276 log.debug(" Inflation V : '" + inflationVorhersage.toString() + "'");
277 }
278 }
279
280 inflationVorhersage = new Double(Common.aufZweiNachkommastellenRunden(inflationVorhersage.doubleValue()));
281
282 return inflationVorhersage;
283 }
284
285 /***
286 * Ermittelt den aktuellen Lohnerhoehungswert, und gibt ihn zurück.
287 *
288 * @param projektnummer Die Projektnummer
289 * @param gruppennummer Die Gruppennummer
290 * @param quartal Das Quartal
291 * @return Die Lohnerhoehung
292 */
293 public static final Double Lohnerhoehung(Integer projektnummer, Integer gruppennummer, Integer quartal)
294 {
295 Double lohnerhoehung = new Double(0.0);
296
297 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
298 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
299 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
300 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
301
302 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_REALLOHNERHOEHUNG_KEY);
303 Iterator voreinstellungenIterator = voreinstellungen.iterator();
304 Voreinstellung voreinstellung = null;
305
306 boolean ausVoreinstellungenGelesen = false;
307
308 while (voreinstellungenIterator.hasNext())
309 {
310 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
311
312 if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ0) == 0 && quartal.intValue() == 0)
313 {
314 lohnerhoehung = (Double) voreinstellung.getWertObject();
315 ausVoreinstellungenGelesen = true;
316 break;
317 }
318 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ1) == 0 && quartal.intValue() == 1)
319 {
320 lohnerhoehung = (Double) voreinstellung.getWertObject();
321 ausVoreinstellungenGelesen = true;
322 break;
323 }
324 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ2) == 0 && quartal.intValue() == 2)
325 {
326 lohnerhoehung = (Double) voreinstellung.getWertObject();
327 ausVoreinstellungenGelesen = true;
328 break;
329 }
330 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ3) == 0 && quartal.intValue() == 3)
331 {
332 lohnerhoehung = (Double) voreinstellung.getWertObject();
333 ausVoreinstellungenGelesen = true;
334 break;
335 }
336 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ4) == 0 && quartal.intValue() == 4)
337 {
338 lohnerhoehung = (Double) voreinstellung.getWertObject();
339 ausVoreinstellungenGelesen = true;
340 break;
341 }
342 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ5) == 0 && quartal.intValue() == 5)
343 {
344 lohnerhoehung = (Double) voreinstellung.getWertObject();
345 ausVoreinstellungenGelesen = true;
346 break;
347 }
348 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ6) == 0 && quartal.intValue() == 6)
349 {
350 lohnerhoehung = (Double) voreinstellung.getWertObject();
351 ausVoreinstellungenGelesen = true;
352 break;
353 }
354 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ7) == 0 && quartal.intValue() == 7)
355 {
356 lohnerhoehung = (Double) voreinstellung.getWertObject();
357 ausVoreinstellungenGelesen = true;
358 break;
359 }
360 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALELOHNERHOEHUNGQ8) == 0 && quartal.intValue() == 8)
361 {
362 lohnerhoehung = (Double) voreinstellung.getWertObject();
363 ausVoreinstellungenGelesen = true;
364 break;
365 }
366 }
367
368 if (ausVoreinstellungenGelesen == false)
369 {
370 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, new Integer(quartal.intValue() - 1), Constants.EF_GRUNDDATENLOHNERHOEHUNGVORHERSAGE_KEY);
371 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENLOHNERHOEHUNG_KEY);
372
373 double lohnerhoehungjanein = randomize.nextDouble();
374
375 if (log.isDebugEnabled())
376 {
377 log.debug(" LOHNERHÖHUNG ?? -> '" + lohnerhoehungjanein + "'");
378 }
379
380 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null && ((Double) voreinstellung_2.getObjectWert()).doubleValue() > 0.0)
381 {
382 lohnerhoehung = (Double) voreinstellung_2.getObjectWert();
383
384 if (log.isDebugEnabled())
385 {
386 log.debug(" Bereits Wert vorhanden : " + lohnerhoehung + " Q " + quartal.intValue());
387 }
388 }
389 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() > 0)
390 {
391 if (((Double) voreinstellung_1.getObjectWert()).intValue() >= 0.0 && lohnerhoehungjanein > 0.25)
392 lohnerhoehung = new Double(Math.abs((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 2.5)));
393 else
394 lohnerhoehung = new Double(0.0);
395
396 if (log.isDebugEnabled())
397 {
398 log.debug(" Setze Wert : " + lohnerhoehung + " Q " + quartal.intValue());
399 }
400 }
401 else if (quartal.intValue() > 0 && lohnerhoehungjanein > 0.75)
402 {
403 lohnerhoehung = new Double(Math.abs((randomize.nextDouble() * 100.0) % 10.0));
404
405 if (log.isDebugEnabled())
406 {
407 log.debug(" Quartal grösser 0, keine Vorhersage vorhanden, Setze Wert : " + lohnerhoehung);
408 }
409 }
410 else
411 {
412 lohnerhoehung = new Double(0.0);
413
414 if (log.isDebugEnabled())
415 {
416 log.debug(" Setze Wert : 0.0");
417 }
418 }
419
420 if (log.isDebugEnabled())
421 {
422 log.debug(" Lohnerhöhung : '" + lohnerhoehung.toString() + "'");
423 }
424 }
425
426 lohnerhoehung = new Double(Common.aufZweiNachkommastellenRunden(lohnerhoehung.doubleValue()));
427
428 return lohnerhoehung;
429 }
430
431 /***
432 * Ermittelt die Vorhersage des Inflationswertes für das nächste Quartal, und gibt ihn zurück.
433 *
434 * @param projektnummer Die Projektnummer
435 * @param gruppennummer Die Gruppennummer
436 * @param quartal Das Quartal
437 * @return Die Inflationsvorhersage
438 */
439 public static final Double LohnerhoehungVorhersage(Integer projektnummer, Integer gruppennummer, Integer quartal)
440 {
441 Double lohnerhoehungVorhersage = new Double(0.0);
442
443 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
444 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
445 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
446 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
447
448 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_VORHERSAGELOHNERHOEHUNG_KEY);
449 Iterator voreinstellungenIterator = voreinstellungen.iterator();
450 Voreinstellung voreinstellung = null;
451
452 boolean ausVoreinstellungenGelesen = false;
453
454 while (voreinstellungenIterator.hasNext())
455 {
456 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
457
458 if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ1) == 0 && quartal.intValue() == 0)
459 {
460 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
461 ausVoreinstellungenGelesen = true;
462 break;
463 }
464 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ2) == 0 && quartal.intValue() == 1)
465 {
466 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
467 ausVoreinstellungenGelesen = true;
468 break;
469 }
470 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ3) == 0 && quartal.intValue() == 2)
471 {
472 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
473 ausVoreinstellungenGelesen = true;
474 break;
475 }
476 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ4) == 0 && quartal.intValue() == 3)
477 {
478 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
479 ausVoreinstellungenGelesen = true;
480 break;
481 }
482 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ5) == 0 && quartal.intValue() == 4)
483 {
484 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
485 ausVoreinstellungenGelesen = true;
486 break;
487 }
488 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ6) == 0 && quartal.intValue() == 5)
489 {
490 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
491 ausVoreinstellungenGelesen = true;
492 break;
493 }
494 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ7) == 0 && quartal.intValue() == 6)
495 {
496 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
497 ausVoreinstellungenGelesen = true;
498 break;
499 }
500 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGELOHNERHOEHUNGQ8) == 0 && quartal.intValue() == 7)
501 {
502 lohnerhoehungVorhersage = (Double) voreinstellung.getWertObject();
503 ausVoreinstellungenGelesen = true;
504 break;
505 }
506 }
507
508 if (ausVoreinstellungenGelesen == false)
509 {
510 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENLOHNERHOEHUNG_KEY);
511 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENLOHNERHOEHUNGVORHERSAGE_KEY);
512
513 double lohnerhoehungjanein = randomize.nextDouble();
514
515 if (log.isDebugEnabled())
516 {
517 log.debug(" LOHNERHÖHUNG ?? -> '" + lohnerhoehungjanein + "'");
518 }
519
520 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null && ((Double) voreinstellung_2.getObjectWert()).doubleValue() > 0.0)
521 {
522 lohnerhoehungVorhersage = (Double) voreinstellung_2.getObjectWert();
523
524 if (log.isDebugEnabled())
525 {
526 log.debug(" Bereits Wert vorhanden : " + lohnerhoehungVorhersage + " Q " + quartal.intValue());
527 }
528 }
529 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() > 0)
530 {
531 if (((Double) voreinstellung_1.getObjectWert()).intValue() <= 0.0 && lohnerhoehungjanein > 0.67)
532 lohnerhoehungVorhersage = new Double(Math.abs((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 15.0)));
533 else
534 lohnerhoehungVorhersage = new Double(0.0);
535
536 if (log.isDebugEnabled())
537 {
538 log.debug(" Setze Wert : " + lohnerhoehungVorhersage + " Q " + quartal.intValue());
539 }
540 }
541 else if (quartal.intValue() > 0 && lohnerhoehungjanein > 0.50)
542 {
543 lohnerhoehungVorhersage = new Double(Math.abs((randomize.nextDouble() * 100.0) % 10.0));
544
545 if (log.isDebugEnabled())
546 {
547 log.debug(" Quartal grösser 0, keine Vorhersage vorhanden, Setze Wert : " + lohnerhoehungVorhersage);
548 }
549 }
550 else
551 {
552 lohnerhoehungVorhersage = new Double(0.0);
553
554 if (log.isDebugEnabled())
555 {
556 log.debug(" Setze Wert : 0.0");
557 }
558 }
559
560 if (log.isDebugEnabled())
561 {
562 log.debug(" Lohnerhöhung V : '" + lohnerhoehungVorhersage.toString() + "'");
563 }
564 }
565
566 lohnerhoehungVorhersage = new Double(Common.aufZweiNachkommastellenRunden(lohnerhoehungVorhersage.doubleValue()));
567
568 return lohnerhoehungVorhersage;
569 }
570
571 /***
572 * Ermittelt den aktuellen Saisonindex, und gibt ihn zurück.
573 *
574 * @param projektnummer Die Projektnummer
575 * @param gruppennummer Die Gruppennummer
576 * @param quartal Das Quartal
577 * @return Der Saisonindex
578 */
579 public static final Double Saison(Integer projektnummer, Integer gruppennummer, Integer quartal)
580 {
581 Double saison = new Double(0.0);
582
583 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
584 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
585 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
586 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
587
588 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_REALSAISON_KEY);
589 Iterator voreinstellungenIterator = voreinstellungen.iterator();
590 Voreinstellung voreinstellung = null;
591
592 boolean ausVoreinstellungenGelesen = false;
593
594 while (voreinstellungenIterator.hasNext())
595 {
596 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
597
598 if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ0) == 0 && quartal.intValue() == 0)
599 {
600 saison = (Double) voreinstellung.getWertObject();
601 ausVoreinstellungenGelesen = true;
602 break;
603 }
604 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ1) == 0 && quartal.intValue() == 1)
605 {
606 saison = (Double) voreinstellung.getWertObject();
607 ausVoreinstellungenGelesen = true;
608 break;
609 }
610 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ2) == 0 && quartal.intValue() == 2)
611 {
612 saison = (Double) voreinstellung.getWertObject();
613 ausVoreinstellungenGelesen = true;
614 break;
615 }
616 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ3) == 0 && quartal.intValue() == 3)
617 {
618 saison = (Double) voreinstellung.getWertObject();
619 ausVoreinstellungenGelesen = true;
620 break;
621 }
622 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ4) == 0 && quartal.intValue() == 4)
623 {
624 saison = (Double) voreinstellung.getWertObject();
625 ausVoreinstellungenGelesen = true;
626 break;
627 }
628 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ5) == 0 && quartal.intValue() == 5)
629 {
630 saison = (Double) voreinstellung.getWertObject();
631 ausVoreinstellungenGelesen = true;
632 break;
633 }
634 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ6) == 0 && quartal.intValue() == 6)
635 {
636 saison = (Double) voreinstellung.getWertObject();
637 ausVoreinstellungenGelesen = true;
638 break;
639 }
640 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ7) == 0 && quartal.intValue() == 7)
641 {
642 saison = (Double) voreinstellung.getWertObject();
643 ausVoreinstellungenGelesen = true;
644 break;
645 }
646 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALESAISONQ8) == 0 && quartal.intValue() == 8)
647 {
648 saison = (Double) voreinstellung.getWertObject();
649 ausVoreinstellungenGelesen = true;
650 break;
651 }
652 }
653
654 if (ausVoreinstellungenGelesen == false)
655 {
656 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, new Integer(quartal.intValue() - 1), Constants.EF_GRUNDDATENLOHNERHOEHUNGVORHERSAGE_KEY);
657 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENLOHNERHOEHUNG_KEY);
658
659 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null && ((Double) voreinstellung_2.getObjectWert()).doubleValue() > 0.0)
660 {
661 saison = (Double) voreinstellung_2.getObjectWert();
662
663 if (log.isDebugEnabled())
664 {
665 log.debug(" Bereits Wert vorhanden : " + saison + " Q " + quartal.intValue());
666 }
667 }
668 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() > 0)
669 {
670 saison = new Double(((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 2.5)) + 90.0);
671
672 if (log.isDebugEnabled())
673 {
674 log.debug(" Setze Wert : " + saison + " Q " + quartal.intValue());
675 }
676 }
677 else if (quartal.intValue() > 0)
678 {
679 saison = new Double(Math.abs((randomize.nextDouble() * 100.0) % 20.0) + 90.0);
680
681 if (log.isDebugEnabled())
682 {
683 log.debug(" Quartal grösser 0, keine Vorhersage vorhanden, Setze Wert : " + saison);
684 }
685 }
686 else
687 {
688 saison = new Double(100.0);
689
690 if (log.isDebugEnabled())
691 {
692 log.debug(" Setze Wert : 100.0");
693 }
694 }
695
696 if (log.isDebugEnabled())
697 {
698 log.debug(" Saisonindex : '" + saison.toString() + "'");
699 }
700 }
701
702 saison = new Double(Common.aufZweiNachkommastellenRunden(saison.doubleValue()));
703
704 return saison;
705 }
706
707 /***
708 * Ermittelt die Vorhersage des Saisonindexes für das nächste Quartal, und gibt ihn zurück.
709 *
710 * @param projektnummer Die Projektnummer
711 * @param gruppennummer Die Gruppennummer
712 * @param quartal Das Quartal
713 * @return Der Saisonindex
714 */
715 public static final Double SaisonVorhersage(Integer projektnummer, Integer gruppennummer, Integer quartal)
716 {
717 Double saisonVorhersage = new Double(0.0);
718
719 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
720 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
721 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
722 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
723
724 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_VORHERSAGESAISON_KEY);
725 Iterator voreinstellungenIterator = voreinstellungen.iterator();
726 Voreinstellung voreinstellung = null;
727
728 boolean ausVoreinstellungenGelesen = false;
729
730 while (voreinstellungenIterator.hasNext())
731 {
732 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
733
734 if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ1) == 0 && quartal.intValue() == 0)
735 {
736 saisonVorhersage = (Double) voreinstellung.getWertObject();
737 ausVoreinstellungenGelesen = true;
738 break;
739 }
740 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ2) == 0 && quartal.intValue() == 1)
741 {
742 saisonVorhersage = (Double) voreinstellung.getWertObject();
743 ausVoreinstellungenGelesen = true;
744 break;
745 }
746 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ3) == 0 && quartal.intValue() == 2)
747 {
748 saisonVorhersage = (Double) voreinstellung.getWertObject();
749 ausVoreinstellungenGelesen = true;
750 break;
751 }
752 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ4) == 0 && quartal.intValue() == 3)
753 {
754 saisonVorhersage = (Double) voreinstellung.getWertObject();
755 ausVoreinstellungenGelesen = true;
756 break;
757 }
758 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ5) == 0 && quartal.intValue() == 4)
759 {
760 saisonVorhersage = (Double) voreinstellung.getWertObject();
761 ausVoreinstellungenGelesen = true;
762 break;
763 }
764 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ6) == 0 && quartal.intValue() == 5)
765 {
766 saisonVorhersage = (Double) voreinstellung.getWertObject();
767 ausVoreinstellungenGelesen = true;
768 break;
769 }
770 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ7) == 0 && quartal.intValue() == 6)
771 {
772 saisonVorhersage = (Double) voreinstellung.getWertObject();
773 ausVoreinstellungenGelesen = true;
774 break;
775 }
776 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGESAISONQ8) == 0 && quartal.intValue() == 7)
777 {
778 saisonVorhersage = (Double) voreinstellung.getWertObject();
779 ausVoreinstellungenGelesen = true;
780 break;
781 }
782 }
783
784 if (ausVoreinstellungenGelesen == false)
785 {
786 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENSAISONINDEX_KEY);
787 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENSAISONINDEXVORHERSAGE_KEY);
788
789 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null && ((Double) voreinstellung_2.getObjectWert()).doubleValue() > 0.0)
790 {
791 saisonVorhersage = (Double) voreinstellung_2.getObjectWert();
792
793 if (log.isDebugEnabled())
794 {
795 log.debug(" Bereits Wert vorhanden : " + saisonVorhersage + " Q " + quartal.intValue());
796 }
797 }
798 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() > 0)
799 {
800 saisonVorhersage = new Double(((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 2.5)) + 90.0);
801
802 if (log.isDebugEnabled())
803 {
804 log.debug(" Setze Wert : " + saisonVorhersage + " Q " + quartal.intValue());
805 }
806 }
807 else if (quartal.intValue() > 0)
808 {
809 saisonVorhersage = new Double(Math.abs((randomize.nextDouble() * 100.0) % 20.0) + 90.0);
810
811 if (log.isDebugEnabled())
812 {
813 log.debug(" Quartal grösser 0, keine Vorhersage vorhanden, Setze Wert : " + saisonVorhersage);
814 }
815 }
816 else
817 {
818 saisonVorhersage = new Double(100.0);
819
820 if (log.isDebugEnabled())
821 {
822 log.debug(" Setze Wert : 100.0");
823 }
824 }
825
826 if (log.isDebugEnabled())
827 {
828 log.debug(" Saisonindex V : '" + saisonVorhersage.toString() + "'");
829 }
830 }
831
832 saisonVorhersage = new Double(Common.aufZweiNachkommastellenRunden(saisonVorhersage.doubleValue()));
833
834 return saisonVorhersage;
835 }
836
837 /***
838 * Ermittelt den aktuellen Konjunkturindex, und gibt ihn zurück.
839 *
840 * @param projektnummer Die Projektnummer
841 * @param gruppennummer Die Gruppennummer
842 * @param quartal Das Quartal
843 * @return Der Konjunkturindex
844 */
845 public static final Double Konjunktur(Integer projektnummer, Integer gruppennummer, Integer quartal)
846 {
847 Double konjunktur = new Double(0.0);
848
849 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
850 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
851 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
852 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
853
854 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_REALKONJUNKTUR_KEY);
855 Iterator voreinstellungenIterator = voreinstellungen.iterator();
856 Voreinstellung voreinstellung = null;
857
858 boolean ausVoreinstellungenGelesen = false;
859
860 while (voreinstellungenIterator.hasNext())
861 {
862 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
863
864 if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ0) == 0 && quartal.intValue() == 0)
865 {
866 konjunktur = (Double) voreinstellung.getWertObject();
867 ausVoreinstellungenGelesen = true;
868 break;
869 }
870 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ1) == 0 && quartal.intValue() == 1)
871 {
872 konjunktur = (Double) voreinstellung.getWertObject();
873 ausVoreinstellungenGelesen = true;
874 break;
875 }
876 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ2) == 0 && quartal.intValue() == 2)
877 {
878 konjunktur = (Double) voreinstellung.getWertObject();
879 ausVoreinstellungenGelesen = true;
880 break;
881 }
882 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ3) == 0 && quartal.intValue() == 3)
883 {
884 konjunktur = (Double) voreinstellung.getWertObject();
885 ausVoreinstellungenGelesen = true;
886 break;
887 }
888 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ4) == 0 && quartal.intValue() == 4)
889 {
890 konjunktur = (Double) voreinstellung.getWertObject();
891 ausVoreinstellungenGelesen = true;
892 break;
893 }
894 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ5) == 0 && quartal.intValue() == 5)
895 {
896 konjunktur = (Double) voreinstellung.getWertObject();
897 ausVoreinstellungenGelesen = true;
898 break;
899 }
900 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ6) == 0 && quartal.intValue() == 6)
901 {
902 konjunktur = (Double) voreinstellung.getWertObject();
903 ausVoreinstellungenGelesen = true;
904 break;
905 }
906 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ7) == 0 && quartal.intValue() == 7)
907 {
908 konjunktur = (Double) voreinstellung.getWertObject();
909 ausVoreinstellungenGelesen = true;
910 break;
911 }
912 else if (voreinstellung.getFeldname().compareTo(Constants.VF_REALEKONJUNKTURQ8) == 0 && quartal.intValue() == 8)
913 {
914 konjunktur = (Double) voreinstellung.getWertObject();
915 ausVoreinstellungenGelesen = true;
916 break;
917 }
918 }
919
920 if (ausVoreinstellungenGelesen == false)
921 {
922 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, new Integer(quartal.intValue() - 1), Constants.EF_GRUNDDATENLOHNERHOEHUNGVORHERSAGE_KEY);
923 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENLOHNERHOEHUNG_KEY);
924
925 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null && ((Double) voreinstellung_2.getObjectWert()).doubleValue() > 0.0)
926 {
927 konjunktur = (Double) voreinstellung_2.getObjectWert();
928
929 if (log.isDebugEnabled())
930 {
931 log.debug(" Bereits Wert vorhanden : " + konjunktur + " Q " + quartal.intValue());
932 }
933 }
934 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() > 0)
935 {
936 konjunktur = new Double(((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 2.5)) + 90.0);
937
938 if (log.isDebugEnabled())
939 {
940 log.debug(" Setze Wert : " + konjunktur + " Q " + quartal.intValue());
941 }
942 }
943 else if (quartal.intValue() > 0)
944 {
945 konjunktur = new Double(Math.abs((randomize.nextDouble() * 100.0) % 20.0) + 90.0);
946
947 if (log.isDebugEnabled())
948 {
949 log.debug(" Quartal grösser 0, keine Vorhersage vorhanden, Setze Wert : " + konjunktur);
950 }
951 }
952 else
953 {
954 konjunktur = new Double(100.0);
955
956 if (log.isDebugEnabled())
957 {
958 log.debug(" Setze Wert : 100.0");
959 }
960 }
961
962 if (log.isDebugEnabled())
963 {
964 log.debug(" Konjunkturindex : '" + konjunktur.toString() + "'");
965 }
966 }
967
968 konjunktur = new Double(Common.aufZweiNachkommastellenRunden(konjunktur.doubleValue()));
969
970 return konjunktur;
971 }
972
973 /***
974 * Ermittelt die Vorhersage des Konjunkturindexes für das nächste Quartal, und gibt ihn zurück.
975 *
976 * @param projektnummer Die Projektnummer
977 * @param gruppennummer Die Gruppennummer
978 * @param quartal Das Quartal
979 * @return Der Konjunkturindex
980 */
981 public static final Double KonjunkturVorhersage(Integer projektnummer, Integer gruppennummer, Integer quartal)
982 {
983 Double konjunkturVorhersage = new Double(0.0);
984
985 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
986 DataInterfaceErgebnissdaten die = new DataInterfaceErgebnissdaten();
987 /*** Data Interface (indirekter Zugriff auf die OJB Ebene) initialisieren */
988 DataInterfaceVoreinstellungen div = new DataInterfaceVoreinstellungen();
989
990 Collection voreinstellungen = div.sucheKombination_Untergruppierung(projektnummer, Constants.VUG_VORHERSAGEKONJUNKTUR_KEY);
991 Iterator voreinstellungenIterator = voreinstellungen.iterator();
992 Voreinstellung voreinstellung = null;
993
994 boolean ausVoreinstellungenGelesen = false;
995
996 while (voreinstellungenIterator.hasNext())
997 {
998 voreinstellung = (Voreinstellung) voreinstellungenIterator.next();
999
1000 if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ1) == 0 && quartal.intValue() == 0)
1001 {
1002 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1003 ausVoreinstellungenGelesen = true;
1004 break;
1005 }
1006 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ2) == 0 && quartal.intValue() == 1)
1007 {
1008 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1009 ausVoreinstellungenGelesen = true;
1010 break;
1011 }
1012 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ3) == 0 && quartal.intValue() == 2)
1013 {
1014 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1015 ausVoreinstellungenGelesen = true;
1016 break;
1017 }
1018 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ4) == 0 && quartal.intValue() == 3)
1019 {
1020 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1021 ausVoreinstellungenGelesen = true;
1022 break;
1023 }
1024 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ5) == 0 && quartal.intValue() == 4)
1025 {
1026 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1027 ausVoreinstellungenGelesen = true;
1028 break;
1029 }
1030 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ6) == 0 && quartal.intValue() == 5)
1031 {
1032 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1033 ausVoreinstellungenGelesen = true;
1034 break;
1035 }
1036 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ7) == 0 && quartal.intValue() == 6)
1037 {
1038 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1039 ausVoreinstellungenGelesen = true;
1040 break;
1041 }
1042 else if (voreinstellung.getFeldname().compareTo(Constants.VF_VORHERSAGEKONJUNKTURQ8) == 0 && quartal.intValue() == 7)
1043 {
1044 konjunkturVorhersage = (Double) voreinstellung.getWertObject();
1045 ausVoreinstellungenGelesen = true;
1046 break;
1047 }
1048 }
1049
1050 if (ausVoreinstellungenGelesen == false)
1051 {
1052 Ergebniss voreinstellung_1 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENSAISONINDEX_KEY);
1053 Ergebniss voreinstellung_2 = (Ergebniss) die.sucheKombination_Feld(projektnummer, gruppennummer, quartal, Constants.EF_GRUNDDATENSAISONINDEXVORHERSAGE_KEY);
1054
1055 if (voreinstellung_2 != null && voreinstellung_2.getObjectWert() != null && ((Double) voreinstellung_2.getObjectWert()).doubleValue() > 0.0)
1056 {
1057 konjunkturVorhersage = (Double) voreinstellung_2.getObjectWert();
1058
1059 if (log.isDebugEnabled())
1060 {
1061 log.debug(" Bereits Wert vorhanden : " + konjunkturVorhersage + " Q " + quartal.intValue());
1062 }
1063 }
1064 else if (voreinstellung_1 != null && voreinstellung_1.getObjectWert() != null && quartal.intValue() >= 0)
1065 {
1066 konjunkturVorhersage = new Double(((randomize.nextDouble() * 100.0) % (((Double) voreinstellung_1.getObjectWert()).intValue() + 2.5)) + 90.0);
1067
1068 if (log.isDebugEnabled())
1069 {
1070 log.debug(" Setze Wert : " + konjunkturVorhersage + " Q " + quartal.intValue());
1071 }
1072 }
1073 else if (quartal.intValue() >= 0)
1074 {
1075 konjunkturVorhersage = new Double(Math.abs((randomize.nextDouble() * 100.0) % 20.0) + 90.0);
1076
1077 if (log.isDebugEnabled())
1078 {
1079 log.debug(" Quartal grösser 0, keine Vorhersage vorhanden, Setze Wert : " + konjunkturVorhersage);
1080 }
1081 }
1082 else
1083 {
1084 konjunkturVorhersage = new Double(100.0);
1085
1086 if (log.isDebugEnabled())
1087 {
1088 log.debug(" Setze Wert : 100.0");
1089 }
1090 }
1091
1092 if (log.isDebugEnabled())
1093 {
1094 log.debug(" Konjunkturindex V : '" + konjunkturVorhersage.toString() + "'");
1095 }
1096 }
1097
1098 konjunkturVorhersage = new Double(Common.aufZweiNachkommastellenRunden(konjunkturVorhersage.doubleValue()));
1099
1100 return konjunkturVorhersage;
1101 }
1102 }