AAXX#91083 Contract notificatie houdt geen rekening met fiatteren

svn path=/Database/trunk/; revision=70621
This commit is contained in:
Jos Groot Lipman
2025-10-15 13:14:55 +00:00
parent 8f7d4260e7
commit 517d50a462
2 changed files with 67 additions and 65 deletions

View File

@@ -39,7 +39,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
AS
currentstatus cnt_contract.cnt_contract_status%TYPE;
newstatus cnt_contract.cnt_contract_status%TYPE;
eventcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
eventcode VARCHAR(7); -- fac_srtnotificatie.fac_srtnotificatie_code%TYPE is te klein voor '@CNTNEW'
BEGIN
SELECT cnt_contract_status
INTO currentstatus
@@ -52,11 +52,12 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
IF currentstatus IS NULL
THEN
newstatus := pstatus;
eventcode := 'CNTNEW';
eventcode := 'CNTNEW'; -- direct ook notificeren
ELSIF currentstatus = 2 OR currentstatus = 3 -- Het kan ook zijn dat er geen fiattering nodig is.
THEN
newstatus := pstatus;
eventcode := 'CNTFIT';
fac.notifytrackingbedrijven('CNTNEW', pcontractkey); -- Nu alsnog notificeren, we zijn helemaal klaar met fiatteren
END IF;
WHEN 1 -- Gesloten
THEN
@@ -70,7 +71,7 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
IF currentstatus IS NULL
THEN
newstatus := pstatus;
eventcode := 'CNTNEW';
eventcode := '@CNTNEW'; -- nog niet notificeren
ELSIF currentstatus = 3
THEN
newstatus := pstatus;

View File

