UWVA#13273

svn path=/Database/trunk/; revision=9658
This commit is contained in:
Peter Feij
2007-12-21 12:36:42 +00:00
parent 6b7b41432e
commit 104d3d986b
7 changed files with 219 additions and 268 deletions

View File

@@ -8,164 +8,9 @@
_FAC_MODULE('ALG','Vastgoedbeheer')
#ifdef DATA
#ifdef AKZ
/* DIT - systeemkenmerk 1 */
INSERT INTO alg_kenmerk
(alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype,
alg_kenmerk_systeem, alg_kenmerk_lengte)
VALUES(1,'G','Internal order nr.', 'C', 1, 6);
commit;
/* DIT - systeemkenmerk 2 */
INSERT INTO fac_usrtab
(fac_usrtab_naam, fac_usrtab_object,fac_usrtab_omschrijving, fac_usrtab_view)
VALUES ('Vloersoort','USR_VLOERSOORT',' Soort vloer', 'T');
commit;
INSERT INTO alg_refkenmerk
(alg_refkenmerk_omschrijving, alg_refkenmerk_objectnaam,
alg_refkenmerk_kolomnaam, alg_refkenmerk_kolomtxt, fac_usrtab_key)
SELECT 'Soort vloer', 'FAC_USRDATA', 'FAC_USRDATA_KEY', 'FAC_USRDATA_OMSCHR', fac_usrtab_key
FROM fac_usrtab WHERE SUBSTR(UPPER(fac_usrtab_object),1,20) = SUBSTR(UPPER('USR_VLOERSOORT'), 1, 20);
commit;
INSERT INTO alg_kenmerk
(alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype,
alg_kenmerk_systeem,alg_refkenmerk_key)
SELECT 2,'R','Soort vloer', 'R', 1, alg_refkenmerk_key
FROM alg_refkenmerk WHERE SUBSTR(UPPER(alg_refkenmerk_omschrijving),1,50) = SUBSTR(UPPER('SOORT VLOER'), 1, 50);
commit;
#endif // AKZ
/* DIT - systeemkenmerk 3 */
INSERT INTO alg_kenmerk
(alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype,
alg_kenmerk_systeem)
VALUES(3,'R','Afbeelding', 'X', 1);
commit;
#ifdef IBG
/* DIT - systeemkenmerk 2 */
INSERT INTO fac_usrtab
(fac_usrtab_naam, fac_usrtab_object,fac_usrtab_omschrijving, fac_usrtab_view)
VALUES ('Vloersoort','USR_VLOERSOORT',' Soort vloer', 'T');
commit;
INSERT INTO alg_refkenmerk
(alg_refkenmerk_omschrijving, alg_refkenmerk_objectnaam,
alg_refkenmerk_kolomnaam, alg_refkenmerk_kolomtxt, fac_usrtab_key)
SELECT 'Soort vloer', 'FAC_USRDATA', 'FAC_USRDATA_KEY', 'FAC_USRDATA_OMSCHR', fac_usrtab_key
FROM fac_usrtab WHERE SUBSTR(UPPER(fac_usrtab_object),1,20) = SUBSTR(UPPER('USR_VLOERSOORT'), 1, 20);
commit;
INSERT INTO alg_kenmerk
(alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_omschrijving,alg_kenmerk_kenmerktype,
alg_kenmerk_systeem,alg_refkenmerk_key)
SELECT 2,'R','Soort vloer', 'R', 1, alg_refkenmerk_key
FROM alg_refkenmerk WHERE SUBSTR(UPPER(alg_refkenmerk_omschrijving),1,50) = SUBSTR(UPPER('SOORT VLOER'), 1, 50);
commit;
/* 20-08-97/KTH LOG#1434: Voor IBG de Ruimtesoorten voordefinieren */
DELETE FROM alg_srtruimte;
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Accuruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Aircoruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Archiefruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Berging rijwielen/bromfietsen');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Bibliotheek');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Brandslanghaspelkast');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Buffet');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('BZB-ruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('CV-ruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Computerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Concierge');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Containerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Couverteerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Doucheruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Filterruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Gang/portaal');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Garderobe');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hal');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Hydrofoorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Input');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Installatieruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Instructieruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantine');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kantoorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kast');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ketelhuis');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Keuken');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kleedruimte heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Kluis');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koekoek');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koelmachineruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Koeltoren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Laagspanningsruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Leidingen');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lift');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Liftmachinekamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Lorrie');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Luchtbehandelingsruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Magazijn');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast elektra');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast gas');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Meterkast ptt');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Noodstroomaggregaat');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onbekend');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderhoud');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Onderzoekruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Operatorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Opslagruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Output');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Patio');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Pauzeruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portaal');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Portier');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Postkamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Printerruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Provisieruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Rekencentrum');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Reproruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schacht');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Schakelruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Snijkamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spoelkeuken');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Spreekkamer');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Tekenruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Technischeruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toilet invaliden');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Urinoir');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte dames');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Toiletvoorruimte heren');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Traforuimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Trappenhuis');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Uitgifte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Ventilatorruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vergaderruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Verkeersruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Vouwruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Wachtruimte');
INSERT INTO alg_srtruimte(alg_srtruimte_omschrijving) VALUES('Werkkast');
COMMIT;
#endif // IBG
#endif // DATA
DEF_FAC_MESSAGE ('ALG_OPENST_MELDING', 'heeft openstaande melding', '');
DEF_FAC_MESSAGE ('ALG_BEVAT_OBJECT', 'bevat object', '');
DEF_FAC_MESSAGE ('ALG_OPENST_RES', 'heeft niet-verwerkte ruimtereservering', '');
DEF_FAC_MESSAGE ('ALG_OPENST_RES_V', 'heet niet-verwerkte voorzieningsreservering', '');
DEF_FAC_MESSAGE ('ALG_TOEK_AFSPRAAK', 'heeft toekomstige afspraak', '');
DEF_FAC_MESSAGE ('ALG_OPEN_CONTRACT', 'heeft lopend contract', '');

