Subversion Repositories public

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4 andreas 1
<?
2
require_once('version.inc');
3
require_once('dbaccess.inc');
4
require_once('language.inc');
5
require_once('header.inc');
6
require_once('crypt.inc');
7
require_once('settings.inc');
8
require_once('helper.inc');
9
 
10
$headline = 26;
11
$drm = array(true, false, false, false, false, true, false);
12
 
13
require_once('menu.inc');
14
 
15
function ShowWDONE() {
16
	global $datetime;
17
	global $leneinheit;
18
 
19
	$db = OpenDB();
20
	$query = "select wd_num, wd_prnum, mi_nname, mi_vname, wd_datum, ";
21
	$query .= "wd_hours, ta_name, wd_task from wdone, mitarbeiter, task where ";
22
	$query .= "mi_num = wd_minum and ta_num = wd_task ";
23
	$query .= "order by wd_prnum, mi_nname, mi_vname, wd_task, wd_datum desc";
24
 
25
	if (!($result = QueryDB($db, $query))) {
26
	   closeDB($db);
27
	   return;
28
	}
29
 
30
	$anz = numrowsDB($result);
31
	$i = 0;
32
 
33
	if ($anz <= 0) {
34
	   closeDB($db);
35
	   Error("Es gibt keine Datens&auml;tze zum Anzeigen!");
36
	   return;
37
	}
38
?>
39
<table class="sel">
40
   <tr>
41
      <th class="sel">Lfd.</th>
42
      <th class="sel">PrNr.</th>
43
      <th class="sel">Mitarbeiter</th>
44
      <th class="sel">Datum / Zeit</th>
45
      <th class="sel">Stunden</th>
46
      <th class="sel">TaNum.</th>
47
      <th class="sel">Taskname</th>
48
   </tr>
49
<?
50
	while ($i < $anz) {
51
	   $data = fetchDB($result, $i);
52
	   $wd_num = $data[0];
53
	   $wd_prnum = $data[1];
54
	   $mi_nname = $data[2];
55
	   $mi_vname = $data[3];
56
	   $wd_datum = $data[4];
57
	   $wd_hours = $data[5];
58
	   $ta_name = $data[6];
59
	   $ta_num = $data[7];
60
	   echo "<tr>\n<td class=\"selnum\">$wd_num</td>\n";
61
	   echo "<td class=\"selnum\">$wd_prnum</td>\n";
62
	   echo "<td class=\"sel\">$mi_nname $mi_vname</td>\n";
63
	   echo "<td class=\"selnum\">" . gmdate($datetime, $wd_datum) . "</td>\n";
64
	   echo "<td class=\"selnum\">" . FormatNum($wd_hours, 3) . " (PT: " . FormatNum($wd_hours / $leneinheit, 3) . ")</td>\n";
65
	   echo "<td class=\"selnum\">$ta_num</td>\n";
66
	   echo "<td class=\"sel\">$ta_name</td>\n</tr>\n";
67
	   $i++;
68
	}
69
 
70
	echo "</table>\n";
71
	closeDB($db);
72
}
73
 
