agv mld_tri/mld_vie

svn path=/Database/trunk/; revision=7851
This commit is contained in:
Peter Feij
2001-08-30 08:00:06 +00:00
parent 4e1496bf42
commit fe16a8f18b

View File

@@ -39,7 +39,7 @@ PROMPT ***********************************************************************
PROMPT
PROMPT UPGRADE SCRIPT van Facilitor versie 04.12 naar 04.13
PROMPT
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.12 en is: '
SELECT 'De huidige versie van Facilitor zou moeten zijn 04.12 (evt. 04.13) en is: '
|| fac_module_version
FROM fac_module
WHERE fac_module_name='FAC';
@@ -200,6 +200,163 @@ CREATE_VIEW(prs_v_perslid_gegevens,PRS_NORMAAL_PRIVILEGE) AS
#ifdef MLD
// Status Uitgegeven(7) is nieuw
CREATE_TRIGGER(mld_t_mld_melding_B_IU)
BEFORE INSERT OR UPDATE ON mld_melding
FOR EACH ROW
BEGIN
UPDATE_PRIMARY_KEY(mld_melding_key, mld_s_mld_melding_key);
/* Vul het veld MLD_ALG_LOCATIE_KEY als de onroerendgoed_key wijzigd */
IF :old.mld_alg_onroerendgoed_keys IS NULL
OR :old.mld_alg_onroerendgoed_keys <> :new.mld_alg_onroerendgoed_keys
THEN
CHECK_REFERENCE_ONROERENDGOED(mld_alg_onroerendgoed_keys, 'alg_m090');
SELECT alg_locatie_key
INTO :new.mld_alg_locatie_key
FROM mld_v_onroerendgoed_locatie
WHERE alg_onroerendgoed_keys = :new.mld_alg_onroerendgoed_keys;
END IF;
IF :new.mld_melding_username IS NULL
THEN
SELECT USER
INTO :new.mld_melding_username
FROM DUAL;
END IF;
IF :new.prs_perslid_key IS NULL
THEN
raise_application_error(-20000, 'mld_m233');
END IF;
IF :new.prs_afdeling_key IS NULL
THEN
raise_application_error(-20000, 'mld_m234');
END IF;
IF :new.mld_melding_afgewezen IS NOT NULL
AND :new.mld_melding_geaccepteerd IS NOT NULL
THEN
raise_application_error(-20000, 'mld_m175');
END IF;
IF :new.mld_melding_geaccepteerd IS NOT NULL
AND :old.mld_melding_geaccepteerd IS NULL
AND :new.mld_melding_geaccepteerd_user IS NULL
THEN
SELECT USER
INTO :new.mld_melding_geaccepteerd_user
FROM DUAL;
END IF;
IF :new.mld_melding_verwerkt IS NOT NULL AND :old.mld_melding_verwerkt IS NULL THEN
-- De melding wordt nu verwerkt
IF :old.mld_melding_geaccepteerd IS NULL AND :old.mld_melding_afgemeld IS NULL THEN
raise_application_error(-20000, 'mld_m203');
ELSE
DECLARE
Dummy VARCHAR2(1);
BEGIN
SELECT 'X'
INTO Dummy
FROM mld_opdr MLD_O, mld_statusopdr MLD_SO
WHERE MLD_O.mld_statusopdr_key = MLD_SO.mld_statusopdr_key
AND (MLD_SO.mld_statusopdr_upper = 'MLD_UITGEGEVEN'
OR MLD_SO.mld_statusopdr_upper = 'MLD_AFGEMELD')
AND MLD_O.mld_melding_key = :new.mld_melding_key;
raise_application_error(-20000, 'mld_m192');
EXCEPTION
WHEN NO_DATA_FOUND
THEN NULL;
WHEN TOO_MANY_ROWS
THEN raise_application_error(-20000, 'mld_m192');
END;
END IF;
ELSIF :new.mld_melding_afgemeld IS NOT NULL AND :old.mld_melding_afgemeld IS NULL THEN
-- De melding wordt nu afgemeld
IF :old.mld_melding_geaccepteerd IS NULL THEN
raise_application_error(-20000, 'mld_m202');
ELSIF :old.mld_melding_verwerkt IS NOT NULL THEN
raise_application_error(-20000, 'mld_m195');
END IF;
END IF;
IF :new.mld_melding_uitvoertijd2 IS NULL
THEN
:new.mld_melding_uitvoertijd2 := :new.mld_melding_uitvoertijd;
END IF;
-- Update melding status
IF :new.MLD_MELDING_AFGEWEZEN is not null THEN :new.MLD_MELDING_STATUS := 1;
ELSIF :new.MLD_MELDING_VERWERKT is not null THEN :new.MLD_MELDING_STATUS := 6;
ELSIF :new.MLD_MELDING_AFGEMELD is not null THEN :new.MLD_MELDING_STATUS := 5;
ELSIF :new.MLD_MELDING_GEACCEPTEERD is not null THEN
DECLARE ord_num NUMBER;
BEGIN
SELECT count(*) INTO ord_num
FROM mld_opdr O
WHERE O.mld_melding_key = :new.mld_melding_key;
IF ord_num = 0 THEN
:new.MLD_MELDING_STATUS := 4;
ELSE
:new.MLD_MELDING_STATUS := 7;
END IF;
END;
ELSIF :new.MLD_MELDING_INGEZIEN is not null THEN :new.MLD_MELDING_STATUS := 3;
ELSE :new.MLD_MELDING_STATUS := 2;
END IF;
END;
/
INSERT INTO mld_statuses VALUES ( 7, 'Uitgegeven' );
UPDATE mld_melding SET mld_melding_key=mld_melding_key;
COMMIT;
CREATE_VIEW(mld_v_melding_status_gegevens,MLD_NORMAAL_PRIVILEGE) AS
SELECT M.mld_melding_key,
M.mld_melding_status,
S.mld_statuses_omschrijving,
DECODE(mld_melding_status,
1,mld_melding_afgewezen,
2,mld_melding_datum,
3,mld_melding_ingezien,
4,mld_melding_geaccepteerd,
5,mld_melding_afgemeld,
6,mld_melding_verwerkt,
7,mld_melding_geaccepteerd,
NULL) mld_melding_lastdate,
M.mld_melding_datum,
'['||MD.ins_discipline_omschrijving||'/'||SM.mld_stdmelding_omschrijving||'] '||m.mld_melding_omschrijving mld_melding_omschrijving,
AF.prs_afdeling_key,AF.prs_afdeling_omschrijving,
P.prs_perslid_key,P.prs_perslid_naam,
M.mld_alg_onroerendgoed_keys,
L.alg_locatie_code||
DECODE(G.alg_gebouw_code,NULL,'',' - '||G.alg_gebouw_code)||
DECODE(G.alg_verdieping_volgnr,NULL,'',' - '||G.alg_verdieping_volgnr)||
DECODE(G.alg_ruimte_nr,NULL,'',' - '||G.alg_ruimte_nr)||
DECODE(G.alg_terreinsector_code,NULL,'',' - '||G.alg_terreinsector_code) alg_plaats_omschrijving,
M.mld_stdmelding_key,
AF.prs_afdeling_eenheid,
M.mld_alg_locatie_key,
M.mld_melding_melder_naam,
AF.prs_afdeling_kostenplaats,
M.mld_ins_discipline_key,
P.prs_perslid_upper,
AF.prs_afdeling_upper,
M.mld_melding_username
FROM mld_melding M,
mld_statuses S,
mld_discipline MD,
mld_stdmelding SM,
prs_afdeling AF,
prs_perslid P,
alg_v_allonrgoed_gegevens G,
alg_locatie L
WHERE M.mld_melding_status=S.mld_statuses_key
AND M.mld_ins_discipline_key=MD.ins_discipline_key
AND M.mld_stdmelding_key=SM.mld_stdmelding_key
AND M.prs_afdeling_key=AF.prs_afdeling_key (+)
AND M.prs_perslid_key=P.prs_perslid_key (+)
AND M.mld_alg_locatie_key=L.alg_locatie_key (+)
AND M.mld_alg_onroerendgoed_keys=G.alg_onroerendgoed_keys (+)
;
#endif // MLD
@@ -227,18 +384,17 @@ SELECT PRS_PERSLID_KEY,
FROM PRS_V_AANWEZIGPERSLID P
WHERE P.PRS_PERSLID_OSLOGIN IS NOT NULL;
create or replace function FAC_RESERVED_OBJECTS (resKey in number)
CREATE OR REPLACE FUNCTION fac_reserved_objects (resKey in NUMBER)
RETURN VARCHAR2
AS
ret VARCHAR2(256);
first number;
CURSOR query(resKey NUMBER)
IS SELECT i.INS_DEEL_OMSCHRIJVING resobjdsc from RES_v_aanwezigRSV_DEEL rs,
res_deel rd,
ins_deel i
WHERE rs.RES_RESERVERING_KEY = resKey
AND rs.RES_DEEL_KEY = rd.RES_DEEL_KEY
AND rd.RES_INS_DEEL_KEY = i.INS_DEEL_KEY;
IS SELECT i.INS_DEEL_OMSCHRIJVING resobjdsc
FROM res_v_aanwezigrsv_deel RS, res_deel RD, ins_deel I
WHERE rs.RES_RESERVERING_KEY = resKey
AND rs.RES_DEEL_KEY = rd.RES_DEEL_KEY
AND rd.RES_INS_DEEL_KEY = i.INS_DEEL_KEY;
BEGIN
ret := null;
first := 0;
@@ -263,10 +419,10 @@ AS
ret VARCHAR2(256);
first number;
CURSOR query(resKey NUMBER)
IS SELECT rd.RES_ARTIKEL_OMSCHRIJVING resobjdsc from RES_v_aanwezigRSV_ARTIKEL rs,
res_artikel rd
WHERE rs.RES_RESERVERING_KEY = resKey
AND rd.RES_ARTIKEL_KEY = rs.RES_ARTIKEL_KEY;
IS SELECT rd.RES_ARTIKEL_OMSCHRIJVING resobjdsc
from RES_v_aanwezigRSV_ARTIKEL rs, res_artikel rd
WHERE rs.RES_RESERVERING_KEY = resKey
AND rd.RES_ARTIKEL_KEY = rs.RES_ARTIKEL_KEY;
BEGIN
ret := null;
first := 0;