PNBR#24761 Uitlenen van gereserveerde objecten beter ondersteunen

svn path=/Database/trunk/; revision=16228
This commit is contained in:
Jos Groot Lipman
2012-12-06 11:43:51 +00:00
parent c03121e6ac
commit 3e0f1a8acd
4 changed files with 23 additions and 18 deletions

View File

@@ -3177,6 +3177,10 @@ FACXSL_LCL('lcl_ins_multi_controle', 'Registreer meerdere controles', 'Register
FACXSL_LCL('lcl_ins_docontrole', 'Registreer controle', 'Register inspection', 'Kontrolle', 'S''enregistrer contr<74>le')
FACXSL_LCL('lcl_ins_lend_out', 'Uitlenen', 'Lend out', 'Ausleihen', 'Pr<50>ter')
FACXSL_LCL('lcl_ins_lend_out_to', 'Uitlenen aan', 'Lend out to', 'Ausleihen an', 'Pr<50>ter <20>')
FACXSL_LCL('lcl_ins_lend_no_res', 'Let op: object is reserveerbaar maar er is geen toekomstige reservering.', 'No future reservation', '@@', '@@')
FACXSL_LCL('lcl_ins_lend_next_res', 'Eerstkomende reservering {0} op {1}', 'Next reservation {0} at {1}', '@@', '@@')
FACXSL_LCL('lcl_ins_lent_res', 'Uitgegeven aan', 'Lent out to', 'Ausgeben an', 'D<>livr<76> <20>')
FACXSL_LCL('lcl_ins_islent_res', 'Momenteel uitgegeven', 'Currently lent out', 'Derzeit ausgeben', 'Maintenant D<>livr<76>')
FACXSL_LCL('lcl_ins_adapt', 'Bewerk', 'Adapt', 'Anpassen', 'Adapter ')
FACXSL_LCL('lcl_ins_diff_objsrt', 'De objectsoort verschilt. Specifieke kenmerken kunnen niet worden getoond. Kies objecten van hetzelfde objectsoort', 'The object types differ. Flexible properties cannot be displayed. Select objects of the same object type', 'Die Objektart weicht ab. Zus<75>tzliche Eigenschaften k<>nnen nicht gezeigt werden. W<>hlen Sie Objekte derselben Objektart', 'La sorte d''objet diff<66>re. Caract<63>ristiques specifiques ne peuvent pas <20>tre mont<6E>es. Choisissez des objets de la m<>me sorte d''objet')
FACXSL_LCL('lcl_ins_no_auth_delete', 'Geen autorisatie voor het verwijderen van het object ', 'Not authorised to delete object ', 'Keine Autorisation f<>r das Entfernen des Objekts ', 'Aucune autorisation pour supprimer objet ')

View File

@@ -424,6 +424,7 @@ DEFINE_SETTING('RES', 0003, 'res_vcalendar_link' , 'number'
DEFINE_SETTING('RES', 0003, 'res_room_order' , 'number' , '0' , 'Planbord sorted by capacity or description (0=capacity (default) | 1=description)')
DEFINE_SETTING('RES', 0009, 'res_image_path' , 'string' , NULL , 'path to folder storing res_ruimte pictures')
DEFINE_SETTING('RES', 0003, 'res_with_mld' , 'number' , '0' , 'Reservering kan meldingen hebben {0=Nee (default) | 1=Ja}')
DEFINE_SETTING('RES', 0003, 'res_uitleen_early' , 'float' , '-1' , 'Days in advance objects can be lent out { -1=unlimited }')
DEFINE_SETTING('BEZ', 0003, 'vis_dur' , 'float' , '0' , 'default visitors duration')
DEFINE_SETTING('BEZ', 0003, 'vis_h' , 'float' , '0.25' , 'time stepsize')
DEFINE_SETTING('BEZ', 0003, 'vis_t1' , 'float' , '8' , 'visitors day start (hour)')

View File

@@ -521,7 +521,6 @@ AS
result BOOLEAN;
n_inscope INTEGER;
BEGIN
DBMS_OUTPUT.put_line ('res_deel_in_scope(' || pres_deel_key || ',' || palg_ruimte_key || ')');
SELECT COUNT (d.ins_deel_key)
INTO n_inscope
FROM ins_deel d,
@@ -544,7 +543,7 @@ AS
AND r.res_discipline_key = r_disc.ins_discipline_key
AND r.res_deel_key = pres_deel_key
AND r.res_ins_deel_key = d.ins_deel_key
AND d.ins_alg_ruimte_type IN ('R', 'T')
AND COALESCE(d.ins_alg_ruimte_type_org, d.ins_alg_ruimte_type) IN ('R', 'T')
AND ( ds.alg_regio_key = scope.alg_regio_key
OR ds.alg_district_key = scope.alg_district_key
OR ds.alg_locatie_key = scope.alg_locatie_key
@@ -553,6 +552,7 @@ AS
OR ds.alg_ruimte_key = scope.alg_ruimte_key
OR ds.res_deel_alg_level = -1)
AND r.res_deel_key = ds.res_deel_key;
DBMS_OUTPUT.put_line ('res_deel_in_scope(' || pres_deel_key || ',' || palg_ruimte_key || ') -->' || n_inscope);
RETURN n_inscope > 0;
END;
-- Moeten wijzelf misschien dirty worden

View File

@@ -431,7 +431,7 @@ AS
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel id
WHERE rd.res_ins_deel_key = id.ins_deel_key
AND id.ins_alg_ruimte_type IN ('R', 'T')
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) IN ('R', 'T')
AND rd.res_deel_alg_level = -1
UNION ALL
SELECT res_deel_key, res_deel_alg_level, alg_regio_key, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
@@ -439,41 +439,41 @@ AS
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND l.alg_district_key = d.alg_district_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) IN ('R', 'T')
AND rd.res_deel_alg_level = 0
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), alg_district_key, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_locatie l
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND alg_locatie_key = ins_alg_locatie_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) IN ('R', 'T')
AND rd.res_deel_alg_level = 1
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), ins_alg_locatie_key, to_number(NULL), to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ins_alg_ruimte_type IN ('R', 'T')
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) IN ('R', 'T')
AND rd.res_deel_alg_level = 2
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), alg_gebouw_key, to_number(NULL), to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_ruimte r, alg_verdieping v
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_key = r.alg_ruimte_key
AND COALESCE(ID.ins_alg_ruimte_key_org, ID.ins_alg_ruimte_key) = r.alg_ruimte_key
AND r.alg_verdieping_key = v.alg_verdieping_key
AND ins_alg_ruimte_type = 'R'
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) = 'R'
AND rd.res_deel_alg_level = 3
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), alg_verdieping_key, to_number(NULL)
FROM res_deel rd, ins_deel ID, alg_ruimte r
WHERE rd.res_ins_deel_key = ID.ins_deel_key
AND ID.ins_alg_ruimte_key = r.alg_ruimte_key
AND ins_alg_ruimte_type = 'R'
AND COALESCE(ID.ins_alg_ruimte_key_org, ID.ins_alg_ruimte_key) = r.alg_ruimte_key
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) = 'R'
AND rd.res_deel_alg_level = 4
UNION ALL
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), ins_alg_ruimte_key
SELECT res_deel_key, res_deel_alg_level, to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), to_number(NULL), COALESCE(ins_alg_ruimte_key_org, ins_alg_ruimte_key)
FROM res_deel rd, ins_deel id
WHERE rd.res_ins_deel_key = id.ins_deel_key
AND id.ins_alg_ruimte_type = 'R'
AND COALESCE(id.ins_alg_ruimte_type_org, ID.ins_alg_ruimte_type) = 'R'
AND rd.res_deel_alg_level = 5;
// Oracle 11g kent pas een PIVOT dus nog even behelpen
@@ -722,7 +722,7 @@ CREATE_VIEW(res_v_qvw_locale, 0)
(FAC_LOCALE_KOLOMKEYVAL, FAC_LOCALE_KOLOMNAAM, FAC_LOCALE_TEKST_EN, FAC_LOCALE_TEKST_DE, FAC_LOCALE_TEKST_FR)
AS
SELECT d.ins_discipline_key,
'INS_DISCIPLINE_OMSCHRIJVING',
'INS_DISCIPLINE_OMSCHRIJVING',
COALESCE(en.FAC_LOCALE_TEKST, d.ins_discipline_omschrijving),
COALESCE(de.FAC_LOCALE_TEKST, d.ins_discipline_omschrijving),
COALESCE(fr.FAC_LOCALE_TEKST, d.ins_discipline_omschrijving)
@@ -741,7 +741,7 @@ AS
AND fr.FAC_LOCALE_LANG (+) = 'FR'
UNION ALL
SELECT a.res_activiteit_key,
'RES_ACTIVITEIT_OMSCHRIJVING',
'RES_ACTIVITEIT_OMSCHRIJVING',
COALESCE(en.FAC_LOCALE_TEKST, a.res_activiteit_omschrijving),
COALESCE(de.FAC_LOCALE_TEKST, a.res_activiteit_omschrijving),
COALESCE(fr.FAC_LOCALE_TEKST, a.res_activiteit_omschrijving)
@@ -760,7 +760,7 @@ AS
AND fr.FAC_LOCALE_LANG (+) = 'FR'
UNION ALL
SELECT sa.res_srtactiviteit_key,
'RES_SRTACTIVITEIT_OMSCHRIJVING',
'RES_SRTACTIVITEIT_OMSCHRIJVING',
COALESCE(en.FAC_LOCALE_TEKST, sa.res_srtactiviteit_omschrijving),
COALESCE(de.FAC_LOCALE_TEKST, sa.res_srtactiviteit_omschrijving),
COALESCE(fr.FAC_LOCALE_TEKST, sa.res_srtactiviteit_omschrijving)
@@ -779,7 +779,7 @@ AS
AND fr.FAC_LOCALE_LANG (+) = 'FR'
UNION ALL
SELECT rr.res_ruimte_key,
'RES_RUIMTE_NR',
'RES_RUIMTE_NR',
COALESCE(en.FAC_LOCALE_TEKST, rr.res_ruimte_nr),
COALESCE(de.FAC_LOCALE_TEKST, rr.res_ruimte_nr),
COALESCE(fr.FAC_LOCALE_TEKST, rr.res_ruimte_nr)
@@ -798,7 +798,7 @@ AS
AND fr.FAC_LOCALE_LANG (+) = 'FR'
UNION ALL
SELECT rd.res_deel_key,
'RES_PRODUCT_OMSCHRIJVING',
'RES_PRODUCT_OMSCHRIJVING',
id.ins_deel_omschrijving,
id.ins_deel_omschrijving,
id.ins_deel_omschrijving
@@ -807,7 +807,7 @@ AS
WHERE id.ins_deel_key = rd.res_ins_deel_key
UNION ALL
SELECT ra.res_artikel_key,
'RES_PRODUCT_OMSCHRIJVING',
'RES_PRODUCT_OMSCHRIJVING',
COALESCE(en.FAC_LOCALE_TEKST, ra.res_artikel_omschrijving),
COALESCE(de.FAC_LOCALE_TEKST, ra.res_artikel_omschrijving),
COALESCE(fr.FAC_LOCALE_TEKST, ra.res_artikel_omschrijving)