View File

@@ -1057,3 +1057,125 @@ AS
ar.alg_ruimte_nr,
ar.alg_ruimte_bruto_vloeropp;
// View die de verplichtingen op een gebouw weergeeft
// Verplichtingen worden gedefinieerd als relaties die het ontmantelen,
// d.i. het zetten van alg_gebouw_verwijder, kunnen beletten
// of althans daar een rol in spelen; moeten weggemanged worden
CREATE OR REPLACE VIEW alg_v_gebouw_verplichting (alg_gebouw_key, fac_message_code, item, item_key, locatie_key)
AS
/* open meldingen op een plaats binnen dit gebouw */
SELECT m.mld_alg_onroerendgoed_keys, 'ALG_OPENST_MELDING',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_ins_discipline_key = ID.ins_discipline_key)
|| TO_CHAR (m.mld_melding_key),
m.mld_melding_key, m.mld_alg_locatie_key
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7) AND m.mld_alg_onroerendgoed_keys <> 0
UNION
/* facilitaire objecten met een plaats binnen dit gebouw */
SELECT og.alg_gebouw_key, 'ALG_BEVAT_OBJECT', ins_deel_omschrijving, ins_deel_key, d.ins_alg_locatie_key
FROM ins_v_aanwezigdeel d, ins_tab_discipline ID, alg_v_allonroerendgoed og
WHERE d.ins_alg_ruimte_key = og.alg_onroerendgoed_keys
AND ID.ins_discipline_key = d.ins_discipline_key
AND ID.ins_discipline_min_level <> 3
UNION
/* niet-verwerkte reserveringen van een ruimte binnen dit gebouw */
SELECT rg.alg_gebouw_key, 'ALG_OPENST_RES', TO_CHAR (r.res_reservering_key) || ' (' || COUNT (*)||')',
r.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_v_alg_ruimte_gegevens rg
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_gebouw_key, 'PRS_OPENST_RES', r.res_reservering_key, rg.alg_locatie_key
UNION
/* niet-verwerkte reserveringen van een object in dit gebouw; doubleert met objecten zelf */
SELECT rg.alg_gebouw_key, 'ALG_OPENST_RES_V', TO_CHAR (rr.res_reservering_key) || ' (' || COUNT (*) ||')',
rr.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigrsv_deel rd, alg_v_allonroerendgoed rg, res_rsv_ruimte rr, ins_deel d, res_deel rrd
WHERE d.ins_alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_deel_key = rrd.res_deel_key
AND rd.res_status_bo_key IN (4, 3, 2, 7)
AND d.ins_deel_key = rrd.res_ins_deel_key
GROUP BY rg.alg_gebouw_key, 'ALG_OPENST_RES_V', rr.res_reservering_key, rg.alg_locatie_key
UNION
/* toekomstig bezoek van dit gebouw */
SELECT og.alg_gebouw_key, 'ALG_TOEK_AFSPRAAK', TO_CHAR(a.bez_afspraak_key)||' ('||TO_CHAR (a.bez_afspraak_datum, 'DD-MM-YYYY')||')', a.bez_afspraak_key, a.alg_locatie_key
FROM bez_afspraak a, alg_v_allonroerendgoed og
WHERE a.alg_onrgoed_keys = og.alg_onroerendgoed_keys AND a.bez_afspraak_datum > SYSDATE
UNION
/* contracten over dit gebouw */
SELECT alg_gebouw_key, 'ALG_OPEN_CONTRACT', TO_CHAR (cp.cnt_contract_key), cp.cnt_contract_key, og.alg_locatie_key
FROM cnt_v_aanwezigcontract_plaats cp, alg_v_allonroerendgoed og, cnt_contract c
WHERE c.cnt_contract_key=cp.cnt_contract_key
AND c.cnt_contract_looptijd_tot > SYSDATE
AND cp.cnt_alg_plaats_key = og.alg_onroerendgoed_keys;
/* En deze ten behoeve van de gebruikersrapportage */
CREATE OR REPLACE VIEW alg_v_rap_gebouw_verplichting (fclt_f_gebouwcode, fclt_f_verplichting, item, fclt_3d_locatie_key)
AS
SELECT g.alg_gebouw_code, COALESCE (t.fac_message_text, v.fac_message_code), v.item, v.locatie_key
FROM alg_v_gebouw_verplichting v, alg_gebouw g, fac_message t
WHERE g.alg_gebouw_key = v.alg_gebouw_key AND v.fac_message_code = t.fac_message_code(+);
// View die de verplichtingen op een ruimte weergeeft; conceptversie
CREATE OR REPLACE VIEW alg_v_ruimte_verplichting
(alg_ruimte_key, fac_message_code, item, item_key, locatie_key)
AS
SELECT m.mld_alg_onroerendgoed_keys, 'ALG_OPENST_MELDING',
(SELECT isd.ins_srtdiscipline_prefix
FROM ins_srtdiscipline isd, ins_tab_discipline ID
WHERE ID.ins_srtdiscipline_key = isd.ins_srtdiscipline_key
AND m.mld_ins_discipline_key = ID.ins_discipline_key)
|| TO_CHAR (m.mld_melding_key),
m.mld_melding_key, m.mld_alg_locatie_key
FROM mld_melding m
WHERE m.mld_melding_status IN (2, 3, 4, 7) AND m.mld_alg_onroerendgoed_keys <> 0
UNION
SELECT ins_alg_ruimte_key, 'ALG_BEZIT_OBJECT', ins_deel_omschrijving, ins_deel_key, d.ins_alg_locatie_key
FROM ins_v_aanwezigdeel d, ins_tab_discipline ID
WHERE d.ins_alg_ruimte_type = 'R'
AND ID.ins_discipline_key = d.ins_discipline_key
AND ID.ins_discipline_min_level <> 3
UNION
SELECT rg.alg_ruimte_key, 'ALG_OPENST_RES_R', TO_CHAR (r.res_reservering_key) || '/' || COUNT (*),
r.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigreservering r,
res_v_aanwezigrsv_ruimte rr,
res_ruimte_opstelling ro,
res_v_alg_ruimte_gegevens rg
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key
AND ro.res_ruimte_key = rg.res_ruimte_key
AND rr.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_ruimte_key, 'PRS_OPENST_RES_R', r.res_reservering_key, rg.alg_locatie_key
UNION
SELECT rg.alg_ruimte_key, 'ALG_OPENST_RES_V', TO_CHAR (r.res_reservering_key) || '/' || COUNT (*),
r.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_deel rd, res_v_alg_ruimte_gegevens rg, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = rd.res_rsv_ruimte_key
AND rd.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_ruimte_key, 'ALG_OPENST_RES_V', r.res_reservering_key, rg.alg_locatie_key
UNION
SELECT rg.alg_ruimte_key, 'ALG_OPENST_RES_C', TO_CHAR (r.res_reservering_key) || '/' || COUNT (*),
r.res_reservering_key, rg.alg_locatie_key
FROM res_v_aanwezigreservering r, res_v_aanwezigrsv_artikel ra, res_v_alg_ruimte_gegevens rg, res_rsv_ruimte rr
WHERE r.res_reservering_key = rr.res_reservering_key
AND rr.alg_ruimte_key = rg.alg_ruimte_key
AND rr.res_rsv_ruimte_key = ra.res_rsv_ruimte_key
AND ra.res_status_bo_key IN (4, 3, 2)
GROUP BY rg.alg_ruimte_key, 'ALG_OPENST_RES_C', r.res_reservering_key, rg.alg_locatie_key
UNION
SELECT a.alg_onrgoed_keys, 'ALG_TOEK_AFSPRAAK', TO_CHAR (a.bez_afspraak_datum), a.bez_afspraak_key, a.alg_locatie_key
FROM bez_afspraak a
WHERE a.bez_afspraak_datum > SYSDATE;
/

