AAES#24862 -- aanpassen lengte van prs_perslid_naam

svn path=/Customer/trunk/; revision=16330
This commit is contained in:
Arthur Egberink
2012-12-17 08:57:55 +00:00
parent fc09eb5eb1
commit b33a6028f0
5 changed files with 195 additions and 23 deletions

View File

@@ -81,6 +81,180 @@ BEGIN
END;
/
CREATE OR REPLACE PROCEDURE aaes_export_bundel_catering (
p_applname IN VARCHAR2,
p_applrun IN VARCHAR2,
p_filedir IN VARCHAR2,
p_filename IN VARCHAR2
)
AS
v_errormsg VARCHAR (200);
oracle_err_num NUMBER;
oracle_err_mes VARCHAR2 (200);
v_laatste_export DATE;
v_mld_melding_key NUMBER;
v_prs_bedrijf_key NUMBER;
v_alg_locatie_key NUMBER;
v_alg_gebouw_key NUMBER;
v_prs_dienst_key NUMBER;
v_prs_kostenplaats_key NUMBER;
v_mld_opdr_bedrijfopdr_volgnr NUMBER;
v_aanvrager NUMBER;
v_mld_workorder_key NUMBER;
v_mld_stdmelding_key NUMBER;
v_date DATE;
v_date_check DATE;
v_count NUMBER;
v_total NUMBER(10,2);
BEGIN
-- Facilitor
v_aanvrager := 4;
-- Essent kostenplaats key
v_prs_kostenplaats_key := 510;
-- stdmelding key voor recharge
v_mld_stdmelding_key := xxx;
-- key van opdrachttype workorder
v_mld_workorder_key := 1;
-- key voor de locatie van de melding
v_alg_locatie_key := 225;
-- key voor de gebouw van de melding
v_alg_gebouw_key := 3969;
-- key van Eurest
v_prs_bedrijf_key := 797;
v_errormsg := 'Bepaal einddatum';
-- wat is de eerste dag van de huidige maand
v_date := to_date(to_char(sysdate, 'yyyymm')||'01','yyyymmdd');
SELECT count(mld_opdr_key)
INTO v_count
FROM mld_opdr
WHERE mld_opdr_omschrijving = 'Catering factuur tot: ' || to_char(v_date, 'dd-mm-yyyy');
SELECT COALESCE(SUM (res_rsv_artikel_prijs),0)
INTO v_total
FROM res_rsv_artikel rra
WHERE rra.res_rsv_artikel_verwijder IS NULL
AND rra.res_status_bo_key = 5 -- geleverd.
AND rra.res_rsv_artikel_levering < v_date;
IF v_count > 0 THEN
fac.writelog (p_applname, 'E', 'Catering export is al eerder uitgevoerd.',
'Controleer opdrachten met datum: ' || to_char(v_date, 'dd-mm-yyyy'));
ELSIF v_total = 0 THEN
fac.writelog (p_applname, 'W', 'Er is deze maand niets te factureren',
'Controleer of de catering wel afgemeld is');
ELSE
v_errormsg := 'Aanpassen kostenplaatsen';
-- vul de kostenplaats van reserveringen die per abuis geen kostenplaats hebben.
UPDATE res_rsv_ruimte rrr
SET prs_kostenplaats_key =
(SELECT prs_kostenplaats_key
FROM prs_perslid p, prs_afdeling a
WHERE rrr.res_rsv_ruimte_host_key = p.prs_perslid_key
AND p.prs_afdeling_key = a.prs_afdeling_key)
WHERE rrr.prs_kostenplaats_key IS NULL;
-- maak een melding aan voor deze maand
v_errormsg := 'Aanmaken catering melding';
BEGIN
INSERT INTO mld_melding
(
mld_melding_omschrijving,
prs_perslid_key,
prs_kostenplaats_key,
mld_stdmelding_key,
mld_alg_locatie_key,
mld_alg_onroerendgoed_keys,
mld_melding_einddatum,
mld_melding_datum,
mld_melding_uitvoertijd,
mld_meldbron_key,
mld_melding_module,
mld_melding_spoed
)
VALUES (
'Catering factuur boekingen tot ' || to_char(v_date, 'dd-mm-yyyy'),
v_aanvrager,
v_prs_kostenplaats_key,
v_mld_stdmelding_key,
v_alg_locatie_key,
v_alg_gebouw_key,
v_date-1,
add_months(v_date, -1),
2,
5,
'MLD',
3
) RETURNING mld_melding_key INTO v_mld_melding_key;
BEGIN mld.setmeldingstatus(v_mld_melding_key, 2, v_aanvrager); END;
BEGIN mld.setmeldingstatus(v_mld_melding_key, 4, v_aanvrager); END;
UPDATE mld_melding SET mld_melding_behandelaar_key= v_aanvrager WHERE mld_melding_key = v_mld_melding_key;
END;
-- aanmaken opdracht
BEGIN
v_mld_opdr_bedrijfopdr_volgnr := mld.BepaalOpdrMeldingVolgnr (v_mld_melding_key);
v_errormsg := 'Maak opdracht aan om factuur van cateraar te matchen';
-- maak opdracht aan om cateringfactuur van leverancier te matchen
INSERT INTO mld_opdr (mld_melding_key
, prs_kostenplaats_key
, mld_statusopdr_key
, mld_typeopdr_key
, prs_perslid_key
, mld_uitvoerende_keys
, mld_opdr_datumbegin
, mld_opdr_einddatum
, mld_opdr_module
, mld_opdr_omschrijving
, mld_opdr_materiaal
, mld_opdr_kosten
, mld_opdr_bedrijfopdr_volgnr)
VALUES
( v_mld_melding_key
, v_prs_kostenplaats_key
, 5 -- uitgegeven
, v_mld_workorder_key
, v_aanvrager
, v_prs_bedrijf_key
, v_date-1
, FAC.DatumTijdPlusUitvoerTijd(sysdate, 1, 'DAGEN')
, 'MLD'
, 'Catering factuur tot: ' || to_char(v_date, 'dd-mm-yyyy')
, v_total
, v_total
, v_mld_opdr_bedrijfopdr_volgnr);
UPDATE res_rsv_artikel rra
SET res_rsv_artikel_verwerkt = SYSDATE,
res_status_bo_key = 6
WHERE rra.res_rsv_artikel_verwijder IS NULL
AND rra.res_status_bo_key = 5 -- geleverd.
AND rra.res_rsv_artikel_levering < v_date;
v_errormsg := 'Update melding status';
MLD.updatemeldingstatus (v_mld_melding_key, 0, v_aanvrager); -- Facilitor
EXCEPTION WHEN OTHERS THEN
oracle_err_num := SQLCODE;
oracle_err_mes := SUBSTR (SQLERRM, 1, 100);
v_errormsg := v_errormsg || ' ORACLE (error ' || oracle_err_num || '/' || oracle_err_mes || ')';
fac.writelog (p_applname, 'E', v_errormsg, '');
END;
END IF;
COMMIT;
END;
/
-- exact projecturen (XML)
CREATE OR REPLACE VIEW aaes_v_export_exact_uren (result, result_order)
@@ -1151,7 +1325,7 @@ AS
SUBSTR (voorletters, 1, 10),
SUBSTR (voornaam, 1, 30),
SUBSTR (tussenvoegsel, 1, 15),
SUBSTR (persoonachternaam, 1, 30),
SUBSTR (persoonachternaam, 1, 60),
SUBSTR (personeelsnummer, 1, 16),
SUBSTR (functie, 1, 60),
SUBSTR (organisatieid, 1, 20),
@@ -1532,7 +1706,7 @@ AS
UPDATE prs_perslid
SET prs_perslid_oslogin = NULL,
prs_perslid_naam =
SUBSTR ('Inactief: ' || prs_perslid_naam, 1, 30)
SUBSTR ('Inactief: ' || prs_perslid_naam, 1, 60)
WHERE prs_perslid_authenticatie = v_id
AND prs_perslid_naam NOT LIKE 'Inactief: %';
END IF;

