PIVP#74972 -- Fase 2 implementatie
svn path=/Customer/trunk/; revision=59300
This commit is contained in:
241
PIVP/PIVP.sql
241
PIVP/PIVP.sql
@@ -2437,70 +2437,9 @@ END;
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE PIVP_IMPORT_EXACT_RUIMTEHUURD(p_import_key NUMBER)
|
||||
AS
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
v_newline VARCHAR2 (4000); -- Input line
|
||||
v_errormsg VARCHAR2 (1000);
|
||||
v_errorhint VARCHAR2 (1000);
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
header_is_valid NUMBER;
|
||||
v_count_import NUMBER;
|
||||
|
||||
v_ruimte VARCHAR2(100);
|
||||
v_debiteur VARCHAR2(100);
|
||||
|
||||
AS
|
||||
BEGIN
|
||||
DELETE FROM fac_imp_csv WHERE fac_import_key=p_import_key;
|
||||
header_is_valid:=0;
|
||||
v_count_import :=0;
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_errormsg := 'Fout FETCH te importeren rij';
|
||||
v_count_import:=v_count_import+1;
|
||||
|
||||
v_newline := rec.fac_imp_file_line;
|
||||
v_errormsg := 'Fout opvragen te importeren rij '||v_count_import;
|
||||
|
||||
-- Lees alle veldwaarden
|
||||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 1, v_ruimte);
|
||||
fac.imp_getfield_nr (v_newline, c_fielddelimitor, 2, v_debiteur);
|
||||
|
||||
IF header_is_valid=0
|
||||
THEN
|
||||
IF UPPER(v_ruimte)='RUIMTE' AND UPPER(v_debiteur)='KLANT'
|
||||
THEN
|
||||
header_is_valid:=1;
|
||||
END IF;
|
||||
ELSE
|
||||
INSERT INTO FAC_IMP_CSV (fac_import_key,
|
||||
fac_imp_csv_col01,
|
||||
fac_imp_csv_col02,
|
||||
fac_imp_csv_index)
|
||||
VALUES (p_import_key,
|
||||
v_ruimte,
|
||||
v_debiteur,
|
||||
v_count_import);
|
||||
END IF;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND THEN
|
||||
fac.imp_writelog (p_import_key,
|
||||
'E',
|
||||
v_errormsg,
|
||||
'niet gevonden');
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
fac_import_genericcsv(p_import_key);
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2528,77 +2467,81 @@ BEGIN
|
||||
v_insert_counter:=0;
|
||||
FOR rec IN csv
|
||||
LOOP
|
||||
v_counter:=v_counter+1;
|
||||
v_gebouw_code:=SUBSTR(rec.fac_imp_csv_col01,1,INSTR(rec.fac_imp_csv_col01,'-')-1);
|
||||
v_ruimte_nr := SUBSTR(rec.fac_imp_csv_col01,INSTR(rec.fac_imp_csv_col01,'-')+1,LENGTH(rec.fac_imp_csv_col01));
|
||||
v_debiteur := rec.fac_imp_csv_col02;
|
||||
BEGIN
|
||||
v_errorhint:='Ruimte '||v_ruimte_nr||'in gebouw '||v_gebouw_code||' niet gevonden';
|
||||
v_errormsg:='Ruimte niet gevonden';
|
||||
SELECT alg_ruimte_key
|
||||
INTO v_ruimte_key
|
||||
FROM alg_v_onroerendgoed_gegevens
|
||||
WHERE alg_ruimte_nr=v_ruimte_nr
|
||||
AND alg_gebouw_code=v_gebouw_code;
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
v_ruimte_key:=-1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errorhint ,
|
||||
v_errormsg);
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
v_errorhint:='Huurder '||v_debiteur||' niet gevonden';
|
||||
v_errormsg:='Huurder niet gevonden';
|
||||
SELECT prs_bedrijf_key , p.prs_bedrijf_naam
|
||||
INTO v_huurder_key , v_huurder_naam
|
||||
FROM prs_bedrijf p
|
||||
WHERE p.prs_leverancier_nr = v_debiteur
|
||||
AND p.prs_bedrijf_huurder=1
|
||||
AND p.prs_bedrijf_verwijder IS NULL;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
v_huurder_key:=-1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errorhint ,
|
||||
v_errormsg);
|
||||
END;
|
||||
|
||||
BEGIN
|
||||
SELECT p.prs_leverancier_nr, p.prs_bedrijf_naam
|
||||
INTO v_huidige_huurder_nr, v_huidige_huurder_naam
|
||||
FROM alg_v_onroerendgoed_gegevens alg, alg_onrgoedkenmerk aok, prs_bedrijf p
|
||||
WHERE alg.alg_ruimte_key=519
|
||||
AND aok.alg_onrgoed_key = alg.alg_ruimte_key
|
||||
AND aok.alg_kenmerk_key=1021
|
||||
AND p.prs_bedrijf_key=aok.alg_onrgoedkenmerk_waarde;
|
||||
|
||||
IF v_debiteur<>v_huidige_huurder_nr THEN
|
||||
v_tracking_msg :='IMP: Huurder gewijzigd van '||v_huidige_huurder_naam||'('|| v_huidige_huurder_nr||')'||' naar '||v_huurder_naam||'('||v_debiteur||')';
|
||||
END IF;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_tracking_msg :='IMP: Nieuwe huurder '||v_huurder_naam||'('||v_debiteur||')';
|
||||
|
||||
END;
|
||||
|
||||
|
||||
IF v_ruimte_key>0 AND v_huurder_key>0 THEN
|
||||
alg.upsertkenmerk(1021,v_ruimte_key,v_huurder_key);
|
||||
fac.trackaction ('ALGRUP', v_ruimte_key, 3, SYSDATE,
|
||||
v_tracking_msg);
|
||||
v_insert_counter:=v_insert_counter+1;
|
||||
END IF;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
'Regels ingelezen :'||v_counter||' waarvan '||v_insert_counter||' geupdate',
|
||||
v_errormsg);
|
||||
|
||||
IF UPPER(rec.fac_imp_csv_col01)<>'RUIMTE' THEN
|
||||
v_counter:=v_counter+1;
|
||||
v_gebouw_code:=SUBSTR(rec.fac_imp_csv_col01,1,INSTR(rec.fac_imp_csv_col01,'-')-1);
|
||||
v_ruimte_nr := SUBSTR(rec.fac_imp_csv_col01,INSTR(rec.fac_imp_csv_col01,'-')+1,LENGTH(rec.fac_imp_csv_col01));
|
||||
v_debiteur := rec.fac_imp_csv_col02;
|
||||
BEGIN
|
||||
v_errorhint:='Ruimte '||v_ruimte_nr||'in gebouw '||v_gebouw_code||' niet gevonden';
|
||||
v_errormsg:='Ruimte niet gevonden';
|
||||
SELECT alg_ruimte_key
|
||||
INTO v_ruimte_key
|
||||
FROM alg_v_onroerendgoed_gegevens
|
||||
WHERE alg_ruimte_nr=v_ruimte_nr
|
||||
AND alg_gebouw_code=v_gebouw_code;
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
v_ruimte_key:=-1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errorhint ,
|
||||
v_errormsg);
|
||||
END;
|
||||
IF v_ruimte_key>0 THEN
|
||||
BEGIN
|
||||
v_errorhint:='Huurder '||v_debiteur||' niet gevonden';
|
||||
v_errormsg:='Huurder niet gevonden';
|
||||
SELECT prs_bedrijf_key , p.prs_bedrijf_naam
|
||||
INTO v_huurder_key , v_huurder_naam
|
||||
FROM prs_bedrijf p
|
||||
WHERE p.prs_leverancier_nr = v_debiteur
|
||||
AND p.prs_bedrijf_huurder=1
|
||||
AND p.prs_bedrijf_verwijder IS NULL;
|
||||
|
||||
EXCEPTION WHEN NO_DATA_FOUND THEN
|
||||
v_huurder_key:=-1;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
v_errorhint ,
|
||||
v_errormsg);
|
||||
END;
|
||||
END IF;
|
||||
IF v_huurder_key>0 AND v_ruimte_key>0
|
||||
THEN
|
||||
BEGIN
|
||||
SELECT p.prs_leverancier_nr, p.prs_bedrijf_naam
|
||||
INTO v_huidige_huurder_nr, v_huidige_huurder_naam
|
||||
FROM alg_v_onroerendgoed_gegevens alg, alg_onrgoedkenmerk aok, prs_bedrijf p
|
||||
WHERE alg.alg_ruimte_key=v_ruimte_key
|
||||
AND aok.alg_onrgoed_key = alg.alg_ruimte_key
|
||||
AND aok.alg_kenmerk_key=1021
|
||||
AND p.prs_bedrijf_key=aok.alg_onrgoedkenmerk_waarde;
|
||||
|
||||
IF v_debiteur<>v_huidige_huurder_nr THEN
|
||||
v_tracking_msg :='IMP: Huurder gewijzigd van '||v_huidige_huurder_naam||'('|| v_huidige_huurder_nr||')'||' naar '||v_huurder_naam||'('||v_debiteur||')';
|
||||
END IF;
|
||||
EXCEPTION WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
v_tracking_msg :='IMP: Nieuwe huurder '||v_huurder_naam||'('||v_debiteur||')';
|
||||
|
||||
END;
|
||||
END IF;
|
||||
|
||||
IF v_ruimte_key>0 AND v_huurder_key>0 THEN
|
||||
alg.upsertkenmerk(1021,v_ruimte_key,v_huurder_key);
|
||||
fac.trackaction ('ALGRUP', v_ruimte_key, 3, SYSDATE,
|
||||
v_tracking_msg);
|
||||
v_insert_counter:=v_insert_counter+1;
|
||||
END IF;
|
||||
fac.imp_writelog (p_import_key,
|
||||
'W',
|
||||
'Regels ingelezen :'||v_counter||' waarvan '||v_insert_counter||' geupdate',
|
||||
v_errormsg);
|
||||
END IF;
|
||||
|
||||
END LOOP;
|
||||
|
||||
DELETE FROM fac_imp_csv WHERE fac_import_key=p_import_key;
|
||||
END;
|
||||
/
|
||||
|
||||
@@ -2857,13 +2800,13 @@ AS
|
||||
pa.prs_afdeling_omschrijving bedrijf_naam,
|
||||
pa.prs_afdeling_naam debiteurnr,
|
||||
mkm.mld_kenmerkmelding_waarde factuurbedrag,
|
||||
DECODE(SUBSTR(md.ins_discipline_omschrijving,1,3),'FM-',REPLACE(SUBSTR(md.ins_discipline_omschrijving,1,6),'-',''),
|
||||
COALESCE((SElECT fud.fac_usrdata_CODE
|
||||
FROM mld_kenmerk mk1, mld_kenmerkmelding mkm1, fac_usrdata fud
|
||||
SUBSTR(md.ins_discipline_omschrijving,1,6) vakgroep_code,
|
||||
(SElECT SUBSTR(d.FAC_USRDATA_OMSCHR,0,6)
|
||||
FROM mld_kenmerk mk1, mld_kenmerkmelding mkm1, pivp_v_diensten d
|
||||
WHERE UPPER(mk1.mld_kenmerk_omschrijving)='DIENSTEN CODE'
|
||||
AND mkm1.mld_kenmerk_key = mk1.MLD_KENMERK_KEY
|
||||
AND mkm1.mld_melding_key = m.mld_melding_key
|
||||
AND fud.fac_usrdata_key = fac.safe_to_number(mkm1.mld_kenmerkmelding_waarde)),'NB')) dienstencode,
|
||||
AND d.fac_usrdata_key = fac.safe_to_number(mkm1.mld_kenmerkmelding_waarde)) dienstencode,
|
||||
(SElECT mkm1.MLD_KENMERKMELDING_WAARDE
|
||||
FROM mld_kenmerk mk1, mld_kenmerkmelding mkm1
|
||||
WHERE UPPER(mk1.mld_kenmerk_omschrijving)='PO NUMMER'
|
||||
@@ -2889,16 +2832,13 @@ AS
|
||||
FROM prs_bedrijf pb
|
||||
WHERE pb.prs_bedrijf_naam_upper='PIVOTPARK')
|
||||
AND msm.mld_stdmelding_key = m.mld_stdmelding_key
|
||||
-- AND msm.prs_kostensoort_key = (SELECT pk.prs_kostensoort_key -- alleen meldingen die een ksotesoort FACTUUR hebben
|
||||
-- FROM prs_kostensoort pk
|
||||
-- WHERE pk.prs_kostensoort_upper='FACTUUR')
|
||||
AND md.ins_discipline_key= msm.mld_ins_discipline_key
|
||||
AND isd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||||
-- AND isd.ins_srtdiscipline_key in (61,81,101,121, 181,221)
|
||||
AND isd.ins_srtdiscipline_key = md.ins_srtdiscipline_key
|
||||
-- AND m.mld_melding_einddatum BETWEEN TO_DATE('01-08-2022','dd-mm-yyyy') AND SYSDATE
|
||||
AND UPPER(mk.mld_kenmerk_omschrijving)='FACTUUR BEDRAG'
|
||||
AND mkm.mld_melding_key = m.mld_melding_key
|
||||
AND mkm.mld_kenmerk_key=mk.mld_kenmerk_key
|
||||
AND fac.safe_to_number(mkm.mld_kenmerkmelding_waarde)>0
|
||||
AND m.mld_melding_externsyncdate IS NULL
|
||||
ORDER BY p.prs_afdeling_key;
|
||||
|
||||
@@ -3604,6 +3544,7 @@ AS
|
||||
v_currentmonth VARCHAR2(10);
|
||||
v_currentyear VARCHAR2(10);
|
||||
v_currenthuurder VARCHAR2(10);
|
||||
v_factuurregel VARCHAR2(100);
|
||||
|
||||
BEGIN
|
||||
|
||||
@@ -3697,7 +3638,19 @@ BEGIN
|
||||
pivp.add_xml_row (v_bestand, '</ForeignAmount>'); */
|
||||
END IF;
|
||||
pivp.add_xml_row (v_bestand, '<InvoiceLine lineNo="' || v_sub_count || '" type="N" subtype="N">');
|
||||
pivp.add_xml_element (v_bestand, 'Description', rec_regel.melding_key||' - '||rec_regel.factuurinfo);
|
||||
IF LENGTH(rec_regel.ponummer)>0 THEN
|
||||
pivp.add_xml_element (v_bestand, 'LineYourRef', 'Uw referentie: '||rec_regel.ponummer);
|
||||
END IF;
|
||||
IF LENGTH(rec_regel.factuurinfo)>0 THEN
|
||||
v_factuurregel:= rec_regel.melding_key||' - '||rec_regel.factuurinfo;
|
||||
ELSE
|
||||
IF LENGTH(rec_regel.onderwerp)>0 THEN
|
||||
v_factuurregel:= rec_regel.melding_key||'('||rec_regel.dienstencode||')-'||rec_regel.onderwerp;
|
||||
ELSE
|
||||
v_factuurregel:= rec_regel.melding_key||'-'||rec_regel.vagroep;
|
||||
END IF;
|
||||
END IF;
|
||||
pivp.add_xml_element (v_bestand, 'Description', SUBSTR(v_factuurregel,0,60));
|
||||
pivp.add_xml_row (v_bestand, '<Item code="' || rec_regel.dienstencode || '"/>');
|
||||
pivp.add_xml_element (v_bestand, 'Quantity', '1' );
|
||||
pivp.add_xml_row (v_bestand, '<Price>');
|
||||
@@ -3788,6 +3741,7 @@ AS
|
||||
v_currentmonth NUMBER;
|
||||
v_currenthuurder VARCHAR2(10);
|
||||
v_factuurdatum VARCHAR2(15);
|
||||
v_factuurregel VARCHAR2(60);
|
||||
|
||||
BEGIN
|
||||
|
||||
@@ -3881,8 +3835,9 @@ BEGIN
|
||||
|
||||
|
||||
END IF;
|
||||
pivp.add_xml_row (v_bestand, '<InvoiceLine lineNo="' || v_sub_count || '" type="N" subtype="N">');
|
||||
pivp.add_xml_element (v_bestand, 'Description', 'Reservering '||rec_regel.reservering_nr||' (Zaal '||rec_regel.ruimte_nr||') op '||TO_CHAR(rec_regel.datum,'DD-MM-YYYY')||' van '||rec_regel.van||' tot '||rec_regel.tot);
|
||||
pivp.add_xml_row (v_bestand, '<InvoiceLine lineNo="' || v_sub_count || '" type="N" subtype="N">');
|
||||
v_factuurregel := rec_regel.reservering_nr||'/'||rec_regel.reservering_volgnr||'-'||rec_regel.ruimte_nr||' ('||TO_CHAR(rec_regel.datum,'DD-MM-YYYY')||' '||rec_regel.van||'-'||rec_regel.tot||')';
|
||||
pivp.add_xml_element (v_bestand, 'Description', v_factuurregel);
|
||||
pivp.add_xml_row (v_bestand, '<Item code="' || v_dienstencode || '"/>');
|
||||
pivp.add_xml_element (v_bestand, 'Quantity', '1' );
|
||||
pivp.add_xml_row (v_bestand, '<Price>');
|
||||
|
||||
Reference in New Issue
Block a user