View File

@@ -1,7 +1,7 @@
#ifdef BEZ // 03-11-2000 PF
/* $Revision: 24 $
* $Modtime: 10-12-07 10:18 $
/* $Revision: 25 $
* $Modtime: 20-12-07 13:54 $
*/
#include "comsql.h"
@@ -49,14 +49,30 @@ BEGIN
(select SUBSTRING(alg_plaatsaanduiding,1,30) FROM alg_v_plaatsaanduiding_all WHERE alg_onroerendgoed_keys=:new.alg_onrgoed_keys)
where bez_afspraak_key = @new__bez_afspraak_key;
#else
SELECT SUBSTR(alg_plaatsaanduiding,1,30)
INTO :new.bez_afspraak_ruimte FROM alg_v_plaatsaanduiding_all
WHERE alg_onroerendgoed_keys=:new.alg_onrgoed_keys AND alg_onroerendgoed_type<> 'L';
BEGIN
SELECT SUBSTR (alg_plaatsaanduiding, 1, 30)
INTO :NEW.bez_afspraak_ruimte
FROM alg_v_plaatsaanduiding_all
WHERE alg_onroerendgoed_keys = :NEW.alg_onrgoed_keys AND alg_onroerendgoed_type <> 'L';
EXCEPTION
WHEN OTHERS
THEN
:NEW.bez_afspraak_ruimte := SUBSTR ('*' || :NEW.bez_afspraak_ruimte, 1, 30);
END;
#endif
END IF;
END;
/
CREATE_TRIGGER(bez_t_bez_afspraak_d)
AFTER DELETE
ON bez_afspraak
FOR EACH ROW
BEGIN
DELETE FROM bez_bezoekers WHERE bez_afspraak_key=:OLD.bez_afspraak_key;
END;
/
CREATE_TRIGGER(bez_t_bez_bezoekers_B_IU)
BEFORE INSERT OR UPDATE ON bez_bezoekers
FOR EACH ROW

