INLO#83800 -- Oncescript update om bestaande personen van landmark een inlogaccount te geven voor registratie mobile

svn path=/Customer/; revision=65559
This commit is contained in:
Jos Migo
2024-07-12 15:56:56 +00:00
parent 44fd6829e4
commit 5c51b75416

View File

@@ -0,0 +1,157 @@
--
-- $Id$
--
-- Aanvullen personen landmark - inlogaccount geven voor registratie mobile
--- Ivm overgang van office_app naar de facilitor-mobile moeten alle Landmark-huurders(partijen) via Facilitor de smartphone-registratie doen
---- Nieuwe huurders doen dit via de facilitor-zelf-registratie zichzelf eerst aan te melden.
---- Voor de bestaande landmark-huurders is dat niet mogelijk omdat zij al in facilitor een account hebben ivm ski-data (parkeerplek-beheer)
DEFINE thisfile = 'INLO#83800.SQL'
DEFINE dbuser = 'INLO'
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 ------
DECLARE
v_errormsg VARCHAR (200);
v_errorhint VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (150);
currentversion fac_module.fac_module_version%TYPE;
v_aanduiding VARCHAR (200);
v_count NUMBER;
v_teller_personen NUMBER := 0 ;
v_fac_gebruikersgroep_key NUMBER;
p_import_key NUMBER;
-- cursor van de personen die we een inlog gaan geven....
CURSOR C
IS
SELECT *
FROM fac_imp_csv
WHERE fac_import_key = (SELECT max(fac_import_key) FROM fac_import WHERE fac_import_app_key = 361 AND fac_import_datum_verwerkt IS NULL) -- GENREICCSV - FIP: Generieke CSV import
AND fac_imp_csv_index > 1
AND fac_imp_csv_col16 IS NULL
-- TEST
AND fac.safe_to_number(fac_imp_csv_col02) IN (31513, 45015, 31775)
ORDER BY fac_imp_csv_index;
BEGIN
SELECT MAX (fac_import_key)
INTO p_import_key
FROM fac_import
WHERE fac_import_app_key = 361 AND fac_import_datum_verwerkt IS NULL ;
-- de personen van landmark die we in dit script niet gaan updaten...
UPDATE fac_imp_csv
SET fac_imp_csv_col16 = 'Deze persoon is niet in update-script meegenomen'
WHERE fac_imp_csv_index > 1
AND (
fac_imp_csv_col04 IS NULL -- geen emailadres
OR
fac_imp_csv_col06 IS NOT NULL -- bestaande login_naam
OR
fac_imp_csv_col08 >30 -- login_naam_nieuw > 30 posities..
OR
(fac_imp_csv_col12 IS NULL AND fac_imp_csv_col04 IS NOT NULL AND fac_imp_csv_col06 IS NULL) -- niet gekoppeld aan klant-1 = landmark
)
;
FOR rec IN c
LOOP
BEGIN
v_aanduiding := 'Personenkaart aanvullen van ' || rec.fac_imp_csv_col04 || ' (key =' || rec.fac_imp_csv_col02 || ')' ;
v_errorhint := 'loginnaam toevoegen';
v_teller_personen := v_teller_personen + 1 ;
-- oslogin is alle voor @-teken...
UPDATE prs_perslid p
SET p.prs_perslid_oslogin = rec.fac_imp_csv_col07
WHERE p.prs_perslid_key = fac.safe_to_number(rec.fac_imp_csv_col02) ;
v_errorhint := 'password reset';
-- Password rest
BEGIN prs.setpassword(fac.safe_to_number(rec.fac_imp_csv_col02), 'Welkom@2024'); END; COMMIT;
UPDATE prs_perslid p
SET prs_perslid_wachtwoord_exp = SYSDATE
WHERE p.prs_perslid_key = fac.safe_to_number(rec.fac_imp_csv_col02) ;
-- Logging
BEGIN fac.trackaction('PRSUPD', fac.safe_to_number(rec.fac_imp_csv_col02), 4, NULL, 'Login en password reset - ivm uitrol mobile app ticket INLO#83800 --> ' || rec.fac_imp_csv_col07); END;
v_errorhint := 'autorisatiegroep toevoegen' ;
-- alle landmark medewerkers moeten in autorisatiegroep-key 1582 komen
SELECT MAX(fac_gebruikersgroep_key)
INTO v_fac_gebruikersgroep_key
FROM fac_gebruikersgroep
WHERE prs_perslid_key = fac.safe_to_number(rec.fac_imp_csv_col02)
AND fac_groep_key = 1582 ;
IF v_fac_gebruikersgroep_key IS NULL
THEN
INSERT INTO fac_gebruikersgroep(fac_groep_key, prs_perslid_key, fac_gebruikersgroep_vervaldatum) VALUES (1582, fac.safe_to_number(rec.fac_imp_csv_col02), NULL) ;
END IF ;
-- tot slot in tussentabel aangeven dat voor dit record de update is gedaan
UPDATE fac_imp_csv
SET fac_imp_csv_col17 = 'ok - doorgevoerd'
WHERE fac_import_key = p_import_key and fac_imp_csv_index = rec.fac_imp_csv_index ;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg :=
'OTHERS (error '
|| oracle_err_num
|| '/'
|| oracle_err_mes
|| ')';
fac.imp_writelog (p_import_key, 'E', v_aanduiding || v_errormsg, v_errorhint);
-- fac.writelog ('IMP_CSV_TAKEN', 'E', v_aanduiding || v_errormsg, v_errorhint);
END;
END LOOP;
-- logging wegschrijven op import generic_csv
fac.imp_writelog (p_import_key,
'I',
'Totaal aangepaste personen: ' || TO_CHAR(v_teller_personen),
'');
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