74
function ShowTASK() {
75
	global $datetime;
76
 
77
	$db = OpenDB();
78
	$query = "select ta_num, pl_num, pl_prnum, ta_id, ta_name, ta_meeting, ";
79
	$query .= "ta_start, ta_duration, ta_level, ta_hash from task, plan ";
80
	$query .= "where pl_num = ta_plnum ";
81
	$query .= "order by pl_prnum, ta_id";
82
 
83
	if (!($result = QueryDB($db, $query))) {
84
	   closeDB($db);
85
	   return;
86
	}
87
 
88
	$anz = numrowsDB($result);
89
	$i = 0;
90
 
91
	if ($anz <= 0) {
92
	   closeDB($db);
93
	   Error("Esgibt keine Datens&auml;tze zum Anzeigen!");
94
	   return;
95
	}
96
?>
97
<table class="sel">
98
   <tr>
99
      <th class="sel">TaNr.</th>
100
      <th class="sel">PlNr.</th>
101
      <th class="sel">PrNr.</th>
102
      <th class="sel">Lfd.</th>
103
      <th class="sel">Level</th>
104
      <th class="sel">Taskname</th>
105
      <th class="sel">Art</th>
106
      <th class="sel">Startdatum</th>
107
      <th class="sel">Dauer in T.</th>
108
      <th class="sel">Hash</th>
109
   </tr>
110
<?
111
	while ($i < $anz) {
112
	   $data = fetchDB($result, $i);
113
	   $ta_num = $data[0];
114
	   $pl_num = $data[1];
115
	   $pl_prnum = $data[2];
116
	   $ta_id = $data[3];
117
	   $ta_name = $data[4];
118
	   $ta_meeting = $data[5];
119
	   $ta_start = $data[6];
120
	   $ta_duration = $data[7];
121
	   $ta_level = $data[8];
122
	   $ta_hash = $data[9];
123
 
124
	   echo "<tr>\n<td class=\"selnum\">$ta_num</td>\n";
125
	   echo "<td class=\"selnum\">$pl_num</td>\n";
126
	   echo "<td class=\"selnum\">$pl_prnum</td>\n";
127
	   echo "<td class=\"selnum\">$ta_id</td>\n";
128
	   echo "<td class=\"selnum\">$ta_level</td>\n";
129
	   echo "<td class=\"sel\">$ta_name</td>\n";
130
	   echo "<td class=\"sel\">";
131
 
132
	   if ($ta_meeting == 0)
133
	      echo "Task";
134
	   else
135
	      echo "Meilenstein";
136
 
137
	   echo "</td>\n";
138
	   echo "<td class=\"sel\">" . gmdate($datetime, $ta_start) . "</td>\n";
139
	   echo "<td class=\"selnum\">$ta_duration (" . gmdate($datetime, $ta_start+$ta_duration*86400) . ")</td>\n";
140
	   echo "<td class=\"sel\">$ta_hash</td>\n</tr>\n";
141
	   $i++;
142
	}
143
 
144
	echo "</table>\n";
145
	closeDB($db);
146
}
147
 
148
function ShowALLOCATION() {
149
	global $datetime;
150
 
151
	$db = OpenDB();
152
	$query = "select al_num, ta_name, mi_nname, mi_vname, ";
153
	$query .= "al_hours, al_pstart, al_task from allocation, task, mitarbeiter ";
154
	$query .= "where ta_num = al_task and mi_num = al_ressource ";
155
	$query .= "order by ta_name, mi_nname, mi_vname, al_pstart desc";
156
 
157
	if (!($result = QueryDB($db, $query))) {
158
	   closeDB($db);
159
	   return;
160
	}
161
 
162
	$anz = numrowsDB($result);
163
	$i = 0;
164
 
165
	if ($anz <= 0) {
166
	   closeDB($db);
167
	   Error("Esgibt keine Datens&auml;tze zum Anzeigen!");
168
	   return;
169
	}
170
?>
171
<table class="sel">
172
   <tr>
173
      <th class="sel">AlNr.</th>
174
      <th class="sel">TaskNr.</th>
175
      <th class="sel">Taskname</th>
176
      <th class="sel">Mitarbeiter</th>
177
      <th class="sel">Tage</th>
178
      <th class="sel">Datum</th>
179
   </tr>
180
<?
181
	while ($i < $anz) {
182
	   $data = fetchDB($result, $i);
183
	   $al_num = $data[0];
184
	   $ta_name = $data[1];
185
	   $mi_nname = $data[2];
186
	   $mi_vname = $data[3];
187
	   $al_hours = $data[4];
188
	   $al_pstart = $data[5];
189
	   $al_task = $data[6];
190
 
191
	   echo "<tr>\n<td class=\"selnum\">$al_num</td>\n";
192
	   echo "<td class=\"selnum\">$al_task</td>\n";
193
	   echo "<td class=\"sel\">$ta_name</td>\n";
194
	   echo "<td class=\"sel\">$mi_nname $mi_vname</td>\n";
195
	   echo "<td class=\"selnum\">" . FormatNum($al_hours, 3) . "</td>\n";
196
	   echo "<td class=\"sel\">" . gmdate($datetime, $al_pstart) . "</td>\n";
197
	   $i++;
198
	}
199
 
200
	echo "</table>\n";
201
	closeDB($db);
202
}
203
 
