TMGP#89670 -- AiAi op rapport view TMGP_V_PROJECTMELDINGEN
svn path=/Customer/trunk/; revision=70086
This commit is contained in:
257
TMGP/TMGP.sql
257
TMGP/TMGP.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user