View File

@@ -1,8 +1,8 @@
/* CREA_TRI.SRC maakt de triggers aan voor INS */
/*
* $Revision: 51 $
* $Modtime: 7-06-07 14:14 $
* $Revision: 52 $
* $Modtime: 21-12-07 13:02 $
*/
#include "comsql.h"
@@ -93,8 +93,6 @@ BEGIN
UPDATE_PRIMARY_KEY(ins_deel_key,ins_s_ins_inst_keys);
UPDATE_UPPER(ins_deel_omschrijving,ins_deel_upper,ins_deel);
CHECK_NOG_REFERENCES(ins_deel, ins_deel_verwijder, res_v_aanwezigins_deel,
ins_deel_key, 'res_m037');
IF :new.ins_deel_verwijder IS NOT NULL AND :old.ins_deel_verwijder IS NULL THEN
DECLARE
dummy CHAR;
@@ -110,22 +108,16 @@ BEGIN
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000, 'cnt_m030');
END;
END IF;
IF :new.ins_deel_parent_key IS NULL
THEN
#ifdef MS_SQL
exec fac_p_fac_save_restore.SavePrimaryKeyAndDate 'INS_DEEL_VERWIJDER', :new.ins_deel_key, :old.ins_deel_verwijder;
#else
DECLARE
Dummy BOOLEAN;
BEGIN
Dummy := fac_p_fac_save_restore.SavePrimaryKeyAndDate('INS_DEEL_VERWIJDER', :new.ins_deel_key, :old.ins_deel_verwijder);
END;
#endif
END IF;
IF :new.ins_deel_parent_key IS NULL
THEN
DECLARE
Dummy BOOLEAN;
BEGIN
Dummy := fac_p_fac_save_restore.SavePrimaryKeyAndDate('INS_DEEL_VERWIJDER', :new.ins_deel_key, :old.ins_deel_verwijder);
END;
END IF;
IF :new.ins_deel_verwijder IS NOT NULL AND :old.ins_deel_verwijder IS NULL
THEN
DECLARE
dummy CHAR;
lCount NUMBER;
@@ -136,28 +128,16 @@ BEGIN
FROM mld_v_aanwezigmelding_object O, mld_melding M
WHERE O.ins_deel_key = :old.ins_deel_key
AND O.mld_melding_key = M.mld_melding_key
AND EXISTS
(SELECT '' FROM mld_melding
WHERE mld_melding_afgemeld IS NULL
AND mld_melding_verwerkt IS NULL
AND mld_melding_key = M.mld_melding_key
#ifdef MS_SQL
)and not exists(
#else
MINUS
#endif
SELECT '' FROM mld_melding
WHERE mld_melding_afgewezen IS NOT NULL
AND mld_melding_key = M.mld_melding_key);
IF lCount > 0 THEN
AND M.mld_melding_status IN (2,3,4,7);
IF lCount > 0 THEN
APPLICATION_ERROR_GOTO(-20000,'ins_m202');
ELSE
#ifdef MS_SQL
exec fac_p_fac_save_restore.SavePrimaryKey 'INS_DEEL_ONTKOPPEL', :new.ins_deel_key;
#else
Dummy1 := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_ONTKOPPEL', :new.ins_deel_key);
#endif
END IF;
UPDATE res_deel SET res_deel_verwijder = :new.ins_deel_verwijder
WHERE res_ins_deel_key=:new.ins_deel_key
AND res_deel_verwijder IS NULL;
END;
END IF;
@@ -180,6 +160,9 @@ BEGIN
END IF;
-- Zoek de (redundante) alg_locatie_key erbij indien verplaatst.
-- Echter NIET voor persoonsgebonden objecten !!!
-- Soms kan de querie niet worden uitgevoerd omdat bovenliggende tabellen in bewerking zijn
-- dan: ORA - 04091: table X is mutating, trigger/function may not see it
-- dan blijft de locatie ongewijzigd (dikke kans)
IF :old.ins_alg_ruimte_key IS NULL
OR :old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :new.ins_alg_locatie_key IS NULL
@@ -195,21 +178,22 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND
THEN :new.ins_alg_locatie_key := NULL;
WHEN OTHERS
THEN NULL;
END;
END IF;
END IF;
/* Bij INS_DEEL in INS-mode moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte of terreinsector.
/* Bij INS_DEEL moet INS_ALG_RUIMTE_KEY ingevuld zijn
* en wel met ruimte, werkplek of terreinsector, afdeling of persoon
* Daarvoor moet ook het INS_ALG_RUIMTE_TYPE veld goed ingevuld zijn
* (met 'W', 'R' of 'T' of 'A' of 'P').
* Dit geldt als INS_ALG_RUIMTE_KEY veranderd is of als er een
* nieuw record geinsert wordt.
*/
IF :new.ins_deel_module = 'INS'
AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key
OR :old.ins_alg_ruimte_key IS NULL)
IF :new.ins_deel_verwijder IS NULL
AND (:old.ins_alg_ruimte_key <> :new.ins_alg_ruimte_key OR :old.ins_alg_ruimte_key IS NULL)
THEN
IF :new.ins_alg_ruimte_type = 'W' /* 990218/BIV - #2251 - Deel kan ook op werkplek worden geplaatst */
IF :new.ins_alg_ruimte_type = 'W'
THEN
CHECK_KEY_REFERENCE(prs_v_aanwezigwerkplek , prs_werkplek_key , :new.ins_alg_ruimte_key, 'ins_m174');
ELSIF :new.ins_alg_ruimte_type = 'R'
@@ -234,18 +218,11 @@ BEGIN
IF :old.ins_deel_aanmaak IS NOT NULL
AND :new.ins_deel_parent_key IS NULL
THEN
#ifdef MS_SQL
exec fac_p_fac_save_restore.SavePrimaryKey 'INS_DEEL_CASCADE', :new.ins_deel_key;
#else
Dummy := fac_p_fac_save_restore.SavePrimaryKey('INS_DEEL_CASCADE', :new.ins_deel_key);
#endif
END IF;
END;
END IF;
UPDATE_AANMAAKDATUM(ins_deel, ins_deel_aanmaak);
#ifdef MS_SQL
lerror:
#endif
END;
/

