VLKC#69496 Rap/Openstaande auto vs. desk opdrachten
svn path=/Customer/trunk/; revision=54094
This commit is contained in:
176
VLKC/vlkc.sql
176
VLKC/vlkc.sql
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user