Files
Mareon/sql/Onces/marx25.sql
Marcel Bourseau 32bae60a34 MARX#69956 Notities bij opdrachten naar de opdrachtgever - fac_reserved_number2 = 3
svn path=/Mareon/trunk/; revision=65151
2024-06-17 07:50:31 +00:00

165 lines
7.1 KiB
SQL

--
-- $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 = 'MARX25.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#69956 Notities bij opdrachten naar de opdrachtgever
-- Zie MARX#84154 opdr_actiecodes; handjes willen onderdrukken: mld_opdr_actiecode = 2 die hetzelfde als 1 doet, maar dat de actiecode niet via de GUI (expliciet) gezet kan worden.
-- We hadden in MARX24i deze instelling op 1 gezet, ivm MARX#81606 Signaleren dat een opdracht gewijzigd is - VM000000566278.
-- Echter, met dit ticket MARX#69956 Notities bij opdrachten naar de opdrachtgever moet die niet meer op 1, om te voorkomen dat het handje/vinger icoontje "actie bij" verschijnt.
UPDATE fac_setting
SET fac_setting_pvalue = '2'
WHERE fac_setting_name = 'mld_opdr_actiecode';
--Zie FCLT#84170 Default van belletje bij opdrachtnotities naar de opdrachtgever
--Nu eerst fac_reserved_number2 hiervoor gebruiken, dat wordt opdr_note_default_notifyBO (of zo)
--Uitleg: Uitvoerder notificeert de BO default niet, tenzij S(fac_reserved_number2) == 1, dan -default- wel
-- bitje betekent:
-- +0 notificeren-vinkje, default uit en zichtbaar
-- +1 default aan
-- +2 vinkje hidden
-- We willen dat elke notitie voor opdrachtgever is, oftewel belletje default aan (t.b.v. ORDNOB zodai in NQ), en ook niet uit te zetten
UPDATE fac_setting
SET fac_setting_pvalue = '3'
WHERE fac_setting_name = 'fac_reserved_number2';
-- Belletje/notificatie voor naar opdrachtgever (woco), zodat notities een ORDNOB notificaties krijgen. Notities zonder ORDNOB worden niet naar opdrachtgever gestuurd, en zijn daarmee interne notities voor eigen gebruik.
UPDATE mld_stdmelding
SET mld_stdmelding_notes = 2
WHERE mld_stdmelding_key = 1;
-- Edit plandates { 1=in order (default), 2=with buttons, 3=both }
UPDATE fac_setting
SET fac_setting_pvalue = '2'
WHERE fac_setting_name = 'mld_ord_edit_plandates';
-- Het veld afhandeling alleen in te vullen bij afmelden/afwijzen (0=no, 1=yes)
UPDATE fac_setting
SET fac_setting_pvalue = '1'
WHERE fac_setting_name = 'mld_afhandeling_restrict_edit';
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'afspraakdatum'
WHERE fac_locale_xsl_label = 'lcl_schedule_start'
AND fac_locale_xsl_module = 'ASP'
AND fac_locale_xsl_lang = 'NL';
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'einddatum'
WHERE fac_locale_xsl_label = 'lcl_schedule_end'
AND fac_locale_xsl_module = 'ASP'
AND fac_locale_xsl_lang = 'NL';
-- Label lcl_opdr_frame_notes vertalen in 'Notities voor opdrachtgever' (was 'Notities voor eigen gebruik')
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'Notities voor uw opdrachtgever'
WHERE fac_locale_xsl_label = 'lcl_opdr_frame_notes'
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
-- En label lcl_mld_behandeling vertalen in 'Notities voor opdrachtgever' (was 'Notities voor eigen gebruik')
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'Notities voor uw opdrachtgever'
WHERE fac_locale_xsl_label = 'lcl_mld_behandeling'
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
-- En label lcl_mld_note vertalen in 'Notitie voor opdrachtgever' (was 'Notitie voor eigen gebruik')
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'Notitie voor uw opdrachtgever'
WHERE fac_locale_xsl_label = 'lcl_mld_note'
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
-- En label lcl_mld_note_new vertalen in 'Notitie voor opdrachtgever' (was 'Notitie voor eigen gebruik')
UPDATE fac_locale_xsl
SET fac_locale_xsl_cust = 'Notitie voor uw opdrachtgever'
WHERE fac_locale_xsl_label = 'lcl_mld_note_new'
AND fac_locale_xsl_lang = 'NL'
AND fac_locale_xsl_module = 'ASP';
---- Label/Bloktitel voor interne notities
-- Titelblok voor bijlages
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype)
VALUES (47, 'Notities voor eigen gebruik', 'l');
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_default)
SELECT 56, 47, 5, 'O', 890, 'fa-notebook' FROM DUAL;
-- Nieuw kenmerk voor eigen notities ter vervanging van de opdrachtnotities, en doet mee in ANOnimiseer proces
INSERT INTO mld_srtkenmerk (mld_srtkenmerk_key, mld_srtkenmerk_omschrijving,mld_srtkenmerk_kenmerktype, mld_srtkenmerk_lengte, mld_srtkenmerk_systeem)
VALUES (46, 'Interne notities', 'C', 4000, 8);
INSERT INTO mld_kenmerk (mld_kenmerk_key, mld_srtkenmerk_key, mld_typeopdr_key, mld_kenmerk_niveau, mld_kenmerk_volgnummer, mld_kenmerk_toonbaar, mld_kenmerk_hint)
SELECT 55, 46, 5, 'O', 891, NULL, 'Let op: deze notities worden niet naar uw opdrachtgever gestuurd' FROM DUAL;
-- Conversie: alle notities van de opdrachten eerst in flexprop "interne notities" bij betreffende opdracht stoppen...
-- Evt opmaak in notities + plaatjes gaan verloren..
DECLARE
h_opdr_key NUMBER(10);
v_interne_notitie VARCHAR2(4000);
CURSOR c_interne_notities
IS
SELECT n.mld_opdr_note_key, n.mld_opdr_key, n.mld_opdr_note_omschrijving, n.mld_opdr_note_aanmaak
FROM mld_opdr_note n
ORDER BY n.mld_opdr_key, n.mld_opdr_note_aanmaak;
BEGIN
h_opdr_key := -1;
v_interne_notitie := '';
FOR rec IN c_interne_notities
LOOP
IF rec.mld_opdr_key <> h_opdr_key AND h_opdr_key <> -1
THEN
-- Deze notitie is van ander opdracht, die van de vorige opdracht eerst inserten (en vanwege h_opdr_key <> -1 betekent dat dit niet de 1e keer is (want 1e x moeten we nog ff niets doen)
mld.upsertopdrachtkenmerk (55, h_opdr_key, SUBSTR(v_interne_notitie,2));
v_interne_notitie := '';
END IF;
-- Oke, dan note(s) van de nieuwe opdracht opsparen...
v_interne_notitie := SUBSTR(v_interne_notitie || CHR(10) || to_char(rec.mld_opdr_note_aanmaak, 'DD-MM-YYYY HH24:MI') || ': ' || rec.mld_opdr_note_omschrijving, 1, 4000);
h_opdr_key := rec.mld_opdr_key;
END LOOP;
-- En de laatste niet vergeten natuurlijk!
IF h_opdr_key <> -1
THEN
mld.upsertopdrachtkenmerk (55, h_opdr_key, SUBSTR(v_interne_notitie,2));
END IF;
-- En tenslotte gaan we alle notities verwijderen
DELETE FROM mld_opdr_note n;
END;
/
------ 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