-
Notifications
You must be signed in to change notification settings - Fork 1
/
followups.php
365 lines (317 loc) · 16.5 KB
/
followups.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
<?php
// Arten der Wiedervorlage festlegen !
function WVTypen()
{
global $sDatabase;
$hDatabase = OpenDB($sDatabase);
$aParam['_error_'] = '';
$aParam['_display_'] = 'none';
// will jemand Einträge löschen ?
if (isset($_POST['loeschen'])) {
if (isset($_POST['eintraege'])) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT COUNT(*) FROM wvtypen");
if ($aQuery[0]['COUNT(*)'] > sizeof($_POST['eintraege'])) {
foreach ($_POST['eintraege'] as $iSelected) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT azID FROM wiedervorlagen WHERE terminID='" . (int) $iSelected . "' LIMIT 1");
if (empty($aQuery)) {
SQLQuery($hDatabase, "DELETE FROM wvtypen WHERE id='" . (int) $iSelected . "'");
} else {
$aParam['_error_'] = "Wiedervorlagentyp ist einer Akte zugeordnet !";
$aParam['_display_'] = 'block';
}
}
} else {
$aParam['_error_'] = "Es dürfen nicht alle Wiedervorlagentypen gelöscht werden !";
$aParam['_display_'] = 'block';
}
} else {
$aParam['_error_'] = "Wählen Sie zu löschende Wiedervorlagentypen aus !";
$aParam['_display_'] = 'block';
}
}
// will jemand WV-Typ hinzufügen ?
if (isset($_POST['hinzufuegen'])) {
$sGebiet = $_POST['wvname'];
if ($sGebiet != "") {
SQLQuery($hDatabase, "INSERT INTO wvtypen (typ) VALUES ('" . $sGebiet . "')");
} else {
$aParam['_error_'] = "Bitte geben Sie eine Bezeichnung an !";
$aParam['_display_'] = 'block';
}
}
$aLogs = SQLArrayQuery($hDatabase, "SELECT * FROM wvtypen ORDER BY typ");
CloseDB($hDatabase);
if (!sizeof($aLogs) == 0) {
// gibt es überhaupt Einträge ?
for ($t = 0; $t < sizeof($aLogs); $t++) {
$aNr[$t] = $aLogs[$t]['id'];
$aEintrag[$t] = $aLogs[$t]['typ'];
}
$aParam['_id_'] = $aNr;
$aParam['_wvtyp_'] = $aEintrag;
if (sizeof($aNr) > 30) {
$aParam['_max_'] = 30;
} else {
$aParam['_max_'] = sizeof($aNr);
}
} else {
$aParam['_id_'] = null;
$aParam['_wvtyp_'] = 'Keine Einträge vorhanden !';
$aParam['_max_'] = 1;
}
ShowGui('wvtypen.html', $aParam);
}
// Wiedervorlagen anzeigen - aktenunabhängig
function Wiedervorlagen()
{
global $sDatabase;
$hDatabase = OpenDB($sDatabase);
$aParam = POSTerhalten($_POST);
$aParam['_error_'] = '';
$aParam['_selected_'] = '';
$aParam['_display_'] = 'none';
$aParam['_nr_'] = '';
$aParam['_az_'] = '';
$aParam['_krubrum_'] = '';
$aParam['_datum_'] = '';
$aParam['_bearbeiter_'] = '';
$aParam['_grund_'] = '';
$aParam['_typ_'] = '';
$aParam['_wvdatum_'] = date('d.m.Y');
$aParam['_wvuser_'] = $_SESSION['benutzer'];
$aParam['_wvtyp_'] = '';
$aParam['_wvtypid_'] = '';
$aParam['_whichWV_'] = 'Sämtliche Wiedervorlagenarten';
$iTermin = date('U');
if (isset($_POST['oeffnen'])) {
if (isset($_POST['zeile']) && ($_POST['zeile'] != '')) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT azID FROM wiedervorlagen WHERE nr='" . (int) $_POST['zeile'] . "'");
if (sizeof($aQuery) != 0) {
CloseDB($hDatabase);
unset($_POST);
$_POST['oeffnen2'] = 1;
$_POST['zeile'] = $aQuery[0]['azID'];
OpenAkte();
} else {
$aParam['_error_'] = "Akte nicht gefunden !";
$aParam['_display_'] = "block";
}
} else {
$aParam['_error_'] = "Keine Auswahl getroffen !";
$aParam['_display_'] = "block";
}
}
if (isset($_POST['aktualisiere'])) {
$iTermin = mktime(23, 59, 59, (int) $_POST['monat'], (int) $_POST['tag'], (int) $_POST['jahr']);
if ($iTermin < date('U')) {
$aParam['_error_'] = 'Termin muss in der Zukunft liegen !';
$aParam['_display_'] = 'block';
$iTermin = date('U');
}
$aParam['_wvdatum_'] = date('d.m.Y', $iTermin);
$iUser = (int) $_POST['bearbeiter'];
$iWvTypID = (int) $_POST['wvtyp'];
if (($iUser != 0) && ($iWvTypID != 0)) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT akten.kurzruburm, users.username, aktenzeichen.aznr, aktenzeichen.azjahr, wvtypen.typ, wvtypen.id, wiedervorlagen.zeitunddatum, wiedervorlagen.information, wiedervorlagen.nr FROM akten, users, aktenzeichen, wvtypen, wiedervorlagen WHERE wiedervorlagen.status=0 AND wiedervorlagen.terminID=wvtypen.id AND wiedervorlagen.azID=aktenzeichen.id AND users.id=wiedervorlagen.bearbeiterID AND wiedervorlagen.bearbeiterID='" . $iUser . "' AND wiedervorlagen.zeitunddatum<" . $iTermin . " AND wvtypen.id=" . $iWvTypID . " AND akten.azID=aktenzeichen.id ORDER BY wiedervorlagen.zeitunddatum");
$aActuser = SQLArrayQuery($hDatabase, "SELECT username FROM users WHERE id='" . $iUser . "'");
$aActWV = SQLArrayQuery($hDatabase, "SELECT typ FROM wvtypen WHERE id='" . $iWvTypID . "'");
$aParam['_wvuser_'] = $aActuser[0]['username'];
$aParam['_whichWV_'] = $aActWV[0]['typ'];
} elseif ($iUser != 0) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT akten.kurzruburm, users.username, aktenzeichen.aznr, aktenzeichen.azjahr, wvtypen.typ, wiedervorlagen.zeitunddatum, wiedervorlagen.information, wiedervorlagen.nr FROM akten, users, aktenzeichen, wvtypen, wiedervorlagen WHERE wiedervorlagen.status=0 AND wiedervorlagen.terminID=wvtypen.id AND wiedervorlagen.azID=aktenzeichen.id AND users.id=wiedervorlagen.bearbeiterID AND wiedervorlagen.bearbeiterID='" . $iUser . "' AND wiedervorlagen.zeitunddatum<" . $iTermin . " AND akten.azID=aktenzeichen.id ORDER BY wiedervorlagen.zeitunddatum");
$aActuser = SQLArrayQuery($hDatabase, "SELECT username FROM users WHERE id='" . $iUser . "'");
$aParam['_wvuser_'] = $aActuser[0]['username'];
} elseif ($iWvTypID != 0) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT akten.kurzruburm, users.username, aktenzeichen.aznr, aktenzeichen.azjahr, wvtypen.typ, wvtypen.id, wiedervorlagen.zeitunddatum, wiedervorlagen.information, wiedervorlagen.nr FROM akten, users, aktenzeichen, wvtypen, wiedervorlagen WHERE wiedervorlagen.status=0 AND wiedervorlagen.terminID=wvtypen.id AND wiedervorlagen.azID=aktenzeichen.id AND users.id=wiedervorlagen.bearbeiterID AND wiedervorlagen.zeitunddatum<" . $iTermin . " AND wvtypen.id=" . $iWvTypID . " AND akten.azID=aktenzeichen.id ORDER BY wiedervorlagen.zeitunddatum");
$aActWV = SQLArrayQuery($hDatabase, "SELECT typ FROM wvtypen WHERE id='" . $iWvTypID . "'");
$aParam['_wvuser_'] = "sämtliche Nutzer";
$aParam['_whichWV_'] = $aActWV[0]['typ'];
} else {
$aQuery = SQLArrayQuery($hDatabase, "SELECT akten.kurzruburm, users.username, aktenzeichen.aznr, aktenzeichen.azjahr, wvtypen.typ, wiedervorlagen.zeitunddatum, wiedervorlagen.information, wiedervorlagen.nr FROM akten, users, aktenzeichen, wvtypen, wiedervorlagen WHERE wiedervorlagen.status=0 AND wiedervorlagen.terminID=wvtypen.id AND wiedervorlagen.azID=aktenzeichen.id AND users.id=wiedervorlagen.bearbeiterID AND wiedervorlagen.zeitunddatum<" . $iTermin . " AND akten.azID=aktenzeichen.id ORDER BY wiedervorlagen.zeitunddatum");
$aParam['_wvuser_'] = "sämtliche Nutzer";
}
} else {
$aQuery = SQLArrayQuery($hDatabase, "SELECT akten.kurzruburm, users.username, aktenzeichen.aznr, aktenzeichen.azjahr, wvtypen.typ, wiedervorlagen.zeitunddatum, wiedervorlagen.information, wiedervorlagen.nr FROM akten, users, aktenzeichen, wvtypen, wiedervorlagen WHERE wiedervorlagen.status=0 AND wiedervorlagen.terminID=wvtypen.id AND wiedervorlagen.azID=aktenzeichen.id AND users.id=wiedervorlagen.bearbeiterID AND wiedervorlagen.zeitunddatum<" . $iTermin . " AND users.username='" . $_SESSION['benutzer'] . "' AND akten.azID=aktenzeichen.id ORDER BY wiedervorlagen.zeitunddatum");
}
$aQuery2 = SQLArrayQuery($hDatabase, "SELECT id, username FROM users WHERE username!='Administrator' ORDER BY username");
$aQuery3 = SQLArrayQuery($hDatabase, "SELECT * FROM wvtypen ORDER BY typ");
CloseDB($hDatabase);
$aUser[0] = 'Alle';
$aID[0] = '0';
$aSelected[0] = '';
for ($t = 0; $t < sizeof($aQuery2); $t++) {
$aUser[$t + 1] = $aQuery2[$t]['username'];
$aID[$t + 1] = $aQuery2[$t]['id'];
if ($_SESSION['benutzer'] == $aQuery2[$t]['username']) {
$aSelected[$t + 1] = 'selected';
} else {
$aSelected[$t + 1] = '';
}
}
$aParam['_user_'] = $aUser;
$aParam['_id_'] = $aID;
$aParam['_selected_'] = $aSelected;
if (sizeof($aQuery) != 0) {
for ($t = 0; $t < sizeof($aQuery); $t++) {
$aNr[$t] = $aQuery[$t]['wiedervorlagen.nr'];
$aAz[$t] = $aQuery[$t]['aktenzeichen.aznr'] . "-" . $aQuery[$t]['aktenzeichen.azjahr'];
$aBearbeiter[$t] = $aQuery[$t]['users.username'];
$aGrund[$t] = $aQuery[$t]['wiedervorlagen.information'];
$aTyp[$t] = $aQuery[$t]['wvtypen.typ'];
$aDatum[$t] = date("d.m.Y", $aQuery[$t]['wiedervorlagen.zeitunddatum']);
$aKrubrum[$t] = $aQuery[$t]['akten.kurzruburm'];
$aWVDateCount[$t] = $t;
}
$aParam['_nr_'] = $aNr;
$aParam['_az_'] = $aAz;
$aParam['_datum_'] = $aDatum;
$aParam['_bearbeiter_'] = $aBearbeiter;
$aParam['_grund_'] = $aGrund;
$aParam['_typ_'] = $aTyp;
$aParam['_krubrum_'] = $aKrubrum;
$aParam['_wvDatecount_'] = $aWVDateCount;
}
$aWvTyp[0] = 'Alle Typen';
$aWvTypID[0] = '0';
if (sizeof($aQuery3) != 0) {
for ($t = 0; $t < sizeof($aQuery3); $t++) {
$aWvTyp[$t + 1] = $aQuery3[$t]['typ'];
$aWvTypID[$t + 1] = $aQuery3[$t]['id'];
}
$aParam['_wvtyp_'] = $aWvTyp;
$aParam['_wvtypid_'] = $aWvTypID;
}
ShowGui('wvansicht.html', $aParam);
}
// Wiedervorlagen eintragen
function AktenWV()
{
global $sDatabase;
$hDatabase = OpenDB($sDatabase);
$aParam['_error_'] = '';
$aParam['_display_'] = 'none';
if (isset($_POST['add'])) {
$iWVtermin = mktime(0, 0, 0, (int) $_POST['monat'], (int) $_POST['tag'], (int) $_POST['jahr']);
if ($iWVtermin <= date('U')) {
$aParam['_error_'] = 'Termin muss in der Zukunft liegen !';
$aParam['_display_'] = 'block';
} else {
if ($_POST['wegen'] == '') {
$aParam['_error_'] = 'Bitte geben Sie einen WV-Grund an !';
$aParam['_display_'] = 'block';
} else {
SQLQuery($hDatabase, "INSERT INTO wiedervorlagen (azID,zeitunddatum,terminID,bearbeiterID,bearbeiterDone,information,status) VALUES ('" . $_SESSION['akte'] . "','" . $iWVtermin . "','" . $_POST['wvtyp'] . "','" . $_POST['bearbeiter'] . "','','" . $_POST['wegen'] . "','0')");
Protokoll($hDatabase, "Wiedervorlage für den " . date("d.m.Y", $iWVtermin) . " wegen '" . $_POST['wegen'] . "' eingetragen");
$aGetDate = getdate($iWVtermin);
if ($aGetDate['weekday'] == 'Sunday' || $aGetDate['weekday'] == 'Saturday') {
$aParam['_error_'] = '<b>ACHTUNG</b> - Termin liegt auf Wochenende!';
$aParam['_display_'] = 'block';
}
}
}
}
if (isset($_POST['done'])) {
if ((int) ($_POST['zeile']) != 0) {
$aQuery = SQLArrayQuery($hDatabase, "SELECT users.username AS username, wiedervorlagen.zeitunddatum AS termin, wiedervorlagen.information AS grund FROM users,wiedervorlagen WHERE users.id=wiedervorlagen.bearbeiterID AND wiedervorlagen.nr='" . (int) $_POST['zeile'] . "'");
if ($aQuery[0]['username'] == $_SESSION['benutzer']) {
SQLQuery($hDatabase, "UPDATE wiedervorlagen SET status=1, bearbeiterID=NULL, bearbeiterDone='" . $_SESSION['benutzer'] . "' WHERE nr='" . (int) $_POST['zeile'] . "'");
Protokoll($hDatabase, "Wiedervorlage für den " . date("d.m.Y", $aQuery[0]['termin']) . " wegen '" . $aQuery[0]['grund'] . "' als erledigt markiert.");
} else {
$aParam['_error_'] = "Nur der zuständige Bearbeiter darf<br>Wiedervorlagen als erledigt markieren !";
$aParam['_display_'] = 'block';
}
} else {
$aParam['_error_'] = "Keine Auswahl getroffen !";
$aParam['_display_'] = "block";
}
}
$aParam['_nr_'] = '';
$aParam['_datum_'] = '';
$aParam['_bearbeiter_'] = '';
$aParam['_grund_'] = '';
$aParam['_typ_'] = '';
$aParam['_nr1_'] = '';
$aParam['_datum1_'] = '';
$aParam['_bearbeiter1_'] = '';
$aParam['_grund1_'] = '';
$aParam['_typ1_'] = '';
// SELECT akten.azID FROM akten LEFT JOIN aktenvita ON akten.azID=aktenvita.azID LEFT JOIN wiedervorlagen ON akten.azID=wiedervorlage
// kleiner Workaround - irgendwann im Laufe der Entwicklungszeit ist aus "bearbeiterDone" "BearbeiterDone" bei der Tabellenerzeugung geworden.
// SQLite arbeitet selbst bei den SQL Befehlen nicht case sensitiv, allerdings wird in den Abfragearrays case sensitiv wie bei Anlage
// zurückgegeben. Daher, für Datenbanken, die BearbeiterDone oder bearbeiterDone enthalten durch AS eine allgemein gültige Zuweisung
$aQuery = SQLArrayQuery($hDatabase, "SELECT *, wiedervorlagen.bearbeiterDone AS bearbeiterDone FROM wiedervorlagen LEFT JOIN wvtypen ON wvtypen.id=wiedervorlagen.terminID LEFT JOIN akten ON akten.azID=wiedervorlagen.azID LEFT JOIN users ON users.id=wiedervorlagen.bearbeiterID WHERE wiedervorlagen.azID=" . $_SESSION['akte'] . " ORDER BY wiedervorlagen.zeitunddatum");
$aQueryBearbeiter = SQLArrayQuery($hDatabase, "SELECT username FROM users, akten WHERE akten.bearbeiterID=users.id AND akten.azID=" . $_SESSION['akte'] . "");
// $aQuery=SQLArrayQuery($hDatabase,"SELECT wiedervorlagen.bearbeiterDone, users.username, wvtypen.typ, wiedervorlagen.status, wiedervorlagen.zeitunddatum, wiedervorlagen.nr, wiedervorlagen.information, wiedervorlagen.azID FROM users, aktenzeichen, wvtypen, wiedervorlagen WHERE aktenzeichen.id=wiedervorlagen.azID AND wiedervorlagen.terminID=wvtypen.id AND wiedervorlagen.azID='".$_SESSION['akte']."' AND (users.id=wiedervorlagen.bearbeiterID OR bearbeiterDone!='') ORDER BY wiedervorlagen.zeitunddatum");
$aQuery2 = SQLArrayQuery($hDatabase, "SELECT id, username FROM users WHERE username!='Administrator' ORDER BY username");
$aQuery3 = SQLArrayQuery($hDatabase, "SELECT * FROM wvtypen");
CloseDB($hDatabase);
// Wiedervorlagenarten
if (sizeof($aQuery3) != 0) {
for ($t = 0; $t < sizeof($aQuery3); $t++) {
$aId[$t] = $aQuery3[$t]['id'];
$aTyp[$t] = $aQuery3[$t]['typ'];
}
$aParam['_wvid_'] = $aId;
$aParam['_wvtyp_'] = $aTyp;
} else {
$aParam['_wvid_'] = 0;
$aParam['_wvtyp_'] = 'WV';
}
// Mögliche Bearbeiter
if (sizeof($aQuery2) != 0) {
for ($t = 0; $t < sizeof($aQuery2); $t++) {
$aUser[$t] = $aQuery2[$t]['username'];
$aID[$t] = $aQuery2[$t]['id'];
if ($aQueryBearbeiter[0]['username'] == $aQuery2[$t]['username']) {
$aSelected[$t] = 'selected';
} else {
$aSelected[$t] = '';
}
}
$aParam['_user_'] = $aUser;
$aParam['_id_'] = $aID;
$aParam['_selected_'] = $aSelected;
}
if (sizeof($aQuery) != 0) {
$z = 0;
$z1 = 0;
$aWVnr = '';
$aDatum = '';
$aBearbeiter = '';
$aGrund = '';
$aTyp = '';
$aWVnr1 = '';
$aDatum1 = '';
$aBearbeiter1 = '';
$aGrund1 = '';
$aTyp1 = '';
for ($t = 0; $t < sizeof($aQuery); $t++) {
if ($aQuery[$t]['wiedervorlagen.status'] == 0) {
$aWVnr[$z] = $aQuery[$t]['wiedervorlagen.nr'];
$aBearbeiter[$z] = $aQuery[$t]['users.username'];
$aGrund[$z] = $aQuery[$t]['wiedervorlagen.information'];
$aTyp[$z] = $aQuery[$t]['wvtypen.typ'];
$aDatum[$z] = date("d.m.Y", $aQuery[$t]['wiedervorlagen.zeitunddatum']);
$z++;
} else {
$aWVnr1[$z1] = $aQuery[$t]['wiedervorlagen.nr'];
$aBearbeiter1[$z1] = $aQuery[$t]['bearbeiterDone'];
$aGrund1[$z1] = $aQuery[$t]['wiedervorlagen.information'];
$aTyp1[$z1] = $aQuery[$t]['wvtypen.typ'];
$aDatum1[$z1] = date("d.m.Y", $aQuery[$t]['wiedervorlagen.zeitunddatum']);
$z1++;
}
}
$aParam['_nr_'] = $aWVnr;
$aParam['_datum_'] = $aDatum;
$aParam['_bearbeiter_'] = $aBearbeiter;
$aParam['_grund_'] = $aGrund;
$aParam['_typ_'] = $aTyp;
$aParam['_nr1_'] = $aWVnr1;
$aParam['_datum1_'] = $aDatum1;
$aParam['_bearbeiter1_'] = $aBearbeiter1;
$aParam['_grund1_'] = $aGrund1;
$aParam['_typ1_'] = $aTyp1;
}
ShowGui('wvadd.html', $aParam);
}