204
function ShowCALENDAR() {
205
	global $datetime;
206
 
207
	$db = OpenDB();
208
	$query = "select ca_num, ca_prnum, ca_minum, ca_task, ";
209
	$query .= "ca_writer, ca_date, ca_end, ca_title, ca_status from ";
210
	$query .= "calendar ";
211
	$query .= "order by ca_prnum, ca_date desc";
212
 
213
	if (!($result = QueryDB($db, $query))) {
214
	   closeDB($db);
215
	   return;
216
	}
217
 
218
	$anz = numrowsDB($result);
219
	$i = 0;
220
 
221
	if ($anz <= 0) {
222
	   closeDB($db);
223
	   Error("Es gibt keine Datens&auml;tze zum Anzeigen!");
224
	   return;
225
	}
226
Error("Anzahl Datens&auml;tze: $anz");
227
?>
228
<table class="sel">
229
   <tr>
230
      <th class="sel">Lfd.</th>
231
      <th class="sel">PrNr.</th>
232
      <th class="sel">Mitarbeiter</th>
233
      <th class="sel">Taskname</th>
234
      <th class="sel">Verfasser</th>
235
      <th class="sel">Start Datum / Zeit</th>
236
      <th class="sel">Ende Datum / Zeit</th>
237
      <th class="sel">Titel</th>
238
      <th class="sel">Status</th>
239
   </tr>
240
<?
241
	while ($i < $anz) {
242
	   $data = fetchDB($result, $i);
243
	   $ca_num = $data[0];
244
	   $ca_prnum = $data[1];
245
	   $ca_minum = $data[2];
246
	   $ca_task = $data[3];
247
	   $ca_writer = $data[4];
248
	   $ca_date = $data[5];
249
	   $ca_end = $data[6];
250
	   $ca_title = $data[7];
251
	   $ca_status = $data[8];
252
 
253
	   if (isset($ca_minum) && $ca_minum > 0) {
254
	      $query = "select mi_nname, mi_vname from mitarbeiter where mi_num = $ca_minum";
255
 
256
	      if (!($resmi = QueryDB($db, $query))) {
257
	         closeDB($db);
258
	         return;
259
	      }
260
 
261
	      $data = fetchDB($resmi, 0);
262
	      $mi_nname = $data[0];
263
	      $mi_vname = $data[1];
264
	   } else {
265
	      $mi_nname = "";
266
	      $mi_vname = "";
267
	   }
268
 
269
	   $query = "select mi_nname, mi_vname from mitarbeiter where mi_num = $ca_writer";
270
 
271
	   if (!($reswr = QueryDB($db, $query))) {
272
	      closeDB($db);
273
	      return;
274
	   }
275
 
276
	   $data = fetchDB($reswr, 0);
277
	   $wr_nname = $data[0];
278
	   $wr_vname = $data[1];
279
 
280
	   if (isset($ca_task) && $ca_task > 0) {
281
	      $query = "select ta_name from task where ta_num = $ca_task";
282
 
283
	      if (!($resta = QueryDB($db, $query))) {
284
	         closeDB($db);
285
	         return;
286
	      }
287
 
288
	      $data = fetchDB($resta, 0);
289
	      $ta_name = $data[0];
290
	   } else
291
	      $ta_name = "";
292
 
293
	   echo "<tr>\n<td class=\"selnum\">$ca_num</td>\n";
294
	   echo "<td class=\"selnum\">$ca_prnum</td>\n";
295
	   echo "<td class=\"sel\">$mi_nname $mi_vname</td>\n";
296
	   echo "<td class=\"sel\">$ta_name</td>\n";
297
	   echo "<td class=\"sel\">$wr_nname $wr_vname</td>\n";
298
	   echo "<td class=\"selnum\">" . gmdate($datetime, $ca_date) . "</td>\n";
299
	   echo "<td class=\"selnum\">" . gmdate($datetime, $ca_end) . "</td>\n";
300
	   echo "<td class=\"sel\">$ca_title</td>\n\n";
301
	   echo "<td class=\"sel\">";
302
 
303
	   switch ($ca_status) {
304
	      case 0: echo "Erledigt"; break;
305
	      default: echo "Offen";
306
	   }
307
 
308
	   echo "</td>\n</tr>\n";
309
	   $i++;
310
	}
311
 
312
	echo "</table>\n";
313
	closeDB($db);
314
}
315
 
