MAAS#61281 Valuemation Maasdelta

svn path=/Customer/trunk/; revision=52514
This commit is contained in:
Sander Schepers
2021-07-26 05:40:09 +00:00
parent b5519f4723
commit 60875f4d88

View File

@@ -124,6 +124,7 @@ AS
v_opdrkey mld_opdr.mld_opdr_key%TYPE; --bestaande mld_opdr_key
v_opdrvolgnr mld_opdr.mld_opdr_bedrijfopdr_volgnr%TYPE; --bestaande volgnr
v_status mld_opdr.mld_statusopdr_key%TYPE; -- status opdracht
v_kenmerk_key NUMBER (10);
v_kenmstatusoms VARCHAR2 (4000);
v_kenmstatusper VARCHAR2 (4000);
v_kenmstatusoms_cur VARCHAR2 (4000);
@@ -708,27 +709,24 @@ BEGIN
v_errormsg :=
'(0x435)' || v_mldkey || psubject || v_actie;
IF v_kenmstatusoms <> v_kenmstatusoms_cur
THEN
UPDATE mld_kenmerkopdr
SET mld_kenmerkopdr_waarde = v_kenmstatusoms
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
AND mld_kenmerkopdr_verwijder IS NULL;
UPDATE mld_kenmerkopdr
SET mld_kenmerkopdr_waarde = v_kenmstatusoms
WHERE mld_opdr_key = v_opdrkey
AND mld_kenmerk_key = 602 -- Kenmerk 'Status valuemation' (601 in ACCP)
AND mld_kenmerkopdr_verwijder IS NULL;
fac.trackaction (
'ORDUPD',
v_opdrkey,
sender,
NULL,
'Status Valuemation: '
|| v_kenmstatusoms_cur
|| ' --> '
|| v_kenmstatusoms); -- # voorkomt notificatie
ELSE
v_errormsg :=
'(0x436)' || v_mldkey || psubject || v_actie;
END IF;
fac.trackaction (
'ORDUPD',
v_opdrkey,
sender,
NULL,
'Status Valuemation: '
|| v_kenmstatusoms_cur
|| ' --> '
|| v_kenmstatusoms); -- # voorkomt notificatie
v_errormsg :=
'(0x436)' || v_mldkey || psubject || v_actie;
END IF;
IF v_kenmstatusper_cur = 'leeg'
@@ -1272,6 +1270,67 @@ BEGIN
|| ')');
END IF;
END IF;
-- Zoek het laagste bijlagen kenmerk om de bijlagen onder te stoppen
v_errormsg := 'Fout bij zoeken naar kenmerkbijlage';
SELECT MIN (mld_kenmerk_key)
INTO v_kenmerk_key
FROM mld_kenmerk k,
mld_srtkenmerk sk,
mld_stdmelding std,
ins_tab_discipline d
WHERE mld_srtkenmerk_kenmerktype = 'M'
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND std.mld_stdmelding_key = stdmelding
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND ( (k.mld_stdmelding_key = std.mld_stdmelding_key
AND k.mld_kenmerk_niveau = 'S')
OR (k.mld_stdmelding_key = d.ins_discipline_key
AND k.mld_kenmerk_niveau = 'D')
OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key
AND k.mld_kenmerk_niveau = 'T'))
AND k.mld_kenmerk_verwijder IS NULL
AND NOT EXISTS
(SELECT mld_kenmerk_volgnummer
FROM mld_kenmerk k1,
mld_srtkenmerk sk1,
mld_stdmelding std1,
ins_tab_discipline d1
WHERE sk1.mld_srtkenmerk_kenmerktype = 'M'
AND sk1.mld_srtkenmerk_key =
k1.mld_srtkenmerk_key
AND std1.mld_stdmelding_key = stdmelding
AND std1.mld_ins_discipline_key =
d1.ins_discipline_key
AND ( (k1.mld_stdmelding_key =
std1.mld_stdmelding_key
AND k1.mld_kenmerk_niveau = 'S')
OR (k1.mld_stdmelding_key =
d1.ins_discipline_key
AND k1.mld_kenmerk_niveau = 'D')
OR (k1.mld_stdmelding_key =
d1.ins_srtdiscipline_key
AND k1.mld_kenmerk_niveau = 'T'))
AND k1.mld_kenmerk_verwijder IS NULL
AND k1.mld_kenmerk_volgnummer >
k.mld_kenmerk_volgnummer);
IF v_kenmerk_key IS NOT NULL
THEN
INSERT INTO fac_result (fac_result_sessionid,
fac_result_naam,
fac_result_waarde)
VALUES (psessionid,
'kenmerkpath',
'MLD\M'
|| TO_CHAR (TRUNC (mldkey / 1000), 'FM0000')
|| '___\M'
|| mldkey
|| '\'
|| v_kenmerk_key
|| '\');
END IF;
END IF;
END;
ELSE
@@ -1344,11 +1403,12 @@ AS
UNION ALL
SELECT opdr.mld_opdr_key
FROM mld_opdr opdr, fac_tracking t
WHERE opdr.mld_opdr_key = 128
AND opdr.mld_opdr_key = t.fac_tracking_refkey
WHERE opdr.mld_opdr_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = 75
AND (t.fac_tracking_oms LIKE '%Impact: %'
OR t.fac_tracking_oms LIKE '%Urgentie: %')
AND t.prs_perslid_key IS NOT NULL
AND t.prs_perslid_key <> 3 --Facilitor, dus enkel tracking door wijzigingen van gebruikers
AND opdr.mld_typeopdr_key = 481
AND opdr.mld_statusopdr_key IN (5, 8) -- Toegekend, geaccepteerd
AND (opdr.mld_opdr_externsyncdate IS NULL