MARX#87350 Premium uitbreiding in Mareon door leverancier zelf te regelen

svn path=/Mareon/trunk/; revision=68090
This commit is contained in:
Marcel Bourseau
2025-02-19 21:00:36 +00:00
parent 08db7f33df
commit ab7496b954
2 changed files with 148 additions and 1 deletions

View File

@@ -297,6 +297,93 @@ SET fac_usrdata_omschr = '7454.42', fac_usrdata_prijs = 0.19
WHERE fac_usrtab_key = 1 AND fac_usrdata_key = 56 AND fac_usrdata_code = '$FEE_CRE_30001';
-- MARX#87350 Premium uitbreiding in Mareon door leverancier zelf te regelen
-- Nieuwe melding 'Mareon Premium / toevoegen opdrachtgever'
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, 3, 'Mareon Premium/uitbreiden met opdrachtgever', 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 "Uw contactgegevens"
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 60, 33, 3, 'S', 10, NULL, 'Uw contactgegevens', NULL, 'fa-address-card' FROM DUAL;
-- Bedrijfnaam
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 61, 40, 3, '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 62, 2, 3, '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 63, 3, 3, '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 64, 4, 3, 'S', 20, 1, 'Plaats', 'Plaatsnaam' 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 65, 1, 3, '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 66, 5, 3, 'S', 32, 1 FROM DUAL;
-- Label "Keuze opdrachtgever t.b.v. koppelen via Mareon Premium"
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 67, 33, 3, 'S', 40, NULL, 'Keuze opdrachtgever t.b.v. koppelen via Premium', NULL, 'fa-lock-hashtag' FROM DUAL;
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype)
SELECT 51, 'Let op', 'L' FROM DUAL;
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_default)
SELECT 73, 51, 3, 'S', 42, '<i>Controleer uw keuze, verifieer dat u de juiste opdrachtgever selecteert. <hr/> <br/> Na het opslaan van deze melding wordt Mareon Premium <b>direct</b> ingeschakeld, waarmee de koppeling meteen is geactiveerd. <hr/><br/> De opdrachtverstrekking vanuit de geselecteerde opdrachtgever verloopt dan per direct naar uw (ERP)systeem</i>' FROM DUAL;
-- Even een dummy defintie van de view zodat het kenmerk domein kan worden aangemaakt
CREATE OR REPLACE VIEW marx_v_mijn_OPG_geen_Premium
(prs_bedrijf_bedrijf_key, w_l_prs_bedrijf_omschr, w_prs_perslid_key, l_prs_bedrijf_key, mijn_OPG_Premium_datum)
AS
SELECT 1, 'Dummy', 2, 3, NULL FROM DUAL;
INSERT INTO fac_kenmerkdomein ( fac_kenmerkdomein_key, fac_kenmerkdomein_module, fac_kenmerkdomein_omschrijving, fac_kenmerkdomein_objectnaam,
fac_kenmerkdomein_kolomnaam ,fac_kenmerkdomein_kolomtxt, fac_kenmerkdomein_verval)
SELECT 10, 'MLD', 'Opdrachtgever GEEN Mareon Premium', 'MARX_V_MIJN_OPG_GEEN_PREMIUM', 'PRS_BEDRIJF_BEDRIJF_KEY', 'W_L_PRS_BEDRIJF_OMSCHR', 'MIJN_OPG_PREMIUM_DATUM' FROM DUAL;
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
SELECT 50, 'Opdrachtgever t.b.v. Premium', 'R', 10 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_hint)
SELECT 68, 50, 3, 'S', 45, 1, 'Is alleen mogelijk voor opdrachtgevers met een GLN en wanneer u het Premium registratieformulier al had gestuurd' 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 69, 33, 3, 'S', 50, NULL, 'Ondertekening', NULL, 'fa-file-signature' FROM DUAL;
-- Vaste tekst "Opdrachtgever akkoord met artikel 4 van gebruiksvoorwaarden...."
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 70, 44, 3, 'S', 55, 1, 'Akkoord met artikel 6 van de gebruiksvoorwaarden', 'Hierbij verklaart u kennis te hebben vernomen van de Gebruiksvoorwaarden Mareon (artikel 6), 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 71, 1, 3, 'S', 57, 1, 'Naam ondertekenaar', 'Vul hier de naam (en evt functie) van de ondertekenaar in' 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, mld_kenmerk_default)
SELECT 72, 45, 3, 'S', 60, 1, 'Paraaf', 'Paraaf door tekengemachtigde', NULL FROM DUAL;
INSERT INTO fac_menu (fac_menu_altgroep, fac_menu_altlabel, fac_menu_volgnr, fac_functie_key, fac_menu_alturl, fac_menu_level, fac_menu_portal)
SELECT 1, 'Premium uitbreiden', 11545, (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_MLDUSE'), 'appl/mld/mld_melding.asp?disc=6' || '&' || 'mld_defaultstdmelding=3', 2, 1
FROM DUAL;
------ payload end ------
SET DEFINE OFF

View File

@@ -554,6 +554,7 @@ SET DEFINE OFF
CREATE OR REPLACE VIEW mar_v_woco_x_lev_and_grooth
(
prs_bedrijf_bedrijf_key,
w_prs_bedrijf_key,
w_prs_bedrijf_naam,
w_prs_leverancier_nr,
@@ -580,7 +581,8 @@ SET DEFINE OFF
prs_bedrijf_bedrijf_account2
)
AS
SELECT w.prs_bedrijf_key,
SELECT bb.prs_bedrijf_bedrijf_key,
w.prs_bedrijf_key,
w.prs_bedrijf_naam,
w.prs_leverancier_nr,
COALESCE (w.prs_overeenkomst_nr, '1'),
@@ -10652,12 +10654,36 @@ SET DEFINE OFF
account_kosten_per_kwartaal
FROM marx_v_aantalaccounts_lev;
-- MARX#87350 Premium uitbreiding in Mareon door leverancier zelf te regelen
-- VIEW van alle opdrachtgevers die deze leverancier (of een vestiging) heeft.
CREATE OR REPLACE VIEW marx_v_mijn_opdrachtgevers
AS
SELECT * FROM mar_v_woco_x_lev, prs_bedrijf woco
WHERE l_prs_perslid_key = TO_NUMBER(sys_context('USERENV', 'CLIENT_IDENTIFIER'))
AND woco.prs_bedrijf_key = w_prs_bedrijf_key;
-- Levert van een Premium(!) leverancier alle actieve (dwz met actieve SYNC!) Opdrachtgevers met een GLN(!) op waarmee deze leverancier nog geen Premium is (en volgens prs_bedrij_bedrijf dat wel zou kunnen worden).
CREATE OR REPLACE VIEW marx_v_mijn_OPG_geen_Premium
(prs_bedrijf_bedrijf_key, w_l_prs_bedrijf_omschr, w_prs_perslid_key, l_prs_bedrijf_key, mijn_OPG_Premium_datum)
AS
SELECT prs_bedrijf_bedrijf_key, w_prs_bedrijf_naam || ' (' || l_prs_bedrijf_naam || ')' , w_prs_perslid_key, l_prs_bedrijf_key,
DECODE(prs_bedrijf_bedrijf_status, 1 ,SYSDATE-1, NULL)
FROM marx_v_mijn_opdrachtgevers mo
WHERE mo.prs_leverancier_nr IS NOT NULL
AND EXISTS (SELECT 'x' FROM mar_v_bedrijf_premium bp WHERE bp.prs_bedrijf_key = mo.l_prs_bedrijf_key AND bp.prs_bedrijf_premium_start IS NOT NULL)
AND EXISTS (SELECT 'y' FROM mar_v_sync_ax_lasttime s WHERE s.prs_perslid_key = mo.w_prs_perslid_key AND sync_date_lasttime >= SYSDATE - 10);
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_prs_bedrijf_bedrijf_key NUMBER(10);
v_woco_bedrijf_key NUMBER(10);
v_woco_prs_bedrijf_naam VARCHAR2(255);
v_lev_bedrijf_key NUMBER(10);
v_lev_prs_bedrijf_naam VARCHAR2(255);
v_max_accounts NUMBER(10);
v_aant_account_inuse NUMBER(10);
v_aant_account_geregistreerd NUMBER(10);
@@ -10771,6 +10797,40 @@ SET DEFINE OFF
WHERE mld_melding_key = p_mld_melding_key;
fac.trackaction ('MLDAFM', p_mld_melding_key, 4, NULL, 'Uw melding is gereed gemeld');
END IF;
IF v_mld_stdmelding_key = 3
THEN
-- MARX#87350 Premium uitbreiding in Mareon door leverancier zelf te regelen
-- Standaard melding 'Uitbreiden Premium met opdrachtgever'
-- Dan gaan we nog een POST-actie doen: update PRS_BEDRIJF_BEDRIJF
SELECT fac.safe_to_number(km.mld_kenmerkmelding_waarde)
INTO v_prs_bedrijf_bedrijf_key
FROM mld_melding m, mld_kenmerkmelding km
WHERE m.mld_melding_key = p_mld_melding_key
AND km.mld_melding_key = m.mld_melding_key
AND km.mld_kenmerk_key = 68;
SELECT woco.prs_bedrijf_key, woco.prs_bedrijf_naam, lev.prs_bedrijf_key, lev.prs_bedrijf_naam
INTO v_woco_bedrijf_key, v_woco_prs_bedrijf_naam, v_lev_bedrijf_key, v_lev_prs_bedrijf_naam
FROM prs_bedrijf_bedrijf, prs_bedrijf woco, prs_bedrijf lev
WHERE prs_bedrijf_bedrijf_key = v_prs_bedrijf_bedrijf_key
AND woco.prs_bedrijf_key = prs_bedrijf_key1
AND lev.prs_bedrijf_key = prs_bedrijf_key2;
UPDATE prs_bedrijf_bedrijf
SET prs_bedrijf_bedrijf_status = 1,
prs_bedrijf_bedrijf_startdatum = TRUNC(SYSDATE),
prs_bedrijf_bedrijf_fee2 = (SELECT fac.safe_to_number(fac_usrdata_omschr) FROM fac_usrdata WHERE fac_usrtab_key = 1 AND fac_usrdata_key = 31)
WHERE prs_bedrijf_bedrijf_key = v_prs_bedrijf_bedrijf_key;
fac.trackaction ('#PRSUPB',v_lev_bedrijf_key, NULL, NULL, 'Het Premium abonnement voor ' || v_lev_prs_bedrijf_naam || ' is uitgebreid met opdrachtgever ' || v_woco_prs_bedrijf_naam || ' a.g.v. melding ' || p_mld_melding_key);
v_mld_melding_opmerking := 'Uw melding is afgehandeld - het Premium abonnement voor ' || v_lev_prs_bedrijf_naam || ' is uitgebreid met opdrachtgever ' || v_woco_prs_bedrijf_naam || '.';
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;
/