-- Customer specific once-script 
--
-- (c) 2012 SG|facilitor bv
-- $Revision$
-- $Id$
--
-- Support: +31 53 4800700
SET ECHO ON
SPOOL xPNBR#27924.lst
SET DEFINE OFF

DECLARE
   CURSOR c_rrr
   IS
      SELECT res_rsv_ruimte_key, alg_ruimte_key
        FROM res_rsv_ruimte rrr
       WHERE res_rsv_ruimte_verwijder IS NULL
         AND res_rsv_ruimte_tot < TRUNC (SYSDATE + 1);

   CURSOR c_rrd (
      c_res_rsv_ruimte_key IN NUMBER)
   IS
      SELECT rd.res_rsv_deel_key
        FROM res_rsv_deel rd
       WHERE rd.res_rsv_deel_verwijder IS NULL
         AND rd.res_rsv_ruimte_key = c_res_rsv_ruimte_key;

   CURSOR c_rra (
      c_res_rsv_ruimte_key IN NUMBER)
   IS
      SELECT ra.res_rsv_artikel_key
        FROM res_rsv_artikel ra
       WHERE ra.res_rsv_artikel_verwijder IS NULL
         AND ra.res_rsv_ruimte_key = c_res_rsv_ruimte_key;

   v_ruimte_prijs    NUMBER (10, 3);
   v_deel_prijs      NUMBER (10, 3);
   v_artikel_prijs   NUMBER (10, 3);
   v_count           NUMBER (10);
BEGIN
   FOR rec_rrr IN c_rrr
   LOOP
      BEGIN
         IF rec_rrr.alg_ruimte_key IS NULL
         THEN
            v_ruimte_prijs := res.getruimteprijs (rec_rrr.res_rsv_ruimte_key);

            UPDATE res_rsv_ruimte
               SET res_status_bo_key = 5,
                   res_rsv_ruimte_prijs = v_ruimte_prijs
             WHERE res_rsv_ruimte_key = rec_rrr.res_rsv_ruimte_key
               AND res_status_bo_key <> 6
               AND res_status_bo_key <> 5;

            -- niet notificeren
            fac.trackaction ('#RESAFM',
                             rec_rrr.res_rsv_ruimte_key,
                             4,
                             NULL,
                             NULL);
         END IF;

         v_count := 0;

         FOR rec_rrd IN c_rrd (rec_rrr.res_rsv_ruimte_key)
         LOOP
            BEGIN
               v_deel_prijs := res.getdeelprijs (rec_rrd.res_rsv_deel_key);

               UPDATE res_rsv_deel
                  SET res_status_bo_key = 5,
                      res_rsv_deel_prijs = v_deel_prijs
                WHERE res_rsv_deel_key = rec_rrd.res_rsv_deel_key
                  AND res_status_bo_key <> 6
                  AND res_status_bo_key <> 5;

               IF v_count = 0
               THEN
                  fac.trackaction ('#RESAFM',
                                   rec_rrr.res_rsv_ruimte_key,
                                   4,
                                   NULL,
                                   'Voorziening(en) afgemeld');
                  v_count := 1;
               END IF;
            END;
         END LOOP;

         v_count := 0;

         FOR rec_rra IN c_rra (rec_rrr.res_rsv_ruimte_key)
         LOOP
            BEGIN
               v_artikel_prijs :=
                  res.getartikelprijs (rec_rra.res_rsv_artikel_key);

               UPDATE res_rsv_artikel rra
                  SET res_status_bo_key = 5,
                      res_rsv_artikel_inkoopprijs =
                         (SELECT res_artikel_inkoopprijs
                            FROM res_artikel ra
                           WHERE ra.res_artikel_key = rra.res_artikel_key),
                      res_rsv_artikel_btw =
                         (SELECT res_artikel_btw
                            FROM res_artikel ra
                           WHERE ra.res_artikel_key = rra.res_artikel_key),
                      res_rsv_artikel_prijs = v_artikel_prijs
                WHERE res_rsv_artikel_key = rec_rra.res_rsv_artikel_key
                  AND res_status_bo_key <> 6
                  AND res_status_bo_key <> 5;

               IF v_count = 0
               THEN
                  fac.trackaction ('#RESAFM',
                                   rec_rrr.res_rsv_ruimte_key,
                                   4,
                                   NULL,
                                   'Catering afgemeld');
                  v_count := 1;
               END IF;
            END;
         END LOOP;
      END;
   END LOOP;

   COMMIT;
END;
/


BEGIN adm.systrackscript('$Workfile: PNBR#27924 $', '$Revision$', 1); END;
/

COMMIT;

SPOOL OFF