FZKH#87266 -- Implementatie - TD assets/taken import
svn path=/Customer/trunk/; revision=70123
This commit is contained in:
291
FZKH/FZKH.sql
291
FZKH/FZKH.sql
@@ -2674,20 +2674,20 @@ AS
|
||||
SELECT fac_imp_csv_col01 ins_deel_omschrijving,
|
||||
fac_imp_csv_col02 ins_kenm_intern,
|
||||
fac_imp_csv_col03 ins_deel_opmerking,
|
||||
TRIM(SUBSTR(fac_imp_csv_col04,6)) ins_srtdeel_omschrijving,
|
||||
SUBSTR(fac_imp_csv_col04,1,5) ins_srtdeel_code,
|
||||
TRIM(SUBSTR(TRIM(fac_imp_csv_col04),6)) ins_srtdeel_omschrijving,
|
||||
TRIM(SUBSTR(TRIM(fac_imp_csv_col04),1,5)) ins_srtdeel_code,
|
||||
fac_imp_csv_col05 ins_kenm_locatiecode,
|
||||
fac_imp_csv_col06 ins_kenm_locatienaam,
|
||||
fac_imp_csv_col07 ins_kenm_ruimtenr,
|
||||
fac_imp_csv_col08 ins_kenm_eigncode,
|
||||
fac_imp_csv_col09 ins_kenm_eignnaam,
|
||||
fac_imp_csv_col11 ins_groep,
|
||||
TRIM(fac_imp_csv_col11) ins_groep,
|
||||
-- fac_imp_csv_col1 ins_verval_datum,
|
||||
fac_imp_csv_col12 ins_kenm_status,
|
||||
fac_imp_csv_col12 ins_kenm_status,
|
||||
fac_imp_csv_col16 ins_kenm_fabrikant,
|
||||
fac_imp_csv_col17 ins_kenm_ruimtenaam,
|
||||
fac_imp_csv_col18 ins_kenm_leverancier,
|
||||
fac_imp_csv_col20 ins_kenm_bouwjaar,
|
||||
fac_imp_csv_col19 ins_kenm_bouwjaar,
|
||||
fac_imp_csv_col20 ins_kenm_type,
|
||||
fac_imp_csv_col21 ins_kenm_model,
|
||||
fac_imp_csv_col22 ins_kenm_serienr,
|
||||
@@ -2695,6 +2695,7 @@ AS
|
||||
fac_imp_csv_col24 ins_kenm_instaldatum,
|
||||
fac_imp_csv_col25 ins_kenm_mdd_clas,
|
||||
fac_imp_csv_col26 ins_onderhoud_datum,
|
||||
fac_imp_csv_col27 ins_onderhoud_datum_laatst,
|
||||
fac_imp_csv_col32 ins_srtgroep_fb,
|
||||
fac_imp_csv_col33 ins_kenm_aanschafprijs
|
||||
FROM fac_imp_csv
|
||||
@@ -2803,7 +2804,8 @@ BEGIN
|
||||
ins_kenmerkwaarde11,
|
||||
ins_kenmerkwaarde12,
|
||||
ins_kenmerkwaarde13,
|
||||
ins_kenmerkwaarde14
|
||||
ins_kenmerkwaarde14,
|
||||
ins_kenmerkwaarde15
|
||||
)
|
||||
VALUES ('Technische Dienst',
|
||||
v_ins_groep,
|
||||
@@ -2829,9 +2831,10 @@ BEGIN
|
||||
'Einde Garantie|0='||rec.ins_kenm_garantie,
|
||||
'Status|0='||rec.ins_kenm_status,
|
||||
'Installatie datum|0='||rec.ins_kenm_instaldatum,
|
||||
'Onderhouddatum|0='||rec.ins_onderhoud_datum,
|
||||
'Fysieke Locatie|0='||v_huidige_fys_locatie,
|
||||
'InternNr|0='||rec.ins_kenm_intern
|
||||
'Onderhouddatum|0='||rec.ins_onderhoud_datum,
|
||||
'Fysieke Locatie|0='||v_huidige_fys_locatie,
|
||||
'InternNr|0='||rec.ins_kenm_intern,
|
||||
'Aanschafprijs|0='||rec.ins_kenm_aanschafprijs
|
||||
);
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
@@ -2851,30 +2854,71 @@ CREATE OR REPLACE PROCEDURE FZKH_UPDATE_TD_ASSETS(p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR sel
|
||||
IS
|
||||
SELECT fac_imp_csv_col01 ins_deel_omschrijving,
|
||||
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'
|
||||
ORDER BY fac_imp_csv_key;
|
||||
|
||||
CURSOR sel_ctr
|
||||
IS
|
||||
SELECT fac_imp_csv_key regel_key,
|
||||
fac_imp_csv_col01 ins_deel_omschrijving,
|
||||
TRIM(SUBSTR(TRIM(fac_imp_csv_col04),6)) ins_srtdeel_omschrijving,
|
||||
TRIM(SUBSTR(TRIM(fac_imp_csv_col04),1,5)) ins_srtdeel_code,
|
||||
fac_imp_csv_col11 ins_groep,
|
||||
fac_imp_csv_col08 prs_afdeling_code,
|
||||
fac_imp_csv_col26 ctr_datum_next,
|
||||
fac_imp_csv_col27 ctr_datum_last
|
||||
FROM fac_imp_csv
|
||||
WHERE fac_import_key=p_import_key
|
||||
AND UPPER(fac_imp_csv_col01) <> 'ULTIMONR'
|
||||
AND ( fac_imp_csv_col26 IS NOT NULL
|
||||
OR fac_imp_csv_col27 IS NOT NULL)
|
||||
ORDER BY fac_imp_csv_key;
|
||||
|
||||
v_errormsg VARCHAR2 (1000) := '-';
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
|
||||
v_error NUMBER;
|
||||
v_ins_deel_key NUMBER;
|
||||
v_prs_afdeling_key NUMBER;
|
||||
v_ins_srtdeel_key NUMBER;
|
||||
v_ins_disciplne_key NUMBER;
|
||||
v_ins_srtgroep_key NUMBER;
|
||||
|
||||
v_srtcontrole_key NUMBER;
|
||||
v_count NUMBER;
|
||||
v_counter NUMBER;
|
||||
v_counter_update NUMBER;
|
||||
v_ins_deelsrtcontrole_key NUMBER;
|
||||
|
||||
v_ctr_groep VARCHAR2(20);
|
||||
v_ctr_omschrijving VARCHAR2(20);
|
||||
v_ctr_periode NUMBER;
|
||||
v_ctr_eenheid NUMBER;
|
||||
v_ctr_mode NUMBER;
|
||||
v_ctr_onderhoud_datum DATE;
|
||||
v_ctr_discipline_key NUMBER;
|
||||
v_jaren NUMBER;
|
||||
|
||||
BEGIN
|
||||
|
||||
v_counter:=0;
|
||||
v_counter_update :=0;
|
||||
|
||||
-- Objecten verwerken
|
||||
fac_update_ins(p_import_key);
|
||||
|
||||
|
||||
-- Objcten aan de juite afdeling koppelen
|
||||
FOR rec IN sel
|
||||
LOOP
|
||||
v_aanduiding :='UPDATE AFDELING: Verwerken fout in fac_imp_csv_key '||rec.regel_key;
|
||||
BEGIN
|
||||
SELECT ins_deel_key
|
||||
INTO v_ins_deel_key
|
||||
@@ -2936,11 +2980,181 @@ BEGIN
|
||||
|
||||
|
||||
END LOOP;
|
||||
|
||||
|
||||
-- Taken aanmaken voor assets
|
||||
v_error:=0;
|
||||
BEGIN
|
||||
SELECT ins_discipline_key
|
||||
INTO v_ctr_discipline_key
|
||||
FROM ctr_discipline
|
||||
WHERE ins_discipline_omschrijving='TD-Onderhoud';
|
||||
|
||||
ExCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_error:=1;
|
||||
END;
|
||||
|
||||
IF v_error=0 THEN
|
||||
v_ctr_omschrijving :='Onderhoud';
|
||||
v_ctr_periode:=1;
|
||||
v_ctr_eenheid:=4;
|
||||
v_ctr_mode:=1;
|
||||
|
||||
FOR rec_ctr IN sel_ctr
|
||||
LOOP
|
||||
v_aanduiding :='AANMAKEN TAKEN: Verwerken fouut in fac_imp_csv_key '||rec_ctr.regel_key;
|
||||
BEGIN
|
||||
v_error:=0;
|
||||
SELECT ins_srtdeel_key, ins_deel_key
|
||||
INTo v_ins_srtdeel_key, v_ins_deel_key
|
||||
FROm ins_v_deel_gegevens
|
||||
where ins_srtdeel_upper=UPPER(rec_ctr.ins_srtdeel_omschrijving)
|
||||
AND UPPER(ins_discipline_omschrijving)=UPPER('Technische Dienst')
|
||||
AND ins_deel_omschrijving=rec_ctr.ins_deel_omschrijving;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
v_error:=1;
|
||||
END;
|
||||
|
||||
IF v_error=0
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT MIN(ins_srtcontrole_key)
|
||||
INTO v_srtcontrole_key
|
||||
FROM ins_srtcontrole
|
||||
WHERE ins_srtinstallatie_key=v_ins_srtdeel_key
|
||||
AND ins_srtcontrole_niveau='S'
|
||||
AND UPPER(ins_srtcontrole_omschrijving) like UPPER('Onderhoud')
|
||||
GROUP BY ins_srtcontrole_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO ins_srtcontrole (INS_SRTINSTALLATIE_KEY,
|
||||
ins_srtcontrole_niveau,
|
||||
ins_srtcontrole_omschrijving,
|
||||
ctr_discipline_key,
|
||||
ins_srtcontrole_info,
|
||||
ins_srtcontrole_periode,
|
||||
ins_srtcontrole_eenheid,
|
||||
ins_srtcontrole_bits,
|
||||
ins_srtcontrole_mode,
|
||||
ins_srtcontrole_level)
|
||||
VALUES (v_ins_srtdeel_key,
|
||||
'S',
|
||||
'Onderhoud',
|
||||
v_ctr_discipline_key,
|
||||
'TD Onderhoud',
|
||||
1,
|
||||
4,
|
||||
NULL,
|
||||
1,
|
||||
10)
|
||||
RETURN ins_srtcontrole_key
|
||||
INTO v_srtcontrole_key;
|
||||
|
||||
END ;
|
||||
|
||||
-- gaan we nu de geplande dtum bepalen
|
||||
--
|
||||
IF rec_ctr.ctr_datum_next IS NULL
|
||||
THEN
|
||||
v_ctr_onderhoud_datum := TO_DATE(rec_ctr.ctr_datum_last,'DD-MM-YYYY');
|
||||
ELSE
|
||||
v_ctr_onderhoud_datum := TO_DATE(rec_ctr.ctr_datum_next,'DD-MM-YYYY');
|
||||
END IF;
|
||||
|
||||
IF v_ctr_onderhoud_datum < TO_DATE('10-2025','MM-YYYY')
|
||||
THEN
|
||||
|
||||
IF TO_CHAR(v_ctr_onderhoud_datum,'MM')='11' OR TO_CHAR(v_ctr_onderhoud_datum,'MM')='12'
|
||||
THEN
|
||||
v_jaren := 2025-fac.safe_to_number(TO_CHAR(v_ctr_onderhoud_datum,'YYYY'));
|
||||
ELSE
|
||||
v_jaren := 2025-fac.safe_to_number(TO_CHAR(v_ctr_onderhoud_datum,'YYYY'))+1;
|
||||
END IF;
|
||||
|
||||
|
||||
IF v_jaren>0 THEN
|
||||
v_ctr_onderhoud_datum := ADD_MONTHS(v_ctr_onderhoud_datum,12*v_jaren);
|
||||
END IF;
|
||||
|
||||
ELSIF v_ctr_onderhoud_datum = TO_DATE('10-2025','MM-YYYY')
|
||||
THEN
|
||||
v_ctr_onderhoud_datum := ADD_MONTHS(v_ctr_onderhoud_datum,1);
|
||||
END IF;
|
||||
|
||||
|
||||
SELECT COUNT(*)
|
||||
INTO v_count
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deel_key=v_ins_deel_key
|
||||
AND ins_srtcontrole_key = v_srtcontrole_key
|
||||
-- AND ins_deelsrtcontrole_plandatum = fac.safe_to_date(c.ctr_onderhoud_datum,'DD-MM-YYYY')
|
||||
AND ins_scenario_key=1;
|
||||
|
||||
IF v_count=0
|
||||
THEN
|
||||
INSERT INTO ins_deelsrtcontrole( ins_deel_key,
|
||||
ins_srtcontrole_key,
|
||||
ins_deelsrtcontrole_plandatum,
|
||||
ins_deelsrtcontrole_status,
|
||||
ins_scenario_key,
|
||||
prs_perslid_key)
|
||||
VALUES(v_ins_deel_key,
|
||||
v_srtcontrole_key,
|
||||
v_ctr_onderhoud_datum,
|
||||
0, --status ingepland
|
||||
1, -- sceario
|
||||
3); -- Facilitor
|
||||
v_counter:=v_counter+1;
|
||||
|
||||
ELSIF v_count=1
|
||||
THEN
|
||||
UPDATE ins_deelsrtcontrole
|
||||
SET ins_deelsrtcontrole_plandatum= v_ctr_onderhoud_datum
|
||||
WHERE ins_deel_key =v_ins_deel_key
|
||||
AND ins_srtcontrole_key=v_srtcontrole_key;
|
||||
v_counter_update:=v_counter_update+1;
|
||||
END IF;
|
||||
|
||||
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,'W',
|
||||
'Asset '||rec_ctr.ins_srtdeel_omschrijving||' niet kunnen achterhalen, taak aanmaken op datum '||TO_CHAR(v_ctr_onderhoud_datum,'DD-MM-YYYY')||' wordt overgeslagen',
|
||||
'Taak overgeslagen');
|
||||
END IF;
|
||||
END LOOP;
|
||||
ELSE
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Taak groep : TD-Onderhoud is niet bekend en aanmaken taken wordt dus overgeslagen','');
|
||||
END IF;
|
||||
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Taak aanmaak : Er zijn '||v_counter||' taken aangemaakt','');
|
||||
fac.imp_writelog (p_import_key,
|
||||
'I',
|
||||
'Taak update : Er zijn '||v_counter_update ||' taken geupdate','');
|
||||
EXCEPTION
|
||||
WHEN OTHERS
|
||||
THEN
|
||||
oracle_err_num := SQLCODE;
|
||||
oracle_err_mes := SUBSTR (SQLERRM, 1, 150);
|
||||
v_errormsg :=
|
||||
v_errormsg || 'ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
'Importproces TD assets afgebroken! ('||v_aanduiding||')',
|
||||
v_errormsg);
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE FZKH_IMPORT_MT_ASSETS(p_import_key IN NUMBER)
|
||||
AS
|
||||
CURSOR sel
|
||||
@@ -3932,6 +4146,59 @@ AS
|
||||
AND km.mld_kenmerkmelding_aanmaak > COALESCE (nj.fac_notificatie_job_lastrun, TRUNC (SYSDATE))
|
||||
;
|
||||
|
||||
CREATE OR REPLACE VIEW FZKH_V_NOTI_MT_AFM
|
||||
(
|
||||
code,
|
||||
sender,
|
||||
receiver,
|
||||
text,
|
||||
key,
|
||||
par1,
|
||||
par2,
|
||||
xkey,
|
||||
xemail,
|
||||
xmobile,
|
||||
fac_srtnotificatie_key,
|
||||
attachments,
|
||||
xsender,
|
||||
prs_bedrijfadres_key
|
||||
)
|
||||
AS
|
||||
SELECT sn.fac_srtnotificatie_code code,
|
||||
NULL sender,
|
||||
NULL receiver,
|
||||
'Asset '||iv.ins_deel_omschrijving||' ('||iv.ins_deel_opmerking||') is vrijgegeven' text,
|
||||
m.mld_melding_key key,
|
||||
NULL par1,
|
||||
NULL par2,
|
||||
iv.ins_deel_key xkey,
|
||||
(SELECT (MAX(p.prs_perslid_email)||';medischetechniek@flevoziekenhuis.nl')
|
||||
FROM prs_perslid p, prs_afdeling pa
|
||||
WHERE UPPER(pa.prs_afdeling_omschrijving) = UPPER('T-' || COALESCE (iv.prs_afdeling_omschrijving, iv.alg_ruimte_nr))
|
||||
AND p.prs_afdeling_key = pa.prs_afdeling_key
|
||||
AND pa.prs_afdeling_verwijder IS NULL
|
||||
AND p.prs_perslid_verwijder IS NULL) xemail,
|
||||
NULL xmobile,
|
||||
NULL fac_srtnotificatie_key,
|
||||
NULL attachments,
|
||||
NULL xsender,
|
||||
NULL prs_bedrijfadres_key
|
||||
FROM mld_melding m,
|
||||
fac_tracking ft,
|
||||
mld_melding_object mmo,
|
||||
ins_v_deel_gegevens iv,
|
||||
fac_srtnotificatie sn,
|
||||
FAC_NOTIFICATIE_JOB fnj
|
||||
WHERE m.mld_stdmelding_key=501 --- A=501
|
||||
AND m.mld_melding_status=5
|
||||
AND mmo.mld_melding_key=m.mld_melding_key
|
||||
AND iv.ins_deel_key = mmo.ins_deel_key
|
||||
AND ft.fac_tracking_refkey=m.mld_melding_key
|
||||
AND ft.fac_srtnotificatie_key=47
|
||||
AND sn.fac_srtnotificatie_code = 'CUST09'
|
||||
AND fnj.FAC_NOTIFICATIE_JOB_VIEW='FZKH_V_NOTI_MT_AFM'
|
||||
AND ft.FAC_TRACKING_DATUM> COALESCE (fnj.fac_notificatie_job_lastrun, TRUNC (SYSDATE));
|
||||
|
||||
|
||||
-- Object overzicjt per afdefling
|
||||
CREATE OR REPLACE VIEW FZKH_V_MT_OBJECT_AFDELING
|
||||
@@ -3978,11 +4245,11 @@ CREATE OR REPLACE VIEW FZKH_V_MT_NEXT_OBJECTNR
|
||||
ins_deel_omschrijving
|
||||
)
|
||||
AS
|
||||
SELECT MAX(i.ins_deel_omschrijving) +1
|
||||
SELECT MAX(i.ins_deel_omschrijving)+1
|
||||
FROM ins_v_deel_gegevens i
|
||||
WHERE fac.safe_to_number(i.ins_deel_omschrijving) IS NOT NULL
|
||||
AND SUBSTR(I.ins_deel_omschrijving,1,2)=TO_CHAR(SYSDATE,'YY')
|
||||
and UPPER(i.ins_discipline_omschrijving)='MEDISCHE TECHNIEK';
|
||||
AND i.ins_discipline_key IN (281, 641); -- 281='MEDISCHE TECHNIEK', 641=Technische Dienst
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user