From 79357dc56fd4a37dc348f27fae85153ec89ad5f5 Mon Sep 17 00:00:00 2001 From: Erik Groener Date: Wed, 2 Nov 2016 12:53:33 +0000 Subject: [PATCH] UWVA#38222 Locatie met louter vervallen gebouwen toch te selecteren svn path=/Website/branches/v2016.2/; revision=31326 --- APPL/BES/bes_edit_bestelling.asp | 14 ++++++++++- APPL/CAD/EvictionPlan.asp | 3 ++- APPL/CAD/contour_search.asp | 3 ++- APPL/CAD/tekening_search.asp | 3 ++- APPL/CNT/cnt_edit_scope.asp | 36 +++++++++++++++++++-------- APPL/CNT/cnt_search.asp | 3 ++- APPL/FAC/fac_fiattering_search.asp | 3 ++- APPL/FIN/fin_search.asp | 3 ++- APPL/INS/ins_move_deel_multi.asp | 1 + APPL/INS/ins_search.asp | 6 +++-- APPL/INS/ins_verbruik_search.asp | 3 ++- APPL/PRJ/prj_search.asp | 3 ++- APPL/PRS/prs_bedrijf_search.asp | 3 ++- APPL/PRS/prs_edit_dienstlocs.asp | 37 +++++++++++++++++++++------- APPL/RES/res_search_ppi.asp | 3 ++- APPL/SLE/sle_edit_srtdeel.asp | 3 ++- APPL/SLE/sleutel_search.asp | 3 ++- APPL/Shared/Suggest/plaatsFilter.inc | 4 +++ 18 files changed, 100 insertions(+), 34 deletions(-) diff --git a/APPL/BES/bes_edit_bestelling.asp b/APPL/BES/bes_edit_bestelling.asp index f694a27a3d..2834b136b8 100644 --- a/APPL/BES/bes_edit_bestelling.asp +++ b/APPL/BES/bes_edit_bestelling.asp @@ -668,11 +668,23 @@ else // nieuwe bestelling. Defaults bepalen if (getQParamInt("adres_key", -1) > 0) aflever_readonly = true; + var sql_filter = " AND EXISTS" + + " ( SELECT ''" + + " FROM alg_v_aanweziggebouw ag" + + " , alg_srtgebouw sg" + + " WHERE ag.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)" + + " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC (SYSDATE))" + + " AND sg.alg_srtgebouw_passief IS NULL" + + " AND ag.alg_locatie_key = m.alg_locatie_key" + + " )"; + sql = "SELECT m.mld_adres_key" + ", m.mld_adres_naam, m.mld_adres_upper" + (aflever_readonly? " FROM mld_adres m" : " FROM mld_v_afleveradres m") + + " WHERE 1=1" + + sql_filter + (ALGreadlevel >= 0 - ? " WHERE m.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations " + ? " AND m.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations " + " WHERE prs_perslid_key = " + user_key + " AND niveau = " + ALGreadlevel + ")" : "") diff --git a/APPL/CAD/EvictionPlan.asp b/APPL/CAD/EvictionPlan.asp index 261399bdc0..c228353d18 100644 --- a/APPL/CAD/EvictionPlan.asp +++ b/APPL/CAD/EvictionPlan.asp @@ -110,7 +110,8 @@ function onOtherDrawing() verdiepingkey: floor_key, startlevel: 2, // Locatie eindlevel: 4, // Verdieping - onVerChange: "OnFloorChanged()" + onVerChange: "OnFloorChanged()", + filtercode: "FAC" }); %> diff --git a/APPL/CAD/contour_search.asp b/APPL/CAD/contour_search.asp index 292169adcb..02abd77289 100644 --- a/APPL/CAD/contour_search.asp +++ b/APPL/CAD/contour_search.asp @@ -84,7 +84,8 @@ if (verdieping_key > 0 || (gebouw_key > 0 && bttype == "T")) terrein: true, startlevel: 2, // locatie eindlevel: 4, // verdieping - whenEmpty: L("lcl_search_generic") // want filter bttype? + whenEmpty: L("lcl_search_generic"), // want filter bttype? + filtercode: "FAC" }); %> diff --git a/APPL/CAD/tekening_search.asp b/APPL/CAD/tekening_search.asp index c74f722125..45d981f049 100644 --- a/APPL/CAD/tekening_search.asp +++ b/APPL/CAD/tekening_search.asp @@ -42,7 +42,8 @@ var authparams = user.checkAutorisation(autfunction); terrein: true, startlevel: 2, // locatie eindlevel: 3, // Gebouw - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); %> diff --git a/APPL/CNT/cnt_edit_scope.asp b/APPL/CNT/cnt_edit_scope.asp index 9517a66062..55cfe7d5ee 100644 --- a/APPL/CNT/cnt_edit_scope.asp +++ b/APPL/CNT/cnt_edit_scope.asp @@ -103,7 +103,8 @@ var cnt_srtcontract_type = oRs("cnt_srtcontract_type").value; onGebChange: "onPlaatsChange()", onVerChange: "onPlaatsChange()", onRuiChange: "onPlaatsChange()", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); %> @@ -330,15 +331,30 @@ var cnt_srtcontract_type = oRs("cnt_srtcontract_type").value; -<% sql = "SELECT alg_locatie_key" - + " , alg_locatie_omschrijving" - + " FROM alg_locatie" - + " WHERE alg_locatie_verwijder IS NULL" - + ((authparams.ALGwritelevel > -1) - ? " AND alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations " - + " WHERE prs_perslid_key = " + user_key + " AND niveau = " + authparams.ALGwritelevel + ")" - : "") - + " ORDER BY alg_locatie_upper"; +<% + var sql_my_loc = " AND al.alg_locatie_key IN" + + " ( SELECT alg_locatie_key" + + " FROM fac_v_my_locations" + + " WHERE prs_perslid_key = " + user_key + + " AND niveau = " + authparams.ALGwritelevel + + " )"; + + var sql_filter = " AND EXISTS" + + " ( SELECT ''" + + " FROM alg_v_aanweziggebouw ag" + + " , alg_srtgebouw sg" + + " WHERE ag.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)" + + " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC (SYSDATE))" + + " AND sg.alg_srtgebouw_passief IS NULL" + + " AND ag.alg_locatie_key = al.alg_locatie_key" + + " )"; + var sql = "SELECT al.alg_locatie_key" + + " , al.alg_locatie_omschrijving" + + " FROM alg_locatie al" + + " WHERE al.alg_locatie_verwijder IS NULL" + + ((authparams.ALGwritelevel > -1) ? sql_my_loc : "") + + sql_filter + + " ORDER BY al.alg_locatie_upper"; FCLTselector("locs", sql, { label: L("lcl_location"), diff --git a/APPL/CNT/cnt_search.asp b/APPL/CNT/cnt_search.asp index c1402dca34..ac5b970513 100644 --- a/APPL/CNT/cnt_search.asp +++ b/APPL/CNT/cnt_search.asp @@ -275,7 +275,8 @@ var authparams = user.checkAutorisation(autfunction, true) || {}; eindlevel: 3, // gebouw secsearch: 2, trclass: "noxd", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); RWFIELDTR("loc_omschr", "fld wildcardr", L("lcl_location"), safe.htmlattr(loc_omschr), { trclass: "primsearch onlyxd hidden", datatype: "text" }); diff --git a/APPL/FAC/fac_fiattering_search.asp b/APPL/FAC/fac_fiattering_search.asp index 7437e7354e..fe18920797 100644 --- a/APPL/FAC/fac_fiattering_search.asp +++ b/APPL/FAC/fac_fiattering_search.asp @@ -103,7 +103,8 @@ var betreft = getQParamArray("betreft", []); // Betreft module BES, CNT, FIN, ML eindlevel: 3, // gebouw terrein: true, trclass: "noxd", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); %> diff --git a/APPL/FIN/fin_search.asp b/APPL/FIN/fin_search.asp index 81fb81da0b..8d03849e78 100644 --- a/APPL/FIN/fin_search.asp +++ b/APPL/FIN/fin_search.asp @@ -317,7 +317,8 @@ var isContactpersoon = user.isContactpersoon(); eindlevel: 3, // gebouw terrein: true, trclass: "noxd", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); } %> diff --git a/APPL/INS/ins_move_deel_multi.asp b/APPL/INS/ins_move_deel_multi.asp index c3ac88588b..644ee81d13 100644 --- a/APPL/INS/ins_move_deel_multi.asp +++ b/APPL/INS/ins_move_deel_multi.asp @@ -189,6 +189,7 @@ user.anything_todo_or_abort(tobemoved > 0); // We klagen niet over enkele wel en , eindlevel: maxlevel , terrein: true , requiredlevel: 2 + , filtercode: "FAC" } ); diff --git a/APPL/INS/ins_search.asp b/APPL/INS/ins_search.asp index 3f515a7811..2cb62d1bb7 100644 --- a/APPL/INS/ins_search.asp +++ b/APPL/INS/ins_search.asp @@ -439,7 +439,8 @@ var authparams = user.checkAutorisation(autfunction); startlevel: alg_startlevel, eindlevel: 2, // locatie trclass: "noxd", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); } else //fronto @@ -448,7 +449,8 @@ var authparams = user.checkAutorisation(autfunction); startlevel: alg_startlevel, eindlevel: 3, // gebouw trclass: "noxd", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); } } diff --git a/APPL/INS/ins_verbruik_search.asp b/APPL/INS/ins_verbruik_search.asp index 9e33d9d741..1be512b496 100644 --- a/APPL/INS/ins_verbruik_search.asp +++ b/APPL/INS/ins_verbruik_search.asp @@ -29,7 +29,8 @@ var authparams = user.checkAutorisation(autfunction); FCLTplaatsselector(authparams.ALGreadlevel, { startlevel: 2, // locatie eindlevel: 2, // Locatie - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); sql = " SELECT DISTINCT s.ins_srtdeel_key" diff --git a/APPL/PRJ/prj_search.asp b/APPL/PRJ/prj_search.asp index 2ff4e41fc6..45071349f4 100644 --- a/APPL/PRJ/prj_search.asp +++ b/APPL/PRJ/prj_search.asp @@ -94,7 +94,8 @@ var authparams = user.checkAutorisation(autfunction); gebouwkey: bld_key, startlevel: 2, // locatie eindlevel: 3, // gebouw - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); %> diff --git a/APPL/PRS/prs_bedrijf_search.asp b/APPL/PRS/prs_bedrijf_search.asp index 76aa579840..da5a875a9a 100644 --- a/APPL/PRS/prs_bedrijf_search.asp +++ b/APPL/PRS/prs_bedrijf_search.asp @@ -147,7 +147,8 @@ toRs.close(); startlevel: 2, // locatie eindlevel: 3, // gebouw trclass: "noxd", - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); %> diff --git a/APPL/PRS/prs_edit_dienstlocs.asp b/APPL/PRS/prs_edit_dienstlocs.asp index 260447c075..5ef195520b 100644 --- a/APPL/PRS/prs_edit_dienstlocs.asp +++ b/APPL/PRS/prs_edit_dienstlocs.asp @@ -135,22 +135,35 @@ var dienst_key = getQParamInt("dienst_key"); // bedrijf key
<% + var sql_filter = " AND EXISTS" + + " ( SELECT ''" + + " FROM alg_v_aanweziggebouw ag" + + " , alg_srtgebouw sg" + + " WHERE ag.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)" + + " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC (SYSDATE))" + + " AND sg.alg_srtgebouw_passief IS NULL" + + " AND ag.alg_locatie_key = al.alg_locatie_key" + + " )"; + var existing_loc_sql = "SELECT dl.alg_locatie_key" - + " , l.alg_locatie_omschrijving" + + " , al.alg_locatie_omschrijving" + " , 'L' locorgeb" + " FROM prs_bedrijfdienstlocatie dl" - + " , alg_locatie l" - + " WHERE dl.alg_locatie_key = l.alg_locatie_key" + + " , alg_locatie al" + + " WHERE dl.alg_locatie_key = al.alg_locatie_key" + " AND dl.prs_dienst_key = " + dienst_key + " AND dl.prs_bedrijf_key = " + bedrijf_key + " AND dl.alg_locatie_key IS NOT NULL"; + //+ sql_filter; var loc_sql = - "SELECT l.alg_locatie_key" - + " , l.alg_locatie_omschrijving" + "SELECT al.alg_locatie_key" + + " , al.alg_locatie_omschrijving" + " , 'L' locorgeb" - + " FROM alg_v_aanweziglocatie l"; + + " FROM alg_v_aanweziglocatie al" + + " WHERE 1=1" + + sql_filter; FCLTselector("locPossible", loc_sql + " MINUS " + existing_loc_sql + " ORDER BY 2", { startmulti: true, @@ -181,8 +194,10 @@ var dienst_key = getQParamInt("dienst_key"); // bedrijf key + " FROM prs_bedrijfdienstlocatie dl" + " , alg_gebouw g" + " , alg_locatie l" + //+ " , alg_srtgebouw sg" + " WHERE dl.alg_gebouw_key = g.alg_gebouw_key" + " AND g.alg_locatie_key = l.alg_locatie_key" + //+ " AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)" + " AND dl.prs_dienst_key = " + dienst_key + " AND dl.prs_bedrijf_key = " + bedrijf_key + " AND dl.alg_gebouw_key IS NOT NULL"; @@ -191,9 +206,13 @@ var dienst_key = getQParamInt("dienst_key"); // bedrijf key + " , l.alg_locatie_code||'-'||g.alg_gebouw_omschrijving" + " , 'G' locorgeb" + " , l.alg_locatie_key" - + " FROM alg_v_aanweziggebouw g," - + " alg_locatie l" - + " WHERE l.alg_locatie_key = g.alg_locatie_key"; + + " FROM alg_v_aanweziggebouw g" + + " , alg_locatie l" + + " , alg_srtgebouw sg" + + " WHERE l.alg_locatie_key = g.alg_locatie_key" + + " AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)" + + " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC (SYSDATE))" + + " AND sg.alg_srtgebouw_passief IS NULL"; %>

