-- MARX#90284 Registreren van 'eigen' opdrachten met AI

svn path=/Mareon/trunk/; revision=70015
This commit is contained in:
Marcel Bourseau
2025-08-14 19:07:29 +00:00
parent 0a588aa569
commit fbd5b2a719
2 changed files with 1124 additions and 46 deletions

View File

@@ -51,7 +51,6 @@ SELECT 76, 18, 5, 'O', 1, 1, 56 FROM DUAL;
INSERT INTO prs_kenmerk (prs_kenmerk_key, prs_kenmerk_niveau, prs_kenmerk_volgnr, prs_kenmerk_rolcode, prs_kenmerk_omschrijving, prs_kenmerk_kenmerktype, prs_kenmerk_lengte, prs_kenmerk_nmin, prs_kenmerk_nmax, prs_kenmerk_hint)
SELECT 77, 'B', 10, 1, 'Verwerken meldergegevens','N', 3, 0, 2, 'Uitleg: 0 of leeg = persoonsgegevens van melder (naam, telnr, mail) worden overal getoond, dus in Mareon en op de opdrachtbon, 1 = worden niet in Mareon overgenomen, 2= worden wel in Mareon overgenomen maar komen niet op de bon terecht'
FROM DUAL;
-- Kleine correctie (en losstaand van dit ticket): we halen $ van gelijksoortig kenmerk (key 11) van de omschrijving '$Verwerken eenheidsprijzen' eraf, en stellen minimum (0) en maximum (2) in.
UPDATE prs_kenmerk
SET prs_kenmerk_omschrijving = 'Verwerken eenheidsprijzen',
@@ -60,6 +59,379 @@ SET prs_kenmerk_omschrijving = 'Verwerken eenheidsprijzen',
WHERE prs_kenmerk_key = 13;
-- MARX#90284 Registreren van 'eigen' opdrachten met AI
-- Eigen opdrachtgevers in Mareon door leverancier zelf te regelen
-- Nieuwe melding 'Registratie van eigen opdrachtgever'.
-- PS. wijzigen/verwijderen van eigen opdrachtgever gaat via andere standaard meldingen.
--
-- Features:
-- Nieuwe mogelijkheid om eigen opdrachtgevers die niet via Mareon werken, toe te voegen
-- Voor aanmaken nieuwe opdrachten in Mareon, die automatisch wordt gegenereerd vanuit de opdrachtbon (die b.v. per mail is ontvangen).
-- ook wijzigingen in de opdrachtbon die opnieuw worden ontvangen, worden verwerkt. Mareon rapporteert de verschillen met de vorige opdrachtbon in detail.
-- Planbord kan t.b.v. inplannen en maken van afspraken worden gebruikt.
-- Premium is uiteraard mogelijk
-- en bij Premium: automatische dispatch is beschikbaar om opdracht naar gewenste (neven)vestiging te laten versturen die de opdracht gaat uitvoeren.
-- Omdat het wijzigen van een melding 'Registratie van eigen opdrachtgever' ook mogelijk gaat worden, en dat het veld 'stdmelding' door FE kan worden aangepast (bij status 2/nieuw) in een andere stdmelding,
-- wat ongewenst/fouten oplevert, maken we een nieuwe vakgroeptype + vakgroep
-- Waarbij alleen deze stdmelding onder komt te hangen, zodat aanpassen alleen in zichzelf kan (en prima is).
INSERT INTO ins_srtdiscipline
(ins_srtdiscipline_key, ins_srtdiscipline_module, ins_srtdiscipline_omschrijving, ins_srtdiscipline_prefix, ins_srtdiscipline_kostenklant,
ins_srtdiscipline_alg, ins_srtdiscipline_ins, ins_srtdiscipline_mld, ins_srtdiscipline_bes, ins_srtdiscipline_prs, ins_srtdiscipline_res, ins_srtdiscipline_cnt, ins_srtdiscipline_mldgroup)
SELECT 2,'MLD','ZelfRegistratie','ZLF',10,0,0,0,0,0,0,0,0
FROM DUAL;
INSERT INTO ins_tab_discipline (ins_discipline_key, ins_discipline_module, ins_discipline_omschrijving, ins_discipline_kpnverplicht, ins_srtdiscipline_key, ins_discipline_btw)
SELECT 7, 'MLD', 'Mareon Registratie', 0, 2, 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 7, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0
FROM dual;
-- Rechten uitdelen aan:
-- 1. de hoofdgebruiker (en evt andere beheerders) van elke leverancier, oftewel aan de fac_groep "Leverancier Beheerder" (key 11)
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, 7, -1,-1,-1,-1
FROM fac_functie
WHERE fac_functie_code = 'WEB_MLDUSE';
--------------------
-- Hier de melding (stdmelding_key 4) voor het toevoegen van een iegen 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 7, 4, 'Registratie van eigen 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 "Contactgegevens van uw opdrachtgever"
-- We doen vooralsnog eerst alleen naam en GLN.
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 77, 33, 4, 'S', 10, NULL, 'Opdrachtgever', NULL, 'fa-address-card' FROM DUAL;
-- Bedrijfnaam, bestaat uit max. 50 tekens (da's mooi, dan hebben we nog ruimte van 10 tekens voor uniciteit garantie ;-)
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 78, 40, 4, 'S', 12, 1, 'Bedrijfsnaam', 'Vul hier de naam van uw eigen opdrachtgever in waarvoor u via Mareon nog geen opdrachten ontvangt' FROM DUAL;
-- Volgend kenmerk is een hulp-veldje (gebaseerd op zelfde kenmerk als bedrijfsnaam) waarmee de referentie van opdrachtgever naar prs_bedrijf (dwz prs_bedrijf_key) wordt bewaard.
-- We hebben deze eerst in mld_melding_externnr gezet, maar het voorwaardelijke SHOWen van een (ander) flexveld kan niet op vaste velden, maar alleen op flexvelden, vandaar deze move.
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_toonbaar, mld_kenmerk_omschrijving, mld_kenmerk_hint)
SELECT 86, 40, 4, 'S', 50, -1, 'ID', 'Verwijzing naar prs_bedrijf_bedrijf' FROM DUAL;
-- GLN, bestaande uit typisch / normaal gesproken 13 cijfers.
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 83, 38, 4, 'S', 14, NULL, 'GLN', 'Het GLN bestaat uit een reeks van 13 cijfers. Vul dit veld als voor deze opdrachtgever Mareon Premium (evt in de toekomst) gewenst is. U kun desgewenst een voorlopig (GLN)nummer invullen, mocht het GLN nier beschikbaar zijn.' FROM DUAL;
-- Formulering van het formaat van opdrachtnummers
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype, mld_srtkenmerk_lengte)
VALUES (54, 'Formaat opdrachtnummer', 'C', 500);
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 89, 54, 4, 'S', 16, NULL, 'Formaat van opdrachtnummer(s)', 'Formuleer hier het formaat van opdrachtnummers, b.v.: opdrachtnummer begint met de letters ION en wordt gevolgd door een aantal cijfers, zoals ION1234 of ION000123456' FROM DUAL;
-- Tbv AI prompt om gericht naar het opdrachtnummer in de opdrachtbon te kunnen zoeken, we slaan dit op bij de eigen opdrachtgever (prs_bedrijf) als flexprop.
-- B.v. Het opdrachtnummer begint met de letters 'MAR' en wordt gevolgd door een aantal cijfers, daarna een backslash en wordt afgesloten met een cijfer, meestal 1 (en soms een paar cijfeers), zoals MAR123456/1
INSERT INTO prs_kenmerk (prs_kenmerk_key, prs_kenmerk_niveau, prs_kenmerk_volgnr, prs_kenmerk_rolcode, prs_kenmerk_omschrijving, prs_kenmerk_kenmerktype, prs_kenmerk_lengte, prs_kenmerk_hint)
SELECT 78, 'B', 9, 1, 'Formaat van opdrachtnummer(s)','C', 500, 'Formuleer hier het formaat van opdrachtnummers, b.v.: opdrachtnummer begint met de letters ION en wordt gevolgd door een aantal cijfers, zoals ION1234 of ION000123456'
FROM DUAL;
-- Correctie volgnummer (was 9, nu naar 8) bij flexprop Prefix Bon Informatie, eentje naar voren, zodat
UPDATE prs_kenmerk SET prs_kenmerk_volgnr = 8 WHERE prs_kenmerk_key = 28;
-- Formulering van andere specifieke kenmerken van de opdrachtomschrijving bij deze opdrachtgever, dit kenmerk is gebaseerd op srtkenmerk Memo (key 12, type 'C' van 4000 tekens).
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 98, 12, 4, 'S', 18, NULL, 'Specifieke kenmerken bij de opdracht', 'Formuleer t.b.v. betere herkenbaarheid van opdrachtgegevens hier specifieke details over de opdracht, zoals b.v.: voor het VGE nummer wordt de term gebouwcode gebruikt, en dit bestaat uit 4 cijferreeksen geschieden door punten, b.v. 1234.567.0987.12' FROM DUAL;
INSERT INTO prs_kenmerk (prs_kenmerk_key, prs_kenmerk_niveau, prs_kenmerk_volgnr, prs_kenmerk_rolcode, prs_kenmerk_omschrijving, prs_kenmerk_kenmerktype, prs_kenmerk_lengte, prs_kenmerk_hint)
SELECT 79, 'B', 10, 1, 'Specifieke kenmerken bij de opdracht','C', 4000, 'Formuleer t.b.v. betere herkenbaarheid van opdrachtgegevens hier specifieke details over de opdracht, zoals b.v.: voor het VGE nummer wordt de term gebouwcode gebruikt, en dit bestaat uit 4 cijferreeksen geschieden door punten, b.v. 1234.567.0987.12'
FROM DUAL;
-- De NAW gegevens (adres t/m plaats) doen we even voorlopig nog niet (voegt nog niets toe):
--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 79, 2, 4, 'S', 15, NULL, 'Adres', 'Straatnaam of postbus' FROM DUAL;
--Huisnummer
--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 80, 10, 4, 'S', 16, NULL, 'Huisnummer', 'Huisnummer' 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 81, 3, 4, 'S', 18, NULL, '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 82, 4, 4, 'S', 20, NULL, 'Plaats', 'Plaatsnaam' 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, 'Eigen opdrachtgever toevoegen', 12130, (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_MLDUSE'), 'appl/mld/mld_melding.asp?disc=7' || '&' || 'mld_defaultstdmelding=4', 2, 1
FROM DUAL;
-- Even een dummy defintie van de view zodat het kenmerk domein kan worden aangemaakt
CREATE OR REPLACE VIEW marx_v_mijn_LEV_als_beheerder
(prs_bedrijf_key, prs_bedrijf_naam)
AS
SELECT 1, 'Dummy' 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 11, 'MLD', 'Leveranciers_van_beheerder', 'MARX_V_MIJN_LEV_ALS_BEHEERDER', 'PRS_BEDRIJF_KEY', 'PRS_BEDRIJF_NAAM', NULL FROM DUAL;
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
SELECT 52, 'Bedrijf', 'R', 11 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 84, 52, 4, 'S', 45, 1, 'Kies hier de leverancier of vestiging waar de eigen opdrachtgever van toepassing is' FROM DUAL;
-- Label "Leverancier"
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 85, 33, 4, 'S', 40, NULL, 'Leverancier/vestiging', NULL, 'fa-address-card' FROM DUAL;
-- Het vaste veld (kenmerk) bij interne bedrijf "prs_bedrijf_ingids" gaan we gebruiken of een opdrachtgever met Mareon werkt (=1) of een "eigen opdrachtgever" is (=NULL) door leverancier zelf geregistreerd
-- Label lcl_prs_companies_ingids vertalen
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'Opdrachtgever van Mareon'
WHERE fac_locale_xsl_label = 'lcl_prs_companies_ingids'
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
--En alle woco's (interne bedrijven) gaan we nu updaten,
--Deze werken namelijk allemaal met Mareon (zijn opdrachtgevers die op Mareon zijn aangesloten)
UPDATE prs_bedrijf
SET prs_bedrijf_ingids = 1
WHERE prs_bedrijf_intern = 1
AND prs_bedrijf_verwijder IS NULL;
--Menutaak t.b.v. overzicht van eigen opdrachtgevers (en uiteraard daarbij ook de standaard Mareon opdrachtgevers)
INSERT INTO fac_menu (fac_menu_altgroep, fac_menu_level, fac_menu_volgnr, fac_menu_altlabel, fac_menu_info, fac_menu_alturl, fac_functie_key, fac_menu_portal)
SELECT 1, 2, 6390, 'Overzicht opdrachtgevers', 'Voor de leverancier: lijst met eigen geregistreerde opdrachtgevers met verdere de (op Mareon aangesloten) opdrachtgevers', 'appl/fac/fac_report.asp?rapcode=marx_rap_opdrgvrs', (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_EXTREL'), 1
FROM DUAL;
---------------------------------------------------------------
-- Hier de melding (stdmelding_key 6) voor het wijzigen van de gegevens van een iegen 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 7, 6, 'Wijzig eigen 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 "Contactgegevens van uw opdrachtgever"
-- We doen vooralsnog eerst alleen naam en GLN.
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 99, 33, 6, 'S', 10, NULL, 'Opdrachtgever', NULL, 'fa-address-card' FROM DUAL;
-- Even een dummy defintie van de view zodat het kenmerk domein kan worden aangemaakt
CREATE OR REPLACE VIEW marx_v_mijn_own_opdrachtgevers
(prs_bedrijf_bedrijf_key, w_prs_bedrijf_key, w_prs_bedrijf_naam, w_prs_leverancier_nr, w_prs_perslid_key, w_prs_perslid_naam, l_prs_bedrijf_key, l_prs_bedrijf_naam, l_prs_leverancier_nr, l_prs_perslid_key, l_ax_supplier_id, w_l_prs_bedrijf_naam)
AS
SELECT 1, 1, 'Dummy1', 'Dummy2', 1, 'Dummy3', 1, 'Dummy4', 'Dummy5', 1, 'Dummy6', 'Dummy7' 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 15, 'MLD', 'Eigen geregistreerde opdrachtgevers', 'MARX_V_MIJN_OWN_OPDRACHTGEVERS', 'PRS_BEDRIJF_BEDRIJF_KEY', 'W_L_PRS_BEDRIJF_NAAM', NULL FROM DUAL;
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
SELECT 57, 'Eigen opdrachtgever', 'R', 15 FROM DUAL;
-- Keuze van opdrachtgever waarvan de gegevens aangepast moeten worden
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 105, 57, 6, 'S', 11, 1, 'Kies hier uw eigen opdrachtgever behorende bij deze (opdracht)omschrijving' FROM DUAL;
-- Bedrijfnaam, bestaat uit max. 50 tekens (da's mooi, dan hebben we nog ruimte van 10 tekens voor uniciteit garantie ;-)
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 106, 40, 6, 'S', 12, 1, 'Bedrijfsnaam', 'Vul hier de naam van uw eigen opdrachtgever in waarvoor u via Mareon nog geen opdrachten ontvangt' FROM DUAL;
-- GLN, bestaande uit typisch / normaal gesproken 13 cijfers.
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 107, 38, 6, 'S', 14, NULL, 'GLN', 'Het GLN bestaat uit een reeks van 13 cijfers. Vul dit veld als voor deze opdrachtgever Mareon Premium (evt in de toekomst) gewenst is. U kun desgewenst een voorlopig (GLN)nummer invullen, mocht het GLN nier beschikbaar zijn.' FROM DUAL;
-- Formulering van het formaat van opdrachtnummers
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 108, 54, 6, 'S', 16, NULL, 'Formaat van opdrachtnummer(s)', 'Formuleer hier het formaat van opdrachtnummers, b.v.: opdrachtnummer begint met de letters ION en wordt gevolgd door een aantal cijfers, zoals ION1234 of ION000123456' FROM DUAL;
-- Formulering van andere specifieke kenmerken van de opdrachtomschrijving bij deze opdrachtgever, dit kenmerk is gebaseerd op srtkenmerk Memo (key 12, type 'C' van 4000 tekens).
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 109, 12, 6, 'S', 18, NULL, 'Specifieke kenmerken bij de opdracht', 'Formuleer t.b.v. betere herkenbaarheid van opdrachtgegevens hier specifieke details over de opdracht, zoals b.v.: voor het VGE nummer wordt de term gebouwcode gebruikt, en dit bestaat uit 4 cijferreeksen geschieden door punten, b.v. 1234.567.0987.12' 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, 'Eigen opdrachtgever wijzigen', 12132, (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_MLDUSE'), 'appl/mld/mld_melding.asp?disc=7' || '&' || 'mld_defaultstdmelding=6', 2, 0
FROM DUAL;
---------------------------------------------------------------
-- Hier de melding (stdmelding_key 5) voor het toevoegen van een (auto)opdracht.
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 7, 5, 'Toevoegen opdracht eigen opdrachtgever', 0, MLD_T_UITVOERTIJD(tijdsduur=>1,eenheid=>'D'), 1, 0, 0, 0, 0, 'R', -1, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0
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, 'Eigen opdracht toevoegen', 4501, (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_MLDUSE'), 'appl/mld/mld_melding.asp?disc=7' || '&' || 'mld_defaultstdmelding=5', 2, 1
FROM DUAL;
-- Label "Eigen opdrachtgever"
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 87, 33, 5, 'S', 10, NULL, 'Opdracht is afkomstig van', NULL, 'fa-address-card' 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 12, 'MLD', 'Eigen geregistreerde opdrachtgevers', 'MARX_V_MIJN_OWN_OPDRACHTGEVERS', 'W_PRS_PERSLID_KEY', 'W_PRS_PERSLID_NAAM', NULL FROM DUAL;
--INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
--SELECT 53, 'Eigen opdrachtgever', 'R', 12 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 88, 57, 5, 'S', 20, 1, 'Kies hier uw eigen opdrachtgever behorende bij deze (opdracht)omschrijving' FROM DUAL;
-- Bijlage van opdrachtgever:
-- Coming soon: opdrachtbon als PDF die door AI wordt verwerkt
-- Daarnaast alle (andere) bijlage behorende bij de opdracht (bv foto's).
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving, mld_kenmerk_default)
SELECT 94, 33, 5, 'S', 25, 'Bijlagen van opdrachtgever bij deze opdracht', 'fa-books' FROM DUAL;
-- Deze bijlage knop is nog even niet beschikbaar, totdat de AI oplossing "van Aareon" ook bijlagen kan verwerken, vandaar readonly.
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving, mld_kenmerk_toonbaar)
SELECT 95, 20, 5, 'S', 27, 'PDF Opdrachtbon', 1 FROM DUAL;
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving, mld_kenmerk_default)
SELECT 96, 51, 5, 'S', 28, 'PDF Opdrachtbon' , '<i><hr/>Binnenkort beschikbaar. Hier wordt het (in een volgende release) mogelijk om de opdrachtbon als PDF toe te voegen.'
|| '<br/>Dan zal naast onderstaande (opdracht)omschrijving <b>ook</b> de <u>PDF opdrachtbon worden verwerkt</u> bij het genereren van de opdracht.<hr/></i>'
FROM DUAL;
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving)
SELECT 97, 20, 5, 'S', 29, 'Andere bijlagen' FROM DUAL;
--Wanneer opdracht is gemaakt, dan in readonly flexprop de referentie naar die mld_opdr
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 90, 33, 5, 'S', 30, NULL, 'Door AI gegenereerde opdracht', NULL, 'fa-microchip-ai' 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, fac_kenmerkdomein_xmlnode)
SELECT 13, 'MLD', 'Opdracht', 'MLD_OPDR', 'MLD_OPDR_KEY', 'MLD_OPDR_ID', NULL, 'opdracht' FROM DUAL;
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
SELECT 55, 'Opdracht', 'R', 13 FROM DUAL;
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_stdmelding_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_toonbaar)
SELECT 91, 55, 5, 'S', 40, 1 FROM DUAL;
--En omgekeerd, ook in de opdracht een read-only flexprop met referentie naar de oorspronkelijke (ZLF)melding
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_rolcode, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving, mld_kenmerk_default)
SELECT 92, 33, 5, 'O', 1, 97, 'Gegenereerd door AI', 'fa-microchip-ai' FROM DUAL;
-- Check (vinkje) ter bevestiging dat deze opdracht door AI is gemaakt.
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_rolcode, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer, mld_kenmerk_omschrijving)
SELECT 110, 44, 5, 'O', 1, 1, 98, 'Check' FROM DUAL;
-- Even een dummy defintie van de view zodat het kenmerk domein kan worden aangemaakt
CREATE OR REPLACE VIEW marx_v_melding_plus
( mld_melding_key,
mld_melding_nr,
mld_stdmelding_key,
ins_discipline_key,
ins_srtdiscipline_key,
ins_srtdiscipline_prefix
)
AS SELECT 1,'ZLF1',1,1,1,'ZLF' 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, fac_kenmerkdomein_xmlnode)
SELECT 14, 'MLD', 'Melding', 'MARX_V_MELDING_PLUS', 'MLD_MELDING_KEY', 'MLD_MELDING_NR', NULL, 'melding' FROM DUAL;
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving, mld_srtkenmerk_kenmerktype, fac_kenmerkdomein_key)
SELECT 56, 'Via deze melding', 'R', 14 FROM DUAL;
-- Readonly Flexprop naar de ZLF melding die deze opdracht heeft gegenereerd
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_rolcode, mld_kenmerk_toonbaar, mld_kenmerk_volgnummer)
SELECT 93, 56, 5, 'O', 1, 1, 99 FROM DUAL;
-- Kennisbank met AI prompting...
-- Eerst een update van ins_tab_discipline 'Standaard' in 'AI prompt'
UPDATE ins_tab_discipline SET ins_discipline_omschrijving = 'AI prompt' WHERE ins_discipline_key = 81;
-- AI Prompt 'AI_MLD_OPDR_ADD', aangemaakt door perslid _facilitor
INSERT INTO fac_faq (faq_ins_discipline_key, fac_faq_question, fac_faq_level, prs_perslid_key, fac_faq_displaymode, fac_faq_module, fac_faq_answer)
SELECT 81, 'AI_MLD_OPDR_ADD', 2, 4, 0, 'MLD',
' Kun je van de volgende opdracht die vanuit een opdrachtgever naar een opdrachtnemer is gestuurd, deze volgende gegevens in een JSON opleveren met de exacte veldnamen zoals hieronder genoemd:'
|| ' - JSON veld opdrachtgever (met de velden naam, straat, huisnr, postcode, plaatsnaam, opdrachtgeverId)'
|| ' - JSON veld opdrachtnemer (met de velden naam, straat, huisnr, postcode, plaatsnaam, leverancierId, gln)'
|| ' - JSON veld glnvve (dit is het gln van de VvE oftewel het GLN van de Vereniging van Eigenaren)'
|| ' - JSON veld opdrachtnummer.'
|| ' - JSON veld opdrachtomschrijving, bij voorkeur letterlijk overnemen, en indien meer dan 1000 tekens, dan samengevat in maximaal 1000 tekens'
|| ' - JSON veld urgentie, die het spoedniveau van de opdracht aangeeft met waarden: laag, normaal, hoog of kritiek'
|| ' - JSON veld datums (met opdrachtdatum, afspraakdatum wat normaal leeg is en alleen gevuld mag worden als je het woord afspraakdatum kunt vinden in de tekst, einddatum wat de uiterlijke opleverdatum is) in formaat yyyy-mm-ddThh24:mi'
|| ' - JSON veld soortopdracht (betreft de opdracht een reparatie dan REP, is het mutatie dan MUT of is het inspectie dan INS, en anders leeg laten)'
|| ' - JSON veld afspraakwijze (is het afkoop dan AFK, is het regie dan REG, is het volgens vaste eenheidsprijzen dan EHP, is het een aanneemsom dan ANS, en anders leeg laten)'
|| ' - JSON veld garantie (mogelijke waarden zijn ja of nee, standaard nee, en alleen ja als er expliciet in de opdracht het woord garantie staat en ook zo bedoeld is)'
|| ' - JSON veld contactpersoon, wie de melder of contactpersoon van de opdracht is, met daarin de velden: naam, telefoonnummer, mobielnummer, mailadres'
|| ' - JSON veld opzichter van de opdracht (naam, telefoonummer, mobielnummer, mailadres)'
|| ' - JSON veld werklocatie, met de gegevens waar de opdracht moet worden uitgevoerd of afgeleverd, met daarin de velden: straat, huisnummer, huisnummertoevoeging is het deel van huisnummer na het scheidingsteken zoals een minteken . Als er geen huisnummertoevoeging is, laat dit veld dan gewoon leeg. Indien wel huisnummertoegvoeging aanwezig, dan graag het gevonden scheidingsteken in het veld huisnummertoevoeging meenemen. Verder nog de velden postcode, plaatsnaam, complexnummer, pandnummer, vhenummer, bouwjaar bepalen waarbij dit het jaartal in formaat yyyy van het gebouw is'
|| ' Als postcode van de werklocatie niet gevonden kan worden, maar wel de straatnaam en het huisnummer, kun jij dan zelf bepalen wat de postcode is?'
|| ' En als straatnaam van de werklocatie niet gevonden kan worden, maar wel de postcode en het huisnummer, kun jij dan zelf bepalen wat de straatnaam is?'
|| ' - JSON veld opdrachtregels: een array met in elk regel de velden: regelnummer (dit is een getal vanaf 1), de opdrachtomschrijving (d.w.z. het defect van de opdrachtregel), bijbehorend artikelnummer, bijbehorend aantal (dit is een getal ongelijk aan 0, indien niet gevonden kan worden dan 1), eenheid bij dat aantal, ruimte (dit is de precieze plek in huis of gebouw waar de opdracht van toepassing is), voorwerp (dit kan een specifiek object of ding zijn), de prijs (dit is de netto prijs), btwtarief (0, 9 of 21).'
|| ' - JSON veld ZLFmeldingnummer: wanneer het ZLF meldingnummer in de tekst staat, dat begint met de 3 letters ZLF en wordt gevolgd door een reeks van minimaal 5 cijfers, dan vult dat hier in. Staat er geen ZLF meldignnummer in de tekst exact zoals beschreven, dan moet dit veld leeg worden gelaten!'
FROM DUAL;
CREATE TABLE mar_opdracht_queue
(
mar_opdracht_queue_key NUMBER (10) CONSTRAINT mar_k_mar_opdracht_queue_key PRIMARY KEY,
mar_opdracht_queue_klantid VARCHAR2 (64),
mar_opdracht_queue_from VARCHAR2 (64),
mar_opdracht_queue_to VARCHAR2 (64),
mar_opdracht_queue_subject VARCHAR2 (4000),
mar_opdracht_queue_filename VARCHAR2 (256),
mar_opdracht_queue_filesize NUMBER (10),
mar_opdracht_queue_filehash VARCHAR2 (64),
mar_opdracht_queue_backupfile VARCHAR2 (256),
mar_opdracht_queue_filename2 VARCHAR2 (256),
mar_opdracht_queue_filesize2 NUMBER (10),
mar_opdracht_queue_filehash2 VARCHAR2 (64),
mar_opdracht_queue_backupfile2 VARCHAR2 (256),
mar_opdracht_queue_filename3 VARCHAR2 (256),
mar_opdracht_queue_filesize3 NUMBER (10),
mar_opdracht_queue_filehash3 VARCHAR2 (64),
mar_opdracht_queue_backupfile3 VARCHAR2 (256),
mar_opdracht_queue_aanmaak DATE DEFAULT SYSDATE,
mar_opdracht_queue_requestid VARCHAR2 (64),
mar_opdracht_queue_sent DATE,
mar_opdracht_queue_response VARCHAR2 (1024),
mar_opdracht_queue_replied DATE
);
CREATE SEQUENCE mar_s_mar_opdracht_queue_key MINVALUE 1;
ALTER TABLE mar_opdracht_queue ADD
(
mld_opdr_key NUMBER (10) CONSTRAINT mar_r_mar_opdracht_queue_1 REFERENCES mld_opdr(mld_opdr_key) ON DELETE CASCADE,
prs_bedrijf_key NUMBER (10) CONSTRAINT mar_r_mar_opdracht_queue_2 REFERENCES prs_bedrijf(prs_bedrijf_key) ON DELETE CASCADE,
prs_perslid_key NUMBER (10) CONSTRAINT mar_r_mar_opdracht_queue_3 REFERENCES prs_perslid(prs_perslid_key) ON DELETE CASCADE
);
--Menutaak t.b.v. overzicht voor leverancier van de mails t.b.v. aanmaken van opdrachten (van eigen opdrachtgevers) obv AI
INSERT INTO fac_menu (fac_menu_altgroep, fac_menu_level, fac_menu_volgnr, fac_menu_altlabel, fac_menu_info, fac_menu_alturl, fac_functie_key, fac_menu_portal)
SELECT 1, 2, 6400, 'AI Opdrachten Monitor', 'Voor de leverancier: inzicht in de verwerking van opdrachten via AI', 'appl/fac/fac_report.asp?rapcode=ai_opdr_queue_lev', (SELECT fac_functie_key FROM fac_functie WHERE fac_functie_code = 'WEB_EXTORD'), 1
FROM DUAL;
INSERT INTO fac_usrdata(fac_usrtab_key,fac_usrdata_key, fac_usrdata_code, fac_usrdata_omschr)
VALUES (1, 60, '$MAR_KILL_ORDER_QUEUE_PERIOD', '365');
------ payload end ------
SET DEFINE OFF

File diff suppressed because it is too large Load Diff