diff --git a/NYBU/nybu.sql b/NYBU/nybu.sql index 3036f34a2..6bd7d4f6f 100644 --- a/NYBU/nybu.sql +++ b/NYBU/nybu.sql @@ -41,6 +41,11 @@ AS PROCEDURE upsertkenmerk_res (p_kenmerk_key IN NUMBER, p_rsv_ruimte_key IN NUMBER, p_waarde IN VARCHAR2); + + PROCEDURE nybu_rap_planbord (user_key IN NUMBER, + p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006' + p_datum_tot IN VARCHAR2, + p_cursor OUT t_cursor); END nybu; / @@ -298,6 +303,209 @@ AS END IF; END IF; END; + + PROCEDURE nybu_rap_planbord (user_key IN NUMBER, + p_datum_van IN VARCHAR2, -- Let wel: formaat '16-01-2006' + p_datum_tot IN VARCHAR2, + p_cursor OUT t_cursor) + AS + v_datum_van DATE; + v_datum_tot DATE; + BEGIN + v_datum_van := fac.safe_to_date (p_datum_van, 'dd-mm-yyyy'); + v_datum_tot := fac.safe_to_date (p_datum_tot, 'dd-mm-yyyy'); + + OPEN p_cursor FOR + SELECT rg.alg_ruimte_nr + hide_f_sort, + rg.alg_gebouw_omschrijving + fclt_f_gebouw, + rg.alg_verdieping_code + fclt_f_verdieping, + rg.alg_ruimte_nr + fclt_x_kamer, + '' + || HTF.escape_sc (rg.alg_ruimte_nr) + || '' + html_kamer, + r.alg_ruimte_omschrijving, + rg.alg_srtruimte_omschrijving + fclt_f_type, + rg.alg_ruimte_bruto_vloeropp, + zijde.zijde, + vloerafw.vloerafwerking, + sloped_ceiling.fac_usrdata_omschr + sloped_ceiling, + vrij_sinds.vrij_sinds, + bezet_vanaf.bezet_vanaf, + fac.safe_to_date (ooo.alg_onrgoedkenmerk_waarde, + 'DD-MM-YYYY') + out_of_order_tot, + max_prs.max_prs, + COUNT (contr.prs_perslid_key) + aant_act_huurders, + LISTAGG (contr.prs_afdeling_omschrijving, ', ') + WITHIN GROUP (ORDER BY prs_afdeling_key) + lichting, + SUM (contr.man) + aant_man, + SUM (contr.vrouw) + aant_vrouw, + max_prs.max_prs - COUNT (contr.prs_perslid_key) + aant_over + FROM alg_ruimte r, + alg_v_ruimte_gegevens_all rg, + alg_srtruimte sr, + (SELECT alg_onrgoed_key, ud.fac_usrdata_omschr zijde + FROM alg_onrgoedkenmerk ogk, + alg_kenmerk k, + fac_usrdata ud + WHERE ogk.alg_kenmerk_key = k.alg_kenmerk_key + AND alg_onrgoed_niveau = 'R' + AND k.alg_kenmerk_key = 1080 + AND ud.fac_usrtab_key = 281 + AND alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key) + zijde, + (SELECT alg_onrgoed_key, + ud.fac_usrdata_omschr vloerafwerking + FROM alg_onrgoedkenmerk ogk, + alg_kenmerk k, + fac_usrdata ud + WHERE ogk.alg_kenmerk_key = k.alg_kenmerk_key + AND alg_onrgoed_niveau = 'R' + AND k.alg_kenmerk_key = 2 + AND ud.fac_usrtab_key = 201 + AND alg_onrgoedkenmerk_waarde = ud.fac_usrdata_key) + vloerafw, + (SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde max_prs + FROM alg_onrgoedkenmerk ogk, alg_kenmerk k + WHERE ogk.alg_kenmerk_key = k.alg_kenmerk_key + AND alg_onrgoed_niveau = 'R' + AND k.alg_kenmerk_key = 1120) max_prs, + (SELECT * + FROM alg_onrgoedkenmerk + WHERE alg_kenmerk_key = 1100 + AND alg_onrgoedkenmerk_verwijder IS NULL) ooo, + (SELECT contr.cnt_contract_key, + contr.cnt_contract_nr_versie, + contr.cnt_contract_status, + contr.cnt_contract_looptijd_van, + contr.cnt_contract_looptijd_tot, + contr.prs_perslid_key, + contr.alg_ruimte_key, + man.man, + vrouw.vrouw, + a.PRS_AFDELING_KEY, + a.prs_afdeling_omschrijving + FROM nybu_v_huurcnt_student_all contr, + prs_perslid p, + prs_afdeling a, + (SELECT prs_perslid_key, prs_perslid_geslacht man + FROM prs_perslid p + WHERE prs_perslid_geslacht = 1) man, + (SELECT prs_perslid_key, + DECODE (prs_perslid_geslacht, 0, 1, 0) vrouw + FROM prs_perslid p + WHERE prs_perslid_geslacht = 0) vrouw + WHERE contr.prs_perslid_key = man.prs_perslid_key(+) + AND contr.prs_perslid_key = + vrouw.prs_perslid_key(+) + AND contr.prs_perslid_key = p.prs_perslid_key + AND p.prs_afdeling_key = a.prs_afdeling_key + AND contr.cnt_contract_looptijd_van <= v_datum_tot + AND contr.cnt_contract_looptijd_tot >= v_datum_van) + contr, + (SELECT ok.*, fac_usrdata_omschr + FROM alg_onrgoedkenmerk ok, + alg_kenmerk km, + fac_usrdata ud + WHERE km.alg_kenmerk_key = 1020 + AND ok.alg_kenmerk_key = km.alg_kenmerk_key + AND fac_usrdata_key = alg_onrgoedkenmerk_waarde + AND alg_onrgoedkenmerk_verwijder IS NULL) + sloped_ceiling, + ( SELECT MAX (cnt_contract_looptijd_tot) vrij_sinds, + r.alg_ruimte_key + FROM cnt_contract c, + cnt_kenmerkcontract kc, + alg_ruimte r + WHERE c.ins_discipline_key = 55 + AND c.cnt_contract_looptijd_tot < v_datum_van + AND kc.cnt_contract_key = c.cnt_contract_key + AND kc.cnt_kenmerk_key = 1 + AND fac.safe_to_number ( + kc.cnt_kenmerkcontract_waarde) = + r.alg_ruimte_key + AND NOT EXISTS + (SELECT 1 + FROM cnt_contract c, + cnt_kenmerkcontract kc + WHERE c.ins_discipline_key = 55 + AND c.cnt_contract_looptijd_tot >= + v_datum_van + AND c.cnt_contract_looptijd_van <= + v_datum_tot + AND kc.cnt_contract_key = + c.cnt_contract_key + AND kc.cnt_kenmerk_key = 1 + AND c.cnt_contract_verwijder + IS NULL + AND fac.safe_to_number ( + kc.cnt_kenmerkcontract_waarde) = + r.alg_ruimte_key) + GROUP BY r.alg_ruimte_key) vrij_sinds, + ( SELECT MIN (cnt_contract_looptijd_van) bezet_vanaf, + r.alg_ruimte_key + FROM cnt_contract c, + cnt_kenmerkcontract kc, + alg_ruimte r + WHERE c.ins_discipline_key = 55 + AND c.cnt_contract_looptijd_van <= v_datum_tot + AND kc.cnt_contract_key = c.cnt_contract_key + AND kc.cnt_kenmerk_key = 1 + AND fac.safe_to_number ( + kc.cnt_kenmerkcontract_waarde) = + r.alg_ruimte_key + GROUP BY r.alg_ruimte_key) bezet_vanaf + WHERE r.alg_srtruimte_key = sr.alg_srtruimte_key(+) + AND r.alg_ruimte_key = max_prs.alg_onrgoed_key(+) + AND r.alg_ruimte_key = zijde.alg_onrgoed_key(+) + AND r.alg_ruimte_key = vloerafw.alg_onrgoed_key(+) + AND r.alg_ruimte_key = sloped_ceiling.alg_onrgoed_key(+) + AND r.alg_ruimte_key = ooo.alg_onrgoed_key(+) + AND r.alg_ruimte_key = vrij_sinds.alg_ruimte_key(+) + AND r.alg_ruimte_key = bezet_vanaf.alg_ruimte_key(+) + AND r.alg_ruimte_key = rg.alg_ruimte_key + AND r.alg_ruimte_key = contr.alg_ruimte_key(+) + AND sr.prs_verhuurbaar = '1' + AND sr.alg_srtruimte_upper LIKE 'TYPE%' + GROUP BY rg.alg_ruimte_nr, + rg.alg_gebouw_omschrijving, + rg.alg_verdieping_code, + rg.alg_ruimte_nr, + '' + || HTF.escape_sc (rg.alg_ruimte_nr) + || '', + r.alg_ruimte_omschrijving, + rg.alg_srtruimte_omschrijving, + rg.alg_ruimte_bruto_vloeropp, + zijde.zijde, + vloerafw.vloerafwerking, + sloped_ceiling.fac_usrdata_omschr, + vrij_sinds.vrij_sinds, + bezet_vanaf.bezet_vanaf, + fac.safe_to_date (ooo.alg_onrgoedkenmerk_waarde, + 'DD-MM-YYYY'), + max_prs.max_prs + ORDER BY rg.alg_gebouw_omschrijving, rg.alg_ruimte_nr; + END; + END nybu; /