View File

@@ -1,7 +1,7 @@
/* CREA_TRI.SRC maakt de triggers aan voor PRS */
/* $Revision: 65 $
* $Modtime: 2-12-06 8:55 $
/* $Revision: 66 $
* $Modtime: 19-12-07 18:21 $
*/
#include "comsql.h"
@@ -217,13 +217,18 @@ BEFORE INSERT OR UPDATE ON prs_werkplek
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(prs_werkplek_key, prs_s_prs_werkplek_key);
/* Een werkplek mag niet verwijderd worden als er nog personen
* aan gekoppeld zijn.
*/
/* werkplek weg = bezetting weg */
SET_VERWIJDER_CHILDREN(prs_perslidwerkplek, prs_werkplek_key, prs_werkplek_verwijder, prs_perslidwerkplek_verwijder,prs_werkplek);
UPDATE_AANMAAKDATUM(prs_werkplek, prs_werkplek_aanmaak);
SET_VERWIJDER_CHILDREN_DEELWP(ins_deel, prs_werkplek_key, prs_werkplek_verwijder, NULL,
ins_deel_verwijder, ins_alg_ruimte_key, NULL);
IF :NEW.prs_werkplek_verwijder IS NOT NULL AND :OLD.prs_werkplek_verwijder IS NULL
THEN
UPDATE ins_deel
SET ins_alg_ruimte_type = 'R',
ins_alg_ruimte_key = :new.prs_alg_ruimte_key
WHERE ins_deel.ins_alg_ruimte_key = :NEW.prs_werkplek_key
AND ins_deel.ins_alg_ruimte_type = 'W'
AND ins_deel.ins_deel_verwijder IS NULL;
END IF;
END;
/

