MAYF#27974: Personen zoeken op locatie werkt alleen als wordt gezocht op hoofdlocatie.

svn path=/Website/trunk/; revision=20069
This commit is contained in:
Maykel Geerdink
2013-12-05 13:20:12 +00:00
parent db394f7b2d
commit 1d2da32d46
3 changed files with 60 additions and 41 deletions

View File

@@ -79,6 +79,7 @@ function perslid_list(pautfunction, params)
var func = params.func;
var dept = params.dept;
var bdr_key = params.bdr_key;
var altloc = params.altloc;
function fnrowActionEnabler(oRs)
{
@@ -104,37 +105,45 @@ function perslid_list(pautfunction, params)
// is distinct echt vereist? dan zeggen waarom: ik denk omdat afdeling_boom ervoor zorgt dat een persoon
// meerdere keren in het resultaat komt, en de distinct dus nodig is.
var sqln = "SELECT DISTINCT p.prs_perslid_key,"
+ " pf.prs_perslid_naam_full,"
+ " p.prs_perslid_nr,"
+ S("prs_dep_string") + " organisatie,"
+ " COALESCE (p.prs_perslid_telefoonnr, ' ') telefoon,"
+ " COALESCE (" + lcl.xsql("srt_p.prs_srtperslid_omschrijving", "srt_p.prs_srtperslid_key") + ", ' ') functie,"
+ " p.prs_perslid_upper,"
+ " wp.alg_ruimte_aanduiding || DECODE (hwp.aantal,1,'','...') alg_ruimte_aanduiding,"
+ " wp.prs_werkplek_aanduiding || DECODE (hwp.aantal,1,'','...') prs_werkplek_aanduiding,"
+ " p.prs_perslid_mobiel,"
+ " p.prs_perslid_email,"
+ " p.prs_perslid_titel,"
+ " fp.fac_profiel_omschrijving"
+ " FROM prs_v_aanwezigperslid p,"
+ " prs_v_afdeling_familie bm,"
+ " prs_v_perslid_fullnames pf,"
+ " prs_v_afdeling d,"
+ " prs_srtperslid srt_p,"
+ " prs_v_hoofdperslidwerkplek hwp, "
+ " prs_v_werkplek_gegevens wp, "
+ " alg_locatie l,"
+ " fac_profiel fp"
+ " WHERE p.prs_afdeling_key = bm.prs_afdeling_key"
+ " AND d.prs_afdeling_key = p.prs_afdeling_key"
+ " AND srt_p.prs_srtperslid_key = p.prs_srtperslid_key"
+ " AND pf.prs_perslid_key = p.prs_perslid_key"
+ " AND l.alg_locatie_key(+) = wp.alg_locatie_key"
+ " AND wp.prs_werkplek_key(+) = hwp.prs_werkplek_key"
+ " AND hwp.prs_perslid_key(+) = p.prs_perslid_key"
+ " AND p.prs_perslid_verwijder IS NULL"
+ " AND p.fac_profiel_key = fp.fac_profiel_key (+)"
var sqln = "SELECT DISTINCT p.prs_perslid_key"
+ " , pf.prs_perslid_naam_full"
+ " , p.prs_perslid_nr"
+ " , " + S("prs_dep_string") + " organisatie"
+ " , COALESCE (p.prs_perslid_telefoonnr, ' ') telefoon"
+ " , COALESCE (" + lcl.xsql("srt_p.prs_srtperslid_omschrijving", "srt_p.prs_srtperslid_key") + ", ' ') functie"
+ " , p.prs_perslid_upper"
+ " , wp.alg_ruimte_aanduiding"
+ (altloc
? ""
: " || DECODE (hwp.aantal,1,'','...') alg_ruimte_aanduiding")
+ " , wp.prs_werkplek_aanduiding"
+ (altloc
? ""
: " || DECODE (hwp.aantal,1,'','...') prs_werkplek_aanduiding")
+ " , p.prs_perslid_mobiel"
+ " , p.prs_perslid_email"
+ " , p.prs_perslid_titel"
+ " , fp.fac_profiel_omschrijving"
+ " FROM prs_v_aanwezigperslid p"
+ " , prs_v_afdeling_familie bm"
+ " , prs_v_perslid_fullnames pf"
+ " , prs_v_afdeling d"
+ " , prs_srtperslid srt_p"
+ (altloc
? " , prs_perslidwerkplek hwp"
: " , prs_v_hoofdperslidwerkplek hwp")
+ " , prs_v_werkplek_gegevens wp"
+ " , alg_locatie l"
+ " , fac_profiel fp"
+ " WHERE p.prs_afdeling_key = bm.prs_afdeling_key"
+ " AND d.prs_afdeling_key = p.prs_afdeling_key"
+ " AND srt_p.prs_srtperslid_key = p.prs_srtperslid_key"
+ " AND pf.prs_perslid_key = p.prs_perslid_key"
+ " AND l.alg_locatie_key(+) = wp.alg_locatie_key"
+ " AND wp.prs_werkplek_key(+) = hwp.prs_werkplek_key"
+ " AND hwp.prs_perslid_key(+) = p.prs_perslid_key"
+ " AND p.prs_perslid_verwijder IS NULL"
+ " AND p.fac_profiel_key = fp.fac_profiel_key (+)"
if (authparams.ALGreadlevel > -1)
{ // Er is een scope-beperking van kracht

View File

@@ -18,18 +18,19 @@
<%
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
var prsName;
var prsNR;
var prsLogin;
var prsName;
var prsNR;
var prsLogin;
var district_key = getQParamInt("dis_key", -1);
var locatie_key = getQParamInt("loc_key", -1);
var gebouw_key = getQParamInt("bld_key", -1);
var district_key = getQParamInt("dis_key", -1);
var locatie_key = getQParamInt("loc_key", -1);
var gebouw_key = getQParamInt("bld_key", -1);
var autosearch = getQParamInt("autosearch", 0) == 1;
var autosearch = getQParamInt("autosearch", 0) == 1;
var altloc = (getQParamInt("altloc", 0) == 1); // Ook alternatieve locaties
var autfunction = "WEB_PRSUSE"; // stelling: als je MAN hebt moet je ook maar USE krijgen
var authparams = user.checkAutorisation(autfunction);
var autfunction = "WEB_PRSUSE"; // stelling: als je MAN hebt moet je ook maar USE krijgen
var authparams = user.checkAutorisation(autfunction);
%>
<html>
@@ -138,6 +139,13 @@ FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
</table>
</td>
</tr>
<!-- Ook alternatieve locaties -->
<tr>
<td align=right><b></b></td>
<td>
<input type="checkbox" class="fldaltloc" name="altloc" id="altloc" value="1" <%=altloc? "checked" : ""%>>
<label for="altloc"><%=L("lcl_prs_alt_loc")%></label>
</tr>
<% BLOCK_END();
var buttons = [ {title: L("lcl_search"), action:"doSubmit()", id:"bSearch" },
{title: L("lcl_obj_advanced"), action:"myModal()", id:"bAdvanced" } ];

View File

@@ -33,6 +33,7 @@ var profiel_key = getQParamInt("profielkey",-1);
var func = getQParamInt("func", "");
var dept = getQParamInt("dept", -1);
var bdr_key = getQParamInt("bdr_key", -1);
var altloc = (getQParamInt("altloc", 0) == 1); // Ook alternatieve locaties
perslid_list( "*",
{ outputmode: outputmode,
@@ -46,7 +47,8 @@ perslid_list( "*",
prsNR: prsNR,
func: (func != -1? func : null),
dept: (dept != -1? dept : null),
bdr_key: (bdr_key != -1? bdr_key : null)
bdr_key: (bdr_key != -1? bdr_key : null),
altloc: altloc
}
);
%>