SBSH#27519 Alles voor 1/10/2013 correct bevriezen
svn path=/Customer/trunk/; revision=19307
This commit is contained in:
329
SBSH/Once/sbsh#27519.sql
Normal file
329
SBSH/Once/sbsh#27519.sql
Normal file
@@ -0,0 +1,329 @@
|
||||
-- Customer specific once-script SBSH#27519.
|
||||
--
|
||||
-- (c) 2012 SG|facilitor bv
|
||||
-- $Revision$
|
||||
-- $Id$
|
||||
--
|
||||
-- Support: +31 53 4800700
|
||||
SET ECHO ON
|
||||
SPOOL xsbsh#27519.lst
|
||||
SET DEFINE OFF
|
||||
|
||||
SET SERVEROUTPUT ON size 1000000;
|
||||
|
||||
-- SBSH#27519 - Alles voor 1/10/2013 correct bevriezen!
|
||||
-- Catering
|
||||
/*
|
||||
DECLARE
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (255);
|
||||
v_errormsg VARCHAR2 (1024);
|
||||
v_errorhint VARCHAR2 (1024);
|
||||
BEGIN
|
||||
FOR rc
|
||||
IN ( SELECT '['
|
||||
|| TO_CHAR (ra.res_rsv_artikel_levering,
|
||||
'yyyy-mm-dd hh24:mi')
|
||||
|| '/'
|
||||
|| TO_CHAR (rr.res_reservering_key)
|
||||
|| '/'
|
||||
|| TO_CHAR (rr.res_rsv_ruimte_volgnr)
|
||||
|| '/'
|
||||
|| a.res_artikel_omschrijving
|
||||
|| '] '
|
||||
aanduiding,
|
||||
ra.res_rsv_artikel_key,
|
||||
ra.res_artikel_key,
|
||||
ra.res_rsv_artikel_verwijder,
|
||||
ra.res_rsv_artikel_prijs old_prijs,
|
||||
DECODE (
|
||||
TO_CHAR (ra.res_rsv_artikel_levering, 'D'),
|
||||
1, -- Zondag
|
||||
DECODE (
|
||||
a.res_artikel_kostenpersoneel,
|
||||
2,
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.25,
|
||||
3,
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.5,
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs
|
||||
),
|
||||
7, -- Zaterdag
|
||||
DECODE (
|
||||
a.res_artikel_kostenpersoneel,
|
||||
2,
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.25,
|
||||
3,
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs * 1.5,
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs
|
||||
),
|
||||
ra.res_rsv_artikel_aantal * a.res_artikel_prijs
|
||||
)
|
||||
new_prijs
|
||||
FROM res_rsv_artikel ra, res_artikel a, res_rsv_ruimte rr
|
||||
WHERE ra.res_rsv_artikel_verwijder IS NULL
|
||||
--AND ra.res_status_bo_key = 5
|
||||
AND ra.res_artikel_key = a.res_artikel_key
|
||||
AND a.res_artikel_prijs_vast = 1
|
||||
AND ra.res_rsv_artikel_levering >=
|
||||
TO_DATE ('01-10-2012', 'dd-mm-yyyy')
|
||||
AND ra.res_rsv_artikel_levering <
|
||||
TO_DATE ('01-10-2013', 'dd-mm-yyyy')
|
||||
AND ra.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||
ORDER BY 1)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout bij bijwerken res_rsv_artikel_prijs';
|
||||
|
||||
IF (rc.old_prijs <> rc.new_prijs)
|
||||
THEN
|
||||
UPDATE res_rsv_artikel ra
|
||||
SET ra.res_rsv_artikel_prijs = rc.new_prijs
|
||||
WHERE ra.res_rsv_artikel_key = rc.res_rsv_artikel_key;
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE( rc.aanduiding
|
||||
|| 'Prijs van: '
|
||||
|| TO_CHAR (rc.old_prijs)
|
||||
|| ' naar: '
|
||||
|| TO_CHAR (rc.new_prijs));
|
||||
ELSE
|
||||
DBMS_OUTPUT.PUT_LINE (rc.aanduiding || 'Prijs ongewijzigd!');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errorhint := v_errormsg;
|
||||
v_errormsg :=
|
||||
rc.aanduiding
|
||||
|| '(ORACLE error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
DBMS_OUTPUT.PUT_LINE (
|
||||
'Error: ' || v_errormsg || '; Hint: ' || v_errorhint
|
||||
);
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
*/
|
||||
-- Voorzieningen
|
||||
/*
|
||||
DECLARE
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (255);
|
||||
v_errormsg VARCHAR2 (1024);
|
||||
v_errorhint VARCHAR2 (1024);
|
||||
BEGIN
|
||||
FOR rc
|
||||
IN ( SELECT '['
|
||||
|| TO_CHAR (rd.res_rsv_deel_van, 'yyyy-mm-dd hh24:mi')
|
||||
|| '/'
|
||||
|| TO_CHAR (rr.res_reservering_key)
|
||||
|| '/'
|
||||
|| TO_CHAR (rr.res_rsv_ruimte_volgnr)
|
||||
|| '/'
|
||||
|| TO_CHAR (d.res_deel_key)
|
||||
|| '] '
|
||||
aanduiding,
|
||||
rd.res_rsv_deel_key,
|
||||
rd.res_deel_key,
|
||||
rd.res_rsv_deel_verwijder,
|
||||
rd.res_rsv_deel_prijs old_prijs,
|
||||
DECODE (
|
||||
rr.res_activiteit_key,
|
||||
10,
|
||||
0, -- Voorzieningen gratis bij interne boeking!
|
||||
COALESCE (
|
||||
(rd.res_rsv_deel_tot - rd.res_rsv_deel_van)
|
||||
* 24
|
||||
* d.res_deel_prijs,
|
||||
0
|
||||
)
|
||||
)
|
||||
new_prijs
|
||||
FROM res_rsv_deel rd, res_deel d, res_rsv_ruimte rr
|
||||
WHERE rd.res_rsv_deel_verwijder IS NULL
|
||||
--AND rd.res_status_bo_key = 5
|
||||
AND rd.res_deel_key = d.res_deel_key
|
||||
AND d.res_deel_prijs_vast = 1
|
||||
AND rd.res_rsv_deel_van >=
|
||||
TO_DATE ('01-10-2012', 'dd-mm-yyyy')
|
||||
AND rd.res_rsv_deel_van <
|
||||
TO_DATE ('01-10-2013', 'dd-mm-yyyy')
|
||||
AND rd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key
|
||||
AND rr.res_rsv_ruimte_verwijder IS NULL
|
||||
AND rr.res_ruimte_opstel_key IS NOT NULL
|
||||
ORDER BY 1)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout bij bijwerken res_rsv_deel_prijs';
|
||||
|
||||
IF (rc.old_prijs <> rc.new_prijs)
|
||||
THEN
|
||||
UPDATE res_rsv_deel rd
|
||||
SET rd.res_rsv_deel_prijs = rc.new_prijs
|
||||
WHERE rd.res_rsv_deel_key = rc.res_rsv_deel_key;
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE( rc.aanduiding
|
||||
|| 'Prijs van: '
|
||||
|| TO_CHAR (rc.old_prijs)
|
||||
|| ' naar: '
|
||||
|| TO_CHAR (rc.new_prijs));
|
||||
ELSE
|
||||
DBMS_OUTPUT.PUT_LINE (rc.aanduiding || 'Prijs ongewijzigd!');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errorhint := v_errormsg;
|
||||
v_errormsg :=
|
||||
rc.aanduiding
|
||||
|| '(ORACLE error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
DBMS_OUTPUT.PUT_LINE (
|
||||
'Error: ' || v_errormsg || '; Hint: ' || v_errorhint
|
||||
);
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
COMMIT;
|
||||
*/
|
||||
-- Ruimten
|
||||
DECLARE
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (255);
|
||||
v_errormsg VARCHAR2 (1024);
|
||||
v_errorhint VARCHAR2 (1024);
|
||||
BEGIN
|
||||
FOR rc
|
||||
IN ( SELECT '['
|
||||
|| TO_CHAR (x.res_rsv_ruimte_van, 'yyyy-mm-dd hh24:mi')
|
||||
|| '/'
|
||||
|| TO_CHAR (x.res_reservering_key)
|
||||
|| '/'
|
||||
|| TO_CHAR (x.res_rsv_ruimte_volgnr)
|
||||
|| '/'
|
||||
|| TO_CHAR (x.res_ruimte_opstel_key)
|
||||
|| '] '
|
||||
aanduiding,
|
||||
x.res_rsv_ruimte_key,
|
||||
x.res_rsv_ruimte_verwijder,
|
||||
x.res_rsv_ruimte_prijs old_prijs,
|
||||
x.aantal
|
||||
* DECODE (
|
||||
y.tarief,
|
||||
'Profit', -- Profit = Prijs bij middag!
|
||||
DECODE (TO_CHAR (x.res_rsv_ruimte_van, 'D'),
|
||||
1, -- Zondag
|
||||
DECODE (x.pa, 2, x.pm * 2.3, x.pm * 1.2),
|
||||
7, -- Zaterdag
|
||||
DECODE (x.pa, 2, x.pm * 2.3, x.pm * 1.2),
|
||||
x.pm),
|
||||
DECODE ( -- Non-profit = Prijs bij ochtend!
|
||||
TO_CHAR (x.res_rsv_ruimte_van, 'D'),
|
||||
1, -- Zondag
|
||||
DECODE (x.pa, 2, x.po * 2, x.po * 1.2),
|
||||
7, -- Zaterdag
|
||||
DECODE (x.pa, 2, x.po * 2, x.po * 1.2),
|
||||
x.po)
|
||||
)
|
||||
new_prijs
|
||||
FROM (SELECT a.prs_afdeling_key,
|
||||
rr.res_rsv_ruimte_van,
|
||||
rr.res_reservering_key,
|
||||
rr.res_rsv_ruimte_volgnr,
|
||||
rr.res_ruimte_opstel_key,
|
||||
rr.res_rsv_ruimte_key,
|
||||
rr.res_rsv_ruimte_verwijder,
|
||||
rr.res_rsv_ruimte_prijs,
|
||||
(rr.res_rsv_ruimte_tot - rr.res_rsv_ruimte_van)
|
||||
* 24
|
||||
aantal, -- Duur in uren
|
||||
DECODE (rr.res_activiteit_key,
|
||||
10, 0, -- Ruimte gratis bij interne boeking!
|
||||
r.res_ruimte_prijs_ochtend)
|
||||
po, -- Non-profit tarief
|
||||
DECODE (rr.res_activiteit_key,
|
||||
10, 0, -- Ruimte gratis bij interne boeking!
|
||||
r.res_ruimte_prijs_middag)
|
||||
pm, -- Profit tarief
|
||||
r.res_ruimte_prijs_avond pa -- Welke weekend-factor
|
||||
FROM res_v_aanwezigrsv_ruimte rr,
|
||||
res_ruimte_opstelling ro,
|
||||
res_ruimte r,
|
||||
prs_perslid p,
|
||||
prs_afdeling a
|
||||
WHERE rr.res_ruimte_opstel_key =
|
||||
ro.res_ruimte_opstel_key
|
||||
AND ro.res_ruimte_key = r.res_ruimte_key
|
||||
AND rr.res_rsv_ruimte_host_key =
|
||||
p.prs_perslid_key
|
||||
AND p.prs_afdeling_key = a.prs_afdeling_key
|
||||
AND rr.res_rsv_ruimte_van >=
|
||||
TO_DATE ('01-10-2012', 'dd-mm-yyyy')
|
||||
AND rr.res_rsv_ruimte_van <
|
||||
TO_DATE ('01-10-2013', 'dd-mm-yyyy')
|
||||
AND rr.res_ruimte_opstel_key IS NOT NULL) x
|
||||
LEFT JOIN
|
||||
(SELECT prs_link_key, ud.fac_usrdata_omschr tarief
|
||||
FROM prs_v_aanwezigkenmerklink, fac_usrdata ud
|
||||
WHERE prs_kenmerk_key = 1000 -- Tarief
|
||||
AND fac.safe_to_number (prs_kenmerklink_waarde) =
|
||||
ud.fac_usrdata_key) y
|
||||
ON x.prs_afdeling_key = y.prs_link_key
|
||||
ORDER BY 1)
|
||||
LOOP
|
||||
BEGIN
|
||||
v_errormsg := 'Fout bij bijwerken res_rsv_ruimte_prijs';
|
||||
|
||||
IF (rc.old_prijs <> rc.new_prijs)
|
||||
THEN
|
||||
UPDATE res_rsv_ruimte rr
|
||||
SET rr.res_rsv_ruimte_prijs = rc.new_prijs
|
||||
WHERE rr.res_rsv_ruimte_key = rc.res_rsv_ruimte_key;
|
||||
|
||||
DBMS_OUTPUT.PUT_LINE( rc.aanduiding
|
||||
|| 'Prijs van: '
|
||||
|| TO_CHAR (rc.old_prijs)
|
||||
|| ' naar: '
|
||||
|| TO_CHAR (rc.new_prijs));
|
||||
ELSE
|
||||
DBMS_OUTPUT.PUT_LINE (rc.aanduiding || 'Prijs ongewijzigd!');
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
|
||||
v_errorhint := v_errormsg;
|
||||
v_errormsg :=
|
||||
rc.aanduiding
|
||||
|| '(ORACLE error '
|
||||
|| oracle_err_num
|
||||
|| '/'
|
||||
|| oracle_err_mes
|
||||
|| ')';
|
||||
DBMS_OUTPUT.PUT_LINE (
|
||||
'Error: ' || v_errormsg || '; Hint: ' || v_errorhint
|
||||
);
|
||||
END;
|
||||
END LOOP;
|
||||
END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
BEGIN adm.systrackscript('$Workfile: sbsh#27519.sql $', '$Revision$', 1); END;
|
||||
/
|
||||
SPOOL OFF
|
||||
Reference in New Issue
Block a user