View File

@@ -1,7 +1,7 @@
#ifdef RES
/*
* $Revision: 84 $
* $Modtime: 26-03-07 17:31 $
* $Revision: 85 $
* $Modtime: 21-12-07 13:18 $
*/
#include "comsql.h"
@@ -60,30 +60,7 @@ BEFORE INSERT OR UPDATE ON res_alg_ruimte
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(res_alg_ruimte_key, res_s_alg_ruimte_key);
IF :NEW.res_alg_ruimte_verwijder IS NOT NULL AND :OLD.res_alg_ruimte_verwijder IS NULL
THEN
DECLARE
cntafspr NUMBER;
BEGIN
SELECT COUNT (*)
INTO cntafspr
FROM bez_afspraak ba
WHERE ba.res_rsv_ruimte_key IN (
SELECT rrr.res_rsv_ruimte_key
FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro
WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key
AND rro.res_ruimte_key = :NEW.res_ruimte_key
AND ba.alg_onrgoed_keys = :OLD.alg_ruimte_key
AND ba.bez_afspraak_datum > SYSDATE);
IF cntafspr > 0
THEN
raise_application_error (-20000,
'res_m583 Er zijn nog toekomstige afspraken die naar deze ruimte verwijzen.'
);
END IF;
END;
END IF;
/* Het is niet aan deze tabel om afspraken te controleren */
IF :NEW.alg_ruimte_key <> :OLD.alg_ruimte_key
THEN
UPDATE bez_afspraak ba
@@ -127,23 +104,23 @@ FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(res_deel_key, res_s_res_deel_key);
UPDATE_AANMAAKDATUM(res_deel, res_deel_aanmaak);
IF :new.res_deel_verwijder IS NOT NULL AND :old.res_deel_verwijder IS NULL
IF :NEW.res_deel_verwijder IS NOT NULL AND :OLD.res_deel_verwijder IS NULL
THEN
DECLARE
lCount NUMBER;
DECLARE
dummy NUMBER;
BEGIN
-- Een res_deel mag niet inactief worden als er nog *openstaande* reserveringen zijn.
SELECT COUNT(*)
INTO lCount
FROM res_v_aanwezigrsv_deel rs
WHERE rs.res_deel_key = :old.res_deel_key
AND rs.res_status_bo_key IN (2,3,4,7);
IF lCount > 0 THEN
APPLICATION_ERROR_GOTO(-20000,'res_m034');
END IF;
END;
END IF;
-- Een res_deel mag niet inactief worden als er nog *openstaande* reserveringen zijn.
SELECT ''
INTO dummy
FROM res_v_aanwezigrsv_deel rs
WHERE rs.res_deel_key = :OLD.res_deel_key AND rs.res_status_bo_key IN (2, 3, 4, 7);
raise_application_error (-20000, 'res_m034');
EXCEPTION
WHEN NO_DATA_FOUND THEN NULL;
WHEN TOO_MANY_ROWS THEN raise_application_error(-20000,'res_m034');
END;
END IF;
#ifdef MS_SQL
lerror:
#endif