View File

@@ -551,7 +551,7 @@ BEGIN
prs_perslid_oslogin,
prs_perslid_nr)
SELECT substr(afdelingscode, 1, 10),
substr(persoonachternaam, 1, 30),
substr(persoonachternaam, 1, 60),
substr(tussenvoegsel, 1, 15),
substr(voorletters, 1, 10),
substr(voornaam, 1, 30),
@@ -707,7 +707,7 @@ BEGIN
WHERE p.prs_perslid_key = rec.prs_perslid_key;
ELSE
UPDATE prs_perslid p
SET prs_perslid_naam = substr('Inactief ' || prs_perslid_naam, 1,30)
SET prs_perslid_naam = substr('Inactief ' || prs_perslid_naam, 1,60)
WHERE p.prs_perslid_key = rec.prs_perslid_key
AND p.prs_perslid_naam not like 'Inactief%';
END IF;

View File

@@ -692,9 +692,9 @@ BEGIN
v_errorhint := 'Ongeldige naam persoon';
v_prs_perslid_naam := TRIM (v_prs_perslid_naam);
IF LENGTH (v_prs_perslid_naam) > 30
IF LENGTH (v_prs_perslid_naam) > 60
THEN
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam, 1, 30);
v_prs_perslid_naam := SUBSTR (v_prs_perslid_naam, 1, 60);
fac.imp_writelog (p_import_key,
'W',
v_aanduiding || 'Naam persoon is te lang',
@@ -1156,7 +1156,7 @@ IS
FROM aanx_imp_kostenplaats i,
prs_v_aanwezigkostenplaats k,
prs_v_afdeling a
WHERE kostenplaats = prs_kostenplaats_nr(+)
WHERE kostenplaats = k.prs_kostenplaats_nr(+)
AND afdeling_naam = prs_afdeling_upper(+);
CURSOR c_del_afd

View File

@@ -1059,7 +1059,7 @@ AS
THEN
UPDATE prs_perslid
SET prs_perslid_naam =
SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 30),
SUBSTR ('INACTIEF:' || prs_perslid_naam, 1, 60),
prs_perslid_oslogin = DECODE(aaxx_get_user, 'IT', prs_perslid_oslogin, NULL)
WHERE prs_perslid_key = p_perslid_key
AND prs_perslid_naam NOT LIKE 'INACTIEF:%';

