ASFC#34371: Start en stopmoment bij schoonmaak via inspecties kunnen vastleggen.
svn path=/Database/trunk/; revision=28368
This commit is contained in:
@@ -4453,7 +4453,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
AND isc.ins_srtinstallatie_key = id.ins_discipline_key)
|
||||
AND id.ins_deel_key = p_insdeel)
|
||||
|
||||
SELECT fac.nextcyclusdate (COALESCE ( (SELECT MAX ( GREATEST (COALESCE (idsc.ins_deelsrtcontrole_datum_xcp,
|
||||
SELECT fac.nextcyclusdate (COALESCE ( (SELECT MAX ( GREATEST (COALESCE (idsc.ins_deelsrtcontrole_plandatum,
|
||||
CASE di.ins_srtcontrole_mode
|
||||
WHEN 0
|
||||
THEN idsc.ins_deelsrtcontrole_datum_org
|
||||
@@ -4466,6 +4466,7 @@ CREATE OR REPLACE PACKAGE BODY fac AS
|
||||
) ins_deelsrtcontrole_datum
|
||||
FROM ins_deelsrtcontrole idsc
|
||||
WHERE idsc.ins_srtcontrole_key = di.ins_srtcontrole_key
|
||||
AND idsc.ins_deelsrtcontrole_status IN (5,6)
|
||||
AND idsc.ins_deel_key = di.ins_deel_key),
|
||||
di.ins_deel_aanmaak),
|
||||
di.ins_srtcontrole_mode,
|
||||
|
||||
@@ -10,6 +10,7 @@ CREATE OR REPLACE PACKAGE ins AS
|
||||
FUNCTION sprintf (ps IN varchar2, pins_deel_key IN number) RETURN varchar2;
|
||||
FUNCTION nextcyclusdate (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 0) RETURN DATE;
|
||||
FUNCTION nextcyclusdatesteps (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 1) RETURN NUMBER;
|
||||
PROCEDURE setinspectstatus (pdlsrtcontrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER);
|
||||
END ins;
|
||||
/
|
||||
|
||||
@@ -220,7 +221,7 @@ CREATE OR REPLACE PACKAGE BODY ins AS
|
||||
AND isc.ins_srtinstallatie_key = id.ins_discipline_key)
|
||||
AND id.ins_deel_key = p_insdeel)
|
||||
|
||||
SELECT fac.nextcyclusdate (COALESCE ( (SELECT MAX ( GREATEST (COALESCE (idsc.ins_deelsrtcontrole_datum_xcp,
|
||||
SELECT fac.nextcyclusdate (COALESCE ( (SELECT MAX ( GREATEST (COALESCE (idsc.ins_deelsrtcontrole_plandatum,
|
||||
CASE di.ins_srtcontrole_mode
|
||||
WHEN 0
|
||||
THEN idsc.ins_deelsrtcontrole_datum_org
|
||||
@@ -280,7 +281,7 @@ CREATE OR REPLACE PACKAGE BODY ins AS
|
||||
OR isc.ins_srtcontrole_niveau = 'D'
|
||||
AND isc.ins_srtinstallatie_key = id.ins_discipline_key)
|
||||
AND id.ins_deel_key = p_insdeel)
|
||||
SELECT fac.nextcyclusdatesteps (COALESCE ( (SELECT MAX (COALESCE(idsc.ins_deelsrtcontrole_datum_xcp, idsc.ins_deelsrtcontrole_datum_org)) ins_deelsrtcontrole_datum
|
||||
SELECT fac.nextcyclusdatesteps (COALESCE ( (SELECT MAX (COALESCE(idsc.ins_deelsrtcontrole_plandatum, idsc.ins_deelsrtcontrole_datum_org)) ins_deelsrtcontrole_datum
|
||||
FROM ins_deelsrtcontrole idsc
|
||||
WHERE di.ins_srtcontrole_key = idsc.ins_srtcontrole_key
|
||||
AND idsc.ins_deelsrtcontrole_status IN (5,6)
|
||||
@@ -303,6 +304,63 @@ CREATE OR REPLACE PACKAGE BODY ins AS
|
||||
RETURN lsteps;
|
||||
END;
|
||||
|
||||
-- Geef deelsrtcontrolekey, gewenste status en userkey, en de status wortdt
|
||||
-- gezet, waarbij zonodig (indien verandering) een trackrecord wordt gemaakt
|
||||
-- Als de status niet wijzigt, wordt ook geen trackrecord gemaakt
|
||||
PROCEDURE setinspectstatus (pdlsrtcontrkey IN NUMBER, pstatus IN NUMBER, puserkey IN NUMBER)
|
||||
AS
|
||||
currentstatus ins_deelsrtcontrole.ins_deelsrtcontrole_status%TYPE;
|
||||
newstatus ins_deelsrtcontrole.ins_deelsrtcontrole_status%TYPE;
|
||||
eventcode fac_srtnotificatie.fac_srtnotificatie_code%TYPE;
|
||||
BEGIN
|
||||
SELECT ins_deelsrtcontrole_status
|
||||
INTO currentstatus
|
||||
FROM ins_deelsrtcontrole
|
||||
WHERE ins_deelsrtcontrole_key = pdlsrtcontrkey;
|
||||
CASE pstatus
|
||||
WHEN 0 -- Gepland
|
||||
THEN
|
||||
IF currentstatus IS NULL
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
END IF;
|
||||
WHEN 2 -- In behandeling
|
||||
THEN
|
||||
IF currentstatus IS NULL OR currentstatus = 0
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'INSCBE';
|
||||
END IF;
|
||||
WHEN 5 -- Afgemeld
|
||||
THEN
|
||||
IF currentstatus IS NULL OR currentstatus = 0 OR currentstatus = 2
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'INSCAF';
|
||||
END IF;
|
||||
WHEN 6 -- Verwerkt
|
||||
THEN
|
||||
IF currentstatus IS NULL OR currentstatus = 0 OR currentstatus = 2 OR currentstatus = 5
|
||||
THEN
|
||||
newstatus := pstatus;
|
||||
eventcode := 'INSCVE';
|
||||
END IF;
|
||||
ELSE
|
||||
-- Invalid statuschange or no change
|
||||
newstatus := NULL;
|
||||
END CASE;
|
||||
IF newstatus IS NOT NULL
|
||||
THEN
|
||||
-- vooralsnog lopen de notificaties 1-op-1 met de tracking
|
||||
-- noticode := eventcode;
|
||||
UPDATE ins_deelsrtcontrole
|
||||
SET ins_deelsrtcontrole_status = newstatus
|
||||
WHERE ins_deelsrtcontrole_key = pdlsrtcontrkey;
|
||||
-- We know that trackaction doesnt do tracking if eventcode is null
|
||||
fac.trackaction (eventcode, pdlsrtcontrkey, puserkey, NULL, NULL);
|
||||
END IF;
|
||||
END;
|
||||
|
||||
END ins;
|
||||
/
|
||||
|
||||
|
||||
@@ -532,7 +532,6 @@ CREATE_TABLE(ins_deelsrtcontrole, 0)
|
||||
DATE,
|
||||
ins_deelsrtcontrole_status // (vooralsnog 0,2,5,6)
|
||||
NUMBER(1)
|
||||
DEFAULT (6)
|
||||
CONSTRAINT ins_c_deelsrtcontrole_status NOT NULL,
|
||||
// Note: this column is defined in PRS_TAB.SRC
|
||||
// prs_perslid_key
|
||||
|
||||
Reference in New Issue
Block a user