RWSN#54743 KTO Meldingen rapportage (aanpassingen Marijn)

svn path=/Customer/trunk/; revision=41386
This commit is contained in:
Arthur Egberink
2019-03-07 13:48:27 +00:00
parent 2a1baaa192
commit a6c1c297d9

View File

@@ -3430,6 +3430,7 @@ CREATE OR REPLACE PACKAGE RWSN AS
FUNCTION bepaal_dienst (p_prs_perslid_key IN number) RETURN VARCHAR2;
FUNCTION bepaal_dienst2 (p_prs_perslid_key IN number) RETURN VARCHAR2;
FUNCTION afgehandelddoor (p_mld_melding_key IN number) RETURN VARCHAR2;
FUNCTION format_string_voor_rap (p_string IN VARCHAR2, p_lengte IN NUMBER) RETURN VARCHAR2;
FUNCTION bepaal_doorlooptijd (p_sla number, p_ingevoerd date, p_uitgevoerd date) RETURN NUMBER;
FUNCTION bepaal_rws_kantooruren (van_date IN DATE, tot_date IN DATE) RETURN NUMBER;
PROCEDURE rap_maand_cdbreed (user_key IN NUMBER, p_datum_van IN VARCHAR2, p_datum_tot IN VARCHAR2, p_cursor OUT t_cursor);
@@ -3607,6 +3608,28 @@ AS
END;
END afgehandelddoor;
FUNCTION format_string_voor_rap (p_string IN VARCHAR2, p_lengte IN NUMBER)
RETURN VARCHAR2
AS
v_result VARCHAR2(4000);
BEGIN
v_result := REPLACE(p_string, CHR(13));
v_result := REPLACE(v_result, CHR(10));
v_result := REPLACE(v_result, CHR(34), '*');
v_result := REPLACE(v_result, CHR(39), '*');
v_result := REPLACE(v_result, ' ', ' ');
v_result := REPLACE(v_result, ' ', ' ');
v_result := REPLACE(v_result, ' ', ' ');
v_result := TRIM(REPLACE(v_result, ' ', ' '));
IF LENGTH(v_result) > p_lengte
THEN
v_result := SUBSTR(v_result, 1, p_lengte) || '...';
END IF;
RETURN v_result;
END format_string_voor_rap;
FUNCTION bepaal_doorlooptijd (p_sla NUMBER, p_ingevoerd DATE, p_uitgevoerd DATE)
RETURN NUMBER
IS
@@ -15092,16 +15115,19 @@ END;
CREATE OR REPLACE VIEW rwsn_v_kto_melding
(
nummer,
aangemaakt,
email,
prs_perslid_voornaam,
naam,
vakgroep,
melding,
organisatie_1,
organisatie_2,
organisatie_3,
regio,
district,
locatie,
eenheid,
aangemaakt,
afgehandeld,
afm_persoon,
afm_org_3,
@@ -15109,214 +15135,129 @@ CREATE OR REPLACE VIEW rwsn_v_kto_melding
afm_org_5,
omschrijving,
afhandeling,
opmerking_1,
groep,
bedrijf,
meldingkey,
onderwerp,
vakgroep_omschrijving,
opmerking,
meedoen_in_kto,
email_extern,
kandidaatnummer,
uitvoeringoptijd,
afspraakoptijd
afspraakoptijd,
meedoen_in_kto,
onderwerp,
behandelgroep,
email_extern,
kandidaatnummer
)
AS
SELECT m.mld_melding_key,
m.mld_melding_datum,
p.prs_perslid_email,
p.prs_perslid_voornaam,
p.prs_perslid_naam,
afda.prs_afdeling_naam3, --afdelingen melder
afdb.prs_afdeling_naam,
afdc.prs_afdeling_naam,
reg.alg_regio_omschrijving,
dist.alg_district_omschrijving,
loc.alg_locatie_omschrijving,
m.mld_melding_einddatum,
behandelaar_info.PRS_PERSLID_OSLOGIN,
behandelaar_info.AFDELING_NAAM1,
behandelaar_info.AFDELING_NAAM2,
behandelaar_info.AFDELING_NAAM3,
--behandelaar_info.PRS_AFDELING_NAAM_2,
-- afh.prs_perslid_oslogin,
-- afdd.prs_afdeling_naam, --afdelingen afhandelaar
-- afde.prs_afdeling_naam,
-- afdf.prs_afdeling_naam,
SUBSTR (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
TRIM (m.mld_melding_omschrijving),
CHR (13),
''),
CHR (10),
''),
CHR (34),
'*'),
CHR (39),
'*'),
' ',
''),
' ',
''),
0,
500),
SUBSTR (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
TRIM (
stdm.mld_stdmelding_omschrijving),
CHR (13),
''),
CHR (10),
''),
CHR (34),
'*'),
CHR (39),
'*'),
' ',
''),
' ',
''),
0,
500),
SUBSTR (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (TRIM (m.mld_melding_opmerking),
CHR (13),
''),
CHR (10),
''),
CHR (34),
'*'),
CHR (39),
'*'),
' ',
''),
' ',
''),
0,
500), -- afhandelveld??
mg.mld_stdmeldinggroep_naam, -- naam groep melding
afda.prs_afdeling_naam, --valsspelen??
m.mld_melding_key,
m.mld_melding_onderwerp,
disc.ins_discipline_omschrijving,
SUBSTR (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (
REPLACE (TRIM (m.mld_melding_opmerking),
CHR (13),
''),
CHR (10),
''),
CHR (34),
'*'),
CHR (39),
'*'),
' ',
''),
' ',
''),
0,
500),
(SELECT ud.fac_usrdata_omschr
FROM mld_v_aanwezigkenmerkmelding km,
mld_kenmerk k,
fac_v_aanwezigusrdata ud
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key
AND km.MLD_MELDING_KEY = m.mld_melding_key) -- Meedoen in KTO
meedoen,
(SELECT km.mld_kenmerkmelding_waarde
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
WHERE km.MLD_MELDING_KEY = m.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 20) -- Email
email,
(SELECT km.mld_kenmerkmelding_waarde
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
WHERE km.MLD_MELDING_KEY = m.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 11151) -- Email
kandidaatnummer,
DECODE (
SIGN (
m.mld_melding_einddatum_std
- fac.gettrackingdate ('MLDAFM', m.mld_melding_key)),
-1, 'nee',
'ja')
uitvoering_volgens_sla,
DECODE (
SIGN (
m.mld_melding_einddatum
- fac.gettrackingdate ('MLDAFM', m.mld_melding_key)),
-1, 'nee',
'ja')
afspraak_volgens_sla
FROM mld_melding m,
prs_perslid p,
prs_afdeling a,
prs_v_afdeling_boom ab,
prs_v_afdeling afda,
prs_v_afdeling afdb,
prs_v_afdeling afdc,
alg_locatie loc,
alg_district dist,
alg_regio reg,
-- prs_perslid afh,
-- prs_v_afdeling_boom ab2,
-- prs_v_afdeling afdd,
-- prs_v_afdeling afde,
--prs_v_afdeling afdf,
(SELECT afh.prs_perslid_key , afh.prs_perslid_oslogin, afdd.PRS_AFDELING_NAAM afdeling_naam1, --afdelingen afhandelaar
afde.prs_afdeling_naam afdeling_naam2 ,afdf.prs_afdeling_naam afdeling_naam3
FROM prs_perslid afh, prs_v_afdeling_boom ab2, prs_v_afdeling afdd, prs_v_afdeling afde, prs_v_afdeling afdf
WHERE afh.prs_afdeling_key = ab2.prs_afdeling_key
AND ab2.prs_afdeling_key3 = afdd.prs_afdeling_key(+)
AND ab2.prs_afdeling_key4 = afde.prs_afdeling_key(+)
AND ab2.prs_afdeling_key5 = afdf.prs_afdeling_key(+)
) behandelaar_info,
mld_stdmelding stdm,
mld_stdmeldinggroep mg,
mld_discipline disc
WHERE m.mld_melding_status IN (5, 6)
AND m.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key
AND p.prs_afdeling_key = ab.prs_afdeling_key
AND ab.prs_afdeling_key1 = afda.prs_afdeling_key
AND ab.prs_afdeling_key2(+) = afdb.prs_afdeling_key
AND ab.prs_afdeling_key3(+) = afdc.prs_afdeling_key
AND m.mld_alg_locatie_key = loc.alg_locatie_key
AND loc.alg_district_key = dist.alg_district_key
AND dist.alg_regio_key = reg.alg_regio_key
AND m.mld_melding_behandelaar_key = behandelaar_info.PRS_PERSLID_KEY(+)
--AND afh.prs_afdeling_key = ab2.prs_afdeling_key
-- AND ab2.prs_afdeling_key3 = afdd.prs_afdeling_key(+)
--AND ab2.prs_afdeling_key4 = afde.prs_afdeling_key(+)
-- AND ab2.prs_afdeling_key5 = afdf.prs_afdeling_key(+)
AND stdm.mld_stdmelding_key = m.mld_stdmelding_key
AND mg.mld_stdmeldinggroep_key(+) = stdm.mld_stdmeldinggroep_key
AND stdm.mld_ins_discipline_key = disc.ins_discipline_key
AND m.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'mm');
SELECT sd.ins_srtdiscipline_prefix || m.mld_melding_key nummer,
p.prs_perslid_email email,
p.prs_perslid_voornaam,
p.prs_perslid_naam naam,
disc.ins_discipline_omschrijving vakgroep,
rwsn.format_string_voor_rap (stdm.mld_stdmelding_omschrijving, 500) melding,
afd1_m.prs_afdeling_omschrijving organisatie_1,
afd2_m.prs_afdeling_omschrijving organisatie_2,
afd3_m.prs_afdeling_omschrijving organisatie_3,
COALESCE(lm.alg_regio_omschrijving, lwp.alg_regio_omschrijving) regio,
COALESCE(lm.alg_district_omschrijving, lwp.alg_district_omschrijving) district,
COALESCE(lm.alg_locatie_omschrijving, lwp.alg_locatie_omschrijving) locatie,
sd.ins_srtdiscipline_omschrijving eenheid,
m.mld_melding_datum aangemaakt,
t.fac_tracking_datum afgehandeld,
p_afm.prs_perslid_oslogin afm_persoon,
afd3_afm.prs_afdeling_omschrijving afm_org_3,
afd4_afm.prs_afdeling_omschrijving afm_org_4,
afd5_afm.prs_afdeling_omschrijving afm_org_5,
rwsn.format_string_voor_rap (m.mld_melding_omschrijving, 500) omschrijving,
rwsn.format_string_voor_rap (m.mld_melding_opmerking, 500) afhandeling,
mg.mld_stdmeldinggroep_naam groep,
b.prs_bedrijf_naam bedrijf,
m.mld_melding_key meldingkey,
DECODE ( SIGN (m.mld_melding_einddatum_std - t.fac_tracking_datum), -1, 'nee', 'ja') uitvoering_volgens_sla,
DECODE ( SIGN (m.mld_melding_einddatum - t.fac_tracking_datum), -1, 'nee', 'ja') afspraak_volgens_sla,
(SELECT MAX (ud.fac_usrdata_omschr)
FROM mld_v_aanwezigkenmerkmelding km,
mld_kenmerk k,
fac_v_aanwezigusrdata ud
WHERE km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 1
AND fac.safe_to_number (km.mld_kenmerkmelding_waarde) =
ud.fac_usrdata_key
AND km.MLD_MELDING_KEY = m.mld_melding_key) -- Meedoen in KTO
meedoen,
m.mld_melding_onderwerp,
bg.mld_behandelgroep_naam behandelgroep,
(SELECT MAX (km.mld_kenmerkmelding_waarde) -- Kenmerken komen soms op stdmelding en vakgroep voor.
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
WHERE km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_kenmerk_verwijder IS NULL
AND k.mld_srtkenmerk_key = 20) -- Email
email,
(SELECT km.mld_kenmerkmelding_waarde
FROM mld_v_aanwezigkenmerkmelding km, mld_kenmerk k
WHERE km.MLD_MELDING_KEY = m.mld_melding_key
AND km.mld_kenmerk_key = k.mld_kenmerk_key
AND k.mld_srtkenmerk_key = 11151) -- Kandidaatnummer
kandidaatnummer
FROM mld_melding m,
prs_perslid p,
prs_v_afdeling_boom ab_m,
prs_afdeling afd1_m,
prs_afdeling afd2_m,
prs_afdeling afd3_m,
alg_v_locatie_gegevens lm,
alg_v_locatie_gegevens lwp,
prs_perslid p_afm,
prs_v_afdeling_boom ab_afm,
prs_afdeling afd3_afm,
prs_afdeling afd4_afm,
prs_afdeling afd5_afm,
(SELECT prs_perslid_key, alg_locatie_key
FROM prs_v_perslidwerkplek_gegevens pwg
WHERE NOT EXISTS
(SELECT pwg2.prs_perslidwerkplek_key
FROM prs_v_perslidwerkplek_gegevens pwg2
WHERE pwg2.prs_perslidwerkplek_key <
pwg.prs_perslidwerkplek_key
AND pwg.prs_perslid_key = pwg2.prs_perslid_key)) melder_wp,
(SELECT mt.mld_melding_key, MAX(fac_tracking_key) fac_tracking_key
FROM mld_melding mt, fac_tracking t, fac_srtnotificatie sn
WHERE mt.mld_melding_key = t.fac_tracking_refkey
AND t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key
AND sn.fac_srtnotificatie_code = 'MLDAFM'
AND mt.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'mm')
GROUP BY mt.mld_melding_key)afm,
mld_stdmelding stdm,
mld_stdmeldinggroep mg,
ins_tab_discipline disc,
ins_srtdiscipline sd,
fac_tracking t,
prs_bedrijf b,
mld_disc_params dp,
mld_behandelgroep bg
WHERE m.mld_melding_status IN (5, 6)
AND m.prs_perslid_key = p.prs_perslid_key
AND m.mld_melding_key = afm.mld_melding_key(+)
AND afm.fac_tracking_key = t.fac_tracking_key(+)
AND t.prs_perslid_key = p_afm.prs_perslid_key(+)
AND m.prs_perslid_key = melder_wp.prs_perslid_key(+)
AND p.prs_afdeling_key = ab_m.prs_afdeling_key(+)
AND ab_m.prs_afdeling_key1 = afd1_m.prs_afdeling_key(+)
AND ab_m.prs_afdeling_key2 = afd2_m.prs_afdeling_key(+)
AND ab_m.prs_afdeling_key3 = afd3_m.prs_afdeling_key(+)
AND ab_m.prs_bedrijf_key = b.prs_bedrijf_key(+)
AND m.mld_alg_locatie_key = lm.alg_locatie_key(+)
AND melder_wp.alg_locatie_key = lwp.alg_locatie_key(+)
AND p_afm.prs_afdeling_key = ab_afm.prs_afdeling_key(+)
AND ab_afm.prs_afdeling_key3 = afd3_afm.prs_afdeling_key(+)
AND ab_afm.prs_afdeling_key4 = afd4_afm.prs_afdeling_key(+)
AND ab_afm.prs_afdeling_key5 = afd5_afm.prs_afdeling_key(+)
AND m.mld_stdmelding_key = stdm.mld_stdmelding_key(+)
AND stdm.mld_stdmeldinggroep_key = mg.mld_stdmeldinggroep_key(+)
AND stdm.mld_ins_discipline_key = disc.ins_discipline_key(+)
AND disc.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND disc.ins_discipline_key = dp.mld_ins_discipline_key(+)
AND dp.mld_behandelgroep_key = bg.mld_behandelgroep_key(+)
AND m.mld_melding_datum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'mm');