DLLG#90075 Rekening houden met reserveringen bij opdrachten, en efficienter de server_timezone ophalen (en gebruiken).
svn path=/Database/trunk/; revision=70489
This commit is contained in:
@@ -339,24 +339,32 @@ AS
|
||||
|
||||
PROCEDURE mydatetochar (p_tag IN VARCHAR2, p_date IN DATE, p_timezone IN VARCHAR2)
|
||||
AS
|
||||
v_return VARCHAR2 (1000);
|
||||
l_timezone VARCHAR2 (20);
|
||||
v_utc TIMESTAMP;
|
||||
user_ts TIMESTAMP;
|
||||
v_localized TIMESTAMP;
|
||||
v_utc TIMESTAMP;
|
||||
user_ts TIMESTAMP;
|
||||
v_server_timezone VARCHAR2 (4000);
|
||||
BEGIN
|
||||
IF p_date IS NOT NULL
|
||||
THEN
|
||||
createopentag (p_tag);
|
||||
createxmltagvalue ('datum', TO_CHAR (p_date, 'dd-mm-yyyy'));
|
||||
createxmltagvalue ('tijd', TO_CHAR (p_date, 'hh24:mi'));
|
||||
v_server_timezone := fac.getsetting('fac_server_timezone');
|
||||
|
||||
-- p_timezone is de tijdszone van p_date, default is dat de servertijd
|
||||
user_ts := FROM_TZ (CAST (p_date AS TIMESTAMP), COALESCE(p_timezone, fac.getsetting('fac_server_timezone'))) AT TIME ZONE SESSIONTIMEZONE;
|
||||
createopentag (p_tag);
|
||||
|
||||
-- p_date wordt aangeleverd in de tijdszone van de server
|
||||
-- p_timezone is de tijdszone van p_date (default is dat de servertijd)
|
||||
-- v_localized is p_date in de tijdszone van p_timezone
|
||||
v_localized := FROM_TZ (CAST (p_date AS TIMESTAMP), v_server_timezone) AT TIME ZONE COALESCE(p_timezone, v_server_timezone);
|
||||
createxmltagvalue ('datum', TO_CHAR (v_localized, 'dd-mm-yyyy'));
|
||||
createxmltagvalue ('tijd', TO_CHAR (v_localized, 'hh24:mi'));
|
||||
|
||||
-- user_ts is p_date in de tijdszone van de user-sessie (SESSIONTIMEZONE)
|
||||
user_ts := FROM_TZ (CAST (p_date AS TIMESTAMP), v_server_timezone) AT TIME ZONE SESSIONTIMEZONE;
|
||||
createxmltagvalue ('localdatum', TO_CHAR (user_ts, 'dd-mm-yyyy'));
|
||||
createxmltagvalue ('localtijd', TO_CHAR (user_ts, 'hh24:mi'));
|
||||
createxmltagvalue ('localdatetime', TO_CHAR (user_ts, 'YYYY-MM-DD') || 'T' || TO_CHAR (user_ts, 'HH24:MI:SS') || TO_CHAR(FROM_TZ(user_ts, SESSIONTIMEZONE), 'TZH:TZM'));
|
||||
|
||||
v_utc := SYS_EXTRACT_UTC (FROM_TZ (CAST (p_date AS TIMESTAMP), COALESCE(p_timezone, fac.getsetting('fac_server_timezone'))));
|
||||
-- v_utc is p_date in UTC
|
||||
v_utc := SYS_EXTRACT_UTC (FROM_TZ (CAST (p_date AS TIMESTAMP), v_server_timezone));
|
||||
createxmltagvalue ('utcdatum', TO_CHAR (v_utc, 'YYYYMMDD'));
|
||||
createxmltagvalue ('utctijd', TO_CHAR (v_utc, 'HH24MISS'));
|
||||
|
||||
@@ -8877,27 +8885,18 @@ AS
|
||||
v_geleverd res_rsv_deel.res_rsv_deel_geleverd%TYPE;
|
||||
v_externnr res_rsv_deel.res_rsv_deel_externnr%TYPE;
|
||||
v_externsyncdate res_rsv_deel.res_rsv_deel_externsyncdate%TYPE;
|
||||
v_server_timezone VARCHAR2(4000);
|
||||
BEGIN
|
||||
createopentag ('rsv_deel');
|
||||
|
||||
v_server_timezone := fac.getsetting ('fac_server_timezone');
|
||||
|
||||
SELECT rd.res_deel_key,
|
||||
rd.res_rsv_deel_aantal,
|
||||
rd.res_status_bo_key,
|
||||
rd.res_rsv_ruimte_key,
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rd.res_rsv_deel_van AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL) res_rsv_deel_van,
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rd.res_rsv_deel_tot AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL) res_rsv_deel_tot,
|
||||
rd.res_rsv_deel_van,
|
||||
rd.res_rsv_deel_tot,
|
||||
l.alg_locatie_timezone,
|
||||
res.getdeelprijs (res_rsv_deel_key),
|
||||
rd.res_rsv_deel_aanmaak,
|
||||
@@ -8951,10 +8950,10 @@ AS
|
||||
, res_status_bo sb
|
||||
, res_deel rdd
|
||||
WHERE rd.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key(+)
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
|
||||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND rd.res_status_bo_key = sb.res_status_bo_key(+)
|
||||
AND rd.res_deel_key = rdd.res_deel_key
|
||||
AND rd.res_rsv_deel_key = p_key;
|
||||
@@ -9262,6 +9261,7 @@ AS
|
||||
v_mld_opdr_key res_rsv_ruimte.mld_opdr_key%TYPE;
|
||||
v_teverzenden res_rsv_ruimte.res_rsv_ruimte_teverzenden%TYPE;
|
||||
v_verzonden res_rsv_ruimte.res_rsv_ruimte_verzonden%TYPE;
|
||||
v_server_timezone VARCHAR2(4000);
|
||||
|
||||
CURSOR c2d
|
||||
IS
|
||||
@@ -9307,23 +9307,13 @@ AS
|
||||
createopentag ('rsv_ruimte');
|
||||
END IF;
|
||||
|
||||
v_server_timezone := fac.getsetting ('fac_server_timezone');
|
||||
|
||||
SELECT rr.res_reservering_key,
|
||||
rr.res_ruimte_opstel_key,
|
||||
rr.res_activiteit_key,
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rr.res_rsv_ruimte_van AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL) res_rsv_ruimte_van,
|
||||
(SELECT CAST (
|
||||
FROM_TZ (CAST (rr.res_rsv_ruimte_tot AS TIMESTAMP),
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AT TIME ZONE COALESCE (l.alg_locatie_timezone,
|
||||
fac.getsetting ('fac_server_timezone'))
|
||||
AS DATE)
|
||||
FROM DUAL) res_rsv_ruimte_tot,
|
||||
rr.res_rsv_ruimte_van,
|
||||
rr.res_rsv_ruimte_tot,
|
||||
rr.res_rsv_ruimte_van_actual,
|
||||
l.alg_locatie_timezone,
|
||||
rr.res_rsv_ruimte_bezoekers,
|
||||
@@ -9426,10 +9416,10 @@ AS
|
||||
WHERE rr.res_status_bo_key = sb.res_status_bo_key(+)
|
||||
AND rr.res_status_fo_key = sf.res_status_fo_key(+)
|
||||
AND rr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key(+)
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
|
||||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND rr.res_rsv_ruimte_key = p_key;
|
||||
|
||||
createxmltagvalue ('key', p_key);
|
||||
|
||||
@@ -944,12 +944,12 @@ AS
|
||||
alg_regio rg
|
||||
WHERE rrr.res_reservering_key = res.res_reservering_key
|
||||
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND d.alg_regio_key = rg.alg_regio_key
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key(+)
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
|
||||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND l.alg_district_key = d.alg_district_key(+)
|
||||
AND d.alg_regio_key = rg.alg_regio_key(+)
|
||||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||||
AND ra.res_srtactiviteit_key = rsa.res_srtactiviteit_key
|
||||
@@ -1262,12 +1262,12 @@ AS
|
||||
alg_regio rg
|
||||
WHERE rrr.res_reservering_key = res.res_reservering_key
|
||||
AND rrr.res_rsv_ruimte_key = r2a.res_rsv_ruimte_key(+)
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key
|
||||
AND g.alg_locatie_key = l.alg_locatie_key
|
||||
AND l.alg_district_key = d.alg_district_key
|
||||
AND d.alg_regio_key = rg.alg_regio_key
|
||||
AND r2a.alg_ruimte_key = r.alg_ruimte_key(+)
|
||||
AND r.alg_verdieping_key = v.alg_verdieping_key(+)
|
||||
AND v.alg_gebouw_key = g.alg_gebouw_key(+)
|
||||
AND g.alg_locatie_key = l.alg_locatie_key(+)
|
||||
AND l.alg_district_key = d.alg_district_key(+)
|
||||
AND d.alg_regio_key = rg.alg_regio_key(+)
|
||||
AND rrr.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
|
||||
AND rrr.res_rsv_ruimte_key = voorz.res_rsv_ruimte_key(+)
|
||||
AND rrr.res_activiteit_key = ra.res_activiteit_key
|
||||
|
||||
Reference in New Issue
Block a user