View File

@@ -3368,7 +3368,7 @@ AS
SELECT ap.prs_afdeling_naam,
a.prs_afdeling_naam,
a.prs_afdeling_omschrijving,
prs_kostenplaats_nr,
k.prs_kostenplaats_nr,
prs_bedrijf_naam,
niveau
FROM prs_v_afdeling a,
@@ -3539,7 +3539,7 @@ AS
a.prs_afdeling_naam,
prs_perslid_naam_full,
prs_bedrijf_naam,
prs_kostenplaats_nr,
kp.prs_kostenplaats_nr,
cnt_contract_termijnkosten,
cnt_contract_kosten,
aaxx_get_cnt_cont_plaats_index (cp.cnt_contract_plaats_key),
@@ -3863,11 +3863,10 @@ AS
ins_srtdiscipline_prefix ins_srtdiscipline_prefix,
md.ins_discipline_omschrijving productgroep,
s.mld_stdmelding_omschrijving subproductgroep,
s.mld_stdmelding_groep subproductgroepgroep,
-- 5.2.3 (SELECT smg.mld_stdmeldinggroep_naam
-- 5.2.3 FROM mld_stdmeldinggroep smg
-- 5.2.3 WHERE smg.mld_stdmeldinggroep_key = s.mld_stdmeldinggroep_key
-- 5.2.3 ) subproductgroepgroep,
(SELECT smg.mld_stdmeldinggroep_naam
FROM mld_stdmeldinggroep smg
WHERE smg.mld_stdmeldinggroep_key = s.mld_stdmeldinggroep_key
) subproductgroepgroep,
(SELECT DECODE (
m.mld_melding_status,
4,
@@ -3980,7 +3979,7 @@ AS
TO_CHAR (NULL),
kg.prs_kostensoortgrp_oms,
prs_kostensoort_oms,
prs_kostenplaats_nr,
kp.prs_kostenplaats_nr,
prs_kostenplaats_omschrijving,
prs_perslid_naam_full,
c.prs_perslid_key_beh,
@@ -4037,14 +4036,14 @@ AS
TO_NUMBER (NULL),
TO_NUMBER (NULL),
c.cnt_contract_kosten,
prs_kostenplaats_nr,
kp.prs_kostenplaats_nr,
prs_kostenplaats_omschrijving
FROM cnt_contract c,
ins_tab_discipline d,
prs_kostensoort ks,
prs_kostensoortgrp kg,
prs_kostenplaats kp,
prs_v_perslid_fullnames pf,
prs_v_perslid_fullnames_all pf,
prs_v_afdeling a,
prs_bedrijf b
WHERE c.ins_discipline_key = d.ins_discipline_key
@@ -7625,7 +7624,7 @@ CREATE OR REPLACE VIEW aaxx_v_rap_imp_jaarcontract
)
AS
SELECT cnt_contract_nummer_intern * 100,
prs_kostenplaats_nr,
k.prs_kostenplaats_nr,
prs_bedrijf_naam,
prs_leverancier_nr,
cnt_contract_omschrijving,
@@ -7777,8 +7776,7 @@ AS
SELECT sd.ins_srtdiscipline_omschrijving,
d.ins_discipline_omschrijving,
m.mld_stdmelding_omschrijving,
m.mld_stdmelding_groep,
-- 5.2.3 g.mld_stdmeldinggroep_naam mld_stdmelding_groep,
g.mld_stdmeldinggroep_naam mld_stdmelding_groep,
m.mld_stdmelding_urgentie,
m.mld_stdmelding_uitvoertijd,
COALESCE (k2.prs_kostensoort_opmerking,
@@ -7795,7 +7793,7 @@ AS
m.mld_stdmelding_autoorder,
alg_onrgoed_niveau
FROM mld_stdmelding m,
-- 5.2.3 mld_stdmeldinggroep g,
mld_stdmeldinggroep g,
mld_discipline d,
ins_srtdiscipline sd,
prs_kostensoort k,
@@ -7821,7 +7819,7 @@ AS
AND m.prs_kostensoort_key = k2.prs_kostensoort_key(+)
AND m.prs_dienst_key = d.prs_dienst_key(+)
AND m.mld_typeopdr_key = ot.mld_typeopdr_key(+)
-- 5.2.3 AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
AND len.fac_locale_kolomkeyval(+) = m.mld_stdmelding_key
AND lde.fac_locale_kolomkeyval(+) = m.mld_stdmelding_key
AND lfr.fac_locale_kolomkeyval(+) = m.mld_stdmelding_key;