INLO#87051 -- Uitbreiding scanproces voor wagens tbv gevangenis haren om prestatie te monitoren - IMPORT en DWH-VIEW GEREED
svn path=/Customer/trunk/; revision=70711
This commit is contained in:
399
AA/INLO/inlo.sql
399
AA/INLO/inlo.sql
@@ -5940,6 +5940,7 @@ AS
|
||||
-- PPS - HAREN ---
|
||||
-------------------------
|
||||
|
||||
-- Zie INLO#87051 - In 2025 helemaal herzien
|
||||
CREATE OR REPLACE PROCEDURE inlo_import_scan_haren (p_import_key IN NUMBER)
|
||||
AS
|
||||
c_fielddelimitor VARCHAR2 (1) := ';';
|
||||
@@ -5950,43 +5951,68 @@ AS
|
||||
oracle_err_num NUMBER;
|
||||
oracle_err_mes VARCHAR2 (200);
|
||||
v_ongeldig NUMBER (1);
|
||||
v_ongeldig_regel NUMBER (1);
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
v_header_is_valid NUMBER (1);
|
||||
v_dummy VARCHAR2 (1000);
|
||||
v_user VARCHAR2 (4);
|
||||
-- De importvelden:
|
||||
v_scanregel VARCHAR2 (50);
|
||||
v_rownumb NUMBER(10);
|
||||
v_datum_import DATE;
|
||||
v_scancode VARCHAR2 (60); -- streepjescode (ruimtenr of ins_deel_omschrijving)
|
||||
v_datum DATE;
|
||||
v_tijd VARCHAR2 (10); -- hh24:mi
|
||||
v_in_uit VARCHAR2 (20); -- keuzelijst uitgegeven / ingenomen / <leeg>
|
||||
v_temperatuur VARCHAR2 (50);
|
||||
v_opmerking VARCHAR2 (4000);
|
||||
v_ins_deel_key NUMBER(10);
|
||||
v_scancode_ruimte VARCHAR2 (60);
|
||||
v_scancode_eenheid VARCHAR2 (60);
|
||||
v_ins_deel_key NUMBER(10); -- key eenheid/unit
|
||||
v_alg_ruimte_key NUMBER(10);
|
||||
v_alg_ruimte_key_i NUMBER(10);
|
||||
v_opmerking_intern VARCHAR2 (4000); -- om bij verwerking eventuele leesbare info in op te nemen
|
||||
v_datum DATE;
|
||||
v_datum_dag_code NUMBER (1);
|
||||
v_datum_vorige_scan DATE;
|
||||
v_tijd VARCHAR2 (10); -- hh24:mi
|
||||
v_tijd_ruimte VARCHAR2 (10); -- tijdstip dat men de transitieruimte scant
|
||||
v_soort_scan VARCHAR2 (60) := 'wasserij' ; -- future use: als ook levering afval en voeding ingepast gaan worden
|
||||
v_gescand_door VARCHAR2 (200);
|
||||
v_gescand_door_i VARCHAR2 (200);
|
||||
v_gescand_door_vorige VARCHAR2 (200);
|
||||
v_afwijking_dag VARCHAR2 (200);
|
||||
v_afwijking_dag_i VARCHAR2 (200);
|
||||
v_afwijking_eenheid VARCHAR2 (200);
|
||||
v_opmerking VARCHAR2 (4000);
|
||||
v_temperatuur VARCHAR2 (200);
|
||||
v_cnt_contract_key NUMBER (10);
|
||||
v_ins_srtdeel_key NUMBER (10);
|
||||
|
||||
|
||||
CURSOR c IS
|
||||
SELECT *
|
||||
FROM fac_imp_file
|
||||
WHERE fac_import_key = p_import_key
|
||||
ORDER BY fac_imp_file_index;
|
||||
|
||||
BEGIN
|
||||
-- Eerst opruiming
|
||||
|
||||
-- Eerst opruiming/bijwerking
|
||||
-- Verwijder regels die de vorige keer geimporteerd zijn maar niet verwerkt zijn.
|
||||
DELETE inlo_imp_scan_haren
|
||||
DELETE inlo_imp_scan_haren2
|
||||
WHERE actief = 0;
|
||||
|
||||
-- gooi lege regels weg uit de import
|
||||
DELETE fac_imp_file
|
||||
WHERE fac_import_key = p_import_key AND fac_imp_file_line LIKE ';;';
|
||||
|
||||
-- Het aangeleverde bestand heeft header met dubbele punten ;
|
||||
UPDATE fac_imp_file
|
||||
SET fac_imp_file_line = REPLACE (fac_imp_file_line, ':', '')
|
||||
WHERE fac_import_key = p_import_key
|
||||
AND UPPER(SUBSTR(fac_imp_file_line, 1, 13)) = 'STREEPJESCODE' ;
|
||||
|
||||
-- Bepaal hoogste rownumb
|
||||
SELECT COALESCE(MAX(rownumb),0)
|
||||
INTO v_rownumb
|
||||
FROM inlo_imp_scan_haren ;
|
||||
FROM inlo_imp_scan_haren2 ;
|
||||
|
||||
v_datum_import := SYSDATE;
|
||||
v_header_is_valid := 0;
|
||||
v_ongeldig := 0;
|
||||
|
||||
@@ -6001,20 +6027,28 @@ BEGIN
|
||||
|| SUBSTR (v_newline, 1, 200);
|
||||
v_aanduiding := '';
|
||||
|
||||
|
||||
IF (UPPER (v_newline) LIKE
|
||||
'STREEPJESCODE:;DATUM;TIJD;IN / UIT;TEMP;OPMERKING%')
|
||||
'STREEPJESCODE;DAG;TIJD;PERSOON DIE SCANT;AFWIJKING HELE DAG;AFWIJKING EENHEID;OPMERKING%')
|
||||
-- WAS: Streepjescode:;Datum;Tijd;IN / UIT;Temp;Opmerking
|
||||
-- WORDT STREEPJESCODE;DAG;TIJD;PERSOON DIE SCANT;AFWIJKING HELE DAG;AFWIJKING EENHEID;OPMERKING
|
||||
|
||||
THEN
|
||||
v_header_is_valid := 1;
|
||||
ELSE
|
||||
-- init
|
||||
v_ongeldig_regel := 0 ;
|
||||
v_cnt_contract_key := NULL ;
|
||||
|
||||
-- Lees alle veldwaarden
|
||||
v_errormsg := 'Fout opvragen te importeren rij (streepjescode)';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_scancode := UPPER(SUBSTR (v_dummy, 1, 60));
|
||||
|
||||
-- Op zoek naar ruimte of ins_deel_key
|
||||
-- Op zoek naar of de streepjescode een in Facilitor bestaande ruimte en/of eenheid is
|
||||
v_alg_ruimte_key := NULL;
|
||||
v_ins_deel_key := NULL;
|
||||
v_scanregel := NULL;
|
||||
|
||||
IF v_scancode IS NOT NULL
|
||||
THEN
|
||||
|
||||
@@ -6032,69 +6066,178 @@ BEGIN
|
||||
SELECT MAX (ins_deel_key)
|
||||
INTO v_ins_deel_key
|
||||
FROM ins_v_deel_gegevens
|
||||
WHERE ins_discipline_key = 2521 -- Transportwagens
|
||||
WHERE ins_discipline_key = 2521 -- Transportwagens en Eenheden
|
||||
AND (ins_deel_vervaldatum IS NULL OR ins_deel_vervaldatum > TRUNC(SYSDATE) )
|
||||
AND ins_deel_upper = v_scancode;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
-- Als er bij volgende scanregel geen andere ruimte is gevonden, dan bevindt men zich dus nog steeds in de voorgaande transitieruimte
|
||||
v_alg_ruimte_key_i := COALESCE(v_alg_ruimte_key, v_alg_ruimte_key_i) ;
|
||||
|
||||
-- soort scanregel bepalen - en daarmee bepalen of we de regel wel/niet in de tabel gaan inserten
|
||||
IF v_alg_ruimte_key IS NOT NULL
|
||||
THEN
|
||||
v_scanregel := 'ruimte';
|
||||
v_scancode_ruimte := v_scancode ;
|
||||
END IF;
|
||||
|
||||
IF v_ins_deel_key IS NOT NULL
|
||||
THEN
|
||||
v_scanregel := 'eenheid';
|
||||
v_scancode_eenheid := v_scancode ;
|
||||
END IF;
|
||||
|
||||
IF v_alg_ruimte_key IS NULL and v_ins_deel_key IS NULL
|
||||
THEN
|
||||
v_scanregel := 'eenheid - onbekend';
|
||||
v_scancode_eenheid := 'Onbekend - ' || v_scancode ;
|
||||
END IF;
|
||||
|
||||
END IF;
|
||||
|
||||
|
||||
v_errormsg := 'Fout opvragen te importeren rij (datum) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_datum := fac.safe_to_date (v_dummy, 'dd-mm-yyyy');
|
||||
v_datum_dag_code := fac.getweekdaynum (v_datum)-1;
|
||||
|
||||
v_errormsg := 'Fout opvragen te importeren rij (tijd) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_tijd := SUBSTR (v_dummy, 1, 10);
|
||||
-- als het ruimte_scan is dan gaan we ook even de tijd noteren dat men in die transitieruimte is gearriveerd
|
||||
IF v_alg_ruimte_key IS NOT NULL
|
||||
THEN
|
||||
|
||||
v_errormsg := 'Fout opvragen te importeren rij (in / uit) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_in_uit := SUBSTR (v_dummy, 1, 20);
|
||||
v_tijd_ruimte := v_tijd ;
|
||||
|
||||
END IF;
|
||||
|
||||
v_errormsg :=
|
||||
'Fout opvragen te importeren rij (temp) ';
|
||||
v_errormsg := 'Fout opvragen te importeren rij (gescand_door) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_temperatuur := SUBSTR (v_dummy, 1, 50);
|
||||
v_gescand_door := SUBSTR (v_dummy, 1, 200);
|
||||
-- Deze wordt in principe bij start dag op eerste scanregel door medewerker ingevoerd en geldt voor alle onderliggende scans
|
||||
v_gescand_door_i := COALESCE(v_gescand_door, v_gescand_door_i) ;
|
||||
|
||||
v_errormsg := 'Fout opvragen te importeren rij (afwijking_dag) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_afwijking_dag := SUBSTR (v_dummy, 1, 200);
|
||||
-- Deze wordt in principe bij start dag op eerste scanregel door medewerker ingevoerd en geldt voor alle onderliggende scans
|
||||
IF v_datum = v_datum_vorige_scan
|
||||
THEN
|
||||
v_afwijking_dag_i := COALESCE(v_afwijking_dag, v_afwijking_dag_i) ;
|
||||
ELSE
|
||||
v_afwijking_dag_i := v_afwijking_dag ;
|
||||
END IF;
|
||||
|
||||
v_errormsg := 'Fout opvragen te importeren rij (afwijking_eenheid) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_afwijking_eenheid := SUBSTR (v_dummy, 1, 200);
|
||||
|
||||
v_errormsg :=
|
||||
'Fout opvragen te importeren rij (opmerking) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_opmerking := SUBSTR (v_dummy, 1, 4000);
|
||||
|
||||
|
||||
v_errormsg :=
|
||||
'Fout bij toevoegen regel aan tabel '
|
||||
|| v_scancode
|
||||
|| ' / '
|
||||
|| v_datum || ' ' || v_tijd ;
|
||||
|
||||
IF v_ongeldig = 0
|
||||
'Fout opvragen te importeren rij (temp) ';
|
||||
fac.imp_getfield (v_newline, c_fielddelimitor, v_dummy);
|
||||
v_temperatuur := SUBSTR (v_dummy, 1, 50);
|
||||
|
||||
-- op zoek naar actuele contract op desbetreffende eenheid
|
||||
IF v_ins_deel_key IS NOT NULL
|
||||
THEN
|
||||
v_rownumb := v_rownumb + 1 ;
|
||||
INSERT INTO inlo_imp_scan_haren (rownumb,
|
||||
scancode,
|
||||
datum,
|
||||
tijd,
|
||||
in_uit,
|
||||
temperatuur,
|
||||
opmerking,
|
||||
ins_deel_key,
|
||||
alg_ruimte_key,
|
||||
actief)
|
||||
VALUES (v_rownumb,
|
||||
v_scancode,
|
||||
v_datum,
|
||||
v_tijd,
|
||||
v_in_uit,
|
||||
v_temperatuur,
|
||||
v_opmerking,
|
||||
v_ins_deel_key,
|
||||
v_alg_ruimte_key_i,
|
||||
0);
|
||||
|
||||
-- eerst ins_srt_deel ophalen
|
||||
SELECT ins_srtdeel_key
|
||||
INTO v_ins_srtdeel_key
|
||||
FROM ins_deel
|
||||
WHERE ins_deel_key = v_ins_deel_key ;
|
||||
|
||||
-- dan gekoppeld contract erbij zoeken
|
||||
SELECT MAX(c.cnt_contract_key)
|
||||
INTO v_cnt_contract_key
|
||||
FROM cnt_contract_object oc, cnt_contract c
|
||||
WHERE oc.cnt_contract_key = c.cnt_contract_key
|
||||
AND oc.cnt_ins_srtdeel_key = v_ins_srtdeel_key
|
||||
-- alleen actuele contracten
|
||||
AND c.cnt_contract_status = 0
|
||||
AND v_datum BETWEEN c.cnt_contract_looptijd_van AND c.cnt_contract_looptijd_tot
|
||||
;
|
||||
|
||||
END IF;
|
||||
|
||||
-- ongedlige regel als er geen ruimte_key of eenheid_key of gekoppelde contract_key gevonden wordt
|
||||
---- we lezen deze scanactie wel in maar met een invalid zodat deze wel in rapportage naar boven kan komen en er mensen op aangesproken kunnen worden...
|
||||
IF COALESCE(v_alg_ruimte_key, v_ins_deel_key) IS NULL OR v_cnt_contract_key IS NULL
|
||||
THEN
|
||||
|
||||
v_ongeldig_regel := 1;
|
||||
|
||||
END IF;
|
||||
|
||||
-- we lezen alleen de scanregels van de eenheid in
|
||||
IF SUBSTR(v_scanregel, 1, 7) = 'eenheid'
|
||||
THEN
|
||||
|
||||
v_errormsg :=
|
||||
'Fout bij toevoegen regel aan tabel '
|
||||
|| v_scancode_ruimte || ' - ' || v_scancode_eenheid
|
||||
|| ' / '
|
||||
|| v_datum || ' ' || v_tijd ;
|
||||
|
||||
v_rownumb := v_rownumb + 1 ;
|
||||
INSERT INTO inlo_imp_scan_haren2 (rownumb,
|
||||
datum_import,
|
||||
soort_scan,
|
||||
datum,
|
||||
datum_dag_code,
|
||||
scancode_ruimte,
|
||||
tijd_ruimte,
|
||||
scancode_eenheid,
|
||||
tijd,
|
||||
gescand_door,
|
||||
afwijking_dag,
|
||||
afwijking_eenheid,
|
||||
opmerking,
|
||||
temperatuur,
|
||||
voeding_1,
|
||||
voeding_2,
|
||||
voeding_3,
|
||||
voeding_4,
|
||||
ongeldig_regel,
|
||||
actief,
|
||||
alg_ruimte_key,
|
||||
ins_deel_key,
|
||||
cnt_contract_key)
|
||||
VALUES (v_rownumb,
|
||||
v_datum_import,
|
||||
v_soort_scan,
|
||||
v_datum,
|
||||
v_datum_dag_code,
|
||||
v_scancode_ruimte,
|
||||
v_tijd_ruimte,
|
||||
v_scancode_eenheid,
|
||||
v_tijd,
|
||||
v_gescand_door_i,
|
||||
v_afwijking_dag_i,
|
||||
v_afwijking_eenheid,
|
||||
v_opmerking,
|
||||
v_temperatuur,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
v_ongeldig_regel,
|
||||
0,
|
||||
v_alg_ruimte_key_i,
|
||||
v_ins_deel_key,
|
||||
v_cnt_contract_key);
|
||||
END IF;
|
||||
|
||||
-- Zet vorige_dag en vorige persoon die gescand heeft
|
||||
v_datum_vorige_scan := v_datum ;
|
||||
v_gescand_door_vorige := v_gescand_door ;
|
||||
|
||||
END IF;
|
||||
END;
|
||||
END LOOP;
|
||||
@@ -6135,7 +6278,6 @@ EXCEPTION
|
||||
END inlo_import_scan_haren;
|
||||
/
|
||||
|
||||
|
||||
CREATE OR REPLACE PROCEDURE inlo_update_scan_haren (
|
||||
p_import_key IN NUMBER)
|
||||
AS
|
||||
@@ -6146,44 +6288,21 @@ AS
|
||||
v_aanduiding VARCHAR2 (200);
|
||||
|
||||
-- Overige velden:
|
||||
v_scanregel VARCHAR2 (4000); -- VAST FORMAT: <timestamp (datum/tijd)>;<ruimte-key>;<wagen_key><ruimte_nr><wagen_nr>;<in/out>;<temp>;<opmerking>
|
||||
|
||||
CURSOR c
|
||||
IS
|
||||
SELECT i.rownumb, i.scancode, i.datum, i.tijd, i.in_uit, i.temperatuur, i.opmerking, i.ins_deel_key, i.alg_ruimte_key, i.opmerking_intern, r.alg_ruimte_nr
|
||||
FROM inlo_imp_scan_haren i, alg_ruimte r
|
||||
WHERE i.alg_ruimte_key = r.alg_ruimte_key
|
||||
AND i.actief = 0 AND i.ins_deel_key IS NOT NULL AND i.alg_ruimte_key IS NOT NULL
|
||||
ORDER BY 1 ;
|
||||
BEGIN
|
||||
|
||||
-- Toelichting:
|
||||
---- actief = 0 is nog niet verwerkt...(bij nieuwe import eerst te verwijderen)
|
||||
---- actief = 1 is bij deze run verwerkt...
|
||||
---- actief = 2 is bij voorgaande run verwerkt ....
|
||||
UPDATE inlo_imp_scan_haren
|
||||
---- actief = 0 is nog niet verwerkt...(wordt bij nieuwe import ook altijd eerst verwijderd)
|
||||
---- actief = 1 is/wordt nu verwerkt...
|
||||
---- actief = 2 is al bij voorgaande runs verwerkt ....
|
||||
|
||||
-- uit voorgaande run de scanregels bij deze op actief 2 zetten
|
||||
UPDATE inlo_imp_scan_haren2
|
||||
SET actief = 2
|
||||
WHERE actief = 1;
|
||||
|
||||
-- VERWERKING records => insert notitie op INS_DEEL
|
||||
FOR rec IN c
|
||||
LOOP
|
||||
BEGIN
|
||||
|
||||
v_scanregel := 'Scanregel ' || TO_CHAR(rec.rownumb) || ';' || TO_CHAR(rec.datum,'DD-MM-YYYY') || ' ' || rec.tijd || ';' || rec.ins_deel_key || ';' || rec.alg_ruimte_key || ';' ||
|
||||
rec.scancode || ';' || rec.alg_ruimte_nr || ';' || rec.in_uit || ';' || rec.temperatuur || ';' || rec.opmerking ;
|
||||
|
||||
INSERT INTO ins_deel_note (ins_deel_key, prs_perslid_key, ins_deel_note_omschrijving)
|
||||
VALUES (rec.ins_deel_key,
|
||||
4, -- facilitor
|
||||
v_scanregel) ;
|
||||
|
||||
END;
|
||||
|
||||
END LOOP;
|
||||
|
||||
-- alle scanregels uit deze run op verwerkt zetten
|
||||
UPDATE inlo_imp_scan_haren
|
||||
-- uit deze run de scanregels op verwerkt zetten
|
||||
UPDATE inlo_imp_scan_haren2
|
||||
SET actief = 1
|
||||
WHERE actief = 0;
|
||||
|
||||
@@ -6192,6 +6311,7 @@ BEGIN
|
||||
END inlo_update_scan_haren;
|
||||
/
|
||||
|
||||
-- DEZE KOMT TE VERVALLEN MET INLO#87051
|
||||
CREATE OR REPLACE VIEW inlo_v_rap_scan_haren
|
||||
(
|
||||
ins_deel_key,
|
||||
@@ -6234,6 +6354,121 @@ AS
|
||||
AND d.ins_discipline_key = 2521 -- Transportwagens
|
||||
;
|
||||
|
||||
-- Resultaatview van de scanning (INLO#87051)
|
||||
CREATE OR REPLACE VIEW inlo_v_rap_scan_haren2
|
||||
(
|
||||
ROWNUMB,
|
||||
DATUM_IMPORT,
|
||||
SOORT_SCAN,
|
||||
SCANDATUM,
|
||||
SCANDATUM_DAG_CODE, -- MA = 1 ... ZON = 7
|
||||
SCANCODE_RUIMTE,
|
||||
TIJD_RUIMTE,
|
||||
SCANCODE_EENHEID,
|
||||
TIJD,
|
||||
GESCAND_DOOR,
|
||||
AFWIJKING_DAG,
|
||||
AFWIJKING_EENHEID,
|
||||
OPMERKING,
|
||||
TEMPERATUUR,
|
||||
VOEDING_1,
|
||||
VOEDING_2,
|
||||
VOEDING_3,
|
||||
VOEDING_4,
|
||||
ONGELDIG_REGEL, -- Er ontbreekt een Facilitor-entitieit - dwz de ruimte of eenheid/unit is niet gevonden
|
||||
ALG_RUIMTE_KEY,
|
||||
INS_DEEL_KEY,
|
||||
CNT_CONTRACT_KEY,
|
||||
-- extra velden
|
||||
OBJECTSOORT,
|
||||
ORGANISATIE_EENHEID,
|
||||
-- velden bepaling scan op tijd (conform SLA)
|
||||
CONTRACTNR,
|
||||
SLA_CONTRACT_DAG,
|
||||
SLA_CONTRACT_DAG_CODE,
|
||||
SLA_CONTRACT_BEZORGING_VOOR,
|
||||
AFWIJKING_UITSCAN,
|
||||
OP_TIJD
|
||||
)
|
||||
AS
|
||||
SELECT -- velden uit cust-tabel pps haren
|
||||
v.rownumb,
|
||||
v.datum_import,
|
||||
v.soort_scan,
|
||||
v.datum scandatum,
|
||||
v.datum_dag_code scandatum_dag_code, -- MA = 1
|
||||
v.scancode_ruimte,
|
||||
v.tijd_ruimte,
|
||||
v.scancode_eenheid,
|
||||
v.tijd,
|
||||
v.gescand_door,
|
||||
v.afwijking_dag,
|
||||
v.afwijking_eenheid,
|
||||
v.opmerking,
|
||||
v.temperatuur,
|
||||
v.voeding_1,
|
||||
v.voeding_2,
|
||||
v.voeding_3,
|
||||
v.voeding_4,
|
||||
v.ongeldig_regel,
|
||||
v.alg_ruimte_key,
|
||||
v.ins_deel_key,
|
||||
v.cnt_contract_key,
|
||||
-- extra velden
|
||||
d.ins_srtdeel_omschrijving objectsoort,
|
||||
d.prs_afdeling_omschrijving organisatie_eenheid,
|
||||
-- velden bepaling scan op tijd (conform SLA)
|
||||
CASE WHEN c.cnt_contract_key IS NOT NULL
|
||||
THEN c.cnt_contract_nummer_intern || '.' ||DECODE(c.cnt_contract_versie, NULL, '0', cnt_contract_versie)
|
||||
ELSE ''
|
||||
END contractnr,
|
||||
cnt_d.dag sla_contract_dag,
|
||||
cnt_d.dag_code sla_contract_dag_code,
|
||||
cnt_t.bezorging_voor sla_contract_bezorging_voor,
|
||||
CASE WHEN COALESCE(v.afwijking_dag, v.afwijking_eenheid) = NULL
|
||||
THEN ''
|
||||
WHEN v.afwijking_dag IS NOT NULL AND v.afwijking_eenheid IS NULL
|
||||
THEN 'Dag: - ' || v.afwijking_dag
|
||||
WHEN v.afwijking_dag IS NULL AND v.afwijking_eenheid IS NOT NULL
|
||||
THEN 'Eenheid: - ' || v.afwijking_eenheid || DECODE(v.opmerking, NULL, '', ' - ' || v.opmerking)
|
||||
WHEN v.afwijking_dag IS NOT NULL AND v.afwijking_eenheid IS NOT NULL
|
||||
THEN 'Dag/Eenheid: - ' || v.afwijking_dag || ' / ' || v.afwijking_eenheid
|
||||
ELSE ''
|
||||
END
|
||||
afwijking_uitscan,
|
||||
CASE WHEN v.datum_dag_code < cnt_d.dag_code THEN 'ja'
|
||||
WHEN v.datum_dag_code > cnt_d.dag_code THEN 'nee'
|
||||
WHEN v.datum_dag_code = cnt_d.dag_code AND v.tijd <= cnt_t.bezorging_voor THEN 'ja'
|
||||
WHEN v.datum_dag_code = cnt_d.dag_code AND v.tijd > cnt_t.bezorging_voor THEN 'nee'
|
||||
ELSE ''
|
||||
END sla_op_tijd
|
||||
FROM inlo_imp_scan_haren2 v, ins_v_deel_gegevens d, cnt_contract c, alg_ruimte r,
|
||||
(SELECT kw.cnt_contract_key, ud.fac_usrdata_code dag_code, ud.fac_usrdata_omschr dag
|
||||
FROM cnt_contract c, cnt_kenmerkcontract kw, cnt_kenmerk k, cnt_srtkenmerk sk,
|
||||
fac_usrtab ut, fac_usrdata ud
|
||||
WHERE c.cnt_contract_key = kw.cnt_contract_key
|
||||
AND kw.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||||
AND fac.safe_to_number (kw.cnt_kenmerkcontract_waarde) = ud.fac_usrdata_key
|
||||
AND ud.fac_usrtab_key = ut.fac_usrtab_key
|
||||
AND ut.fac_usrtab_key = 1501 -- PPS - SLA DAG
|
||||
AND k.cnt_kenmerk_key = 4261 -- AFSPRAAK - bezorging dag
|
||||
) cnt_d,
|
||||
(SELECT c.cnt_contract_key, kw.cnt_kenmerkcontract_waarde bezorging_voor
|
||||
FROM cnt_contract c, cnt_kenmerkcontract kw, cnt_kenmerk k, cnt_srtkenmerk sk
|
||||
WHERE c.cnt_contract_key = kw.cnt_contract_key
|
||||
AND kw.cnt_kenmerk_key = k.cnt_kenmerk_key
|
||||
AND k.cnt_srtkenmerk_key = sk.cnt_srtkenmerk_key
|
||||
AND k.cnt_kenmerk_key = 4223 -- AFSPRAAK - bezorging tijd
|
||||
) cnt_t
|
||||
WHERE v.alg_ruimte_key = r.alg_ruimte_key (+)
|
||||
AND v.ins_deel_key = d.ins_deel_key (+)
|
||||
AND v.cnt_contract_key = c.cnt_contract_key (+)
|
||||
AND v.cnt_contract_key = cnt_t.cnt_contract_key (+)
|
||||
AND v.cnt_contract_key = cnt_d.cnt_contract_key (+)
|
||||
ORDER BY rownumb
|
||||
;
|
||||
|
||||
------------------------------
|
||||
-- EXACT - BUNDEL CATERING ---
|
||||
------------------------------
|
||||
|
||||
Reference in New Issue
Block a user