FCLT#54582: Graag bij de taak en de taakafwijking aangeven welke leverancier de uitvoerder i.
svn path=/Website/branches/v2018.2/; revision=41074
This commit is contained in:
@@ -2093,7 +2093,7 @@ ins = {checkAutLevel:
|
||||
? " AND i.ins_alg_ruimte_key_org IS NULL"
|
||||
: "");
|
||||
|
||||
if (loc_key|| bld_key)
|
||||
if (loc_key || bld_key)
|
||||
{
|
||||
sqlOwner_from += ", (SELECT alg_ruimte_key"
|
||||
+ " FROM alg_v_allonroerendgoed"
|
||||
@@ -2347,6 +2347,34 @@ ins = {checkAutLevel:
|
||||
sqlPosition += " AND i.ins_alg_ruimte_key = -1"; // geen terreinen bij fgraph => geen objecten om te laten zien
|
||||
}
|
||||
|
||||
if (backo2 && !terr_key)
|
||||
{
|
||||
// Als backo2 dan wel de juiste plaatsen waar het bedrijf de scope op heeft.
|
||||
// 1) Scope op gebouwen.
|
||||
// 2) Scope op locaties.
|
||||
// 3) Scope op alle gebouwen en locaties (als er geen enkel gebouw en locatie is geselecteerd bij de dienstlocatiegegevens).
|
||||
sqlPosition += " AND (o.alg_gebouw_key IN (SELECT bdl.alg_gebouw_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_dienst_key = ispn.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
+ " OR i.ins_alg_locatie_key IN (SELECT bdl.alg_locatie_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_dienst_key = ispn.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
+ " OR (SELECT COUNT(bdl.prs_bedrijfdienstlocatie_key)"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_dienst_key = ispn.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.alg_locatie_key IS NULL"
|
||||
+ " AND bdl.alg_gebouw_key IS NULL) = 1)"
|
||||
}
|
||||
|
||||
if (ins_key_arr)
|
||||
{
|
||||
sqlPosition += " AND i.ins_deel_key IN (" + ins_key_arr.join(",") + ")";
|
||||
@@ -2711,6 +2739,16 @@ ins = {checkAutLevel:
|
||||
sql += " AND x.prs_dienst_key = " + dienst_key;
|
||||
}
|
||||
|
||||
if (backo2)
|
||||
{
|
||||
sql += " AND x.prs_dienst_key IN (SELECT DISTINCT bdl.prs_dienst_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_dienst_key = x.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))";
|
||||
}
|
||||
|
||||
if (cnt_bedrijf_key > 0)
|
||||
{
|
||||
if (backo2)
|
||||
|
||||
@@ -369,9 +369,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = isc.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))"
|
||||
: "")
|
||||
+ " ORDER BY 2";
|
||||
FCLTselector("ctr_discipline",
|
||||
@@ -401,9 +401,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = isc.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
: "")
|
||||
+ " ORDER BY UPPER("+lcl.xsql('ins_srtcontrole_omschrijving', 'ins_srtcontrole_key')+")";
|
||||
FCLTselector("sel_srtcontrole",
|
||||
@@ -425,9 +425,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = isc.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
: "")
|
||||
+ " AND xcp.ins_scenario_key(+) = 1"
|
||||
+ " AND COALESCE (xcp.ins_srtcontroledl_xcp_groep, isc.ins_srtcontrole_groep) IS NOT NULL"
|
||||
@@ -449,9 +449,9 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = pd.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + "))"
|
||||
: "")
|
||||
+ " ORDER BY UPPER(" + lcl.xsql("pd.prs_dienst_omschrijving", "pd.prs_dienst_key") + ")";
|
||||
|
||||
|
||||
@@ -29,9 +29,9 @@ function getFiltClauseBedrijf(pfiltcode, params)
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ ")";
|
||||
break;
|
||||
case 'C': lfiltClause = " AND b.prs_bedrijf_key IN (SELECT cnt_prs_bedrijf_key FROM cnt_contract)";
|
||||
|
||||
@@ -80,9 +80,9 @@ function getFiltClauseDiscipline(pfiltcode, params)
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = isc.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))"
|
||||
: "");
|
||||
break;
|
||||
case "FE": lfiltClause.where += " AND sm.mld_stdmelding_notfrontend = 0"
|
||||
|
||||
@@ -31,22 +31,36 @@ var not_reserveerbare_ruimte = " AND NOT EXISTS "
|
||||
// Bedrijfdienstlocatie afhankelijkheid voor gebouw gedeelte.
|
||||
function getBdlGebouwNiveau()
|
||||
{
|
||||
// Is er een dienst die de scope heeft voor alle gebouwen en locaties. Dit is het geval als er geen locaties of gebouwen zijn ingevuld.
|
||||
// Dan geen bedrijfdienstlocatie scope beperking op gebouw niveau.
|
||||
var sql = "SELECT bdl.prs_bedrijfdienstlocatie_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.alg_locatie_key IS NULL"
|
||||
+ " AND bdl.alg_gebouw_key IS NULL"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
return ""; // Geen bedrijfdienstlocatie scope beperking op gebouw en locatie.
|
||||
oRs.Close();
|
||||
|
||||
var bdl_gebouw_niveau = " AND EXISTS (SELECT bdl.alg_locatie_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " , prs_dienst dd"
|
||||
+ " WHERE bdl.prs_dienst_key = dd.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.alg_locatie_key = g.alg_locatie_key"
|
||||
+ " UNION"
|
||||
+ " SELECT bdl.alg_gebouw_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " , prs_dienst dd"
|
||||
+ " WHERE bdl.prs_dienst_key = dd.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.alg_gebouw_key = g.alg_gebouw_key)";
|
||||
return bdl_gebouw_niveau
|
||||
}
|
||||
@@ -83,14 +97,28 @@ function getBdlLocatieNiveau(tableref)
|
||||
break;
|
||||
}
|
||||
|
||||
// Is er een dienst die de scope heeft voor alle gebouwen en locaties. Dit is het geval als er geen locaties of gebouwen zijn ingevuld.
|
||||
// Dan geen bedrijfdienstlocatie scope beperking op locatie niveau.
|
||||
var sql = "SELECT bdl.prs_bedrijfdienstlocatie_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " WHERE bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.alg_locatie_key IS NULL"
|
||||
+ " AND bdl.alg_gebouw_key IS NULL"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
return ""; // Geen bedrijfdienstlocatie scope beperking op gebouw en locatie.
|
||||
oRs.Close();
|
||||
|
||||
var bdl_locatie_niveau = " AND EXISTS (SELECT bdl.alg_locatie_key"
|
||||
+ " FROM prs_bedrijfdienstlocatie bdl"
|
||||
+ " , prs_dienst dd"
|
||||
+ extra_from
|
||||
+ " WHERE bdl.prs_dienst_key = dd.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ extra_where1
|
||||
+ " UNION"
|
||||
+ " SELECT ag.alg_locatie_key"
|
||||
@@ -100,9 +128,9 @@ function getBdlLocatieNiveau(tableref)
|
||||
+ extra_from
|
||||
+ " WHERE bdl.prs_dienst_key = dd.prs_dienst_key"
|
||||
+ " AND bdl.alg_gebouw_key = ag.alg_gebouw_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")"
|
||||
+ extra_where2
|
||||
+ ")";
|
||||
return bdl_locatie_niveau
|
||||
|
||||
@@ -60,9 +60,9 @@ function getFiltClauseSrtdeel(pfiltcode, params)
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = isc.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))";
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,9 +66,9 @@ function getFiltClauseSrtgroep(pfiltcode, params) // pfiltcode not used yet
|
||||
+ " , prs_dienst d"
|
||||
+ " WHERE bdl.prs_dienst_key = d.prs_dienst_key"
|
||||
+ " AND d.prs_dienst_key = isc.prs_dienst_key"
|
||||
+ " AND bdl.prs_bedrijf_key = (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))";
|
||||
+ " AND bdl.prs_bedrijf_key IN (SELECT cp.prs_bedrijf_key"
|
||||
+ " FROM prs_contactpersoon cp"
|
||||
+ " WHERE cp.prs_perslid_key = " + user_key + ")))";
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user