BAMG#83299 Wens tot veranderen einddatum - automatisch verlengen
svn path=/Database/trunk/; revision=64753
This commit is contained in:
@@ -11,6 +11,7 @@ CREATE OR REPLACE PACKAGE cnt AS
|
||||
FUNCTION cnt_getOpzegdatum (pcnt_contract_key IN NUMBER) RETURN DATE;
|
||||
FUNCTION cnt_getRappeldatum (pcnt_contract_key IN NUMBER) RETURN DATE;
|
||||
FUNCTION cnt_contract_status (van IN DATE, rappel IN DATE, opzeg IN DATE, tot IN DATE) RETURN NUMBER;
|
||||
PROCEDURE autoverleng_contract;
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER);
|
||||
PROCEDURE generatefactuurschema (pcontractkey IN NUMBER,ptermijnbedrag IN NUMBER DEFAULT NULL);
|
||||
@@ -233,6 +234,46 @@ CREATE OR REPLACE PACKAGE BODY cnt AS
|
||||
RETURN 4;
|
||||
END;
|
||||
|
||||
PROCEDURE autoverleng_contract
|
||||
IS
|
||||
CURSOR c_verleng IS
|
||||
SELECT c.cnt_contract_key
|
||||
, c.ins_discipline_key
|
||||
, c.cnt_contract_nummer_intern
|
||||
, c.cnt_contract_omschrijving
|
||||
, c.cnt_contract_looptijd_tot
|
||||
, o.cnt_termijn_omschrijving opzegtermijn
|
||||
, cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_opzegtermijn, -1) dtopzeggen
|
||||
, v.cnt_termijn_omschrijving verlengtermijn
|
||||
, cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_verleng_termijn, 1) dtnieuw
|
||||
FROM cnt_contract c
|
||||
, cnt_disc_params p
|
||||
, cnt_termijn o
|
||||
, cnt_termijn v
|
||||
WHERE c.ins_discipline_key = p.cnt_ins_discipline_key
|
||||
AND c.cnt_contract_opzegtermijn = o.cnt_termijn_key
|
||||
AND c.cnt_contract_verleng_termijn = v.cnt_termijn_key
|
||||
AND c.cnt_contract_verwijder IS NULL
|
||||
AND BITAND(p.cnt_disc_params_opties,1) = 1 -- Dit contracttype mag automatisch verlengd worden
|
||||
AND BITAND(c.cnt_contract_verlenging,4) = 4 -- Dit contract mag automatisch verlengd worden
|
||||
AND TRUNC(SYSDATE) > cnt.cnt_getTermijndatum (c.cnt_contract_looptijd_tot, c.cnt_contract_opzegtermijn, -1);
|
||||
|
||||
tracking VARCHAR2(4000);
|
||||
BEGIN
|
||||
FOR cnt_verloopt IN c_verleng
|
||||
LOOP
|
||||
UPDATE cnt_contract
|
||||
SET cnt_contract_looptijd_tot = cnt_verloopt.dtnieuw
|
||||
WHERE cnt_contract_key = cnt_verloopt.cnt_contract_key;
|
||||
tracking := REPLACE(REPLACE(lcl.l('lcl_cnt_prolongation_tracking')
|
||||
, '{0}', cnt_verloopt.verlengtermijn
|
||||
)
|
||||
, '{1}', TO_CHAR(cnt_verloopt.dtnieuw,'dd-mm-yyyy')
|
||||
);
|
||||
fac.trackaction ('CNTUPD', cnt_verloopt.cnt_contract_key, NULL, NULL, tracking);
|
||||
END LOOP;
|
||||
END;
|
||||
|
||||
PROCEDURE splitscontract (p_key IN NUMBER, p_datum IN DATE, p_user IN NUMBER, p_amount NUMBER)
|
||||
IS
|
||||
begin1 DATE;
|
||||
|
||||
@@ -82,6 +82,10 @@ CREATE_TABLE(cnt_disc_params, 0)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_huurder /* indien Bedrijf: Huurders? */
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL,
|
||||
cnt_disc_params_opties
|
||||
NUMBER(1)
|
||||
DEFAULT 0
|
||||
NOT NULL
|
||||
@@ -184,7 +188,10 @@ CREATE_TABLE(cnt_contract,0)
|
||||
, cnt_contract_verlenging /* 00=vragen nee (0), 01=vragen ja (1), 10=vast nee (2), 11=vast ja (3) */
|
||||
NUMBER(1)
|
||||
DEFAULT 2
|
||||
CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3))
|
||||
CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3,4,5,6,7))
|
||||
, cnt_contract_verleng_termijn
|
||||
NUMBER(10)
|
||||
CONSTRAINT cnt_r_cnt_termijn_key5 REFERENCES cnt_termijn(cnt_termijn_key)
|
||||
, cnt_contract_approved
|
||||
NUMBER(11,2)
|
||||
, cnt_contract_teverzenden
|
||||
|
||||
Reference in New Issue
Block a user