FSN#31643 Handmatig bestelopdracht versturen tracken

svn path=/Database/trunk/; revision=24043
This commit is contained in:
Jos Groot Lipman
2015-02-04 15:45:35 +00:00
parent 8f37115861
commit 61e5df5cea

View File

@@ -109,7 +109,7 @@ CREATE OR REPLACE PACKAGE fac AS
PROCEDURE putjobnotifications (pviewname VARCHAR2, pmode NUMBER, pflags NUMBER);
FUNCTION getMobile ( pkey IN NUMBER ) RETURN VARCHAR2;
PROCEDURE executeschedules;
PROCEDURE markorderassent(pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2);
PROCEDURE markorderassent(pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2, pperslid_key NUMBER DEFAULT NULL);
FUNCTION getSetting (pname IN VARCHAR2 ) RETURN VARCHAR2;
PROCEDURE trackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE, poms VARCHAR2);
PROCEDURE backtrackaction (pcode VARCHAR2, prefkey NUMBER, puserkey NUMBER, pdatum DATE);
@@ -2634,7 +2634,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
-- Voor customer-orderqueues dient overeenkomstige CUST.markorderassent() te worden gedefinieerd.
-- Bij presult=2 weet je niet zeker wat de leverancier heeft gedaan, bij mail veronderstel je ontvangst, maar weet je
-- het niet zeker. Met 5.1.2 (UWVA#21074) is daarvoor de status 4 tussengevoegd
PROCEDURE markorderassent (pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2)
PROCEDURE markorderassent (pxmlnode VARCHAR2, pkey NUMBER, presult NUMBER, presulttext VARCHAR2, pperslid_key NUMBER DEFAULT NULL)
AS
order_confirm prs_bedrijf.prs_bedrijf_order_confirm%TYPE;
melding_key mld_opdr.mld_melding_key%TYPE;
@@ -2648,7 +2648,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
SET mld_opdr_verzonden = SYSDATE
WHERE mld_opdr_key = pkey;
fac.trackaction ('ORDSNT', pkey, NULL, NULL, presulttext);
fac.trackaction ('ORDSNT', pkey, pperslid_key, NULL, presulttext);
mld.setopdrachtstatus (pkey, 5, NULL);
ELSIF presult = 1 -- (Logische) fout
THEN
@@ -2656,12 +2656,12 @@ CREATE OR REPLACE PACKAGE BODY fac AS
SET mld_opdr_verzonden = SYSDATE
WHERE mld_opdr_key = pkey;
fac.trackaction ('ORDSNT', pkey, NULL, NULL, presulttext);
fac.trackaction ('ORDSNT', pkey, pperslid_key, NULL, presulttext);
-- status van de opdracht wordt afgewezen.
mld.setopdrachtstatus (pkey, 1, NULL);
ELSIF presult = 2
THEN
fac.trackaction ('ORDSNT', pkey, NULL, NULL, presulttext);
fac.trackaction ('ORDSNT', pkey, pperslid_key, NULL, presulttext);
-- De leverancier heeft geen feedback gegeven, wat is het gedrag dan voor deze leverancier?
SELECT b.prs_bedrijf_order_confirm
INTO order_confirm
@@ -2678,17 +2678,17 @@ CREATE OR REPLACE PACKAGE BODY fac AS
UPDATE mld_opdr
SET mld_opdr_verzonden = SYSDATE
WHERE mld_opdr_key = pkey;
mld.setopdrachtstatus (pkey, 5, NULL);
mld.setopdrachtstatus (pkey, 5, pperslid_key);
ELSE
UPDATE mld_opdr
SET mld_opdr_verzonden = SYSDATE
WHERE mld_opdr_key = pkey;
mld.setopdrachtstatus (pkey, 8, NULL);
mld.setopdrachtstatus (pkey, 8, pperslid_key);
END IF;
ELSIF presult < 0
THEN
-- just track, nothing changes really
fac.trackaction ('ORDSNX', pkey, NULL, NULL, presulttext);
fac.trackaction ('ORDSNX', pkey, pperslid_key, NULL, presulttext);
END IF;
SELECT mld_melding_key
@@ -2697,17 +2697,17 @@ CREATE OR REPLACE PACKAGE BODY fac AS
WHERE o.mld_opdr_key = pkey;
-- als laatste de status van de melding aanpassen.
mld.updatemeldingstatus (melding_key, 0, NULL);
mld.updatemeldingstatus (melding_key, 0, pperslid_key);
WHEN 'bestelopdr'
THEN
IF presult = 0
THEN
-- Succesvol
fac.trackaction ('BES2SN', pkey, NULL, NULL, presulttext);
fac.trackaction ('BES2SN', pkey, pperslid_key, NULL, presulttext);
bes.acceptopdracht(pkey, NULL, presulttext);
ELSIF presult = 1 -- (Logische) fout
THEN
fac.trackaction ('BES2SX', pkey, NULL, NULL, presulttext);
fac.trackaction ('BES2SX', pkey, pperslid_key, NULL, presulttext);
bes.rejectopdracht(pkey, NULL, presulttext);
ELSIF presult = 2
THEN
@@ -2717,7 +2717,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
FROM prs_bedrijf b, bes_bestelopdr o
WHERE b.prs_bedrijf_key = o.prs_bedrijf_key
AND o.bes_bestelopdr_key = pkey;
fac.trackaction ('BES2SN', pkey, NULL, NULL, presulttext);
fac.trackaction ('BES2SN', pkey, pperslid_key, NULL, presulttext);
IF order_confirm = 1
THEN
@@ -2725,23 +2725,23 @@ CREATE OR REPLACE PACKAGE BODY fac AS
UPDATE bes_bestelopdr
SET bes_bestelopdr_status = 5
WHERE bes_bestelopdr_key = pkey;
fac.trackaction ('BES2BE', pkey, NULL, NULL, presulttext);
fac.trackaction ('BES2BE', pkey, pperslid_key, NULL, presulttext);
ELSE
bes.acceptopdracht(pkey, NULL, presulttext);
bes.acceptopdracht(pkey, pperslid_key, presulttext);
END IF;
ELSIF presult < 0
THEN
-- just track, nothing changes really
fac.trackaction ('BES2SX', pkey, NULL, NULL, presulttext);
fac.trackaction ('BES2SX', pkey, pperslid_key, NULL, presulttext);
END IF;
WHEN 'contract'
THEN
IF presult = 1
THEN -- (Logische) fout; kan nog niet voorkomen voorlopig, maar toch
fac.trackaction ('CNTSNX', pkey, NULL, NULL, presulttext);
fac.trackaction ('CNTSNX', pkey, pperslid_key, NULL, presulttext);
ELSE
-- Succesvol
fac.trackaction ('CNTSNT', pkey, NULL, NULL, presulttext);
fac.trackaction ('CNTSNT', pkey, pperslid_key, NULL, presulttext);
END IF;
-- reset
UPDATE cnt_contract