BONS#75858 Rapportage M-factuur versie 3

svn path=/Customer/trunk/; revision=58390
This commit is contained in:
Suzan Wiegerinck
2022-12-19 09:24:12 +00:00
parent 2f10c63b56
commit 1feac82fb9

View File

@@ -7803,105 +7803,6 @@ AS
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 OR REPLACE FORCE VIEW care_v_rap_cak
(
periode,
gekozen
)
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 OR REPLACE FORCE VIEW care_v_rap_cak_chg
(
periode,
gekozen
)
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 OR REPLACE FORCE VIEW care_v_export_cak
(
result,
result_order
)
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 OR REPLACE FORCE VIEW care_v_export_cak_chg
(
result,
result_order
)
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
--
-- Periodetabel van 10 jaar in het verleden t/m 10 jaar in toekomst
@@ -10472,6 +10373,461 @@ AS
personeelsnr_2,
dienstverband;
--- BONS#75858 Rapportage M-factuur versie 3
--- We maken een nieuwe subset met data vanaf 2022
CREATE OR REPLACE FORCE VIEW care_v_tmp2_factuur_uren22
(
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,
personeelsnr_2,
dienstverband,
verzorger,
prs_perslid_dienstverband,
jaar,
maand,
maand_txt,
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.personeelsnr_2,
uur.dienstverband,
uur.prs_perslid_naam
|| ','
|| uur.prs_perslid_voorletters
|| ' '
|| uur.prs_perslid_tussenvoegsel,
uur.prs_perslid_dienstverband,
uur.jaar,
uur.maand,
uur.maand_txt,
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 uur.jaar > 2021
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 OR REPLACE VIEW CARE_V_GEMEENTE_FACT2_UREN22
(
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,
PERSONEELSNR_2,
DIENSTVERBAND,
VERZORGER,
PRS_PERSLID_DIENSTVERBAND,
JAAR,
MAAND,
MAAND_TXT,
WEEKNR,
DATUM,
WEEK_UREN_GEPLAND,
WEEK_UREN_BESTEED
)
AS
SELECT "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",
"PERSONEELSNR_2",
"DIENSTVERBAND",
"VERZORGER",
"PRS_PERSLID_DIENSTVERBAND",
"JAAR",
"MAAND",
"MAAND_TXT",
"WEEKNR",
"DATUM",
"WEEK_UREN_GEPLAND",
"WEEK_UREN_BESTEED"
FROM care_v_tmp2_factuur_uren22
WHERE pgb IS NULL;
CREATE OR REPLACE VIEW CARE_V_RAP2_FACTUUR_UREN_M_22
(
FCLT_X_MAAND,
FCLT_X_MAAND_TXT,
FCLT_X_GEMEENTE,
TARIEF,
MELDING,
BESCHIKKING,
BESCHIKKING_OMSCHR,
BESCHIKKING_DATUM_VAN,
BESCHIKKING_DATUM_TOT,
CLIENTNUMMER,
BSN,
ACHTERNAAM,
VOORVOEGSELS,
VOORLETTERS,
GEBOORTEDATUM,
GESLACHT,
POSTCODE,
HUISNUMMER,
HUISNUMMERTOEVOEGING,
JAAR,
WEEK,
PRODUCT,
MINUTEN,
MINUTEN_X_TARIEF,
MEDEWERKER,
PERSONEELSNUMMER_MDW
)
AS
SELECT maand,
maand_txt,
gemeente,
tarief,
melding,
MIN (beschikkingsnr),
beschikking_omschr,
beschikking_datum_van,
beschikking_datum_tot,
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)),
ROUND (60 * SUM (week_uren_besteed)) * tarief,
verzorger,
nr_verzorger
FROM care_v_gemeente_fact2_uren22 f
GROUP BY maand,
maand_txt,
gemeente,
tarief,
melding,
beschikkingsnr,
beschikking_datum_van,
beschikking_datum_tot,
beschikking_omschr,
f.bsn_client,
product,
jaar,
weeknr,
verzorger,
nr_verzorger;
------ payload end ------
SET DEFINE OFF