TDNL#86074 -- Ondersteuning bij ZE laadpaalobjecten en storingsmeldingen voor Transdev

svn path=/Customer/trunk/; revision=68356
This commit is contained in:
Norbert Wassink
2025-03-11 12:41:19 +00:00
parent ba35457b75
commit ee4bbbff11

View File

@@ -2063,6 +2063,92 @@ END;
/
CREATE OR REPLACE PROCEDURE TDNL_IMPORT_LAADINFRA(p_import_key in NUMBER)
AS
BEGIN
fac_import_ins(p_import_key);
END;
/
CREATE OR REPLACE PROCEDURE TDNL_UPDATE_LAADINFRA(p_import_key in NUMBER)
AS
CURSOR sel
IS
SELECT ins_srtdeel_code,
ins_deel_omschrijving,
INS_KENMERKWAARDE19 ins_srtdeel_parent,
INS_KENMERKWAARDE20 ins_deel_parent,
INS_KENMERKWAARDE16 ins_deel_breedte,
INS_KENMERKWAARDE17 ins_deel_lengte
FROM fac_imp_ins
WHERE INS_KENMERKWAARDE19 IS NOT NULL
AND INS_KENMERKWAARDE20 IS NOT NULL;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
v_aanduiding VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_error NUMBER;
v_regel NUMBER;
v_ins_deel_key NUMBER;
v_ins_deel_parent_key NUMBER;
BEGIN
fac_update_ins(p_import_key);
commit;
FOR rec in sel
LOOP
v_ins_deel_key:=0;
v_ins_deel_parent_key:=0;
BEGIN
v_errormsg := 'Object '||rec.ins_deel_omschrijving||' niet gevonden, regel wordt overgeslagen.';
SELECT ins_deel_key
INTO v_ins_deel_key
FROM ins_v_aanwezigdeel i, ins_srtdeel id
WHERE UPPER(i.ins_deel_omschrijving)=UPPER(rec.ins_deel_omschrijving)
AND id.ins_srtdeel_code_upper=UPPER(rec.ins_srtdeel_code)
AND i.ins_srtdeel_key=id.ins_srtdeel_key;
v_errormsg := 'Parent Object '||rec.ins_deel_parent||' niet gevonden, regel wordt overgeslagen.';
SELECT ins_deel_key
INTO v_ins_deel_parent_key
FROM ins_v_aanwezigdeel i, ins_srtdeel id
WHERE UPPER(i.ins_deel_omschrijving)=UPPER(rec.ins_deel_parent)
AND id.ins_srtdeel_upper=UPPER(rec.ins_srtdeel_parent)
AND i.ins_srtdeel_key=id.ins_srtdeel_key
AND id.ins_srtdeel_verwijder IS NULL
AND id.ins_srtdeel_module = 'INS';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
fac.imp_writelog(p_import_key, 'E',v_errormsg,'Fout ophalen object');
END;
iF v_ins_deel_key>0 AND v_ins_deel_parent_key>0
THEN
UPDATE ins_deel
SET ins_deel_parent_key=v_ins_deel_parent_key, ins_deel_x=rec.ins_deel_breedte, ins_deel_y=rec.ins_deel_lengte
WHERE ins_deel_key=v_ins_deel_key;
fac.imp_writelog(p_import_key,'I','Objecten '||rec.ins_deel_omschrijving||' is gekoppeld aan '||rec.ins_deel_parent,'GEKOPPELD');
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding||'('||v_regel||')';
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := 'error ' || oracle_err_num || '/' || oracle_err_mes;
fac.imp_writelog (p_import_key,
'E',
v_errormsg,
v_errorhint);
END;
/
-- Import taken uit CONN omgeving
--CREATE OR REPLACE PROCEDURE TDNL_IMPORT_TAKEN(p_import_key IN NUMBER)
@@ -4329,6 +4415,204 @@ AS
AND ko.mld_kenmerk_key=84
AND ko.mld_kenmerkopdr_waarde IS NOT NULL;
CREATE OR REPLACE VIEW TDNL_V_OVERZICHTTAKEN
AS
SELECT x.*,
CASE
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=30 THEN
'Volgende maand'
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=14 AND TRUNC(x.taak_datum)-TRUNC(SYSDATE)<30 THEN
'Deze maand'
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=7 AND TRUNC(x.taak_datum)-TRUNC(SYSDATE)<14 THEN
'Komende week'
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=0 AND TRUNC(x.taak_datum)-TRUNC(SYSDATE)<7 THEN
'Deze week'
ELSE
'Te laat'
END taak_status,
TRUNC(taak_datum)-TRUNC(SYSDATE) dagen_tot
FROM (
SELECT i.ins_deel_key,
i.ins_deel_omschrijving,
id.ins_discipline_omschrijving,
isg.ins_srtgroep_omschrijving,
isd.ins_srtdeel_omschrijving,
l.alg_locatie_code,
l.ALG_LOCATIE_OMSCHRIJVING,
r.alg_regio_omschrijving,
d.alg_district_omschrijving,
isc.ins_srtcontrole_omschrijving,
INS.NEXTCYCLUSDATE(
i.ins_deel_key,
isc.ins_srtcontrole_key,
1,
0
) taak_datum,
(SELECT MAX(idsc.ins_deelsrtcontrole_datum)
FROM ins_deelsrtcontrole idsc
WHERE idsc.ins_deel_key=i.ins_deel_key
AND idsc.ins_srtcontrole_key=isc.ins_srtcontrole_key) laatste_taakdatum,
(SELECT MAX(idsc.ins_deelsrtcontrole_plandatum)
from ins_deelsrtcontrole idsc
WHERE idsc.ins_deel_key=i.ins_deel_key
AND idsc.ins_srtcontrole_key=isc.ins_srtcontrole_key
AND idsc.ins_deelsrtcontrole_status=0 ) plan_taakdatum
FROM ins_deel i,
ins_srtdeel isd,
ins_discipline id,
ins_srtgroep isg,
ins_srtcontrole isc,
alg_v_allonrgoed_gegevens a,
alg_district d,
alg_regio r,
alg_locatie l
WHERE isd.ins_srtdeel_key = i.ins_srtdeel_key
AND isg.ins_srtgroep_key = isd.ins_srtgroep_key
AND id.ins_discipline_key = isg.ins_discipline_key
AND isc.ins_srtinstallatie_key = isd.ins_srtdeel_key
AND i.ins_alg_ruimte_key = a.alg_ruimte_key
AND a.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND ( TRUNC(l.alg_locatie_vervaldatum) > TRUNC(sysdate)
OR l.alg_locatie_vervaldatum IS NULL )
AND d.alg_regio_key = r.alg_regio_key) x;
--AND i.ins_deel_omschrijving='BR_Blsr0034') x;
CREATE OR REPLACE VIEW TDNL_V_OVERZICHTTAKEN_2
AS
SELECT x.*,
CASE
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=30 THEN
1
ELSE
0
END volgende_maand,
CASE
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=14 AND TRUNC(x.taak_datum)-TRUNC(SYSDATE)<30 THEN
1
ELSE
0
END Deze_maand,
CASE
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=7 AND TRUNC(x.taak_datum)-TRUNC(SYSDATE)<14 THEN
1
ELSE
0
END komende_week,
CASE
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)>=0 AND TRUNC(x.taak_datum)-TRUNC(SYSDATE)<7 THEN
1
ELSE
0
END Deze_week,
CASE
WHEN TRUNC(x.taak_datum)-TRUNC(SYSDATE)<0 THEN
1
ELSE
0
END Te_laat,
TRUNC(taak_datum)-TRUNC(SYSDATE) dagen_tot
FROM (
SELECT i.ins_deel_key,
i.ins_deel_omschrijving,
id.ins_discipline_omschrijving,
isg.ins_srtgroep_omschrijving,
isd.ins_srtdeel_omschrijving,
l.alg_locatie_code,
l.ALG_LOCATIE_OMSCHRIJVING,
l.alg_locatie_key,
r.alg_regio_omschrijving,
d.alg_district_omschrijving,
d.ALG_DISTRICT_KEY,
isc.ins_srtcontrole_omschrijving,
INS.NEXTCYCLUSDATE(
i.ins_deel_key,
isc.ins_srtcontrole_key,
1,
0
) taak_datum,
(SELECT MAX(idsc.ins_deelsrtcontrole_datum)
FROM ins_deelsrtcontrole idsc
WHERE idsc.ins_deel_key=i.ins_deel_key
AND idsc.ins_srtcontrole_key=isc.ins_srtcontrole_key) laatste_taakdatum,
(SELECT MAX(idsc.ins_deelsrtcontrole_plandatum)
from ins_deelsrtcontrole idsc
WHERE idsc.ins_deel_key=i.ins_deel_key
AND idsc.ins_srtcontrole_key=isc.ins_srtcontrole_key
AND idsc.ins_deelsrtcontrole_status=0 ) plan_taakdatum
FROM ins_deel i,
ins_srtdeel isd,
ins_discipline id,
ins_srtgroep isg,
ins_srtcontrole isc,
alg_v_allonrgoed_gegevens a,
alg_district d,
alg_regio r,
alg_locatie l
WHERE isd.ins_srtdeel_key = i.ins_srtdeel_key
AND isg.ins_srtgroep_key = isd.ins_srtgroep_key
AND id.ins_discipline_key = isg.ins_discipline_key
AND isc.ins_srtinstallatie_key = isd.ins_srtdeel_key
AND i.ins_alg_ruimte_key = a.alg_ruimte_key
AND a.alg_locatie_key = l.alg_locatie_key
AND l.alg_district_key = d.alg_district_key
AND ( TRUNC(l.alg_locatie_vervaldatum) > TRUNC(sysdate)
OR l.alg_locatie_vervaldatum IS NULL )
AND d.alg_regio_key = r.alg_regio_key) x;
CREATE OR REPLACE VIEW TDNL_V_MLD_ACCEPTATIE_UREN
AS
SELECT vakgroeptype,
mld_melding_key,
CASE
WHEN ROUND ((accept_datum - gevalideerde_datum) * 24, 2) < 0
THEN
0
ELSE
ROUND ((accept_datum - gevalideerde_datum) * 24, 2)
END
AS accept_uren,
accept_datum,
gevalideerde_datum,
mld_melding_datum,
mld_melding_behandelaar_key
FROM (SELECT m.mld_melding_key,
id.ins_srtdiscipline_omschrijving
vakgroeptype,
md.ins_discipline_omschrijving
vakgroep,
sm.mld_stdmelding_omschrijving
stdmelding,
m.mld_melding_datum,
fac.gettrackingdate ('MLDACP', m.mld_melding_key)
accept_datum,
CASE
WHEN TO_CHAR (m.mld_melding_datum, 'HH24:MI') < '08:00'
THEN
TO_DATE (
TO_CHAR (m.mld_melding_datum, 'YYYY-MM-DD')
|| ' 08:00',
'YYYY-MM-DD HH24:MI')
WHEN TO_CHAR (m.mld_melding_datum, 'HH24:MI') > '17:00'
THEN
TO_DATE (
TO_CHAR (m.mld_melding_datum + 1, 'YYYY-MM-DD')
|| ' 08:00',
'YYYY-MM-DD HH24:MI')
ELSE
m.mld_melding_datum
END
AS gevalideerde_datum,
m.mld_melding_behandelaar_key
FROM mld_melding m,
mld_stdmelding sm,
mld_discipline md,
ins_srtdiscipline id
WHERE sm.mld_stdmelding_key = m.mld_stdmelding_key
AND md.ins_discipline_key = sm.mld_ins_discipline_key
AND id.ins_srtdiscipline_key = md.ins_srtdiscipline_key
AND TO_CHAR (m.mld_melding_datum, 'YYYY') = '2025')
WHERE accept_datum IS NOT NULL;
-- EINDE VIEWS