316
function WDONETime() {
317
	$db = OpenDB();
318
	$query = "select wd_num, wd_datum from wdone";
319
 
320
	if (!($result = QueryDB($db, $query))) {
321
	   closeDB($db);
322
	   return;
323
	}
324
 
325
	$anz = numrowsDB($result);
326
	$i = 0;
327
	$korr = 0;
328
 
329
	if ($anz > 0)
330
	   QueryDB($db, "begin");
331
 
332
	while ($i < $anz) {
333
	   $data = fetchDB($result, $i);
334
	   $wd_num = $data[0];
335
	   $wd_datum = $data[1];
336
 
337
	   $hour = gmdate("G", $wd_datum);
338
 
339
	   if ($hour == 0) {
340
	      $i++;
341
	      continue;
342
	   }
343
 
344
	   $diff = 24 - $hour;
345
	   $wd_datum = $wd_datum + ($diff * 3600);
346
	   $query = "update wdone set wd_datum = $wd_datum where wd_num = $wd_num";
347
 
348
	   if (!QueryDB($db, $query)) {
349
	      QueryDB($db, "rollback");
350
	      closeDB($db);
351
	      return;
352
	   }
353
 
354
	   $korr++;
355
	   $i++;
356
	}
357
 
358
	if ($anz > 0)
359
	   QueryDB($db, "commit");
360
 
361
	closeDB($db);
362
	Error("Es wurden $korr Datens&auml;tze korrigiert!");
363
}
364
 
365
function TASKTime() {
366
	$db = OpenDB();
367
	$query = "select ta_num, ta_start from task";
368
 
369
	if (!($result = QueryDB($db, $query))) {
370
	   closeDB($db);
371
	   return;
372
	}
373
 
374
	$anz = numrowsDB($result);
375
	$i = 0;
376
	$korr = 0;
377
 
378
	if ($anz > 0)
379
	   QueryDB($db, "begin");
380
 
381
	while ($i < $anz) {
382
	   $data = fetchDB($result, $i);
383
	   $ta_num = $data[0];
384
	   $ta_start = $data[1];
385
 
386
	   $hour = gmdate("G", $ta_start);
387
	   $min = gmdate("i", $ta_start);
388
	   $sec = gmdate("s", $ta_start);
389
 
390
	   if ($min != 0 || $sec != 0)
391
	      $ta_start = gmmktime(0, 0, 0, gmdate("n", $ta_start), gmdate("j", $ta_start), gmdate("Y", $ta_start));
392
	   else {
393
	      if ($hour == 0) {
394
	         $i++;
395
	         continue;
396
	      }
397
 
398
	      $diff = 24 - $hour;
399
	      $ta_start = $ta_start + ($diff * 3600);
400
	   }
401
 
402
	   $query = "update task set ta_start = $ta_start where ta_num = $ta_num";
403
 
404
	   if (!QueryDB($db, $query)) {
405
	      QueryDB($db, "rollback");
406
	      closeDB($db);
407
	      return;
408
	   }
409
 
410
	   $korr++;
411
	   $i++;
412
	}
413
 
414
	if ($anz > 0)
415
	   QueryDB($db, "commit");
416
 
417
	closeDB($db);
418
	Error("Es wurden $korr Datens&auml;tze korrigiert!");
419
}
420
 
