-- Once script tbv care.
--
-- (c) 2011 SG|facilitor bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700
SET ECHO ON
SPOOL xcare16_17.lst
SET DEFINE OFF


CREATE TABLE care_periode
(jaar NUMBER(4) NOT NULL,
 periode NUMBER(2) NOT NULL,
 week NUMBER(2) NOT NULL,
 maandag DATE NOT NULL
);

CREATE INDEX care_i_periode ON care_periode(jaar, periode, week, maandag);

INSERT INTO care_periode (jaar, periode, week, maandag)
SELECT 
    TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IYYY') jaar,
    FLOOR((TO_CHAR (SYSDATE - 7*(LEVEL-1),'IW') - 1) /4) + 1 periode,
    TO_CHAR (SYSDATE - 7*(LEVEL-1), 'IW') week,
    TRUNC (SYSDATE - 7*(LEVEL-1), 'IW') startdatum
FROM  DUAL
CONNECT BY LEVEL <= 1*52+1;


CREATE TABLE CARE_T_BESCHIKK_X_PERIODETABEL
(
  JAAR              NUMBER(4),
  PERIODE           NUMBER(2),
  WEEK_VAN          NUMBER(2),
  WEEK_TM           NUMBER(2),
  BSN               VARCHAR2(20),
  PRODUCT           VARCHAR2(20),
  UREN_BESCHIKKING  NUMBER (10)
);

-- Initialisatie van deze tabel
INSERT INTO CARE_T_BESCHIKK_X_PERIODETABEL(JAAR, PERIODE,WEEK_VAN,WEEK_TM,BSN,PRODUCT,UREN_BESCHIKKING)
    SELECT pw.jaar, pw.periode, MIN(week), MAX(week), b.client_bsn, b.product, SUM(b.uren_beschikking)
    FROM care_periode pw, care_v_beschikking_all b
    WHERE pw.maandag >= B.BESCHIKKING_MAANDAG_VAN
    AND pw.maandag < B.BESCHIKKING_MAANDAG_TOT
    GROUP BY pw.jaar, pw.periode, b.client_bsn, b.product;



UPDATE fac_usrrap
SET fac_usrrap_functie=2, FAC_USRRAP_VIEW_NAME = 'care.care_v_rap2_factuur_uren_A'
WHERE FAC_USRRAP_VIEW_NAME = 'care_v_rap2_factuur_uren_A';

UPDATE fac_usrrap
SET fac_usrrap_functie=2, FAC_USRRAP_VIEW_NAME = 'care.care_v_rap2_factuur_uren_E'
WHERE FAC_USRRAP_VIEW_NAME = 'care_v_rap2_factuur_uren_E';

COMMIT;

SPOOL OFF

START RECAR17.sql;

