FZKH#87266 -- Implementatie - Bijlage import en Asset afbeeldingen

svn path=/Customer/trunk/; revision=70335
This commit is contained in:
Norbert Wassink
2025-09-16 10:00:38 +00:00
parent be6511b733
commit a06c16997b

View File

@@ -1494,7 +1494,8 @@ END;
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_INSPECTIES(p_import_key IN NUMBER)
AS
BEGIN
fac_import_inspectie(p_import_key);
--fac_import_inspectie(p_import_key);
NULL;
END;
/
@@ -1522,7 +1523,19 @@ AS
CURSOR c_inspecties
IS
SELECT * FROM fac_imp_inspectie;
SELECT fac_imp_csv_col01 INS_DISCIPLINE_OMSCHRIJVING,
fac_imp_csv_col02 INS_SRTGROEP_OMSCHRIJVING,
fac_imp_csv_col03 INS_SRTDEEL_CODE,
fac_imp_csv_col04 INS_SRTCONTROLE_OMSCHRIJVING,
fac_imp_csv_col05 INS_SRTCONTROLE_INFO,
fac_imp_csv_col06 INS_SRTCONTROLE_PERIODE,
fac_imp_csv_col07 INS_SRTCONTROLE_MODE,
fac_imp_csv_col08 INS_SRTCONTROLE_EENHEID,
fac_imp_csv_col09 INS_SRTCONTROLE_BITS,
fac_imp_csv_col10 INS_SRTCONTROLE_OPMERKING
FROM fac_imp_csv
WHERE fac_import_key=p_import_key;
-- MAIN
BEGIN
FOR rec_ins IN c_inspecties
@@ -1614,7 +1627,8 @@ BEGIN
ins_srtcontrole_eenheid, -- 0=uurlijks, 1=dagelijks, 2=wekelijk, 3=maandelijk, 4=jaarlijks, null=niet
ins_srtcontrole_mode, -- 0=moment-modus of 1=interval-modus
ins_srtcontrole_bits, -- 1=Jan, 2=Feb, 4=mart, 8=april enz
ctr_discipline_key
ctr_discipline_key,
ins_srtcontrole_opmerking
)
VALUES (v_ins_srtinstallatie_key,
v_ins_srtcontrole_niveau,
@@ -1624,7 +1638,8 @@ BEGIN
rec_ins.ins_srtcontrole_eenheid,
rec_ins.ins_srtcontrole_mode,
rec_ins.ins_srtcontrole_bits,
v_ctr_ins_discipline_key
v_ctr_ins_discipline_key,
rec_ins.ins_srtcontrole_opmerking
);
ELSE
IF rec_ins.ins_srtcontrole_mode = 0 AND (v_week_bits = 0 OR v_maand_bits = 0)
@@ -1850,16 +1865,18 @@ CREATE OR REPLACE PROCEDURE FZKH_UPDATE_RESERVERINGEN (p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv_col01 ultimo_code,
fac_imp_csv_col02 ultimo_code_volgnr,
fac_imp_csv_col03 res_ruimte_nr,
fac_imp_csv_col06 res_startdatum,
fac_imp_csv_col07 res_einddatum,
fac_imp_csv_col08 res_status,
fac_imp_csv_col09 res_aanvrager,
fac_imp_csv_col10 res_omschrijving
SELECT fac_imp_csv_key csv_key,
fac_imp_csv_col02 ultimo_code,
fac_imp_csv_col01 ultimo_code_volgnr,
fac_imp_csv_col13 res_ruimte_nr,
fac_imp_csv_col04 res_startdatum,
fac_imp_csv_col05 res_einddatum,
fac_imp_csv_col10 res_aanvrager,
fac_imp_csv_col06 res_omschrijving
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
AND fac_imp_csv_col15='FLEVO'
AND UPPER(fac_imp_csv_col02) <> UPPER('Reserveringen')
ORDER BY fac_imp_csv_key;
v_res_startdatum DATE;
@@ -1895,12 +1912,12 @@ BEGIN
THEN
FOR rec IN sel
LOOP
IF rec.ultimo_code <>'Code reservering'
IF rec.ultimo_code <>'Reserveringen'
THEN
-- Heb ik de reserverig al
v_volgnr:=fac.safe_to_number(rec.ultimo_code_volgnr);
v_reservering_key:=0;
BEGIN
SELECT r.res_reservering_key
INTO v_reservering_key
@@ -1915,11 +1932,13 @@ BEGIN
v_reservering_key:=-1;
END;
IF v_reservering_key=-1 -- alleen aanmaken als we hem nog niet hebben
v_res_startdatum := fac.safe_to_date(SUBSTR(rec.res_startdatum,1,16),'YYYY-MM-DD HH24:MI');
v_res_einddatum := fac.safe_to_date(SUBSTR(rec.res_einddatum,1,16),'YYYY-MM-DD HH24:MI');
IF v_reservering_key < 0 -- alleen aanmaken als we hem nog niet hebben
THEN
v_res_startdatum := fac.safe_to_date(rec.res_startdatum,'DD-MM-YYYY HH24:MI');
v_res_einddatum := fac.safe_to_date(rec.res_einddatum,'DD-MM-YYYY HH24:MI');
BEGIN
BEGIN
SELECT prs_perslid_key
INTO v_prs_perslid_key
FROM prs_perslid p
@@ -1959,13 +1978,13 @@ BEGIN
THEN
IF v_reservering_key=-1
THEN
v_errormsg := 'Fout toevoegen res_reservering ('||rec.csv_key||').';
INSERT INTO res_reservering (res_reservering_verwijder, res_reservering_externnr)
VALUES (NULL, rec.ultimo_code)
RETURNING res_reservering_key
INTO v_reservering_key;
END IF;
v_errormsg := 'Fout toevoegen res_rsv_ruimte.';
v_errormsg := 'Fout toevoegen res_rsv_ruimte ('||rec.csv_key||').';
INSERT INTO res_rsv_ruimte (res_reservering_key,
res_rsv_ruimte_volgnr,
res_rsv_ruimte_opmerking,
@@ -2038,6 +2057,168 @@ END;
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_CATERING (
p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_CATERING (
p_import_key IN NUMBER)
AS
CURSOR catres IS
WITH
rr_set
AS
(SELECT rr.res_reservering_externnr,
rrr.res_rsv_ruimte_volgnr,
rr.res_reservering_key,
rrr.res_rsv_ruimte_key,
/* voeg hier de kolommen toe die je nodig hebt uit rr/rrr */
ROW_NUMBER ()
OVER (
PARTITION BY rr.res_reservering_externnr,
rrr.res_rsv_ruimte_volgnr
ORDER BY rr.res_reservering_key DESC -- kies je eigen logica
) rn
FROM res_reservering rr
JOIN res_rsv_ruimte rrr
ON rrr.res_reservering_key =
rr.res_reservering_key)
SELECT fac_imp_csv_col02 AS ultimo_code,
fac_imp_csv_col01 AS ultimo_code_volgnr,
fac_imp_csv_col13 AS ultimo_art_nr,
fac_imp_csv_col14 AS ultimo_art_omschrijving,
art.RES_ARTIKEL_key AS artikel_key,
fac_imp_csv_col12 AS aantal,
fac.safe_to_date (
TO_CHAR (
CAST (
TO_TIMESTAMP_TZ (
fac_imp_csv_col04,
'YYYY-MM-DD HH24:MI:SS.FF7 TZH:TZM')
AT LOCAL
AS DATE),
'DD/MM/YYYY HH24:MI:SS'),
'DD/MM/YYYY HH24:MI:SS') AS van,
rs.res_rsv_ruimte_key AS res_rsv_ruimte_key,
rs.res_reservering_key AS reservering_key,
rs.res_rsv_ruimte_volgnr AS res_rsv_ruimte_volgnr
FROM fac_imp_csv fac
LEFT JOIN res_artikel art
ON fac.safe_to_number (fac.fac_imp_csv_col13) =
fac.safe_to_number (art.res_artikel_nr)
LEFT JOIN rr_set rs
ON rs.res_reservering_externnr=fac.fac_imp_csv_col02
AND fac.safe_to_number(res_rsv_ruimte_volgnr)=fac.safe_to_number(fac_imp_csv_col01)
AND rs.rn = 1
WHERE fac_import_key = p_import_key
AND fac_imp_csv_col02 <> 'Reservering'
AND fac_imp_csv_col15 = 'NULL'
ORDER BY fac_imp_csv_key;
-- v_res_startdatum DATE;
-- v_res_einddatum DATE;
-- v_prs_perslid_key NUMBER;
-- v_res_ruimte_opstel_key NUMBER;
-- v_res_activiteit_key NUMBER;
-- v_rsv_ruimte_key NUMBER;
-- v_reservering_key NUMBER;
c_fielddelimitor VARCHAR2 (1) := ';';
v_newline VARCHAR2 (1000); -- Input line
v_errormsg VARCHAR2 (1000) := '-';
v_errorhint VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (500);
v_reservering_key NUMBER;
v_res_rsv_ruimte_key NUMBER;
v_res_rsv_artikel_key NUMBER;
v_ruimte_opstel_key NUMBER;
v_soort VARCHAR2 (200);
-- v_count NUMBER;
-- v_res_kenmerk_key NUMBER;
-- v_status_bo NUMBER;
-- v_status_fo NUMBER;
-- v_volgnr NUMBER;
-- v_no_show NUMBER;
BEGIN
FOR rec IN catres
LOOP
BEGIN
v_aanduiding :=
rec.ultimo_code || '-' || rec.ultimo_art_nr || '/1';
v_errormsg := 'Fout toevoegen rsv_artikel';
IF rec.artikel_key IS NOT NULL
THEN
INSERT INTO res_rsv_artikel (res_artikel_key,
res_rsv_artikel_aantal,
res_rsv_artikel_levering,
res_status_bo_key,
res_rsv_ruimte_key)
VALUES (rec.artikel_key,
rec.aantal,
rec.van,
2,
rec.res_rsv_ruimte_key)
RETURNING res_rsv_artikel_key
INTO v_res_rsv_artikel_key;
FAC.trackaction (
'#RESUPD',
rec.res_rsv_ruimte_key,
3,
SYSDATE,
'Reservering '
|| rec.reservering_key
|| '/'
|| rec.res_rsv_ruimte_volgnr
|| ' gewijzigd'
|| CHR (13)
|| 'Artikel '
|| rec.ultimo_art_omschrijving
|| ' toegevoegd');
fac.imp_writelog (
p_import_key,
'I',
'Catering '
|| rec.reservering_key
|| ' bijgevoegd bij Ultimo reservering '
|| rec.ultimo_code,
'');
ELSE
fac.imp_writelog (
p_import_key,
'E',
'Catering '
|| rec.reservering_key
|| ' NIET bijgevoegd bij Ultimo reservering '
|| rec.ultimo_code,
'Error: Artikel_key is NULL, geen insert uitgevoerd.');
END IF;
EXCEPTION
WHEN OTHERS
THEN
fac.imp_writelog (
p_import_key,
'E',
'Catering '
|| rec.reservering_key
|| ' NIET bijgevoegd bij Ultimo reservering '
|| rec.ultimo_code,
'Error: ' || SQLERRM);
END;
END LOOP;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_ULTIMO_MLD(p_import IN NUMBER)
@@ -2718,10 +2899,7 @@ BEGIN
fac_import_file2csv(p_import_key);
v_locatie_code:='FZKH';
v_gebouw_code:='FZKH';
v_verdieping_nr:='0';
v_ruimte_nr := '_TD_MIGRATIE';
DELETE FROM fac_imp_ins;
COMMIT;
@@ -2763,8 +2941,28 @@ BEGIN
v_ins_groep:=rec.ins_groep;
END IF;
IF LENGTH(rec.ins_kenm_ruimtenr)>0
THEN
BEGIN
SELECT 'FZKH', 'FZKH',alg_verdieping_code,alg_ruimte_nr
INTO v_locatie_code,v_gebouw_code,v_verdieping_nr,v_ruimte_nr
FROM alg_v_ruimte_gegevens a
WHERE a.alg_ruimte_nr=rec.ins_kenm_ruimtenr;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_locatie_code:='FZKH';
v_gebouw_code:='FZKH';
v_verdieping_nr:='0';
v_ruimte_nr := '_TD_MIGRATIE';
END;
ELSE
v_locatie_code:='FZKH';
v_gebouw_code:='FZKH';
v_verdieping_nr:='0';
v_ruimte_nr := '_TD_MIGRATIE';
END IF;
-- hebben we hem al
@@ -2853,13 +3051,15 @@ END;
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_TD_ASSETS(p_import_key IN NUMBER)
AS
CURSOR sel
IS
SELECT fac_imp_csv_key regel_key,
fac_imp_csv_col01 ins_deel_omschrijving,
fac_imp_csv_col08 prs_afdeling_code
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
AND UPPER(fac_imp_csv_col01) <> 'ULTIMONR'
IS
SELECT csv.fac_imp_csv_key regel_key,
csv.fac_imp_csv_col01 ins_deel_omschrijving,
csv.fac_imp_csv_col08 prs_afdeling_code
FROM fac_imp_csv csv , fac_imp_ins i
WHERE csv.fac_import_key=p_import_key
AND UPPER(csv.fac_imp_csv_col01) <> 'ULTIMONR'
AND fac_imp_csv_col01=i.ins_deel_omschrijving
AND i.alg_ruimte_nr='_TD_MIGRATIE'
ORDER BY fac_imp_csv_key;
CURSOR sel_ctr
@@ -2914,6 +3114,14 @@ BEGIN
-- Objecten verwerken
fac_update_ins(p_import_key);
-- Nu alle objectsoorten updaten naar dat ze een ruimte of afdeling ondersteunen.
UPDATE ins_srtdeel
SET ins_srtdeel_binding=9
WHERE ins_srtdeel_key IN (select ins_srtdeel_key
from ins_srtdeel isd, ins_srtgroep isg
where isg.ins_discipline_key=641 -- Technische Dienst
AND isd.ins_srtgroep_key = isg.ins_srtgroep_key);
-- Objcten aan de juite afdeling koppelen
FOR rec IN sel
@@ -3181,9 +3389,11 @@ AS
fac_imp_csv_col40 ins_kenm_service_leverancier,
fac_imp_csv_col42 ins_kenm_fabrikant,
fac_imp_csv_col43 ins_kenm_mdd_clas,
fac_imp_csv_col44 ins_kenm_udi,
fac_imp_csv_col46 ins_kenm_garantie,
fac_imp_csv_col48 ins_onderhoud_datum,
fac_imp_csv_col50 ins_kenm_status
fac_imp_csv_col50 ins_kenm_status,
fac_imp_csv_col57 ins_kenm_ordernummer
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
ORDER BY fac_imp_csv_key;
@@ -3290,7 +3500,10 @@ BEGIN
ins_kenmerkwaarde14,
ins_kenmerkwaarde15,
ins_kenmerkwaarde16,
ins_kenmerkwaarde17)
ins_kenmerkwaarde17,
ins_kenmerkwaarde18,
ins_kenmerkwaarde19
)
VALUES (rec.ins_discipline,
rec.ins_groep,
SUBSTR(rec.ins_srtdeel_code,1,8),
@@ -3320,7 +3533,9 @@ BEGIN
'Onderhouddatum|0='||rec.ins_onderhoud_datum,
'Klantstatus|0='||v_klantstatus,
'Afvoer datum|0='||v_vervaldatum,
'Fysieke Locatie|0='||v_huidige_fys_locatie
'Fysieke Locatie|0='||v_huidige_fys_locatie,
'UDI|0='||rec.ins_kenm_udi,
'Ordernummer|0='||rec.ins_kenm_ordernummer
);
ELSE
fac.imp_writelog (p_import_key,
@@ -3646,6 +3861,115 @@ EXCEPTION
END;
/
CREATE OR REPLACE PROCEDURE FZKH_INSERT_ULTIMO_ASSETPIC(p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_ULTIMO_ASSETPIC(p_import_key IN NUMBER)
AS
CURSOR c1
IS
SELECT fac_imp_csv_key csv_key,
fac_imp_csv_col01 ultimoNr,
fac_imp_csv_col02 ultimo_omschrijving,
fac_imp_csv_col03 file_path1,
fac_imp_csv_col04 file_path2,
fac_imp_csv_col05 file_path3,
fac_imp_csv_col06 file_path4
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
AND UPPER(fac_imp_csv_col01) <> UPPER('instrumentnummer')
AND fac_imp_csv_col03 <>'NULL';
v_errormsg VARCHAR2 (1000) := '-';
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_aanduiding VARCHAR2 (200);
v_code VARCHAR2(10);
v_image VARCHAR(255);
v_ultimonr VARCHAR2(10);
v_count NUMBER:=0;
V_total_count NUMBER:=0;
BEGIN
SELECT COUNT(*)
INTO V_total_count
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
AND UPPER(fac_imp_csv_col01) <> UPPER('instrumentnummer')
AND fac_imp_csv_col03 <>'NULL';
FOR rec in c1
LOOP
IF LENGTH(rec.ultimonr)<>6
THEN
v_ultimoNr:=LPAD(rec.ultimonr,'0');
ELSE
v_ultimonr:=rec.ultimonr;
END IF;
v_image := SUBSTR(rec.file_path1, INSTR(rec.file_path1,'\',1,3)+1);
UPDATE ins_deel i
SET i.ins_deel_image = v_image
WHERE ins_deel_omschrijving=v_ultimonr;
v_count:=v_count+1;
END LOOP;
fac.imp_writelog (p_import_key,
'I',
'Afbeeldingen ingelezen :'||v_total_count||' waarvan er '||v_count||' zijn verwerkt.',
'');
END;
/
CREATE OR REPLACE PROCEDURE FZKH_INSERT_ULTIMO_BIJLAGES(p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
CREATE OR REPLACE PROCEDURE FZKH_UPDATE_ULTIMO_BIJLAGES(p_import_key IN NUMBER)
AS
CURSOR c1
IS
SELECT fac_imp_csv_key csv_key,
fac_imp_csv_col04 classificatie
FROM fac_imp_csv
WHERE fac_import_key=p_import_key
AND fac_imp_csv_col01<>'ULTIMONR';
v_code VARCHAR2(10);
BEGIN
FOR rec IN c1
LOOP
BEGIN
SELECT MIN(f.FAC_USRDATA_OMSCHR) code
INTO v_code
FROM FAC_USRDATA f, FAC_USRTAB fut
WHERE fut.FAC_USRTAB_NAAM= 'BIJLAGE_MIGRATIE'
AND f.FAC_USRTAB_KEY = fut.FAC_USRTAB_KEY
AND rec.classificatie LIKE '%'||f.FAC_USRDATA_code||'%';
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_code:='OVER';
END;
UPDATE fac_imp_csv SET fac_imp_csv_col06=v_code WHERE fac_imp_csv_key=rec.csv_key;
END LOOP;
COMMIT;
END;
/
-- RAPORTAGE VIEWS
-- MT : RAPPORT TBV PROEFPLAATSINGEN
@@ -3726,7 +4050,7 @@ AS
UNION ALL -- Personen behouden als ooit gebruikt!
SELECT DISTINCT pf.prs_perslid_key, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, TRUNC (SYSDATE, 'yyyy')
FROM fac_kenmerkdomein kd, mld_srtkenmerk sk, mld_kenmerk k, mld_kenmerkmelding km, prs_v_perslid_fullnames_all pf
WHERE kd.fac_kenmerkdomein_objectnaam IN ('FZKH_V_TEAMLEIDERS_ICT', 'PRS_V_PERSLID_FULLNAMES', 'PRS_V_PERSLID_FULLNAMES_ALL')
WHERE UPPER (kd.fac_kenmerkdomein_objectnaam) = 'FZKH_V_HOOFDEN_ICT'
AND kd.fac_kenmerkdomein_key = sk.fac_kenmerkdomein_key
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = km.mld_kenmerk_key
@@ -3756,7 +4080,7 @@ AS
UNION ALL -- Personen behouden als ooit gebruikt!
SELECT DISTINCT pf.prs_perslid_key, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, TRUNC (SYSDATE, 'yyyy')
FROM fac_kenmerkdomein kd, mld_srtkenmerk sk, mld_kenmerk k, mld_kenmerkmelding km, prs_v_perslid_fullnames_all pf
WHERE kd.fac_kenmerkdomein_objectnaam IN ('FZKH_V_TEAMLEIDERS_ICT', 'PRS_V_PERSLID_FULLNAMES', 'PRS_V_PERSLID_FULLNAMES_ALL')
WHERE UPPER (kd.fac_kenmerkdomein_objectnaam) = 'FZKH_V_ARCHITECTEN_ICT'
AND kd.fac_kenmerkdomein_key = sk.fac_kenmerkdomein_key
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = km.mld_kenmerk_key
@@ -3786,7 +4110,7 @@ AS
UNION ALL -- Personen behouden als ooit gebruikt!
SELECT DISTINCT pf.prs_perslid_key, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, TRUNC (SYSDATE, 'yyyy')
FROM fac_kenmerkdomein kd, mld_srtkenmerk sk, mld_kenmerk k, mld_kenmerkmelding km, prs_v_perslid_fullnames_all pf
WHERE kd.fac_kenmerkdomein_objectnaam IN ('FZKH_V_TEAMLEIDERS_ICT', 'PRS_V_PERSLID_FULLNAMES', 'PRS_V_PERSLID_FULLNAMES_ALL')
WHERE UPPER (kd.fac_kenmerkdomein_objectnaam) = 'FZKH_V_TEAMLEIDERS_ICT'
AND kd.fac_kenmerkdomein_key = sk.fac_kenmerkdomein_key
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = km.mld_kenmerk_key
@@ -3816,7 +4140,7 @@ AS
UNION ALL -- Personen behouden als ooit gebruikt!
SELECT DISTINCT pf.prs_perslid_key, pf.prs_perslid_naam_full, pf.prs_perslid_naam_friendly, TRUNC (SYSDATE, 'yyyy')
FROM fac_kenmerkdomein kd, mld_srtkenmerk sk, mld_kenmerk k, mld_kenmerkmelding km, prs_v_perslid_fullnames_all pf
WHERE kd.fac_kenmerkdomein_objectnaam IN ('FZKH_V_ICT_ALL', 'PRS_V_PERSLID_FULLNAMES', 'PRS_V_PERSLID_FULLNAMES_ALL')
WHERE UPPER (kd.fac_kenmerkdomein_objectnaam) = 'FZKH_V_ICT_ALL'
AND kd.fac_kenmerkdomein_key = sk.fac_kenmerkdomein_key
AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key
AND k.mld_kenmerk_key = km.mld_kenmerk_key