421
function ALLOCATIONTime() {
422
	$db = OpenDB();
423
	$query = "select al_num, al_pstart from allocation";
424
 
425
	if (!($result = QueryDB($db, $query))) {
426
	   closeDB($db);
427
	   return;
428
	}
429
 
430
	$anz = numrowsDB($result);
431
	$i = 0;
432
	$korr = 0;
433
 
434
	if ($anz > 0)
435
	   QueryDB($db, "begin");
436
 
437
	while ($i < $anz) {
438
	   $data = fetchDB($result, $i);
439
	   $al_num = $data[0];
440
	   $al_pstart = $data[1];
441
 
442
	   $hour = gmdate("G", $al_pstart);
443
	   $min = gmdate("i", $al_pstart);
444
	   $sec = gmdate("s", $al_pstart);
445
 
446
	   if ($min != 0 || $sec != 0)
447
	      $al_pstart = gmmktime(0, 0, 0, gmdate("n", $al_pstart), gmdate("j", $al_pstart), gmdate("Y", $al_pstart));
448
	   else {
449
	      if ($hour == 0) {
450
	         $i++;
451
	         continue;
452
	      }
453
 
454
	      $diff = 24 - $hour;
455
	      $al_pstart = $al_pstart + ($diff * 3600);
456
	   }
457
 
458
	   $query = "update allocation set al_pstart = $al_pstart where al_num = $al_num";
459
 
460
	   if (!QueryDB($db, $query)) {
461
	      QueryDB($db, "rollback");
462
	      closeDB($db);
463
	      return;
464
	   }
465
 
466
	   $korr++;
467
	   $i++;
468
	}
469
 
470
	if ($anz > 0)
471
	   QueryDB($db, "commit");
472
 
473
	closeDB($db);
474
	Error("Es wurden $korr Datens&auml;tze korrigiert!");
475
}
476
 
477
function CALENDARTime() {
478
	$db = OpenDB();
479
	$query = "select ca_num, ca_date, ca_end from calendar";
480
 
481
	if (!($result = QueryDB($db, $query))) {
482
	   closeDB($db);
483
	   return;
484
	}
485
 
486
	$anz = numrowsDB($result);
487
	$i = 0;
488
	$korr = 0;
489
 
490
	if ($anz > 0)
491
	   QueryDB($db, "begin");
492
 
493
	while ($i < $anz) {
494
	   $data = fetchDB($result, $i);
495
	   $ca_num = $data[0];
496
	   $ca_date = $data[1];
497
	   $ca_end = $data[2];
498
 
499
	   $hour = gmdate("G", $ca_date);
500
	   $min = gmdate("i", $ca_date);
501
	   $sec = gmdate("s", $ca_date);
502
 
503
	   if ($min != 0 || $sec != 0)
504
	      $ca_date = gmmktime(0, 0, 0, gmdate("n", $ca_date), gmdate("j", $ca_date), gmdate("Y", $ca_date));
505
	   else {
506
	      if ($hour == 0) {
507
	         $i++;
508
	         continue;
509
	      }
510
 
511
	      $diff = 24 - $hour;
512
	      $ca_date = $ca_date + ($diff * 3600);
513
	   }
514
 
515
	   $hour = gmdate("G", $ca_end);
516
	   $min = gmdate("i", $ca_end);
517
	   $sec = gmdate("s", $ca_end);
518
 
519
	   if ($min != 0 || $sec != 0)
520
	      $ca_end = gmmktime(0, 0, 0, gmdate("n", $ca_end), gmdate("j", $ca_end), gmdate("Y", $ca_end));
521
	   else {
522
	      if ($hour == 0) {
523
	         $i++;
524
	         continue;
525
	      }
526
 
527
	      $diff = 24 - $hour;
528
	      $ca_end = $ca_end + ($diff * 3600);
529
	   }
530
 
531
	   $query = "update calendar set ca_date = $ca_date, ca_end = $ca_end where ca_num = $ca_num";
532
 
533
	   if (!QueryDB($db, $query)) {
534
	      QueryDB($db, "rollback");
535
	      closeDB($db);
536
	      return;
537
	   }
538
 
539
	   $korr++;
540
	   $i++;
541
	}
542
 
543
	if ($anz > 0)
544
	   QueryDB($db, "commit");
545
 
546
	closeDB($db);
547
	Error("Es wurden $korr Datens&auml;tze korrigiert!");
548
}
549
 
