BONS#31596: Iwmo factuur rapport

svn path=/Database/trunk/; revision=25442
This commit is contained in:
Marcel Bourseau
2015-06-12 12:32:04 +00:00
parent 4291cc6d52
commit 1ce2df7f0b
2 changed files with 113 additions and 5 deletions

View File

@@ -142,6 +142,15 @@ INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,a
alg_kenmerk_kenmerktype, alg_kenmerk_lengte,alg_kenmerk_nmin, alg_kenmerk_nmax)
VALUES (1006, 'L', 33, 'Veiling tarieven', 'N', 1, 0, 1);
-- BONS#31596: Gemeente is een budgetgemeente, van invloed op:
-- kolom T+U+V van het Iwmo facturen rapport en,
-- de clienten worden niet naar het CAK gestuurd.
INSERT INTO alg_kenmerk (alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving,
alg_kenmerk_kenmerktype, alg_kenmerk_lengte,alg_kenmerk_nmin, alg_kenmerk_nmax)
VALUES (1007, 'L', 34, 'Budgetgemeente', 'N', 1, 0, 1);
-- Label factuur-infix en factuur-postfix
INSERT INTO alg_kenmerk
(alg_kenmerk_key,alg_kenmerk_niveau,alg_kenmerk_volgnr,alg_kenmerk_omschrijving, alg_kenmerk_default,alg_kenmerk_kenmerktype)

View File

@@ -22,12 +22,16 @@ AS
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
FROM alg_locatie gemeente, alg_onrgoedkenmerk k
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
FROM alg_locatie gemeente, alg_onrgoedkenmerk k, alg_onrgoedkenmerk k2
WHERE gemeente.alg_locatie_verwijder IS NULL
AND alg_onrgoed_niveau (+) = 'L'
AND alg_kenmerk_key (+) = 1006
AND alg_onrgoed_key (+) = alg_locatie_key;
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;
-- 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)
@@ -580,6 +584,7 @@ CREATE_VIEW( care_v_beschikking_all, 0)
gemeente_hv1_code,
gemeente_hv2_code,
gemeente_veiling,
gemeente_budget,
prs_client_key,
prs_client_naam,
prs_client_tussenvoegsel,
@@ -649,6 +654,7 @@ AS
gemeente.alg_locatie_x,
gemeente.alg_locatie_y,
gemeente.alg_locatie_veiling,
gemeente.gemeente_budget,
client.prs_perslid_key prs_client_key,
client.prs_perslid_naam prs_client_naam,
client.prs_perslid_tussenvoegsel prs_client_tussenvoegsel,
@@ -2974,6 +2980,7 @@ CREATE_VIEW( care_v_tmp2_factuur_uren, 0)
gemeente_hv1_code,
gemeente_hv2_code,
gemeente_veiling,
gemeente_budget,
beschikkingsnr,
beschikking_datum_van,
beschikking_datum_tot,
@@ -2984,6 +2991,7 @@ CREATE_VIEW( care_v_tmp2_factuur_uren, 0)
client_voorletters,
client_tussenvoegsel,
client_naam,
client_meisjesnaam,
client_mv,
prs_client_cak_actie,
client_geboortedatum,
@@ -3035,6 +3043,7 @@ AS
b.gemeente_hv1_code,
b.gemeente_hv2_code,
b.gemeente_veiling,
b.gemeente_budget,
b.beschikking_nr,
b.beschikking_datum_van,
b.beschikking_datum_tot,
@@ -3045,6 +3054,7 @@ AS
b.prs_client_voorletters,
b.prs_client_tussenvoegsel,
b.prs_client_naam,
b.client_meisjesnaam,
b.client_mv,
b.prs_client_cak_actie,
b.client_geboortedatum,
@@ -4085,6 +4095,94 @@ AS
GROUP BY periode, gemeente, beschikkingsnr, f.bsn_client, product, jaar, weeknr, datum;
-- 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;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -4539,6 +4637,7 @@ AS
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;