@@ -2273,7 +2273,7 @@ BEGIN
THEN
BEGIN
v_errormsg := 'Fout bij wegschrijven importregel';
INSERT INTO fac_imp_onrgoed1
INSERT INTO fac_imp_onrgoed1
( alg_regio_omschrijving,
alg_district_omschrijving,
alg_locatie_code,
@@ -2681,7 +2681,7 @@ BEGIN
IF (v_count = 0)
THEN
INSERT INTO alg_regio
INSERT INTO alg_regio
( alg_regio_omschrijving)
VALUES ( recRegio.alg_regio_omschrijving);
@@ -2732,11 +2732,11 @@ BEGIN
IF (v_count = 0)
THEN
INSERT INTO alg_district
INSERT INTO alg_district
( alg_regio_key,
alg_district_omschrijving
)
VALUES ( v_regio_key,
VALUES ( v_regio_key,
recDistrict.alg_district_omschrijving
);
@@ -2796,7 +2796,7 @@ BEGIN
IF (v_count = 0)
THEN
INSERT INTO alg_locatie
INSERT INTO alg_locatie
( alg_district_key,
alg_locatie_code,
alg_locatie_omschrijving,
@@ -2971,7 +2971,7 @@ BEGIN
IF (v_count = 0)
THEN
INSERT INTO alg_gebouw
INSERT INTO alg_gebouw
( alg_locatie_key,
alg_srtgebouw_key,
alg_gebouw_code,
@@ -11718,7 +11718,7 @@ BEGIN
'Catalogus ' || v_res_discipline_oms || ' is nieuw'
);
END;
ELSE
ELSE
fac.imp_writelog (p_import_key, 'E',
v_aanduiding,
'Catalogus ontbreekt'
@@ -11765,8 +11765,8 @@ BEGIN
'Artikelomschrijving wordt afgebroken tot [' || v_res_artikel_omschrijving || ']'
);
END IF;
IF v_res_artikel_omschrijving IS NULL
THEN
IF v_res_artikel_omschrijving IS NULL
THEN
fac.imp_writelog (p_import_key, 'W',
v_aanduiding,
'Artikelomschrijving ontbreekt'
@@ -18687,7 +18687,7 @@ BEGIN
FROM cnt_discipline
WHERE ins_discipline_verwijder IS NULL
AND ins_discipline_omschrijving = rec.cnt_discipline;
END IF;
END IF;
v_desc := rec.srtkenmerk_omschrijving || ' (' || rec.cnt_discipline || ')';
-- Bestaat dit kenmerk al?
@@ -19216,7 +19216,7 @@ BEGIN
v_ins_srtcontrole_periode := TRIM (v_ins_srtcontrole_periode);
IF ( v_ins_srtcontrole_periode IS NULL
OR LENGTH (v_ins_srtcontrole_periode) > 7
OR LENGTH (v_ins_srtcontrole_periode) > 7
OR VALIDATE_CONVERSION(v_ins_srtcontrole_periode AS NUMBER) = 0
)
THEN
@@ -19273,7 +19273,7 @@ BEGIN
'W',
v_aanduiding,
'Controle Bits ['
|| v_ins_srtcontrole_bits
|| v_ins_srtcontrole_bits
|| '] is te lang of geen getal');
END IF;
@@ -20270,31 +20270,31 @@ AS
, fac_imp_csv_col30 VERDIEPINGCODE
, fac_imp_csv_col31 RUIMTECODE
, fac_imp_csv_col32 VERLENGEN
, fac_imp_csv_col33 flex_01
, fac_imp_csv_col34 flex_02
, fac_imp_csv_col35 flex_03
, fac_imp_csv_col36 flex_04
, fac_imp_csv_col37 flex_05
, fac_imp_csv_col38 flex_06
, fac_imp_csv_col39 flex_07
, fac_imp_csv_col40 flex_08
, fac_imp_csv_col41 flex_09
, fac_imp_csv_col42 flex_10
, fac_imp_csv_col43 flex_11
, fac_imp_csv_col44 flex_12
, fac_imp_csv_col45 flex_13
, fac_imp_csv_col46 flex_14
, fac_imp_csv_col47 flex_15
, fac_imp_csv_col48 flex_16
, fac_imp_csv_col49 flex_17
, fac_imp_csv_col50 flex_18
, fac_imp_csv_col51 flex_19
, fac_imp_csv_col52 flex_20
, fac_imp_csv_col53 flex_21
, fac_imp_csv_col54 flex_22
, fac_imp_csv_col55 flex_23
, fac_imp_csv_col56 flex_24
, fac_imp_csv_col57 flex_25
, fac_imp_csv_col33 flex_01
, fac_imp_csv_col34 flex_02
, fac_imp_csv_col35 flex_03
, fac_imp_csv_col36 flex_04
, fac_imp_csv_col37 flex_05
, fac_imp_csv_col38 flex_06
, fac_imp_csv_col39 flex_07
, fac_imp_csv_col40 flex_08
, fac_imp_csv_col41 flex_09
, fac_imp_csv_col42 flex_10
, fac_imp_csv_col43 flex_11
, fac_imp_csv_col44 flex_12
, fac_imp_csv_col45 flex_13
, fac_imp_csv_col46 flex_14
, fac_imp_csv_col47 flex_15
, fac_imp_csv_col48 flex_16
, fac_imp_csv_col49 flex_17
, fac_imp_csv_col50 flex_18
, fac_imp_csv_col51 flex_19
, fac_imp_csv_col52 flex_20
, fac_imp_csv_col53 flex_21
, fac_imp_csv_col54 flex_22
, fac_imp_csv_col55 flex_23
, fac_imp_csv_col56 flex_24
, fac_imp_csv_col57 flex_25
FROM fac_imp_csv
WHERE fac_imp_csv_index > 1
AND fac_import_key = p_import_key;
@@ -20333,13 +20333,13 @@ AS
v_contactnaam prs_contactpersoon.prs_contactpersoon_email%TYPE; --VARCHAR2(200) --> cnt_contract.prs_contactpersoon_key
v_kpn_code prs_kostenplaats.prs_kostenplaats_nr%TYPE; --VARCHAR2(30) --> cnt_contract.prs_kostenplaats_key
v_kostensoort_code prs_kostensoort.prs_kostensoort_oms%TYPE; --VARCHAR2(60) --> cnt_contract.prs_kostensoort_key
v_bedrag cnt_contract.cnt_contract_kosten%TYPE; --NUMBER(11,2)
v_bedrag_termijn cnt_contract.cnt_contract_termijnkosten%TYPE; --NUMBER(11,2)
v_uurtarief cnt_contract.cnt_contract_uurloon%TYPE; --NUMBER(6,2)
v_korting cnt_contract.cnt_contract_korting%TYPE; --NUMBER(5,2)
v_bedrag cnt_contract.cnt_contract_kosten%TYPE; --NUMBER(11,2)
v_bedrag_termijn cnt_contract.cnt_contract_termijnkosten%TYPE; --NUMBER(11,2)
v_uurtarief cnt_contract.cnt_contract_uurloon%TYPE; --NUMBER(6,2)
v_korting cnt_contract.cnt_contract_korting%TYPE; --NUMBER(5,2)
v_locatiecode alg_locatie.alg_locatie_code%TYPE; --VARCHAR2(10)
v_terreincode alg_terreinsector.alg_terreinsector_code%TYPE; --VARCHAR2(12)
v_gebouwcode alg_gebouw.alg_gebouw_code%TYPE; --VARCHAR2(12)
v_gebouwcode alg_gebouw.alg_gebouw_code%TYPE; --VARCHAR2(12)
v_verdiepingcode alg_verdieping.alg_verdieping_volgnr%TYPE; --NUMBER(3)
v_ruimtecode alg_ruimte.alg_ruimte_nr%TYPE; --VARCHAR2(20)
v_verlengen cnt_contract.cnt_contract_verlenging%TYPE; --NUMBER(1)
@@ -20524,14 +20524,14 @@ BEGIN
, fac_imp_csv_col53, fac_imp_csv_col54, fac_imp_csv_col55, fac_imp_csv_col56, fac_imp_csv_col57
INTO v_header_csv -- standaard header
, v_flex_naam_01, v_flex_naam_02, v_flex_naam_03, v_flex_naam_04, v_flex_naam_05 -- kenmerk kolom namen
, v_flex_naam_06, v_flex_naam_07, v_flex_naam_08, v_flex_naam_09, v_flex_naam_10
, v_flex_naam_06, v_flex_naam_07, v_flex_naam_08, v_flex_naam_09, v_flex_naam_10
, v_flex_naam_11, v_flex_naam_12, v_flex_naam_13, v_flex_naam_14, v_flex_naam_15
, v_flex_naam_16, v_flex_naam_17, v_flex_naam_18, v_flex_naam_19, v_flex_naam_20
, v_flex_naam_21, v_flex_naam_22, v_flex_naam_23, v_flex_naam_24, v_flex_naam_25
FROM fac_imp_csv
WHERE fac_imp_csv_index = 1
AND fac_import_key = p_import_key;
-- Eerst opruiming
DELETE FROM fac_imp_cnt;
@@ -20603,7 +20603,7 @@ BEGIN
THEN
fac.imp_writelog( p_import_key, 'W'
, v_aanduiding || 'Beschrijving - Is niet ingevuld'
, rec.fac_imp_csv_index || ' - Regel wordt overgeslagen'
, rec.fac_imp_csv_index || ' - Regel wordt overgeslagen'
);
v_ongeldig := 1;
END IF;
@@ -20997,7 +20997,7 @@ BEGIN
-- flex<n> gevuld met <waarde>!
-- NB. Een NULL-waarde resulteert NIET in het wissen van een
-- kenmerkveld (bijwerken kan wel, maar wissen dus niet)!
INSERT INTO fac_imp_cnt
INSERT INTO fac_imp_cnt
( nummer_intern
, versie
, nummer_extern
@@ -21314,7 +21314,7 @@ AS
v_count_tot NUMBER;
v_count_cntnew NUMBER;
v_count_cntupd NUMBER;
v_srtnoti_code VARCHAR2(6);
v_srtnoti_code VARCHAR2(7); -- ook ruimte voor '@' prefix
v_scope_code VARCHAR2(1);
v_scope_key NUMBER(10);
v_scope_err VARCHAR2(100);
@@ -21362,13 +21362,13 @@ AS
THEN -- afronden op jaren
v_type := 'Y';
v_aantal := ROUND(v_aantal / 365);
WHEN v_aantal > (30 * min_maand)
WHEN v_aantal > (30 * min_maand)
THEN -- afronden op maanden
v_type := 'M';
v_aantal := ROUND(v_aantal / 30);
WHEN v_aantal > (7 * min_week)
v_aantal := ROUND(v_aantal / 30);
WHEN v_aantal > (7 * min_week)
THEN -- afronden op weken
v_type := 'W';
v_type := 'W';
v_aantal := ROUND(v_aantal / 7);
END CASE;
END IF;
@@ -21831,7 +21831,7 @@ BEGIN
WHEN NO_DATA_FOUND THEN
-- Contractsoort bestaat gewoon niet; toevoegen.
v_errormsg := 'Fout bij toevoegen contractsoort:' || rec.cnt_soort;
INSERT INTO ins_tab_discipline
INSERT INTO ins_tab_discipline
( ins_discipline_module
, ins_discipline_omschrijving
)
@@ -21842,7 +21842,7 @@ BEGIN
INTO v_cnt_discipline_key;
-- Type Leverancier, geen kostensoort, geen factuurmarges.
INSERT INTO cnt_disc_params
INSERT INTO cnt_disc_params
( cnt_ins_discipline_key
, cnt_srtcontract_type
)
@@ -21852,7 +21852,7 @@ BEGIN
fac.imp_writelog( p_import_key, 'I'
, v_aanduiding || 'Contractsoort "' || rec.cnt_soort || '" aangemaakt'
, 'Nieuwe contractsoort'
, 'Nieuwe contractsoort'
);
END;
ELSE
@@ -21876,7 +21876,7 @@ BEGIN
WHEN NO_DATA_FOUND THEN
-- Contactpersoon bestaat gewoon niet; toevoegen.
v_errormsg := 'Fout bij toevoegen contactpersoon:' || rec.contact_naam;
INSERT INTO prs_contactpersoon
INSERT INTO prs_contactpersoon
( prs_contactpersoon_naam
, prs_bedrijf_key
)
@@ -21911,7 +21911,7 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_errormsg := 'Fout bij toevoegen opzegtermijn';
INSERT INTO cnt_termijn
INSERT INTO cnt_termijn
( cnt_termijn_omschrijving
, cnt_termijn_type
, cnt_termijn_aantal
@@ -21944,7 +21944,7 @@ BEGIN
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_errormsg := 'Toevoegen rappeltermijn';
INSERT INTO cnt_termijn
INSERT INTO cnt_termijn
( cnt_termijn_omschrijving
, cnt_termijn_type
, cnt_termijn_aantal
@@ -21979,11 +21979,13 @@ BEGIN
IF fac.getSetting('cnt_contract_approval') = 1 AND rec.bedrag > fac.getSetting('cnt_contract_limit1')
THEN
v_cnt_status := 2;
v_srtnoti_code := '@CNTNEW'; -- nog niet direct versturen
ELSE
v_cnt_status := 0;
v_srtnoti_code := 'CNTNEW';
END IF;
INSERT INTO cnt_contract
INSERT INTO cnt_contract
( cnt_contract_nummer
, cnt_contract_omschrijving
, cnt_contract_looptijd_tot
@@ -22041,7 +22043,6 @@ BEGIN
RETURNING cnt_contract_key
INTO v_contract_key;
v_srtnoti_code := 'CNTNEW';
v_count_cntnew := v_count_cntnew + 1;
ELSE -- Contract bestaat al --> bijwerken.
SELECT c.cnt_contract_key
@@ -22104,7 +22105,7 @@ BEGIN
IF (v_count = 0) -- Scope komt nog niet voor, dus toevoegen.
THEN
v_errormsg := 'Fout bij toevoegen scope';
INSERT INTO cnt_contract_plaats
INSERT INTO cnt_contract_plaats
( cnt_contract_key
, cnt_alg_plaats_key
, cnt_alg_plaats_code
@@ -23189,7 +23190,7 @@ BEGIN
fac.imp_writelog( p_import_key, 'E', 'BTW-tarief taak niet goed ingevuld - Regel wordt niet verwerkt.. '
, rec.fac_imp_csv_index || ' - ' || rec.objectidentificatie || 'Kosten csv: ' || rec.taakbtw);
v_ongeldig := 1;
ELSE
ELSE
IF v_taakbtw_str IS NOT NULL
THEN
BEGIN
@@ -23585,7 +23586,7 @@ AS
BEGIN
BEGIN
FOR rec IN c_n
FOR rec IN c_n
LOOP
BEGIN
v_count_verwerk := v_count_verwerk + 1;