550
function Auswahl() {
551
	global $menu;
552
 
553
	$nav = "headline=26&menu=$menu";
554
	echo "<table class=\"indent\"><tr><td colspan=2>Tabelle WDONE</td></tr>\n";
555
	echo "<tr><td>\n";
556
	ButtonLink("WDONE", "dbview.php", "$nav&func=WDONE");
557
	echo "</td><td>\n";
558
	ButtonLink("WDONE Zeitkorrektur", "dbview.php", "$nav&func=WDONETIME");
559
	echo "</td></tr><tr><td colspan=2>Tabelle TASK</td></tr><tr><td>\n";
560
	ButtonLink("TASK", "dbview.php", "$nav&func=TASK");
561
	echo "</td><td>";
562
	ButtonLink("TASK Zeitkorrektur", "dbview.php", "$nav&func=TASKTIME");
563
	echo "</td></tr><tr><td colspan=2>Tabelle ALLOCATION</td></tr><tr><td>\n";
564
	ButtonLink("ALLOCATION", "dbview.php", "$nav&func=ALLOCATION");
565
	echo "</td><td>";
566
	ButtonLink("ALLOCATION Zeitkorrektur", "dbview.php", "$nav&func=ALLOCATIONTIME");
567
	echo "</td></tr><tr><td colspan=2>Tabelle CALENDAR</td></tr><tr><td>\n";
568
	ButtonLink("CALENDAR", "dbview.php", "$nav&func=CALENDAR");
569
	echo "</td><td>";
570
	ButtonLink("CALENDAR Zeitkorrektur", "dbview.php", "$nav&func=CALENDARTIME");
571
	echo "</td></tr></table>\n";
572
}
573
 
574
$func = $_REQUEST['func'];
575
$done = false;
576
 
577
if (!isset($func)) {
578
   Auswahl();
579
   $done = true;
580
}
581
 
582
if ($func == "WDONE") {
583
   ShowWDONE();
584
   $done = true;
585
}
586
 
587
if ($func == "WDONETIME")
588
   WDONETime();
589
 
590
if ($func == "TASK") {
591
   ShowTASK();
592
   $done = true;
593
}
594
 
595
if ($func == "TASKTIME")
596
   TASKTime();
597
 
598
if ($func == "ALLOCATION") {
599
   ShowALLOCATION();
600
   $done = true;
601
}
602
 
603
if ($func == "ALLOCATIONTIME")
604
   ALLOCATIONTime();
605
 
606
if ($func == "CALENDAR") {
607
   ShowCALENDAR();
608
   $done = true;
609
}
610
 
611
if ($func == "CALENDARTIME")
612
   CALENDARTime();
613
 
614
if (!$done)
615
   Auswahl();
616
 
617
require_once('footer.inc');
618
?>