BAMG#76191 -- Rapportage Selectie BAM: Locatieoverzicht

BAMG#73770 -- Koppeling Facilitor - Lyreco

svn path=/Customer/trunk/; revision=58722
This commit is contained in:
Arthur Egberink
2023-01-18 15:53:00 +00:00
parent a362643b38
commit 22a4b6ceeb

View File

@@ -950,16 +950,20 @@ SELECT FLX.getflex ('ALG', 1011, g.alg_gebouw_key, 'G') plaats,
DECODE (c.cnt_contract_key, NULL, NULL, FLX.getflex ('CNT', 165, c.cnt_contract_key, NULL)) indexatiedatum
FROM alg_gebouw g,
alg_locatie l,
(SELECT cnt_contract_key, alg_gebouw_key
FROM cnt_contract_plaats, alg_gebouw
WHERE cnt_alg_plaats_code = 'L'
AND cnt_alg_plaats_key = alg_locatie_key
AND cnt_contract_plaats_verwijder IS NULL
(SELECT cp.cnt_contract_key, g.alg_gebouw_key
FROM cnt_contract_plaats cp, alg_gebouw g, cnt_contract c
WHERE cp.cnt_alg_plaats_code = 'L'
AND cp.cnt_alg_plaats_key = g.alg_locatie_key
AND cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_contract_key = c.cnt_contract_key
AND c.cnt_contract_status <> 1
UNION ALL
SELECT cnt_contract_key, cnt_alg_plaats_key alg_gebouw_key
FROM cnt_contract_plaats
WHERE cnt_alg_plaats_code = 'G'
AND cnt_contract_plaats_verwijder IS NULL) cp,
SELECT cp.cnt_contract_key, cp.cnt_alg_plaats_key alg_gebouw_key
FROM cnt_contract_plaats cp, cnt_contract c
WHERE cp.cnt_alg_plaats_code = 'G'
AND cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_contract_key = c.cnt_contract_key
AND c.cnt_contract_status <> 1) cp,
cnt_contract c,
prs_v_perslid_fullnames bam,
prs_v_perslid_fullnames yask,
@@ -971,7 +975,10 @@ SELECT FLX.getflex ('ALG', 1011, g.alg_gebouw_key, 'G') plaats,
AND g.prs_kostenplaats_key = k.prs_kostenplaats_key(+)
AND g.prs_perslid_key_verantw = yask.prs_perslid_key(+)
AND g.prs_perslid_key_verantw2 = bam.prs_perslid_key(+)
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+);
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key(+)
AND g.alg_gebouw_verwijder IS NULL
AND COALESCE(g.alg_gebouw_vervaldatum, SYSDATE) > TRUNC(SYSDATE)
AND COALESCE(l.alg_locatie_vervaldatum, SYSDATE) > TRUNC(SYSDATE);
CREATE OR REPLACE VIEW bamg_v_rap_locatie_info
@@ -1031,15 +1038,17 @@ AS
WHERE alg_srtgebouw_key = 21
AND g.alg_locatie_key = lg.alg_locatie_key),
0, 'Niet Facilitair',
'Facilitair') srtgebouw
FROM alg_v_locatie_gegevens lg;
'Facilitair') srtgebouw,
l.alg_locatie_vervaldatum
FROM alg_v_locatie_gegevens lg, alg_locatie l
WHERE lg.alg_locatie_key = l.alg_locatie_key;
-- Test rapportage om de resterende looptijd van een contract in Facilitor zichtbaar te maken.
CREATE OR REPLACE VIEW bamg_v_huurcontract_xy
AS
SELECT MAX(c.cnt_contract_key) cnt_contract_key,
g.alg_gebouw_key,
ROUND ((MAX (COALESCE(cnt_contract_looptijd_tot, SYSDATE -100)) - SYSDATE) / 365, 1) waarde,
ROUND ((MAX (COALESCE(cnt_contract_looptijd_tot, SYSDATE)) - SYSDATE) / 365, 1) waarde,
alg_gebouw_omschrijving title,
'Huur' huur_eigendom
FROM (SELECT cnt_contract_key, cnt_contract_looptijd_tot
@@ -1062,16 +1071,18 @@ AS
WHERE c.cnt_contract_key(+) = cp.cnt_contract_key
AND cp.alg_gebouw_key(+) = g.alg_gebouw_key
AND g.alg_gebouw_verwijder IS NULL
AND COALESCE(g.alg_gebouw_vervaldatum, SYSDATE) > TRUNC(SYSDATE)
AND flx.getflex('ALG', 1005, g.alg_gebouw_key, 'G') = 1 -- HUUR
GROUP BY g.alg_gebouw_key, alg_gebouw_omschrijving
UNION ALL
SELECT NULL,
alg_gebouw_key,
20,
0,
alg_gebouw_omschrijving,
'Eigendom' eigendom
FROM alg_gebouw g
WHERE alg_gebouw_verwijder IS NULL
AND COALESCE(g.alg_gebouw_vervaldatum, SYSDATE) > TRUNC(SYSDATE)
AND flx.getflex ('ALG',
1005,
alg_gebouw_key,
@@ -1324,6 +1335,73 @@ AS
WHERE ra.prs_afdeling_key = a.prs_afdeling_key
AND prs_ruimteafdeling_verwijder IS NULL;
-- view voor alle personen zonder de _ users
CREATE OR REPLACE VIEW bamg_v_perslid_fullnames
AS
SELECT pf.*
FROM prs_v_perslid_fullnames pf, prs_perslid p
WHERE pf.prs_perslid_key = p.prs_perslid_key
AND SUBSTR (prs_perslid_oslogin, 1, 1) <> '_';
-- views voor dashboards
CREATE OR REPLACE VIEW bamg_v_dashboard_stdmgroep
AS
SELECT TRUNC (mld_melding_datum, 'MM') datum,
TO_CHAR (mld_melding_datum, 'yyyy-mon') maand,
ins_srtdiscipline_omschrijving,
ins_discipline_omschrijving,
mld_stdmeldinggroep_oms,
alg_gebouw_code || '-' || alg_gebouw_naam gebouw,
100*acceptatie_sla acc_sla,
100*afgemeld_sla afm_sla,
100*afgemeld_einddatum afm_datum
FROM (SELECT m.mld_melding_datum,
MLD.getmeldingstatusdate (m.mld_melding_key, 5),
mld_melding_einddatum_std,
DECODE (
SIGN (
m.mld_melding_einddatum_std
- COALESCE (
MLD.getmeldingstatusdate (m.mld_melding_key, 4),
COALESCE (
MLD.getmeldingstatusdate (m.mld_melding_key,
5),
SYSDATE))),
-1, 0,
1) acceptatie_SLA,
DECODE (
SIGN (
m.mld_melding_einddatum_std
- COALESCE (
MLD.getmeldingstatusdate (m.mld_melding_key, 5),
SYSDATE)),
-1, 0,
1) afgemeld_SLA,
DECODE (
SIGN (
m.mld_melding_einddatum
- COALESCE (
MLD.getmeldingstatusdate (m.mld_melding_key, 5),
SYSDATE)),
-1, 0,
1) afgemeld_einddatum,
sd.ins_srtdiscipline_omschrijving,
d.ins_discipline_omschrijving,
mld_stdmeldinggroep_oms,
aog.alg_gebouw_code,
aog.alg_gebouw_naam
FROM mld_melding m,
mld_stdmelding std,
mld_stdmeldinggroep stdg,
mld_discipline d,
ins_srtdiscipline sd,
alg_v_allonrgoed_gegevens aog
WHERE m.mld_stdmelding_key = std.mld_stdmelding_key
AND std.mld_ins_discipline_key = d.ins_discipline_key
AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND std.mld_stdmeldinggroep_key = stdg.mld_stdmeldinggroep_key
AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys);
-- view voor de PDC rapportage
CREATE OR REPLACE VIEW bamg_v_rap_pdc
AS
@@ -1487,6 +1565,200 @@ BEGIN
END;
/
-- Procedure om de goederenontvangst van Lyreco te registreren.
CREATE OR REPLACE PROCEDURE bamg_import_lyreco_ontvangst (p_import_key IN NUMBER)
AS
CURSOR c1 IS
SELECT *
FROM fac_imp_file
WHERE fac_import_key = p_import_key
ORDER BY fac_imp_file_index;
c_delim VARCHAR2 (2) := fac.import_delimiter (p_import_key);
v_newline fac_imp_file.fac_imp_file_line%TYPE; -- Input line
v_file_index fac_imp_file.fac_imp_file_index%TYPE;
v_errormsg VARCHAR2 (1000);
v_errorhint VARCHAR2 (1000);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
header_is_valid NUMBER;
v_count_tot NUMBER (10);
v_aanduiding VARCHAR (400);
v_bes_bestelopdr_id VARCHAR2 (255);
v_bes_srtdeel_nr VARCHAR2 (255);
v_bes_srtdeel_omschrijving VARCHAR2 (255);
v_bes_bestelopdr_item_aantal VARCHAR2 (255);
v_bes_bestelopdr_item_key NUMBER;
v_bes_bestelopdr_key NUMBER;
v_bes_bestelling_item_key NUMBER;
v_bes_bestelling_key NUMBER;
v_tracking VARCHAR2 (2048);
v_lyreco_key NUMBER;
v_aantal NUMBER;
BEGIN
v_tracking := '';
v_count_tot := 0;
header_is_valid := 0;
SELECT prs_perslid_key
INTO v_lyreco_key
FROM fac_import i
WHERE i.fac_import_key = p_import_key;
FOR rec1 IN c1
LOOP
BEGIN
v_newline := rec1.fac_imp_file_line;
v_file_index := rec1.fac_imp_file_index;
v_errormsg := 'Fout bij opvragen importregel';
v_aanduiding := '';
-- Lees alle veldwaarden
fac.imp_getfield (v_newline, c_delim, v_bes_bestelopdr_id);
fac.imp_getfield (v_newline, c_delim, v_bes_srtdeel_nr);
fac.imp_getfield (v_newline, c_delim, v_bes_srtdeel_omschrijving);
fac.imp_getfield (v_newline, c_delim, v_bes_bestelopdr_item_aantal);
IF (header_is_valid = 0)
THEN
IF UPPER (v_bes_bestelopdr_id) = 'BESTELOPDRID'
AND UPPER (v_bes_srtdeel_nr) = 'ARTIKELNUMMER'
AND UPPER (v_bes_srtdeel_omschrijving) = 'ARTIKELOMSCHRIJVING'
AND UPPER (v_bes_bestelopdr_item_aantal) = 'AANTAL'
THEN
header_is_valid := 1;
ELSE
IF rec1.fac_imp_file_index = 1
THEN
fac.imp_writelog (
p_import_key,
'E',
'Ongeldige header aangetroffen:',
'BESTELOPDRID: '
|| UPPER (v_bes_bestelopdr_id)
|| CHR (10)
|| 'ARTIKELNUMMER: '
|| UPPER (v_bes_srtdeel_nr)
|| CHR (10)
|| 'ARTIKELOMSCHRIJVING: '
|| UPPER (v_bes_srtdeel_omschrijving)
|| CHR (10)
|| 'AANTAL: '
|| UPPER (v_bes_bestelopdr_item_aantal));
END IF;
END IF;
ELSE
v_aanduiding :=
v_bes_bestelopdr_id
|| ' - '
|| v_bes_srtdeel_nr
|| ' - '
|| v_bes_srtdeel_omschrijving
|| ' - '
|| v_bes_bestelopdr_item_aantal;
v_count_tot := v_count_tot + 1;
v_errormsg := 'Fout bij opzoeken bestelopdr';
SELECT bes_bestelopdr_key
INTO v_bes_bestelopdr_key
FROM bes_bestelopdr
WHERE bes_bestelopdr_id = v_bes_bestelopdr_id;
BEGIN
v_errormsg := 'Fout bij opzoeken bestelregel';
SELECT boi.bes_bestelopdr_item_key, bi.bes_bestelling_item_key, bi.bes_bestelling_key
INTO v_bes_bestelopdr_item_key, v_bes_bestelling_item_key, v_bes_bestelling_key
FROM bes_bestelopdr_item boi, bes_bestelling_item bi, bes_srtdeel sd
WHERE bes_bestelopdr_key = v_bes_bestelopdr_key
AND boi.bes_bestelopdr_item_key = bi.bes_bestelopdr_item_key
AND bi.bes_srtdeel_key = sd.bes_srtdeel_key
AND bes_srtdeel_nr = v_bes_srtdeel_nr;
v_errormsg := 'Fout bij bepalen aantal';
v_aantal := FAC.safe_to_number (v_bes_bestelopdr_item_aantal);
v_errormsg := 'Fout bij aanpassen aantal bestelopdrachtregel [' || v_bes_bestelopdr_item_key || ']';
UPDATE bes_bestelopdr_item B
SET bes_bestelopdr_item_aantalontv =
COALESCE (bes_bestelopdr_item_aantalontv, 0) + v_aantal,
bes_bestelopdr_item_ontvangen = SYSDATE
WHERE bes_bestelopdr_item_key = v_bes_bestelopdr_item_key;
v_errormsg := 'Fout bij aanpassen aantal bestellingregel';
UPDATE bes_bestelling_item
SET bes_bestelling_item_aantalontv =
COALESCE (bes_bestelling_item_aantalontv, 0) + v_aantal
WHERE bes_bestelling_item_key = v_bes_bestelling_item_key;
v_errormsg := 'Fout bij statusupdate bestelopdracht';
BEGIN
bes.updatebestelopdrstatus (v_bes_bestelopdr_key, v_lyreco_key);
END;
v_errormsg := 'Fout bij statusupdate bestelling';
BEGIN
bes.updatebestellingstatus (v_bes_bestelling_key, v_lyreco_key);
END;
v_errormsg := 'Fout bij aanpassing tracking';
v_tracking :=
v_tracking + CHR (10) + 'Levering: '
|| v_aantal
|| ' '
|| v_bes_srtdeel_omschrijving;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
v_errormsg := 'Fout bij aanpassing aflever info';
UPDATE bes_bestelopdr
SET bes_bestelopdr_delivery_opmerk =
SUBSTR (
'Artikel niet gevonden: '
|| v_bes_srtdeel_nr
|| ' '
|| v_bes_srtdeel_omschrijving
|| CHR (10)
|| bes_bestelopdr_delivery_opmerk,
1,
320)
WHERE bes_bestelopdr_key = v_bes_bestelopdr_key;
END;
END IF;
EXCEPTION
WHEN OTHERS
THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 200);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.imp_writelog (p_import_key,
'E',
v_aanduiding || v_errormsg,
'Goederenontvangst kan niet geregistreerd worden! regel:' || v_file_index);
END;
END LOOP;
BEGIN
fac.trackaction ('BES2UP',
v_bes_bestelopdr_key,
v_lyreco_key,
NULL,
'Bestelopdracht ' || v_bes_bestelopdr_id || ' is gewijzigd ' || SUBSTR (v_tracking, 1, 1900));
END;
END;
/
CREATE OR REPLACE PROCEDURE bamg_update_lyreco_ontvangst (p_import_key IN NUMBER)
AS
BEGIN
NULL;
END;
/
-- Notificatie naar de leden van de autorisatiegroep Assetmanager als het Tagetik nummer
-- niet ingevuld is terwijl dit wel zou moeten.