<% /*
     $Revision$
     $Id$
*/

mgt = {
        clone_authorization:
            function (new_disc_key, org_disc_key)
            {
              var sql = "INSERT INTO fac_groeprechten"
                      + " ( fac_groep_key, fac_functie_key, ins_discipline_key"
                      + " , fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_read"
                      + " , fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_write"
                      + " )"
                      + " SELECT fac_groep_key, fac_functie_key, " + new_disc_key
                      + "      , fac_gebruiker_prs_level_read, fac_gebruiker_alg_level_read"
                      + "      , fac_gebruiker_prs_level_write, fac_gebruiker_alg_level_write"
                      + "   FROM fac_groeprechten"
                      + "  WHERE ins_discipline_key = " + org_disc_key;
              Oracle.Execute(sql);
            },

        clone_articles:
            function (new_disc_key, org_disc_key)
            { // Artikelen binnen dezelfde catalogus (discipline) kopiëren.
              // Artikelen kunnen in verschillende artikelgroepen zitten. Deze artikelgroepen kopieren waarbij de omschrijving hetzelfde blijft.
              var sql = "INSERT INTO bes_srtgroep (ins_discipline_key"
                      + "                        , bes_srtgroep_omschrijving"
                      + "                        , bes_srtgroep_volgnr"
                      + "                        , prs_kostensoort_key)"
                      + "            SELECT " + new_disc_key
                      + "                 , bes_srtgroep_omschrijving"
                      + "                 , bes_srtgroep_volgnr"
                      + "                 , prs_kostensoort_key"
                      + "              FROM bes_srtgroep"
                      + "             WHERE ins_discipline_key = " + org_disc_key
                      + "               AND bes_srtgroep_verwijder IS NULL";
              Oracle.Execute(sql);

              // De gekopieerde artikelen kunnen nu dezelfde omschrijving en nr behouden omdat het onder een ander artikelgroep valt als het orgineel.
              sql = "SELECT sg1.bes_srtgroep_key org_groep"
                  + "     , sg2.bes_srtgroep_key new_groep"
                  + "  FROM bes_srtgroep sg1"
                  + "     , bes_srtgroep sg2"
                  + " WHERE sg1.bes_srtgroep_omschrijving = sg2.bes_srtgroep_omschrijving"
                  + "   AND sg1.ins_discipline_key = " + org_disc_key
                  + "   AND sg2.ins_discipline_key = " + new_disc_key
                  + "   AND sg1.bes_srtgroep_verwijder IS NULL"
                  + "   AND sg2.bes_srtgroep_verwijder IS NULL";
              var oRs = Oracle.Execute(sql);
              while (!oRs.eof)
              {
                var org_groep = oRs("org_groep").Value;
                var new_groep = oRs("new_groep").Value;
                sql = "INSERT INTO bes_srtdeel(bes_srtgroep_key"
                    + "                      , bes_srtdeel_omschrijving"
                    + "                      , bes_srtdeel_opmerking"
                    + "                      , bes_srtdeel_aanmaak"
                    + "                      , bes_srtdeel_volgnr"
                    + "                      , bes_srtdeel_btw"
                    + "                      , bes_srtdeel_eenheid"
                    + "                      , bes_srtdeel_dimensie"
                    + "                      , bes_srtdeel_preview"
                    + "                      , bes_srtdeel_nr"
                    + "                      , prs_bedrijf_key"
                    + "                      , bes_srtdeel_vervaldatum"
                    + "                      , bes_srtdeel_image"
                    + "                      , bes_srtdeel_details_loc"
                    + "                      , bes_srtdeel_veelvoud"
                    + "                      , bes_srtdeel_minimum"
                    + "                      , bes_srtdeel_maximum"
                    + "                      , bes_staffeltabel_key"
                    + "                      , bes_srtdeel_prsflex"
                    + "                      , bes_srtdeel_voorraadmin"
                    + "                      , bes_srtdeel_voorraadmax"
                    + "                      , bes_srtdeel_margepct"
                    + "                      , bes_srtdeel_wijzigdagen"
                    + "                      , bes_srtdeel_annuleerdagen"
                    + "                      , bes_srtdeel_depotverdeelpct"
                    + "                      , bes_srtdeel_notitie"
                    + "                      , bes_srtdeel_maxbestel"
                    + "                      , bes_srtdeel_voorraadfactor"
                    + "                      , ins_srtdeel_key)"
                    + "      SELECT " + new_groep
                    + "           , sd.bes_srtdeel_omschrijving"
                    + "           , sd.bes_srtdeel_opmerking"
                    + "           , sd.bes_srtdeel_aanmaak"
                    + "           , sd.bes_srtdeel_volgnr"
                    + "           , sd.bes_srtdeel_btw"
                    + "           , sd.bes_srtdeel_eenheid"
                    + "           , sd.bes_srtdeel_dimensie"
                    + "           , sd.bes_srtdeel_preview"
                    + "           , sd.bes_srtdeel_nr"
                    + "           , sd.prs_bedrijf_key"
                    + "           , sd.bes_srtdeel_vervaldatum"
                    + "           , sd.bes_srtdeel_image"
                    + "           , sd.bes_srtdeel_details_loc"
                    + "           , sd.bes_srtdeel_veelvoud"
                    + "           , sd.bes_srtdeel_minimum"
                    + "           , sd.bes_srtdeel_maximum"
                    + "           , sd.bes_staffeltabel_key"
                    + "           , sd.bes_srtdeel_prsflex"
                    + "           , sd.bes_srtdeel_voorraadmin"
                    + "           , sd.bes_srtdeel_voorraadmax"
                    + "           , sd.bes_srtdeel_margepct"
                    + "           , sd.bes_srtdeel_wijzigdagen"
                    + "           , sd.bes_srtdeel_annuleerdagen"
                    + "           , sd.bes_srtdeel_depotverdeelpct"
                    + "           , sd.bes_srtdeel_notitie"
                    + "           , sd.bes_srtdeel_maxbestel"
                    + "           , sd.bes_srtdeel_voorraadfactor"
                    + "           , sd.ins_srtdeel_key"
                    + "        FROM bes_srtdeel sd"
                    + "           , bes_srtgroep sg"
                    + "       WHERE sg.bes_srtgroep_key = sd.bes_srtgroep_key"
                    + "         AND sg.ins_discipline_key = " + org_disc_key
                    + "         AND sg.bes_srtgroep_key = " + org_groep
                    + "         AND (sd.bes_srtdeel_vervaldatum IS NULL"
                    + "           OR sd.bes_srtdeel_vervaldatum >= SYSDATE)" //TO_DATE('26-05-2025 00:00', 'DD-MM-YYYY HH24:MI'))"
                    + "         AND sd.bes_srtdeel_verwijder IS NULL";
                Oracle.Execute(sql);
                oRs.MoveNext();
              }

            }
    }




%>
