FCLT#83767 Data-roundtrip via Excel/CSV voor bulkdata aanvulling (evt mutaties)

svn path=/Database/trunk/; revision=66172
This commit is contained in:
Erik Groener
2024-09-11 10:06:17 +00:00
parent 536d882f0e
commit 273e9abf51
2 changed files with 63 additions and 57 deletions

View File

@@ -225,63 +225,48 @@ AS
-- importtabel: fac_imp_mld
CREATE OR REPLACE VIEW fac_v_exp_mld
AS
SELECT s.ins_srtdiscipline_omschrijving Vakgroeptype
, s.ins_srtdiscipline_prefix Prefix
, s.ins_srtdiscipline_alg Plaatsgegevens
, s.ins_srtdiscipline_ins Objectgegevens
, s.ins_srtdiscipline_bes Bestelgegevens
, i.ins_discipline_omschrijving Vakgroep
, m.mld_stdmelding_omschrijving Standaardmelding
, g.mld_stdmeldinggroep_naam Groep
, k.prs_kostensoort_oms Kostensoort
, REPLACE(CASE WHEN m.mld_stdmelding_t_accepttijd.eenheid = 'U'
THEN m.mld_stdmelding_t_accepttijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_accepttijd.tijdsduur
END, ',', '.') Acceptatietijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvoertijd.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvoertijd.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvoertijd.tijdsduur
END, ',', '.') Uitvoertijd
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr1.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr1.tijdsduur
END, ',', '.') Uitvoertijd_kritiek
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr2.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr2.tijdsduur
END, ',', '.') Uitvoertijd_hoog
, REPLACE(CASE WHEN m.mld_stdmelding_t_uitvtijd_pr4.eenheid = 'U'
THEN m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur / 24
ELSE m.mld_stdmelding_t_uitvtijd_pr4.tijdsduur
END, ',', '.') Uitvoertijd_laag
, p.mld_disc_params_directklaar Directklaar
, d.prs_dienst_omschrijving Dienst
, m.mld_stdmelding_notfrontend Not_frontend
, m.alg_onrgoed_niveau alg_niveau
, t.mld_typeopdr_omschrijving Opdrachttype
, m.mld_stdmelding_hint Hint
, m.mld_stdmelding_kopieerbaar Kopieerbaar
, m.mld_stdmelding_afmeldtext Tekst_bij_afmelden
, DECODE(m.mld_stdmelding_doublecheck, 0, 'N', 1, 'I', 2, 'A', 3, 'B', 'N') Dubbele_meldingen
, m.mld_stdmelding_slabewaken Sla_bewaken
, i.ins_discipline_image Disc_image
, m.mld_stdmelding_image Stdm_image
, m.mld_stdmelding_externnr Externnr
FROM mld_stdmelding m
, mld_typeopdr t
, mld_stdmeldinggroep g
, prs_kostensoort k
, prs_dienst d
, mld_discipline i
, mld_disc_params p
, ins_srtdiscipline s
WHERE m.mld_ins_discipline_key = i.ins_discipline_key
AND m.mld_ins_discipline_key = p.mld_ins_discipline_key
AND i.ins_srtdiscipline_key = s.ins_srtdiscipline_key
AND m.mld_typeopdr_key = t.mld_typeopdr_key(+)
AND m.mld_stdmeldinggroep_key = g.mld_stdmeldinggroep_key(+)
AND m.prs_kostensoort_key = k.prs_kostensoort_key(+)
AND m.prs_dienst_key = d.prs_dienst_key(+)
SELECT sd.ins_srtdiscipline_omschrijving vakgroeptype
, sd.ins_srtdiscipline_prefix prefix
, COALESCE(sd.ins_srtdiscipline_alg, 0) plaatsgegevens
, COALESCE(sd.ins_srtdiscipline_ins, 0) objectgegevens
, COALESCE(sd.ins_srtdiscipline_bes, 0) bestelgegevens
, md.ins_discipline_omschrijving vakgroep
, sm.mld_stdmelding_omschrijving standaardmelding
, mg.mld_stdmeldinggroep_naam groep
, ks.prs_kostensoort_oms kostensoort
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_accepttijd, 'U')) acceptatietijd
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvoertijd, 'D')) uitvoertijd
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr1, 'D')) uitvoertijd_kritiek
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr2, 'D')) uitvoertijd_hoog
, ROUND(mld.uitvoertijd_to_unit(sm.mld_stdmelding_t_uitvtijd_pr4, 'D')) uitvoertijd_laag
, mp.mld_disc_params_directklaar directklaar
, pd.prs_dienst_omschrijving dienst
, sm.mld_stdmelding_notfrontend notfrontend
, sm.alg_onrgoed_niveau alg_niveau
, mt.mld_typeopdr_omschrijving opdrachttype
, sm.mld_stdmelding_hint hint
, sm.mld_stdmelding_kopieerbaar kopieerbaar
, sm.mld_stdmelding_afmeldtext tekst_bij_afmelden
, DECODE(sm.mld_stdmelding_doublecheck, 1, 'i', 2, 'a', 3, 'b', 'n') dubbele_meldingen
, mld_stdmelding_slabewaken sla_bewaken
, md.ins_discipline_image disc_image
, sm.mld_stdmelding_image stdm_image
, sm.mld_stdmelding_externnr externnr
FROM mld_stdmelding sm
, mld_discipline md
, ins_srtdiscipline sd
, mld_disc_params mp
, prs_dienst pd
, mld_stdmeldinggroep mg
, prs_kostensoort ks
, mld_typeopdr mt
WHERE sm.mld_ins_discipline_key = md.ins_discipline_key
AND sm.mld_ins_discipline_key = mp.mld_disc_params_key
AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key(+)
AND sm.mld_stdmeldinggroep_key = mg.mld_stdmeldinggroep_key(+)
AND sm.prs_kostensoort_key = ks.prs_kostensoort_key(+)
AND sm.mld_typeopdr_key = mt.mld_typeopdr_key(+)
AND sm.prs_dienst_key = pd.prs_dienst_key(+)
;
-- import: FIP: 1-Aanvullen districten t/m gebouwen

