KMMO#72220 Bedrag bij bulk reserveerbare objecten klopt niet

svn path=/Database/trunk/; revision=55689
This commit is contained in:
Jos Groot Lipman
2022-04-25 14:03:56 +00:00
parent 581a7e985b
commit a7461ba225

View File

@@ -8198,8 +8198,10 @@ AS
IF p_aantal IS NOT NULL AND p_aantal > 0
THEN
createxmltagvalue ('aantal', p_aantal);
createxmltagvalue ('prijs', p_aantal * v_prijs);
ELSE
createxmltagvalue ('aantal', v_aantal);
createxmltagvalue ('prijs', v_prijs);
END IF;
createxmltagvalue ('status_bokey', v_status_bo_key);
createxmltagvalue ('status_bo', v_status_bo_omschr);
@@ -8207,7 +8209,6 @@ AS
createxmltagvalue ('res_ruimte', v_rsv_ruimte_key);
mydatetochar ('van', v_van);
mydatetochar ('tot', v_tot);
createxmltagvalue ('prijs', v_prijs);
mydatetochar ('aanmaak', v_aanmaak);
mydatetochar ('verwijder', v_verwijder);
mydatetochar ('geleverd', v_geleverd);
@@ -8477,41 +8478,21 @@ AS
CURSOR c2d
IS
SELECT res_deel_omschrijving, res_rsv_deel_key, res_deel_bulkreserveerbaar, selected
FROM (
SELECT rd.res_deel_omschrijving, rrd.res_rsv_deel_key, res_deel_bulkreserveerbaar, 0 selected
FROM res_rsv_deel rrd, res_deel rd
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_ruimte_key = p_key
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_deel_bulkreserveerbaar IS NULL
UNION ALL
SELECT res_deel_omschrijving, res_rsv_deel_key, res_deel_bulkreserveerbaar, selected
FROM
(
SELECT DISTINCT oms.res_deel_omschrijving,
oms.res_rsv_deel_key,
1 res_deel_bulkreserveerbaar,
COUNT (oms.res_deel_omschrijving) selected
FROM (SELECT DISTINCT
rx.res_deel_omschrijving, rrd.res_rsv_deel_key
FROM res_deel rx, res_rsv_deel rrd
WHERE rx.res_deel_bulkreserveerbaar IS NOT NULL
AND rx.res_deel_key IN (SELECT min(ry.res_deel_key)
FROM res_v_aanwezigdeel ry, res_rsv_deel rrdy
WHERE rx.res_deel_omschrijving = ry.res_deel_omschrijving
AND ry.res_deel_key = rrdy.res_deel_key
AND rrdy.res_rsv_ruimte_key = p_key)
AND rx.res_deel_key = rrd.res_deel_key
AND rrd.res_rsv_ruimte_key = p_key ) oms,
res_deel r1, res_rsv_deel rrd1
WHERE oms.res_deel_omschrijving = r1.res_deel_omschrijving
AND r1.res_deel_key = rrd1.res_deel_key
AND rrd1.res_rsv_ruimte_key = p_key
GROUP BY oms.res_deel_omschrijving,
oms.res_rsv_deel_key
)
);
SELECT rd.res_deel_omschrijving, rrd.res_rsv_deel_key, 0 selected
FROM res_rsv_deel rrd, res_deel rd
WHERE rrd.res_rsv_deel_verwijder IS NULL
AND rrd.res_rsv_ruimte_key = p_key
AND rrd.res_deel_key = rd.res_deel_key
AND rd.res_deel_bulkreserveerbaar IS NULL
UNION ALL -- Van bulk-objecten wordt <20><>n 'record' opgeleverd met de laagste res_deel_key
SELECT res_deel_omschrijving,
MIN (res_rsv_deel_key) res_rsv_deel_key,
COUNT (res_deel_omschrijving) selected
FROM res_deel r1, res_rsv_deel rrd1
WHERE r1.res_deel_key = rrd1.res_deel_key
AND rrd1.res_rsv_ruimte_key = p_key
AND res_deel_bulkreserveerbaar IS NOT NULL
GROUP BY res_deel_omschrijving;
CURSOR c2a
IS