KURT
Version vom 21. Juli 2020, 09:15 Uhr von Admin (Diskussion | Beiträge)
KURT (Korruptionsschutz- und Revisions-Tool) ist ein Programm, mit dem öffentliche Stellen prüfen können, ob sie ihren Pflichten nach Korruptionsschutzgesetz NRW nachgekommen sind oder nicht. KURT stellt dabei systematisch Fragen und bietet eine Zusammenfassung nebst Ergebnis am Ende zum Versand per E-Mail an.
- KURT wurde in AutoIt geschrieben und bietet eine Sprachausgabe.
Quelltext:
;KURT - Korruptionsschutz-Schnellprüfprogramm ;und Berichtsgenerierung per E-Mail, (c) 2020 Frank Werner ;Prototyp für die Android-App, das eBook, die Entscheidungsdatenbank, ;Fragebögen, Formulare und die HTML-Seiten ;To-Do-Liste ;Nachweispflicht ;Virenscanner-Warnungen verhindern #pragma compile(UPX, False) ;Module einlesen #include <MsgBoxConstants.au3> #include <StringConstants.au3> #include <Inet.au3> ;Globale Variable Global $Bericht = "" ;Der zwischengespeicherte Bericht Global $i = 0 ;Index durch den Fragebogen-Array ;Der Fragebogen: 22 Zeilen, 4 Spalten, Index beginnt bei 0!! ;Spalten: Nr. der Frage, Frage, Nächste Nummer bei JA, Nächste Nummer bei NEIN ;Wenn die nächsten Fragenummern beide Null sind, ist der Prüfbogen beendet Global $Daten [21][4] = [ _ [00, "Handelt es sich bei der zu untersuchenden Stelle um eine öffentliche Stelle?", 01, 18], _ [01, "Handelt es sich bei dieser öffentlichen Stelle um eine kleine kreisangehörige Gemeinde (mit weniger als 20.000 Einwohnern)?", 18, 02], _ [02, "Gibt es bei dieser öffentlichen Stelle Bereiche, in denen Einfluss auf Aufträge, Fördermittel, Genehmigungen, Gebote oder Verbote genommen werden kann?", 03, 09], _ [03, "Sind diese Bereiche als 'korruptionsgefährdet' (z. B. in einer Dienstanweisung) festgelegt?", 05, 04], _ [04, "PFLICHTVERLETZUNG (§ 19 Abs. 2 Korruptionsbekämpfungsgesetz): Korruptionsgefährdete Bereiche müssen schriftlich erklärt werden!", 19, 19], _ [05, "Sind Beschäftigte in diesen Bereichen länger als fünf Jahre ununterbrochen eingesetzt?", 06, 09], _ [06, "PFLICHTVERLETZUNG (§ 21 Korruptionsbekämpfungsgesetz): Sie sind von der Rotationspflicht abgewichen. Das ist nur aus rechtlichen oder tatsächlichen Gründen erlaubt!", 19, 19], _ [07, "Wurden die Gründe für die Abweichung von der Rotationspflicht dokumentiert und der Aufsichtsbehörde gemeldet?", 09, 08], _ [08, "PFLICHTVERLETZUNG (§ 21 Korruptionsbekämpfungsgesetz): Die Gründe müssen dokumentiert und der Aufsichtsbehörde gemeldet werden!", 19, 19], _ [09, "Geben politische Beamte jährlich über Beruf, Beraterverträge, Mitgliedschaften in Gremien, Vereinen oder privatrechtlichen Unternehmen Auskunft?", 11, 10], _ [10, "PFLICHTVERLETZUNG (§ 16 Korruptionsbekämpfungsgesetz): Politische Beamte müssen jährlich berichten!", 19, 19], _ [11, "Zeigen politische Beamte und Abgeordnete vor Übernahme oder innerhalb von fünf Jahren nach dem Eintritt in den Ruhestand Nebenbeschäftigungen an?", 13, 12], _ [12, "PFLICHTVERLETZUNG (§ 17 Abs. 2 Korruptionsbekämpfungsgesetz): Politische Beamte müssen diese Angaben machen!", 19, 19], _ [13, "Erfolgt eine jährliche Aufstellung aller Nebeneinnahmen der Abgeordneten und politischen Beamten?", 15, 14], _ [14, "PFLICHTVERLETZUNG (§ 17 Abs. 2 Korruptionsbekämpfungsgesetz): Politische Beamte müssen diese Angaben machen!", 19, 19], _ [15, "Gibt es ehemalige Beschäftigte, die aus ihrer früheren Tätigkeit Versorgungsbezüge o. ä. erhalten?", 16, 20], _ [16, "Werden diese Beschäftigten schriftlich auf die Anzeigepflicht hingewiesen und der Hinweis aktenkundig gemacht?", 20, 17], _ [17, "PFLICHTVERLETZUNG (§ 18 Abs. 1 Korruptionsbekämpfungsgesetz, § 41 Beamtenstatusgesetz, § 52 Abs. 5 Landesbeamtengesetz): Hinweis ist Pflicht!", 19, 19], _ [18, "Das Korruptionsbekämpfungsgesetz gilt nur für öffentliche Stellen mit mehr als 20.000 Einwohnern!", 00, 00], _ [19, "Die Stelle hat ihre Sorgfaltspflicht NICHT ERFÜLLT!", 00, 00], _ [20, "Die Stelle hat ihre Sorgfaltspflicht ERFÜLLT!", 00, 00] _ ] ;Sprachsystem starten Func StartTTS() Return ObjCreate("SAPI.SpVoice") EndFunc ;Hier spricht der Computer den übergebenen Text Func Speak(ByRef $Object, $sText) $Object.Speak($sText) EndFunc ;Ausgeben der Frage, Fortschreiben des Berichts, Rückgabe der Antwort Func Frage ($FT) $Bericht = $Bericht & $FT Speak ($Default, $FT) $Antwort = (MsgBox($MB_YESNO, "Frage von EUGEN", $FT) = $IDYES) If $Antwort Then $Bericht = $Bericht & "=> JA" & @CRLF & @CRLF Else $Bericht = $Bericht & "=> NEIN" & @CRLF & @CRLF EndIf Return $Antwort EndFunc ;Ausgeben von Informationstext, Fortschreiben des Berichts, keine Rückgabe Func Info ($IT) $Bericht = $Bericht & "+++ " & $IT & " +++" & @CRLF & @CRLF Speak ($Default, $IT) MsgBox($MB_OK, "Hinweis von KURT", $IT) EndFunc ;Sprachsystem initialisieren $Default = StartTTS() If Not IsObj($Default) Then Info("Leider steht keine Sprachausgabe zur Verfügung") EndIf ; Titel Info ("KURT - Schnelle Vorprüfung und Generierung eines kurzen Berichts (Version 21.07.2020), Autor: Frank Werner") $Bericht = "Sachverhalt: " & InputBox ("Sachverhalt", "Geben Sie den Sachverhalt des Falles ein (ohne personenbezogene Daten!):") & @CRLF & @CRLF ;Loop Do ; Wiederhole... If $Daten [$i][2] = $Daten [$i][3] Then ; Wenn die Werte der Spalten 2 und 3 gleich sind Info ($Daten[$i][1]) ; ist die Frage eine Information $i = $Daten [$i][2] ; und die Werte die neue Frageposition ElseIf $Daten[$i][2] = 0 Then ; sonst, wenn die nächste Frageposition = 0 ist $i = 0 ; ist der Loop zu Ende ElseIf Frage ($Daten [$i][1]) Then ; sonst wenn die Frage positiv beantwortet wird $i = $Daten [$i][2] ; hole nächste Position aus Spalte 2 Else ; sonst $i = $Daten [$i][3] ; aus Spalte 3 EndIf Until $i = 0 ; bis nächste Frageposition = 0 ist. ;Bericht generieren und mailen? If Frage ("Soll das Ergebnis versandt werden?") Then ShellExecute ("mailto:?subject=Prüfung eines Datenschutzfalles mit EUGEN&body="&$Bericht) Info ("Tragen Sie bitte die Namen der Empfänger dieses Berichts ein, formatieren und senden Sie die E-Mail ab.") EndIf Speak ($Default, "Vielen Dank. Auf Wiedersehen!") ; ENDE DES PROGRAMMLAUFS ***
- Das Programm steht hier ohne jegliche Gewährleistung. Das Programm kann und will keine Rechtsberatung ersetzen.
Frank Werner