TMGP#89670 -- AiAi op rapport view TMGP_V_PROJECTMELDINGEN

svn path=/Customer/trunk/; revision=70086
This commit is contained in:
Norbert Wassink
2025-08-25 08:55:38 +00:00
parent bcd61824e9
commit f73aa4b47d

View File

@@ -94,142 +94,155 @@ BEGIN
END;
SELECT COUNT(*)
INTO v_Count
FROM fac_imp_perslid
WHERE fac_import_key=p_import_key;
FOR rec IN c(p_import_key)
LOOP
v_errormsg:='Fout bij ophalen persoon via medewerkerNr' ||rec.prs_kenmerk1 ;
v_prs_perslid_key:=-1;
-- ken ik de persoon op basis van het medewerkerNr (prs_kenmerk1)
BEGIN
SELECT prs_perslid_key INTO v_prs_perslid_key
from prs_perslid
where prs_perslid_externID=UPPER(rec.prs_kenmerk1)
AND prs_perslid_verwijder IS NULL;
v_action:='UPDATE';
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_prs_perslid_key:=-1;
END;
IF v_count> 1000
THEN
IF v_prs_perslid_key < 0
THEN
v_errormsg:='Fout bij ophalen persoon via medewerker initialen'|| SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1);
BEGIN
SELECT prs_perslid_key,
prs_perslid_naam,
prs_perslid_email,
prs_perslid_nr,
prs_perslid_externID
INTO v_prs_perslid_key,
v_prs_perslid_naam,
v_prs_perslid_email,
v_prs_perslid_nr,
v_prs_perslid_externid
FROM prs_perslid
WHERE prs_perslid_oslogin=UPPER(SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1))
AND prs_perslid_verwijder IS NULL;
v_action:= 'UPDATE';
FOR rec IN c(p_import_key)
LOOP
v_errormsg:='Fout bij ophalen persoon via medewerkerNr' ||rec.prs_kenmerk1 ;
v_prs_perslid_key:=-1;
-- ken ik de persoon op basis van het medewerkerNr (prs_kenmerk1)
BEGIN
SELECT prs_perslid_key INTO v_prs_perslid_key
from prs_perslid
where prs_perslid_externID=UPPER(rec.prs_kenmerk1)
AND prs_perslid_verwijder IS NULL;
v_action:='UPDATE';
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_prs_perslid_key:=-1;
END;
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- We kennen de persoon echt niet dus gaan we hem toevoegen
v_action:='INSERT';
END;
END IF;
IF v_prs_perslid_key = -1
THEN
v_errormsg:='Fout bij ophalen persoon via medewerker initialen'|| SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1);
BEGIN
SELECT prs_perslid_key,
prs_perslid_naam,
prs_perslid_email,
prs_perslid_nr,
prs_perslid_externID
INTO v_prs_perslid_key,
v_prs_perslid_naam,
v_prs_perslid_email,
v_prs_perslid_nr,
v_prs_perslid_externid
FROM prs_perslid
WHERE prs_perslid_oslogin=UPPER(SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1))
AND prs_perslid_verwijder IS NULL;
v_action:= 'UPDATE';
EXCEPTION
WHEN NO_DATA_FOUND THEN
-- We kennen de persoon echt niet dus gaan we hem toevoegen
v_action:='INSERT';
END;
END IF;
BEGIN
v_errormsg:='Fout bij ophalen afdeling';
SELECT prs_afdeling_key, prs_afdeling_naam into v_afdeling_key, v_afdeling_code
from prs_afdeling where prs_afdeling_naam=rec.prs_afdeling_naam AND prs_afdeling_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_aanduiding :='Afdeling '||rec.prs_afdeling_naam||' is niet gevonden dus '||rec.prs_perslid_naam||' is niet aangemaakt';
v_errormsg:='Afdeling fout';
v_action := '';
END;
BEGIN
v_errormsg:='Fout bij ophalen afdeling';
SELECT prs_afdeling_key, prs_afdeling_naam into v_afdeling_key, v_afdeling_code
from prs_afdeling where prs_afdeling_naam=rec.prs_afdeling_naam AND prs_afdeling_verwijder IS NULL;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_aanduiding :='Afdeling '||rec.prs_afdeling_naam||' is niet gevonden dus '||rec.prs_perslid_naam||' is niet aangemaakt';
v_errormsg:='Afdeling fout';
v_action := '';
END;
IF v_action='INSERT'
THEN
-- We kennen de persoon echt niet dus gaan we hem toevoegen
v_errormsg:='Fout bij toevoegen van perslid '|| rec.prs_perslid_naam;
IF INSTR(rec.prs_perslid_email,'@')> 1 THEN
v_prs_oslogin := SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1); -- Die persoon die een email adres hebben moeten onderdeel worden van de _Default groep
ELSE
v_prs_oslogin:=NULL;
END IF;
INSERT INTO prs_perslid
(prs_perslid_naam,
prs_perslid_voornaam,
prs_perslid_tussenvoegsel,
prs_perslid_email,
prs_perslid_oslogin,
prs_perslid_externid,
prs_perslid_nr,
prs_afdeling_key,
prs_srtperslid_key)
VALUES(rec.prs_perslid_naam,
rec.prs_perslid_voornaam,
rec.prs_perslid_tussenvoegsel,
rec.prs_perslid_email,
v_prs_oslogin,
rec.prs_kenmerk1,
rec.prs_perslid_nr,
v_afdeling_key,
v_functie);
v_insert_count:=v_insert_count+1;
IF v_action='INSERT'
THEN
-- We kennen de persoon echt niet dus gaan we hem toevoegen
v_errormsg:='Fout bij toevoegen van perslid '|| rec.prs_perslid_naam;
IF INSTR(rec.prs_perslid_email,'@')> 1 THEN
v_prs_oslogin := SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1); -- Die persoon die een email adres hebben moeten onderdeel worden van de _Default groep
ELSE
v_prs_oslogin:=NULL;
END IF;
INSERT INTO prs_perslid
(prs_perslid_naam,
prs_perslid_voornaam,
prs_perslid_tussenvoegsel,
prs_perslid_email,
prs_perslid_oslogin,
prs_perslid_externid,
prs_perslid_nr,
prs_afdeling_key,
prs_srtperslid_key)
VALUES(rec.prs_perslid_naam,
rec.prs_perslid_voornaam,
rec.prs_perslid_tussenvoegsel,
rec.prs_perslid_email,
v_prs_oslogin,
rec.prs_kenmerk1,
rec.prs_perslid_nr,
v_afdeling_key,
v_functie);
v_insert_count:=v_insert_count+1;
ELSIF v_action='UPDATE' THEN
-- We kennen de persoon wel dus gaan we hem updaten maar alleen als er mutaties zijn tov zijn huidge gegevens
UPDATE prs_perslid
SET prs_perslid_naam=rec.prs_perslid_naam,
prs_perslid_voornaam=rec.prs_perslid_voornaam,
prs_perslid_tussenvoegsel=rec.prs_perslid_tussenvoegsel,
prs_perslid_email=rec.prs_perslid_email,
prs_perslid_oslogin=SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1),
prs_perslid_nr=rec.prs_perslid_nr,
prs_perslid_externid=rec.prs_kenmerk1,
prs_afdeling_key=v_afdeling_key
WHERE prs_perslid_key=v_prs_perslid_key
AND (prs_perslid_nr != rec.prs_perslid_nr
OR prs_perslid_naam != rec.prs_perslid_naam
OR prs_perslid_email != rec.prs_perslid_email
-- OR prs_perslid_oslogin != rec.prs_kenmerk1
OR prs_afdeling_key != v_afdeling_key);
v_update_count:=v_update_count+1;
v_aanduiding:='';
ELSIF v_action='UPDATE' THEN
-- We kennen de persoon wel dus gaan we hem updaten maar alleen als er mutaties zijn tov zijn huidge gegevens
UPDATE prs_perslid
SET prs_perslid_naam=rec.prs_perslid_naam,
prs_perslid_voornaam=rec.prs_perslid_voornaam,
prs_perslid_tussenvoegsel=rec.prs_perslid_tussenvoegsel,
prs_perslid_email=rec.prs_perslid_email,
prs_perslid_oslogin=SUBSTR(rec.prs_perslid_email,1,INSTR(rec.prs_perslid_email,'@')-1),
prs_perslid_nr=rec.prs_perslid_nr,
prs_perslid_externid=rec.prs_kenmerk1,
prs_afdeling_key=v_afdeling_key
WHERE prs_perslid_key=v_prs_perslid_key
AND (prs_perslid_nr != rec.prs_perslid_nr
OR prs_perslid_naam != rec.prs_perslid_naam
OR prs_perslid_email != rec.prs_perslid_email
-- OR prs_perslid_oslogin != rec.prs_kenmerk1
OR prs_afdeling_key != v_afdeling_key);
v_update_count:=v_update_count+1;
v_aanduiding:='';
END IF;
END IF;
IF LENGTH(v_aanduiding)>1 THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
IF LENGTH(v_aanduiding)>1 THEN
v_errorhint := v_errormsg || ' - ' || v_aanduiding;
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
v_errorhint);
ELSE
v_aanduiding:='';
END IF;
fac.imp_writelog (p_import_key,
'W',
v_errormsg,
v_errorhint);
ELSE
v_aanduiding:='';
END IF;
END LOOP;
END LOOP;
fac.imp_writelog (p_import_key,
'W',
'Resultaat',
v_insert_count||' accounts toegevoegd.');
fac.imp_writelog (p_import_key,
'W',
'Resultaat',
v_insert_count||' accounts toegevoegd.');
FOR rec_del IN c_del(p_import_key)
LOOP
prs.delete_perslid (p_import_key, rec_del.prs_perslid_key);
END LOOP;
FOR rec_del IN c_del(p_import_key)
LOOP
prs.delete_perslid(p_import_key, rec_del.prs_perslid_key);
END LOOP;
ELSE
fac.imp_writelog (p_import_key,
'E',
'Fout besatand',
'Het aangeleverde bestand heeft maar '||v_count||' regels terwijl er meer dan 1000 worden verwacht. ');
END IF;
COMMIT;
@@ -252,7 +265,7 @@ END;
CREATE OR REPLACE PROCEDURE TMGP_IMPORT_PATDATA(p_import_key NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
NULL;
END;
/
@@ -273,7 +286,7 @@ CREATE OR REPLACE PROCEDURE TMGP_IMPORT_TAKEN_OVERIG(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
NULL;
END;
/
@@ -500,7 +513,7 @@ CREATE OR REPLACE PROCEDURE TMGP_IMPORT_TAKEN_MJOB(p_import_key IN NUMBER)
AS
BEGIN
fac_import_genericcsv(p_import_key);
NULL;
END;
/
@@ -990,7 +1003,7 @@ AS
WHERE mk.mld_kenmerk_code = 'PROJECTSTATUS'
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mkm.mld_melding_key=m.mld_melding_key
AND fud.fac_usrdata_key=mkm.mld_kenmerkmelding_waarde) projectstatus,
AND fud.fac_usrdata_key=fac.safe_to_number(mkm.mld_kenmerkmelding_waarde)) projectstatus,
(SELECT mkm.mld_kenmerkmelding_waarde
FROM mld_kenmerkmelding mkm, mld_kenmerk mk
WHERE mk.mld_kenmerk_code = 'BEDRAG'
@@ -1019,13 +1032,13 @@ AS
WHERE mk.mld_kenmerk_code = 'GEPLAND'
AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key
AND mkm.mld_melding_key=m.mld_melding_key
AND fud.fac_usrdata_key=mkm.mld_kenmerkmelding_waarde) gepland_huidgjaar,
AND fud.fac_usrdata_key=fac.safe_to_number(mkm.mld_kenmerkmelding_waarde)) gepland_huidgjaar,
(SELECT fud.fac_usrdata_omschr
FROM mld_kenmerkmelding mkm, mld_kenmerk mk, fac_usrdata fud
WHERE mk.mld_kenmerk_code = 'BEGROOT'
AND mkm.mld_kenmerk_key = mk.MLD_kENMERK_KEY
AND mkm.mld_melding_key=m.mld_melding_key
AND fud.fac_usrdata_key=mkm.mld_kenmerkmelding_waarde) begroot
AND fud.fac_usrdata_key=fac.safe_to_number(mkm.mld_kenmerkmelding_waarde)) begroot
FROM mld_melding m,
mld_stdmelding sm,
mld_statuses stat