BVB1#87767 Toevoegen import functie voor AV middelen
svn path=/Customer/trunk/; revision=69560
This commit is contained in:
245
BVB1/bvb1.sql
245
BVB1/bvb1.sql
@@ -32,6 +32,10 @@ AS
|
||||
pbody IN VARCHAR2,
|
||||
psessionid IN VARCHAR2,
|
||||
pemailkey IN NUMBER);
|
||||
|
||||
PROCEDURE RM_update_folders;
|
||||
|
||||
PROCEDURE RM_update_equipment;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -172,14 +176,14 @@ AS
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'kenmerkpath',
|
||||
'MLD\M' || to_char( TRUNC(newkey/1000), 'FM0000') || '___\M' || newkey || '\' || kkey_att || '\');
|
||||
'MLD\M' || to_char( TRUNC(newkey/1000), 'FM0000') || '___\M' || newkey || CHR(92) || kkey_att || CHR(92));
|
||||
|
||||
INSERT INTO fac_result (fac_result_sessionid,
|
||||
fac_result_naam,
|
||||
fac_result_waarde)
|
||||
VALUES (psessionid,
|
||||
'kenmerkorgmailpath',
|
||||
'MLD\M' || TO_CHAR (TRUNC (newkey / 1000), 'FM0000') || '___\M' || newkey || '\' || kkey_mail || '\');
|
||||
'MLD\M' || TO_CHAR (TRUNC (newkey / 1000), 'FM0000') || '___\M' || newkey || CHR(92) || kkey_mail || CHR(92));
|
||||
|
||||
mld.setmeldingstatus (newkey, 2, sender);
|
||||
END;
|
||||
@@ -216,6 +220,181 @@ AS
|
||||
'Database fout - Neem contact op met uw systeembeheerder');
|
||||
END;
|
||||
|
||||
PROCEDURE RM_update_folders
|
||||
AS
|
||||
CURSOR c_srtgroep IS
|
||||
SELECT *
|
||||
FROM bvb1_v_folder_structuur
|
||||
WHERE parent1 IS NULL;
|
||||
|
||||
CURSOR c_srtdeel (c_srtgroep_id VARCHAR2)
|
||||
IS
|
||||
SELECT *
|
||||
FROM bvb1_v_folder_structuur
|
||||
WHERE parent1 = c_srtgroep_id AND name IS NOT NULL;
|
||||
|
||||
v_discipline_key INS_TAB_DISCIPLINE.INS_DISCIPLINE_KEY%TYPE;
|
||||
v_srtgroep_key INS_SRTGROEP.INS_SRTGROEP_KEY%TYPE;
|
||||
v_srtdeel_key INS_SRTDEEL.INS_SRTDEEL_KEY%TYPE;
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
BEGIN
|
||||
SELECT ins_discipline_key
|
||||
INTO v_discipline_key
|
||||
FROM ins_discipline
|
||||
WHERE ins_discipline_omschrijving = 'AV';
|
||||
|
||||
FOR rec IN c_srtgroep
|
||||
LOOP
|
||||
BEGIN
|
||||
SELECT ins_srtgroep_key
|
||||
INTO v_srtgroep_key
|
||||
FROM ins_srtgroep
|
||||
WHERE ins_srtgroep_verwijder IS NULL AND ins_srtgroep_externnr = rec.id;
|
||||
|
||||
UPDATE ins_srtgroep
|
||||
SET ins_srtgroep_omschrijving = rec.name
|
||||
WHERE ins_srtgroep_key = v_srtgroep_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO ins_srtgroep (ins_discipline_key, ins_srtgroep_omschrijving, ins_srtgroep_externnr)
|
||||
VALUES (v_discipline_key, rec.name, rec.id)
|
||||
RETURNING ins_srtgroep_key
|
||||
INTO v_srtgroep_key;
|
||||
END;
|
||||
|
||||
FOR rec_d IN c_srtdeel (rec.id)
|
||||
LOOP
|
||||
BEGIN
|
||||
DBMS_OUTPUT.put_line (rec_d.id || '- ' || rec_d.name);
|
||||
|
||||
SELECT ins_srtdeel_key
|
||||
INTO v_srtdeel_key
|
||||
FROM ins_srtdeel
|
||||
WHERE ins_srtdeel_verwijder IS NULL AND ins_srtdeel_externnr = rec_d.id;
|
||||
|
||||
UPDATE ins_srtdeel
|
||||
SET ins_srtdeel_omschrijving = REPLACE (rec_d.PATH, rec.name || CHR (47), ''),
|
||||
ins_srtgroep_key = v_srtgroep_key
|
||||
WHERE ins_srtdeel_key = v_srtdeel_key;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
INSERT INTO ins_srtdeel (ins_srtgroep_key,
|
||||
ins_srtdeel_code,
|
||||
ins_srtdeel_omschrijving,
|
||||
ins_srtdeel_externnr)
|
||||
VALUES (v_srtgroep_key,
|
||||
rec_d.id,
|
||||
REPLACE (rec_d.PATH, rec.name || CHR (47), ''),
|
||||
rec_d.id)
|
||||
RETURNING ins_srtdeel_key
|
||||
INTO v_srtdeel_key;
|
||||
END;
|
||||
END LOOP;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
PROCEDURE RM_update_equipment
|
||||
AS
|
||||
CURSOR c IS SELECT * FROM bvb1_imp_equipment;
|
||||
|
||||
v_discipline_key INS_TAB_DISCIPLINE.INS_DISCIPLINE_KEY%TYPE;
|
||||
v_srtgroep_key INS_SRTGROEP.INS_SRTGROEP_KEY%TYPE;
|
||||
v_srtdeel_key INS_SRTDEEL.INS_SRTDEEL_KEY%TYPE;
|
||||
v_deel_key INS_DEEL.INS_DEEL_KEY%TYPE;
|
||||
v_kk_aanschafdatum INS_KENMERK.INS_KENMERK_KEY%TYPE;
|
||||
v_kk_aanschafprijs INS_KENMERK.INS_KENMERK_KEY%TYPE;
|
||||
v_kk_serienummer INS_KENMERK.INS_KENMERK_KEY%TYPE;
|
||||
BEGIN
|
||||
|
||||
-- Eerst gaan we de kenmerk-keys opzoeken:
|
||||
SELECT ins_kenmerk_key
|
||||
INTO v_kk_aanschafdatum
|
||||
FROM ins_kenmerk
|
||||
WHERE ins_kenmerk_verwijder IS NULL
|
||||
AND ins_kenmerk_code = 'AV_AANSCHAFDATUM';
|
||||
|
||||
SELECT ins_kenmerk_key
|
||||
INTO v_kk_aanschafprijs
|
||||
FROM ins_kenmerk
|
||||
WHERE ins_kenmerk_verwijder IS NULL
|
||||
AND ins_kenmerk_code = 'AV_AANSCHAFPRIJS';
|
||||
|
||||
SELECT ins_kenmerk_key
|
||||
INTO v_kk_serienummer
|
||||
FROM ins_kenmerk
|
||||
WHERE ins_kenmerk_verwijder IS NULL
|
||||
AND ins_kenmerk_code = 'AV_SERIENUMMER';
|
||||
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
SELECT ins_srtdeel_key, ins_discipline_key
|
||||
INTO v_srtdeel_key, v_discipline_key
|
||||
FROM ins_srtdeel sd, ins_srtgroep sg
|
||||
WHERE sd.ins_srtdeel_externnr = REPLACE (rec.folder, '/folders/')
|
||||
AND sd.ins_srtgroep_key = sg.ins_srtgroep_key
|
||||
AND ins_srtdeel_verwijder IS NULL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
DBMS_OUTPUT.put_line ('Srtdeel niet gevonden: ' || rec.folder);
|
||||
v_srtdeel_key := -1;
|
||||
END;
|
||||
IF v_srtdeel_key <> -1
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT ins_deel_key
|
||||
INTO v_deel_key
|
||||
FROM ins_deel
|
||||
WHERE ins_deel_verwijder IS NULL AND ins_deel_externnr = rec.serial_id;
|
||||
|
||||
UPDATE ins_deel SET ins_srtdeel_key = v_srtdeel_key,
|
||||
ins_deel_omschrijving = SUBSTR (rec.name, 1, 60 - LENGTH (rec.serial_id) - 4) || ' (' || rec.serial_id || ')',
|
||||
ins_deel_opmerking = SUBSTR (rec.name, 1, 320 - LENGTH (rec.serial_displayname) - 4),
|
||||
ins_deel_aanmaak = COALESCE (rec.serial_purchasedate, SYSDATE),
|
||||
ins_discipline_key = v_discipline_key
|
||||
WHERE ins_deel_key = v_deel_key;
|
||||
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
BEGIN
|
||||
--dbms_output.put_line ( SUBSTR (rec.name, 1, 60 - LENGTH (rec.serial_id) - 4) || ' (' || rec.serial_id || ')');
|
||||
INSERT INTO ins_deel (ins_srtdeel_key,
|
||||
ins_alg_ruimte_key,
|
||||
ins_alg_ruimte_type,
|
||||
ins_deel_aantal,
|
||||
ins_deel_omschrijving,
|
||||
ins_deel_opmerking,
|
||||
ins_deel_aanmaak,
|
||||
ins_discipline_key,
|
||||
ins_deel_externnr)
|
||||
VALUES (
|
||||
v_srtdeel_key,
|
||||
404,
|
||||
'R',
|
||||
1,
|
||||
SUBSTR (rec.name, 1, 60 - LENGTH (rec.serial_id) - 4) || ' (' || rec.serial_id || ')',
|
||||
SUBSTR (rec.name, 1, 320 - LENGTH (rec.serial_displayname) - 4)
|
||||
|| ' ('
|
||||
|| rec.serial_displayname
|
||||
|| ')',
|
||||
COALESCE (rec.serial_purchasedate, SYSDATE),
|
||||
v_discipline_key,
|
||||
rec.serial_id);
|
||||
END;
|
||||
|
||||
END;
|
||||
-- update kenmerken
|
||||
FLX.setflex('INS', v_kk_aanschafdatum, v_deel_key, TO_CHAR(rec.serial_purchasedate, 'dd-mm-yyyy'));
|
||||
FLX.setflex('INS', v_kk_aanschafprijs, v_deel_key, rec.serial_purchase_costs);
|
||||
FLX.setflex('INS', v_kk_serienummer, v_deel_key, rec.serial);
|
||||
END IF;
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -677,6 +856,68 @@ AS
|
||||
OR mss.ins_srtinstallatie_niveau = 'G' AND mss.ins_srtinstallatie_key = isg.ins_srtgroep_key
|
||||
OR mss.ins_srtinstallatie_niveau = 'D' AND mss.ins_srtinstallatie_key = isg.ins_discipline_key);
|
||||
|
||||
-- RentMan view om de folderstructuur uit RentMan te vertalen naar een boomstructuur.
|
||||
CREATE OR REPLACE VIEW bvb1_v_folder_structuur
|
||||
AS
|
||||
SELECT 1 niveau,
|
||||
id,
|
||||
displayname,
|
||||
name,
|
||||
itemtype,
|
||||
PATH,
|
||||
NULL parent1,
|
||||
NULL parent2,
|
||||
NULL parent3
|
||||
FROM bvb1_imp_folder
|
||||
WHERE parent IS NULL AND itemtype = 'equipment'
|
||||
UNION ALL
|
||||
SELECT 2 niveau,
|
||||
f2.id,
|
||||
f2.displayname,
|
||||
f2.name,
|
||||
f2.itemtype,
|
||||
f2.PATH,
|
||||
REPLACE (f2.parent, '/folders/') parent1,
|
||||
NULL parent2,
|
||||
NULL parent3
|
||||
FROM bvb1_imp_folder f1, bvb1_imp_folder f2
|
||||
WHERE f1.parent IS NULL AND f1.itemtype = 'equipment' AND REPLACE (f2.parent, '/folders/') = f1.id
|
||||
UNION ALL
|
||||
SELECT 3 niveau,
|
||||
f3.id,
|
||||
f3.displayname,
|
||||
f3.name,
|
||||
f3.itemtype,
|
||||
f3.PATH,
|
||||
REPLACE (f2.parent, '/folders/') parent1,
|
||||
REPLACE (f3.parent, '/folders/') parent2,
|
||||
NULL parent3
|
||||
FROM bvb1_imp_folder f1, bvb1_imp_folder f2, bvb1_imp_folder f3
|
||||
WHERE f1.parent IS NULL
|
||||
AND f2.itemtype = 'equipment'
|
||||
AND REPLACE (f2.parent, '/folders/') = f1.id
|
||||
AND REPLACE (f3.parent, '/folders/') = f2.id
|
||||
UNION ALL
|
||||
SELECT 4 niveau,
|
||||
f4.id,
|
||||
f4.displayname,
|
||||
f4.name,
|
||||
f4.itemtype,
|
||||
f4.PATH,
|
||||
REPLACE (f2.parent, '/folders/') parent1,
|
||||
REPLACE (f3.parent, '/folders/') parent2,
|
||||
REPLACE (f3.parent, '/folders/') parent3
|
||||
FROM bvb1_imp_folder f1,
|
||||
bvb1_imp_folder f2,
|
||||
bvb1_imp_folder f3,
|
||||
bvb1_imp_folder f4
|
||||
WHERE f1.parent IS NULL
|
||||
AND f4.itemtype = 'equipment'
|
||||
AND REPLACE (f2.parent, '/folders/') = f1.id
|
||||
AND REPLACE (f3.parent, '/folders/') = f2.id
|
||||
AND REPLACE (f4.parent, '/folders/') = f3.id;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE bvb1_daily
|
||||
AS
|
||||
-- accepteer de meldingen die aangemaakt zijn met de geplande acties. Anders komen ze niet in de kalender te staan.
|
||||
|
||||
Reference in New Issue
Block a user