VLKC#69496 Rap/Openstaande auto vs. desk opdrachten

svn path=/Customer/trunk/; revision=54094
This commit is contained in:
Maarten van der Heide
2021-12-09 20:32:32 +00:00
parent 0a357a6845
commit b4a71d91ff

View File

@@ -4991,7 +4991,7 @@ AS
v_locatie_key NUMBER (10);
v_discipline_key NUMBER (10);
v_stdmelding_key NUMBER (10);
v_body VARCHAR2 (4000);
v_body VARCHAR2 (4000);
v_melding_key NUMBER (10);
v_folder_kkey NUMBER (10);
v_opdracht_id VARCHAR2 (255);
@@ -5260,7 +5260,7 @@ EXCEPTION
END;
/
-- VLKC#65151: Uitrijkaarten
-- VLKC#65151: Uitrijkaarten.
CREATE OR REPLACE VIEW vlkc_v_rap_uitrijkaarten
(
afspraakmaand,
@@ -5344,6 +5344,180 @@ AS
WHERE x.bez_afspraak_datum > TO_DATE ('01-01-2020', 'dd-mm-yyyy')
AND x.bez_afspraak_datum > TRUNC (ADD_MONTHS (SYSDATE, -12), 'yyyy');
-- VLKC#69695: Automatisch uitgegeven opdrachten (bijna kopie van vlkc_v_rap_mld_kosten).
CREATE OR REPLACE VIEW vlkc_v_rap_autoorders
(
vakgroeptype,
vakgroep,
soortmelding,
opdrachttype,
opdrachtid,
uitvoerende,
omschrijving,
status,
aangemaakt,
toegekend,
verzonden,
kosten_opdr,
kosten_fact,
aantal_fact
)
AS
SELECT x.ins_srtdiscipline_omschrijving vakgroeptype,
x.ins_discipline_omschrijving vakgroep,
x.mld_stdmelding_omschrijving soortmelding,
x.mld_typeopdr_omschrijving opdrachttype,
TO_CHAR (x.mld_melding_key) || '/' || TO_CHAR (x.mld_opdr_bedrijfopdr_volgnr) opdrachtid,
COALESCE (x.prs_bedrijf_naam, x.prs_perslid_naam_full) uitvoerende,
x.mld_opdr_omschrijving omschrijving,
x.mld_statusopdr_omschrijving status,
x.mld_opdr_datumbegin aangemaakt,
fac.gettrackingdate ('ORDNEW', x.mld_opdr_key) toegekend,
x.mld_opdr_verzonden verzonden,
ROUND (x.mld_opdr_kosten, 2) kosten_opdr,
gefactureerd.kosten kosten_fact,
gefactureerd.aantal aantal_fact
FROM (SELECT o.mld_opdr_key,
o.mld_melding_key,
o.mld_opdr_bedrijfopdr_volgnr,
sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
ot.mld_typeopdr_key,
ot.mld_typeopdr_omschrijving,
lev.prs_bedrijf_naam,
iuv.prs_perslid_naam_full,
o.mld_opdr_omschrijving,
os.mld_statusopdr_omschrijving,
o.mld_opdr_datumbegin,
o.mld_opdr_verzonden,
o.mld_opdr_kosten
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
mld_discipline md,
mld_stdmelding sm,
ins_srtdiscipline sd,
prs_bedrijf lev,
prs_v_perslid_fullnames iuv,
mld_statusopdr os
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_stdmelding_autoorder = 1 -- Autoorder!
AND sm.mld_typeopdr_key IS NOT NULL
AND sm.prs_dienst_key IS NOT NULL
AND FLOOR ((m.mld_melding_datum - o.mld_opdr_datumbegin) * 24 * 60) = 0 -- Opdracht binnen minuut na melding aangemaakt!
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys = lev.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = iuv.prs_perslid_key(+)
AND o.mld_statusopdr_key = os.mld_statusopdr_key) x
LEFT JOIN ( SELECT mld_opdr_key,
SUM (fin_factuur_totaal + fin_factuur_totaal_btw) kosten,
COUNT (DISTINCT fin_factuur_key) aantal
FROM fin_factuur
WHERE fin_factuur_verwijder IS NULL
AND fin_factuur_statuses_key IN (6, 7) -- Akkoord/Verwerkt
GROUP BY mld_opdr_key) gefactureerd
ON x.mld_opdr_key = gefactureerd.mld_opdr_key;
-- VLKC#69696: Openstaande opdrachten automatisch vs. niet automatisch aangemaakt.
CREATE OR REPLACE VIEW vlkc_v_rap_ord_open
(
vakgroeptype,
vakgroep,
soortmelding,
mld_typeopdr_key,
opdrachttype,
mld_opdr_key,
mld_melding_key,
opdrachtid,
uitvoerende,
status,
aangemaakt,
toegekend,
verzonden,
auto_order,
desk_order
)
AS
SELECT sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
ot.mld_typeopdr_key,
ot.mld_typeopdr_omschrijving,
o.mld_opdr_key,
o.mld_melding_key,
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtid,
COALESCE (lev.prs_bedrijf_naam, iuv.prs_perslid_naam_full) uitvoerende,
os.mld_statusopdr_omschrijving,
o.mld_opdr_datumbegin aangemaakt,
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key) toegekend,
o.mld_opdr_verzonden verzonden,
1 auto_order,
0 desk_order
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
mld_discipline md,
mld_stdmelding sm,
ins_srtdiscipline sd,
prs_bedrijf lev,
prs_v_perslid_fullnames iuv,
mld_statusopdr os
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND sm.mld_stdmelding_autoorder = 1 -- Autoorder!
AND sm.mld_typeopdr_key IS NOT NULL
AND sm.prs_dienst_key IS NOT NULL
AND FLOOR ((m.mld_melding_datum - o.mld_opdr_datumbegin) * 24 * 60) = 0 -- Opdracht <1 minuut na melding aangemaakt!
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys = lev.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = iuv.prs_perslid_key(+)
AND o.mld_statusopdr_key = os.mld_statusopdr_key
AND os.mld_statusopdr_key IN (3, 4, 5, 8, 10)
UNION ALL
SELECT sd.ins_srtdiscipline_omschrijving,
md.ins_discipline_omschrijving,
sm.mld_stdmelding_omschrijving,
ot.mld_typeopdr_key,
ot.mld_typeopdr_omschrijving,
o.mld_opdr_key,
o.mld_melding_key,
TO_CHAR (o.mld_melding_key) || '/' || TO_CHAR (o.mld_opdr_bedrijfopdr_volgnr) opdrachtid,
COALESCE (lev.prs_bedrijf_naam, iuv.prs_perslid_naam_full) uitvoerende,
os.mld_statusopdr_omschrijving,
o.mld_opdr_datumbegin aangemaakt,
fac.gettrackingdate ('ORDNEW', o.mld_opdr_key) toegekend,
o.mld_opdr_verzonden verzonden,
0 auto_order,
1 desk_order
FROM mld_opdr o,
mld_typeopdr ot,
mld_melding m,
mld_discipline md,
mld_stdmelding sm,
ins_srtdiscipline sd,
prs_bedrijf lev,
prs_v_perslid_fullnames iuv,
mld_statusopdr os
WHERE o.mld_melding_key = m.mld_melding_key
AND o.mld_typeopdr_key = ot.mld_typeopdr_key
AND m.mld_stdmelding_key = sm.mld_stdmelding_key
AND ( sm.mld_stdmelding_autoorder = 0
OR sm.mld_typeopdr_key IS NULL
OR sm.prs_dienst_key IS NULL
OR FLOOR ((m.mld_melding_datum - o.mld_opdr_datumbegin) * 24 * 60) > 0) -- Opdracht >1 minuut na melding aangemaakt!
AND sm.mld_ins_discipline_key = md.ins_discipline_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key
AND o.mld_uitvoerende_keys = lev.prs_bedrijf_key(+)
AND o.mld_uitvoerende_keys = iuv.prs_perslid_key(+)
AND o.mld_statusopdr_key = os.mld_statusopdr_key
AND os.mld_statusopdr_key IN (3, 4, 5, 8, 10);
------ payload end ------
SET DEFINE OFF