FCLT#60010 Inzicht in geregistreerde persoonsgegevens bieden, nu als pagina

svn path=/Website/trunk/; revision=60437
This commit is contained in:
Peter Feij
2023-05-16 16:25:18 +00:00
parent ff706023e4
commit a4dedf74b4

View File

@@ -3,91 +3,133 @@
$Revision$
$Id$
Description: Beetje lompe MVP-versie om statistics mbt persoonsgegevens te kunnen rapporteren
Zou aan een Autoriteit kunnen worden gerapporteerd als er een datalek ou zijn
Description: Beetje minder lompe MVP-versie om statistics mbt persoonsgegevens te kunnen rapporteren, voor awareness.
Zou aan een Autoriteit kunnen worden gerapporteerd als er een datalek zou zijn
Kan ook als input dienen voor de Verwerkersovereenkomst: welke gegevens registreren we feitelijk
(en kan dat niet minder)
(en kan dat niet minder).
Kan ongetwijfeld nog uitgebreid worden.
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"], js: ["jquery-ui.js"] });
var outputmode = getQParamInt("outputmode", 0);
var showall = getQParamInt("showall", 0) == 1;
%>
<html>
<head>
<% FCLTHeader.Generate({ outputmode: outputmode });
<% FCLTHeader.Generate();
var autfunction = "WEB_PRSSYS";
var authparams = user.checkAutorisation(autfunction);
%>
</head>
<body id="listbody">
<%
var gNoemer = 1;
function fnPct (oRs)
{
if (oRs("issum").value == 1) gNoemer = oRs("aantal").value;
return safe.showFloat(100*oRs("aantal").value/gNoemer, 1);
}
<body class="showmode">
<% SUBFRAME_START();
// query bevat een totaal (issum==1) en daarna een onderverdeling daarvan. Volgorde (kolom 2) matters
var sql = " select 1 issum, 1 regelnr ,'Totaal aantal personen ' eigenschap, count(*) aantal from prs_perslid UNION"
+ " select 0, 100,'Aantal actieve personen ',count(*) from prs_perslid where prs_perslid_verwijder is null UNION"
+ " select 0, 101,'- waarvan met voornaam',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_voornaam is not null) UNION"
+ " select 0, 102,'- waarvan met voorletters' ,count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_voorletters is not null) UNION"
+ " select 0, 103,'- waarvan met e-mailadres',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_email is not null) UNION"
+ " select 0, 104,'- waarvan met loginnaam',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_oslogin is not null or prs_perslid_oslogin2 is not null) UNION"
+ " select 0, 105,'- waarvan met mobiel nummer',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_mobiel is not null) UNION"
+ " select 0, 106,'- waarvan met telefoonnummer',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_telefoonnr is not null) UNION"
+ " select 0, 107,'- waarvan met geslachtsaanduiding',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_geslacht is not null) UNION"
+ " select 0, 108,'- waarvan met personeelsnr',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_nr is not null) UNION"
+ " select 0, 109,'- waarvan met (hashed) wachtwoord',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_wachtwoord_hash is not null and prs_perslid_salt is not null) UNION"
+ " select 0, 200,'Aantal vervallen personen ',count(*) from prs_perslid where prs_perslid_verwijder is not null UNION"
+ " select 0, 201,'- waarvan geanonimiseerd',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_naam =lcl.l('lcl_prs_old_employee')) UNION"
+ " select 0, 202,'- waarvan met voornaam',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_voornaam is not null) UNION"
+ " select 0, 203,'- waarvan met voorletters',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_voorletters is not null) UNION"
+ " select 0, 204,'- waarvan met e-mailadres',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_email is not null) UNION"
+ " select 0, 205,'- waarvan met loginnaam',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_oslogin is not null or prs_perslid_oslogin2 is not null) UNION"
+ " select 0, 206,'- waarvan met mobiel nummer',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_mobiel is not null) UNION"
+ " select 0, 207,'- waarvan met telefoonnummer',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_telefoonnr is not null) UNION"
+ " select 0, 208,'- waarvan met geslachtsaanduiding',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_geslacht is not null) UNION"
+ " select 0, 209,'- waarvan met personeelsnr',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_nr is not null) UNION"
+ " select 0, 210,'- waarvan met (hashed) wachtwoord',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_wachtwoord_hash is not null and prs_perslid_salt is not null) UNION"
var sql = " select 0, 100 id,'Actieve personen' lbl,count(*) cnt from prs_perslid where prs_perslid_verwijder is null UNION"
+ " select 0, 101,'met voornaam',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_voornaam is not null) UNION"
+ " select 0, 102,'met voorletters' ,count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_voorletters is not null) UNION"
+ " select 0, 103,'met e-mailadres',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_email is not null) UNION"
+ " select 0, 104,'met loginnaam',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_oslogin is not null or prs_perslid_oslogin2 is not null) UNION"
+ " select 0, 105,'met mobiel nummer',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_mobiel is not null) UNION"
+ " select 0, 106,'met telefoonnummer',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_telefoonnr is not null) UNION"
+ " select 0, 107,'met geslachtsaanduiding',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_geslacht is not null) UNION"
+ " select 0, 108,'met personeelsnr',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_nr is not null) UNION"
+ " select 0, 109,'met (hashed) wachtwoord',count(*) from prs_perslid where prs_perslid_verwijder is null and (prs_perslid_wachtwoord_hash is not null and prs_perslid_salt is not null) UNION"
+ " select 0, 200,'Vervallen personen',count(*) from prs_perslid where prs_perslid_verwijder is not null UNION"
+ " select 0, 201,'geanonimiseerd',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_naam =lcl.l('lcl_prs_old_employee')) UNION"
+ " select 0, 202,'met voornaam',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_voornaam is not null) UNION"
+ " select 0, 203,'met voorletters',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_voorletters is not null) UNION"
+ " select 0, 204,'met e-mailadres',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_email is not null) UNION"
+ " select 0, 205,'met loginnaam',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_oslogin is not null or prs_perslid_oslogin2 is not null) UNION"
+ " select 0, 206,'met mobiel nummer',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_mobiel is not null) UNION"
+ " select 0, 207,'met telefoonnummer',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_telefoonnr is not null) UNION"
+ " select 0, 208,'met geslachtsaanduiding',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_geslacht is not null) UNION"
+ " select 0, 209,'met personeelsnr',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_nr is not null) UNION"
+ " select 0, 210,'met (hashed) wachtwoord',count(*) from prs_perslid where prs_perslid_verwijder is not null and (prs_perslid_wachtwoord_hash is not null and prs_perslid_salt is not null) UNION"
+ " select 0, 301,'Actieve contactpersonen',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null UNION"
+ " select 0, 302,'met voornaam',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_voornaam IS NOT NULL) UNION"
+ " select 0, 303,'met voorletters',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_voorletters IS NOT NULL) UNION"
+ " select 0, 304,'met telefoonnr',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_telefoon_1 IS NOT NULL OR prs_contactpersoon_telefoon_2 IS NOT NULL) UNION"
+ " select 0, 305,'met e-mailadres',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_email IS NOT NULL) UNION"
+ " select 0, 306,'met functie',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_functie IS NOT NULL) UNION"
+ " select 0, 401,'Vervallen contactpersonen',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null UNION"
+ " select 0, 402,'met voornaam',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_voornaam IS NOT NULL) UNION"
+ " select 0, 403,'met voorletters',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_voorletters IS NOT NULL) UNION"
+ " select 0, 404,'met telefoonnr',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_telefoon_1 IS NOT NULL OR prs_contactpersoon_telefoon_2 IS NOT NULL) UNION"
+ " select 0, 405,'met e-mailadres',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_email IS NOT NULL) UNION"
+ " select 0, 406,'met functie',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_functie IS NOT NULL) UNION"
+ " select 0, 501,'Relaties',count(*) from prs_bedrijf where prs_bedrijf_verwijder is null AND prs_bedrijf_intern IS NULL UNION"
+ " select 0, 502,'met e-mailadres',count(*) from prs_bedrijf where prs_bedrijf_verwijder is null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_email IS NOT NULL) UNION"
+ " select 0, 503,'met telefoonnr',count(*) from prs_bedrijf where prs_bedrijf_verwijder is null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_telefoon IS NOT NULL OR prs_bedrijf_telefoon2 IS NOT NULL OR prs_bedrijf_contact_telefoon IS NOT NULL) UNION"
+ " select 0, 601,'Vervallen Relaties',count(*) from prs_bedrijf where prs_bedrijf_verwijder is not null AND prs_bedrijf_intern IS NULL UNION"
+ " select 0, 602,'met e-mailadres',count(*) from prs_bedrijf where prs_bedrijf_verwijder is not null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_email IS NOT NULL) UNION"
+ " select 0, 603,'met telefoonnr',count(*) from prs_bedrijf where prs_bedrijf_verwijder is not null AND prs_bedrijf_intern IS NULL AND (prs_bedrijf_telefoon IS NOT NULL OR prs_bedrijf_telefoon2 IS NOT NULL OR prs_bedrijf_contact_telefoon IS NOT NULL)"
+ " select 1, 300,'Totaal aantal contactpersonen ',count(*) from prs_contactpersoon UNION"
+ " select 0, 301,'Aantal actieve contactpersonen ',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null UNION"
+ " select 0, 302,'- waarvan met voornaam',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_voornaam IS NOT NULL) UNION"
+ " select 0, 303,'- waarvan met voorletters',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_voorletters IS NOT NULL) UNION"
+ " select 0, 304,'- waarvan met telefoonnr',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_telefoon_1 IS NOT NULL OR prs_contactpersoon_telefoon_2 IS NOT NULL) UNION"
+ " select 0, 305,'- waarvan met e-mailadres',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_email IS NOT NULL) UNION"
+ " select 0, 306,'- waarvan met functie',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is null AND (prs_contactpersoon_functie IS NOT NULL) UNION"
+ " select 0, 401,'Aantal vervallen contactpersonen ',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null UNION"
+ " select 0, 402,'- waarvan met voornaam',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_voornaam IS NOT NULL) UNION"
+ " select 0, 403,'- waarvan met voorletters',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_voorletters IS NOT NULL) UNION"
+ " select 0, 404,'- waarvan met telefoonnr',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_telefoon_1 IS NOT NULL OR prs_contactpersoon_telefoon_2 IS NOT NULL) UNION"
+ " select 0, 405,'- waarvan met e-mailadres',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_email IS NOT NULL) UNION"
+ " select 0, 406,'- waarvan met functie',count(*) from prs_contactpersoon where prs_contactpersoon_verwijder is not null AND (prs_contactpersoon_functie IS NOT NULL)"
+ " order by 2,3";
oRs = Oracle.Execute(sql);
var rst = new ResultsetTable({ sql: sql,
ID: "gdprtable",
outputmode: outputmode,
title: "GDPR stats",
showAll: showall
});
rst.addColumn(new Column({caption: L("lcl_name"), content: "eigenschap" }));
rst.addColumn(new Column({caption: L("lcl_count"), content: "aantal", datatype: "number" }));
rst.addColumn(new Column({caption: L("lcl_procent"), content: fnPct, datatype: "number" }));
var cnt = rst.processResultset();
facts = new Array;
while (!oRs.eof)
{
facts.push({id: oRs("id").value, lbl: oRs("lbl").value, cnt: oRs("cnt").value})
oRs.moveNext();
}
var buttons = [];
IFRAMER_HEADER(L("lcl_prs_gdprstats"), buttons);
%>
<form name=u2 onSubmit="return false;">
<%
BLOCK_START("gdpr1", facts[0].lbl+": "+ safe.showFloat(facts[0].cnt,0), {icon: "fa-users"});
for (var i=1; i<10; i++)
{
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
}
BLOCK_END();
BLOCK_START("gdpr2", facts[10].lbl+": "+ safe.showFloat(facts[10].cnt,0), {icon: "fa-users-slash"});
for (var i=11; i<21; i++)
{
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
}
BLOCK_END();
BLOCK_START("gdpr3", facts[21].lbl+": "+ safe.showFloat(facts[21].cnt,0), {icon: "fa-user"});
for (var i=22; i<27; i++)
{
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
}
BLOCK_END();
BLOCK_START("gdpr4", facts[27].lbl+": "+ safe.showFloat(facts[27].cnt,0), {icon: "fa-user-slash"});
for (var i=28; i<33; i++)
{
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0), {suppressEmpty: true});
}
BLOCK_END();
BLOCK_START("gdpr5", facts[33].lbl+": "+ safe.showFloat(facts[33].cnt,0), {icon: "fa-handshake"});
for (var i=34; i<36; i++)
{
ROFIELDTR("fld", facts[i].lbl, facts[i].cnt, {suppressEmpty: true});
}
BLOCK_END();
BLOCK_START("gdpr5", facts[36].lbl+": "+ safe.showFloat(facts[36].cnt,0), {icon: "fa-handshake-slash"});
for (var i=37; i<39; i++)
{
ROFIELDTR("fld", facts[i].lbl, facts[i].cnt, {suppressEmpty: true});
}
BLOCK_END();
%>
</form>
<% SUBFRAME_END(); %>
</body>
</html>
<% ASPPAGE_END(); %>