CVGZ#84821 -- Foutmelding ontvangen na release 2024.2 - in autoorder-procedure die overbodig is en dus opgeruimd kan worden

svn path=/Customer/trunk/; revision=65708
This commit is contained in:
Jos Migo
2024-07-24 15:29:38 +00:00
parent e110803567
commit 989458c23a

View File

@@ -1122,141 +1122,6 @@ SELECT NULL,
FROM fac_notificatie_job
WHERE fac_notificatie_job_view = 'CVGZ_V_NOTI_LEIDER_MLDNEW') ;
-- Procedure uit AAIT gehaald.
-- Export om opdrachten aan te maken bij meldingen met auto-order die onderdeel
-- uitmaken van een workflow. Bijkomend voordeel is dat deze functie ook de
-- opdrachten aanmaakt bij meldingen met auto-order waarbij abusievelijk geen
-- opdracht aangemaakt is.
CREATE OR REPLACE PROCEDURE cvgz_export_autoorder (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2
)
AS
CURSOR c
IS
SELECT m.mld_melding_key,
m.prs_kostenplaats_key,
m.mld_melding_omschrijving,
MAX (bdl.prs_bedrijf_key) prs_bedrijf_key,
std.mld_typeopdr_key,
m.mld_melding_einddatum,
m.mld_melding_status
FROM mld_melding m,
mld_stdmelding std,
prs_dienst d,
prs_bedrijfdienstlocatie bdl
WHERE m.mld_melding_status IN (2, 3, 4) -- Ingevoerd, Ingezien, Geaccepteerd
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_stdmelding_autoorder = 1
AND std.prs_dienst_key = bdl.prs_dienst_key
AND mld_melding_datum > SYSDATE - 1 -- voorkom dat oude meldingen ineens verstuurd gaan worden
AND mld_melding_datum < SYSDATE - (1/96) -- voorkom dat meldingen die nog bezig zijn met aanmaken al aangepast worden.
AND std.mld_typeopdr_key IS NOT NULL
AND NOT EXISTS (SELECT mld_melding_key
FROM mld_opdr o
WHERE mld_melding_key = m.mld_melding_key)
GROUP BY mld_melding_key,
m.prs_kostenplaats_key,
mld_melding_omschrijving,
mld_typeopdr_key,
mld_melding_einddatum,
mld_melding_status;
CURSOR c_flex (c_melding_key NUMBER)
IS
SELECT sk.mld_srtkenmerk_kenmerktype,
sk.mld_srtkenmerk_omschrijving,
DECODE (
sk.mld_srtkenmerk_kenmerktype,
'S',
fac.getdomeinwaarde (sk.fac_kenmerkdomein_key,
mld_kenmerkmelding_waarde),
'R',
fac.getdomeinwaarde (sk.fac_kenmerkdomein_key,
mld_kenmerkmelding_waarde),
mld_kenmerkmelding_waarde) waarde
FROM mld_kenmerkmelding km, mld_kenmerk k, mld_srtkenmerk sk
WHERE mld_melding_key = c_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key
ORDER BY k.mld_kenmerk_volgnummer;
v_opdr_key NUMBER;
v_notificatie_code VARCHAR2(20);
v_mld_opdr_bedrijfopdr_volgnr NUMBER;
v_melding_omschrijving VARCHAR2(4000);
BEGIN
FOR rec IN c
LOOP
BEGIN
-- eerst even de status naar geaccepteerd zetten.
IF rec.mld_melding_status <> 4 THEN
MLD.setmeldingstatus (rec.mld_melding_key, 4, 4); -- Geaccepteerd, Facilitor
END IF;
v_melding_omschrijving := NULL;
FOR rec_flex IN c_flex(rec.mld_melding_key)
LOOP
BEGIN
v_melding_omschrijving := v_melding_omschrijving || rec_flex.mld_srtkenmerk_omschrijving || ': ' || rec_flex.waarde || chr(10);
END;
END LOOP;
v_mld_opdr_bedrijfopdr_volgnr := mld.BepaalOpdrMeldingVolgnr (rec.mld_melding_key);
INSERT INTO mld_opdr (mld_melding_key
, prs_kostenplaats_key
, mld_typeopdr_key
, prs_perslid_key
, mld_uitvoerende_keys
, mld_opdr_datumbegin
, mld_opdr_einddatum
, mld_opdr_module
, mld_opdr_omschrijving
, mld_opdr_bedrijfopdr_volgnr
, mld_opdr_teverzenden)
VALUES ( rec.mld_melding_key
, rec.prs_kostenplaats_key
, rec.mld_typeopdr_key
, 4 -- facilitor
, rec.prs_bedrijf_key
, SYSDATE
, rec.mld_melding_einddatum
, 'MLD'
, v_melding_omschrijving || rec.mld_melding_omschrijving
, v_mld_opdr_bedrijfopdr_volgnr
, 1)
RETURNING mld_opdr_key INTO v_opdr_key;
MLD.setopdrachtstatus(v_opdr_key , 5, 4); -- uitgegeven, Facilitor
SELECT DECODE (u.type, 'P', 'ORDMLI', 'ORDMLE')
INTO v_notificatie_code
FROM mld_v_uitvoerende u
WHERE u.mld_uitvoerende_key = rec.prs_bedrijf_key;
FAC.trackaction(v_notificatie_code, v_opdr_key, 4, NULL, NULL);
-- update melding status
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 4); -- facilitor
EXCEPTION
WHEN OTHERS
THEN
fac.writelog (p_applname
, 'E'
, 'OTHERS (error ' || SQLCODE || '/' || SUBSTR (SQLERRM, 1, 100) || ')'
, 'Fout bij aanmaken opdracht: ' || rec.mld_melding_key);
END;
END LOOP;
END cvgz_export_autoorder;
/
-- View om het mogelijk te maken om de badges voor de bezoekers in bulk te kunnen printen
CREATE OR REPLACE VIEW cvgz_v_rap_bezoek_bulk
AS