VNOG#78645 -- Werkplektoekenning procedure
VNOG#84802 -- Automatisch starten van taak op ingediende plandatum svn path=/Customer/trunk/; revision=65724
This commit is contained in:
601
VNOG/vnog.sql
601
VNOG/vnog.sql
@@ -965,6 +965,8 @@ AS
|
|||||||
PROCEDURE afmelden_ord;
|
PROCEDURE afmelden_ord;
|
||||||
PROCEDURE verhuis_inv;
|
PROCEDURE verhuis_inv;
|
||||||
PROCEDURE verstuur_gmo;
|
PROCEDURE verstuur_gmo;
|
||||||
|
PROCEDURE start_ctr;
|
||||||
|
PROCEDURE post_helloid;
|
||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
|
|
||||||
@@ -1089,60 +1091,60 @@ AS
|
|||||||
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
||||||
END;
|
END;
|
||||||
|
|
||||||
PROCEDURE verhuis_inv
|
PROCEDURE verhuis_inv
|
||||||
AS
|
AS
|
||||||
c_applname VARCHAR2 (50) := 'VERHUIS_INV';
|
c_applname VARCHAR2 (50) := 'VERHUIS_INV';
|
||||||
v_errormsg VARCHAR2 (1000);
|
v_errormsg VARCHAR2 (1000);
|
||||||
oracle_err_num NUMBER;
|
oracle_err_num NUMBER;
|
||||||
oracle_err_mes VARCHAR2 (200);
|
oracle_err_mes VARCHAR2 (200);
|
||||||
v_aanduiding VARCHAR2 (200);
|
v_aanduiding VARCHAR2 (200);
|
||||||
v_count_tot NUMBER (10);
|
v_count_tot NUMBER (10);
|
||||||
v_deel_key NUMBER (10);
|
v_deel_key NUMBER (10);
|
||||||
v_perslid_key NUMBER (5) := 3;
|
v_perslid_key NUMBER (5) := 3;
|
||||||
|
|
||||||
CURSOR c1 IS
|
CURSOR c1 IS
|
||||||
SELECT i2.ins_deel_omschrijving vrt,
|
SELECT i2.ins_deel_omschrijving vrt,
|
||||||
i.ins_deel_omschrijving inv,
|
|
||||||
i.ins_deel_opmerking nummer,
|
|
||||||
i.ins_deel_key inventaris,
|
|
||||||
i2.ins_deel_key voertuig,
|
|
||||||
i.ins_alg_ruimte_key ruimte_oud,
|
|
||||||
i2.ins_alg_ruimte_key ruimte_nieuw,
|
|
||||||
COALESCE (SUBSTR (i2.ins_deel_omschrijving,
|
|
||||||
1,
|
|
||||||
INSTR (i2.ins_deel_omschrijving, '/') - 1), i2.ins_deel_omschrijving) waarde
|
|
||||||
FROM ins_deel i, ins_deel i2, ins_deelkoppeling k
|
|
||||||
WHERE i.ins_deel_key = k.ins_deelkoppeling_naar_key
|
|
||||||
AND i2.ins_deel_key = k.ins_deelkoppeling_van_key
|
|
||||||
AND i.ins_alg_ruimte_key <> i2.ins_alg_ruimte_key
|
|
||||||
AND i.ins_alg_ruimte_type = 'R'
|
|
||||||
AND i2.ins_alg_ruimte_type = 'R'
|
|
||||||
AND i.ins_deel_verwijder IS NULL
|
|
||||||
AND i2.ins_deel_verwijder IS NULL;
|
|
||||||
|
|
||||||
CURSOR c2 IS
|
|
||||||
SELECT x.inventaris,
|
|
||||||
x.nummer,
|
|
||||||
x.waarde
|
|
||||||
FROM (SELECT i2.ins_deel_omschrijving vrt,
|
|
||||||
i.ins_deel_omschrijving inv,
|
i.ins_deel_omschrijving inv,
|
||||||
i.ins_deel_opmerking nummer,
|
i.ins_deel_opmerking nummer,
|
||||||
i.ins_deel_key inventaris,
|
i.ins_deel_key inventaris,
|
||||||
i2.ins_deel_key voertuig,
|
i2.ins_deel_key voertuig,
|
||||||
i.ins_alg_ruimte_key ruimte_oud,
|
i.ins_alg_ruimte_key ruimte_oud,
|
||||||
i2.ins_alg_ruimte_key ruimte_nieuw,
|
i2.ins_alg_ruimte_key ruimte_nieuw,
|
||||||
SUBSTR (i2.ins_deel_omschrijving,
|
COALESCE (SUBSTR (i2.ins_deel_omschrijving,
|
||||||
1,
|
1,
|
||||||
INSTR (i2.ins_deel_omschrijving, '/') - 1) waarde
|
INSTR (i2.ins_deel_omschrijving, '/') - 1), i2.ins_deel_omschrijving) waarde
|
||||||
FROM ins_deel i, ins_deel i2, ins_deelkoppeling k
|
FROM ins_deel i, ins_deel i2, ins_deelkoppeling k
|
||||||
WHERE i.ins_deel_key = k.ins_deelkoppeling_naar_key
|
WHERE i.ins_deel_key = k.ins_deelkoppeling_naar_key
|
||||||
AND i2.ins_deel_key = k.ins_deelkoppeling_van_key
|
AND i2.ins_deel_key = k.ins_deelkoppeling_van_key
|
||||||
|
AND i.ins_alg_ruimte_key <> i2.ins_alg_ruimte_key
|
||||||
AND i.ins_alg_ruimte_type = 'R'
|
AND i.ins_alg_ruimte_type = 'R'
|
||||||
AND i2.ins_alg_ruimte_type = 'R'
|
AND i2.ins_alg_ruimte_type = 'R'
|
||||||
AND i.ins_deel_verwijder IS NULL
|
AND i.ins_deel_verwijder IS NULL
|
||||||
AND i2.ins_deel_verwijder IS NULL) x
|
AND i2.ins_deel_verwijder IS NULL;
|
||||||
WHERE x.nummer != x.waarde;
|
|
||||||
|
CURSOR c2 IS
|
||||||
|
SELECT x.inventaris,
|
||||||
|
x.nummer,
|
||||||
|
x.waarde
|
||||||
|
FROM (SELECT i2.ins_deel_omschrijving vrt,
|
||||||
|
i.ins_deel_omschrijving inv,
|
||||||
|
i.ins_deel_opmerking nummer,
|
||||||
|
i.ins_deel_key inventaris,
|
||||||
|
i2.ins_deel_key voertuig,
|
||||||
|
i.ins_alg_ruimte_key ruimte_oud,
|
||||||
|
i2.ins_alg_ruimte_key ruimte_nieuw,
|
||||||
|
SUBSTR (i2.ins_deel_omschrijving,
|
||||||
|
1,
|
||||||
|
INSTR (i2.ins_deel_omschrijving, '/') - 1) waarde
|
||||||
|
FROM ins_deel i, ins_deel i2, ins_deelkoppeling k
|
||||||
|
WHERE i.ins_deel_key = k.ins_deelkoppeling_naar_key
|
||||||
|
AND i2.ins_deel_key = k.ins_deelkoppeling_van_key
|
||||||
|
AND i.ins_alg_ruimte_type = 'R'
|
||||||
|
AND i2.ins_alg_ruimte_type = 'R'
|
||||||
|
AND i.ins_deel_verwijder IS NULL
|
||||||
|
AND i2.ins_deel_verwijder IS NULL) x
|
||||||
|
WHERE x.nummer != x.waarde;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
v_count_tot := 0;
|
v_count_tot := 0;
|
||||||
FOR rec IN c1
|
FOR rec IN c1
|
||||||
@@ -1156,14 +1158,14 @@ AS
|
|||||||
WHERE ins_deel_key = rec.inventaris
|
WHERE ins_deel_key = rec.inventaris
|
||||||
RETURNING ins_deel_key
|
RETURNING ins_deel_key
|
||||||
INTO v_deel_key;
|
INTO v_deel_key;
|
||||||
|
|
||||||
fac.trackaction ('INSUPD', v_deel_key, v_perslid_key, NULL, '#Inventarisitem verhuisd met voertuig');
|
fac.trackaction ('INSUPD', v_deel_key, v_perslid_key, NULL, '#Inventarisitem verhuisd met voertuig');
|
||||||
END;
|
END;
|
||||||
v_count_tot := v_count_tot + 1;
|
v_count_tot := v_count_tot + 1;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
fac.writelog (c_applname, 'S', '#Inventarisitems verplaatst: ' || TO_CHAR (v_count_tot), '');
|
fac.writelog (c_applname, 'S', '#Inventarisitems verplaatst: ' || TO_CHAR (v_count_tot), '');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
v_count_tot := 0;
|
v_count_tot := 0;
|
||||||
FOR rec IN c2
|
FOR rec IN c2
|
||||||
LOOP
|
LOOP
|
||||||
@@ -1175,14 +1177,14 @@ AS
|
|||||||
WHERE ins_deel_key = rec.inventaris
|
WHERE ins_deel_key = rec.inventaris
|
||||||
RETURNING ins_deel_key
|
RETURNING ins_deel_key
|
||||||
INTO v_deel_key;
|
INTO v_deel_key;
|
||||||
|
|
||||||
fac.trackaction ('INSUPD', v_deel_key, v_perslid_key, NULL, '#Nieuw 06-nummer toegekend aan inventarisitem');
|
fac.trackaction ('INSUPD', v_deel_key, v_perslid_key, NULL, '#Nieuw 06-nummer toegekend aan inventarisitem');
|
||||||
END;
|
END;
|
||||||
v_count_tot := v_count_tot + 1;
|
v_count_tot := v_count_tot + 1;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
fac.writelog (c_applname, 'S', '#Inventarisitems aangepast: ' || TO_CHAR (v_count_tot), '');
|
fac.writelog (c_applname, 'S', '#Inventarisitems aangepast: ' || TO_CHAR (v_count_tot), '');
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
THEN
|
THEN
|
||||||
@@ -1191,7 +1193,7 @@ AS
|
|||||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||||
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
||||||
END;
|
END;
|
||||||
|
|
||||||
-- Maak elke jaar op 1 augustus voor iedereen met objecten een GMO melding aan.
|
-- Maak elke jaar op 1 augustus voor iedereen met objecten een GMO melding aan.
|
||||||
-- Objecten in bezit worden hieraan gekoppeld.
|
-- Objecten in bezit worden hieraan gekoppeld.
|
||||||
-- Wanneer een GMO melding voorzien is van een handtekening wordt deze de volgende dag afgemeld.
|
-- Wanneer een GMO melding voorzien is van een handtekening wordt deze de volgende dag afgemeld.
|
||||||
@@ -1203,7 +1205,7 @@ AS
|
|||||||
oracle_err_num NUMBER;
|
oracle_err_num NUMBER;
|
||||||
oracle_err_mes VARCHAR2 (200);
|
oracle_err_mes VARCHAR2 (200);
|
||||||
v_aanduiding VARCHAR2 (200);
|
v_aanduiding VARCHAR2 (200);
|
||||||
|
|
||||||
CURSOR mld IS
|
CURSOR mld IS
|
||||||
SELECT MAX (i.ins_deel_key), p.prs_perslid_key
|
SELECT MAX (i.ins_deel_key), p.prs_perslid_key
|
||||||
FROM ins_deel i, prs_v_aanwezigperslid p
|
FROM ins_deel i, prs_v_aanwezigperslid p
|
||||||
@@ -1212,7 +1214,7 @@ AS
|
|||||||
AND ins_deel_verwijder IS NULL
|
AND ins_deel_verwijder IS NULL
|
||||||
AND NOT EXISTS (SELECT 'x' FROM mld_melding m WHERE m.mld_stdmelding_key = 951 AND m.prs_perslid_key = p.prs_perslid_key AND mld_melding_status IN (0, 2, 3, 4, 7))
|
AND NOT EXISTS (SELECT 'x' FROM mld_melding m WHERE m.mld_stdmelding_key = 951 AND m.prs_perslid_key = p.prs_perslid_key AND mld_melding_status IN (0, 2, 3, 4, 7))
|
||||||
GROUP BY p.prs_perslid_key;
|
GROUP BY p.prs_perslid_key;
|
||||||
|
|
||||||
CURSOR obj IS
|
CURSOR obj IS
|
||||||
SELECT i.ins_deel_key, p.prs_perslid_key, m.mld_melding_key
|
SELECT i.ins_deel_key, p.prs_perslid_key, m.mld_melding_key
|
||||||
FROM ins_deel i, prs_v_aanwezigperslid p, mld_melding m
|
FROM ins_deel i, prs_v_aanwezigperslid p, mld_melding m
|
||||||
@@ -1223,7 +1225,7 @@ AS
|
|||||||
AND m.mld_stdmelding_key = 951 -- GMO
|
AND m.mld_stdmelding_key = 951 -- GMO
|
||||||
AND m.mld_melding_status = 2
|
AND m.mld_melding_status = 2
|
||||||
AND NOT EXISTS (SELECT 'x' FROM mld_melding_object o WHERE o.mld_melding_key = m.mld_melding_key AND o.ins_deel_key = i.ins_deel_key);
|
AND NOT EXISTS (SELECT 'x' FROM mld_melding_object o WHERE o.mld_melding_key = m.mld_melding_key AND o.ins_deel_key = i.ins_deel_key);
|
||||||
|
|
||||||
CURSOR tek
|
CURSOR tek
|
||||||
IS
|
IS
|
||||||
SELECT m.mld_melding_key
|
SELECT m.mld_melding_key
|
||||||
@@ -1233,72 +1235,449 @@ AS
|
|||||||
AND mk.mld_kenmerk_key = 1361 -- Handtekening
|
AND mk.mld_kenmerk_key = 1361 -- Handtekening
|
||||||
AND m.mld_melding_status NOT IN (5, 6) -- Nog niet afgemeld of archief
|
AND m.mld_melding_status NOT IN (5, 6) -- Nog niet afgemeld of archief
|
||||||
;
|
;
|
||||||
BEGIN
|
BEGIN
|
||||||
IF TO_CHAR (sysdate, 'DD-MM') = '01-08'
|
IF TO_CHAR (sysdate, 'DD-MM') = '01-08'
|
||||||
THEN
|
THEN
|
||||||
FOR rec IN mld
|
FOR rec IN mld
|
||||||
LOOP
|
LOOP
|
||||||
v_errormsg := 'Fout aanmaken GMO melding';
|
v_errormsg := 'Fout aanmaken GMO melding';
|
||||||
v_aanduiding := '[perslid_key: ' || TO_CHAR (rec.prs_perslid_key) || ']';
|
v_aanduiding := '[perslid_key: ' || TO_CHAR (rec.prs_perslid_key) || ']';
|
||||||
BEGIN
|
BEGIN
|
||||||
INSERT INTO mld_melding (mld_melding_module,
|
INSERT INTO mld_melding (mld_melding_module,
|
||||||
mld_meldbron_key,
|
mld_meldbron_key,
|
||||||
mld_melding_datum,
|
mld_melding_datum,
|
||||||
mld_stdmelding_key,
|
mld_stdmelding_key,
|
||||||
prs_perslid_key,
|
prs_perslid_key,
|
||||||
prs_perslid_key_voor,
|
prs_perslid_key_voor,
|
||||||
mld_melding_status,
|
mld_melding_status,
|
||||||
mld_melding_spoed,
|
mld_melding_spoed,
|
||||||
mld_ins_discipline_key)
|
mld_ins_discipline_key)
|
||||||
VALUES ('MLD',
|
VALUES ('MLD',
|
||||||
5,
|
5,
|
||||||
SYSDATE,
|
SYSDATE,
|
||||||
951, -- GMO
|
951, -- GMO
|
||||||
rec.prs_perslid_key,
|
rec.prs_perslid_key,
|
||||||
rec.prs_perslid_key,
|
rec.prs_perslid_key,
|
||||||
2, -- Status nieuw
|
2, -- Status nieuw
|
||||||
3, -- Prio normaal
|
3, -- Prio normaal
|
||||||
1121) -- Behandelteam GMO
|
1121) -- Behandelteam GMO
|
||||||
;
|
;
|
||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
FOR rec IN obj
|
|
||||||
LOOP
|
|
||||||
v_errormsg := 'Fout toevoegen object aan GMO melding';
|
|
||||||
v_aanduiding := '[deel_key: ' || TO_CHAR (rec.ins_deel_key) || ']';
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO mld_melding_object (mld_melding_key, ins_deel_key)
|
|
||||||
VALUES (rec.mld_melding_key, rec.ins_deel_key);
|
|
||||||
END;
|
|
||||||
END LOOP;
|
|
||||||
COMMIT;
|
|
||||||
|
|
||||||
ELSE
|
|
||||||
FOR rec IN tek
|
|
||||||
LOOP
|
|
||||||
v_errormsg := 'Fout afmelden GMO melding';
|
|
||||||
v_aanduiding :=
|
|
||||||
'[melding_key: ' || TO_CHAR (rec.mld_melding_key) || ']';
|
|
||||||
|
|
||||||
|
FOR rec IN obj
|
||||||
|
LOOP
|
||||||
|
v_errormsg := 'Fout toevoegen object aan GMO melding';
|
||||||
|
v_aanduiding := '[deel_key: ' || TO_CHAR (rec.ins_deel_key) || ']';
|
||||||
|
BEGIN
|
||||||
|
INSERT INTO mld_melding_object (mld_melding_key, ins_deel_key)
|
||||||
|
VALUES (rec.mld_melding_key, rec.ins_deel_key);
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
ELSE
|
||||||
|
FOR rec IN tek
|
||||||
|
LOOP
|
||||||
|
v_errormsg := 'Fout afmelden GMO melding';
|
||||||
|
v_aanduiding :=
|
||||||
|
'[melding_key: ' || TO_CHAR (rec.mld_melding_key) || ']';
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
UPDATE mld_melding
|
||||||
|
SET mld_melding_status = 5 -- Afgemeld
|
||||||
|
WHERE mld_melding_key = rec.mld_melding_key;
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
COMMIT;
|
||||||
|
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
EXCEPTION
|
||||||
|
WHEN OTHERS
|
||||||
|
THEN
|
||||||
|
oracle_err_num := SQLCODE;
|
||||||
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||||
|
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
||||||
|
END;
|
||||||
|
|
||||||
|
-- Automatische starten en ter uitvoering zetten van taken die voor vandaag of eerder zijn gepland (via plandatum of berekend).
|
||||||
|
-- Er wordt bij de taak ook direct een melding aangemaakt.
|
||||||
|
-- voorwaarden: 1) Er is een stdmelding gedefinieerd bij de periodieke taak.
|
||||||
|
-- 2) Alleen periodieke taken, GEEN mjob taken.
|
||||||
|
PROCEDURE start_ctr
|
||||||
|
AS
|
||||||
|
c_applname VARCHAR2 (50) := 'AFMELDEN_ORD';
|
||||||
|
v_errormsg VARCHAR2 (1000);
|
||||||
|
oracle_err_num NUMBER;
|
||||||
|
oracle_err_mes VARCHAR2 (200);
|
||||||
|
v_aanduiding VARCHAR2 (200);
|
||||||
|
v_count_tot NUMBER (10);
|
||||||
|
|
||||||
|
l_new_melding_key NUMBER (10);
|
||||||
|
l_new_melding_object_key NUMBER (10);
|
||||||
|
l_new_deelsrtcontrole_key NUMBER (10);
|
||||||
|
l_deelsrtcontrole_key NUMBER (10);
|
||||||
|
mjb_approvedmld_desc fac_setting.fac_setting_default%TYPE;
|
||||||
|
mld_subject VARCHAR2 (200);
|
||||||
|
|
||||||
|
CURSOR c_taak_start
|
||||||
|
IS
|
||||||
|
SELECT idsc.ins_deelsrtcontrole_key,
|
||||||
|
idsc.ins_deel_key,
|
||||||
|
idsc.ins_srtcontrole_key,
|
||||||
|
idsc.ins_scenario_key,
|
||||||
|
xcp.mld_stdmelding_key,
|
||||||
|
sm.mld_stdmelding_default_disc,
|
||||||
|
COALESCE(xcp.prs_kostenplaats_key,
|
||||||
|
(SELECT prs_kostenplaats_key
|
||||||
|
FROM alg_gebouw
|
||||||
|
WHERE alg_gebouw_key = alg.alg_gebouw_key)) prs_kostenplaats_key,
|
||||||
|
xcp.ins_srtcontrole_omschrijving,
|
||||||
|
xcp.ins_srtcontrole_info,
|
||||||
|
isd.ins_srtdeel_omschrijving,
|
||||||
|
alg.alg_locatie_key,
|
||||||
|
alg.alg_onroerendgoed_keys,
|
||||||
|
CASE
|
||||||
|
WHEN (SELECT COUNT(ins_deelsrtcontrole_key)
|
||||||
|
FROM ins_deelsrtcontrole idsc2
|
||||||
|
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND idsc2.ins_deelsrtcontrole_status = 6) >= 1
|
||||||
|
THEN
|
||||||
|
ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1)
|
||||||
|
ELSE NULL
|
||||||
|
END nextdate,
|
||||||
|
idsc.prs_perslid_key
|
||||||
|
FROM ins_deelsrtcontrole idsc,
|
||||||
|
ins_v_defined_inspect_xcp xcp,
|
||||||
|
ins_deel d,
|
||||||
|
ins_srtdeel isd,
|
||||||
|
alg_v_allonroerendgoed alg,
|
||||||
|
mld_stdmelding sm
|
||||||
|
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND xcp.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND xcp.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND xcp.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||||
|
AND d.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
|
||||||
|
AND d.ins_alg_ruimte_key = alg.alg_onroerendgoed_keys(+)
|
||||||
|
AND d.ins_alg_ruimte_type = 'R'
|
||||||
|
AND TRUNC(idsc.ins_deelsrtcontrole_plandatum, 'dd') <= TRUNC(SYSDATE, 'dd')
|
||||||
|
AND idsc.ins_scenario_key = 1
|
||||||
|
AND idsc.ins_deelsrtcontrole_status = 0
|
||||||
|
AND xcp.ctr_ismjob = 0
|
||||||
|
AND xcp.mld_stdmelding_key IS NOT NULL
|
||||||
|
UNION
|
||||||
|
SELECT NULL ins_deelsrtcontrole_key,
|
||||||
|
idsc.ins_deel_key,
|
||||||
|
idsc.ins_srtcontrole_key,
|
||||||
|
idsc.ins_scenario_key,
|
||||||
|
xcp.mld_stdmelding_key,
|
||||||
|
sm.mld_stdmelding_default_disc,
|
||||||
|
COALESCE(xcp.prs_kostenplaats_key,
|
||||||
|
(SELECT prs_kostenplaats_key
|
||||||
|
FROM alg_gebouw
|
||||||
|
WHERE alg_gebouw_key = alg.alg_gebouw_key)) prs_kostenplaats_key,
|
||||||
|
xcp.ins_srtcontrole_omschrijving,
|
||||||
|
xcp.ins_srtcontrole_info,
|
||||||
|
isd.ins_srtdeel_omschrijving,
|
||||||
|
alg.alg_locatie_key,
|
||||||
|
alg.alg_onroerendgoed_keys,
|
||||||
|
CASE
|
||||||
|
WHEN (SELECT COUNT(ins_deelsrtcontrole_key)
|
||||||
|
FROM ins_deelsrtcontrole idsc2
|
||||||
|
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND idsc2.ins_deelsrtcontrole_status = 6) >= 1
|
||||||
|
THEN
|
||||||
|
ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1)
|
||||||
|
ELSE NULL
|
||||||
|
END nextdate,
|
||||||
|
(SELECT idsc3.prs_perslid_key
|
||||||
|
FROM ins_deelsrtcontrole idsc3
|
||||||
|
WHERE idsc3.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
|
||||||
|
FROM ins_deelsrtcontrole idsc2
|
||||||
|
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND idsc2.ins_deelsrtcontrole_status = 6)) prs_perslid_key
|
||||||
|
FROM ins_deelsrtcontrole idsc,
|
||||||
|
ins_v_defined_inspect_xcp xcp,
|
||||||
|
ins_deel d,
|
||||||
|
ins_srtdeel isd,
|
||||||
|
alg_v_allonroerendgoed alg,
|
||||||
|
mld_stdmelding sm
|
||||||
|
WHERE xcp.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND xcp.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND xcp.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND xcp.mld_stdmelding_key = sm.mld_stdmelding_key
|
||||||
|
AND d.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND d.ins_srtdeel_key = isd.ins_srtdeel_key
|
||||||
|
AND d.ins_alg_ruimte_key = alg.alg_onroerendgoed_keys(+)
|
||||||
|
AND d.ins_alg_ruimte_type = 'R'
|
||||||
|
AND TRUNC(ins.nextcyclusdate(idsc.ins_deel_key, idsc.ins_srtcontrole_key, 1, 1), 'dd') <= TRUNC(SYSDATE, 'dd')
|
||||||
|
AND idsc.ins_scenario_key = 1
|
||||||
|
AND idsc.ins_deelsrtcontrole_key = (SELECT MAX(ins_deelsrtcontrole_key)
|
||||||
|
FROM ins_deelsrtcontrole idsc2
|
||||||
|
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND idsc2.ins_deelsrtcontrole_status = 6)
|
||||||
|
AND (SELECT MAX(ins_deelsrtcontrole_key)
|
||||||
|
FROM ins_deelsrtcontrole idsc2
|
||||||
|
WHERE idsc2.ins_deel_key = idsc.ins_deel_key
|
||||||
|
AND idsc2.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||||
|
AND idsc2.ins_scenario_key = idsc.ins_scenario_key
|
||||||
|
AND idsc2.ins_deelsrtcontrole_status != 6) IS NULL -- Er mag geen lopende taak aanwezig zijn.
|
||||||
|
AND xcp.ctr_ismjob = 0
|
||||||
|
AND xcp.mld_stdmelding_key IS NOT NULL;
|
||||||
|
BEGIN
|
||||||
|
v_count_tot := 0;
|
||||||
|
FOR rec IN c_taak_start
|
||||||
|
LOOP
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE mld_melding
|
v_errormsg := 'Fout starten taak';
|
||||||
SET mld_melding_status = 5 -- Afgemeld
|
v_aanduiding := '[' || TO_CHAR (rec.ins_deel_key) || '/' || TO_CHAR (rec.ins_srtcontrole_key) || '] ';
|
||||||
WHERE mld_melding_key = rec.mld_melding_key;
|
IF rec.ins_deelsrtcontrole_key IS NULL
|
||||||
|
THEN
|
||||||
|
SELECT ins_s_ins_deelsrtcontrole_key.NEXTVAL INTO l_new_deelsrtcontrole_key FROM DUAL;
|
||||||
|
|
||||||
|
INSERT INTO ins_deelsrtcontrole (ins_deelsrtcontrole_key,
|
||||||
|
ins_deel_key,
|
||||||
|
ins_srtcontrole_key,
|
||||||
|
ins_deelsrtcontrole_status,
|
||||||
|
prs_perslid_key,
|
||||||
|
ins_deelsrtcontrole_datum_org)
|
||||||
|
VALUES (l_new_deelsrtcontrole_key,
|
||||||
|
rec.ins_deel_key,
|
||||||
|
rec.ins_srtcontrole_key,
|
||||||
|
2,
|
||||||
|
rec.prs_perslid_key,
|
||||||
|
rec.nextdate);
|
||||||
|
l_deelsrtcontrole_key := l_new_deelsrtcontrole_key;
|
||||||
|
ELSE
|
||||||
|
l_deelsrtcontrole_key := rec.ins_deelsrtcontrole_key;
|
||||||
|
-- Het ins_deelsrtcontrole record bestaat al omdat de taak al is ingepland.
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
ins.setinspectstatus(l_deelsrtcontrole_key, 2, NULL);
|
||||||
|
|
||||||
|
mjb_approvedmld_desc := fac.getsetting('mjb_approvedmelding_description');
|
||||||
|
|
||||||
|
IF mjb_approvedmld_desc = 2
|
||||||
|
THEN
|
||||||
|
mld_subject := rec.ins_srtcontrole_omschrijving;
|
||||||
|
ELSIF mjb_approvedmld_desc = 3
|
||||||
|
THEN
|
||||||
|
mld_subject := rec.ins_srtcontrole_omschrijving || ' (' || rec.ins_srtdeel_omschrijving;
|
||||||
|
ELSE -- mjb_approvedmelding_description = 1
|
||||||
|
mld_subject := rec.ins_srtdeel_omschrijving;
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
SELECT mld_s_mld_melding_key.NEXTVAL INTO l_new_melding_key FROM DUAL;
|
||||||
|
|
||||||
|
INSERT INTO mld_melding(prs_perslid_key,
|
||||||
|
prs_perslid_key_voor,
|
||||||
|
mld_melding_datum,
|
||||||
|
mld_ins_discipline_key,
|
||||||
|
mld_stdmelding_key,
|
||||||
|
mld_melding_omschrijving,
|
||||||
|
mld_melding_onderwerp,
|
||||||
|
mld_meldbron_key,
|
||||||
|
prs_kostenplaats_key,
|
||||||
|
mld_alg_locatie_key,
|
||||||
|
mld_melding_spoed,
|
||||||
|
mld_alg_onroerendgoed_keys,
|
||||||
|
mld_melding_module,
|
||||||
|
mld_melding_key)
|
||||||
|
VALUES (rec.prs_perslid_key,
|
||||||
|
rec.prs_perslid_key,
|
||||||
|
SYSDATE,
|
||||||
|
rec.mld_stdmelding_default_disc,
|
||||||
|
rec.mld_stdmelding_key,
|
||||||
|
rec.ins_srtcontrole_info,
|
||||||
|
mld_subject,
|
||||||
|
10,
|
||||||
|
rec.prs_kostenplaats_key,
|
||||||
|
rec.alg_locatie_key,
|
||||||
|
3, -- Default prioriteit 3.
|
||||||
|
rec.alg_onroerendgoed_keys,
|
||||||
|
'MLD',
|
||||||
|
l_new_melding_key);
|
||||||
|
|
||||||
|
SELECT mld_s_mld_object_key.NEXTVAL INTO l_new_melding_object_key FROM DUAL;
|
||||||
|
|
||||||
|
INSERT INTO mld_melding_object(ins_deel_key,
|
||||||
|
mld_melding_key,
|
||||||
|
ins_deelsrtcontrole_key,
|
||||||
|
mld_melding_object_key)
|
||||||
|
VALUES (rec.ins_deel_key,
|
||||||
|
l_new_melding_key,
|
||||||
|
l_deelsrtcontrole_key,
|
||||||
|
l_new_melding_object_key);
|
||||||
|
|
||||||
|
mld.setmeldingstatus(l_new_melding_key, 2, NULL, 1);
|
||||||
|
|
||||||
|
IF rec.mld_stdmelding_default_disc IS NOT NULL -- mldbhg notificatie.
|
||||||
|
THEN
|
||||||
|
mld.notifybackoffice (l_new_melding_key, 'MLDBHG', 2);
|
||||||
|
END IF;
|
||||||
|
|
||||||
|
mld.mld_nextworkflowstep (l_new_melding_key, -1);
|
||||||
|
|
||||||
|
mld.mld_addautoorder(l_new_melding_key);
|
||||||
|
|
||||||
|
ins.setinspectstatus(l_deelsrtcontrole_key, 3, NULL);
|
||||||
|
|
||||||
|
v_count_tot := v_count_tot + 1;
|
||||||
|
IF MOD (v_count_tot, 500) = 0 THEN COMMIT; END IF;
|
||||||
END;
|
END;
|
||||||
END LOOP;
|
END LOOP;
|
||||||
COMMIT;
|
fac.writelog (c_applname, 'S', '#Taken gestart: ' || TO_CHAR (v_count_tot), '');
|
||||||
|
COMMIT;
|
||||||
END IF;
|
EXCEPTION
|
||||||
|
|
||||||
EXCEPTION
|
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
THEN
|
THEN
|
||||||
oracle_err_num := SQLCODE;
|
oracle_err_num := SQLCODE;
|
||||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||||
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
v_errormsg := 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||||
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
fac.writelog (c_applname, 'E', v_aanduiding || v_errormsg, 'Taak afgebroken!');
|
||||||
END;
|
END;
|
||||||
|
|
||||||
|
PROCEDURE post_helloid
|
||||||
|
AS
|
||||||
|
v_importkey NUMBER;
|
||||||
|
v_importappkey NUMBER;
|
||||||
|
|
||||||
|
-- Personen die verwijderd moet worden
|
||||||
|
CURSOR c1 IS
|
||||||
|
SELECT prs_perslid_key
|
||||||
|
FROM prs_perslid
|
||||||
|
WHERE prs_perslid_inactief IS NOT NULL -- Als inactief gemarkeerd door HelloID
|
||||||
|
AND prs_perslid_verwijder IS NULL;
|
||||||
|
|
||||||
|
-- Toekennen van werkplek aan persoon (postcommandanten en personen met meer dan 1 werkplek zijn uitgesloten)
|
||||||
|
CURSOR c2 IS
|
||||||
|
SELECT p.prs_perslid_key,
|
||||||
|
pk.prs_kenmerklink_waarde,
|
||||||
|
l.alg_locatie_key,
|
||||||
|
g.alg_gebouw_key,
|
||||||
|
g.alg_gebouw_naam,
|
||||||
|
v.alg_verdieping_key,
|
||||||
|
r.alg_ruimte_key ruimte
|
||||||
|
FROM prs_perslid p,
|
||||||
|
prs_kenmerklink pk,
|
||||||
|
alg_locatie l,
|
||||||
|
alg_gebouw g,
|
||||||
|
alg_verdieping v,
|
||||||
|
alg_ruimte r
|
||||||
|
WHERE p.prs_perslid_key = pk.prs_link_key
|
||||||
|
AND pk.prs_kenmerklink_niveau = 'P'
|
||||||
|
AND pk.prs_kenmerk_key = 1060 -- LocatieID
|
||||||
|
AND prs_kenmerklink_waarde = l.alg_locatie_key
|
||||||
|
AND g.alg_locatie_key = l.alg_locatie_key
|
||||||
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||||
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||||
|
AND r.alg_ruimte_nr = '0000'
|
||||||
|
AND l.alg_locatie_verwijder IS NULL
|
||||||
|
AND g.alg_gebouw_verwijder IS NULL
|
||||||
|
AND r.alg_ruimte_verwijder IS NULL
|
||||||
|
AND UPPER (g.alg_gebouw_naam) LIKE 'WERKLO%'
|
||||||
|
AND NOT EXISTS
|
||||||
|
(SELECT 1
|
||||||
|
FROM alg_v_aanweziggebouw
|
||||||
|
WHERE UPPER (alg_gebouw_naam) LIKE 'WERKLO%'
|
||||||
|
AND alg_locatie_key = g.alg_locatie_key
|
||||||
|
AND alg_gebouw_key < g.alg_gebouw_key)
|
||||||
|
AND NOT EXISTS
|
||||||
|
(SELECT 1
|
||||||
|
FROM fac_gebruikersgroep f
|
||||||
|
WHERE f.fac_groep_key = 171
|
||||||
|
AND p.prs_perslid_key = f.prs_perslid_key)
|
||||||
|
UNION ALL
|
||||||
|
SELECT p.prs_perslid_key,
|
||||||
|
pk.prs_kenmerklink_waarde,
|
||||||
|
l.alg_locatie_key,
|
||||||
|
g.alg_gebouw_key,
|
||||||
|
g.alg_gebouw_naam,
|
||||||
|
v.alg_verdieping_key,
|
||||||
|
r.alg_ruimte_key ruimte
|
||||||
|
FROM prs_perslid p,
|
||||||
|
prs_kenmerklink pk,
|
||||||
|
alg_locatie l,
|
||||||
|
alg_gebouw g,
|
||||||
|
alg_verdieping v,
|
||||||
|
alg_ruimte r
|
||||||
|
WHERE p.prs_perslid_key = pk.prs_link_key
|
||||||
|
AND pk.prs_kenmerklink_niveau = 'P'
|
||||||
|
AND pk.prs_kenmerk_key = 1060 -- LocatieID
|
||||||
|
AND prs_kenmerklink_waarde = l.alg_locatie_key
|
||||||
|
AND g.alg_locatie_key = l.alg_locatie_key
|
||||||
|
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||||
|
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||||
|
AND r.alg_ruimte_nr = '0000'
|
||||||
|
AND l.alg_locatie_verwijder IS NULL
|
||||||
|
AND g.alg_gebouw_verwijder IS NULL
|
||||||
|
AND r.alg_ruimte_verwijder IS NULL
|
||||||
|
AND UPPER (g.alg_gebouw_naam) NOT LIKE 'WERKLO%'
|
||||||
|
AND NOT EXISTS
|
||||||
|
(SELECT 1
|
||||||
|
FROM alg_v_aanweziggebouw
|
||||||
|
WHERE UPPER (alg_gebouw_naam) LIKE 'WERKLO%'
|
||||||
|
AND alg_locatie_key = g.alg_locatie_key)
|
||||||
|
AND NOT EXISTS
|
||||||
|
(SELECT 1
|
||||||
|
FROM alg_v_aanweziggebouw
|
||||||
|
WHERE UPPER (alg_gebouw_naam) NOT LIKE 'WERKLO%'
|
||||||
|
AND alg_locatie_key = g.alg_locatie_key
|
||||||
|
AND alg_gebouw_key < g.alg_gebouw_key)
|
||||||
|
AND NOT EXISTS
|
||||||
|
(SELECT 1
|
||||||
|
FROM fac_gebruikersgroep f
|
||||||
|
WHERE f.fac_groep_key = 171
|
||||||
|
AND p.prs_perslid_key = f.prs_perslid_key);
|
||||||
|
|
||||||
|
-- Voor deze acties hebben we een import_key nodig, dus die gaan we nu aanmaken
|
||||||
|
BEGIN
|
||||||
|
SELECT fac_import_app_key
|
||||||
|
INTO v_importappkey
|
||||||
|
FROM fac_import_app
|
||||||
|
WHERE fac_import_app_code = 'HELLOID';
|
||||||
|
|
||||||
|
INSERT INTO fac_import (fac_import_app_key,
|
||||||
|
fac_import_datum_gelezen,
|
||||||
|
fac_import_datum_verwerkt,
|
||||||
|
fac_import_filenaam,
|
||||||
|
prs_perslid_key)
|
||||||
|
VALUES (v_importappkey,
|
||||||
|
SYSDATE,
|
||||||
|
SYSDATE,
|
||||||
|
NULL,
|
||||||
|
3);
|
||||||
|
|
||||||
|
SELECT MAX (fac_import_key) INTO v_importkey FROM fac_import;
|
||||||
|
|
||||||
|
FOR rec IN c1
|
||||||
|
LOOP
|
||||||
|
BEGIN
|
||||||
|
prs.delete_perslid (v_importkey, rec.prs_perslid_key);
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
|
||||||
|
FOR rec IN c2
|
||||||
|
LOOP
|
||||||
|
BEGIN
|
||||||
|
prs.movetoruimte (rec.prs_perslid_key,
|
||||||
|
rec.ruimte,
|
||||||
|
'A',
|
||||||
|
0);
|
||||||
|
END;
|
||||||
|
END LOOP;
|
||||||
|
END;
|
||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
|
|
||||||
@@ -1312,6 +1691,8 @@ BEGIN
|
|||||||
vnog.afmelden_ord;
|
vnog.afmelden_ord;
|
||||||
vnog.verhuis_inv;
|
vnog.verhuis_inv;
|
||||||
vnog.verstuur_gmo;
|
vnog.verstuur_gmo;
|
||||||
|
vnog.start_ctr;
|
||||||
|
vnog.post_helloid;
|
||||||
EXCEPTION
|
EXCEPTION
|
||||||
WHEN OTHERS
|
WHEN OTHERS
|
||||||
THEN
|
THEN
|
||||||
@@ -1332,8 +1713,8 @@ AS
|
|||||||
FROM prs_perslid p
|
FROM prs_perslid p
|
||||||
WHERE p.prs_perslid_verwijder IS NULL
|
WHERE p.prs_perslid_verwijder IS NULL
|
||||||
AND p.prs_perslid_email IS NOT NULL;
|
AND p.prs_perslid_email IS NOT NULL;
|
||||||
|
|
||||||
-- Rapport om te kunnen zien wie er online is (ICT en Servicedesk)
|
-- Rapport om te kunnen zien wie er online is (ICT en Servicedesk)
|
||||||
CREATE OR REPLACE VIEW vnog_v_rap_prs_online
|
CREATE OR REPLACE VIEW vnog_v_rap_prs_online
|
||||||
(
|
(
|
||||||
naam,
|
naam,
|
||||||
|
|||||||
Reference in New Issue
Block a user