Files
Database/_UP/CARE16to17.sql
2012-05-06 12:54:48 +00:00

67 lines
1.8 KiB
MySQL

-- 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;