<% FCLTselector("gebPossible", geb_sql + " MINUS " + existing_geb_sql + " ORDER BY 2", diff --git a/APPL/RES/res_search_ppi.asp b/APPL/RES/res_search_ppi.asp index 9d7bb73a26..f3b10eef9c 100644 --- a/APPL/RES/res_search_ppi.asp +++ b/APPL/RES/res_search_ppi.asp @@ -109,7 +109,8 @@ var authparams = user.checkAutorisation(autfunction); startlevel: 1, // District eindlevel: 5, // Ruimte secsearch: 3, // gebouw en hoger - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); %> diff --git a/APPL/SLE/sle_edit_srtdeel.asp b/APPL/SLE/sle_edit_srtdeel.asp index e2cfbc0b29..51da3adf44 100644 --- a/APPL/SLE/sle_edit_srtdeel.asp +++ b/APPL/SLE/sle_edit_srtdeel.asp @@ -146,7 +146,8 @@ if (!oRs.eof) uitleen_flex_present = true; BLOCK_START("sleRuimte", L("lcl_sle_ruimte")); FCLTplaatsselector(authparamsSLEBOF.ALGwritelevel, { startlevel: 2, // Locatie eindlevel: 5, // Ruimte - autoselect: true + autoselect: true, + filtercode: "FAC" }); %> diff --git a/APPL/SLE/sleutel_search.asp b/APPL/SLE/sleutel_search.asp index 04259e17a8..b23eb37839 100644 --- a/APPL/SLE/sleutel_search.asp +++ b/APPL/SLE/sleutel_search.asp @@ -198,7 +198,8 @@ var authparamsSLEFOF = user.checkAutorisation("WEB_SLEFOF", true); onWerChange: "UnSelectOwner()", startlevel: 2, // locatie eindlevel: 5, // ruimte/werkplek - whenEmpty: L("lcl_search_generic") // want filter + whenEmpty: L("lcl_search_generic"), // want filter + filtercode: "FAC" }); // diff --git a/APPL/Shared/Suggest/plaatsFilter.inc b/APPL/Shared/Suggest/plaatsFilter.inc index 90d8ae25e9..63210da6aa 100644 --- a/APPL/Shared/Suggest/plaatsFilter.inc +++ b/APPL/Shared/Suggest/plaatsFilter.inc @@ -124,6 +124,7 @@ function getFiltClauseLocatie(pfiltcode, params) + " WHERE ag.alg_gebouw_bez = 1" + " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC(SYSDATE))" + " AND ag.alg_locatie_key = l.alg_locatie_key)"; + lfiltClause.where += lfiltClauseFAC; break; case "FAC": // Facilitaire locaties, met een niet-passief gebouw of terrein @@ -201,7 +202,10 @@ function getFiltClauseLocatie(pfiltcode, params) + " AND g.alg_locatie_key = l.alg_locatie_key" + ")"; lfiltClause.where += lfiltClauseFAC; // Ook dat nog + break; + case "INCVR": // include virtual rooms, default these are NOT included + lfiltClause.where = lfiltClauseFAC; break; } }