BAMG#76191 -- Rapportage Selectie BAM: Locatieoverzicht
BAMG#73770 -- Koppeling Facilitor - Lyreco svn path=/Customer/trunk/; revision=58722
This commit is contained in:
300
BAMG/bamg.sql
300
BAMG/bamg.sql
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user