diff --git a/CSUN/CSUN.sql b/CSUN/CSUN.sql index 26acf5153..ced6e9bcb 100644 --- a/CSUN/CSUN.sql +++ b/CSUN/CSUN.sql @@ -4271,13 +4271,10 @@ AS WHERE UPPER (prs_perslid_email) = UPPER (m.aanvrageremail)), 4) AS aanvrager_key, - l.alg_locatie_key, - wf.mld_stdmelding_key as stdmelding_key, - wf.mld_workflowstep_key as workflowstep_key - FROM csun_imp_planning m, alg_v_locatie_gegevens l, mld_workflowstep wf + l.alg_locatie_key + FROM csun_imp_planning m, alg_v_locatie_gegevens l WHERE l.alg_locatie_code = m.alg_locatie_code - AND m.mld_stdmelding_key = wf.mld_stdmelding_key (+) - AND m.mld_melding_key IS NULL; + AND m.mld_melding_key IS NULL; BEGIN FOR recmld IN cmld LOOP @@ -4295,9 +4292,7 @@ BEGIN mld_melding_spoed, mld_melding_onderwerp, mld_melding_omschrijving, - mld_melding_behandelaar_key, - mld_melding_start_key, - mld_workflowstep_key) + mld_melding_behandelaar_key) VALUES (recmld.aanvrager_key, 'MLD', 6, --Bron = Systeem @@ -4311,9 +4306,7 @@ BEGIN 3, --Prioriteit = Normaal recmld.onderwerp, recmld.omschrijving, - NULL, --Op verzoek (CSUN#59537) toch niet vullen - recmld.stdmelding_key, - recmld.workflowstep_key) + NULL) --Op verzoek (CSUN#59537) toch niet vullen RETURNING mld_melding_key, mld_stdmelding_key, mld_melding_datum INTO v_mld_melding_key, v_mld_stdmelding_key, @@ -4376,7 +4369,6 @@ EXCEPTION END csun_update_planning; / - --CSUN#59537 CREATE OR REPLACE PROCEDURE csun_export_planning (p_applname IN VARCHAR2, p_applrun IN VARCHAR2, @@ -4400,19 +4392,29 @@ AS -- Haal alle meldingen op die nog in behandeling (status 0) staan en met kenmerk 'Planning melding' aan heeft. . CURSOR cmld IS - SELECT m.mld_melding_key, - m.mld_stdmelding_key, - m.mld_melding_onderwerp, - m.mld_melding_omschrijving, - m.mld_melding_datum, - m.mld_melding_einddatum, - m.mld_alg_locatie_key - FROM mld_melding m, mld_kenmerkmelding km - WHERE km.mld_melding_key = m.mld_melding_key - AND TRUNC (m.mld_melding_einddatum) <= TRUNC (SYSDATE) + 11 - AND km.mld_kenmerk_key = 1301 -- Kenmerk 'Import planning' (checkbox die bij het importeren op 1 wordt gezet zodat herkend wordt dat deze vanuit de import komt). - AND km.mld_kenmerkmelding_waarde = 1 - AND m.mld_melding_status = 0; +SELECT m.mld_melding_key, + m.mld_stdmelding_key, + m.mld_melding_onderwerp, + m.mld_melding_omschrijving, + m.mld_melding_datum, + m.mld_melding_einddatum, + m.mld_alg_locatie_key, + (SELECT DISTINCT (wf.mld_stdmelding_key) + FROM mld_workflowstep wf + WHERE m.mld_stdmelding_key = wf.mld_stdmelding_key(+) + AND wf.mld_workflowstep_start_key IS NULL) + AS stdmelding_key, --Alleen bij een startmelding van een workflow + (SELECT DISTINCT (wf.mld_workflowstep_key) + FROM mld_workflowstep wf + WHERE m.mld_stdmelding_key = wf.mld_stdmelding_key(+) + AND wf.mld_workflowstep_start_key IS NULL) + AS workflowstep_key --Alleen bij een startmelding van een workflow + FROM mld_melding m, mld_kenmerkmelding km + WHERE km.mld_melding_key = m.mld_melding_key + AND TRUNC (m.mld_melding_einddatum) <= TRUNC (SYSDATE) + 18 + AND km.mld_kenmerk_key = 1301 --Kenmerk 'Import planning' (checkbox die bij het importeren op 1 wordt gezet zodat herkend wordt dat deze vanuit de import komt). + AND km.mld_kenmerkmelding_waarde = 1 + AND m.mld_melding_status = 0; BEGIN FOR recmld IN cmld LOOP @@ -4432,6 +4434,18 @@ BEGIN v_errorhint := 'Select opdracht'; + -- Betreft het een workflowmelding? + IF recmld.stdmelding_key IS NOT NULL + THEN + UPDATE mld_melding + SET mld_workflowstep_key = recmld.workflowstep_key, + mld_melding_start_key = mld_melding_key + WHERE mld_melding_key = recmld.mld_melding_key; + + -- Indien het een melding is die start is van een workflow, dan moet ook de eerstvolgende stap(pen) aangemaakt worden. + mld.mld_nextworkflowstep (recmld.mld_melding_key, -1); + END IF; + -- Nu kijken of we automatisch een opdracht kunnen aanmaken. SELECT ms.mld_stdmelding_autoorder, ms.prs_dienst_key, @@ -4494,7 +4508,6 @@ BEGIN mld.setopdrachtstatus (v_opdr_key, 5, v_perslid_key); -- Uitgegeven mld.updatemeldingstatus (v_mld_melding_key, 0, v_perslid_key); - END IF; END; END LOOP;