PIVP#80515 -- Export van alle ruimtes in Exact formaat

svn path=/Customer/trunk/; revision=62538
This commit is contained in:
Norbert Wassink
2023-11-09 11:33:11 +00:00
parent fe2602b6df
commit f27eb928fb

View File

@@ -2749,7 +2749,43 @@ AS
WHERE TRUNC(datum_van) > TRUNC(SYSDATE)
AND (AANMK_DATUM> SYSDATE-2/24 OR LAST_UPD> SYSDATE-2/24);
-- Notificatie naar operations als een nieuwe reservering een afwijkende opstelling heeft
CREATE OR REPLACE VIEW PIVP_V_NOTI_RESNEW_OPER
(
sender,
receiver,
text,
code,
key,
xkey,
xemail,
xmobile
)
AS
SELECT NULL sender,
NULL receiver,
'Reservering '||rrr.res_reservering_key||'/'||rrr.RES_RSV_RUIMTE_VOLGNR||' heeft een afwijkende opstelling.' text,
'CUST03' code,
rrr.res_reservering_key key,
rrr.res_rsv_ruimte_key xkey,
(SELECT listagg(p.prs_perslid_email, ';' ) within group (order by p.prs_perslid_email)
from fac_groep fg, fac_gebruikersgroep fgg , prs_perslid p
where fg.fac_groep_upper='BO_ASS_JOHN-ANTHONY-PETER-SCHM'
AND fgg.FAC_GROEP_KEY = fg.FAC_GROEP_KEY
AND p.PRS_PERSLID_KEY = fgg.PRS_PERSLID_KEY) xemail,
NULL xmobile
FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro, fac_tracking ft
WHERE rrr.res_status_bo_key = 2 AND rrr.res_rsv_ruimte_verwijder IS NULL
AND rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key
AND rro.res_ruimte_opstel_default IS NULL
AND ft.fac_tracking_refkey = rrr.res_rsv_ruimte_key
AND ft.fac_srtnotificatie_key=116
AND ft.fac_tracking_datum> SYSDATE-1
AND NOT EXISTS (SElECT *
FROM fac_tracking ft
WHERE fac_tracking_refkey=rrr.res_rsv_ruimte_key
AND ft.fac_srtnotificatie_key=223
AND ft.fac_tracking_oms LIKE '%CUST03%');
-- Registratie nieuwe gebruiker in afgelopen dag
@@ -3406,7 +3442,7 @@ AS
AND fac_usrdata_key=aok.alg_onrgoedkenmerk_waarde
AND pb.prs_bedrijf_naam=fac_usrdata_omschr
and ak.alg_kenmerk_verwijder IS NULL) relatie_code,
(SELECT DECODE(fud.fac_usrdata_code,'Verhuurbaar','1','0')
(SELECT DECODE(fud.fac_usrdata_code,'Verhuurbaar','1','Verhuurbaar zonder servicekosten','1','0')
FROM alg_onrgoedkenmerk aok, alg_kenmerk ak, fac_usrdata fud
WHERE aok.alg_onrgoed_key =alg.alg_ruimte_key
AND aok.alg_kenmerk_key=ak.alg_kenmerk_key
@@ -3431,7 +3467,7 @@ AS
FROM alg_ruimte ar
WHERE ar.alg_ruimte_key=alg.alg_ruimte_key) sync_datum
FROM alg_v_ruimte_gegevens alg, alg_gebouw agb
WHERE agb.alg_gebouw_key = alg.alg_gebouw_key
WHERE agb.alg_gebouw_key = alg.alg_gebouw_key
AND alg.alg_ruimte_nr NOT LIKE '_000';
@@ -4201,13 +4237,13 @@ AS
-- EXPORT RUIMTES
CREATE OR REPLACE PROCEDURE pivp_select_exact_ruimte_exp(p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
p_applrun IN VARCHAR2
)
AS
CURSOR ruimtes IS
SELECT *
FROM pivp_v_ruimteexport
WHERE verhuurbaar='1'
WHERE verhuurbaar ='1'
AND (sync_datum IS NULL OR sync_datum<mutatie_datum);
v_bestand VARCHAR2(100);
@@ -4226,31 +4262,41 @@ BEGIN
pivp.add_xml_row (v_bestand, '<eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-Schema.xsd">');
pivp.add_xml_row (v_bestand, '<Items>');
FOR rec IN ruimtes
LOOP
v_counter:=v_counter+1;
pivp.add_xml_row (v_bestand, '<Item code="'||rec.ruimte_nr||'" TYPE="'||rec.ruimte_type_verhuur||'" searchcode="'||rec.ruimte_nr||'">');
pivp.add_xml_element (v_bestand, 'Description', rec.ruimte_nr);
pivp.add_xml_row (v_bestand, '<Assortment number="4001" code="4001"/>');
pivp.add_xml_row (v_bestand, '<FreeFields>');
pivp.add_xml_row (v_bestand, '<FreeNumbers>');
pivp.add_xml_row (v_bestand,'<FreeNumber number="1" label="Oppervlakte WO (m2)">'||rec.wo||'</FreeNumber>');
pivp.add_xml_row (v_bestand,'<FreeNumber number="2" label="Oppervlakte VVO (m2)">'||REPLACE(rec.vvo,',','.')||'</FreeNumber>');
pivp.add_xml_row (v_bestand, '</FreeNumbers>');
pivp.add_xml_row (v_bestand, '<FreeYesNos>');
pivp.add_xml_row (v_bestand, '<FreeYesNo number="1" label="Verhuurbaar">'||rec.verhuurbaar||'</FreeYesNo>');
pivp.add_xml_row (v_bestand, '<FreeYesNo number="2" label="Vergaderruimte">0</FreeYesNo>');
pivp.add_xml_row (v_bestand, '</FreeYesNos>');
pivp.add_xml_row (v_bestand, '<FreeTexts>');
pivp.add_xml_row (v_bestand, '<FreeText number="1" label="Type">'||rec.ruimte_type_verhuur||'</FreeText>');
pivp.add_xml_row (v_bestand, '</FreeTexts>');
pivp.add_xml_row (v_bestand, '</FreeFields>');
pivp.add_xml_row (v_bestand, '</Item>');
UPDATE alg_ruimte SET alg_ruimte_externsyncdate=SYSDATE WHERE alg_ruimte_key=rec.alg_ruimte_key;
END LOOP;
FOR rec IN ruimtes
LOOP
v_counter:=v_counter+1;
pivp.add_xml_row (v_bestand, '<Item code="'||rec.ruimte_nr||'" TYPE="'||rec.ruimte_type_verhuur||'" searchcode="'||rec.ruimte_nr||'">');
pivp.add_xml_element (v_bestand, 'Description', rec.ruimte_nr);
pivp.add_xml_row (v_bestand, '<Assortment number="4001" code="4001"/>');
pivp.add_xml_row (v_bestand, '<GLRevenue code="90199" side="C" type="W" subtype="J">');
pivp.add_xml_row (v_bestand, '<Description>Opbrengst diversen 21%</Description>');
pivp.add_xml_row (v_bestand, '</GLRevenue>');
pivp.add_xml_row (v_bestand, '<GLCosts code="70006" side="D" type="W" subtype="K">');
pivp.add_xml_row (v_bestand, '<Description>Kostprijs verkopen</Description>');
pivp.add_xml_row (v_bestand, '</GLCosts>');
pivp.add_xml_row (v_bestand, '<GLPurchase code="41429" side="D" type="W" subtype="K">');
pivp.add_xml_row (v_bestand, '<Description>Asset Management</Description>');
pivp.add_xml_row (v_bestand, '</GLPurchase>');
pivp.add_xml_row (v_bestand, '<FreeFields>');
pivp.add_xml_row (v_bestand, '<FreeNumbers>');
pivp.add_xml_row (v_bestand, '<FreeNumber number="1" label="Oppervlakte WO (m2)">'||rec.wo||'</FreeNumber>');
pivp.add_xml_row (v_bestand, '<FreeNumber number="2" label="Oppervlakte VVO (m2)">'||REPLACE(rec.vvo,',','.')||'</FreeNumber>');
pivp.add_xml_row (v_bestand, '</FreeNumbers>');
pivp.add_xml_row (v_bestand, '<FreeYesNos>');
pivp.add_xml_row (v_bestand, '<FreeYesNo number="1" label="Verhuurbaar">'||rec.verhuurbaar||'</FreeYesNo>');
pivp.add_xml_row (v_bestand, '<FreeYesNo number="2" label="Vergaderruimte">0</FreeYesNo>');
pivp.add_xml_row (v_bestand, '</FreeYesNos>');
pivp.add_xml_row (v_bestand, '<FreeTexts>');
pivp.add_xml_row (v_bestand, '<FreeText number="1" label="Type">'||rec.ruimte_type_verhuur||'</FreeText>');
pivp.add_xml_row (v_bestand, '</FreeTexts>');
pivp.add_xml_row (v_bestand, '</FreeFields>');
pivp.add_xml_row (v_bestand, '</Item>');
UPDATE alg_ruimte SET alg_ruimte_externsyncdate=SYSDATE WHERE alg_ruimte_key=rec.alg_ruimte_key;
END LOOP;
pivp.add_xml_row (v_bestand, '</Items>');
pivp.add_xml_row (v_bestand, '</eExact>');
@@ -4283,6 +4329,100 @@ AS
WHERE fac_rapport_node LIKE 'EXA_RUIMTE%'
ORDER BY fac_rapport_node,fac_rapport_volgnr;
-- Export in exact formaat die alle ruutes expoerteerd
CREATE OR REPLACE PROCEDURE pivp_select_exact_ruimte_all(p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
CURSOR ruimtes IS
SELECT *
FROM pivp_v_ruimteexport
WHERE verhuurbaar= '1';
v_bestand VARCHAR2(100);
v_counter NUMBER;
v_relatie_code VARCHAR2(10);
BEGIN
v_bestand := 'EXA_RUIMTEA';
v_counter :=0;
v_relatie_code :='--------';
DELETE FROM fac_rapport where fac_rapport_node='EXA_RUIMTEA';
COMMIT;
pivp.add_xml_row (v_bestand, '<?xml version="1.0" encoding="windows-1252"?>');
pivp.add_xml_row (v_bestand, '<eExact xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="eExact-Schema.xsd">');
pivp.add_xml_row (v_bestand, '<Items>');
FOR rec IN ruimtes
LOOP
v_counter:=v_counter+1;
pivp.add_xml_row (v_bestand, '<Item code="'||rec.ruimte_nr||'" TYPE="'||rec.ruimte_type_verhuur||'" searchcode="'||rec.ruimte_nr||'">');
pivp.add_xml_element (v_bestand, 'Description', rec.ruimte_nr);
pivp.add_xml_row (v_bestand, '<Assortment number="4001" code="4001"/>');
pivp.add_xml_row (v_bestand, '<GLRevenue code="90199" side="C" type="W" subtype="J">');
pivp.add_xml_row (v_bestand, '<Description>Opbrengst diversen 21%</Description>');
pivp.add_xml_row (v_bestand, '</GLRevenue>');
pivp.add_xml_row (v_bestand, '<GLCosts code="70006" side="D" type="W" subtype="K">');
pivp.add_xml_row (v_bestand, '<Description>Kostprijs verkopen</Description>');
pivp.add_xml_row (v_bestand, '</GLCosts>');
pivp.add_xml_row (v_bestand, '<GLPurchase code="41429" side="D" type="W" subtype="K">');
pivp.add_xml_row (v_bestand, '<Description>Asset Management</Description>');
pivp.add_xml_row (v_bestand, '</GLPurchase>');
pivp.add_xml_row (v_bestand, '<FreeFields>');
pivp.add_xml_row (v_bestand, '<FreeNumbers>');
pivp.add_xml_row (v_bestand, '<FreeNumber number="1" label="Oppervlakte WO (m2)">'||rec.wo||'</FreeNumber>');
pivp.add_xml_row (v_bestand, '<FreeNumber number="2" label="Oppervlakte VVO (m2)">'||REPLACE(rec.vvo,',','.')||'</FreeNumber>');
pivp.add_xml_row (v_bestand, '</FreeNumbers>');
pivp.add_xml_row (v_bestand, '<FreeYesNos>');
pivp.add_xml_row (v_bestand, '<FreeYesNo number="1" label="Verhuurbaar">'||rec.verhuurbaar||'</FreeYesNo>');
pivp.add_xml_row (v_bestand, '<FreeYesNo number="2" label="Vergaderruimte">0</FreeYesNo>');
pivp.add_xml_row (v_bestand, '</FreeYesNos>');
pivp.add_xml_row (v_bestand, '<FreeTexts>');
pivp.add_xml_row (v_bestand, '<FreeText number="1" label="Type">'||rec.ruimte_type_verhuur||'</FreeText>');
pivp.add_xml_row (v_bestand, '</FreeTexts>');
pivp.add_xml_row (v_bestand, '</FreeFields>');
pivp.add_xml_row (v_bestand, '</Item>');
END LOOP;
pivp.add_xml_row (v_bestand, '</Items>');
pivp.add_xml_row (v_bestand, '</eExact>');
IF v_counter=0 THEN
DELETE FROM fac_rapport WHERE fac_rapport_node=v_bestand;
END IF;
fac.writelog (p_applname, 'S', 'Exact ruimte export uitgevoerd.','Aantal geexporteerde verhuurbare ruimtes is: '||v_counter);
END;
/
CREATE OR REPLACE PROCEDURE PIVP_SELECT_EXACT_ALL_RUIMTE (p_applname IN VARCHAR2,
p_applrun IN VARCHAR2
)
AS
BEGIN
pivp_select_exact_ruimte_all (p_applname, p_applrun);
END;
/
CREATE OR REPLACE VIEW PIVP_V_EXPORT_EXACT_ALL_RUIMTE (
result,
result_order
)
AS
SELECT fac_rapport_regel ,fac_rapport_volgnr
FROM fac_rapport
WHERE fac_rapport_node LIKE 'EXA_RUIMTEA%'
ORDER BY fac_rapport_node,fac_rapport_volgnr;
--END EXPORTS