View File

@@ -33,6 +33,7 @@ CREATE OR REPLACE PACKAGE mld AS
,p_user_key IN NUMBER DEFAULT NULL);
FUNCTION getlowestobjectuitvoer (p_melding_key IN NUMBER) RETURN NUMBER;
FUNCTION uitvoertijd_to_char (uitvoertijd IN MLD_T_UITVOERTIJD) RETURN VARCHAR;
FUNCTION uitvoertijd_to_unit (tijd MLD_T_UITVOERTIJD, eenheid VARCHAR2) RETURN NUMBER;
FUNCTION geteinddatum (startdate IN DATE,
stdm_key IN NUMBER,
prio IN NUMBER,
@@ -3245,6 +3246,26 @@ CREATE OR REPLACE PACKAGE BODY mld AS
RETURN '(' || uitvoertijd.tijdsduur || '; ' || uitvoertijd.eenheid || ')';
END;
FUNCTION uitvoertijd_to_unit (tijd MLD_T_UITVOERTIJD, eenheid VARCHAR2)
RETURN NUMBER
AS
duur NUMBER;
BEGIN
IF (tijd.tijdsduur IS NOT NULL AND tijd.tijdsduur != 0)
THEN
duur := tijd.tijdsduur;
IF (eenheid = 'D' AND tijd.eenheid = 'U')
THEN
duur := tijd.tijdsduur / 24;
END IF;
IF (eenheid = 'U' AND tijd.eenheid = 'D')
THEN
duur := tijd.tijdsduur * 24;
END IF;
END IF;
RETURN duur;
END;
-- bereken de SLA-einddatum gegeven onderstaande info
FUNCTION geteinddatum (startdate IN DATE,
stdm_key IN NUMBER,