MARX#81443 Digitaal "Account/licentie" mutatieformulier in Mareon
svn path=/Mareon/trunk/; revision=62922
This commit is contained in:
202
sql/Onces/marx24d.sql
Normal file
202
sql/Onces/marx24d.sql
Normal file
@@ -0,0 +1,202 @@
|
||||
--
|
||||
-- $Id$
|
||||
--
|
||||
-- Korte beschrijving wat het script doet
|
||||
-- Voor dbuser invullen: - indien script voor 1 klant is: 'MARX' (de klantcode, zoals vermeld in fac_version_cust)
|
||||
-- - script is voor meerdere klanten: 'AAXX' (de groepcode, zoals vermeld in fac_version_group)
|
||||
-- - script is voor meerdere klanten met naam volgens een bepaald patroon: '^AA|^ASMS|^GULU|^NMMS|^RABO|^ZKHM'
|
||||
--
|
||||
DEFINE thisfile = 'MARX24d.SQL'
|
||||
DEFINE dbuser = '^MARX'
|
||||
|
||||
SET ECHO ON
|
||||
SET DEFINE ON
|
||||
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
|
||||
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
|
||||
SPOOL &fcltlogfile
|
||||
WHENEVER SQLERROR EXIT;
|
||||
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
|
||||
WHENEVER SQLERROR CONTINUE;
|
||||
PROMPT &fcltcusterr
|
||||
SET DEFINE OFF
|
||||
|
||||
------ payload begin ------
|
||||
|
||||
-- MARX#81443 Digitaal "Account/licentie" mutatieformulier in Mareon
|
||||
-- Nieuwe stdmelding "Licentie/account mutatieformulier", vakgroep etc...
|
||||
|
||||
-- Kostenplaats zetten we uit, voor zowel FE (2) als FOBO (8) --> 2+8=10
|
||||
UPDATE ins_srtdiscipline
|
||||
SET ins_srtdiscipline_kostenklant = 10
|
||||
WHERE ins_srtdiscipline_key = 1;
|
||||
-- Nieuwe vakgroeptype, voor alleen leveranciers evt...
|
||||
INSERT INTO ins_tab_discipline (ins_discipline_key, ins_discipline_module, ins_discipline_omschrijving, ins_discipline_kpnverplicht, ins_srtdiscipline_key, ins_discipline_btw)
|
||||
SELECT 6, 'MLD', 'Mareon Aanvragen', 0, 1, 1 from dual;
|
||||
INSERT INTO mld_disc_params (mld_ins_discipline_key, mld_disc_params_factuurappr, mld_disc_params_factuurgrens, mld_disc_params_notify, mld_disc_params_opdr_kosten,
|
||||
mld_disc_params_directklaar, mld_disc_params_frontendprio, mld_disc_params_bonotify, mld_disc_params_fenotes, mld_disc_params_eigen_kp,
|
||||
mld_disc_params_startdatum, mld_disc_params_offerteauto, mld_disc_params_keten)
|
||||
SELECT 6, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0
|
||||
FROM dual;
|
||||
|
||||
-- Vakgroep gaan we hidden maken
|
||||
-- Selector mode vakgroep/melding voor de frontend. {0(=default)=vakgroep en melding (beide eerst te kiezen), 1=vakgroep readonly, 2=alleen melding}
|
||||
UPDATE fac_setting
|
||||
SET fac_setting_pvalue = '2'
|
||||
WHERE fac_setting_name = 'mld_selector_mode';
|
||||
|
||||
|
||||
DROP SEQUENCE MLD_S_MLD_STDMELDING_KEY;
|
||||
CREATE SEQUENCE MLD_S_MLD_STDMELDING_KEY START WITH 100 NOCACHE;
|
||||
|
||||
-- Nieuwe melding 'Licentie/account mutatieformulier'
|
||||
INSERT INTO mld_stdmelding (mld_ins_discipline_key, mld_stdmelding_key, mld_stdmelding_omschrijving, mld_stdmelding_subject, mld_stdmelding_t_uitvoertijd, mld_stdmelding_planbaar, mld_stdmelding_slabewaken, mld_stdmelding_notfrontend,
|
||||
mld_stdmelding_prseigen, mld_stdmelding_notify, alg_onrgoed_niveau, alg_org_obj_niveau, mld_stdmelding_freetext, mld_stdmelding_afmeldtext,
|
||||
mld_stdmelding_doublecheck, mld_stdmelding_kopieerbaar, mld_stdmelding_kto, mld_stdmelding_autoorder, mld_stdmelding_vereisdienst, mld_stdmelding_regime,
|
||||
mld_stdmelding_afhankelijk, mld_stdmelding_opdrtypevast, mld_stdmelding_directklaar, mld_stdmelding_kanverwijzen)
|
||||
SELECT 6, 2, 'Licentie/account mutatieformulier', 0, MLD_T_UITVOERTIJD(tijdsduur=>1,eenheid=>'D'), 1, 0, 0, 0, 0, 'R', -1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
|
||||
FROM dual;
|
||||
|
||||
-- Label "Contactgegevens t.b.v. facturatie"
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint, mld_kenmerk_default)
|
||||
SELECT 39, 33, 2, 'S', 10, NULL, 'Uw gegevens (t.b.v. facturatie)', NULL, 'fa-address-card' FROM DUAL;
|
||||
|
||||
-- Bedrijfnaam
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype, mld_srtkenmerk_lengte)
|
||||
VALUES (40, 'Bedrijfnaam', 'C', 50);
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 40, 40, 2, 'S', 12, 1, NULL, 'Juridische bedrijfsnaam / handelsnaam van uw bedrijf' FROM DUAL;
|
||||
|
||||
--Adres
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 41, 2, 2, 'S', 15, 1, 'Adres/Postbus', 'Straatnaam of postbus' FROM DUAL;
|
||||
-- Postcode
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 42, 3, 2, 'S', 18, 1, 'Postcode', 'Postcode' FROM DUAL;
|
||||
-- Plaats
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 43, 4, 2, 'S', 20, 1, 'Plaats', 'Plaatsnaam' FROM DUAL;
|
||||
-- Factuur mailadres
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 44, 18, 2, 'S', 22, 1, 'Factuur E-mail', 'Uw mailadres voor sturen van de factuur' FROM DUAL;
|
||||
|
||||
-- Evt. referentie/opdrachtnummer tbv facturatie
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype, mld_srtkenmerk_lengte)
|
||||
VALUES (41, 'Opdrachtnummer/referentienummer', 'C', 50);
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 45, 41, 2, 'S', 25, NULL, NULL, 'Uw evt. opdrachtnummer/referentienummer t.b.v. vermelden op de factuur' FROM DUAL;
|
||||
|
||||
-- Naam Contactpersoon
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht)
|
||||
SELECT 46, 1, 2, 'S', 30, 1 FROM DUAL;
|
||||
-- Contactpersoon telefoonnummer
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht)
|
||||
SELECT 47, 5, 2, 'S', 32, 1 FROM DUAL;
|
||||
|
||||
|
||||
-- Gewenste aantal accounts
|
||||
-- Label "Gewenste aantal accounts"
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint, mld_kenmerk_default)
|
||||
SELECT 48, 33, 2, 'S', 40, NULL, 'Mareon accounts/licenties', NULL, 'fa-lock-hashtag' FROM DUAL;
|
||||
|
||||
|
||||
INSERT INTO fac_usrtab (fac_usrtab_key, fac_usrtab_naam, fac_usrtab_omschrijving)
|
||||
VALUES(10,'Mareon accounts','Mareon accounts/licenties');
|
||||
INSERT INTO fac_usrdata(fac_usrtab_key,fac_usrdata_key, fac_usrdata_code, fac_usrdata_omschr, fac_usrdata_volgnr, fac_usrdata_prijs)
|
||||
VALUES (10, 44, '01-03', 'Maximaal 3 accounts', 3, 0);
|
||||
INSERT INTO fac_usrdata(fac_usrtab_key,fac_usrdata_key, fac_usrdata_code, fac_usrdata_omschr, fac_usrdata_volgnr, fac_usrdata_prijs)
|
||||
VALUES (10, 45, '04-05', 'Maximaal 5 accounts', 5, 167.58);
|
||||
INSERT INTO fac_usrdata(fac_usrtab_key,fac_usrdata_key, fac_usrdata_code, fac_usrdata_omschr, fac_usrdata_volgnr, fac_usrdata_prijs)
|
||||
VALUES (10, 46, '06-10', 'Maximaal 10 accounts', 10, 335.16);
|
||||
INSERT INTO fac_usrdata(fac_usrtab_key,fac_usrdata_key, fac_usrdata_code, fac_usrdata_omschr, fac_usrdata_volgnr, fac_usrdata_prijs)
|
||||
VALUES (10, 47, '11-25', 'Maximaal 25 accounts', 25, 584.88);
|
||||
|
||||
-- Dummy view eerst, zodat fac_domein kan worden aangemaakt.
|
||||
CREATE OR REPLACE VIEW marx_v_accounts_staffel (marx_v_accounts_staffel_key, marx_v_accounts_staffel_omschr, marx_v_accounts_staffel_aantal, marx_v_accounts_staffel_kosten)
|
||||
AS
|
||||
SELECT 1, 'MB was here', 0, 0 FROM DUAL;
|
||||
|
||||
INSERT INTO fac_kenmerkdomein ( fac_kenmerkdomein_key, fac_kenmerkdomein_module, fac_kenmerkdomein_omschrijving, fac_kenmerkdomein_objectnaam,
|
||||
fac_kenmerkdomein_kolomnaam ,fac_kenmerkdomein_kolomtxt)
|
||||
SELECT 8, 'MLD', 'Mareon accounts', 'MARX_V_ACCOUNTS_STAFFEL', 'MARX_V_ACCOUNTS_STAFFEL_KEY', 'MARX_V_ACCOUNTS_STAFFEL_OMSCHR' FROM DUAL;
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
|
||||
SELECT 42, 'Aantal accounts', 'R', 8 FROM DUAL;
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht)
|
||||
SELECT 49, 42, 2, 'S', 45, 1 FROM DUAL;
|
||||
|
||||
-- Ondertekening
|
||||
-- Label "Ondertekening"
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint, mld_kenmerk_default)
|
||||
SELECT 50, 33, 2, 'S', 50, NULL, 'Ondertekening', NULL, 'fa-file-signature' FROM DUAL;
|
||||
|
||||
-- Vaste tekst "Opdrachtgever akkoord met artikel 4 van gebruiksvoorwaarden...."
|
||||
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype)
|
||||
VALUES (43, 'Gebruiksvoorwaarden', 'L');
|
||||
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint, mld_kenmerk_default)
|
||||
SELECT 51, 43, 2, 'S', 52, NULL, 'Akkoord met artikel 4 van de gebruiksvooraarden', 'Opdrachtgever verklaart kennis te hebben vernomen van de Gebruiksvoorwaarden Mareon (artikel 4), november 2023 (te vinden in Mareon portaal) en met deze voorwaarden akkoord te gaan.', NULL FROM DUAL;
|
||||
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype)
|
||||
VALUES (44, 'Akkoord', 'V');
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint, mld_kenmerk_default)
|
||||
SELECT 52, 44, 2, 'S', 55, 1, 'Akkoord met artikel 4 van de gebruiksvoorwaarden', 'Opdrachtgever verklaart kennis te hebben vernomen van de Gebruiksvoorwaarden Mareon (artikel 4), november 2023 (te vinden in Mareon portaal) en met deze voorwaarden akkoord te gaan.', NULL FROM DUAL;
|
||||
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint)
|
||||
SELECT 53, 1, 2, 'S', 57, 1, 'Naam ondertekenaar', 'Vul hier de naam (en evt functie) van de ondertekenaar in' FROM DUAL;
|
||||
|
||||
-- Paraaf/handtekening
|
||||
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype, mld_srtkenmerk_dimensie)
|
||||
VALUES (45, 'Paraaf', 'F', 'xxx');
|
||||
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_verplicht, mld_kenmerk_omschrijving, mld_kenmerk_hint, mld_kenmerk_default)
|
||||
SELECT 54, 45, 2, 'S', 60, 1, 'Paraaf', 'Paraaf door tekengemachtigde', NULL FROM DUAL;
|
||||
|
||||
-- Rechten uitdelen aan:
|
||||
-- 1. de hoofdgebruiker (en evt andere beheerders) van elke leverancier, oftewel aan de fac_groep "Leverancier Beheerder" (key 11)
|
||||
-- 2. elke woco-medewerker, oftewel aan de fac_groep "Woco Read" (key 100)
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write, fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
SELECT 11, fac_functie_key, 6, -1,-1,-1,-1
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_MLDUSE';
|
||||
INSERT INTO fac_groeprechten (fac_groep_key, fac_functie_key, ins_discipline_key, fac_gebruiker_alg_level_read, fac_gebruiker_alg_level_write, fac_gebruiker_prs_level_read, fac_gebruiker_prs_level_write)
|
||||
SELECT 100, fac_functie_key, 6, -1,-1,-1,-1
|
||||
FROM fac_functie
|
||||
WHERE fac_functie_code = 'WEB_MLDUSE';
|
||||
|
||||
UPDATE fac_menu
|
||||
SET fac_menu_alturl = 'appl/mld/mld_melding.asp?disc=6' || '&' || 'mld_defaultstdmelding=2',
|
||||
fac_functie_key = (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_MLDUSE')
|
||||
WHERE fac_menu_altgroep = 1
|
||||
AND fac_menu_alturl like 'https://marx.mareon%.nl/cust/MARX/flexfiles/menu/Mutatieformulier Mareon accounts nov2023-bijlage.pdf';
|
||||
|
||||
-- Alle menutaken die nog geen extra autorisatie hebben, uit zelfservice maar in 1 klap (1x) allemaal hidden maken (via WEB_USER50).
|
||||
UPDATE fac_menu
|
||||
SET fac_functie_key = (select fac_functie_key from fac_functie where fac_functie_code = 'WEB_USER50')
|
||||
WHERE fac_menu_altgroep = 0
|
||||
AND fac_functie_key IS NULL;
|
||||
and fac_functie_key IS NULL;
|
||||
|
||||
-- Notificatie van afmelden/gereedmelden van melding zetten we op bitje 3: in portaal bij berichten en een mail.
|
||||
UPDATE fac_srtnotificatie
|
||||
SET fac_srtnotificatie_mode = 3
|
||||
WHERE fac_srtnotificatie_code = 'MLDAFM';
|
||||
-- En de 2 MLD notificaties MLDMEN (mode = 3) en MLDNW3 (mode = 2) gaan we gewoon maar 'ns uitzetten...
|
||||
UPDATE fac_srtnotificatie
|
||||
SET fac_srtnotificatie_mode = 0
|
||||
WHERE fac_srtnotificatie_code IN ('MLDMEN','MLDNW3');
|
||||
|
||||
|
||||
|
||||
|
||||
------ payload end ------
|
||||
|
||||
SET DEFINE OFF
|
||||
BEGIN adm.systrackscriptId ('$Id$', 1); END;
|
||||
/
|
||||
|
||||
COMMIT;
|
||||
SET ECHO OFF
|
||||
SPOOL OFF
|
||||
SET DEFINE ON
|
||||
PROMPT Logfile of this upgrade is: &fcltlogfile
|
||||
272
sql/mareon.sql
272
sql/mareon.sql
@@ -10268,6 +10268,269 @@ END mar_update_weiger_returncodes;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
-- MARX#81443 Digitaal "Account/licentie" mutatieformulier in Mareon
|
||||
|
||||
CREATE OR REPLACE VIEW marx_v_accounts_staffel (marx_v_accounts_staffel_key, marx_v_accounts_staffel_omschr, marx_v_accounts_staffel_aantal, marx_v_accounts_staffel_kosten)
|
||||
AS
|
||||
SELECT fac_usrdata_key, fac_usrdata_code || ': ' || fac_usrdata_omschr || ' (EUR. ' || fac_usrdata_prijs || ' per kwartaal)', fac_usrdata_volgnr, fac_usrdata_prijs
|
||||
FROM fac_usrdata
|
||||
WHERE fac_usrtab_key = 10
|
||||
AND fac_usrdata_verwijder IS NULL;
|
||||
|
||||
CREATE OR REPLACE VIEW marx_v_aantalaccounts_woco
|
||||
AS
|
||||
SELECT prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
accounts_ingebruik_no_apikey,
|
||||
accounts_ingebruik_with_apikey,
|
||||
accounts_ingebruik_no_apikey + accounts_ingebruik_with_apikey totaal_aantal_accounts,
|
||||
accounts_ingebruik_no_apikey + 0 aantal_accounts_inuse,
|
||||
accounts_geregistreerd,
|
||||
COALESCE(accounts_geregistreerd , '1')- accounts_ingebruik_no_apikey aantal_accounts_beschikbaar,
|
||||
account_registratiedatum,
|
||||
(SELECT marx_v_accounts_staffel_kosten FROM marx_v_accounts_staffel WHERE marx_v_accounts_staffel_aantal = accounts_geregistreerd) account_kosten_per_kwartaal
|
||||
FROM
|
||||
(
|
||||
SELECT b.prs_bedrijf_key,
|
||||
b.prs_bedrijf_naam,
|
||||
( SELECT count(*)
|
||||
FROM mar_v_woco_perslid p
|
||||
WHERE p.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND p.prs_perslid_apikey IS NULL -- Hoofdaccounts met APIkey (tech reden) sluiten we uit, rekenen we niet mee.
|
||||
)
|
||||
accounts_ingebruik_no_apikey,
|
||||
( SELECT count(*)
|
||||
FROM mar_v_woco_perslid p
|
||||
WHERE p.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND p.prs_perslid_apikey IS NOT NULL -- Hoofdaccounts met APIkey (tech reden) sluiten we uit, rekenen we niet mee.
|
||||
)
|
||||
accounts_ingebruik_with_apikey,
|
||||
( select prs_kenmerklink_waarde
|
||||
from prs_kenmerklink
|
||||
where prs_kenmerk_key = 56
|
||||
and prs_link_key = b.prs_bedrijf_key
|
||||
and prs_kenmerklink_niveau = 'B'
|
||||
and prs_kenmerklink_verwijder is null
|
||||
)
|
||||
accounts_geregistreerd,
|
||||
(select prs_kenmerklink_aanmaak from prs_kenmerklink
|
||||
where prs_kenmerk_key = 56
|
||||
and prs_link_key = b.prs_bedrijf_key
|
||||
and prs_kenmerklink_niveau = 'B'
|
||||
and prs_kenmerklink_verwijder is null
|
||||
)
|
||||
account_registratiedatum
|
||||
FROM mar_v_opdrachtgevers b
|
||||
)
|
||||
WHERE accounts_ingebruik_no_apikey >= 1
|
||||
AND accounts_ingebruik_with_apikey > 0;
|
||||
|
||||
|
||||
CREATE OR REPLACE VIEW marx_v_aantalaccounts_lev
|
||||
AS
|
||||
SELECT prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
accounts_ingebruik_no_apikey,
|
||||
accounts_ingebruik_with_apikey,
|
||||
accounts_ingebruik_no_apikey + accounts_ingebruik_with_apikey totaal_aantal_accounts,
|
||||
accounts_ingebruik_no_apikey + 1 aantal_accounts_inuse,
|
||||
accounts_geregistreerd,
|
||||
COALESCE(accounts_geregistreerd , '3')- accounts_ingebruik_no_apikey - 1 aantal_accounts_beschikbaar,
|
||||
account_registratiedatum,
|
||||
(SELECT marx_v_accounts_staffel_kosten FROM marx_v_accounts_staffel WHERE marx_v_accounts_staffel_aantal = accounts_geregistreerd) account_kosten_per_kwartaal
|
||||
FROM
|
||||
(
|
||||
SELECT b.prs_bedrijf_naam,
|
||||
b.prs_bedrijf_key,
|
||||
( SELECT count(*)
|
||||
FROM prs_contactpersoon cp, prs_perslid p
|
||||
WHERE cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND cp.prs_perslid_key IS NOT NULL
|
||||
AND p.prs_perslid_key = cp.prs_perslid_key
|
||||
AND p.prs_perslid_apikey IS NULL -- Hoofdaccounts met APIkey die ook gedeeld KUNNEN worden bij meerdere bedrijven (tech reden) sluiten we maar even uit.
|
||||
)
|
||||
accounts_ingebruik_no_apikey,
|
||||
( SELECT count(*)
|
||||
FROM prs_contactpersoon cp, prs_perslid p
|
||||
WHERE cp.prs_bedrijf_key = b.prs_bedrijf_key
|
||||
AND cp.prs_perslid_key IS NOT NULL
|
||||
AND p.prs_perslid_key = cp.prs_perslid_key
|
||||
AND p.prs_perslid_apikey IS NOT NULL -- Alleen de hoofdaccounts met APIkey
|
||||
)
|
||||
accounts_ingebruik_with_apikey,
|
||||
( select prs_kenmerklink_waarde
|
||||
from prs_kenmerklink
|
||||
where prs_kenmerk_key = 56
|
||||
and prs_link_key = b.prs_bedrijf_key
|
||||
and prs_kenmerklink_niveau = 'B'
|
||||
and prs_kenmerklink_verwijder is null
|
||||
)
|
||||
accounts_geregistreerd,
|
||||
(select prs_kenmerklink_aanmaak from prs_kenmerklink
|
||||
where prs_kenmerk_key = 56
|
||||
and prs_link_key = b.prs_bedrijf_key
|
||||
and prs_kenmerklink_niveau = 'B'
|
||||
and prs_kenmerklink_verwijder is null
|
||||
)
|
||||
account_registratiedatum
|
||||
FROM prs_bedrijf b
|
||||
WHERE b.prs_bedrijf_intern IS NULL
|
||||
AND b.prs_bedrijf_verwijder IS NULL
|
||||
);
|
||||
|
||||
CREATE OR REPLACE VIEW marx_v_rap_licentiekosten
|
||||
AS
|
||||
SELECT 'Opdrachtgever' prs_bedrijf_type,
|
||||
prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
accounts_ingebruik_no_apikey,
|
||||
accounts_ingebruik_with_apikey,
|
||||
totaal_aantal_accounts,
|
||||
aantal_accounts_inuse,
|
||||
accounts_geregistreerd,
|
||||
aantal_accounts_beschikbaar,
|
||||
account_registratiedatum,
|
||||
account_kosten_per_kwartaal
|
||||
FROM marx_v_aantalaccounts_woco
|
||||
UNION ALL
|
||||
SELECT 'Opdrachtnemer' prs_bedrijf_type,
|
||||
prs_bedrijf_key,
|
||||
prs_bedrijf_naam,
|
||||
accounts_ingebruik_no_apikey,
|
||||
accounts_ingebruik_with_apikey,
|
||||
totaal_aantal_accounts,
|
||||
aantal_accounts_inuse,
|
||||
accounts_geregistreerd,
|
||||
aantal_accounts_beschikbaar,
|
||||
account_registratiedatum,
|
||||
account_kosten_per_kwartaal
|
||||
FROM marx_v_aantalaccounts_lev;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE marx_post_mld_melding_save (p_mld_melding_key IN NUMBER)
|
||||
IS
|
||||
v_mld_stdmelding_key NUMBER(10);
|
||||
v_prs_perslid_key NUMBER(10);
|
||||
v_woco_bedrijf_key NUMBER(10);
|
||||
v_lev_bedrijf_key NUMBER(10);
|
||||
v_max_accounts NUMBER(10);
|
||||
v_aant_account_inuse NUMBER(10);
|
||||
v_mag_accounts_aanpassen NUMBER(1);
|
||||
v_mld_melding_opmerking VARCHAR2(255);
|
||||
v_prs_bedrijf_naam VARCHAR2(255);
|
||||
BEGIN
|
||||
|
||||
SELECT mld_stdmelding_key
|
||||
INTO v_mld_stdmelding_key
|
||||
FROM mld_melding m
|
||||
WHERE m.mld_melding_key = p_mld_melding_key;
|
||||
|
||||
IF v_mld_stdmelding_key = 2
|
||||
THEN
|
||||
-- Standaard melding 'Licentie/account mutatieformulier'
|
||||
-- Dan gaan we nog een POST-actie doen: update van aantal accounts van betreffende bedrijf...
|
||||
|
||||
SELECT m.prs_perslid_key, acc.marx_v_accounts_staffel_aantal
|
||||
INTO v_prs_perslid_key, v_max_accounts
|
||||
FROM mld_melding m, mld_kenmerkmelding km, marx_v_accounts_staffel acc
|
||||
WHERE m.mld_melding_key = p_mld_melding_key
|
||||
AND km.mld_melding_key = m.mld_melding_key
|
||||
AND km.mld_kenmerk_key = 49
|
||||
AND fac.safe_to_number(km.mld_kenmerkmelding_waarde) = acc.marx_v_accounts_staffel_key;
|
||||
|
||||
-- Is het de opdrachtgever die accounts aanvraagt?
|
||||
SELECT MAX(prs_bedrijf_key)
|
||||
INTO v_woco_bedrijf_key
|
||||
FROM mar_v_woco_perslid
|
||||
WHERE prs_perslid_key = v_prs_perslid_key;
|
||||
|
||||
v_mag_accounts_aanpassen := 0;
|
||||
IF v_woco_bedrijf_key IS NOT NULL
|
||||
THEN
|
||||
-- WOCO Bedrijf is gevonden
|
||||
-- Eerst nog check of gekozen/gewenste max. accounts niet lager is dan het aantal actieve gebruikers bij de WOCO nu, dat mag niet!
|
||||
SELECT aantal_accounts_inuse
|
||||
INTO v_aant_account_inuse
|
||||
FROM marx_v_aantalaccounts_woco
|
||||
WHERE prs_bedrijf_key = v_woco_bedrijf_key;
|
||||
|
||||
IF v_max_accounts >= v_aant_account_inuse
|
||||
THEN
|
||||
v_mag_accounts_aanpassen := 1;
|
||||
END IF;
|
||||
ELSE
|
||||
-- Woco niet gevonden, dan kan het nog de leverancier LEV zijn...
|
||||
|
||||
-- Omdat de v_prs_perslid_key vaker bij een andere leverancier (bij contactpersoon) kan zijn geregsitreerd, mn (of in marx uitsluitend) als die apikey heeft (tbv shared views),
|
||||
-- zijn we op zoek naar de contactpersoon die het eerste bij v_prs_perslid_key is aangemaakt (origineel), vandaar MIN:
|
||||
|
||||
SELECT MAX(cp.prs_bedrijf_key)
|
||||
INTO v_lev_bedrijf_key
|
||||
FROM prs_contactpersoon cp
|
||||
WHERE cp.prs_contactpersoon_key = ( SELECT MIN(cp2.prs_contactpersoon_key)
|
||||
FROM prs_contactpersoon cp2
|
||||
WHERE cp2.prs_perslid_key = v_prs_perslid_key
|
||||
AND cp2.prs_contactpersoon_verwijder IS NULL
|
||||
);
|
||||
|
||||
IF v_lev_bedrijf_key IS NOT NULL
|
||||
THEN
|
||||
-- LEV Bedrijf is gevonden
|
||||
-- Eerst nog check of gekozen/gewenste max. accounts niet lager is dan het aantal actieve gebruikers bij de LEV nu, dat mag niet!
|
||||
SELECT aantal_accounts_inuse
|
||||
INTO v_aant_account_inuse
|
||||
FROM marx_v_aantalaccounts_lev
|
||||
WHERE prs_bedrijf_key = v_lev_bedrijf_key;
|
||||
|
||||
IF v_max_accounts >= v_aant_account_inuse
|
||||
THEN
|
||||
v_mag_accounts_aanpassen := 1;
|
||||
END IF;
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
IF v_woco_bedrijf_key IS NOT NULL OR v_lev_bedrijf_key IS NOT NULL
|
||||
THEN
|
||||
IF v_mag_accounts_aanpassen = 1
|
||||
THEN
|
||||
|
||||
SELECT prs_bedrijf_naam
|
||||
INTO v_prs_bedrijf_naam
|
||||
FROM prs_bedrijf
|
||||
WHERE prs_bedrijf_key = COALESCE(v_woco_bedrijf_key, v_lev_bedrijf_key);
|
||||
|
||||
prs.upsertkenmerk (56, COALESCE(v_woco_bedrijf_key, v_lev_bedrijf_key), v_max_accounts);
|
||||
|
||||
-- We gaan de melding direct afsluiten/afmelden
|
||||
IF v_woco_bedrijf_key IS NOT NULL
|
||||
THEN
|
||||
v_mld_melding_opmerking := 'Uw melding is afgehandeld - het aantal accounts is voor bedrijf ' || v_prs_bedrijf_naam || ' aangepast naar het maximum van: ' || v_max_accounts || '. Mail Mareon Helpdesk de gebruikersnamen/mailadressen voor de nieuwe accounts door, u krijgt na verwerking ervan een bevestigingsberichtje terug.';
|
||||
END IF;
|
||||
IF v_lev_bedrijf_key IS NOT NULL
|
||||
THEN
|
||||
v_mld_melding_opmerking := 'Uw melding is afgehandeld - het aantal accounts is voor bedrijf ' || v_prs_bedrijf_naam || ' aangepast naar het maximum van: ' || v_max_accounts || '.';
|
||||
END IF;
|
||||
ELSE
|
||||
-- We gaan de melding direct afsluiten/afmelden, ook als het aantal niet kan/mag worden aangepast.
|
||||
v_mld_melding_opmerking := 'Uw melding is afgehandeld - bedrijf ' || v_prs_bedrijf_naam || ' heeft op dit moment te veel accounts in gebruik (aantal = ' || v_aant_account_inuse || '): het aantal accounts kan daarom niet worden aangepast naar maximum aantal van ' || v_max_accounts || '.';
|
||||
END IF;
|
||||
ELSE
|
||||
-- We gaan de melding direct afsluiten/afmelden, ook als er geen bedrijf kan worden gevonden (wat eigenlijk niet kan)
|
||||
v_mld_melding_opmerking := 'Uw melding is afgehandeld - bedrijf is niet gevonden, daardoor kan het aantal accounts niet aangepast worden.';
|
||||
END IF;
|
||||
UPDATE mld_melding
|
||||
SET mld_melding_opmerking = v_mld_melding_opmerking,
|
||||
mld_melding_status = 5
|
||||
WHERE mld_melding_key = p_mld_melding_key;
|
||||
fac.trackaction ('MLDAFM', p_mld_melding_key, 4, NULL, 'Uw melding is gereed gemeld');
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
-- Webservice 7. View tbv webservice voor Leverancier (SIDB-facturen)
|
||||
@@ -14654,10 +14917,11 @@ BEGIN
|
||||
IF v_prs_perslid_key IS NULL
|
||||
THEN
|
||||
-- Aanmaken en koppelen perslid alleen als aantal accounts nog niet aan max. zit, dat gaan we hier checken ...
|
||||
SELECT COUNT (*)
|
||||
-- MARX#81443 Digitaal "Account/licentie" mutatieformulier in Mareon, we maken nu gebruik van nieuw view
|
||||
SELECT aantal_accounts_inuse
|
||||
INTO v_aantal_accounts_nu
|
||||
FROM prs_contactpersoon
|
||||
WHERE prs_bedrijf_key = v_prs_bedrijf_key AND prs_perslid_key IS NOT NULL AND prs_contactpersoon_verwijder IS NULL;
|
||||
FROM marx_v_aantalaccounts_lev
|
||||
WHERE prs_bedrijf_key = v_prs_bedrijf_key;
|
||||
|
||||
-- MARX#63257: Het aantal maximum accounts van 3 stuks per leverancier kunnen instellen
|
||||
SELECT prs_bedrijf_maxaccounts
|
||||
@@ -14667,7 +14931,7 @@ BEGIN
|
||||
|
||||
IF v_aantal_accounts_nu + 1 > v_max_accounts
|
||||
THEN
|
||||
v_result := v_prefix || 'Het maximum aantal accounts van ' || v_max_accounts || ' is al in gebruik';
|
||||
v_result := v_prefix || 'Het maximum aantal accounts van ' || v_max_accounts || ' is al in gebruik. Via menutaak "Mutatieformulier Accounts" kun u desgewenst zelf extra accounts/licenties aanmaken';
|
||||
END IF;
|
||||
END IF;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user