Files
Database/CARE/CARE_VIE.SRC
Peter Feij 5579d0dd53 FCLT#69887 Het einde van Qlikview
svn path=/Database/trunk/; revision=58476
2023-01-02 09:36:33 +00:00

7287 lines
260 KiB
Plaintext

#ifdef CARE
/* CARE_VIE.SRC
* $Revision$
* $Id$
*/
CREATE_VIEW( care_v_gemeente, 0)
AS
SELECT gemeente.alg_locatie_key,
gemeente.alg_locatie_code,
gemeente.alg_locatie_omschrijving,
gemeente.alg_locatie_adres,
gemeente.alg_locatie_postcode,
gemeente.alg_locatie_plaats,
gemeente.alg_locatie_post_adres,
gemeente.alg_locatie_post_postcode,
gemeente.alg_locatie_post_plaats,
gemeente.alg_locatie_verantw,
gemeente.alg_locatie_x,
gemeente.alg_locatie_y,
coalesce(fac.safe_to_number(K.ALG_ONRGOEDKENMERK_WAARDE),0) as alg_locatie_veiling,
coalesce(fac.safe_to_number(K2.ALG_ONRGOEDKENMERK_WAARDE),0) as gemeente_budget,
coalesce(fac.safe_to_number(K3.ALG_ONRGOEDKENMERK_WAARDE),0) as gemeente_ob
FROM alg_locatie gemeente, alg_onrgoedkenmerk k, alg_onrgoedkenmerk k2, alg_onrgoedkenmerk k3
WHERE gemeente.alg_locatie_verwijder IS NULL
AND k.alg_onrgoed_niveau (+) = 'L'
AND k.alg_kenmerk_key (+) = 1006
AND k.alg_onrgoed_key (+) = alg_locatie_key
AND k2.alg_onrgoed_niveau (+) = 'L'
AND k2.alg_kenmerk_key (+) = 1007
AND k2.alg_onrgoed_key (+) = alg_locatie_key
AND k3.alg_onrgoed_niveau (+) = 'L'
AND k3.alg_kenmerk_key (+) = 1008
AND k3.alg_onrgoed_key (+) = alg_locatie_key;
-- Let op de decode: dit is een mapping van locatie-kenmerk op melding-kenmerk, die elders aan elkaar worden gelinked.
-- Decode-Mapping: van alg-kenmerk_key 1000 -> fac_usrdata_key 1 (HV1)
-- Decode-Mapping: van alg-kenmerk_key 1001 -> fac_usrdata_key 2 (HV2)
-- Decode-Mapping: van alg-kenmerk_key 1002 -> fac_usrdata_key 3 (HV3)
-- duedatum is datum tot en met (!) het tarief geldig is, de dag erop volgende dus niet meer, dan is het volgende tarief geldig.
CREATE_VIEW( care_v_gemeente_tarieven, 0)
(alg_locatie_key, product_code, tarief, duedatum)
AS
SELECT alg_onrgoed_key,
DECODE (alg_kenmerk_key, 1000, 1, 1001, 2, 1002, 3, NULL),
COALESCE (fac.safe_to_number (alg_onrgoedkenmerk_waarde), 0),
alg_onrgoedkenmerk_verwijder
FROM alg_onrgoedkenmerk, alg_locatie l
WHERE alg_onrgoed_niveau = 'L'
AND alg_kenmerk_key IN (1000,1001,1002)
AND alg_onrgoed_key = alg_locatie_key
AND alg_locatie_verwijder IS NULL;
-- View met alle geregistreerde clienten (ongeacht of ze een lopende beschikking hebben).
-- Let op de afdelings-key 22 (= afdeling waar alle clienten in zitten) in onderstaande view:
-- Let op de ud.fac_usrdata_key = 48 (= setting mbt expliciet clientnr of impliet (=prs_perslid_key)
CREATE_VIEW( care_v_client, 0)
AS
SELECT client.prs_perslid_key prs_client_key,
client.prs_perslid_naam prs_client_naam,
client.prs_perslid_tussenvoegsel prs_client_tussenvoegsel,
client.prs_perslid_voorletters prs_client_voorletters,
client.prs_perslid_voornaam prs_client_voornaam,
client.fac_profiel_key prs_client_cak_actie,
DECODE (ud.fac_usrdata_omschr,
1, client.prs_perslid_nr,
client.prs_perslid_key)
prs_client_nr,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1020)
client_bsn,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1001)
client_meisjesnaam,
(SELECT DECODE (kl.prs_kenmerklink_waarde,
21, 'M',
22, 'V',
NULL)
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1061)
client_mv,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1002)
client_geboortedatum,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1003)
client_adres,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1040)
client_huisnr,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1004)
client_postcode,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1005)
client_woonplaats,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1006)
client_telefoon_thuis,
client.prs_perslid_telefoonnr client_telefoon_werk,
client.prs_perslid_mobiel prs_client_mobiel,
client.prs_perslid_email prs_client_email,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1041)
client_bijzonderheden,
client.prs_perslid_verwijder
FROM prs_perslid client, fac_usrdata ud
WHERE client.prs_afdeling_key = 22 AND ud.fac_usrdata_key = 48;
-- view tbv van het controle rapport FSN#20131 op aanwezige clienten
CREATE OR REPLACE FORCE VIEW CARE_V_AANWEZIG_CLIENT
AS
SELECT prs_client_key,
prs_client_naam,
prs_client_tussenvoegsel,
prs_client_voorletters,
prs_client_voornaam,
prs_client_nr,
prs_client_cak_actie,
client_bsn,
client_meisjesnaam,
client_mv,
client_geboortedatum,
client_adres,
client_huisnr,
client_postcode,
client_woonplaats,
client_telefoon_thuis,
client_telefoon_werk,
prs_client_mobiel,
prs_client_email,
client_bijzonderheden
FROM care_v_client
WHERE prs_perslid_verwijder IS NULL;
-- rapport controle cak rapport FSN#20131
CREATE_VIEW( care_v_cak_clientcontrole, 0)
(
fclt_f_client_naam,
client_voornaam,
client_voorletters,
bsn,
clientnummer,
postcode,
huisnummer,
fclt_f_foutmelding,
fout_code
)
AS
WITH XX AS (SELECT * FROM CARE_V_AANWEZIG_CLIENT)
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Waarschuwing: Deze client staat gemarkeerd: vorige keer zorguren naar CAK vergeten' foutmelding,
'W'
FROM XX
WHERE prs_client_cak_actie = 1
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Waarschuwing: Deze client staat gemarkeerd m.b.t. correctie zorguren' foutmelding,
'W'
FROM XX
WHERE prs_client_cak_actie = 2
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Geen clientnummer ingevuld' foutmelding,
'E'
FROM XX
WHERE prs_client_nr IS NULL
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Voorletters niet ingevuld' foutmelding,
'E'
FROM XX
WHERE prs_client_voorletters IS NULL
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Client nummer bevat foutieve tekens' foutmelding,
'E'
FROM XX
WHERE LENGTH (TRIM (TRANSLATE (prs_client_nr, ' 0123456789', ' '))) IS NOT NULL
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'BSN bevat foutieve tekens' foutmelding,
'E'
FROM XX
WHERE LENGTH (TRIM (TRANSLATE (client_bsn, ' 0123456789', ' '))) IS NOT NULL
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Client nummer is niet uniek' foutmelding,
'E'
FROM XX
WHERE prs_client_nr IN ( SELECT prs_client_nr
FROM XX
GROUP BY prs_client_nr
HAVING (COUNT (prs_client_nr) > 1))
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'BSN nummer is niet uniek' foutmelding,
'E'
FROM XX
WHERE client_bsn IN ( SELECT client_bsn
FROM XX
GROUP BY client_bsn
HAVING (COUNT (client_bsn) > 1))
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'BSN nummer is niet 8 of 9 cijfers' foutmelding,
'E'
FROM XX
WHERE LENGTH(client_bsn) NOT IN (8,9)
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'BSN nummer voldoet niet aan de 11-proef' foutmelding,
'E'
FROM XX
WHERE mod (fac.safe_to_number(SUBSTR(client_bsn,1,1)) * 9 +
fac.safe_to_number(SUBSTR(client_bsn,2,1)) * 8 +
fac.safe_to_number(SUBSTR(client_bsn,3,1)) * 7 +
fac.safe_to_number(SUBSTR(client_bsn,4,1)) * 6 +
fac.safe_to_number(SUBSTR(client_bsn,5,1)) * 5 +
fac.safe_to_number(SUBSTR(client_bsn,6,1)) * 4 +
fac.safe_to_number(SUBSTR(client_bsn,7,1)) * 3 +
fac.safe_to_number(SUBSTR(client_bsn,8,1)) * 2 +
fac.safe_to_number(SUBSTR(client_bsn,9,1)) * -1 , 11) <> 0
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Huisnummer begint niet met een cijfer, bevat een spatie of is leeg' foutmelding,
'E'
FROM XX
WHERE LENGTH(TRIM(TRANSLATE (SUBSTR (client_huisnr, 1, 1),
' 0123456789',
' '))) IS NOT NULL
OR client_huisnr IS NULL
OR client_huisnr like ('% %')
UNION ALL
SELECT prs_client_naam,
prs_client_voornaam,
prs_client_voorletters,
client_bsn,
prs_client_nr,
client_postcode,
client_huisnr,
'Onjuist formaat van postcode (1234 AA)' foutmelding,
'E'
FROM XX
WHERE NOT REGEXP_LIKE (
client_postcode,
'^[1234567890][1234567890][1234567890][1234567890] [ABCDEFGHIJKLMNOPQRSTUVWXYZ][ABCDEFGHIJKLMNOPQRSTUVWXYZ]$')
ORDER BY 1, 8;
-- 'De teamleiders obv WEB_ORDBOF'
CREATE_VIEW( care_v_teamleider, 0)
AS
SELECT p.prs_perslid_key,
p.prs_perslid_naam,
p.prs_perslid_voornaam,
p.prs_perslid_voorletters,
d.ins_discipline_key,
d.ins_discipline_omschrijving
FROM prs_perslid p, mld_discipline d, fac_groeprechten gr, fac_gebruikersgroep gg, fac_functie f
WHERE p.prs_perslid_key = gg.prs_perslid_key
AND gr.fac_groep_key = gg.fac_groep_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_ORDBOF'
AND (gr.fac_gebruiker_prs_level_write < 9 OR gr.fac_gebruiker_alg_level_write < 9);
-- 'De teams incl. teamleden obv WEB_MLDORD'
CREATE_VIEW( care_v_teamlid, 0)
AS
SELECT p.prs_perslid_key,
p.prs_perslid_naam,
p.prs_perslid_voornaam,
p.prs_perslid_voorletters,
d.ins_discipline_key,
d.ins_discipline_omschrijving
FROM prs_perslid p, mld_discipline d, fac_groeprechten gr, fac_gebruikersgroep gg, fac_functie f
WHERE p.prs_perslid_key = gg.prs_perslid_key
AND gr.fac_groep_key = gg.fac_groep_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_MLDORD';
-- Teamlid welke nu (!), op dit moment (!) een (of meer) lopende opdracht(en) heeft.
CREATE_VIEW( care_v_actief_teamlid, 0)
AS
SELECT p.prs_perslid_key,
p.prs_perslid_naam,
p.prs_perslid_voornaam,
p.prs_perslid_voorletters,
o.mld_melding_key,
o.mld_opdr_key
FROM prs_perslid p, mld_opdr o
WHERE p.prs_perslid_key = o.mld_uitvoerende_keys AND o.mld_opdr_datumbegin <= TRUNC (SYSDATE)
AND o.mld_opdr_einddatum >= TRUNC (SYSDATE);
-- View met alle geregistreerde verzorgers (ongeacht of ze een lopende opdracht hebben) op basis van afdelingskey
-- Elke perslid die rechten heeft om een zorg-opdracht in een team kan uitvoeren (WEB_MLDORD), is (potentieel) verzorger
CREATE_VIEW( care_v_verzorger, 0)
AS
SELECT verzorger.prs_perslid_key prs_perslid_key,
verzorger.prs_perslid_nr prs_verzorger_personeelsnr,
verzorger.prs_perslid_naam prs_verzorger_naam,
verzorger.prs_perslid_tussenvoegsel prs_verzorger_tussenvoegsel,
verzorger.prs_perslid_voorletters prs_verzorger_voorletters,
verzorger.prs_perslid_voornaam prs_verzorger_voornaam,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1020)
verzorger_bsn,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1001)
verzorger_meisjesnaam,
(SELECT DECODE (kl.prs_kenmerklink_waarde, 21, 'M', 22, 'V', NULL)
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1061)
verzorger_mv,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1002)
verzorger_geboortedatum,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1003)
verzorger_adres,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1040)
verzorger_huisnr,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1004)
verzorger_postcode,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1005)
verzorger_woonplaats,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1006)
verzorger_telefoon_thuis,
verzorger.prs_perslid_telefoonnr verzorger_telefoon_werk,
verzorger.prs_perslid_mobiel prs_verzorger_mobiel,
verzorger.prs_perslid_email prs_verzorger_email,
sp.prs_srtperslid_omschrijving prs_verzorger_functie,
verzorger.prs_perslid_dienstverband prs_verzorger_dienstverband,
verzorger.prs_perslid_ingangsdatum prs_verzorger_ingangsdatum,
verzorger.prs_perslid_einddatum prs_verzorger_einddatum,
verzorger.prs_perslid_verwijder prs_verzorger_verwijder,
(SELECT DECODE (kl.prs_kenmerklink_waarde, 81, 'J', 82, 'N', NULL)
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1065)
auto_rijbewijs,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1041)
verzorger_bijzonderheden
FROM prs_perslid verzorger, prs_srtperslid sp
WHERE verzorger.prs_srtperslid_key = sp.prs_srtperslid_key;
CREATE_VIEW( care_v_verzorger_in_teams, 0)
AS
SELECT v.prs_perslid_key,
v.prs_verzorger_naam,
v.prs_verzorger_tussenvoegsel,
v.prs_verzorger_voorletters,
v.prs_verzorger_voornaam,
v.verzorger_bsn,
v.verzorger_meisjesnaam,
v.verzorger_mv,
v.verzorger_geboortedatum,
v.verzorger_adres,
v.verzorger_huisnr,
v.verzorger_postcode,
v.verzorger_woonplaats,
v.verzorger_telefoon_thuis,
v.verzorger_telefoon_werk,
v.prs_verzorger_mobiel,
v.prs_verzorger_email,
v.prs_verzorger_functie,
v.prs_verzorger_dienstverband,
v.prs_verzorger_ingangsdatum,
v.prs_verzorger_einddatum,
v.prs_verzorger_verwijder,
v.verzorger_bijzonderheden,
tlid.ins_discipline_key team_key,
tlid.ins_discipline_omschrijving team_naam
FROM care_v_teamlid tlid, care_v_verzorger v
WHERE v.prs_perslid_key = tlid.prs_perslid_key;
-- 'De administratie: Gerda/Anja/Susanne'
-- De personen voor de intake beschikkingen en de controle-functie hebben dat overeenkomstig de beschikkingen opdrachten
-- worden uitgegeven.
-- Deze view wordt gebruikt in de view care_v_noti_urenconflict voor het actief signaleren van conflicten in uren
-- tussen beschikkigen en uitgegeven opdrachten.
CREATE_VIEW( care_v_controller, 0)
AS
SELECT p.prs_perslid_key, p.prs_perslid_naam, p.prs_perslid_voornaam, p.prs_perslid_voorletters
FROM prs_perslid p
WHERE EXISTS
(SELECT d.ins_discipline_key
FROM mld_discipline d, fac_groeprechten gr, fac_gebruikersgroep gg, fac_functie f
WHERE gg.prs_perslid_key = p.prs_perslid_key
AND gr.fac_groep_key = gg.fac_groep_key
AND gr.ins_discipline_key = d.ins_discipline_key
AND gr.fac_functie_key = f.fac_functie_key
AND f.fac_functie_code = 'WEB_MLDFOF');
-- Deze view is de totale view van alle beschikkingen met bijbehorende gegevens
-- Uitleg: d.ins_srtdiscipline_key = 1 (dit zijn de beschikking-meldingen, van vakgroeptype_key=1)
CREATE_VIEW( care_v_beschikking_all, 0)
(
mld_melding_key,
mld_melding_status,
gemeente_key,
gemeente_code,
gemeente_omschrijving,
gemeente_adres,
gemeente_postcode,
gemeente_plaats,
gemeente_post_adres,
gemeente_post_postcode,
gemeente_post_plaats,
gemeente_contactpersoon,
gemeente_factnr_infix,
gemeente_factnr_suffix,
gemeente_hv1_code,
gemeente_hv2_code,
gemeente_veiling,
gemeente_budget,
gemeente_ob,
prs_client_key,
prs_client_naam,
prs_client_tussenvoegsel,
prs_client_voorletters,
prs_client_voornaam,
prs_client_nr,
prs_client_cak_actie,
client_bsn,
client_meisjesnaam,
client_mv,
client_geboortedatum,
client_adres,
client_huisnr,
client_postcode,
client_woonplaats,
client_telefoon_thuis,
client_telefoon_werk,
prs_client_mobiel,
prs_client_email,
client_bijzonderheden,
client_contactpersonen,
beschikking_datum_van,
beschikking_week_van,
beschikking_jaar_van,
beschikking_maandag_van_std,
beschikking_maandag_van,
beschikking_datum_tot,
beschikking_week_tot,
beschikking_jaar_tot,
beschikking_maandag_tot_std,
beschikking_maandag_tot,
beschikking_afmeld_datum,
pgb,
product_code,
product,
pgb_tarief,
uren_beschikking,
beschikking_nr,
beschikking_omschr,
ins_discipline_key,
ins_discipline_omschrijving,
alt_hv1,
alt_hv2,
alt_hv3,
alt_hv1_start,
alt_hv2_start,
alt_hv3_start
)
AS
SELECT m.mld_melding_key,
m.mld_melding_status,
gemeente.alg_locatie_key,
gemeente.alg_locatie_code,
gemeente.alg_locatie_omschrijving,
gemeente.alg_locatie_adres,
gemeente.alg_locatie_postcode,
gemeente.alg_locatie_plaats,
gemeente.alg_locatie_post_adres,
gemeente.alg_locatie_post_postcode,
gemeente.alg_locatie_post_plaats,
gemeente.alg_locatie_verantw,
(SELECT ok.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 1004
AND ok.alg_onrgoedkenmerk_verwijder IS NULL),
(SELECT ok.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 1005
AND ok.alg_onrgoedkenmerk_verwijder IS NULL),
gemeente.alg_locatie_x,
gemeente.alg_locatie_y,
gemeente.alg_locatie_veiling,
gemeente.gemeente_budget,
gemeente.gemeente_ob,
client.prs_perslid_key prs_client_key,
client.prs_perslid_naam prs_client_naam,
client.prs_perslid_tussenvoegsel prs_client_tussenvoegsel,
client.prs_perslid_voorletters prs_client_voorletters,
client.prs_perslid_voornaam prs_client_voornaam,
client.prs_perslid_nr prs_client_nr,
client.fac_profiel_key prs_client_cak_actie,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1020)
client_bsn,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1001)
client_meisjesnaam,
(SELECT DECODE (kl.prs_kenmerklink_waarde, 21, 'M', 22, 'V', NULL)
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1061)
client_mv,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1002)
client_geboortedatum,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1003)
client_adres,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1040)
client_huisnr,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1004)
client_postcode,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1005)
client_woonplaats,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1006)
client_telefoon_thuis,
client.prs_perslid_telefoonnr client_telefoon_werk,
client.prs_perslid_mobiel prs_client_mobiel,
client.prs_perslid_email prs_client_email,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1041)
client_bijzonderheden,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = client.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 2000)
client_contactpersonen,
m.mld_melding_datum beschikking_datum_van,
TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'IW'))
beschikking_week_van,
TO_NUMBER (TO_CHAR (m.mld_melding_datum, 'IYYY'))
beschikking_jaar_van,
(TRUNC (mld_melding_datum)
- DECODE (TO_CHAR (mld_melding_datum, 'D'),
'1', 8,
TO_CHAR (mld_melding_datum, 'D'))
+ 2)
beschikking_maandag_van_std,
care.goodmonday_start (m.mld_melding_key) beschikking_maandag_van,
m.mld_melding_einddatum beschikking_datum_tot,
TO_NUMBER (TO_CHAR (m.mld_melding_einddatum, 'IW'))
beschikking_week_tot,
TO_NUMBER (TO_CHAR (m.mld_melding_einddatum, 'IYYY'))
beschikking_jaar_tot,
(TRUNC (mld_melding_einddatum) + 7
- DECODE (TO_CHAR (mld_melding_einddatum, 'D'),
'1', 8,
TO_CHAR (mld_melding_einddatum, 'D'))
+ 2)
beschikking_maandag_tot_std,
care.goodmonday_end (m.mld_melding_key) beschikking_maandag_tot,
fac.gettrackingdate ('MLDAFM', m.mld_melding_key),
m.prs_kostenplaats_key pgb,
(SELECT fac.safe_to_number (km.mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerkmelding_verwijder IS NULL
AND mld_kenmerk_key = 2)
product_code,
(SELECT ud.fac_usrdata_code
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerkmelding_verwijder IS NULL
AND mld_kenmerk_key = 2
AND ud.fac_usrdata_key =
fac.safe_to_number (km.mld_kenmerkmelding_waarde))
product,
COALESCE (
(SELECT fac.safe_to_number (km.mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerkmelding_verwijder IS NULL
AND mld_kenmerk_key = 4),
0)
tarief,
(SELECT fac.safe_to_number (km.mld_kenmerkmelding_waarde)
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerkmelding_verwijder IS NULL
AND mld_kenmerk_key = 3)
uren_beschikking,
(SELECT km.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding km
WHERE km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerkmelding_verwijder IS NULL
AND mld_kenmerk_key = 1)
beschikking_nr,
mld_melding_omschrijving,
std.mld_ins_discipline_key,
ins_discipline_omschrijving,
(SELECT ok.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 2000
AND ok.alg_onrgoedkenmerk_verwijder IS NULL)
alt_hv1,
(SELECT ok.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 2001
AND ok.alg_onrgoedkenmerk_verwijder IS NULL)
alt_hv2,
(SELECT ok.alg_onrgoedkenmerk_waarde
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 2002
AND ok.alg_onrgoedkenmerk_verwijder IS NULL)
alt_hv3,
(SELECT TO_NUMBER(TO_CHAR (
TO_DATE (ok.alg_onrgoedkenmerk_waarde,
'DD-MM-YYYY'),
'IYYY'))
|| LPAD (
LEAST (
FLOOR( (TO_CHAR (
TO_DATE (ok.alg_onrgoedkenmerk_waarde,
'DD-MM-YYYY'),
'IW')
- 1)
/ 4)
+ 1,
13),
2,
'0')
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 2003
AND ok.alg_onrgoedkenmerk_verwijder IS NULL)
alt_hv1_start,
(SELECT TO_NUMBER(TO_CHAR (
TO_DATE (ok.alg_onrgoedkenmerk_waarde,
'DD-MM-YYYY'),
'IYYY'))
|| LPAD (
LEAST (
FLOOR( (TO_CHAR (
TO_DATE (ok.alg_onrgoedkenmerk_waarde,
'DD-MM-YYYY'),
'IW')
- 1)
/ 4)
+ 1,
13),
2,
'0')
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 2004
AND ok.alg_onrgoedkenmerk_verwijder IS NULL)
alt_hv2_start,
(SELECT TO_NUMBER(TO_CHAR (
TO_DATE (ok.alg_onrgoedkenmerk_waarde,
'DD-MM-YYYY'),
'IYYY'))
|| LPAD (
LEAST (
FLOOR( (TO_CHAR (
TO_DATE (ok.alg_onrgoedkenmerk_waarde,
'DD-MM-YYYY'),
'IW')
- 1)
/ 4)
+ 1,
13),
2,
'0')
FROM alg_onrgoedkenmerk ok
WHERE ok.alg_onrgoed_key = gemeente.alg_locatie_key
AND ok.alg_onrgoed_niveau = 'L'
AND ok.alg_kenmerk_key = 2005
AND ok.alg_onrgoedkenmerk_verwijder IS NULL)
alt_hv3_start
FROM care_v_gemeente gemeente,
prs_perslid client,
mld_melding m,
mld_stdmelding std,
ins_tab_discipline d
WHERE m.mld_alg_locatie_key = gemeente.alg_locatie_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND m.mld_melding_status <> 1
AND d.ins_discipline_key = std.mld_ins_discipline_key
AND d.ins_srtdiscipline_key = 1
AND m.prs_perslid_key = client.prs_perslid_key;
-- Deze view is de totale view van alle productieve, bestede uren op beschikkingen, op welke opdracht, door wie op welk moment
CREATE_VIEW( care_v_bestede_uren_all, 0)
AS
SELECT o.mld_melding_key,
o.mld_opdr_key,
o.mld_opdr_datumbegin,
TRUNC (o.mld_opdr_einddatum) einddatum,
o.mld_opdr_uren uren_opdracht,
verzorger.prs_perslid_key,
verzorger.prs_perslid_naam,
verzorger.prs_perslid_tussenvoegsel,
verzorger.prs_perslid_voorletters,
verzorger.prs_perslid_voornaam,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1020)
bsn,
verzorger.prs_perslid_nr nr_verzorger,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1001)
meisjesnaam,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1002)
geboortedatum,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1003)
adres,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1004)
postcode,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1006)
telefoon_thuis,
verzorger.prs_perslid_telefoonnr telefoon_werk,
verzorger.prs_perslid_mobiel,
verzorger.prs_perslid_email,
verzorger.prs_perslid_dienstverband,
ou.mld_opdr_uren_key,
TO_NUMBER (TO_CHAR (ou.mld_opdr_uren_datum, 'IYYY')) jaar,
TO_NUMBER (TO_CHAR (ou.mld_opdr_uren_datum, 'IW')) weeknr,
LEAST(FLOOR((TO_CHAR (ou.mld_opdr_uren_datum,'IW') - 1) /4) + 1, 13) periodenr,
( TRUNC (ou.mld_opdr_uren_datum)
- DECODE (TO_CHAR (ou.mld_opdr_uren_datum, 'D'), '1', 8, TO_CHAR (ou.mld_opdr_uren_datum, 'D'))
+ 2)
maandag_vandeweek,
ou.mld_opdr_uren_datum datum_gewerkt,
ou.mld_opdr_uren_besteed uren_besteed,
ou.mld_opdr_uren_status uren_status
FROM mld_opdr o, mld_opdr_uren ou, prs_perslid verzorger
WHERE ou.mld_opdr_key = o.mld_opdr_key AND ou.prs_perslid_key = verzorger.prs_perslid_key;
-- Deze view is de totale view van alle IMproductieve, bestede uren (verlof, ziekte, arts, werkoverleg) door wie op welk moment
CREATE_VIEW( care_v_improductieve_uren_all, 0)
AS
SELECT o.mld_impropdr_key,
o.mld_impropdr_code,
o.mld_impropdr_omschrijving,
verzorger.prs_perslid_key,
verzorger.prs_perslid_naam,
verzorger.prs_perslid_tussenvoegsel,
verzorger.prs_perslid_voorletters,
verzorger.prs_perslid_voornaam,
verzorger.prs_perslid_nr,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1020)
bsn,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1001)
meisjesnaam,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1002)
geboortedatum,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1003)
adres,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1004)
postcode,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1006)
telefoon_thuis,
verzorger.prs_perslid_telefoonnr telefoon_werk,
verzorger.prs_perslid_mobiel,
verzorger.prs_perslid_email,
verzorger.prs_perslid_dienstverband,
ou.mld_opdr_uren_key,
TO_NUMBER (TO_CHAR (ou.mld_opdr_uren_datum, 'IYYY')) jaar,
TO_NUMBER (TO_CHAR (ou.mld_opdr_uren_datum, 'IW')) weeknr,
LEAST(FLOOR((TO_CHAR (ou.mld_opdr_uren_datum,'IW') - 1) /4) + 1, 13) periodenr,
( TRUNC (ou.mld_opdr_uren_datum)
- DECODE (TO_CHAR (ou.mld_opdr_uren_datum, 'D'), '1', 8, TO_CHAR (ou.mld_opdr_uren_datum, 'D'))
+ 2)
maandag_vandeweek,
ou.mld_opdr_uren_datum datum_gewerkt,
ou.mld_opdr_uren_besteed uren_besteed,
ou.mld_opdr_uren_status uren_status
FROM mld_impropdr o, mld_opdr_uren ou, prs_perslid verzorger
WHERE ou.mld_impropdr_key = o.mld_impropdr_key AND ou.prs_perslid_key = verzorger.prs_perslid_key;
-- UNION van de tabellen care_v_bestede_uren_all en care_v_improductieve_uren_all
-- Dus zowel de productieve als improductieve uren
CREATE_VIEW( care_v_totaal_uren_all, 0)
AS
SELECT prs_perslid_key,
mld_melding_key,
mld_opdr_key AS opdracht_key,
'P' AS opdracht_type,
mld_opdr_uren_key,
jaar,
periodenr,
weeknr,
maandag_vandeweek,
datum_gewerkt,
uren_besteed,
uren_status
FROM care_v_bestede_uren_all
UNION ALL
SELECT prs_perslid_key,
NULL AS mld_melding_key,
mld_impropdr_key AS opdracht_key,
'I' AS opdracht_type,
mld_opdr_uren_key,
jaar,
periodenr,
weeknr,
maandag_vandeweek,
datum_gewerkt,
uren_besteed,
uren_status
FROM care_v_improductieve_uren_all;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van deze(!) week niet hebben ingeleverd
-- Want ieder teamlid moet een weekbrief inleveren, en bij geen gemaakt uren moet 0 worden ingevuld.
-- Teamleden zonder opdrachten kunnen (in principe) ook niets invullen.
CREATE_VIEW( care_v_missing_weekbrief_0, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE) - DECODE (TO_CHAR (SYSDATE, 'D'), '1', 8, TO_CHAR (SYSDATE, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE (TRUNC (SYSDATE) - DECODE (TO_CHAR (SYSDATE, 'D'), '1', 8, TO_CHAR (SYSDATE, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van vorige(!) week niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_1, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE - 7) - DECODE (TO_CHAR (SYSDATE - 7, 'D'), '1', 8, TO_CHAR (SYSDATE - 7, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE ( TRUNC (SYSDATE - 7)
- DECODE (TO_CHAR (SYSDATE - 7, 'D'), '1', 8, TO_CHAR (SYSDATE - 7, 'D'))
+ 2) = uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van 2(!) week geleden niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_2, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE - 14) - DECODE (TO_CHAR (SYSDATE - 14, 'D'), '1', 8, TO_CHAR (SYSDATE - 14, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE ( TRUNC (SYSDATE - 14)
- DECODE (TO_CHAR (SYSDATE - 14, 'D'), '1', 8, TO_CHAR (SYSDATE - 14, 'D'))
+ 2) = uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van 3(!) week geleden niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_3, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE - 21) - DECODE (TO_CHAR (SYSDATE - 21, 'D'), '1', 8, TO_CHAR (SYSDATE - 21, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE ( TRUNC (SYSDATE - 21)
- DECODE (TO_CHAR (SYSDATE - 21, 'D'), '1', 8, TO_CHAR (SYSDATE - 21, 'D'))
+ 2) = uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van 4(!) week geleden niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_4, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE - 28) - DECODE (TO_CHAR (SYSDATE - 28, 'D'), '1', 8, TO_CHAR (SYSDATE - 28, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE ( TRUNC (SYSDATE - 28)
- DECODE (TO_CHAR (SYSDATE - 28, 'D'), '1', 8, TO_CHAR (SYSDATE - 28, 'D'))
+ 2) = uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van 5(!) week geleden niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_5, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE - 35) - DECODE (TO_CHAR (SYSDATE - 35, 'D'), '1', 8, TO_CHAR (SYSDATE - 35, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE ( TRUNC (SYSDATE - 35)
- DECODE (TO_CHAR (SYSDATE - 35, 'D'), '1', 8, TO_CHAR (SYSDATE - 35, 'D'))
+ 2) = uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van 6(!) week geleden niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_6, 0)
AS
SELECT tlid.prs_perslid_key
FROM care_v_totaal_uren_all uren, care_v_verzorger tlid
WHERE (TRUNC (SYSDATE - 42) - DECODE (TO_CHAR (SYSDATE - 42, 'D'), '1', 8, TO_CHAR (SYSDATE - 42, 'D')) + 2) =
uren.maandag_vandeweek
AND uren.uren_status < 2
AND uren.prs_perslid_key = tlid.prs_perslid_key
UNION
SELECT tlid.prs_perslid_key
FROM care_v_verzorger tlid
WHERE NOT EXISTS
(SELECT uren.prs_perslid_key
FROM care_v_totaal_uren_all uren
WHERE ( TRUNC (SYSDATE - 42)
- DECODE (TO_CHAR (SYSDATE - 42, 'D'), '1', 8, TO_CHAR (SYSDATE - 42, 'D'))
+ 2) = uren.maandag_vandeweek
AND uren.prs_perslid_key = tlid.prs_perslid_key)
-- AND NVL (tlid.prs_verzorger_dienstverband, -1) <> 0
GROUP BY tlid.prs_perslid_key;
-- Van alle teamleden (of ze nu opdracht hebben of niet) diegene die de weekbrief van de vorige periode niet hebben ingeleverd
CREATE_VIEW( care_v_missing_weekbrief_all, 0)
(
prs_perslid_key,
jaar,
weeknr
)
AS
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE, 'IW'))
FROM care_v_missing_weekbrief_0
UNION
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE - 7, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE - 7, 'IW'))
FROM care_v_missing_weekbrief_1
UNION
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE - 14, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE - 14, 'IW'))
FROM care_v_missing_weekbrief_2
UNION
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE - 21, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE - 21, 'IW'))
FROM care_v_missing_weekbrief_3
UNION
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IW'))
FROM care_v_missing_weekbrief_4
UNION
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE - 35, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE - 35, 'IW'))
FROM care_v_missing_weekbrief_5
UNION
SELECT prs_perslid_key, TO_NUMBER (TO_CHAR (SYSDATE - 42, 'IYYY')), TO_NUMBER (TO_CHAR (SYSDATE - 42, 'IW'))
FROM care_v_missing_weekbrief_6
GROUP BY prs_perslid_key;
CREATE_VIEW( care_v_ingevoerde_uren, 0)
AS
SELECT *
FROM care_v_totaal_uren_all
WHERE uren_status = 1;
CREATE_VIEW( care_v_te_fiatteren_uren, 0)
AS
SELECT *
FROM care_v_totaal_uren_all
WHERE uren_status = 2;
CREATE_VIEW( care_v_te_factureren_uren, 0)
AS
SELECT *
FROM care_v_bestede_uren_all
WHERE uren_status = 3;
CREATE_VIEW( care_v_first_factuur_uren_ooit, 0)
AS
SELECT b.client_bsn, MIN (uur.datum_gewerkt) AS datum_eerste_keer_ooit
FROM care_v_beschikking_all b, care_v_te_factureren_uren uur
WHERE uur.mld_melding_key = b.mld_melding_key
AND b.pgb IS NULL
GROUP BY client_bsn;
-- View die hieronder wordt gebruikt ter afsluiting van een periode, en waarvan de laatste uren van de laatste week
-- moeten worden goedgekeurd danwel dat een gehele periode goedgekeurd dient te worden
-- Dit zijn alle gemaakte uren die ter fiat zijn aangeboden of reeds zijn goedgekeurd.
CREATE_VIEW( care_v_te_fiatfact_uren, 0)
AS
SELECT *
FROM care_v_bestede_uren_all
WHERE uren_status = 2 OR uren_status = 3;
CREATE_VIEW( care_v_gefactureerde_uren, 0)
AS
SELECT *
FROM care_v_bestede_uren_all
WHERE uren_status = 4;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- in deze(!) week
CREATE_VIEW( care_v_gemaakte_uren_0, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE) - DECODE (TO_CHAR (SYSDATE, 'D'), '1', 8, TO_CHAR (SYSDATE, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE to_number(to_char (SYSDATE,'IYYY')) = uren2.jaar
--AND to_number(to_char (SYSDATE,'IW')) = uren2.weeknr
GROUP BY mld_melding_key;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- in de vorige(!) week
CREATE_VIEW( care_v_gemaakte_uren_1, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 7) - DECODE (TO_CHAR (SYSDATE - 7, 'D'), '1', 8, TO_CHAR (SYSDATE - 7, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE to_number(to_char (SYSDATE-7,'IYYY')) = uren2.jaar
--AND to_number(to_char (SYSDATE-7,'IW')) = uren2.weeknr
GROUP BY mld_melding_key;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- van 2(!) weken geleden
CREATE_VIEW( care_v_gemaakte_uren_2, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 14) - DECODE (TO_CHAR (SYSDATE - 14, 'D'), '1', 8, TO_CHAR (SYSDATE - 14, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE (to_number(to_char (SYSDATE-14,'IYYY')) = uren2.jaar)
--AND (to_number(to_char (SYSDATE-14,'IW')) = uren2.weeknr)
GROUP BY mld_melding_key;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- in de vorige 2(!) weken
CREATE_VIEW( care_v_gemaakte_uren_12 (mld_melding_key, uren_besteed), 0)
AS
SELECT mld_melding_key, SUM (uren_besteed)
FROM ( SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_1
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_2)
GROUP BY mld_melding_key;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- van 3(!) weken geleden
CREATE_VIEW( care_v_gemaakte_uren_3, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 21) - DECODE (TO_CHAR (SYSDATE - 21, 'D'), '1', 8, TO_CHAR (SYSDATE - 21, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE (to_number(to_char (SYSDATE-21,'IYYY')) = uren2.jaar)
--AND (to_number(to_char (SYSDATE-21,'IW')) = uren2.weeknr)
GROUP BY mld_melding_key;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- in de vorige 3(!) weken
CREATE_VIEW( care_v_gemaakte_uren_123 (mld_melding_key, uren_besteed), 0)
AS
SELECT mld_melding_key, SUM (uren_besteed)
FROM ( SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_1
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_2
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_3)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_4, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 28) - DECODE (TO_CHAR (SYSDATE - 28, 'D'), '1', 8, TO_CHAR (SYSDATE - 28, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE (to_number(to_char (SYSDATE-28,'IYYY')) = uren2.jaar)
--AND (to_number(to_char (SYSDATE-28,'IW')) = uren2.weeknr)
GROUP BY mld_melding_key;
-- View per beschikking met de gemaakte uren (uren die ter goedkeuring zijn aangeboden danwel zijn goedgekeurd)
-- in de vorige 3(!) weken
CREATE_VIEW( care_v_gemaakte_uren_1234 (mld_melding_key, uren_besteed), 0)
AS
SELECT mld_melding_key, SUM (uren_besteed)
FROM ( SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_1
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_2
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_3
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_4)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_5, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 35) - DECODE (TO_CHAR (SYSDATE - 35, 'D'), '1', 8, TO_CHAR (SYSDATE - 35, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE (to_number(to_char (SYSDATE-35,'IYYY')) = uren2.jaar)
--AND (to_number(to_char (SYSDATE-35,'IW')) = uren2.weeknr)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_2345 (mld_melding_key, uren_besteed), 0)
AS
SELECT mld_melding_key, SUM (uren_besteed)
FROM ( SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_2
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_3
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_4
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_5)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_6, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 42) - DECODE (TO_CHAR (SYSDATE - 42, 'D'), '1', 8, TO_CHAR (SYSDATE - 42, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE (to_number(to_char (SYSDATE-42,'IYYY')) = uren2.jaar)
--AND (to_number(to_char (SYSDATE-42,'IW')) = uren2.weeknr)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_3456 (mld_melding_key, uren_besteed), 0)
AS
SELECT mld_melding_key, SUM (uren_besteed)
FROM ( SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_3
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_4
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_5
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_6)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_7, 0)
(
mld_melding_key,
uren_besteed
)
AS
SELECT mld_melding_key, COALESCE (SUM (uren2.uren_besteed), -1)
FROM care_v_te_fiatfact_uren uren2
WHERE (TRUNC (SYSDATE - 49) - DECODE (TO_CHAR (SYSDATE - 49, 'D'), '1', 8, TO_CHAR (SYSDATE - 49, 'D')) + 2) =
uren2.maandag_vandeweek
--WHERE (to_number(to_char (SYSDATE-42,'IYYY')) = uren2.jaar)
--AND (to_number(to_char (SYSDATE-42,'IW')) = uren2.weeknr)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_gemaakte_uren_4567 (mld_melding_key, uren_besteed), 0)
AS
SELECT mld_melding_key, SUM (uren_besteed)
FROM ( SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_4
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_5
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_6
UNION ALL
SELECT mld_melding_key, uren_besteed FROM care_v_gemaakte_uren_7)
GROUP BY mld_melding_key;
-- View met lopende beschikkingen in de vorige 4(!) weken met gesommeerd hun indicatieuren
CREATE_VIEW( care_v_indicatie_uren_1234 (mld_melding_key, uren_beschikking), 0)
AS
SELECT mld_melding_key, SUM (uren_beschikking)
FROM(
WITH XX AS (SELECT b.mld_melding_key, b.uren_beschikking, beschikking_maandag_van, beschikking_maandag_tot FROM care_v_beschikking_all b)
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 7 >= beschikking_maandag_van AND SYSDATE - 7 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 14 >= beschikking_maandag_van AND SYSDATE - 14 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 21 >= beschikking_maandag_van AND SYSDATE - 21 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 28 >= beschikking_maandag_van AND SYSDATE - 28 <= beschikking_maandag_tot
)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_indicatie_uren_2345 (mld_melding_key, uren_beschikking), 0)
AS
SELECT mld_melding_key, SUM (uren_beschikking)
FROM(
WITH XX AS (SELECT b.mld_melding_key, b.uren_beschikking, beschikking_maandag_van, beschikking_maandag_tot FROM care_v_beschikking_all b)
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 14 >= beschikking_maandag_van AND SYSDATE - 14 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 21 >= beschikking_maandag_van AND SYSDATE - 21 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 28 >= beschikking_maandag_van AND SYSDATE - 28 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 35 >= beschikking_maandag_van AND SYSDATE - 35 <= beschikking_maandag_tot
)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_indicatie_uren_3456 (mld_melding_key, uren_beschikking), 0)
AS
SELECT mld_melding_key, SUM (uren_beschikking)
FROM(
WITH XX AS (SELECT b.mld_melding_key, b.uren_beschikking, beschikking_maandag_van, beschikking_maandag_tot FROM care_v_beschikking_all b)
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 21 >= beschikking_maandag_van AND SYSDATE - 21 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 28 >= beschikking_maandag_van AND SYSDATE - 28 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 35 >= beschikking_maandag_van AND SYSDATE - 35 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 42 >= beschikking_maandag_van AND SYSDATE - 42 <= beschikking_maandag_tot
)
GROUP BY mld_melding_key;
CREATE_VIEW( care_v_indicatie_uren_4567 (mld_melding_key, uren_beschikking), 0)
AS
SELECT mld_melding_key, SUM (uren_beschikking)
FROM(
WITH XX AS (SELECT b.mld_melding_key, b.uren_beschikking, beschikking_maandag_van, beschikking_maandag_tot FROM care_v_beschikking_all b)
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 28 >= beschikking_maandag_van AND SYSDATE - 28 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 35 >= beschikking_maandag_van AND SYSDATE - 35 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 42 >= beschikking_maandag_van AND SYSDATE - 42 <= beschikking_maandag_tot
UNION ALL
SELECT mld_melding_key, uren_beschikking
FROM XX
WHERE SYSDATE - 49 >= beschikking_maandag_van AND SYSDATE - 49 <= beschikking_maandag_tot
)
GROUP BY mld_melding_key;
-- View met lopende beschikkingen met een verschil tussen indicatie-uren en gemaakte uren van de vorige 4(!) weken
CREATE_VIEW( care_v_conflict_uren_1234, 0)
AS
SELECT iu.mld_melding_key, iu.uren_beschikking, gu.uren_besteed
FROM care_v_indicatie_uren_1234 iu, care_v_gemaakte_uren_1234 gu
WHERE iu.mld_melding_key = gu.mld_melding_key;
-- View met lopende beschikkingen met een verschil tussen indicatie-uren en gemaakte uren van de periode (= 4(!) weken)
-- vanaf niet vorige week en 3 ervoor, maar vanaf 2 week geleden en 3 week ervoor
CREATE_VIEW( care_v_conflict_uren_2345, 0)
AS
SELECT iu.mld_melding_key, iu.uren_beschikking, gu.uren_besteed
FROM care_v_indicatie_uren_2345 iu, care_v_gemaakte_uren_2345 gu
WHERE iu.mld_melding_key = gu.mld_melding_key;
-- View met lopende beschikkingen met een verschil tussen indicatie-uren en gemaakte uren van de periode (= 4(!) weken)
-- vanaf niet 2 week geleden en 3 ervoor, maar vanaf 3 week geleden en 3 week ervoor
CREATE_VIEW( care_v_conflict_uren_3456, 0)
AS
SELECT iu.mld_melding_key, iu.uren_beschikking, gu.uren_besteed
FROM care_v_indicatie_uren_3456 iu, care_v_gemaakte_uren_3456 gu
WHERE iu.mld_melding_key = gu.mld_melding_key;
-- View met lopende beschikkingen met een verschil tussen indicatie-uren en gemaakte uren van de periode (= 4(!) weken)
-- vanaf niet 2 week geleden en 3 ervoor, maar vanaf 4 week geleden en 3 week ervoor
CREATE_VIEW( care_v_conflict_uren_4567, 0)
AS
SELECT iu.mld_melding_key, iu.uren_beschikking, gu.uren_besteed
FROM care_v_indicatie_uren_4567 iu, care_v_gemaakte_uren_4567 gu
WHERE iu.mld_melding_key = gu.mld_melding_key;
-- Om de conflicten van een periode in detail te kunnen analyseren: wie heeft in welke week de uren gemaakt.
-- Eerst een hulp-view voor de rapportage, vandaar de infix _tmp_
CREATE_VIEW( care_v_tmp_conflict_uren_1234, 0)
(
periode,
melding,
gemeente,
beschikkingsnr,
client,
uren_totaal,
uren_besteed,
indicatie_uren,
verzorger,
jaar,
weeknr,
datum,
week_uren_gepland,
week_uren_besteed
)
AS
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 7, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 7, 'IW')),
c.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
c.uren_beschikking,
c.uren_besteed,
b.uren_beschikking,
uur.prs_perslid_naam || ',' || uur.prs_perslid_voorletters || ' ' || uur.prs_perslid_tussenvoegsel,
uur.jaar,
uur.weeknr,
uur.datum_gewerkt,
uur.uren_opdracht,
uur.uren_besteed
FROM care_v_conflict_uren_1234 c, care_v_beschikking_all b, care_v_bestede_uren_all uur
WHERE c.mld_melding_key = b.mld_melding_key AND uur.mld_melding_key = b.mld_melding_key
AND (TRUNC (SYSDATE - 28) - DECODE (TO_CHAR (SYSDATE - 28, 'D'), '1', 8, TO_CHAR (SYSDATE - 28, 'D')) + 2) <=
uur.maandag_vandeweek
AND (TRUNC (SYSDATE - 7) - DECODE (TO_CHAR (SYSDATE - 7, 'D'), '1', 8, TO_CHAR (SYSDATE - 7, 'D')) + 2) >=
uur.maandag_vandeweek
AND (uur.uren_status = 2 OR uur.uren_status = 3)
UNION
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 7, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 7, 'IW')),
b.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
iu.uren_beschikking,
0,
b.uren_beschikking,
'-',
NULL,
NULL,
NULL,
NULL,
0
FROM care_v_indicatie_uren_1234 iu, care_v_beschikking_all b
WHERE iu.mld_melding_key = b.mld_melding_key
AND NOT EXISTS (SELECT *
FROM care_v_gemaakte_uren_1234 gu
WHERE gu.mld_melding_key = iu.mld_melding_key);
-- Rapportage view A (postfix A): op periode-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_1234a, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed)
FROM care_v_tmp_conflict_uren_1234
GROUP BY periode, melding, gemeente, beschikkingsnr, client;
-- Rapportage view B (postfix B): op periode + week-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_1234b, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_1234
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr;
-- Rapportage view C (postfix C): op periode + week + verzorger -nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_1234c, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
fclt_f_verzorger,
uren_gepland_week,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
verzorger,
MIN (week_uren_gepland),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_1234
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr, verzorger;
-- Om de conflicten van een periode in detail te kunnen analyseren: wie heeft in welke week de uren gemaakt.
-- Eerst een hulp-view voor de rapportage, vandaar de infix _tmp_
CREATE_VIEW( care_v_tmp_conflict_uren_2345, 0)
(
periode,
melding,
gemeente,
beschikkingsnr,
client,
uren_totaal,
uren_besteed,
indicatie_uren,
verzorger,
jaar,
weeknr,
datum,
week_uren_gepland,
week_uren_besteed
)
AS
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 35, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 35, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 14, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 14, 'IW')),
c.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
c.uren_beschikking,
c.uren_besteed,
b.uren_beschikking,
uur.prs_perslid_naam || ',' || uur.prs_perslid_voorletters || ' ' || uur.prs_perslid_tussenvoegsel,
uur.jaar,
uur.weeknr,
uur.datum_gewerkt,
uur.uren_opdracht,
uur.uren_besteed
FROM care_v_conflict_uren_2345 c, care_v_beschikking_all b, care_v_bestede_uren_all uur
WHERE c.mld_melding_key = b.mld_melding_key AND uur.mld_melding_key = b.mld_melding_key
AND (TRUNC (SYSDATE - 35) - DECODE (TO_CHAR (SYSDATE - 35, 'D'), '1', 8, TO_CHAR (SYSDATE - 35, 'D')) + 2) <=
uur.maandag_vandeweek
AND (TRUNC (SYSDATE - 14) - DECODE (TO_CHAR (SYSDATE - 14, 'D'), '1', 8, TO_CHAR (SYSDATE - 14, 'D')) + 2) >=
uur.maandag_vandeweek
AND (uur.uren_status = 2 OR uur.uren_status = 3)
UNION
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 35, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 35, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 14, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 14, 'IW')),
b.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
iu.uren_beschikking,
0,
b.uren_beschikking,
'-',
NULL,
NULL,
NULL,
NULL,
0
FROM care_v_indicatie_uren_2345 iu, care_v_beschikking_all b
WHERE iu.mld_melding_key = b.mld_melding_key
AND NOT EXISTS (SELECT *
FROM care_v_gemaakte_uren_2345 gu
WHERE gu.mld_melding_key = iu.mld_melding_key);
-- Rapportage view A (postfix A): op periode-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_2345a, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed)
FROM care_v_tmp_conflict_uren_2345
GROUP BY periode, melding, gemeente, beschikkingsnr, client;
-- Rapportage view B (postfix B): op periode + week-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_2345b, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_2345
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr;
-- Rapportage view C (postfix C): op periode + week + verzorger -nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_2345c, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
fclt_f_verzorger,
uren_gepland_week,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
verzorger,
MIN (week_uren_gepland),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_2345
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr, verzorger;
-- Om de conflicten van een periode in detail te kunnen analyseren: wie heeft in welke week de uren gemaakt.
-- Eerst een hulp-view voor de rapportage, vandaar de infix _tmp_
CREATE_VIEW( care_v_tmp_conflict_uren_3456, 0)
(
periode,
melding,
gemeente,
beschikkingsnr,
client,
uren_totaal,
uren_besteed,
indicatie_uren,
verzorger,
jaar,
weeknr,
datum,
week_uren_gepland,
week_uren_besteed
)
AS
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 42, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 42, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 21, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 21, 'IW')),
c.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
c.uren_beschikking,
c.uren_besteed,
b.uren_beschikking,
uur.prs_perslid_naam || ',' || uur.prs_perslid_voorletters || ' ' || uur.prs_perslid_tussenvoegsel,
uur.jaar,
uur.weeknr,
uur.datum_gewerkt,
uur.uren_opdracht,
uur.uren_besteed
FROM care_v_conflict_uren_3456 c, care_v_beschikking_all b, care_v_bestede_uren_all uur
WHERE c.mld_melding_key = b.mld_melding_key AND uur.mld_melding_key = b.mld_melding_key
AND (TRUNC (SYSDATE - 42) - DECODE (TO_CHAR (SYSDATE - 42, 'D'), '1', 8, TO_CHAR (SYSDATE - 42, 'D')) + 2) <=
uur.maandag_vandeweek
AND (TRUNC (SYSDATE - 21) - DECODE (TO_CHAR (SYSDATE - 21, 'D'), '1', 8, TO_CHAR (SYSDATE - 21, 'D')) + 2) >=
uur.maandag_vandeweek
AND (uur.uren_status = 2 OR uur.uren_status = 3)
UNION
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 42, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 42, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 21, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 21, 'IW')),
b.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
iu.uren_beschikking,
0,
b.uren_beschikking,
'-',
NULL,
NULL,
NULL,
NULL,
0
FROM care_v_indicatie_uren_3456 iu, care_v_beschikking_all b
WHERE iu.mld_melding_key = b.mld_melding_key
AND NOT EXISTS (SELECT *
FROM care_v_gemaakte_uren_3456 gu
WHERE gu.mld_melding_key = iu.mld_melding_key);
-- Rapportage view A (postfix A): op periode-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_3456a, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed)
FROM care_v_tmp_conflict_uren_3456
GROUP BY periode, melding, gemeente, beschikkingsnr, client;
-- Rapportage view B (postfix B): op periode + week-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_3456b, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_3456
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr;
-- Rapportage view C (postfix C): op periode + week + verzorger -nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_3456c, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
fclt_f_verzorger,
uren_gepland_week,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
verzorger,
MIN (week_uren_gepland),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_3456
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr, verzorger;
-- Om de conflicten van een periode in detail te kunnen analyseren: wie heeft in welke week de uren gemaakt.
-- Eerst een hulp-view voor de rapportage, vandaar de infix _tmp_
CREATE_VIEW( care_v_tmp_conflict_uren_4567, 0)
(
periode,
melding,
gemeente,
beschikkingsnr,
client,
uren_totaal,
uren_besteed,
indicatie_uren,
verzorger,
jaar,
weeknr,
datum,
week_uren_gepland,
week_uren_besteed
)
AS
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 49, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 49, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IW')),
c.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
c.uren_beschikking,
c.uren_besteed,
b.uren_beschikking,
uur.prs_perslid_naam || ',' || uur.prs_perslid_voorletters || ' ' || uur.prs_perslid_tussenvoegsel,
uur.jaar,
uur.weeknr,
uur.datum_gewerkt,
uur.uren_opdracht,
uur.uren_besteed
FROM care_v_conflict_uren_4567 c, care_v_beschikking_all b, care_v_bestede_uren_all uur
WHERE c.mld_melding_key = b.mld_melding_key AND uur.mld_melding_key = b.mld_melding_key
AND (TRUNC (SYSDATE - 49) - DECODE (TO_CHAR (SYSDATE - 49, 'D'), '1', 8, TO_CHAR (SYSDATE - 49, 'D')) + 2) <=
uur.maandag_vandeweek
AND (TRUNC (SYSDATE - 28) - DECODE (TO_CHAR (SYSDATE - 28, 'D'), '1', 8, TO_CHAR (SYSDATE - 28, 'D')) + 2) >=
uur.maandag_vandeweek
AND (uur.uren_status = 2 OR uur.uren_status = 3)
UNION
SELECT TO_NUMBER (TO_CHAR (SYSDATE - 49, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 49, 'IW'))
|| ' t/m '
|| TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IYYY'))
|| '-'
|| TO_NUMBER (TO_CHAR (SYSDATE - 28, 'IW')),
b.mld_melding_key,
b.gemeente_omschrijving,
b.beschikking_nr,
b.prs_client_naam || ',' || b.prs_client_voorletters || ' ' || b.prs_client_tussenvoegsel,
iu.uren_beschikking,
0,
b.uren_beschikking,
'-',
NULL,
NULL,
NULL,
NULL,
0
FROM care_v_indicatie_uren_4567 iu, care_v_beschikking_all b
WHERE iu.mld_melding_key = b.mld_melding_key
AND NOT EXISTS (SELECT *
FROM care_v_gemaakte_uren_4567 gu
WHERE gu.mld_melding_key = iu.mld_melding_key);
-- Rapportage view A (postfix A): op periode-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_4567a, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed)
FROM care_v_tmp_conflict_uren_4567
GROUP BY periode, melding, gemeente, beschikkingsnr, client;
-- Rapportage view B (postfix B): op periode + week-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_4567b, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_4567
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr;
-- Rapportage view C (postfix C): op periode + week + verzorger -nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_4567c, 0)
(
periode,
melding,
fclt_f_gemeente,
beschikking,
fclt_f_client,
uren_gepland_totaal,
uren_besteed_totaal,
indicatie_uren,
fclt_f_jaar_weeknr,
fclt_f_verzorger,
uren_gepland_week,
uren_besteed_week
)
AS
SELECT periode,
TO_CHAR (melding),
gemeente,
beschikkingsnr,
client,
MIN (uren_totaal),
MIN (uren_besteed),
MIN (indicatie_uren),
jaar || '-' || TO_CHAR (weeknr, '09'),
verzorger,
MIN (week_uren_gepland),
SUM (week_uren_besteed)
FROM care_v_tmp_conflict_uren_4567
GROUP BY periode, melding, gemeente, beschikkingsnr, client, jaar, weeknr, verzorger;
-- Let op de notificatie-key 21 (=notificatie aan teamleiders/backoffice van team) in onderstaande view
CREATE_VIEW( care_v_noti_teamleider, 0)
(
code,
sender,
receiver,
text,
key,
par1,
par2,
xkey
)
AS
SELECT sn.fac_srtnotificatie_code,
fac.gettrackinguserkey ('MLDNEW', m.mld_melding_key),
tl.prs_perslid_key,
sn.fac_srtnotificatie_oms,
m.mld_melding_key,
m.mld_stdmelding_key,
m.mld_melding_omschrijving,
NULL
FROM mld_melding m, mld_stdmelding std, prs_perslid client, care_v_teamleider tl, fac_notificatie_job nj, fac_srtnotificatie sn
WHERE sn.fac_srtnotificatie_code = 'CUST01'
AND m.mld_melding_status = 2
AND nj.fac_notificatie_job_key = 21
AND client.prs_perslid_key = m.prs_perslid_key
AND m.mld_stdmelding_key = std.mld_stdmelding_key
AND tl.ins_discipline_key = std.mld_ins_discipline_key
AND fac.gettrackingdate ('MLDNEW', m.mld_melding_key) >=
nj.fac_notificatie_job_nextrun - (nj.fac_notificatie_job_interval / 24);
-- Let op de kenmerk-key 3 (= indicatie-uren van de beschikking) in onderstaande view
CREATE_VIEW( care_v_mld_match_opd, 0)
AS
SELECT m.mld_melding_key,
COUNT (o.mld_opdr_key) aant_opdr,
km.mld_kenmerkmelding_waarde uren_beschikking,
COALESCE (SUM (o.mld_opdr_uren), 0) uren_opdracht
FROM mld_melding m, mld_opdr o, mld_kenmerkmelding km
WHERE m.mld_melding_key = o.mld_melding_key(+)
AND km.mld_melding_key = m.mld_melding_key
AND m.mld_melding_status IN (4, 7)
AND km.mld_kenmerkmelding_verwijder IS NULL
AND mld_kenmerk_key = 3
AND o.mld_statusopdr_key(+) <> 1
AND o.mld_statusopdr_key(+) <> 6
GROUP BY m.mld_melding_key, km.mld_kenmerkmelding_waarde;
CREATE_VIEW( care_v_mld_urenconflict_opd, 0)
AS
SELECT *
FROM care_v_mld_match_opd mmo
WHERE mmo.uren_beschikking <> mmo.uren_opdracht;
CREATE_VIEW( care_v_noti_urenconflict, 0)
(
code,
sender,
receiver,
text,
key,
par1,
par2,
xkey
)
AS
SELECT sn.fac_srtnotificatie_code,
c.prs_perslid_key,
c.prs_perslid_key,
sn.fac_srtnotificatie_oms,
mmo.mld_melding_key,
NULL,
NULL,
NULL
FROM care_v_mld_match_opd mmo, fac_srtnotificatie sn, care_v_controller c
WHERE sn.fac_srtnotificatie_code = 'CUST02'
AND mmo.mld_melding_key = (SELECT MIN (mld_melding_key) FROM care_v_mld_urenconflict_opd);
-- Let op: mld_melding hieronder kan NULL zijn (dan zijn het kosten mbt improductieve uren),
-- en anders is mld_melding_key gevuld, en zijn de kosten gerelateerd aan beschikking.
CREATE_VIEW( care_v_onkosten_all, 0)
(
prs_perslid_key,
bsn_verzorger,
verzorger_naam,
prs_verzorger_voorletters,
prs_verzorger_tussenvoegsel,
mld_kosten_key,
mld_kosten_code,
mld_kosten_omschrijving,
mld_opdruren_kosten_besteed,
mld_kosten_kosten,
mld_melding_key,
datum,
status
)
AS
SELECT v.prs_perslid_key,
v.verzorger_bsn,
v.prs_verzorger_naam,
v.prs_verzorger_voorletters,
v.prs_verzorger_tussenvoegsel,
k.mld_kosten_key,
k.mld_kosten_code,
k.mld_kosten_omschrijving,
ouk.mld_opdruren_kosten_besteed,
k.mld_kosten_kosten,
uur.mld_melding_key,
uur.datum_gewerkt,
uur.uren_status
FROM care_v_totaal_uren_all uur, care_v_verzorger v, mld_opdruren_kosten ouk, mld_kosten k
WHERE uur.prs_perslid_key = v.prs_perslid_key
AND uur.mld_opdr_uren_key = ouk.mld_opdr_uren_key
AND ouk.mld_kosten_key = k.mld_kosten_key
AND k.mld_kosten_verwijder IS NULL;
--
--
--
-- Rapportages
--
--
--
-- Overzicht van je teamgenoten, die de VERZORGER kan bekijken.
CREATE_VIEW( care_v_rap_mijnteamgenoten, 0)
(
fclt_3d_discipline_key,
medewerker,
mv,
meisjesnaam,
adres,
postcode,
woonplaats,
huistelefoon,
telefoonwerk,
mobiel,
email
)
AS
SELECT v.team_key,
v.prs_verzorger_naam
|| ','
|| v.prs_verzorger_voorletters
|| ' '
|| v.prs_verzorger_tussenvoegsel
|| '('
|| COALESCE (v.prs_verzorger_voornaam, '-')
|| ')',
v.verzorger_mv,
v.verzorger_meisjesnaam,
v.verzorger_adres || ' ' || v.verzorger_huisnr,
v.verzorger_postcode,
v.verzorger_woonplaats,
v.verzorger_telefoon_thuis,
v.verzorger_telefoon_werk,
v.prs_verzorger_mobiel,
v.prs_verzorger_email
FROM care_v_verzorger_in_teams v;
CREATE_VIEW( care_v_rap_personeel, 0)
(
fclt_f_team,
bsn,
fclt_f_medewerker,
fclt_f_mv,
meisjesnaam,
geboortedatum,
leeftijd,
adres,
postcode,
fclt_f_woonplaats,
huistelefoon,
telefoonwerk,
mobiel,
email,
contracturen,
fclt_f_jaar_indienst,
datum_indienst,
datum_uitdienst,
verwijderd
)
AS
SELECT v.team_naam,
v.verzorger_bsn,
v.prs_verzorger_naam
|| ','
|| v.prs_verzorger_voorletters
|| ' '
|| v.prs_verzorger_tussenvoegsel
|| '('
|| COALESCE (v.prs_verzorger_voornaam, '-')
|| ')',
v.verzorger_mv,
v.verzorger_meisjesnaam,
v.verzorger_geboortedatum,
decode(verzorger_geboortedatum, null, '', to_number( to_char(sysdate, 'yyyy')) - to_number(substr(verzorger_geboortedatum, 7,4))),
v.verzorger_adres || ' ' || v.verzorger_huisnr,
v.verzorger_postcode,
v.verzorger_woonplaats,
v.verzorger_telefoon_thuis,
v.verzorger_telefoon_werk,
v.prs_verzorger_mobiel,
v.prs_verzorger_email,
v.prs_verzorger_dienstverband,
TO_CHAR(v.prs_verzorger_ingangsdatum,'YYYY'),
TO_CHAR(v.prs_verzorger_ingangsdatum,'DD-MM-YYYY'),
TO_CHAR(v.prs_verzorger_einddatum,'DD-MM-YYYY'),
DECODE(v.prs_verzorger_verwijder, NULL, 'Nee', 'Ja')
FROM care_v_verzorger_in_teams v;
CREATE_VIEW( care_v_rap_missing_weekbrief, 0)
(
fclt_f_weeknr,
fclt_f_team,
fclt_3d_discipline_key,
fclt_f_medewerker,
indienst,
uitdienst,
contracturen,
meisjesnaam,
adres,
postcode,
woonplaats,
huistelefoon,
telefoonwerk,
mobiel,
email
)
AS
SELECT TO_CHAR (mw.jaar) || '-' || TO_CHAR (mw.weeknr, '00'),
v.team_naam,
v.team_key,
v.prs_verzorger_naam
|| ','
|| v.prs_verzorger_voorletters
|| ' '
|| v.prs_verzorger_tussenvoegsel
|| '('
|| COALESCE (v.prs_verzorger_voornaam, '-')
|| ')',
TO_CHAR(v.prs_verzorger_ingangsdatum, 'dd-mm-yyyy'),
TO_CHAR(v.prs_verzorger_einddatum,'dd-mm-yyyy'),
TO_CHAR(prs_verzorger_dienstverband),
v.verzorger_meisjesnaam,
v.verzorger_adres || ' ' || v.verzorger_huisnr,
v.verzorger_postcode,
v.verzorger_woonplaats,
v.verzorger_telefoon_thuis,
v.verzorger_telefoon_werk,
v.prs_verzorger_mobiel,
v.prs_verzorger_email
FROM care_v_verzorger_in_teams v, care_v_missing_weekbrief_all mw
WHERE v.prs_perslid_key = mw.prs_perslid_key;
CREATE_VIEW( care_v_rap_clienten, 0)
(
fclt_f_clientnr,
fclt_f_bsn,
fclt_f_naam,
tussenvoegsel,
voorletters,
geboortejaar,
adres,
huisnr,
postcode,
fclt_f_woonplaats,
telefoon,
mobiel,
bijzonderheden
)
AS
SELECT prs_client_nr, client_bsn, prs_client_naam, prs_client_tussenvoegsel, prs_client_voorletters,
client_geboortedatum, client_adres, client_huisnr, client_postcode, client_woonplaats,
client_telefoon_thuis, prs_client_mobiel, client_bijzonderheden
FROM care_v_client;
-- Alle beschikkingen in de toekomst (beschikking_datum_tot >= SYSDATE)
CREATE_VIEW( care_v_rap_beschik_aflopend, 0)
(
einddatum,
aantal_dagen_te_gaan,
looptijd_dagen,
fclt_f_gemeente,
melding_nr,
client,
bsn,
product,
uren_beschikking,
fclt_3d_discipline_key,
fclt_f_team
)
AS
SELECT beschikking_datum_tot,
FLOOR (beschikking_datum_tot - SYSDATE + 1),
beschikking_datum_tot - beschikking_datum_van + 1,
gemeente_omschrijving,
TO_CHAR (mld_melding_key),
prs_client_naam || ',' || prs_client_voorletters || ' ' || prs_client_tussenvoegsel,
client_bsn,
product,
uren_beschikking,
ins_discipline_key,
ins_discipline_omschrijving
FROM care_v_beschikking_all b1
WHERE beschikking_datum_tot >= SYSDATE
AND mld_melding_status NOT IN (1,5,6)
AND NOT EXISTS (SELECT 'x' FROM care_v_beschikking_all b2
WHERE b2.prs_client_key = b1.prs_client_key
AND b2.beschikking_datum_van = b1.beschikking_datum_tot + 1);
-- Totaliseren van conflict-uren variant A: op periode-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_a, 0)
(
fclt_f_periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_periode,
uren_besteed,
fclt_f_status
)
AS
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_1234a
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_2345a
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_3456a
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_4567a;
-- Totaliseren van conflict-uren variant B: op periode + week-nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_b, 0)
(
fclt_f_periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_periode,
uren_besteed,
fclt_f_weeknr,
indicatie,
bestede_uren_week,
fclt_f_status,
fclt_f_weekstatus
)
AS
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_1234b
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_2345b
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_3456b
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_4567b;
-- Totaliseren van conflict-uren variant C: op periode + week + verzorger -nivo de conflicten analyseren...
CREATE_VIEW( care_v_rap_conflict_uren_c, 0)
(
fclt_f_periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_periode,
uren_besteed,
fclt_f_weeknr,
fclt_f_verzorger,
indicatie,
bestede_uren_week,
fclt_f_status,
fclt_f_weekstatus
)
AS
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
fclt_f_verzorger,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_1234c
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
fclt_f_verzorger,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_2345c
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
fclt_f_verzorger,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_3456c
UNION
SELECT periode,
fclt_f_gemeente,
fclt_f_client,
beschikking,
melding,
uren_gepland_totaal,
ROUND(uren_besteed_totaal,2),
fclt_f_jaar_weeknr,
fclt_f_verzorger,
indicatie_uren,
ROUND(uren_besteed_week,2),
CASE
WHEN uren_gepland_totaal < ROUND(uren_besteed_totaal,2) THEN 'Te veel uren besteed'
WHEN uren_gepland_totaal > ROUND(uren_besteed_totaal,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END,
CASE
WHEN indicatie_uren < ROUND(uren_besteed_week,2) THEN 'Te veel uren besteed'
WHEN indicatie_uren > ROUND(uren_besteed_week,2) THEN 'Te weinig uren besteed'
ELSE 'OKEE'
END
FROM care_v_rap_conflict_uren_4567c;
----------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- factuur ---factuur----factuur-----factuur----factuur----factuur----factuur----factuur----factuur----factuur---factuur---factuur--factuur--factuur------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Periodetabel van 2 jaar in het verleden t/m heden
CREATE_VIEW(care_v_periodeweektabel_2jaar, 0)
(jaar, periode, week, maandag)
AS
SELECT
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
LEAST(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 13) periode,
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
FROM DUAL
CONNECT BY LEVEL <= 2*52+1;
CREATE_VIEW(care_v_periodetabel_2jaar, 0)
(jaar, periode, jaar_periode, week_van, week_tm, maandag_van, zondag_tm)
AS
SELECT DISTINCT jaar, periode, jaar || '-' || LPAD (periode, 2, '0'), MIN(week), MAX(week), MIN(maandag), MAX(maandag)+6
FROM care_v_periodeweektabel_2jaar
GROUP BY jaar, periode;
-- Periodetabel van 10 weken in het verleden t/m heden
CREATE_VIEW(care_v_periodeweektabel, 0)
(jaar, periode, week, maandag)
AS
SELECT
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
LEAST(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 13) periode,
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
FROM DUAL
CONNECT BY LEVEL <= 1*10+1;
CREATE_VIEW(care_v_periodetabel, 0)
(jaar, periode, jaar_periode, week_van, week_tm, maandag_van, zondag_tm)
AS
SELECT DISTINCT jaar, periode, jaar || '-' || LPAD (periode, 2, '0'), MIN(week), MAX(week), MIN(maandag), MAX(maandag)+6
FROM care_v_periodeweektabel
GROUP BY jaar, periode;
--- View die van doen hebben met facturatie en salariering
--- pb.prs_bedrijf_key=2 is het interne bedrijf 'ATC' (WZA-code is hier geregistreerd in lev. nr)
-- ud.fac_usrdata_key = 48 is het record/instelling voor clientnr: prs_perslid_key of prs_perslid_nr.
CREATE_VIEW( care_v_tmp2_factuur_uren, 0)
(
periode,
periode_nr,
wzacode,
prs_bedrijf_naam,
prs_bedrijf_post_adres,
prs_bedrijf_post_postcode,
prs_bedrijf_post_plaats,
prs_bedrijf_kvk,
prs_bedrijf_bankrekeningnr,
prs_bedrijf_contact_persoon,
prs_bedrijf_contact_telefoon,
prs_bedrijf_contact_fax,
prs_bedrijf_email,
prs_bedrijf_factnr_infix,
melding,
gemeente,
gemeente_code,
gemeente_post_adres,
gemeente_post_postcode,
gemeente_post_plaats,
gemeente_contactpersoon,
gemeente_factnr_infix,
gemeente_factnr_suffix,
gemeente_hv1_code,
gemeente_hv2_code,
gemeente_veiling,
gemeente_budget,
gemeente_ob,
beschikkingsnr,
beschikking_datum_van,
beschikking_datum_tot,
bsn_client,
client_nr,
client,
client2,
client_voorletters,
client_tussenvoegsel,
client_naam,
client_meisjesnaam,
client_mv,
prs_client_email,
client_contactpersonen,
prs_client_cak_actie,
client_geboortedatum,
client_adres,
client_huisnr,
client_postcode,
client_woonplaats,
client_telefoon_thuis,
prs_client_mobiel,
client_bijzonderheden,
indicatie_uren,
pgb,
product,
tarief,
beschikking_omschr,
alt_hv1,
alt_hv2,
alt_hv3,
verzorger_key,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
jaar,
weeknr,
datum,
week_uren_gepland,
week_uren_besteed
)
AS
SELECT uur.jaar || '-' || LPAD (uur.periodenr, 2, '0'),
uur.periodenr,
pb.prs_leverancier_nr,
pb.prs_bedrijf_naam,
pb.prs_bedrijf_post_adres,
pb.prs_bedrijf_post_postcode,
pb.prs_bedrijf_post_plaats,
pb.prs_overeenkomst_nr,
pb.prs_bedrijf_opmerking,
pb.prs_bedrijf_contact_persoon,
pb.prs_bedrijf_contact_telefoon,
pb.prs_bedrijf_contact_fax,
pb.prs_bedrijf_email,
pb.prs_bedrijf_telefoon2,
b.mld_melding_key,
b.gemeente_omschrijving,
b.gemeente_code,
b.gemeente_post_adres,
b.gemeente_post_postcode,
b.gemeente_post_plaats,
b.gemeente_contactpersoon,
b.gemeente_factnr_infix,
b.gemeente_factnr_suffix,
b.gemeente_hv1_code,
b.gemeente_hv2_code,
b.gemeente_veiling,
b.gemeente_budget,
b.gemeente_ob,
b.beschikking_nr,
b.beschikking_datum_van,
b.beschikking_datum_tot,
b.client_bsn,
DECODE (ud.fac_usrdata_omschr,
1, b.prs_client_nr,
b.prs_client_key),
b.prs_client_naam
|| ','
|| b.prs_client_voorletters
|| ' '
|| b.prs_client_tussenvoegsel,
b.prs_client_voorletters
|| ' '
|| b.prs_client_tussenvoegsel
|| ' '
|| b.prs_client_naam,
b.prs_client_voorletters,
b.prs_client_tussenvoegsel,
b.prs_client_naam,
b.client_meisjesnaam,
b.client_mv,
b.prs_client_email,
b.client_contactpersonen,
b.prs_client_cak_actie,
b.client_geboortedatum,
b.client_adres,
b.client_huisnr,
b.client_postcode,
b.client_woonplaats,
b.client_telefoon_thuis,
b.prs_client_mobiel,
b.client_bijzonderheden,
b.uren_beschikking,
b.pgb,
b.product,
CASE
WHEN b.pgb = 1 THEN b.pgb_tarief
WHEN b.gemeente_veiling = 1 THEN b.pgb_tarief
ELSE gt.tarief
END,
b.beschikking_omschr,
CASE
WHEN b.alt_hv1_start <=
(uur.jaar || LPAD (uur.periodenr, 2, '0'))
THEN
b.alt_hv1
ELSE
NULL
END
alt_hv1,
CASE
WHEN b.alt_hv2_start <=
(uur.jaar || LPAD (uur.periodenr, 2, '0'))
THEN
b.alt_hv2
ELSE
NULL
END
alt_hv2,
CASE
WHEN b.alt_hv3_start <=
(uur.jaar || LPAD (uur.periodenr, 2, '0'))
THEN
b.alt_hv3
ELSE
NULL
END
alt_hv3,
uur.prs_perslid_key,
uur.bsn,
uur.nr_verzorger,
uur.prs_perslid_naam
|| ','
|| uur.prs_perslid_voorletters
|| ' '
|| uur.prs_perslid_tussenvoegsel,
uur.prs_perslid_dienstverband,
uur.jaar,
uur.weeknr,
uur.datum_gewerkt,
uur.uren_opdracht,
uur.uren_besteed
FROM care_v_beschikking_all b,
care_v_bestede_uren_all uur,
prs_bedrijf pb,
fac_usrdata ud,
care_v_gemeente_tarieven gt
WHERE uur.mld_melding_key = b.mld_melding_key
AND uur.uren_status = 3
AND pb.prs_bedrijf_key = 2
AND ud.fac_usrdata_key = 48
AND gt.alg_locatie_key = b.gemeente_key
AND gt.product_code = b.product_code
AND COALESCE (gt.duedatum, SYSDATE) =
(SELECT COALESCE (MIN (gt2.duedatum), SYSDATE)
FROM care_v_gemeente_tarieven gt2
WHERE COALESCE (gt2.duedatum, SYSDATE + 999) >=
uur.datum_gewerkt
AND gt2.alg_locatie_key = b.gemeente_key
AND gt2.product_code = b.product_code);
CREATE_VIEW(care_v_gemeente_fact2_uren, 0)
AS
SELECT * FROM care_v_tmp2_factuur_uren
WHERE pgb IS NULL;
CREATE_VIEW(care_v_pgb_fact2_uren, 0)
AS
SELECT * FROM care_v_tmp2_factuur_uren
WHERE pgb = 1;
CREATE_VIEW( care_v_rap2_factuur_voorblad_a, 0)
(
fclt_f_periode,
periode_nr,
factuurnr,
factuurdatum,
wzacode,
prs_bedrijf_post_adres,
prs_bedrijf_post_postcode,
prs_bedrijf_post_plaats,
prs_bedrijf_kvk,
prs_bedrijf_bankrekeningnr,
prs_bedrijf_contact_persoon,
prs_bedrijf_contact_telefoon,
prs_bedrijf_contact_fax,
prs_bedrijf_email,
prs_bedrijf_factnr_infix,
fclt_f_gemeente,
gemeente_code,
gemeente_post_adres,
gemeente_post_postcode,
gemeente_post_plaats,
gemeente_contactpersoon,
gemeente_factnr_infix,
gemeente_factnr_suffix,
product,
tarief,
jaar,
week_uren_besteed,
subtotaal
)
AS
SELECT periode,
MIN(periode_nr),
MIN(jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || MIN(periode_nr) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN(wzacode),
MIN(prs_bedrijf_post_adres),
MIN(prs_bedrijf_post_postcode),
MIN(prs_bedrijf_post_plaats),
MIN(prs_bedrijf_kvk),
MIN(prs_bedrijf_bankrekeningnr),
MIN(prs_bedrijf_contact_persoon),
MIN(prs_bedrijf_contact_telefoon),
MIN(prs_bedrijf_contact_fax),
MIN(prs_bedrijf_email),
MIN(prs_bedrijf_factnr_infix),
gemeente,
MIN(gemeente_code),
MIN(gemeente_post_adres),
MIN(gemeente_post_postcode),
MIN(gemeente_post_plaats),
MIN(gemeente_contactpersoon),
MIN(gemeente_factnr_infix),
MIN(gemeente_factnr_suffix),
product,
MIN(tarief),
MIN(jaar),
ROUND(SUM(week_uren_besteed),2),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2)
FROM care_v_gemeente_fact2_uren
GROUP BY periode, gemeente, product;
-- Factuur voor PGB clienten, zonder 6 weken berperking
CREATE_VIEW( care_v_rap2_factuur_pgb_a, 0)
(
fclt_f_periode,
periode_nr,
factuurdatum,
wzacode,
prs_bedrijf_post_adres,
prs_bedrijf_post_postcode,
prs_bedrijf_post_plaats,
prs_bedrijf_kvk,
prs_bedrijf_bankrekeningnr,
prs_bedrijf_contact_persoon,
prs_bedrijf_contact_telefoon,
prs_bedrijf_contact_fax,
prs_bedrijf_email,
prs_bedrijf_factnr_infix,
gemeente_factnr_infix,
gemeente_factnr_suffix,
melding,
beschikkingsnr,
bsn_client,
client_nr,
client,
client_adres,
client_huisnr,
client_postcode,
client_woonplaats,
product,
tarief,
beschikking_omschr,
jaar,
week_uren_besteed,
subtotaal
)
AS
SELECT periode,
MIN(periode_nr),
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN(wzacode),
MIN(prs_bedrijf_post_adres),
MIN(prs_bedrijf_post_postcode),
MIN(prs_bedrijf_post_plaats),
MIN(prs_bedrijf_kvk),
MIN(prs_bedrijf_bankrekeningnr),
MIN(prs_bedrijf_contact_persoon),
MIN(prs_bedrijf_contact_telefoon),
MIN(prs_bedrijf_contact_fax),
MIN(prs_bedrijf_email),
MIN(prs_bedrijf_factnr_infix),
MIN(gemeente_factnr_infix),
MIN(gemeente_factnr_suffix),
melding,
MIN(beschikkingsnr),
bsn_client,
MIN(client_nr),
MIN(client2),
MIN(client_adres),
MIN(client_huisnr),
MIN(client_postcode),
MIN(client_woonplaats),
MIN(product),
MIN(tarief),
MIN(beschikking_omschr),
MIN(jaar),
ROUND(SUM(week_uren_besteed),2),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2)
FROM care_v_pgb_fact2_uren
GROUP BY periode, bsn_client, melding;
CREATE_VIEW( care_v_rap2_factuur_uren_a, 0)
(
fclt_f_periode,
factuurdatum,
wzacode,
fclt_f_gemeente,
beschikkingsnr,
bsn_client,
client,
geboortedatum,
uren_periode,
indicatie_uren,
product,
tarief,
uren,
minuten,
bedrag_euro,
bedrag_centen
)
AS
SELECT fu.periode,
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN (wzacode),
fu.gemeente,
fu.beschikkingsnr,
fu.bsn_client,
MIN (fu.client),
MIN (fu.client_geboortedatum),
MIN(bp.uren_beschikking),
decode(MIN(indicatie_uren)-MAX(indicatie_uren),0, to_char(MIN(indicatie_uren)), MIN(indicatie_uren) || ' tot ' || MAX(indicatie_uren)),
fu.product,
MIN (fu.tarief),
ROUND(SUM(fu.week_uren_besteed),2),
ROUND (60 * SUM(fu.week_uren_besteed)),
ROUND (MIN (fu.tarief) * SUM(fu.week_uren_besteed), 2),
ROUND (100 * MIN (fu.tarief) * SUM(fu.week_uren_besteed))
FROM care_t_beschikk_x_periodetabel bp,
care_v_gemeente_fact2_uren fu
WHERE bp.jaar = fu.jaar
AND bp.periode = fu.periode_nr
AND bp.product= fu.product
AND bp.bsn = fu.bsn_client
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
CREATE_VIEW( care_v_rap2_factuur_uren_a2, 0)
(
fclt_f_periode,
factuurdatum,
wzacode,
fclt_f_gemeente,
beschikkingsnr,
bsn_client,
client,
geboortedatum,
indicatie_uren,
product,
tarief,
uren,
minuten,
bedrag_euro,
bedrag_centen
)
AS
SELECT fu.periode,
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN (wzacode),
fu.gemeente,
fu.beschikkingsnr,
fu.bsn_client,
MIN (fu.client),
MIN (fu.client_geboortedatum),
decode(MIN(indicatie_uren)-MAX(indicatie_uren),0, to_char(MIN(indicatie_uren)), MIN(indicatie_uren) || ' tot ' || MAX(indicatie_uren)),
fu.product,
MIN (fu.tarief),
ROUND(SUM(fu.week_uren_besteed),2),
ROUND (60 * SUM(fu.week_uren_besteed)),
ROUND (MIN (fu.tarief) * SUM(fu.week_uren_besteed), 2),
ROUND (100 * MIN (fu.tarief) * SUM(fu.week_uren_besteed))
FROM care_v_gemeente_fact2_uren fu
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
-- FactuurRapportage view B (postfix B): op per gemeente, op periode/week-nivo de gemaakte uren per beschikking totaliseren...
CREATE_VIEW( care_v_rap2_factuur_uren_b, 0)
(
fclt_f_periode,
factuurdatum,
wzacode,
fclt_f_gemeente,
beschikkingsnr,
bsn_client,
client,
geboortedatum,
indicatie_uren,
product,
tarief,
jaar,
weeknr,
uren,
minuten,
bedrag_euro,
bedrag_centen
)
AS
SELECT periode,
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN (wzacode),
gemeente,
beschikkingsnr,
f.bsn_client,
MIN (client),
MIN (client_geboortedatum),
MIN(indicatie_uren),
product,
MIN (tarief),
jaar,
weeknr,
ROUND(SUM(week_uren_besteed),2),
ROUND (60 * SUM (week_uren_besteed)),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2),
ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))
FROM care_v_gemeente_fact2_uren f
GROUP BY periode, gemeente, beschikkingsnr, f.bsn_client, product, jaar, weeknr;
-- FactuurRapportage view C (postfix C): op per gemeente, op periode/week-nivo/datum de gemaakte uren per beschikking totaliseren...
CREATE_VIEW( care_v_rap2_factuur_uren_c, 0)
(
fclt_f_periode,
factuurdatum,
wzacode,
fclt_f_gemeente,
beschikkingsnr,
bsn_client,
client,
geboortedatum,
indicatie_uren,
product,
tarief,
jaar,
weeknr,
datum,
uren,
minuten,
bedrag_euro,
bedrag_centen
)
AS
SELECT periode,
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN (wzacode),
gemeente,
beschikkingsnr,
f.bsn_client,
MIN (client),
MIN (client_geboortedatum),
MIN (indicatie_uren),
product,
MIN (tarief),
jaar,
weeknr,
datum,
ROUND(SUM(week_uren_besteed),2),
ROUND (60 * SUM (week_uren_besteed)),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2),
ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))
FROM care_v_gemeente_fact2_uren f
GROUP BY periode, gemeente, beschikkingsnr, f.bsn_client, product, jaar, weeknr, datum;
-- FactuurRapportage view D: op per gemeente per dag, op periode/week/datum-nivo de gemaakte uren per beschikking totaliseren.
CREATE_VIEW( care_v_rap2_factuur_uren_d, 0)
(
fclt_x_periode,
factuurnummer,
factuurjaar,
factuurperiode,
wzacode,
fclt_f_gemeente,
naam_en_voorletters,
geboortedatum,
bsn,
indicatie_startdatum,
indicatie_einddatum,
indicatie_uren,
productcode,
op_datum,
weeknr,
aantal,
bedrag
)
AS
SELECT f.periode,
MIN(f.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(f.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
SUBSTR(f.periode,1,4),
SUBSTR(f.periode,1,4) || '-' || MIN(pt.week_van) || ' t/m ' || MAX(pt.week_tm),
MIN (wzacode),
gemeente,
MIN (client),
MIN (client_geboortedatum),
f.bsn_client,
MIN(beschikking_datum_van),
MAX(beschikking_datum_tot),
MIN(indicatie_uren),
product,
datum,
weeknr,
ROUND(SUM(week_uren_besteed),2),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2)
FROM care_v_gemeente_fact2_uren f, care_v_periodetabel_2jaar pt
WHERE f.periode = pt.jaar_periode
GROUP BY f.periode, gemeente, beschikkingsnr, f.bsn_client, product, f.jaar, weeknr, datum;
-- FactuurRapportage view E: per gemeente, op periode-nivo de gemaakte uren per beschikking totaliseren.
CREATE_VIEW( care_v_rap2_factuur_uren_e, 0)
(
fclt_x_periode,
periode,
weeknrs,
factuurnummer,
wzacode,
fclt_f_gemeente,
bsn_client,
client,
geboortedatum,
uren_periode,
indicatie_uren,
product,
tarief,
uren,
bedrag_euro
)
AS
SELECT fu.periode,
SUBSTR(fu.periode,6,2) || '.' || SUBSTR(fu.periode,1,4),
SUBSTR(fu.periode,1,4) || '-' || MIN(bp.week_van) || ' t/m ' || MAX(bp.week_tm),
MIN(fu.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(fu.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
MIN (wzacode),
fu.gemeente,
fu.bsn_client,
MIN (fu.client),
MIN (fu.client_geboortedatum),
MIN(bp.uren_beschikking),
decode(MIN(indicatie_uren)-MAX(indicatie_uren),0, to_char(MIN(indicatie_uren)), MIN(indicatie_uren) || ' tot ' || MAX(indicatie_uren)),
fu.product,
MIN (fu.tarief),
ROUND(SUM(fu.week_uren_besteed),2),
ROUND (MIN (fu.tarief) * SUM(fu.week_uren_besteed), 2)
FROM CARE_T_BESCHIKK_X_PERIODETABEL bp,
care_v_gemeente_fact2_uren fu
WHERE bp.jaar = fu.jaar
AND bp.periode = fu.periode_nr
AND bp.product= fu.product
AND bp.bsn = fu.bsn_client
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
-- FactuurRapportage view F: op per gemeente per dag, op periode/week/datum-nivo de gemaakte uren per beschikking totaliseren.
CREATE_VIEW( care_v_rap2_factuur_uren_f, 0)
(
fclt_x_periode,
fclt_x_gemeente,
periode,
weeknr,
product,
client,
adres,
woonplaats,
geboortedatum,
bsn,
datum,
tijdsduur,
tijdseenheid,
totaal_bedrag
)
AS
SELECT f.periode,
f.gemeente,
SUBSTR(f.periode,1,4) || '.' || SUBSTR(f.periode,6,2),
weeknr,
product,
MIN (client),
MIN (client_adres) || ' ' || MIN(client_huisnr),
MIN (client_woonplaats),
MIN (client_geboortedatum),
f.bsn_client,
datum,
ROUND(SUM(week_uren_besteed),2),
'uur',
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2)
FROM care_v_gemeente_fact2_uren f
GROUP BY f.periode, gemeente, beschikkingsnr, f.bsn_client, product, weeknr, datum;
-- FactuurRapportage view G: op per gemeente per dag, op periode-nivo de gemaakte uren per beschikking totaliseren.
CREATE_VIEW( care_v_rap2_factuur_uren_g, 0)
(
fclt_x_periode,
fclt_x_gemeente,
hide_f_nr,
record_start,
wzacode,
factuurnummer,
code,
bsn,
geboortedatum,
van,
tot,
product,
productcode,
minuten,
centen,
btw,
subtotaal,
record_einde
)
AS
SELECT f.periode,
f.gemeente,
1,
'V',
MIN (wzacode),
COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)),
'F',
SUBSTR(f.periode,1,4) || SUBSTR(f.periode,6,2),
MIN(f.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(f.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
'',
'',
'',
'',
'',
'',
'',
'',
''
FROM care_v_gemeente_fact2_uren f
GROUP BY f.periode, f.gemeente
UNION ALL
SELECT f.periode,
f.gemeente,
2,
'D',
MIN (wzacode),
MIN(f.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(f.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
CASE
WHEN MIN(pt.maandag_van) <= MIN(beschikking_datum_van) THEN 'S'
WHEN MIN(pt.zondag_tm) >= MIN(beschikking_datum_tot) THEN 'E'
ELSE 'P'
END,
f.bsn_client,
MIN (client_geboortedatum),
TO_CHAR(GREATEST(MIN(pt.maandag_van), MIN(beschikking_datum_van)),'DD-MM-YYYY'),
TO_CHAR(LEAST(MIN(pt.zondag_tm), MIN(beschikking_datum_tot)),'DD-MM-YYYY'),
'HV',
DECODE(product, 'HV1', TO_CHAR(COALESCE(MIN(gemeente_hv1_code), 1)), 'HV2', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)), 'HV3', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)+1), ''),
TO_CHAR(ROUND (60 * SUM (week_uren_besteed))),
TO_CHAR(ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))),
'0',
TO_CHAR(ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))),
'D'
FROM care_v_gemeente_fact2_uren f, care_v_periodetabel_2jaar pt
WHERE f.periode = pt.jaar_periode
GROUP BY f.periode, gemeente, beschikkingsnr, f.bsn_client, product
UNION ALL
SELECT f.periode,
f.gemeente,
3,
'S',
MIN (wzacode),
COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)),
'F',
SUBSTR(f.periode,1,4) || SUBSTR(f.periode,6,2),
MIN(f.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(f.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
'',
'',
'',
'',
'',
'',
'',
'',
'D'
FROM care_v_gemeente_fact2_uren f
GROUP BY f.periode, f.gemeente;
CREATE_VIEW( care_v_rap2_factuur_uren_i, 0)
( fclt_x_periode,
fclt_x_gemeente,
num_bsn,
num_pers,
naa_rel_ac,
naa_rel_vl,
dat_geb,
num_klant,
cod_agb,
num_contr,
num_fact,
srt_voorz,
num_voorz,
cod_voorz,
dat_begin,
dat_eind,
bed_huur,
num_art,
oms_merk,
dat_van,
dat_tot,
cod_per,
dat_reg,
aant_u,
bed_face,
srt_btw,
bed_btw,
bed_faci,
srt_bed,
cod_stakl,
cod_stabt,
bed_bet,
cod_bet)
AS
SELECT f.periode,
f.gemeente,
f.bsn_client,
'',
MIN(f.client_naam) || ',' || MIN(f.client_tussenvoegsel),
MIN(f.client_voorletters),
MIN (client_geboortedatum),
'',
MIN (wzacode),
'',
MIN(f.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(f.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
'',
'',
product,
TO_CHAR(MIN(beschikking_datum_van),'DD-MM-YYYY'),
TO_CHAR(MIN(beschikking_datum_tot),'DD-MM-YYYY'),
'',
'',
'',
TO_CHAR(MIN(pt.maandag_van),'DD-MM-YYYY'),
TO_CHAR(MIN(pt.zondag_tm),'DD-MM-YYYY'),
'',
'',
ROUND(SUM(f.week_uren_besteed),2),
'',
'0',
'',
ROUND (MIN (f.tarief) * SUM(f.week_uren_besteed), 2),
'',
'',
'',
'',
''
FROM care_v_gemeente_fact2_uren f, care_v_periodetabel_2jaar pt
WHERE f.periode = pt.jaar_periode
GROUP BY f.periode, gemeente, beschikkingsnr, f.bsn_client, product;
CREATE_VIEW( care_v_rap2_factuur_uren_j, 0)
(
fclt_x_periode,
fclt_x_gemeente,
factuurnr,
periode_nr,
periode_jaar,
achternaam,
initialen,
geboortedatum,
clientnummer,
bsn,
straat,
huisnummer,
postcode,
plaats,
soort_hh,
ind_startdatum,
ind_einddatum,
uren,
tarief,
totaal
)
AS
SELECT periode,
gemeente,
MIN(jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
SUBSTR(periode,6,2),
SUBSTR(periode,1,4),
MIN(client_naam) || ',' || MIN(client_tussenvoegsel),
MIN(client_voorletters),
MIN (client_geboortedatum),
'',
bsn_client,
MIN (client_adres),
MIN(client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
product,
TO_CHAR(MIN(beschikking_datum_van),'DD-MM-YYYY'),
TO_CHAR(MIN(beschikking_datum_tot),'DD-MM-YYYY'),
ROUND(SUM(week_uren_besteed),2),
MIN (tarief),
ROUND (MIN (tarief) * SUM(week_uren_besteed), 2)
FROM care_v_gemeente_fact2_uren fu
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
CREATE_VIEW( care_v_rap2_factuur_uren_k, 0)
(
fclt_x_periode,
fclt_x_gemeente,
dossiernr,
voorz,
begindatum_1,
einddatum_1,
bedrag,
soort_hulp,
gelev_uren,
begindatum,
einddatum,
indicatie_pw_in_min,
begindatum_2,
einddatum_2,
bsn,
clientnr,
naam,
geb_datum,
aanbieder,
begin_voorz,
eind_voorz
)
AS
SELECT periode,
gemeente,
beschikkingsnr,
DECODE(product, 'HV1', TO_CHAR(COALESCE(MIN(gemeente_hv1_code), 1)), 'HV2', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)), 'HV3', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)+1), ''),
'',
'',
ROUND (MIN (tarief) * SUM(week_uren_besteed), 2),
product,
ROUND(SUM(week_uren_besteed),2),
TO_CHAR(MIN(beschikking_datum_van),'DD-MM-YYYY'),
TO_CHAR(MIN(beschikking_datum_tot),'DD-MM-YYYY'),
decode(MIN(indicatie_uren)-MAX(indicatie_uren),0, to_char(60*MIN(indicatie_uren)), 60 * MIN(indicatie_uren) || ' tot ' || 60 * MAX(indicatie_uren)),
TO_CHAR(MIN(beschikking_datum_van),'DD-MM-YYYY'),
TO_CHAR(MIN(beschikking_datum_tot),'DD-MM-YYYY'),
bsn_client,
'',
MIN(client),
MIN (client_geboortedatum),
'',
'',
''
FROM care_v_gemeente_fact2_uren fu
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
CREATE_VIEW( care_v_rap2_factuur_uren_l, 0)
(
fclt_x_periode,
fclt_x_gemeente,
naam,
bsn,
clientnummer,
geboortedatum,
adres,
pc,
woonplaats,
product,
uren_per_periode,
totaal_bedrag,
periode,
factuurnummer
)
AS
SELECT periode,
gemeente,
MIN(client),
bsn_client,
'',
MIN (client_geboortedatum),
MIN (client_adres) || ' ' || MIN(client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
DECODE(product, 'HV1', 'HH1','HV2', 'HH2', 'HV3', 'HH3', ''),
ROUND(SUM(week_uren_besteed),2),
ROUND (MIN (tarief) * SUM(week_uren_besteed), 2),
periode,
MIN(jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code))
FROM care_v_gemeente_fact2_uren fu
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
CREATE_VIEW( care_v_rap2_factuur_uren_m, 0)
(
fclt_x_periode,
fclt_x_gemeente,
clientnummer,
bsn,
achternaam,
voorvoegsels,
voorletters,
geboortedatum,
geslacht,
postcode,
huisnummer,
huisnummertoevoeging,
jaar,
week,
product,
minuten,
medewerker,
personeelsnummer_mdw
)
AS
SELECT periode,
gemeente,
MIN(client_nr),
bsn_client,
MIN(client_naam),
MIN(client_tussenvoegsel),
MIN(client_voorletters),
MIN(client_geboortedatum),
MIN(client_mv),
MIN (client_postcode),
SUBSTR (
MIN(client_huisnr),
1,
DECODE (REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]'),
0, LENGTH (MIN(client_huisnr)),
REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]') - 1
)
),
SUBSTR (
MIN(client_huisnr),
DECODE (REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]'),
0, LENGTH (MIN(client_huisnr)) + 1,
REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]')
)
),
jaar,
weeknr,
DECODE(product, 'HV1', TO_CHAR(COALESCE(MIN(gemeente_hv1_code), 1)), 'HV2', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)), 'HV3', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)+1), ''),
ROUND (60 * SUM (week_uren_besteed)),
verzorger,
nr_verzorger
FROM care_v_gemeente_fact2_uren f
GROUP BY periode, gemeente, beschikkingsnr, f.bsn_client, product, jaar, weeknr, verzorger, nr_verzorger;
-- BONS#22915: FactuurRapportage view N (Woudenberg): op per gemeente per dag, op periode-nivo de gemaakte uren per beschikking totaliseren.
CREATE_VIEW( care_v_rap2_factuur_uren_n, 0)
(
fclt_x_periode,
fclt_x_gemeente,
hide_f_nr,
record_start,
wzacode,
factuurnummer,
code,
bsn,
geboortedatum,
van,
tot,
product,
productcode,
minuten,
centen,
btw,
subtotaal,
record_einde,
uurtarief,
achternaam,
voorvoegsels,
voorletters,
datum_eerstkeerzorg,
gemeente_code
)
AS
SELECT f.periode,
f.gemeente,
2,
'D',
MIN (wzacode),
MIN(f.jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(f.periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
CASE
WHEN MIN(pt.maandag_van) <= MIN(beschikking_datum_van) THEN 'S'
WHEN MIN(pt.zondag_tm) >= MIN(beschikking_datum_tot) THEN 'E'
ELSE 'P'
END,
f.bsn_client,
MIN (client_geboortedatum),
TO_CHAR(GREATEST(MIN(pt.maandag_van), MIN(beschikking_datum_van)),'DD-MM-YYYY'),
TO_CHAR(LEAST(MIN(pt.zondag_tm), MIN(beschikking_datum_tot)),'DD-MM-YYYY'),
'HH',
'HH' || DECODE(product, 'HV1', TO_CHAR(COALESCE(MIN(gemeente_hv1_code), 1)), 'HV2', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)), 'HV3', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)+1), ''),
TO_CHAR(ROUND (60 * SUM (week_uren_besteed))),
TO_CHAR(ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))),
'0',
TO_CHAR(ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))),
'D',
MIN(f.tarief),
MIN(client_naam),
MIN(client_tussenvoegsel),
MIN(client_voorletters),
MIN(ffu.datum_eerste_keer_ooit),
MIN(gemeente_code)
FROM care_v_gemeente_fact2_uren f, care_v_periodetabel_2jaar pt, care_v_first_factuur_uren_ooit ffu
WHERE f.periode = pt.jaar_periode
AND f.bsn_client = ffu.client_bsn
GROUP BY f.periode, gemeente, beschikkingsnr, f.bsn_client, product;
CREATE_VIEW( care_v_rap2_factuur_uren_o, 0)
(
fclt_x_periode,
fclt_x_gemeente,
bsn,
naam,
straat,
postcode,
woonplaats,
geboortedatum,
product,
uren,
periodenr,
uurtarief,
bedrag
)
AS
SELECT periode,
gemeente,
bsn_client,
MIN(client),
MIN (client_adres) || ' ' || MIN(client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
MIN (client_geboortedatum),
DECODE(product, 'HV1', 'HH1','HV2', 'HH2', 'HV3', 'HH3', ''),
ROUND(SUM(week_uren_besteed),2),
SUBSTR(periode,6,2),
MIN(fu.tarief),
ROUND (MIN (tarief) * SUM(week_uren_besteed), 2)
FROM care_v_gemeente_fact2_uren fu
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product;
CREATE_VIEW( care_v_rap2_factuur_uren_p, 0)
(
fclt_x_periode,
fclt_x_gemeente,
factuurnummer,
bsn,
naam,
straat,
huisnummer,
postcode,
woonplaats,
geboortedatum,
geleverde_uren,
vorm,
weeknummer,
factuurbedrag
)
AS
SELECT
periode,
gemeente,
MIN(jaar) || COALESCE(MIN(TO_CHAR(gemeente_factnr_infix)), MIN(prs_bedrijf_factnr_infix)) || SUBSTR(periode,6,2) || COALESCE(MIN(TO_CHAR(gemeente_factnr_suffix)), MIN(gemeente_code)),
bsn_client,
MIN(client),
MIN (client_adres),
MIN(client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
MIN (client_geboortedatum),
ROUND(SUM(week_uren_besteed),2),
DECODE(product, 'HV1', 'CHT basis','HV2', 'CHT plus', 'HV3', '', ''),
weeknr,
ROUND (MIN (tarief) * SUM(week_uren_besteed), 2)
FROM care_v_gemeente_fact2_uren fu
GROUP BY fu.periode, fu.gemeente, fu.beschikkingsnr, fu.bsn_client, fu.product, fu.jaar, fu.weeknr;
-- BONS#33906 variant R
CREATE_VIEW( care_v_rap2_factuur_uren_r, 0)
(
fclt_x_periode,
fclt_x_gemeente,
factuurnummer,
bsn,
voorletters,
tussenvoegsel,
naam,
meisjes_naam,
naam2,
geboortedatum,
geslacht,
straat,
huisnummer,
postcode,
woonplaats,
telefoonnummer,
mobielnummer,
contactpersoon,
email,
opmerking,
bijzonderheden,
beschikkingsnummer,
start_indicatie,
eind_indicatie,
soort_hv,
indicatie_uren,
uren_besteed
)
AS
SELECT periode,
gemeente,
MIN (jaar)
|| COALESCE (MIN (TO_CHAR (gemeente_factnr_infix)),
MIN (prs_bedrijf_factnr_infix))
|| SUBSTR (periode, 6, 2)
|| COALESCE (MIN (TO_CHAR (gemeente_factnr_suffix)),
MIN (gemeente_code))
factuurnr,
bsn_client,
MIN (client_voorletters),
MIN (client_tussenvoegsel),
MIN (client_naam),
MIN (client_meisjesnaam),
MIN (client2),
MIN (client_geboortedatum),
MIN (client_mv),
MIN (client_adres),
MIN (client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
MIN (client_telefoon_thuis),
MIN (prs_client_mobiel),
MIN (client_contactpersonen),
MIN (prs_client_email),
MIN (beschikking_omschr),
MIN (client_bijzonderheden),
beschikkingsnr,
TRUNC (beschikking_datum_van),
TRUNC (beschikking_datum_tot),
product,
indicatie_uren,
SUM (week_uren_besteed)
FROM care_v_tmp2_factuur_uren
WHERE pgb IS NULL
GROUP BY periode,
gemeente,
bsn_client,
beschikkingsnr,
beschikking_datum_van,
beschikking_datum_tot,
product,
indicatie_uren;
CREATE_VIEW( care_v_rap_tot_clientzorg, 0)
(
fclt_f_periode,
fclt_f_gemeente,
fclt_f_status,
bsn,
voorletters,
tussenvoegsel,
naam,
meisjes_naam,
naam2,
geboortedatum,
geslacht,
straat,
huisnummer,
postcode,
woonplaats,
telefoonnummer,
mobielnummer,
contactpersoon,
email,
opmerking,
bijzonderheden,
beschikkingsnummer,
fclt_f_start_indicatie,
eind_indicatie,
soort_hv,
indicatie_uren,
uren_besteed
)
AS
SELECT COALESCE (periode, 'nvt'),
gemeente_omschrijving,
DECODE (mld_melding_status, 5, 'Afgemeld', 6, 'Afgemeld', 'Open')
status,
MIN (client_bsn),
prs_client_voorletters,
prs_client_tussenvoegsel,
prs_client_naam,
MIN (client_meisjesnaam),
b.prs_client_naam
|| ','
|| b.prs_client_voorletters
|| ' '
|| b.prs_client_tussenvoegsel,
MIN (client_geboortedatum),
MIN (client_mv),
MIN (client_adres),
MIN (client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
MIN (client_telefoon_thuis),
MIN (prs_client_mobiel),
MIN (client_contactpersonen),
MIN (prs_client_email),
MIN (beschikking_omschr),
MIN (client_bijzonderheden),
beschikking_nr,
beschikking_datum_van,
beschikking_datum_tot,
product,
uren_beschikking,
SUM (uur.uren_besteed) besteed
FROM care_v_beschikking_all b,
(SELECT mld_melding_key,
jaar || '-' || LPAD (periodenr, 2, '0') periode,
uren_besteed
FROM care_v_bestede_uren_all
WHERE uren_status = 3) uur
WHERE mld_melding_status != 1
AND pgb IS NULL
AND uur.mld_melding_key(+) = b.mld_melding_key
GROUP BY periode,
gemeente_omschrijving,
mld_melding_status,
prs_client_naam,
prs_client_voorletters,
prs_client_tussenvoegsel,
beschikking_nr,
beschikking_datum_van,
beschikking_datum_tot,
beschikking_nr,
beschikking_datum_van,
beschikking_datum_tot,
product,
uren_beschikking;
-- view die ook de gekoppelde medewerker per opdracht laat zien
CREATE_VIEW( care_v_rap_tot_clientzorg_mdw, 0)
(
fclt_f_periode,
fclt_f_gemeente,
fclt_f_status,
bsn,
voorletters,
tussenvoegsel,
naam,
meisjes_naam,
naam2,
geboortedatum,
geslacht,
straat,
huisnummer,
postcode,
woonplaats,
telefoonnummer,
mobielnummer,
contactpersoon,
email,
opmerking,
bijzonderheden,
beschikkingsnummer,
fclt_f_start_indicatie,
eind_indicatie,
soort_hv,
indicatie_uren,
uren_besteed,
fclt_f_medewerker,
personeelsnummer
)
AS
SELECT COALESCE (periode, 'nvt'),
gemeente_omschrijving,
DECODE (mld_melding_status, 5, 'Afgemeld', 6, 'Afgemeld', 'Open')
status,
MIN (client_bsn),
prs_client_voorletters,
prs_client_tussenvoegsel,
prs_client_naam,
MIN (client_meisjesnaam),
b.prs_client_naam
|| ','
|| b.prs_client_voorletters
|| ' '
|| b.prs_client_tussenvoegsel,
MIN (client_geboortedatum),
MIN (client_mv),
MIN (client_adres),
MIN (client_huisnr),
MIN (client_postcode),
MIN (client_woonplaats),
MIN (client_telefoon_thuis),
MIN (prs_client_mobiel),
MIN (client_contactpersonen),
MIN (prs_client_email),
MIN (beschikking_omschr),
MIN (client_bijzonderheden),
beschikking_nr,
beschikking_datum_van,
beschikking_datum_tot,
product,
uren_beschikking,
SUM (uur.uren_besteed) besteed,
p.prs_perslid_naam_full,
p.prs_perslid_nr
FROM care_v_beschikking_all b,
(SELECT mld_melding_key,
mld_opdr_key,
jaar || '-' || LPAD (periodenr, 2, '0') periode,
uren_besteed
FROM care_v_bestede_uren_all
WHERE uren_status = 3) uur,
mld_opdr o,
(SELECT p.prs_perslid_key, p.prs_perslid_nr, pf.prs_perslid_naam_full
FROM prs_perslid p, prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key) p
WHERE mld_melding_status != 1
AND pgb IS NULL
AND uur.mld_melding_key(+) = b.mld_melding_key
AND o.mld_opdr_key(+) = uur.mld_opdr_key
AND o.mld_uitvoerende_keys = p.prs_perslid_key(+)
GROUP BY periode,
gemeente_omschrijving,
mld_melding_status,
prs_client_naam,
prs_client_voorletters,
prs_client_tussenvoegsel,
beschikking_nr,
beschikking_datum_van,
beschikking_datum_tot,
product,
uren_beschikking,
p.prs_perslid_naam_full,
p.prs_perslid_nr;
CREATE_VIEW( care_v_rap_tot_clientzorg_all, 0)
(
mld_melding_key,
fclt_f_gemeente,
fclt_f_status,
bsn,
voorletters,
tussenvoegsel,
naam,
meisjes_naam,
naam2,
geboortedatum,
geslacht,
straat,
huisnummer,
postcode,
woonplaats,
telefoonnummer,
mobielnummer,
contactpersoon,
email,
opmerking,
bijzonderheden,
beschikkingsnummer,
fclt_f_start_indicatie,
fclt_f_eind_indicatie,
soort_hv,
indicatie_uren,
fclt_f_medewerker,
personeelsnummer
)
AS
SELECT b.mld_melding_key,
gemeente_omschrijving,
DECODE (mld_melding_status, 5, 'Afgemeld', 6, 'Afgemeld', 'Open')
status,
client_bsn,
prs_client_voorletters,
prs_client_tussenvoegsel,
prs_client_naam,
client_meisjesnaam,
b.prs_client_naam
|| ','
|| b.prs_client_voorletters
|| ' '
|| b.prs_client_tussenvoegsel,
client_geboortedatum,
client_mv,
client_adres,
client_huisnr,
client_postcode,
client_woonplaats,
client_telefoon_thuis,
prs_client_mobiel,
client_contactpersonen,
prs_client_email,
beschikking_omschr,
client_bijzonderheden,
beschikking_nr,
beschikking_datum_van,
beschikking_datum_tot,
product,
uren_beschikking,
p.prs_perslid_naam_full,
p.prs_perslid_nr
FROM care_v_beschikking_all b,
mld_opdr o,
(SELECT p.prs_perslid_key,
p.prs_perslid_nr,
pf.prs_perslid_naam_full
FROM prs_perslid p, prs_v_perslid_fullnames_all pf
WHERE pf.prs_perslid_key = p.prs_perslid_key) p
WHERE b.mld_melding_key = o.mld_melding_key
AND o.mld_uitvoerende_keys = p.prs_perslid_key(+);
-- mbmb
-- Rapport Q) FACTUURrapport voor de gemaakte uren per datum - variant Q (Bernisse):
CREATE_VIEW( care_v_rap2_factuur_uren_q, 0)
(
fclt_x_periode,
fclt_x_gemeente,
aanbieder,
dossiernr,
tussenv_partner,
partner,
tussenv,
achternaam_klant,
geboortedatum,
veilingnr,
ingangsdatum_contract,
werkelijke_startdatum,
einddatum_contract,
gemeente,
clientnr_ZA,
annuleringsdatum,
cancel_reden,
korting,
status,
minuten,
bsn,
omzet,
soort_indicatie,
indicatie_minuten,
prijs_inc_korting,
datum,
geleverde_minuten,
factuur,
medewerker,
personeelsnummer_mdw
)
AS
SELECT periode,
gemeente,
MIN(prs_bedrijf_naam),
'',
'',
'',
MIN (client_tussenvoegsel),
MIN (client_naam),
MIN (client_geboortedatum),
beschikkingsnr,
MIN(beschikking_datum_van),
MIN(ffu.datum_eerste_keer_ooit),
MIN(beschikking_datum_tot),
gemeente,
MIN(client_nr),
'',
'',
'',
'',
'',
f.bsn_client,
'',
DECODE(product, 'HV1', 'HH','HV2', 'HH', 'HV3', 'HH', 'HH'),
60*MIN (indicatie_uren),
MIN (tarief),
datum,
ROUND (60 * SUM (week_uren_besteed)),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2),
verzorger,
nr_verzorger
FROM care_v_gemeente_fact2_uren f, care_v_first_factuur_uren_ooit ffu
WHERE f.bsn_client = ffu.client_bsn
GROUP BY periode, gemeente, beschikkingsnr, f.bsn_client, product, jaar, weeknr, datum, verzorger, nr_verzorger;
-- FactuurRapportage view Iwmo
CREATE_VIEW( care_v_rap2_factuur_uren_iwmo, 0)
(
fclt_x_periode,
fclt_x_gemeente,
bsn,
geboortedatum,
geslacht,
geboortenaam,
voorvoegsel,
naamcode1,
achternaampartner,
voorvoegselpartner,
voorletters,
naamcode2,
postcode,
huisnummer,
huisnummertoevoeging,
indicatieoverleden,
beschikkingsnummer,
productcategorie,
begindatumproduct,
einddatumproduct,
productcode,
aantaluitgevoerdeproduct,
tijdseenheidzorgperiode,
declaratiebedrag,
debetcredit,
referentienummercredit
)
AS
SELECT f.periode,
f.gemeente,
f.bsn_client, -- kolom A
SUBSTR(MIN (client_geboortedatum),7,4)||SUBSTR(MIN (client_geboortedatum),4,2)||SUBSTR(MIN (client_geboortedatum),1,2), --kolom B
DECODE(MIN(client_mv),'M',1,'V',2,''), -- kolom C
COALESCE(MIN(client_meisjesnaam), MIN (client_naam)), -- kolom D
'', -- kolom E
'1', -- kolom F
'', -- kolom G
'', -- kolom H
REPLACE(REPLACE (MIN (client_voorletters), ' ', ''),'.',''), --kolom I
'0', -- kolom J
REPLACE(MIN (client_postcode), ' ', ''), --kolom K
SUBSTR (
MIN(client_huisnr),
1,
DECODE (REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]'),
0, LENGTH (MIN(client_huisnr)),
REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]') - 1
)
), --Kolom L
SUBSTR (
MIN(client_huisnr),
DECODE (REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]'),
0, LENGTH (MIN(client_huisnr)) + 1,
REGEXP_INSTR (MIN(client_huisnr), '[[:alpha:]]|[-]')
)
), --Kolom M
'2', -- kolom N
beschikkingsnr, -- Kolom O
'01', -- Kolom P
TO_CHAR(GREATEST(MIN(pt.maandag_van), MIN(beschikking_datum_van)),'YYYYMMDD'), -- Kolom Q
TO_CHAR(LEAST(MIN(pt.zondag_tm), MIN(beschikking_datum_tot)),'YYYYMMDD'), -- Kolom R
LPAD(DECODE(product, 'HV1', TO_CHAR(COALESCE(MIN(gemeente_hv1_code), 1)), 'HV2', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)), 'HV3', TO_CHAR(COALESCE(MIN(gemeente_hv2_code),2)+1), ''),5,'0') , -- Kolom S
CASE
WHEN MIN(gemeente_budget)=0 THEN TO_CHAR(ROUND (60 * SUM (week_uren_besteed)))
ELSE '0001'
END, -- Kolom T
CASE
WHEN MIN(gemeente_budget)=0 THEN '01'
ELSE '81'
END, -- Kolom U
CASE
WHEN MIN(gemeente_budget)=0 THEN LPAD(TO_CHAR(ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))), 8, '0')
ELSE LPAD(TO_CHAR(ROUND (100 * MIN (tarief))), 8, '0')
END, -- Kolom V
'D', -- Kolom W
'' --Kolom X
FROM care_v_gemeente_fact2_uren f, care_v_periodetabel_2jaar pt
WHERE f.periode = pt.jaar_periode
GROUP BY f.periode, gemeente, beschikkingsnr, f.bsn_client, product;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- salaris ---salaris----salaris-----salaris----salaris----salaris----salaris----salaris----salaris----salaris---salaris---salaris--salaris--salaris------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CREATE_VIEW( care_v_onkosten2_all, 0)
(
periode,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
mld_kosten_key,
mld_kosten_code,
mld_kosten_omschrijving,
mld_opdruren_kosten_besteed,
mld_kosten_kosten,
datum
)
AS
SELECT uur.jaar || '-' || LPAD (uur.periodenr, 2, '0'),
v.verzorger_bsn,
v.prs_verzorger_personeelsnr,
v.prs_verzorger_naam || ',' || v.prs_verzorger_voorletters || ' ' || v.prs_verzorger_tussenvoegsel,
v.prs_verzorger_dienstverband,
k.mld_kosten_key,
k.mld_kosten_code,
k.mld_kosten_omschrijving,
ouk.mld_opdruren_kosten_besteed,
k.mld_kosten_kosten,
uur.datum_gewerkt
FROM care_v_totaal_uren_all uur, care_v_verzorger v, mld_opdruren_kosten ouk, mld_kosten k
WHERE uur.prs_perslid_key = v.prs_perslid_key
AND uur.mld_opdr_uren_key = ouk.mld_opdr_uren_key
AND ouk.mld_kosten_key = k.mld_kosten_key
AND k.mld_kosten_verwijder IS NULL
AND uur.uren_status = 3
UNION ALL
SELECT periode,
bsn,
nr_verzorger,
prs_perslid_naam
|| ','
|| prs_perslid_voorletters
|| ' '
|| prs_perslid_tussenvoegsel verzorger,
prs_perslid_dienstverband,
NULL mld_kosten_key,
kosten_code,
kosten_omschrijving,
rt.interkm,
NULL,
datum_gewerkt
FROM care_v_reistijden_all rt;
CREATE_VIEW( care_v_tmp2_auto (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, woonwerk_km, rest_km, datum), 0)
AS
SELECT periode,
bsn_verzorger,
nr_verzorger,
verzorger,
MIN(prs_perslid_dienstverband),
LEAST (SUM (mld_opdruren_kosten_besteed), 10),
SUM (mld_opdruren_kosten_besteed) - LEAST (SUM (mld_opdruren_kosten_besteed), 10),
datum
FROM care_v_onkosten2_all
WHERE mld_kosten_code = 'A'
GROUP BY periode, bsn_verzorger, nr_verzorger, verzorger, datum;
CREATE_VIEW( care_v_rap2_auto (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, woonwerk_km, rest_km), 0)
AS
SELECT periode,
bsn_verzorger,
nr_verzorger,
verzorger,
MIN(prs_perslid_dienstverband),
SUM (woonwerk_km),
SUM (rest_km)
FROM care_v_tmp2_auto
GROUP BY periode, bsn_verzorger, nr_verzorger, verzorger;
CREATE_VIEW (care_v_rap2_reistijd (periode, bsn_verzorger,nr_verzorger,verzorger,prs_perslid_dienstverband,reistijd ), 0)
AS
SELECT periode,
bsn_verzorger,
nr_verzorger,
verzorger,
MIN (prs_perslid_dienstverband),
SUM (mld_opdruren_kosten_besteed)
FROM care_v_onkosten2_all
WHERE mld_kosten_code = 'T'
GROUP BY periode,
bsn_verzorger,
nr_verzorger,
verzorger;
-- mld_kosten_code = 'F', Dit zijn de onkosten voor FIETS gebruik: elke dag dat er gefietst is, telt als 1 (meerdere keren op 1 dag telt ook als 1)
CREATE_VIEW( care_v_rap2_fiets (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed), 0)
AS
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, MIN(prs_perslid_dienstverband), COUNT (DISTINCT datum)
FROM care_v_onkosten2_all
WHERE mld_kosten_code = 'F'
GROUP BY periode, bsn_verzorger, nr_verzorger, verzorger;
-- mld_kosten_code = 'B', Dit zijn de onkosten voor BROMFIETS gebruik: elke dag dat er gebromt is, telt als 1 (meerdere keren op 1 dag telt ook als 1)
CREATE_VIEW( care_v_rap2_bromfiets (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed), 0)
AS
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, MIN(prs_perslid_dienstverband), COUNT (DISTINCT datum)
FROM care_v_onkosten2_all
WHERE mld_kosten_code = 'B'
GROUP BY periode, bsn_verzorger, nr_verzorger, verzorger;
CREATE_VIEW( care_v_tmp2_impr_uren, 0)
(
mld_impropdr_key,
mld_impropdr_code,
jaar,
periode,
periode_nr,
weeknr,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
week_uren_besteed,
datum
)
AS
SELECT uur.mld_impropdr_key,
uur.mld_impropdr_code,
uur.jaar,
uur.jaar || '-' || LPAD (uur.periodenr, 2, '0'),
uur.periodenr,
uur.weeknr,
uur.bsn,
uur.prs_perslid_nr,
uur.prs_perslid_naam || ',' || uur.prs_perslid_voorletters || ' ' || uur.prs_perslid_tussenvoegsel,
prs_perslid_dienstverband,
uur.uren_besteed,
uur.datum_gewerkt
FROM care_v_improductieve_uren_all uur
WHERE uur.uren_status = 3;
--- Hieronder het totaal aan goedgekeurde niet-productieve uren (werkoverleg) over de periode 1234,
--- waarbij de verlof-uren (mld_impropdr_key = 1) en ziekte-uren (mld_impropdr_key = 2) worden uitgesloten.
CREATE_VIEW( care_v_gewerkte_impr2_uren (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_impropdr_key, week_uren_besteed, datum), 0)
AS
SELECT periode,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
mld_impropdr_key,
week_uren_besteed,
datum
FROM care_v_tmp2_impr_uren
WHERE mld_impropdr_key <> 1 AND mld_impropdr_key <> 2;
--- Hieronder het totaal aan goedgekeurde niet-productieve ziekte uren over de periode 1234,
--- Voor ziekte-uren geldt: mld_impropdr_key = 2
CREATE_VIEW( care_v_gekeurde_ziek2_uren (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, ziekte_uren, dagen), 0)
AS
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, MIN(prs_perslid_dienstverband), ROUND(SUM (week_uren_besteed),2), COUNT(distinct datum)
FROM care_v_tmp2_impr_uren
WHERE mld_impropdr_key = 2
GROUP BY periode, bsn_verzorger, nr_verzorger, verzorger;
--- Hieronder het totaal aan goedgekeurde niet-productieve verlof uren over de periode 1234,
--- Voor verlof-uren geldt: mld_impropdr_key = 1
CREATE_VIEW( care_v_gekeurde_vrij2_uren (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, verlof_uren, dagen), 0)
AS
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, MIN(prs_perslid_dienstverband), ROUND(SUM (week_uren_besteed),2), COUNT(distinct datum)
FROM care_v_tmp2_impr_uren
WHERE mld_impropdr_key = 1
GROUP BY periode, bsn_verzorger,nr_verzorger,verzorger;
CREATE_VIEW( care_v_rap2_salaris (periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, week_uren_besteed, datum), 0)
AS
SELECT periode,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
week_uren_besteed,
datum
FROM care_v_tmp2_factuur_uren
UNION ALL
SELECT periode,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
week_uren_besteed,
datum
FROM care_v_gewerkte_impr2_uren;
CREATE_VIEW( care_v_periode_x_salaris, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, periode_uren_besteed, dagen, bsn_periode)
AS
SELECT jaar_periode, bsn_verzorger, MIN(nr_verzorger), MIN(verzorger), MIN(prs_perslid_dienstverband), ROUND(SUM (week_uren_besteed),2), COUNT(DISTINCT datum), bsn_verzorger ||'_'|| jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_rap2_salaris x
WHERE pt.jaar_periode = x.periode
GROUP BY jaar_periode, bsn_verzorger;
CREATE_VIEW( care_v_periode_x_ziek, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, ziekte_uren, dagen, bsn_periode)
AS
SELECT jaar_periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, ziekte_uren, dagen, bsn_verzorger ||'_'|| jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_gekeurde_ziek2_uren x
WHERE pt.jaar_periode = x.periode;
CREATE_VIEW( care_v_periode_x_vrij, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, verlof_uren, dagen, bsn_periode)
AS
SELECT jaar_periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, verlof_uren, dagen, bsn_verzorger ||'_'|| jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_gekeurde_vrij2_uren x
WHERE pt.jaar_periode = x.periode;
CREATE_VIEW( care_v_periode_x_auto, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, woonwerk_km, rest_km, bsn_periode)
AS
SELECT jaar_periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, woonwerk_km, rest_km, bsn_verzorger ||'_'|| jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_rap2_auto x
WHERE pt.jaar_periode = x.periode;
CREATE_VIEW( care_v_periode_x_fiets, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed, bsn_periode)
AS
SELECT jaar_periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed, bsn_verzorger ||'_'|| jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_rap2_fiets x
WHERE pt.jaar_periode = x.periode;
CREATE_VIEW( care_v_periode_x_bromfiets, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed, bsn_periode)
AS
SELECT jaar_periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed, bsn_verzorger ||'_'|| jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_rap2_bromfiets x
WHERE pt.jaar_periode = x.periode;
CREATE_VIEW (care_v_periode_x_reistijd, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, mld_opdruren_kosten_besteed,bsn_periode)
AS
SELECT jaar_periode,
bsn_verzorger,
nr_verzorger,
verzorger,
prs_perslid_dienstverband,
reistijd,
bsn_verzorger || '_' || jaar_periode
FROM care_v_periodetabel_2jaar pt, care_v_rap2_reistijd x
WHERE pt.jaar_periode = x.periode;
CREATE_VIEW( care_v_salaris_all, 0)
(periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, periode_uren_besteed, werkdagen,ziekte_uren, ziekdagen, verlof_uren, verlofdagen, woonwerk_km, rest_km, fietsdagen, bromfietsdagen)
AS
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, periode_uren_besteed, dagen, 0, 0, 0, 0, 0, 0, 0, 0
FROM care_v_periode_x_salaris s
UNION ALL
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, 0, 0, ziekte_uren, dagen, 0, 0, 0, 0, 0, 0
FROM care_v_periode_x_ziek z
UNION ALL
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, 0, 0, 0, 0, verlof_uren, dagen, 0, 0, 0, 0
FROM care_v_periode_x_vrij v
UNION ALL
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, 0, 0, 0, 0, 0, 0 , woonwerk_km, rest_km, 0, 0
FROM care_v_periode_x_auto a
UNION ALL
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, 0, 0, 0, 0, 0, 0, 0, 0, mld_opdruren_kosten_besteed, 0
FROM care_v_periode_x_fiets f
UNION ALL
SELECT periode, bsn_verzorger, nr_verzorger, verzorger, prs_perslid_dienstverband, 0, 0, 0, 0, 0, 0, 0, 0, 0, mld_opdruren_kosten_besteed
FROM care_v_periode_x_bromfiets b;
CREATE_VIEW( care_v_rap2_salaris_a, 0)
(
fclt_f_periode,
bsn,
verzorger,
contract_uren,
uren_gewerkt,
uren_ziek,
uren_verlof,
svdagen,
fietsvergoeding,
bromfietsvergoeding,
km_woonwerk,
km_plus
)
AS
select periode, bsn_verzorger, verzorger, MIN(prs_perslid_dienstverband), SUM(periode_uren_besteed), SUM(ziekte_uren), SUM(verlof_uren), SUM(werkdagen), SUM(fietsdagen), SUM(bromfietsdagen), SUM(woonwerk_km), SUM(rest_km)
from care_v_salaris_all s
group by periode, bsn_verzorger, verzorger;
---
-- Salarisrapport type B: per medewerker elke uren/declaratiepost op aparte regel, dus meer regels voor 1 medewerker
-- Identificatie van medewerker: personeelsnummer (clientnummer)
-- NB: Dit rapport is voor Unit 4 Salaris administratie geschikt
--
-- Periode berekening iets als: LPAD (FLOOR (SUBSTR (ud1.fac_usrdata_omschr, 6, 2) / 4) + 1, 3, '0')
--- looncode = GEWERKT / ZIEK / VERLOF / FIETS / BROMF / KM_WW / KM_PLUS
---
CREATE_VIEW(care_v_rap2_salaris_b, 0)
(
FCLT_F_PERIODE,
BOEKDATUM,
BSN,
NR_VERZORGER,
VERZORGER,
UUR_SOORT,
UREN,
SVDAGEN,
KOSTEN_SOORT,
KOSTEN
)
AS
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
'GEWERKT',
periode_uren_besteed,
dagen,
NULL,
NULL
FROM care_v_periode_x_salaris
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
'ZIEK',
ziekte_uren,
dagen,
NULL,
NULL
FROM care_v_periode_x_ziek
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
'VERLOF',
verlof_uren,
dagen,
NULL,
NULL
FROM care_v_periode_x_vrij
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
NULL,
NULL,
NULL,
'KM_WW',
woonwerk_km
FROM care_v_periode_x_auto
WHERE woonwerk_km != 0
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
NULL,
NULL,
NULL,
'KM_PLUS',
rest_km
FROM care_v_periode_x_auto
WHERE rest_km != 0
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
NULL,
NULL,
NULL,
'FIETS',
mld_opdruren_kosten_besteed
FROM care_v_periode_x_fiets
WHERE mld_opdruren_kosten_besteed != 0
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
NULL,
NULL,
NULL,
'BROMF',
mld_opdruren_kosten_besteed
FROM care_v_periode_x_bromfiets
WHERE mld_opdruren_kosten_besteed != 0
UNION
SELECT periode,
SYSDATE,
bsn_verzorger,
nr_verzorger,
verzorger,
NULL,
NULL,
NULL,
'REISTIJD',
ROUND(mld_opdruren_kosten_besteed)
FROM care_v_periode_x_reistijd
WHERE mld_opdruren_kosten_besteed != 0;
-- Herdefinietie van oorspronkelijk 'care_v_rap_salaris_b' die nog op 6 weken is gebaseerd,
-- !!Let op: care_v_rap_salaris_b komt in de cust/atch.sql en bons.sql terug!!!
CREATE_VIEW(care_v_rap_salaris_b, 0)
AS
SELECT * FROM care_v_rap2_salaris_b;
----------------------------------------------------------------------------------------------------
-- CAK rapportage --
-- CAK rapportage --
-- CAK rapportage --
-- CAK rapportage --
----------------------------------------------------------------------------------------------------
CREATE_VIEW( care_v_cak2_factuur_uren_b, 0)
(
fclt_f_periode,
eerste_datum_periode_gewerkt,
factuurdatum,
wzacode,
fclt_f_gemeente,
gemeente_ob,
alt_hv1,
alt_hv2,
alt_hv3,
beschikkingsnr,
bsn_client,
client_nr,
client,
prs_client_cak_actie,
geboortedatum,
indicatie_uren,
product,
tarief,
jaar,
weeknr,
verzorger_key,
uren,
minuten,
bedrag_euro,
bedrag_centen
)
AS
SELECT periode,
MIN (datum),
TO_CHAR (SYSDATE, 'DD-MM-YYYY'),
MIN (wzacode),
gemeente,
MIN (gemeente_ob),
MIN (alt_hv1),
MIN (alt_hv2),
MIN (alt_hv3),
beschikkingsnr,
bsn_client,
MIN (client_nr),
MIN (client),
MIN (prs_client_cak_actie),
MIN (client_geboortedatum),
MIN (indicatie_uren),
product,
MIN (tarief),
jaar,
weeknr,
verzorger_key,
ROUND (SUM (week_uren_besteed), 2),
ROUND (60 * SUM (week_uren_besteed)),
ROUND (MIN (tarief) * SUM (week_uren_besteed), 2),
ROUND (100 * MIN (tarief) * SUM (week_uren_besteed))
FROM care_v_gemeente_fact2_uren
WHERE gemeente_veiling = 0 AND gemeente_budget = 0
GROUP BY periode, gemeente, beschikkingsnr, bsn_client, product, jaar, weeknr, verzorger_key;
CREATE_VIEW( care_v_cak_choose_periode, 0)
(
fclt_f_periode
)
AS
SELECT distinct periode
FROM care_v_gemeente_fact2_uren;
-- Key 41 = SLEUTEL van waarde-code 'BESTANDSNUMMER' van eigen tabel '$SYSTEM-CAK' :: DEZE WORDT NIET MEER GEBRUIKT!!
-- Key 47 = SLEUTEL van waarde-code 'PERIODE' van eigen tabel '$SYSTEM-CAK' (geeft de gekozen periode waarover CAK rapport wordt gemaakt aan)
--> Deze constructie met FLOOR(SUBSTR(ud1.fac_usrdata_omschr,6,2)/4) .... wordt ook in cak_tzi_2_zip.js gebruikt,
--> Deze 2 moeten overeenkomen, vandaar!!!
-- Key 42 = SLEUTEL van waarde-code 'OMGEVING' van eigen tabel '$SYSTEM-CAK' (P of T)
-- Key 43 = SLEUTEL van waarde-code 'VERSIENUMMER' van eigen tabel '$SYSTEM-CAK' (=20)
CREATE_VIEW( care_v_cak_hoofd_record, 0)
(
fclt_f_periode,
txt
)
AS
SELECT cp.fclt_f_periode,
'01'
|| pb.prs_leverancier_nr
|| SUBSTR(cp.fclt_f_periode,1,4)
|| LPAD (SUBSTR(cp.fclt_f_periode,6,2), 3, '0')
|| TO_CHAR (SYSDATE, 'YYYYMMDD')
|| UPPER (ud2.fac_usrdata_omschr)
|| ud3.fac_usrdata_omschr
|| RPAD (' ', 54, ' ')
FROM prs_bedrijf pb, fac_usrdata ud2, fac_usrdata ud3, care_v_cak_choose_periode cp
WHERE ud2.fac_usrdata_key = 42 AND ud3.fac_usrdata_key = 43;
CREATE_VIEW( care_v_cak_zorg_pre_record, 0)
(
fclt_f_periode,
eerste_datum_periode_gewerkt,
bsn_client,
client_nr,
prs_client_cak_actie,
hele_uren,
minuten,
txt
)
AS
SELECT fclt_f_periode,
eerste_datum_periode_gewerkt,
f.bsn_client,
f.client_nr,
f.prs_client_cak_actie,
FLOOR (f.uren),
ROUND (60 * (f.uren - FLOOR (f.uren))),
jaar
|| LPAD (weeknr, 2, '0')
|| LPAD (COALESCE (client_nr, ' '), 10, '0')
|| DECODE (
product,
'HV1',
DECODE (gemeente_ob,
1, '428',
COALESCE (alt_hv1, ud1.fac_usrdata_omschr)),
'HV2',
DECODE (gemeente_ob,
1, '429',
COALESCE (alt_hv2, ud2.fac_usrdata_omschr)),
'HV3',
DECODE (gemeente_ob,
1, '430',
COALESCE (alt_hv3, ud4.fac_usrdata_omschr)),
'000')
|| ud3.fac_usrdata_omschr
|| LPAD (FLOOR (f.uren), 3, '0')
|| LPAD (ROUND (60 * (f.uren - FLOOR (f.uren))), 2, '0')
|| LPAD (verzorger_key, 10, '0')
|| RPAD (' ', 2, ' ')
|| RPAD (' ', 39, ' ')
FROM care_v_cak2_factuur_uren_b f,
fac_usrdata ud1,
fac_usrdata ud2,
fac_usrdata ud3,
fac_usrdata ud4
WHERE ud1.fac_usrdata_key = 44
AND ud2.fac_usrdata_key = 45
AND ud3.fac_usrdata_key = 46
AND ud4.fac_usrdata_key = 49;
-- Key 44 bij ud1 = SLEUTEL van waarde-code 'HV1' van eigen tabel '$SYSTEM-CAK' (007)
-- Key 45 bij ud2 = SLEUTEL van waarde-code 'HV2' van eigen tabel '$SYSTEM-CAK' (006)
-- Key 46 bij ud3 = SLEUTEL van waarde-code 'FINANCIERINGSSTROOM' van eigen tabel '$SYSTEM-CAK' (=08)
-- Key 49 bij ud4 = SLEUTEL van waarde-code 'HV3' van eigen tabel '$SYSTEM-CAK' (100)
CREATE_VIEW( care_v_cak_client_zorg_record, 0)
(
fclt_f_periode,
eerste_datum_periode_gewerkt,
bsn_client,
client_nr,
prs_client_cak_actie,
hele_uren,
minuten,
txt
)
AS
SELECT fclt_f_periode,
eerste_datum_periode_gewerkt,
bsn_client,
client_nr,
prs_client_cak_actie,
hele_uren,
minuten,
'51' || '1' || txt
FROM care_v_cak_zorg_pre_record;
--- Gewijzigde cq. correctie zorguren die naar CAK moeten.
--- KEY(prs_client_cak_actie) = 2 betekent "Correctie zorguren voor CAK"
CREATE_VIEW(care_v_cak_changed_zorg_record, 0)
(
fclt_f_periode,
eerste_datum_periode_gewerkt,
bsn_client,
client_nr,
prs_client_cak_actie,
hele_uren,
minuten,
txt
)
AS
SELECT fclt_f_periode,
eerste_datum_periode_gewerkt,
bsn_client,
client_nr,
prs_client_cak_actie,
hele_uren,
minuten,
'51' || prs_client_cak_actie || txt
FROM care_v_cak_zorg_pre_record
WHERE prs_client_cak_actie = 1 OR prs_client_cak_actie = 2;
-- MB: let wel: een beetje tricky, maar wel ok!
-- Er mogen alleen clienten in bestand die nog niet eerder zijn aangeleverd (dus alleen de nieuwe clienten van dezer periode)
-- Opgelost via view care_v_first_factuur_uren_ooit en veld datum_eerste_keer_ooit, de allereerste keer dat client zorguren
-- heeft gekregen. Als die gelijk is aan de eerste keer dat zorg in deze periode is gekregen, dan conclusie: nieuwe client.
-- (NB: Niet via persoon-aanmaak datum vergeleken met periode, want dat zegt niet over ontvangen zorguren!!!)
-- Verder accepteert CAK niet dat 1,2 en 3 jan 2010 wordt weergegeven met 2010-week 53, dus in die gevallen wordt dat weeknr 01
-- Dit wordt ook enigszins tricky gedaan, maar wel ok, met verschil tussen beschikking_datum_van 'WW' en 'IW'...
-- Tenslotte de voorletters van client, die moeten zonder puntjes (de replace zorgt ervoor dat puntjes eruit worden gehaald).
-- Usrdata-Key 48 = SLEUTEL van waarde-code 'CLIENTNR' van eigen tabel '$SYSTEM-CAK'
-- (=1 indien gebruikt van expliciet clientnr, anders perslid_key als impliciet nr)
-- Prs_client_cak_actie = 1 betekent: client opnieuw aanmelden bij het CAK.
CREATE_VIEW( care_v_cak_clientstam_record, 0)
(
fclt_f_periode,
client_bsn,
txt
)
AS
SELECT cz.fclt_f_periode,
b.client_bsn,
'10' || TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IYYY'))
|| LPAD (TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IW')), 2,'0')
|| LPAD (COALESCE (MIN(client_nr), ' '), 10, '0')
|| '1'
|| LPAD (COALESCE (MIN (b.prs_client_naam), ' '), 25, ' ')
|| LPAD (COALESCE (MIN (b.prs_client_tussenvoegsel), ' '), 8, ' ')
|| LPAD (REPLACE (COALESCE (MIN (b.prs_client_voorletters), ' '), '.', ''), 5, ' ')
|| LPAD (COALESCE (SUBSTR (MIN (b.client_geboortedatum), 7, 4), ' '), 4)
|| LPAD (COALESCE (SUBSTR (MIN (b.client_geboortedatum), 4, 2), ' '), 2)
|| LPAD (COALESCE (SUBSTR (MIN (b.client_geboortedatum), 1, 2), ' '), 2)
|| LPAD (COALESCE (b.client_bsn, ' '), 9, ' ')
|| RPAD (' ', 6, ' ')
FROM care_v_beschikking_all b, care_v_cak_client_zorg_record cz
WHERE cz.bsn_client = b.client_bsn
AND b.pgb IS NULL
GROUP BY cz.fclt_f_periode, b.client_bsn;
-- Usrdata-Key 48 = SLEUTEL van waarde-code 'CLIENTNR' van eigen tabel '$SYSTEM-CAK'
-- (=1 indien gebruikt van expliciet clientnr, anders perslid_key als impliciet nr)
-- Prs_client_cak_actie = 1 betekent: client opnieuw aanmelden bij het CAK.
-- Bijzonderheid: gebruik van REGEXP_INSTR om dat vervelende huisnr toevoeging gedoe uit elkaar te trekken.
-- CAK rapport eist dat huisnr ALLEEN numerieke waarden heeft (dus 12A en 20-3 zijn ongeldig en moeten in huisnr toevoeging zitten)
-- Het veld Huisnr (1 in facilitor) verworden in CAK rapport 2 velden 'huisnr' en 'huisnrtoevoeging'
-- Voorbeelden:
-- Facilitor-> CAK
-- huisnr -> huisnr | huisnr toevoeging
-- 12A -> 12 | A
-- 20-3 -> 20 | 3
-- 123 -> 123 |
CREATE_VIEW( care_v_cak_clientaanv_record, 0)
(
fclt_f_periode,
client_bsn,
txt
)
AS
SELECT cz.fclt_f_periode,
b.client_bsn,
'12' || TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IYYY'))
|| LPAD (TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IW')), 2,'0')
|| LPAD (COALESCE (MIN(client_nr), ' '), 10, '0')
|| '1'
|| LPAD (COALESCE (MIN (client_mv), ' '), 1, ' ')
|| UPPER (LPAD (COALESCE (REPLACE (MIN (client_postcode), ' ', ''), ' '), 6, ' '))
|| LPAD (
COALESCE (
MIN(SUBSTR (
client_huisnr,
1,
DECODE (REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]'),
0, LENGTH (client_huisnr),
REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]') - 1
)
)),
' '
),
5,
' '
)
|| LPAD (
COALESCE (
MIN(SUBSTR (
client_huisnr,
DECODE (REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]'),
0, LENGTH (client_huisnr) + 1,
REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]')
)
)),
' '
),
4,
' '
)
|| RPAD (' ', 45, ' ')
FROM care_v_beschikking_all b, care_v_cak_client_zorg_record cz
WHERE cz.bsn_client = b.client_bsn
AND b.pgb IS NULL
GROUP BY cz.fclt_f_periode, b.client_bsn;
CREATE_VIEW( care_v_cak_c_clientstam_record, 0)
(
fclt_f_periode,
client_bsn,
txt
)
AS
SELECT cz.fclt_f_periode,
b.client_bsn,
'10' || TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IYYY'))
|| LPAD (TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IW')), 2,'0')
|| LPAD (COALESCE (MIN(client_nr), ' '), 10, '0')
|| '1'
|| LPAD (COALESCE (MIN (b.prs_client_naam), ' '), 25, ' ')
|| LPAD (COALESCE (MIN (b.prs_client_tussenvoegsel), ' '), 8, ' ')
|| LPAD (REPLACE (COALESCE (MIN (b.prs_client_voorletters), ' '), '.', ''), 5, ' ')
|| LPAD (COALESCE (SUBSTR (MIN (b.client_geboortedatum), 7, 4), ' '), 4)
|| LPAD (COALESCE (SUBSTR (MIN (b.client_geboortedatum), 4, 2), ' '), 2)
|| LPAD (COALESCE (SUBSTR (MIN (b.client_geboortedatum), 1, 2), ' '), 2)
|| LPAD (COALESCE (b.client_bsn, ' '), 9, ' ')
|| RPAD (' ', 6, ' ')
FROM care_v_beschikking_all b, care_v_cak_changed_zorg_record cz
WHERE cz.bsn_client = b.client_bsn
AND b.pgb IS NULL
GROUP BY cz.fclt_f_periode, b.client_bsn;
-- Usrdata-Key 48 = SLEUTEL van waarde-code 'CLIENTNR' van eigen tabel '$SYSTEM-CAK'
-- (=1 indien gebruikt van expliciet clientnr, anders perslid_key als impliciet nr)
-- Prs_client_cak_actie = 1 betekent: client opnieuw aanmelden bij het CAK.
-- Bijzonderheid: gebruik van REGEXP_INSTR om dat vervelende huisnr toevoeging gedoe uit elkaar te trekken.
-- CAK rapport eist dat huisnr ALLEEN numerieke waarden heeft (dus 12A en 20-3 zijn ongeldig en moeten in huisnr toevoeging zitten)
-- Het veld Huisnr (1 in facilitor) verworden in CAK rapport 2 velden 'huisnr' en 'huisnrtoevoeging'
-- Voorbeelden:
-- Facilitor-> CAK
-- huisnr -> huisnr | huisnr toevoeging
-- 12A -> 12 | A
-- 20-3 -> 20 | 3
-- 123 -> 123 |
CREATE_VIEW( care_v_cak_c_clientaanv_record, 0)
(
fclt_f_periode,
client_bsn,
txt
)
AS
SELECT cz.fclt_f_periode,
b.client_bsn,
'12' || TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IYYY'))
|| LPAD (TO_NUMBER (TO_CHAR (MIN (b.beschikking_datum_van), 'IW')), 2,'0')
|| LPAD (COALESCE (MIN(client_nr), ' '), 10, '0')
|| '1'
|| LPAD (COALESCE (MIN (client_mv), ' '), 1, ' ')
|| UPPER (LPAD (COALESCE (REPLACE (MIN (client_postcode), ' ', ''), ' '), 6, ' '))
|| LPAD (
COALESCE (
MIN(SUBSTR (
client_huisnr,
1,
DECODE (REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]'),
0, LENGTH (client_huisnr),
REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]') - 1
)
)),
' '
),
5,
' '
)
|| LPAD (
COALESCE (
MIN(SUBSTR (
client_huisnr,
DECODE (REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]'),
0, LENGTH (client_huisnr) + 1,
REGEXP_INSTR (client_huisnr, '[[:alpha:]]|[-]')
)
)),
' '
),
4,
' '
)
|| RPAD (' ', 45, ' ')
FROM care_v_beschikking_all b, care_v_cak_changed_zorg_record cz
WHERE cz.bsn_client = b.client_bsn
AND b.pgb IS NULL
GROUP BY cz.fclt_f_periode, b.client_bsn;
CREATE_VIEW( care_v_cak_body (fclt_f_periode, hele_uren, minuten, txt), 0)
AS
SELECT fclt_f_periode, 0, 0, txt
FROM care_v_cak_clientstam_record cs
UNION ALL
SELECT fclt_f_periode, 0, 0, txt
FROM care_v_cak_clientaanv_record ca
UNION ALL
SELECT fclt_f_periode, hele_uren, minuten, txt
FROM care_v_cak_client_zorg_record cz;
CREATE_VIEW( care_v_cak_changed_body (fclt_f_periode, hele_uren, minuten, txt), 0)
AS
SELECT fclt_f_periode, 0, 0, txt
FROM care_v_cak_c_clientstam_record cs
UNION ALL
SELECT fclt_f_periode, 0, 0, txt
FROM care_v_cak_c_clientaanv_record ca
UNION ALL
SELECT fclt_f_periode, hele_uren, minuten, txt
FROM care_v_cak_changed_zorg_record cz;
CREATE_VIEW( care_v_cak_sluit_record, 0)
(
fclt_f_periode,
txt
)
AS
SELECT fclt_f_periode,
'90'
|| LPAD (COUNT ( * ), 7, '0')
|| LPAD (SUM (hele_uren) + FLOOR (SUM (minuten) / 60), 10, '0')
|| LPAD (SUM (minuten) - (60 * FLOOR (SUM (minuten) / 60)), 2, '0')
|| RPAD (' ', 59, ' ')
FROM care_v_cak_body b
GROUP BY fclt_f_periode;
CREATE_VIEW( care_v_cak_sluit2_record, 0)
(
fclt_f_periode,
txt
)
AS
SELECT fclt_f_periode,
'90'
|| LPAD (COUNT ( * ), 7, '0')
|| LPAD (SUM (hele_uren) + FLOOR (SUM (minuten) / 60), 10, '0')
|| LPAD (SUM (minuten) - (60 * FLOOR (SUM (minuten) / 60)), 2, '0')
|| RPAD (' ', 59, ' ')
FROM care_v_cak_changed_body b
GROUP BY fclt_f_periode;
CREATE_VIEW( care_v_cak_rapport (fclt_f_periode, fclt_f_record, txt), 0)
AS
SELECT h.fclt_f_periode, SUBSTR (h.txt, 1, 2), h.txt
FROM care_v_cak_hoofd_record h
UNION ALL
SELECT b.fclt_f_periode, SUBSTR (b.txt, 1, 2), b.txt
FROM care_v_cak_body b
UNION ALL
SELECT s.fclt_f_periode, SUBSTR (s.txt, 1, 2), s.txt
FROM care_v_cak_sluit_record s;
CREATE_VIEW( care_v_cak_changed_rapport (fclt_f_periode, fclt_f_record, txt), 0)
AS
SELECT h.fclt_f_periode, SUBSTR (h.txt, 1, 2), h.txt
FROM care_v_cak_hoofd_record h
UNION ALL
SELECT b.fclt_f_periode, SUBSTR (b.txt, 1, 2), b.txt
FROM care_v_cak_changed_body b
UNION ALL
SELECT s.fclt_f_periode, SUBSTR (s.txt, 1, 2), s.txt
FROM care_v_cak_sluit2_record s;
-- Key 47 = SLEUTEL van waarde-code 'PERIODE' van eigen tabel '$SYSTEM-CAK' (formaat = yyyy-ww t/m yyyy-ww)
-- Gekozen: 0 = optie
-- 1 = gekozen
-- 2 = laatste export datum
-- 3 = export datum gezet
CREATE_VIEW( care_v_rap_cak (periode, gekozen), 0)
AS
SELECT fclt_f_periode, 0
FROM care_v_cak_choose_periode
GROUP BY fclt_f_periode
UNION
SELECT ud1.fac_usrdata_omschr, 1
FROM fac_usrdata ud1
WHERE ud1.fac_usrdata_key = 47
UNION
SELECT TO_CHAR (MAX (imp_schedule_done), 'DD-MM-YYYY HH24:MI'), 2
FROM imp_schedule
WHERE imp_schedule_name = 'CAK' AND imp_schedule_done IS NOT NULL AND imp_schedule_aanmaak IS NOT NULL
UNION
SELECT TO_CHAR (imp_schedule_aanmaak, 'DD-MM-YYYY HH24:MI'), 3
FROM imp_schedule
WHERE imp_schedule_name = 'CAK' AND imp_schedule_done IS NULL AND imp_schedule_aanmaak IS NOT NULL
UNION
SELECT to_char(count(*)), 4
FROM care_v_cak_clientcontrole
WHERE fout_code ='E';
CREATE_VIEW( care_v_rap_cak_chg (periode, gekozen), 0)
AS
SELECT fclt_f_periode, 0
FROM care_v_cak_choose_periode
GROUP BY fclt_f_periode
UNION
SELECT ud1.fac_usrdata_omschr, 1
FROM fac_usrdata ud1
WHERE ud1.fac_usrdata_key = 47
UNION
SELECT TO_CHAR (MAX (imp_schedule_done), 'DD-MM-YYYY HH24:MI'), 2
FROM imp_schedule
WHERE imp_schedule_name = 'CAK_CHG' AND imp_schedule_done IS NOT NULL AND imp_schedule_aanmaak IS NOT NULL
UNION
SELECT TO_CHAR (imp_schedule_aanmaak, 'DD-MM-YYYY HH24:MI'), 3
FROM imp_schedule
WHERE imp_schedule_name = 'CAK_CHG' AND imp_schedule_done IS NULL AND imp_schedule_aanmaak IS NOT NULL
UNION
SELECT to_char(count(*)), 4
FROM care_v_cak_clientcontrole
WHERE fout_code ='E';
-- Menutaak Export CAK bestand: appl/fac/fac_usrrap.asp?rap_name=care_v_rap_cak
-- Key 47 = SLEUTEL van waarde-code 'PERIODE' van eigen tabel '$SYSTEM-CAK' (formaat = yyyy-ww t/m yyyy-ww)
-- Gekozen: 0 = optie
-- 1 = gekozen
-- 2 = laatste export datum
-- 3 = export datum gezet
CREATE_VIEW( care_v_export_cak (result, result_order), 0)
AS
SELECT txt, ROWNUM
FROM care_v_cak_rapport
WHERE fclt_f_periode = (SELECT ud1.fac_usrdata_omschr
FROM fac_usrdata ud1
WHERE ud1.fac_usrdata_key = 47)
ORDER BY TO_NUMBER (SUBSTR (txt, 1, 2));
CREATE_VIEW( care_v_export_cak_chg (result, result_order), 0)
AS
SELECT txt, ROWNUM
FROM care_v_cak_changed_rapport
WHERE fclt_f_periode = (SELECT ud1.fac_usrdata_omschr
FROM fac_usrdata ud1
WHERE ud1.fac_usrdata_key = 47)
ORDER BY TO_NUMBER (SUBSTR (txt, 1, 2));
-- QlikView/Analyze views
--
-- NOTE: Analyzer (Qlikview) is vervallen per 1-1-2023. Onderstaande views worden dus niet
-- meer voor hun oorspronkelijke doel gebruikt. De info/opzet kan nog ergens handig voor zijn
-- bv voor UDR-alternatieven, mocht dat ter sprake komen (wat ik niet verwacht)
-- Tevens zullen er geen nieuwe CARE-klanten komen dus is er geen noodzaak om hier
-- aandacht aan te besteden. Keuze is om dit gewoon as-is te laten (en alleen statements
-- die tot errors leiden te verwijderen)
-- Periodetabel van 10 jaar in het verleden t/m 10 jaar in toekomst
CREATE_VIEW(care_v_qvw_periodeweektabel, 0)
(jaar, periode, week, maandag)
AS
SELECT
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
LEAST(FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1, 13) periode,
TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
FROM DUAL
CONNECT BY LEVEL <= 5*52+1
UNION
SELECT
TO_CHAR (SYSDATE + 7*(LEVEL), 'IYYY') jaar,
LEAST(FLOOR((TO_CHAR (SYSDATE + 7*(LEVEL),'IW') - 1) /4) + 1, 13) periode,
TO_CHAR (SYSDATE + 7*(LEVEL), 'IW') week,
TRUNC (SYSDATE + 7*(LEVEL), 'IW') startdatum
FROM DUAL
CONNECT BY LEVEL <= 5*52+1;
-- Eerst maar eens een hulp-view voor de view care_v_qvw_beschikk
-- In deze hulp-view: per melding-key de eerste datum waarop er zorg is verleend (en is goedgekeurd).
CREATE_VIEW( care_v_qvw_first_gewerkte_uren, 0)
AS
SELECT b.mld_melding_key, MIN (uur.datum_gewerkt) AS datum_eerste_keer_ooit
FROM care_v_beschikking_all b, care_v_te_factureren_uren uur
WHERE b.mld_melding_key = uur.mld_melding_key(+)
GROUP BY b.mld_melding_key;
CREATE_VIEW( care_v_qvw_beschikk, 0)
AS
SELECT b.mld_melding_key,
b.gemeente_key,
b.gemeente_code,
b.gemeente_omschrijving,
b.gemeente_veiling,
b.prs_client_naam || ',' || prs_client_tussenvoegsel || ',' || prs_client_voorletters AS prs_client_naam,
b.client_bsn,
b.client_mv,
TO_DATE(b.client_geboortedatum, 'DD-MM-YYYY') client_geboortedatum,
b.client_woonplaats,
b.beschikking_datum_van,
DECODE (
ABS(TO_NUMBER (TO_CHAR (b.beschikking_datum_van, 'IW'))
- TO_NUMBER (TO_CHAR (b.beschikking_datum_van, 'WW'))),
0,
TO_NUMBER (TO_CHAR (b.beschikking_datum_van, 'IW')),
1,
TO_NUMBER (TO_CHAR (b.beschikking_datum_van, 'IW')),
TO_NUMBER (TO_CHAR (b.beschikking_datum_van, 'WW'))
)
AS beschikking_week_van,
b.beschikking_jaar_van,
b.beschikking_maandag_van_std,
b.beschikking_maandag_van,
b.beschikking_maandag_tot_std,
b.beschikking_datum_tot,
coalesce(least(b.beschikking_maandag_tot,b.beschikking_afmeld_datum),b.beschikking_maandag_tot) beschikking_maandag_tot,
b.beschikking_afmeld_datum,
u.datum_eerste_keer_ooit,
b.product_code,
b.product,
COALESCE(b.pgb,0) pgb,
b.pgb_tarief,
b.uren_beschikking,
b.beschikking_nr,
b.ins_discipline_omschrijving
FROM care_v_beschikking_all b, care_v_qvw_first_gewerkte_uren u
WHERE b.mld_melding_key = u.mld_melding_key;
CREATE_VIEW( care_v_qvw_gemeente_tarieven, 0)
(alg_locatie_key, product_code, tarief, vandatum, tmdatum)
AS
SELECT alg_locatie_key, product_code, tarief,
COALESCE(LAG(duedatum+1, 1, TO_DATE('01-01-2010','DD-MM-YYYY')) OVER (ORDER BY alg_locatie_key, product_code, duedatum), TO_DATE('01-01-2010','DD-MM-YYYY')) AS vandatum,
COALESCE(duedatum,TO_DATE('31-12-2099','DD-MM-YYYY')) AS tmdatum
FROM care_v_gemeente_tarieven;
-- FSN#25608: CARE_V_QVW_BESCHIKK_PER_WEEK te complex voor Ora11, dus bovenstaande care_v_qvw_tarieven_per_week nu op statische tabel gebaseerd.
CREATE_VIEW( care_v_qvw_tarieven_per_week, 0)
(alg_locatie_key, product_code, tarief, jaar, periode, week, maandag)
AS
SELECT alg_locatie_key, product_code, tarief, jaar, periode, week, maandag
FROM care_v_qvw_gemeente_tarieven gt, care_t_qvw_periodeweektabel pw
WHERE pw.maandag >= vandatum AND pw.maandag <= tmdatum;
//Hier de 1e filtering op maandag_std (anders krijgen we veel te veel records), maar wel -7 en + 7 om extra ruim te zitten...
//in qlikview (qvs) gaan we nauwkeuriger op de "good_monday" filereren (anders hier een performance-probleem ivm functie goodmay en vooral fac_tracking: >> 10 min)
CREATE_VIEW( care_v_qvw_beschikk_per_week, 0)
(mld_melding_key, beschikking_maandag_van, beschikking_maandag_tot, uren_beschikking, tarief, jaar, periode, week, maandag_vande_week)
AS
SELECT mld_melding_key, beschikking_maandag_van, beschikking_maandag_tot, uren_beschikking,
CASE
WHEN b.pgb = 1 THEN b.pgb_tarief
WHEN b.gemeente_veiling = 1 THEN b.pgb_tarief
ELSE t.tarief
END,
jaar, periode, week, t.maandag
FROM care_v_qvw_beschikk b, care_v_qvw_tarieven_per_week t
WHERE t.maandag >= b.beschikking_maandag_van_std - 7 AND t.maandag < b.beschikking_maandag_tot_std + 7
AND b.gemeente_key = alg_locatie_key
AND b.product_code = t.product_code;
CREATE_VIEW( care_v_qvw_zorguren, 0)
AS
SELECT u.mld_melding_key,
u.jaar,
DECODE (ABS (TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'IW')) - TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'WW'))),
0, TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'IW')),
1, TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'IW')),
TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'WW'))
)
weeknr,
u.datum_gewerkt,
u.uren_besteed,
z.prs_verzorger_naam || ',' || z.prs_verzorger_tussenvoegsel || ',' || z.prs_verzorger_voorletters
AS prs_verzorger_naam,
z.verzorger_bsn,
z.verzorger_mv,
TO_DATE(z.verzorger_geboortedatum, 'DD-MM-YYYY') verzorger_geboortedatum,
z.verzorger_woonplaats,
z.prs_verzorger_dienstverband
FROM care_v_bestede_uren_all u, care_v_verzorger z
WHERE z.prs_perslid_key = u.prs_perslid_key(+) AND uren_status >= 3;
CREATE_VIEW( care_v_qvw_impr_uren, 0)
AS
SELECT u.mld_impropdr_key,
u.mld_impropdr_code,
u.mld_impropdr_omschrijving,
u.jaar,
DECODE (ABS (TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'IW')) - TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'WW'))),
0, TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'IW')),
1, TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'IW')),
TO_NUMBER (TO_CHAR (u.datum_gewerkt, 'WW'))
)
weeknr,
u.datum_gewerkt,
u.uren_besteed AS impr_uren,
z.prs_verzorger_naam || ',' || z.prs_verzorger_tussenvoegsel || ',' || z.prs_verzorger_voorletters
AS prs_verzorger_naam,
z.verzorger_bsn
FROM care_v_improductieve_uren_all u, care_v_verzorger z
WHERE z.prs_perslid_key = u.prs_perslid_key(+) AND uren_status >= 3;
CREATE_VIEW( care_v_qvw_kosten, 0)
AS
SELECT mld_kosten_code,
mld_kosten_omschrijving,
mld_opdruren_kosten_besteed,
mld_kosten_kosten,
k.mld_melding_key,
TO_CHAR (k.datum, 'IYYY') jaar,
TO_NUMBER (TO_CHAR (k.datum, 'IW')) weeknr,
k.datum AS datum_gewerkt,
z.prs_verzorger_naam || ',' || z.prs_verzorger_tussenvoegsel || ',' || z.prs_verzorger_voorletters
AS prs_verzorger_naam,
z.verzorger_bsn
FROM care_v_onkosten_all k, care_v_verzorger z
WHERE z.prs_perslid_key = k.prs_perslid_key(+) AND status >= 3;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Google kilometer berekening --
-- Google kilometer berekening --
-- Google kilometer berekening --
-- Google kilometer berekening --
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- ATCH#21595: Google km berekening
-- Kilometers van de medewerkers op datum, alleen van auto (vandaar k.mld_kosten_code = 'A') en de Productieve uren (vandaar opdracht_type = 'P').
-- De improductieve kilometers worden buiten beschouwing gelaten, aangezien we daarvan geen adresgegevens hebben, en met de Google-vergelijking niet mee moeten nemen.
CREATE_VIEW( care_v_km_weekbrief, 0)
(
prs_perslid_key,
periode,
bsn,
nr,
verzorger,
adres,
huisnr,
postcode,
woonplaats,
telefoon,
mobiel,
email,
auto_rijbewijs,
kilometers,
datum,
jaar,
week,
status,
mld_opdr_uren_key,
prs_client_naam,
prs_client_tussenvoegsel,
prs_client_voorletters,
client_bsn,
client_meisjesnaam,
client_adres,
client_huisnr,
client_postcode,
client_woonplaats,
client_telefoon_thuis,
client_telefoon_werk,
client_mobiel
)
AS
SELECT v.prs_perslid_key,
uur.jaar || '-' || LPAD (uur.periodenr, 2, '0'),
v.verzorger_bsn,
v.prs_verzorger_personeelsnr,
v.prs_verzorger_naam || ',' || v.prs_verzorger_voorletters || ' ' || v.prs_verzorger_tussenvoegsel,
v.verzorger_adres,
v.verzorger_huisnr,
v.verzorger_postcode,
v.verzorger_woonplaats,
v.verzorger_telefoon_werk,
v.prs_verzorger_mobiel,
v.prs_verzorger_email,
v.auto_rijbewijs,
ouk.mld_opdruren_kosten_besteed,
uur.datum_gewerkt,
uur.jaar,
uur.weeknr,
uur.uren_status,
uur.mld_opdr_uren_key,
c.prs_client_naam,
c.prs_client_tussenvoegsel,
c.prs_client_voorletters,
c.client_bsn,
c.client_meisjesnaam,
c.client_adres,
c.client_huisnr,
c.client_postcode,
c.client_woonplaats,
c.client_telefoon_thuis,
c.client_telefoon_werk,
c.prs_client_mobiel
FROM care_v_totaal_uren_all uur, care_v_verzorger v, mld_opdruren_kosten ouk, mld_kosten k, mld_opdr o, mld_melding m, care_v_client c
WHERE uur.prs_perslid_key = v.prs_perslid_key
AND uur.mld_opdr_uren_key = ouk.mld_opdr_uren_key
AND ouk.mld_kosten_key = k.mld_kosten_key
AND k.mld_kosten_verwijder IS NULL
AND k.mld_kosten_code = 'A'
AND opdracht_type = 'P'
AND uur.opdracht_key=o.mld_opdr_key
AND o.mld_melding_key = m.mld_melding_key
AND m.prs_perslid_key = c.prs_client_key;
CREATE_VIEW( care_v_verzorger_km_per_dag, 0)
(
prs_perslid_key,
datum,
jaar,
periode,
week,
bsn,
verzorger,
adres,
huisnr,
postcode,
woonplaats,
telefoon,
mobiel,
email,
auto_rijbewijs,
kilometers,
mld_opdr_uren_key
)
AS
SELECT prs_perslid_key,
datum,
MIN(jaar),
MIN(periode),
MIN(week),
MIN(bsn),
MIN(verzorger),
MIN(adres),
MIN(huisnr),
MIN(postcode),
MIN(woonplaats),
MIN(telefoon),
MIN(mobiel),
MIN(email),
MIN(auto_rijbewijs),
SUM(kilometers),
MIN(mld_opdr_uren_key)
FROM care_v_km_weekbrief
GROUP BY prs_perslid_key, datum;
// De inter-client kilometers slaan we emt een '#' op achteraan de url van mld_opdruren_dagkosten_opm
// Deze view decodeert dat en moet gebruikt worden in plaats van mld_opdruren_dagkosten
// Als mld_opdruren_dagkosten een eigen veld mld_opdruren_dag_interkm heeft kan
// deze view weer veel simpelere (of zelfs opgedoekt worden)
CREATE_VIEW(care_v_opdruren_dagkosten, 0)
AS SELECT
mld_opdruren_dagkosten_key,
prs_perslid_key,
mld_opdruren_dagkosten_datum,
mld_opdruren_dagkosten_aantal,
mld_opdruren_dagkosten_totaal,
CASE
WHEN INSTR (mld_opdruren_dagkosten_opm, '#') > 0
THEN
SUBSTR (mld_opdruren_dagkosten_opm, 1, INSTR (mld_opdruren_dagkosten_opm, '#') - 1)
ELSE
mld_opdruren_dagkosten_opm
END mld_opdruren_dagkosten_opm,
mld_opdruren_dagkosten_aanmaak,
CASE
WHEN INSTR (mld_opdruren_dagkosten_opm, '#') > 0
THEN
fac.safe_to_number (SUBSTR (mld_opdruren_dagkosten_opm, INSTR (mld_opdruren_dagkosten_opm, '#') + 1))
ELSE
0
END interkm
FROM mld_opdruren_dagkosten;
CREATE_VIEW( care_v_rap_km_per_periode, 0)
(
hide_f_prs_perslid_key,
fclt_f_jaar,
fclt_f_periode,
fclt_f_verzorger,
woonplaats,
fclt_f_auto,
km,
norm_km,
verschil,
perc
)
AS
SELECT km.prs_perslid_key,
to_char(km.jaar),
km.periode,
MIN(km.verzorger),
MIN(km.woonplaats),
COALESCE(MIN(km.auto_rijbewijs),'?'),
SUM(km.kilometers),
ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000),
SUM(km.kilometers) - ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000),
CASE
WHEN
SUM(cd.mld_opdruren_dagkosten_totaal) > 0 THEN
ROUND((SUM(km.kilometers) - ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000))/ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000)*100) || ' %'
ELSE 'Onbekend'
END
FROM care_v_verzorger_km_per_dag km, care_v_opdruren_dagkosten cd
WHERE km.prs_perslid_key = cd.prs_perslid_key (+)
AND km.datum = cd.mld_opdruren_dagkosten_datum (+)
GROUP BY km.prs_perslid_key, km.jaar, km.periode;
CREATE_VIEW( care_v_rap_km_per_week, 0)
(
hide_f_prs_perslid_key,
fclt_f_jaar,
fclt_f_periode,
fclt_f_week,
fclt_f_verzorger,
woonplaats,
fclt_f_auto,
km,
norm_km,
verschil,
perc
)
AS
SELECT km.prs_perslid_key,
to_char(km.jaar),
km.periode,
to_char(km.week),
MIN(km.verzorger),
MIN(km.woonplaats),
COALESCE(MIN(km.auto_rijbewijs),'?'),
SUM(km.kilometers),
ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000),
SUM(km.kilometers) - ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000),
CASE
WHEN
SUM(cd.mld_opdruren_dagkosten_totaal) > 0 THEN
ROUND((SUM(km.kilometers) - ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000))/ROUND((SUM(cd.mld_opdruren_dagkosten_totaal+500))/1000)*100) || ' %'
ELSE 'Onbekend'
END
FROM care_v_verzorger_km_per_dag km, care_v_opdruren_dagkosten cd
WHERE km.prs_perslid_key = cd.prs_perslid_key (+)
AND km.datum = cd.mld_opdruren_dagkosten_datum (+)
GROUP BY km.prs_perslid_key, km.jaar, km.periode, km.week;
CREATE_VIEW( care_v_rap_km_per_dag, 0)
(
hide_f_prs_perslid_key,
urole,
hide_f_datum,
datum,
hide_maandag,
fclt_f_jaar,
fclt_f_periode,
fclt_f_week,
fclt_f_verzorger,
adres,
huisnr,
postcode,
woonplaats,
telefoonnr,
mobiel,
fclt_f_auto,
clienten,
km,
norm_m,
norm_km,
verschil,
fclt_f_staffel,
perc,
fclt_f_percentage,
url,
html_berekening,
mld_opdr_uren_key
)
AS
SELECT km.prs_perslid_key,
'bo',
km.datum,
to_char(km.datum,'yyyy-mm-dd'),
to_char(TRUNC (km.datum, 'IW'), 'yyyy-mm-dd'),
to_char(km.jaar),
km.periode,
to_char(km.week),
km.verzorger,
km.adres,
km.huisnr,
km.postcode,
km.woonplaats,
km.telefoon,
km.mobiel,
COALESCE(km.auto_rijbewijs,'?'),
to_char(cd.mld_opdruren_dagkosten_aantal),
km.kilometers,
COALESCE(cd.mld_opdruren_dagkosten_totaal,0),
ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000),
CASE
WHEN cd.mld_opdruren_dagkosten_totaal > 0
THEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)
ELSE 0
END,
CASE
WHEN
cd.mld_opdruren_dagkosten_totaal > 0 THEN
CASE
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= -2
THEN 'A. < (Minder dan NORM geschreven)'
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) >= -1 AND km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= 1
THEN 'B. = (Volgens NORM geschreven)'
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) >= 2 AND km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= 5
THEN 'C. 2 - 5 km (Boven NORM geschreven)'
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) >= 6 AND km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= 10
THEN 'D. 6 - 10 km (Boven NORM geschreven)'
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) >= 11 AND km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= 20
THEN 'E. 11 - 20 km (Boven NORM geschreven)'
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) >= 21 AND km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= 50
THEN 'F. 21 - 50 km (Boven NORM geschreven)'
WHEN km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) >= 51 AND km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000) <= 100
THEN 'G. 51 - 100 km (Boven NORM geschreven)'
ELSE 'H. > 100 km (Boven NORM geschreven)'
END
ELSE 'Onbekend'
END,
CASE
WHEN
cd.mld_opdruren_dagkosten_totaal > 0 THEN
ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) || ' %'
ELSE 'Onbekend'
END,
CASE
WHEN
cd.mld_opdruren_dagkosten_totaal > 0 THEN
CASE
WHEN ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) < 0
THEN 'A. < % (Minder dan NORM geschreven)'
WHEN ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) = 0
THEN 'B. = (Volgens NORM geschreven)'
WHEN ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) > 0
AND
ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) <= 10
THEN 'C. 0 - 10% (Boven NORM geschreven)'
WHEN ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) > 10
AND
ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) <= 20
THEN 'D. 11 - 20% (Boven NORM geschreven)'
WHEN ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) > 20
AND
ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) <= 50
THEN 'E. 21 - 50% (Boven NORM geschreven)'
WHEN ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) > 51
AND
ROUND((km.kilometers - ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000))/ROUND((cd.mld_opdruren_dagkosten_totaal+500)/1000)*100) <= 100
THEN 'F. 51 - 100% (Boven NORM geschreven)'
ELSE 'G. > 100 % (Boven NORM geschreven)'
END
ELSE 'Onbekend'
END,
mld_opdruren_dagkosten_opm,
CASE
WHEN cd.mld_opdruren_dagkosten_totaal IS NULL THEN '<a href="..\..\appl\care\care_calc_dist.asp?mld_opdr_uren_key=' || km.mld_opdr_uren_key || '"><img src="..\..\appl\care\images\vraagje.png"></a>'
WHEN cd.mld_opdruren_dagkosten_totaal < 0 THEN '<a href="..\..\appl\care\care_calc_dist.asp?mld_opdr_uren_key=' || km.mld_opdr_uren_key || '"><img src="..\..\appl\care\images\foutje.png"></a>'
ELSE '<a href="' || cd.mld_opdruren_dagkosten_opm || '" target="_blank"><img src="..\..\appl\care\images\googlemaps.png"></a>'
END,
km.mld_opdr_uren_key
FROM care_v_verzorger_km_per_dag km, care_v_opdruren_dagkosten cd
WHERE km.prs_perslid_key = cd.prs_perslid_key (+)
AND km.datum = cd.mld_opdruren_dagkosten_datum (+);
-- Rapport "Ondersteuning/check t.b.v. ingevulde kilometers op de weekbrief" voor de verzorger
-- Dit rapport gaat max. 2 periodes, feitelijk 2x4=8 weken terug in de historie (tov nu)
CREATE_VIEW( care_v_rap_my_km_per_dag, 0)
(
fclt_3d_user_key,
urole,
datum,
hide_maandag,
fclt_f_jaar,
fclt_f_periode,
fclt_f_week,
clienten,
km,
norm_m,
norm_km,
verschil,
hide_f_staffel,
perc,
hide_f_percentage,
url,
html_berekening,
mld_opdr_uren_key
)
AS
SELECT hide_f_prs_perslid_key,
'fe',
datum,
hide_maandag,
fclt_f_jaar,
fclt_f_periode,
fclt_f_week,
clienten,
km,
norm_m,
norm_km,
verschil,
fclt_f_staffel,
perc,
fclt_f_percentage,
url,
html_berekening,
mld_opdr_uren_key
FROM care_v_rap_km_per_dag
WHERE hide_f_datum >= SYSDATE - 2*4*7;
------------------------------------------------------
-- Kilometers met de auto gereden bij improductieve uren, zoals coordinatie en werkoverleg
CREATE_VIEW( care_v_km_improd_dag, 0)
(
prs_perslid_key,
periode,
bsn,
nr,
verzorger,
adres,
huisnr,
postcode,
woonplaats,
telefoon,
mobiel,
email,
auto_rijbewijs,
kilometers,
datum,
jaar,
week,
status,
mld_opdr_uren_key,
improductief
)
AS
SELECT v.prs_perslid_key,
uur.jaar || '-' || LPAD (uur.periodenr, 2, '0'),
v.verzorger_bsn,
v.prs_verzorger_personeelsnr,
v.prs_verzorger_naam || ',' || v.prs_verzorger_voorletters || ' ' || v.prs_verzorger_tussenvoegsel,
v.verzorger_adres,
v.verzorger_huisnr,
v.verzorger_postcode,
v.verzorger_woonplaats,
v.verzorger_telefoon_werk,
v.prs_verzorger_mobiel,
v.prs_verzorger_email,
v.auto_rijbewijs,
ouk.mld_opdruren_kosten_besteed,
uur.datum_gewerkt,
uur.jaar,
uur.weeknr,
uur.uren_status,
uur.mld_opdr_uren_key,
io.mld_impropdr_omschrijving
FROM care_v_totaal_uren_all uur, care_v_verzorger v, mld_opdruren_kosten ouk, mld_kosten k, mld_impropdr io
WHERE uur.prs_perslid_key = v.prs_perslid_key
AND uur.mld_opdr_uren_key = ouk.mld_opdr_uren_key
AND ouk.mld_kosten_key = k.mld_kosten_key
AND k.mld_kosten_verwijder IS NULL
AND k.mld_kosten_code = 'A'
AND opdracht_type = 'I'
AND io.mld_impropdr_key = uur.opdracht_key;
CREATE_VIEW( care_v_rap_km_impr_periode, 0)
(
hide_f_prs_perslid_key,
fclt_f_jaar,
fclt_f_periode,
fclt_f_verzorger,
woonplaats,
fclt_f_auto,
km
)
AS
SELECT km.prs_perslid_key,
to_char(km.jaar),
km.periode,
MIN(km.verzorger),
MIN(km.woonplaats),
COALESCE(MIN(km.auto_rijbewijs),'?'),
SUM(km.kilometers)
FROM care_v_km_improd_dag km
GROUP BY km.prs_perslid_key, km.jaar, km.periode;
-- matchtype = A (mAtch tussen medewerker werktijden en opdrachttijd),
-- = B (medewerker is Beschikbaar, en heeft hier geen opdracht,
-- = C (de opdrachttijd Conflicteert met de medewerker's werktijden).
-- Deel A: uitvoeringsplan valt geheel of gedeeltelijk binnen de inzetbaarheid van een persoon, opgesplits in A1 en A2:
-- A1:goede => mvan en mtot vallen binnen werktijd
-- A2:foute => mvan en/of mtot vallen/valt buiten werktijd
-- Deel B: Persoon is beschikbaar, maar er is geen uitvoeringsplan binnen zijn tijd ingepland
-- Deel C: Persoon is niet beschikbaar, maar er is wel een uitvoeringsplan op die tijd voor hem ingepland
-- Deel D: Persoon is niet ingepland en persoon heeft geen uitvoeringsplan op deze dag.
CREATE_VIEW( care_v_capaciteitsplan, 0)
(
prs_perslid_inzetbaar_key,
mld_opdr_uitvoeren_key,
prs_perslid_key,
opdr_van,
opdr_tot,
pvan,
ptot,
opdr_vantijd,
opdr_tottijd,
pvantijd,
ptottijd,
firstvan,
dag,
verzorger_naam,
client_naam,
mld_opdr_key,
mld_melding_key,
mld_opdr_startdatum,
mld_opdr_einddatum,
mld_opdr_uitvoeren_infrequent,
matchtype
)
AS
SELECT DISTINCT pi.prs_perslid_inzetbaar_key inzetbaar_key,
mu.mld_opdr_uitvoeren_key uitvoeren_key,
p.prs_perslid_key prs_key,
mu.mld_opdr_uitvoeren_van mvan,
mu.mld_opdr_uitvoeren_tot mtot,
pi.prs_perslid_inzetbaar_van pvan,
pi.prs_perslid_inzetbaar_tot ptot,
(CASE WHEN FLOOR(mu.mld_opdr_uitvoeren_van/60) < 10 THEN '0' ELSE '' END) || FLOOR(mu.mld_opdr_uitvoeren_van/60) || ':' || (CASE WHEN MOD(mu.mld_opdr_uitvoeren_van, 60) < 10 THEN '0' ELSE '' END) || MOD(mu.mld_opdr_uitvoeren_van, 60) mvantijd,
(CASE WHEN FLOOR(mu.mld_opdr_uitvoeren_tot/60) < 10 THEN '0' ELSE '' END) || FLOOR(mu.mld_opdr_uitvoeren_tot/60) || ':' || (CASE WHEN MOD(mu.mld_opdr_uitvoeren_tot, 60) < 10 THEN '0' ELSE '' END) || MOD(mu.mld_opdr_uitvoeren_tot, 60) mtottijd,
(CASE WHEN FLOOR(pi.prs_perslid_inzetbaar_van/60) < 10 THEN '0' ELSE '' END) || FLOOR(pi.prs_perslid_inzetbaar_van/60) || ':' || (CASE WHEN MOD(pi.prs_perslid_inzetbaar_van, 60) < 10 THEN '0' ELSE '' END) || MOD(pi.prs_perslid_inzetbaar_van, 60) pvantijd,
(CASE WHEN FLOOR(pi.prs_perslid_inzetbaar_tot/60) < 10 THEN '0' ELSE '' END) || FLOOR(pi.prs_perslid_inzetbaar_tot/60) || ':' || (CASE WHEN MOD(pi.prs_perslid_inzetbaar_tot, 60) < 10 THEN '0' ELSE '' END) || MOD(pi.prs_perslid_inzetbaar_tot, 60) ptottijd,
CASE
WHEN pi.prs_perslid_inzetbaar_van < mu.mld_opdr_uitvoeren_van
THEN pi.prs_perslid_inzetbaar_van
ELSE mu.mld_opdr_uitvoeren_van
END firstvan,
CASE
WHEN mu.mld_opdr_uitvoeren_dag = 0
THEN 7
ELSE mu.mld_opdr_uitvoeren_dag
END dag,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
prs_naam,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p1.prs_perslid_key)
prs_client,
o.mld_opdr_key opdr_key,
m.mld_melding_key mld_key,
o.mld_opdr_datumbegin startdatum,
o.mld_opdr_einddatum einddatum,
mu.mld_opdr_uitvoeren_infrequent infrequent,
'A1' part
FROM prs_perslid_inzetbaar pi,
prs_perslid p,
mld_opdr o,
mld_melding m,
prs_perslid p1,
mld_opdr_uitvoeren mu
WHERE pi.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = o.mld_uitvoerende_keys
AND p.prs_afdeling_key = 21 -- LET OP: Dit is de klantspecifieke afdeling "HV-medewrk"
AND o.mld_melding_key = m.mld_melding_key
AND m.prs_perslid_key_voor = p1.prs_perslid_key
AND o.mld_opdr_key = mu.mld_opdr_key
AND pi.prs_perslid_inzetbaar_dag = mu.mld_opdr_uitvoeren_dag
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
AND (pi.prs_perslid_inzetbaar_van <= mu.mld_opdr_uitvoeren_van
AND pi.prs_perslid_inzetbaar_tot >= mu.mld_opdr_uitvoeren_tot)
UNION ALL
SELECT DISTINCT pi.prs_perslid_inzetbaar_key inzetbaar_key,
mu.mld_opdr_uitvoeren_key uitvoeren_key,
p.prs_perslid_key prs_key,
mu.mld_opdr_uitvoeren_van mvan,
mu.mld_opdr_uitvoeren_tot mtot,
pi.prs_perslid_inzetbaar_van pvan,
pi.prs_perslid_inzetbaar_tot ptot,
(CASE WHEN FLOOR(mu.mld_opdr_uitvoeren_van/60) < 10 THEN '0' ELSE '' END) || FLOOR(mu.mld_opdr_uitvoeren_van/60) || ':' || (CASE WHEN MOD(mu.mld_opdr_uitvoeren_van, 60) < 10 THEN '0' ELSE '' END) || MOD(mu.mld_opdr_uitvoeren_van, 60) mvantijd,
(CASE WHEN FLOOR(mu.mld_opdr_uitvoeren_tot/60) < 10 THEN '0' ELSE '' END) || FLOOR(mu.mld_opdr_uitvoeren_tot/60) || ':' || (CASE WHEN MOD(mu.mld_opdr_uitvoeren_tot, 60) < 10 THEN '0' ELSE '' END) || MOD(mu.mld_opdr_uitvoeren_tot, 60) mtottijd,
(CASE WHEN FLOOR(pi.prs_perslid_inzetbaar_van/60) < 10 THEN '0' ELSE '' END) || FLOOR(pi.prs_perslid_inzetbaar_van/60) || ':' || (CASE WHEN MOD(pi.prs_perslid_inzetbaar_van, 60) < 10 THEN '0' ELSE '' END) || MOD(pi.prs_perslid_inzetbaar_van, 60) pvantijd,
(CASE WHEN FLOOR(pi.prs_perslid_inzetbaar_tot/60) < 10 THEN '0' ELSE '' END) || FLOOR(pi.prs_perslid_inzetbaar_tot/60) || ':' || (CASE WHEN MOD(pi.prs_perslid_inzetbaar_tot, 60) < 10 THEN '0' ELSE '' END) || MOD(pi.prs_perslid_inzetbaar_tot, 60) ptottijd,
CASE
WHEN pi.prs_perslid_inzetbaar_van < mu.mld_opdr_uitvoeren_van
THEN pi.prs_perslid_inzetbaar_van
ELSE mu.mld_opdr_uitvoeren_van
END firstvan,
CASE
WHEN mu.mld_opdr_uitvoeren_dag = 0
THEN 7
ELSE mu.mld_opdr_uitvoeren_dag
END dag,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
prs_naam,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p1.prs_perslid_key)
prs_client,
o.mld_opdr_key opdr_key,
m.mld_melding_key mld_key,
o.mld_opdr_datumbegin startdatum,
o.mld_opdr_einddatum einddatum,
mu.mld_opdr_uitvoeren_infrequent infrequent,
'A2' part
FROM prs_perslid_inzetbaar pi,
prs_perslid p,
mld_opdr o,
mld_melding m,
prs_perslid p1,
mld_opdr_uitvoeren mu
WHERE pi.prs_perslid_key = p.prs_perslid_key
AND p.prs_perslid_key = o.mld_uitvoerende_keys
AND p.prs_afdeling_key = 21 -- LET OP: Dit is de klantspecifieke afdeling "HV-medewrk"
AND o.mld_melding_key = m.mld_melding_key
AND m.prs_perslid_key_voor = p1.prs_perslid_key
AND o.mld_opdr_key = mu.mld_opdr_key
AND pi.prs_perslid_inzetbaar_dag = mu.mld_opdr_uitvoeren_dag
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
AND ((pi.prs_perslid_inzetbaar_van > mu.mld_opdr_uitvoeren_van
AND pi.prs_perslid_inzetbaar_van < mu.mld_opdr_uitvoeren_tot)
OR (pi.prs_perslid_inzetbaar_tot > mu.mld_opdr_uitvoeren_van
AND pi.prs_perslid_inzetbaar_tot < mu.mld_opdr_uitvoeren_tot))
UNION ALL
SELECT pi.prs_perslid_inzetbaar_key inzetbaar_key,
NULL uitvoeren_key,
p.prs_perslid_key prs_key,
NULL mvan,
NULL mtot,
pi.prs_perslid_inzetbaar_van pvan,
pi.prs_perslid_inzetbaar_tot ptot,
NULL mvantijd,
NULL mtottijd,
(CASE WHEN FLOOR(pi.prs_perslid_inzetbaar_van/60) < 10 THEN '0' ELSE '' END) || FLOOR(pi.prs_perslid_inzetbaar_van/60) || ':' || (CASE WHEN MOD(pi.prs_perslid_inzetbaar_van, 60) < 10 THEN '0' ELSE '' END) || MOD(pi.prs_perslid_inzetbaar_van, 60) pvantijd,
(CASE WHEN FLOOR(pi.prs_perslid_inzetbaar_tot/60) < 10 THEN '0' ELSE '' END) || FLOOR(pi.prs_perslid_inzetbaar_tot/60) || ':' || (CASE WHEN MOD(pi.prs_perslid_inzetbaar_tot, 60) < 10 THEN '0' ELSE '' END) || MOD(pi.prs_perslid_inzetbaar_tot, 60) ptottijd,
pi.prs_perslid_inzetbaar_van firstvan,
CASE
WHEN pi.prs_perslid_inzetbaar_dag = 0
THEN 7
ELSE pi.prs_perslid_inzetbaar_dag
END dag,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
prs_naam,
NULL prs_client,
NULL opdr_key,
NULL mld_key,
NULL startdatum,
NULL einddatum,
NULL infrequent,
'B' part
FROM prs_perslid_inzetbaar pi,
prs_perslid p
WHERE pi.prs_perslid_key = p.prs_perslid_key
AND p.prs_afdeling_key = 21 -- LET OP: Dit is de klantspecifieke afdeling "HV-medewrk"
AND pi.prs_perslid_inzetbaar_key NOT IN
(SELECT pi1.prs_perslid_inzetbaar_key
FROM prs_perslid_inzetbaar pi1,
mld_opdr o,
mld_opdr_uitvoeren mu
WHERE pi1.prs_perslid_key = o.mld_uitvoerende_keys
AND o.mld_opdr_key = mu.mld_opdr_key
AND pi1.prs_perslid_inzetbaar_dag = mu.mld_opdr_uitvoeren_dag
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
AND (pi.prs_perslid_inzetbaar_van < mu.mld_opdr_uitvoeren_tot
AND pi.prs_perslid_inzetbaar_tot > mu.mld_opdr_uitvoeren_van) -- Alle overlap van A1 + A2
)
UNION ALL
SELECT DISTINCT NULL inzetbaar_key,
mu.mld_opdr_uitvoeren_key uitvoeren_key,
p.prs_perslid_key prs_key,
mu.mld_opdr_uitvoeren_van mvan,
mu.mld_opdr_uitvoeren_tot mtot,
NULL pvan,
NULL ptot,
(CASE WHEN FLOOR(mu.mld_opdr_uitvoeren_van/60) < 10 THEN '0' ELSE '' END) || FLOOR(mu.mld_opdr_uitvoeren_van/60) || ':' || (CASE WHEN MOD(mu.mld_opdr_uitvoeren_van, 60) < 10 THEN '0' ELSE '' END) || MOD(mu.mld_opdr_uitvoeren_van, 60) mvantijd,
(CASE WHEN FLOOR(mu.mld_opdr_uitvoeren_tot/60) < 10 THEN '0' ELSE '' END) || FLOOR(mu.mld_opdr_uitvoeren_tot/60) || ':' || (CASE WHEN MOD(mu.mld_opdr_uitvoeren_tot, 60) < 10 THEN '0' ELSE '' END) || MOD(mu.mld_opdr_uitvoeren_tot, 60) mtottijd,
NULL pvantijd,
NULL ptottijd,
mu.mld_opdr_uitvoeren_van firstvan,
CASE
WHEN mu.mld_opdr_uitvoeren_dag = 0
THEN 7
ELSE mu.mld_opdr_uitvoeren_dag
END dag,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
prs_naam,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p1.prs_perslid_key)
prs_client,
o.mld_opdr_key opdr_key,
m.mld_melding_key mld_key,
o.mld_opdr_datumbegin startdatum,
o.mld_opdr_einddatum einddatum,
mu.mld_opdr_uitvoeren_infrequent infrequent,
'C' part
FROM prs_perslid_inzetbaar pi,
prs_perslid p,
mld_opdr o,
mld_melding m,
prs_perslid p1,
mld_opdr_uitvoeren mu
WHERE pi.prs_perslid_key(+) = p.prs_perslid_key
AND p.prs_perslid_key = o.mld_uitvoerende_keys
AND p.prs_afdeling_key = 21 -- LET OP: Dit is de klantspecifieke afdeling "HV-medewrk"
AND o.mld_melding_key = m.mld_melding_key
AND m.prs_perslid_key_voor = p1.prs_perslid_key
AND o.mld_opdr_key = mu.mld_opdr_key
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
AND mu.mld_opdr_uitvoeren_key NOT IN
(SELECT DISTINCT mu1.mld_opdr_uitvoeren_key
FROM prs_perslid_inzetbaar pi,
mld_opdr o,
mld_opdr_uitvoeren mu1
WHERE pi.prs_perslid_key = o.mld_uitvoerende_keys
AND o.mld_opdr_key = mu1.mld_opdr_key
AND pi.prs_perslid_inzetbaar_dag = mu1.mld_opdr_uitvoeren_dag
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
AND (pi.prs_perslid_inzetbaar_van < mu.mld_opdr_uitvoeren_tot
AND pi.prs_perslid_inzetbaar_tot > mu.mld_opdr_uitvoeren_van) -- Alle overlap van A1 + A2
)
UNION ALL
SELECT NULL inzetbaar_key,
NULL uitvoeren_key,
p.prs_perslid_key prs_key,
NULL mvan,
NULL mtot,
NULL pvan,
NULL ptot,
NULL mvantijd,
NULL mtottijd,
NULL pvantijd,
NULL ptottijd,
NULL firstvan,
CASE
WHEN weekdagen.dag = 0
THEN 7
ELSE weekdagen.dag
END dag,
(SELECT pf.prs_perslid_naam_full
FROM prs_v_perslid_fullnames pf
WHERE pf.prs_perslid_key = p.prs_perslid_key)
prs_naam,
NULL prs_client,
NULL opdr_key,
NULL mld_key,
NULL startdatum,
NULL einddatum,
NULL infrequent,
'D' part
FROM prs_perslid p,
(SELECT 0 dag FROM DUAL UNION ALL
SELECT 1 dag FROM DUAL UNION ALL
SELECT 2 dag FROM DUAL UNION ALL
SELECT 3 dag FROM DUAL UNION ALL
SELECT 4 dag FROM DUAL UNION ALL
SELECT 5 dag FROM DUAL UNION ALL
SELECT 6 dag FROM DUAL) weekdagen
WHERE p.prs_perslid_key NOT IN (SELECT pi.prs_perslid_key
FROM prs_perslid_inzetbaar pi
WHERE pi.prs_perslid_inzetbaar_dag = weekdagen.dag
UNION
SELECT o.mld_uitvoerende_keys
FROM mld_opdr o,
mld_opdr_uitvoeren mu
WHERE o.mld_opdr_key = mu.mld_opdr_key
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
AND mu.mld_opdr_uitvoeren_dag = weekdagen.dag)
AND p.prs_afdeling_key = 21;
CREATE_VIEW ( care_v_prs_opdrachturen, 0)
(prs_perslid_key,
prs_verzorger_tot_opdr_uren
)
AS
SELECT v.prs_perslid_key, SUM (mld_opdr_uren)
FROM care_v_verzorger v, mld_opdr o
WHERE v.prs_perslid_key = o.mld_uitvoerende_keys
AND o.mld_opdr_einddatum >= TRUNC(SYSDATE)
GROUP BY v.prs_perslid_key;
CREATE_VIEW( care_v_rap_prs_planbord, 0)
(
prs_perslid_inzetbaar_key,
mld_opdr_uitvoeren_key,
prs_perslid_key,
opdr_van,
opdr_tot,
pvan,
ptot,
opdr_vantijd,
opdr_tottijd,
pvantijd,
ptottijd,
firstvan,
dag,
--fclt_f_maandag,
--fclt_f_dinsdag,
--fclt_f_woensdag,
--fclt_f_donderdag,
--fclt_f_vrijdag,
--fclt_f_zaterdag,
--fclt_f_zondag,
verzorger_naam,
fclt_f_functie,
verzorger_dienstverband,
verzorger_opdr_uren,
fclt_f_besteedbaar,
dienstverband_tot,
fclt_f_woonplaats,
client_naam,
mld_opdr_key,
mld_melding_key,
mld_opdr_startdatum,
mld_opdr_einddatum,
mld_opdr_uitvoeren_infrequent,
matchtype
)
AS
SELECT
prs_perslid_inzetbaar_key,
mld_opdr_uitvoeren_key,
c.prs_perslid_key,
opdr_van,
opdr_tot,
pvan,
ptot,
opdr_vantijd,
opdr_tottijd,
pvantijd,
ptottijd,
firstvan,
dag,
--decode(dag,1,'Ja','Nee'),
--decode(dag,2,'Ja','Nee'),
--decode(dag,3,'Ja','Nee'),
--decode(dag,4,'Ja','Nee'),
--decode(dag,5,'Ja','Nee'),
--decode(dag,6,'Ja','Nee'),
--decode(dag,7,'Ja','Nee'),
verzorger_naam,
prs_verzorger_functie,
prs_verzorger_dienstverband,
prs_verzorger_tot_opdr_uren,
CASE
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren < 0
THEN 'A. Overpland'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren = 0
THEN 'B. Geen uren'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren <= 1
THEN 'C. Max 1 uur'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren <= 2
THEN 'D. Max 2 uur'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren <= 3
THEN 'E. Max 3 uur'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren <= 5
THEN 'F. Max 5 uur'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren <= 10
THEN 'G. Max 10 uur'
WHEN prs_verzorger_dienstverband - prs_verzorger_tot_opdr_uren <= 20
THEN 'H. Max 20 uur'
ELSE 'I. Meer dan 20 uur'
END,
prs_verzorger_einddatum,
UPPER(verzorger_woonplaats),
client_naam,
mld_opdr_key,
mld_melding_key,
mld_opdr_startdatum,
mld_opdr_einddatum,
mld_opdr_uitvoeren_infrequent,
matchtype
FROM care_v_capaciteitsplan c, care_v_verzorger v, care_v_prs_opdrachturen u
WHERE c.prs_perslid_key=v.prs_perslid_key
AND c.prs_perslid_key = u.prs_perslid_key(+) ;
CREATE_VIEW( care_v_rap_prs_team_planbord, 0)
AS
SELECT
prs_perslid_inzetbaar_key,
mld_opdr_uitvoeren_key,
pb.prs_perslid_key,
opdr_van,
opdr_tot,
pvan,
ptot,
opdr_vantijd,
opdr_tottijd,
pvantijd,
ptottijd,
firstvan,
dag,
--fclt_f_maandag,
--fclt_f_dinsdag,
--fclt_f_woensdag,
--fclt_f_donderdag,
--fclt_f_vrijdag,
--fclt_f_zaterdag,
--fclt_f_zondag,
tl.ins_discipline_omschrijving as fclt_f_team,
verzorger_naam,
fclt_f_functie,
verzorger_dienstverband,
verzorger_opdr_uren,
fclt_f_besteedbaar,
dienstverband_tot,
fclt_f_woonplaats,
client_naam,
mld_opdr_key,
mld_melding_key,
mld_opdr_startdatum,
mld_opdr_einddatum,
mld_opdr_uitvoeren_infrequent,
matchtype
FROM care_v_rap_prs_planbord pb, care_v_teamlid tl
WHERE pb.prs_perslid_key = tl.prs_perslid_key;
CREATE_VIEW( care_v_maxprs_afgemeld, 0)
AS
SELECT m.prs_perslid_key, MAX (fac_tracking_datum) datum_uitstroom
FROM mld_melding m,
mld_stdmelding std,
mld_discipline d,
fac_tracking ft
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = 1 --- zorg
AND mld_melding_status IN (5, 6)
AND fac_activiteit_key IS NULL
AND ft.fac_tracking_refkey = m.mld_melding_key
AND fac_srtnotificatie_key =
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'MLDAFM')
AND m.prs_perslid_key NOT IN
(SELECT prs_perslid_key
FROM mld_melding
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key =
d.ins_discipline_key
AND d.ins_srtdiscipline_key = 1 --- zorg
AND mld_melding_status IN (2, 3, 4, 7))
GROUP BY m.prs_perslid_key;
CREATE_VIEW( care_v_uitstroom, 0)
AS
SELECT m.prs_perslid_key, fac_tracking_datum, reden_beeindiging
FROM mld_melding m,
mld_stdmelding std,
mld_discipline d,
fac_tracking ft,
(SELECT fac_usrdata_omschr reden_beeindiging, mld_melding_key
FROM mld_kenmerkmelding km, fac_usrdata ud
WHERE km.mld_kenmerk_key = 21
AND ud.fac_usrtab_key = 61
AND TO_CHAR (fac_usrdata_key) = mld_kenmerkmelding_waarde)
krb
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = 1 --- zorg
AND mld_melding_status IN (5, 6)
AND fac_activiteit_key IS NULL
AND ft.fac_tracking_refkey = m.mld_melding_key
AND fac_srtnotificatie_key =
(SELECT fac_srtnotificatie_key
FROM fac_srtnotificatie
WHERE fac_srtnotificatie_code = 'MLDAFM')
AND krb.mld_melding_key(+) = m.mld_melding_key
AND m.prs_perslid_key NOT IN
(SELECT prs_perslid_key
FROM mld_melding
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key =
d.ins_discipline_key
AND d.ins_srtdiscipline_key = 1 --- zorg
AND mld_melding_status IN (2, 3, 4, 7))
GROUP BY m.prs_perslid_key, fac_tracking_datum, reden_beeindiging;
CREATE_VIEW ( care_v_rap_in_uitstroom, 0)
(
Type,
Naam,
Datum,
Reden_beeindiging
)
AS
SELECT 'Uitstroom',
prs_perslid_naam_full cu,
fac_tracking_datum,
cu.reden_beeindiging
FROM care_v_uitstroom cu,
care_v_maxprs_afgemeld mpmax,
prs_v_perslid_fullnames_all pf
WHERE mpmax.prs_perslid_key = cu.prs_perslid_key
AND mpmax.datum_uitstroom = cu.fac_tracking_datum
AND cu.prs_perslid_key = pf.prs_perslid_key
UNION ALL
SELECT 'Instroom',
pf.prs_perslid_naam_full,
prs_perslid_aanmaak,
NULL reden_uitstroom
FROM prs_perslid p, prs_v_perslid_fullnames_all pf
WHERE p.prs_perslid_key = pf.prs_perslid_key
AND prs_srtperslid_key = (SELECT prs_srtperslid_key
FROM prs_srtperslid
WHERE prs_srtperslid_upper = 'CLIENT');
CREATE_VIEW (CARE_V_FACTUUR_UREN_MND, 0)
(
FCLT_X_PERIODE,
PERIODE,
VAN,
TOT,
FACTUURNUMMER,
WZACODE,
FCLT_F_GEMEENTE,
BSN_CLIENT,
CLIENT_VOORLETTERS,
CLIENT_TUSSENVOEGSEL,
CLIENT_NAAM,
CLIENT_MEISJESNAAM,
NAAM2,
GEBOORTEDATUM,
CLIENT_GESLACHT,
CLIENT_ADRES,
CLIENT_HUISNR,
CLIENT_POSTCODE,
CLIENT_WOONPLAATS,
CLIENT_TELEFOON,
CLIENT_MOBIEL,
CLIENT_CONTACTPERS,
CLIENT_EMAIL,
BIJZONDERHEDEN,
BESCHIKKING_OMSCHR,
BESCHIKKINGNR,
BESCHIKKING_VAN,
BESCHIKKING_TOT,
INDICATIE_WEEK,
PRODUCT,
TARIEF,
UREN,
MINUTEN,
BEDRAG_EURO
)
AS
SELECT u.periode,
SUBSTR (u.periode, 6, 2) || '.' || SUBSTR (u.periode, 1, 4),
TRUNC (u.start_periode),
TRUNC (u.einde_periode),
SUBSTR (u.periode, 1, 4)
|| COALESCE (TO_CHAR (u.gemeente_factnr_infix),
u.prs_bedrijf_factnr_infix)
|| SUBSTR (u.periode, 6, 2)
|| COALESCE (TO_CHAR (u.gemeente_factnr_suffix), u.gemeente_code)
factuurnr,
u.wzacode,
u.gemeente,
u.client_bsn,
u.prs_client_voorletters
client_voorletters,
u.prs_client_tussenvoegsel
client_tussenvoegsel,
u.prs_client_naam
client_naam,
u.client_meisjesnaam,
u.naam2,
u.client_geboortedatum,
u.client_geslacht,
u.client_adres,
u.client_huisnr,
u.client_postcode,
u.client_woonplaats,
u.client_telefoon_thuis,
u.prs_client_mobiel,
u.client_contactpersonen,
u.prs_client_email,
u.client_bijzonderheden,
u.beschikking_omschr,
u.beschikking_nr,
u.beschikking_van,
u.beschikking_tot,
u.uren_beschikking
ind_uren_week,
u.product,
u.tarief,
SUM (u.uren_besteed)
totaal_periode,
(SUM (u.uren_besteed)) * 60,
SUM (u.uren_besteed) * u.tarief
bedrag_euro
FROM (SELECT EXTRACT (YEAR FROM uur.start_periode)
|| '-'
|| LPAD (EXTRACT (MONTH FROM uur.start_periode), 2, '0')
periode,
uur.start_periode,
uur.einde_periode,
pb.prs_leverancier_nr
wzacode,
pb.prs_bedrijf_telefoon2
prs_bedrijf_factnr_infix,
b.gemeente_omschrijving
gemeente,
b.gemeente_code,
b.gemeente_factnr_infix,
b.gemeente_factnr_suffix,
b.client_bsn,
DECODE (ud.fac_usrdata_omschr,
1, b.prs_client_nr,
b.prs_client_key),
b.prs_client_voorletters,
b.prs_client_tussenvoegsel,
b.prs_client_naam,
b.client_meisjesnaam,
b.prs_client_voorletters
|| ' '
|| b.prs_client_tussenvoegsel
|| ' '
|| b.prs_client_naam
naam2,
b.client_mv
client_geslacht,
b.client_geboortedatum,
b.client_adres,
b.client_huisnr,
b.client_postcode,
b.client_woonplaats,
b.client_telefoon_thuis,
b.prs_client_mobiel,
b.client_contactpersonen,
b.prs_client_email,
b.client_bijzonderheden,
b.beschikking_omschr,
b.beschikking_nr,
TRUNC (b.beschikking_datum_van)
beschikking_van,
TRUNC (b.beschikking_datum_tot)
beschikking_tot,
b.uren_beschikking,
b.product,
CASE
WHEN b.pgb = 1 THEN b.pgb_tarief
WHEN b.gemeente_veiling = 1 THEN b.pgb_tarief
ELSE gt.tarief
END
tarief,
uur.datum_gewerkt,
uur.uren_besteed
FROM care_v_beschikking_all b,
(SELECT o.mld_melding_key,
o.mld_opdr_key,
o.mld_opdr_datumbegin,
TRUNC (o.mld_opdr_einddatum)
einddatum,
o.mld_opdr_uren
uren_opdracht,
ou.mld_opdr_uren_datum
datum_gewerkt,
ou.mld_opdr_uren_besteed
uren_besteed,
TRUNC (ou.mld_opdr_uren_datum, 'Month')
start_periode,
LAST_DAY (TRUNC (ou.mld_opdr_uren_datum, 'Month'))
einde_periode
FROM mld_opdr o, mld_opdr_uren ou
WHERE ou.mld_opdr_key = o.mld_opdr_key
AND ou.mld_opdr_uren_status = 3) uur,
prs_bedrijf pb,
fac_usrdata ud,
care_v_gemeente_tarieven gt
WHERE uur.mld_melding_key = b.mld_melding_key
AND pb.prs_bedrijf_key = 2
AND ud.fac_usrdata_key = 48
AND gt.alg_locatie_key = b.gemeente_key
AND gt.product_code = b.product_code
AND b.pgb IS NULL
AND COALESCE (gt.duedatum, SYSDATE) =
(SELECT COALESCE (MIN (gt2.duedatum), SYSDATE)
FROM care_v_gemeente_tarieven gt2
WHERE COALESCE (gt2.duedatum, SYSDATE + 999) >=
uur.datum_gewerkt
AND gt2.alg_locatie_key = b.gemeente_key
AND gt2.product_code = b.product_code)) u,
( SELECT (TO_CHAR (
TO_DATE (
TRUNC (
TRUNC (ADD_MONTHS (SYSDATE, LEVEL * -1)),
'Month')),
'YYYY'))
|| '-'
|| (TO_CHAR (
TO_DATE (
TRUNC (
TRUNC (ADD_MONTHS (SYSDATE, LEVEL * -1)),
'MM')),
'MM')) periode
FROM DUAL
CONNECT BY LEVEL <= 1 * 12) p
WHERE u.PERIODE = p.periode
GROUP BY u.periode,
u.start_periode,
u.einde_periode,
u.gemeente_factnr_infix,
u.prs_bedrijf_factnr_infix,
u.gemeente_factnr_suffix,
u.gemeente_code,
u.wzacode,
u.gemeente,
u.client_bsn,
u.prs_client_voorletters,
u.prs_client_tussenvoegsel,
u.prs_client_naam,
u.client_meisjesnaam,
u.naam2,
u.client_geboortedatum,
u.client_geslacht,
u.client_adres,
u.client_huisnr,
u.client_postcode,
u.client_woonplaats,
u.client_telefoon_thuis,
u.prs_client_mobiel,
u.client_contactpersonen,
u.prs_client_email,
u.client_bijzonderheden,
u.beschikking_omschr,
u.beschikking_nr,
u.beschikking_van,
u.beschikking_tot,
u.uren_beschikking,
u.product,
u.tarief
ORDER BY u.gemeente, u.periode DESC;
CREATE OR REPLACE VIEW CARE_V_REISTIJDEN_ALL
(
PRS_PERSLID_KEY,
PRS_PERSLID_NAAM,
PRS_PERSLID_TUSSENVOEGSEL,
PRS_PERSLID_VOORLETTERS,
PRS_PERSLID_VOORNAAM,
BSN,
NR_VERZORGER,
MEISJESNAAM,
GEBOORTEDATUM,
ADRES,
POSTCODE,
TELEFOON_THUIS,
TELEFOON_WERK,
PRS_PERSLID_MOBIEL,
PRS_PERSLID_EMAIL,
PRS_PERSLID_DIENSTVERBAND,
JAAR,
WEEKNR,
PERIODENR,
PERIODE,
MAANDAG_VANDEWEEK,
DATUM_GEWERKT,
INTERKM,
INTERM,
KOSTEN_CODE,
KOSTEN_OMSCHRIJVING,
UREN_STATUS
)
AS
SELECT DISTINCT
verzorger.prs_perslid_key,
verzorger.prs_perslid_naam,
verzorger.prs_perslid_tussenvoegsel,
verzorger.prs_perslid_voorletters,
verzorger.prs_perslid_voornaam,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1020)
bsn,
verzorger.prs_perslid_nr
nr_verzorger,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1001)
meisjesnaam,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1002)
geboortedatum,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1003)
adres,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1004)
postcode,
(SELECT kl.prs_kenmerklink_waarde
FROM prs_kenmerklink kl
WHERE kl.prs_link_key = verzorger.prs_perslid_key
AND kl.prs_kenmerklink_niveau = 'P'
AND kl.prs_kenmerklink_verwijder IS NULL
AND prs_kenmerk_key = 1006)
telefoon_thuis,
verzorger.prs_perslid_telefoonnr
telefoon_werk,
verzorger.prs_perslid_mobiel,
verzorger.prs_perslid_email,
verzorger.prs_perslid_dienstverband,
TO_NUMBER (
TO_CHAR (dk.mld_opdruren_dagkosten_datum, 'IYYY'))
jaar,
TO_NUMBER (TO_CHAR (dk.mld_opdruren_dagkosten_datum, 'IW'))
weeknr,
LEAST (
FLOOR (
(TO_CHAR (dk.mld_opdruren_dagkosten_datum, 'IW') - 1)
/ 4)
+ 1,
13)
periodenr,
TO_NUMBER (TO_CHAR (dk.mld_opdruren_dagkosten_datum, 'IYYY'))
|| '-'
|| LPAD (
LEAST (
FLOOR (
( TO_CHAR (dk.mld_opdruren_dagkosten_datum,
'IW')
- 1)
/ 4)
+ 1,
13),
2,
'0')
periode,
( TRUNC (dk.mld_opdruren_dagkosten_datum)
- DECODE (TO_CHAR (dk.mld_opdruren_dagkosten_datum, 'D'),
'1', 8,
TO_CHAR (dk.mld_opdruren_dagkosten_datum, 'D'))
+ 2)
maandag_vandeweek,
dk.mld_opdruren_dagkosten_datum
datum_gewerkt,
dk.interkm/1000,
dk.interkm,
'T'
kosten_code,
'Reistijd'
kosten_omschrijving,
ou.mld_opdr_uren_status
uren_status
FROM prs_perslid verzorger,
care_v_opdruren_dagkosten dk,
mld_opdr_uren ou,
mld_opdruren_kosten ok
WHERE dk.prs_perslid_key = verzorger.prs_perslid_key
AND ou.prs_perslid_key = dk.prs_perslid_key
AND ou.mld_opdr_uren_datum = dk.mld_opdruren_dagkosten_datum
AND ok.mld_opdr_uren_key = ou.mld_opdr_uren_key
AND dk.interkm > 0;
REGISTERRUN('$Id$')
#endif // CARE