BAMG#83299 Wens tot veranderen einddatum - automatisch verlengen

svn path=/Database/trunk/; revision=64753
This commit is contained in:
Erik Groener
2024-05-21 14:23:49 +00:00
parent a206332b47
commit 7a0557f3cc
5 changed files with 66 additions and 6 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -929,7 +929,7 @@ FAC_LCL('lcl_mld_legenda_unviewed_tt', 'Aangepast sinds de vorige keer', 'Update
FAC_LCL('lcl_mld_legenda_unsolved_tt', 'Alle bijbehorende opdrachten afgemeld', 'All related orders are closed')
FAC_LCL('lcl_mld_legenda_unready_tt', 'Heeft afgemelde en open opdrachten', 'Has closed and open orders')
FAC_LCL('lcl_mld_legenda_sleepy_tt', '', '')
FAC_LCL('lcl_mld_legenda_child_tt', 'Behandeling wordt in andere melding gedaan', 'Treatment is done through another call')
FAC_LCL('lcl_mld_legenda_child_tt', 'Behandeling wordt in andere melding gedaan', 'Processing is done through another call')
FAC_LCL('lcl_mld_ord_afgewzen', 'Afgewezen', 'Rejected')
FAC_LCL('lcl_mld_ord_niet_akkoord', 'Niet akkoord', 'Not approved')
FAC_LCL('lcl_mld_ord_ter_fiattering', 'Ter fiattering', 'For approval')
@@ -991,7 +991,7 @@ FAC_LCL('lcl_ord_reject', 'Afwijzen opdracht(en) ', 'Reject order(s) ')
FAC_LCL('lcl_mld_frame_algemeen', 'Meldinggegevens', 'Call details')
FAC_LCL('lcl_mld_frame_algemeen_actie', 'Meldinggegevens voor geplande actie', 'Call template details')
FAC_LCL('lcl_mld_flexblok', 'Aanvullende gegevens', 'Additional details')
FAC_LCL('lcl_mld_treatable_flexblok', 'Aanvullende behandelbare gegevens', 'Additional treatable details')
FAC_LCL('lcl_mld_treatable_flexblok', 'Aanvullende behandelbare gegevens', 'Additional processing details')
FAC_LCL('lcl_mld_frame_notes', 'Notities', 'Notes')
FAC_LCL('lcl_mld_frame_trackandnotes', 'Notities & tracking', 'Notes & tracking')
FAC_LCL('lcl_opdr_frame_notes', 'Notities', 'Notes')
@@ -1668,7 +1668,7 @@ FAC_LCL('lcl_not_link', 'Niet koppelen', 'Do not connect')
FAC_LCL('lcl_mld_askdouble', 'Attentie!<br>Deze melding lijkt veel op een melding die al eerder werd geregistreerd.<br>De afhandeling kan mogelijk worden versneld door hieronder dezelfde melding te selecteren.<br>Kies voor ''{0}'', indien uw melding hierin niet voorkomt of<br>''{1} als u uw melding niet meer wilt doen (bijvoorbeeld omdat deze dus al gemeld is).', 'Attention!<br>This call looks similar to another call previously registered.<br>Processing may go faster by selecting the same call below.<br>Choose ''{0}'', in case your call does not match or<br>''{1} in case you do not want to register your call anymore.')
FAC_LCL('lcl_mld_cancel_double', 'Annuleren', 'Cancel')
FAC_LCL('lcl_linked_to', 'Melding {0} wordt behandeld met {1}', 'Call {0} will be processed with {1}')
FAC_LCL('lcl_unlinked', 'Gekoppelde behandeling verbroken', 'Linked treatment has been disconnected')
FAC_LCL('lcl_unlinked', 'Gekoppelde behandeling verbroken', 'Linked processing has been disconnected')
FAC_LCL('lcl_linkedparent_notfound', 'Gekoppelde melding niet gevonden', 'Related call not found')
FAC_LCL('lcl_mld_invalid_kenmerk_format', 'Ongeldig formaat ', 'Invalid format ')
FAC_LCL('lcl_mld_kenmerk_out_range', 'Ongeldige waarde ', 'Invalid value ')
@@ -3257,7 +3257,9 @@ FAC_LCL('lcl_cnt_rappel_date', 'Rappeldatum', 'Reminder date')
FAC_LCL('lcl_cnt_rappel_period', 'Rappeltermijn', 'Reminder period')
FAC_LCL('lcl_cnt_cancel_date', 'Opzegdatum', 'Cancellation date')
FAC_LCL('lcl_cnt_cancel_period', 'Opzegtermijn', 'Period of notice')
FAC_LCL('lcl_cnt_prolongation_auto', 'Automatisch', 'Automatic')
FAC_LCL('lcl_cnt_prolongation_period', 'Verlengtermijn', 'Prolongation period')
FAC_LCL('lcl_cnt_prolongation_tracking', 'Automatische verlenging met {0} tot {1}', 'Automatic prolongation with {0} to {1}.')
FAC_LCL('lcl_cnt_date_end', 'Einddatum', 'End Date')
FAC_LCL('lcl_cnt_effecter', 'Contractpartij', 'Contracting party')
FAC_LCL('lcl_cnt_company', 'Bedrijf', 'Company')
@@ -6520,14 +6522,14 @@ FAC_LCL('mgt_srtkenmerk_datum', 'Datum', 'Date')
FAC_LCL('mgt_srtkenmerk_tijd', 'Tijd', 'Time')
FAC_LCL('mgt_srtkenmerk_datumtijd', 'Datum + Tijd', 'Datetime')
FAC_LCL('mgt_srtkenmerk_referentie_l', 'Referentie (listbox)', 'Reference (list box)')
FAC_LCL('mgt_srtkenmerk_referentie_s', 'Referentie (suggest)', 'Reference (suggest)')
FAC_LCL('mgt_srtkenmerk_referentie_s', 'Referentie (suggestie)', 'Reference (suggest)')
FAC_LCL('mgt_srtkenmerk_bestandsnaam', 'Bestandsnaam', 'File name')
FAC_LCL('mgt_srtkenmerk_bestand', 'Bestand', 'File')
FAC_LCL('mgt_srtkenmerk_bestand_e', 'Encrypted Bestand', 'Encrypted file')
FAC_LCL('mgt_srtkenmerk_bestand_f', 'Map met bestanden', 'File folder')
FAC_LCL('mgt_srtkenmerk_label', 'Vaste tekst', 'Fixed text')
FAC_LCL('mgt_srtkenmerk_label_i', 'Bloktitel', 'Block title')
FAC_LCL('mgt_srtkenmerk_label_ii', 'Behandelbare bloktitel', 'Treatable block title')
FAC_LCL('mgt_srtkenmerk_label_ii', 'Bloktitel met behandelaar', 'Block title with processor')
FAC_LCL('mgt_srtkenmerk_blanco', 'Nieuwe sectie', 'New section')
FAC_LCL('mgt_srtkenmerk_berekening', 'Berekening', 'Calculation')
FAC_LCL('mgt_srtkenmerk_checkbox', 'Vinkje', 'Checkbox')

View File

@@ -5860,6 +5860,9 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END LOOP;
END;
-- Automatische verlenging van contracten.
cnt.autoverleng_contract();
UPDATE fac_version
SET fac_version_cleanup_date = SYSDATE;
END;

View File

@@ -228,6 +228,13 @@ ALTER TABLE prs_bedrijf MODIFY prs_overeenkomst_nr VARCHAR2(30);
ALTER TABLE fac_imp_ext_bedrijf MODIFY prs_overeenkomst_nr VARCHAR2(30);
ALTER TABLE fac_imp_factuur MODIFY leveranciernr VARCHAR2(30);
/////////////////////////////////////////////////////////////////////////////////////////// BAMG#83299
ALTER TABLE cnt_disc_params ADD cnt_disc_params_opties NUMBER(1) DEFAULT 0 NOT NULL;
ALTER TABLE cnt_contract ADD cnt_contract_verleng_termijn NUMBER(10)
CONSTRAINT cnt_r_cnt_termijn_key5 REFERENCES cnt_termijn(cnt_termijn_key);
ALTER TABLE cnt_contract DROP CONSTRAINT cnt_r_cnt_contract_verlenging;
ALTER TABLE cnt_contract ADD CONSTRAINT cnt_r_cnt_contract_verlenging CHECK(cnt_contract_verlenging IN (0,1,2,3,4,5,6,7));
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#00000