Files
Customer/onces/BLCC/BLCC#71247.sql
Maarten van der Heide a52748cc1a BLCCBLCC#71247 Schoonmaak-inrichting (Hago -> CSU)
svn path=/Customer/; revision=55450
2022-03-31 15:28:05 +00:00

207 lines
12 KiB
SQL

--
-- $Id$
--
-- Customer specific once-script BLCC#71247.sql.
DEFINE thisfile = 'BLCC#71247.sql'
DEFINE dbuser = '^BLCC'
SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
COLUMN fcltcusterr NEW_VALUE fcltcusterr NOPRINT;
WHENEVER SQLERROR CONTINUE;
SELECT adm.getscriptspoolfile('&thisfile') AS fcltlogfile FROM DUAL;
SPOOL &fcltlogfile
WHENEVER SQLERROR EXIT;
SELECT adm.checkscriptcust('&dbuser') AS fcltcusterr FROM DUAL;
WHENEVER SQLERROR CONTINUE;
PROMPT &fcltcusterr
SET DEFINE OFF
------ payload begin ------
-- BLCC#71247: Tabel met historische ALG-ruimtegegevens.
CREATE TABLE blcc_alg_freeze
(
freeze_datum DATE,
alg_ruimte_key NUMBER (10),
locatiecode VARCHAR2 (20),
gebouwcode VARCHAR2 (20),
verdiepingcode VARCHAR2 (20),
ruimtenummer VARCHAR2 (20),
ruimtefunctie VARCHAR2 (60),
nvo NUMBER(8,2), -- alg_ruimte_bruto_vloeropp
nvo_getekend NUMBER(8,2),
vvo NUMBER(8,2), -- alg_ruimte_opp_alt1
vvo_getekend NUMBER(8,2),
lhkotc_class VARCHAR2 (60),
basic_tarief NUMBER(16,5),
premium_tarief NUMBER(16,5),
excellent_tarief NUMBER(16,5),
sch_maand VARCHAR2 (10), -- Maand voor freeze_datum
sch_tariefniveau VARCHAR2 (1000), -- Basic/Premium/Excellent
sch_contract VARCHAR2 (1000), -- Aan ruimte gekoppeld(e) Schoonmaakcontract(en) 2981/2501/2982=Soft Services Cleaning Basic/Premium/Excellent
sch_mantel VARCHAR2 (1000), -- Aan ruimte gekoppeld(e) Schoonmaakmantel(s)
huur_maand VARCHAR2 (10), -- Maand na freeze_datum
huur_contract VARCHAR2 (1000) -- Aan ruimte gekoppeld(e) Huurcontract(en) 2122/2123=LA/LA CRF
);
/*
SELECT SYSDATE freeze_datum,
r.alg_ruimte_key,
l.alg_locatie_code,
g.alg_gebouw_code,
v.alg_verdieping_code,
r.alg_ruimte_nr,
sr.alg_srtruimte_omschrijving,
r.alg_ruimte_bruto_vloeropp nvo,
tekcont.cad_imp_contour_opp nvo_getekend,
r.alg_ruimte_opp_alt1 vvo,
tekcont.cad_imp_contour_opp_alt1 vvo_getekend,
lhkotc.waarde lhkotc_class,
type_vloer.waarde type_vloer,
fac.safe_to_number (basic.waarde) basic_tarief,
fac.safe_to_number (premium.waarde) premium_tarief,
fac.safe_to_number (excellent.waarde) excellent_tarief,
TO_CHAR (ADD_MONTHS (SYSDATE, -1), 'yyyy-mm') sch_maand,
csch.sch_tariefniveau_lijst sch_tariefniveau,
csch.sch_cnt_lijst sch_contract,
csch.sch_mantel_lijst sch_mantel,
TO_CHAR (ADD_MONTHS (SYSDATE, 1), 'yyyy-mm') huur_maand,
chuur.huur_cnt_lijst huur_contract
FROM alg_v_aanwezigruimte r,
alg_verdieping v,
alg_gebouw g,
alg_locatie l,
alg_srtruimte sr,
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde
FROM alg_v_aanwezigonrgoedkenmerk
WHERE alg_kenmerk_key = 1460 -- NVO
AND alg_onrgoed_niveau = 'R') nvo,
--cad_tekening tek,
--(SELECT * FROM cad_tekening WHERE cad_tekening_verwijder IS NULL) tek,
--cad_imp_contour cont,
--(SELECT * FROM cad_imp_contour WHERE cad_imp_contour_concept = 0 AND prj_scenario_key IS NULL) cont,
(SELECT tek.alg_verdieping_key, cont.cad_imp_contour_nr, cont.cad_imp_contour_opp, cont.cad_imp_contour_opp_alt1
FROM cad_tekening tek, cad_imp_contour cont
WHERE cad_tekening_verwijder IS NULL
AND tek.alg_verdieping_key = cont.cad_tekening_key
AND cont.cad_imp_contour_concept = 0
AND cont.prj_scenario_key IS NULL) tekcont,
(SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde
FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1100 -- LHKOTC Classificatie
AND ok.alg_onrgoed_niveau = 'R'
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) lhkotc,
(SELECT alg_onrgoed_key, ud.fac_usrdata_omschr waarde
FROM alg_v_aanwezigonrgoedkenmerk ok, fac_v_aanwezigusrdata ud
WHERE ok.alg_kenmerk_key = 1301 -- Type vloer
AND ok.alg_onrgoed_niveau = 'R'
AND fac.safe_to_number (ok.alg_onrgoedkenmerk_waarde) = ud.fac_usrdata_key) type_vloer,
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde
FROM alg_v_aanwezigonrgoedkenmerk
WHERE alg_kenmerk_key = 1540 -- Schoonmaaktarief Basic
AND alg_onrgoed_niveau = 'R') basic,
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde
FROM alg_v_aanwezigonrgoedkenmerk
WHERE alg_kenmerk_key = 1541 -- Schoonmaaktarief Premium
AND alg_onrgoed_niveau = 'R') premium,
(SELECT alg_onrgoed_key, alg_onrgoedkenmerk_waarde waarde
FROM alg_v_aanwezigonrgoedkenmerk
WHERE alg_kenmerk_key = 1542 -- Schoonmaaktarief Excellent
AND alg_onrgoed_niveau = 'R') excellent,
( SELECT c2r.alg_ruimte_key,
LISTAGG (DISTINCT DECODE (c.ins_discipline_key, 2981, 'Basic', 2501, 'Premium', 'Excellent'), ',') WITHIN GROUP (ORDER BY DECODE (c.ins_discipline_key, 2981, 'Basic', 2501, 'Premium', 'Excellent'))
sch_tariefniveau_lijst,
LISTAGG (DISTINCT TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '|' || cd.ins_discipline_omschrijving || '|' || b.prs_overeenkomst_nr || '|' || b.prs_bedrijf_naam, ',') WITHIN GROUP (ORDER BY TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0') || '|' || cd.ins_discipline_omschrijving || '|' || b.prs_overeenkomst_nr || '|' || b.prs_bedrijf_naam)
sch_cnt_lijst,
LISTAGG (DISTINCT TO_CHAR (mc.cnt_contract_key) || '=' || mc.cnt_contract_nummer_intern || '.' || COALESCE (mc.cnt_contract_versie, '0') || '|' || mc.cnt_contract_omschrijving, ',') WITHIN GROUP (ORDER BY TO_CHAR (mc.cnt_contract_key) || '=' || mc.cnt_contract_nummer_intern || '.' || COALESCE (mc.cnt_contract_versie, '0') || '|' || mc.cnt_contract_omschrijving)
sch_mantel_lijst
FROM cnt_v_aanwezigcontract c,
cnt_discipline cd,
prs_bedrijf b,
cnt_v_aanwezigcontract mc,
(SELECT cp.cnt_contract_key, r.alg_ruimte_key
FROM cnt_contract_plaats cp, alg_ruimte r
WHERE cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'R'
AND cp.cnt_alg_plaats_key = r.alg_ruimte_key
UNION
SELECT cp.cnt_contract_key, r.alg_ruimte_key
FROM cnt_contract_plaats cp, alg_ruimte r
WHERE cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'V'
AND cp.cnt_alg_plaats_key = r.alg_verdieping_key
UNION
SELECT cp.cnt_contract_key, r.alg_ruimte_key
FROM cnt_contract_plaats cp, alg_verdieping v, alg_ruimte r
WHERE cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'G'
AND cp.cnt_alg_plaats_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key) c2r -- Contract2Ruimte
WHERE c.ins_discipline_key IN (2981, 2501, 2982) -- Soft Services Cleaning Basic/Premium/Excellent
AND TRUNC (ADD_MONTHS (SYSDATE, -1), 'mm') >= TRUNC(c.cnt_contract_looptijd_van)
AND TRUNC (ADD_MONTHS (SYSDATE, -1), 'mm') < TRUNC(c.cnt_contract_looptijd_tot + 1) -- Voorgaande maand actief (want op 1/4 wordt maart geschoonmaakfactureerd)!
AND c.cnt_contract_status = 0 -- Definitief
AND c.ins_discipline_key = cd.ins_discipline_key
AND c.cnt_prs_bedrijf_key = b.prs_bedrijf_key
AND c.cnt_contract_mantel_key = mc.cnt_contract_key(+)
AND c.cnt_contract_key = c2r.cnt_contract_key
GROUP BY c2r.alg_ruimte_key) csch, -- Schoonmaakcontracten per ruimte (via scope gekoppeld)
( SELECT c2r.alg_ruimte_key,
LISTAGG (DISTINCT TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'), ',') WITHIN GROUP (ORDER BY TO_CHAR (c.cnt_contract_key) || '=' || c.cnt_contract_nummer_intern || '.' || COALESCE (c.cnt_contract_versie, '0'))
huur_cnt_lijst
FROM cnt_v_aanwezigcontract c,
(SELECT cp.cnt_contract_key, r.alg_ruimte_key
FROM cnt_contract_plaats cp, alg_v_aanwezigruimte r
WHERE cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'R'
AND cp.cnt_alg_plaats_key = r.alg_ruimte_key
UNION
SELECT cp.cnt_contract_key, r.alg_ruimte_key
FROM cnt_contract_plaats cp, alg_v_aanwezigruimte r
WHERE cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'V'
AND cp.cnt_alg_plaats_key = r.alg_verdieping_key
UNION
SELECT cp.cnt_contract_key, r.alg_ruimte_key
FROM cnt_contract_plaats cp, alg_verdieping v, alg_v_aanwezigruimte r
WHERE cp.cnt_contract_plaats_verwijder IS NULL
AND cp.cnt_alg_plaats_code = 'G'
AND cp.cnt_alg_plaats_key = v.alg_gebouw_key
AND v.alg_verdieping_key = r.alg_verdieping_key) c2r -- Contract2Ruimte
WHERE c.ins_discipline_key IN (2122, 2123) -- LA/LA CRF
AND TRUNC (ADD_MONTHS (SYSDATE, 1), 'mm') >= TRUNC(c.cnt_contract_looptijd_van)
AND TRUNC (ADD_MONTHS (SYSDATE, 1), 'mm') < TRUNC(c.cnt_contract_looptijd_tot + 1) -- Volgende maand actief (want op 1/4 wordt mei gehuurfactureerd)!
AND c.cnt_contract_status = 0 -- Definitief
AND c.cnt_contract_key = c2r.cnt_contract_key
GROUP BY c2r.alg_ruimte_key) chuur -- Huurcontracten per ruimte (via scope gekoppeld)
WHERE r.alg_verdieping_key = v.alg_verdieping_key
AND v.alg_gebouw_key = g.alg_gebouw_key
AND g.alg_locatie_key = l.alg_locatie_key
AND r.alg_srtruimte_key = sr.alg_srtruimte_key(+)
AND r.alg_ruimte_key = nvo.alg_onrgoed_key(+)
--AND r.alg_verdieping_key = tek.alg_verdieping_key(+)
--AND r.alg_ruimte_nr = cont.cad_imp_contour_nr(+)
--AND cont.cad_tekening_key = tek.cad_tekening_key(+)
AND r.alg_verdieping_key = tekcont.alg_verdieping_key(+)
AND r.alg_ruimte_nr = tekcont.cad_imp_contour_nr(+)
AND r.alg_ruimte_key = lhkotc.alg_onrgoed_key(+)
AND r.alg_ruimte_key = type_vloer.alg_onrgoed_key(+)
AND r.alg_ruimte_key = basic.alg_onrgoed_key(+)
AND r.alg_ruimte_key = premium.alg_onrgoed_key(+)
AND r.alg_ruimte_key = excellent.alg_onrgoed_key(+)
AND r.alg_ruimte_key = chuur.alg_ruimte_key(+)
AND r.alg_ruimte_key = csch.alg_ruimte_key(+);
*/
------ payload end ------
SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/
COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile