YKPN#64558 -- Kunstobject - workflow (opdracht aanmaken)
YKPN#64629 -- Pandbudget met factuur rapportage aanpassen svn path=/Customer/trunk/; revision=48691
This commit is contained in:
147
YKPN/ykpn.sql
147
YKPN/ykpn.sql
@@ -86,6 +86,8 @@ AS
|
||||
pbody IN VARCHAR2,
|
||||
psessionid IN VARCHAR2,
|
||||
pemailkey IN NUMBER);
|
||||
|
||||
PROCEDURE autoorder;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -1438,6 +1440,145 @@ AS
|
||||
'errormsg',
|
||||
'Fout bij inlezen mail werkplekinrichting: ' || v_ruisnaam);
|
||||
END;
|
||||
|
||||
PROCEDURE autoorder
|
||||
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,
|
||||
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, 3); -- 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,
|
||||
3 -- 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, 3); -- 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,
|
||||
3,
|
||||
NULL,
|
||||
NULL);
|
||||
|
||||
-- update melding status
|
||||
MLD.updatemeldingstatus (rec.mld_melding_key, 0, 3); -- facilitor
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
fac.writelog (
|
||||
'AutoOrder',
|
||||
'E',
|
||||
'OTHERS (error '
|
||||
|| SQLCODE
|
||||
|| '/'
|
||||
|| SUBSTR (SQLERRM, 1, 100)
|
||||
|| ')',
|
||||
'Fout bij aanmaken opdracht: ' || rec.mld_melding_key);
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2239,6 +2380,10 @@ BEGIN
|
||||
|
||||
YKPN.cleanup_room_dep_contracts;
|
||||
|
||||
-- maak opdrachten aan die volgens autoorder aangemaakt hadden moeten worden
|
||||
-- onder workflowmeldingen.
|
||||
YKPN.autoorder;
|
||||
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
@@ -8832,6 +8977,7 @@ AS
|
||||
fin_factuur_statuses_key
|
||||
FROM fin_factuur f, fin_factuurregel fr
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND f.fin_factuur_verwijder IS NULL
|
||||
GROUP BY mld_opdr_key,
|
||||
f.fin_factuur_key,
|
||||
fin_factuur_statuses_key) fgg) fg
|
||||
@@ -8954,6 +9100,7 @@ AS
|
||||
fin_factuur_statuses_key
|
||||
FROM fin_factuur f, fin_factuurregel fr
|
||||
WHERE f.fin_factuur_key = fr.fin_factuur_key
|
||||
AND f.fin_factuur_verwijder IS NULL
|
||||
GROUP BY mld_opdr_key,
|
||||
f.fin_factuur_key,
|
||||
fin_factuur_statuses_key) fgg) fg,
|
||||
|
||||
Reference in New Issue
Block a user