View File

@@ -1,5 +1,5 @@
--
-- Update script van Facilitor versie 4.71.3 naar 4.80 $Revision: 28 $
-- Update script van Facilitor versie 4.71.3 naar 4.80 $Revision: 29 $
--
/*
* This script is to be precompiled.
@@ -35,8 +35,8 @@ PROMPT versie voor MS SQL Server
#else
PROMPT versie voor Oracle
#endif
PROMPT $Revision: 28 $
PROMPT $Modtime: 18-12-07 17:04 $
PROMPT $Revision: 29 $
PROMPT $Modtime: 21-12-07 14:38 $
PROMPT Copyright 1996-2007 Dijkoraad IT bv/Facilitor Software Nederland bv
PROMPT
SELECT 'De huidige versie van Facilitor/' || USER || ' is: ' || fac_module_version
@@ -340,6 +340,15 @@ ALTER TABLE mld_opdr
ALTER TABLE fac_srtnotificatie ADD fac_srtnotificatie_usermode NUMBER(1);
ALTER TABLE prs_perslid ADD prs_perslid_srtnoti_mode NUMBER(3);
///////////////////////////////////////////////////////////////////////////////////////////////// UWVA#13273
DEF_FAC_MESSAGE ('ALG_OPENST_MELDING', 'heeft openstaande melding', '');
DEF_FAC_MESSAGE ('ALG_BEVAT_OBJECT', 'bevat object', '');
DEF_FAC_MESSAGE ('ALG_OPENST_RES', 'heeft niet-verwerkte ruimtereservering', '');
DEF_FAC_MESSAGE ('ALG_OPENST_RES_V', 'heet niet-verwerkte voorzieningsreservering', '');
DEF_FAC_MESSAGE ('ALG_TOEK_AFSPRAAK', 'heeft toekomstige afspraak', '');
DEF_FAC_MESSAGE ('ALG_OPEN_CONTRACT', 'heeft lopend contract', '');
////////////////////////////////////////////// SOME GENERAL CLEANUP /////////////////////////////
//////////////////////////////////// approved by the Facilitor release manager //////////////////
@@ -361,11 +370,11 @@ ALTER TABLE prs_perslid ADD prs_perslid_srtnoti_mode NUMBER(3);
UPDATE_VERSION(_VERSION);
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Facilitor '||_VERSION||'$Revision: 28 $'
SET FAC_MESSAGE_TEXT = 'Facilitor '||_VERSION||'$Revision: 29 $'
WHERE FAC_MESSAGE_CODE = 'FAC_M002';
UPDATE FAC_MESSAGE
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor '||_VERSION||'$Revision: 28 $'
SET FAC_MESSAGE_TEXT = 'Welkom bij Facilitor '||_VERSION||'$Revision: 29 $'
WHERE FAC_MESSAGE_CODE = 'FAC_M035';
COMMIT;