AAIT#31404: Afronding herfiatteringroutines.

svn path=/Database/trunk/; revision=23863
This commit is contained in:
Maykel Geerdink
2015-01-13 14:44:57 +00:00
parent bdfc3f41cd
commit b931a5c1d1

View File

@@ -2661,16 +2661,10 @@ CREATE OR REPLACE PACKAGE BODY fac AS
AS
order_confirm prs_bedrijf.prs_bedrijf_order_confirm%TYPE;
melding_key mld_opdr.mld_melding_key%TYPE;
refiatstatus mld_opdr.mld_statusopdr_key_refiat%TYPE;
BEGIN
CASE pxmlnode
WHEN 'opdracht'
THEN
SELECT mld_statusopdr_key_refiat
INTO refiatstatus
FROM mld_opdr
WHERE mld_opdr_key = pkey;
IF presult = 0
THEN
UPDATE mld_opdr
@@ -2678,22 +2672,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE mld_opdr_key = pkey;
fac.trackaction ('ORDSNT', pkey, NULL, NULL, presulttext);
IF refiatstatus > 0
THEN
mld.setopdrachtstatus (pkey, refiatstatus, NULL);
-- Refiat opdracht kosten en refiat status weer op NULL zetten.
UPDATE mld_opdr
SET mld_opdr_uren_refiat = NULL,
mld_opdr_uurloon_refiat = NULL,
mld_opdr_materiaal_refiat = NULL,
mld_opdr_kosten_refiat = NULL,
mld_statusopdr_key_refiat = NULL,
mld_opdr_approved_refiat = NULL
WHERE mld_opdr_key = pkey;
ELSE
mld.setopdrachtstatus (pkey, 5, NULL);
END IF;
mld.setopdrachtstatus (pkey, 5, NULL);
ELSIF presult = 1 -- (Logische) fout
THEN
UPDATE mld_opdr
@@ -2702,30 +2681,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
fac.trackaction ('ORDSNT', pkey, NULL, NULL, presulttext);
-- status van de opdracht wordt afgewezen.
IF refiatstatus > 0
THEN
-- Afwijzing tracken. Dit gebeurt niet automatisch omdat niet naar de afgewezen status wordt gegaan.
fac.trackaction('ORDCAN', pkey, NULL, NULL, presulttext);
mld.setopdrachtstatus (pkey, refiatstatus, NULL);
-- De oude kosten terugzetten.
-- Refiat opdracht kosten en refiat status weer op NULL zetten.
UPDATE mld_opdr
SET mld_opdr_uren = mld_opdr_uren_refiat,
mld_opdr_uurloon = mld_opdr_uurloon_refiat,
mld_opdr_materiaal = mld_opdr_materiaal_refiat,
mld_opdr_kosten = mld_opdr_kosten_refiat,
mld_opdr_approved = mld_opdr_approved_refiat,
mld_opdr_uren_refiat = NULL,
mld_opdr_uurloon_refiat = NULL,
mld_opdr_materiaal_refiat = NULL,
mld_opdr_kosten_refiat = NULL,
mld_statusopdr_key_refiat = NULL,
mld_opdr_approved_refiat = NULL
WHERE mld_opdr_key = pkey;
ELSE
mld.setopdrachtstatus (pkey, 1, NULL);
END IF;
mld.setopdrachtstatus (pkey, 1, NULL);
ELSIF presult = 2
THEN
fac.trackaction ('ORDSNT', pkey, NULL, NULL, presulttext);
@@ -2745,35 +2701,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
UPDATE mld_opdr
SET mld_opdr_verzonden = SYSDATE
WHERE mld_opdr_key = pkey;
IF refiatstatus > 0
THEN
mld.setopdrachtstatus (pkey, refiatstatus, NULL);
ELSE
mld.setopdrachtstatus (pkey, 5, NULL);
END IF;
mld.setopdrachtstatus (pkey, 5, NULL);
ELSE
UPDATE mld_opdr
SET mld_opdr_verzonden = SYSDATE
WHERE mld_opdr_key = pkey;
IF refiatstatus > 0
THEN
mld.setopdrachtstatus (pkey, refiatstatus, NULL);
ELSE
mld.setopdrachtstatus (pkey, 8, NULL);
END IF;
END IF;
-- Refiat opdracht kosten en refiat status weer op NULL zetten.
IF refiatstatus > 0 AND (presult >= 0)
THEN
UPDATE mld_opdr
SET mld_opdr_uren_refiat = NULL,
mld_opdr_uurloon_refiat = NULL,
mld_opdr_materiaal_refiat = NULL,
mld_opdr_kosten_refiat = NULL,
mld_statusopdr_key_refiat = NULL,
mld_opdr_approved_refiat = NULL
WHERE mld_opdr_key = pkey;
mld.setopdrachtstatus (pkey, 8, NULL);
END IF;
ELSIF presult < 0
THEN