--
-- $Id$
--
-- View eenmalig via once leveren. Staat ook in YKPN.SQL maar die wordt nog bewerkt/kan nog niet geleverd worden

DEFINE thisfile = 'YKPN#55350.sql'
DEFINE dbuser   = '^YKPN'
DEFINE custid   = 'YKPN'

SET ECHO ON
SET DEFINE ON
COLUMN fcltlogfile NEW_VALUE fcltlogfile NOPRINT;
WHENEVER SQLERROR EXIT;
SELECT adm.scriptspoolfile('&dbuser', '&thisfile') AS fcltlogfile FROM DUAL;
WHENEVER SQLERROR CONTINUE;
SPOOL &fcltlogfile
SET DEFINE OFF

------ payload begin ------

CREATE OR REPLACE VIEW ykpn_v_udr_opdracht_kenm
(
   opdracht_key,
   opdracht_nummer,
   opdracht_regio,
   opdracht_district,
   opdracht_locatie_code,
   opdracht_locatie,
   opdracht_locatieplaats,
   fclt_3d_locatie_key,
   opdracht_gebouwcode,
   opdracht_gebouw,
   opdracht_verdieping,
   opdracht_ruimtenr,
   opdracht_ruimte,
   opdracht_kostenplaats,
   opdracht_kostenplaats_oms,
   melding_key,
   opdracht_type,
   opdracht_volgnummer,
   opdracht_status,
   opdracht_duur_gepland,
   opdracht_datum,
   opdracht_einddatum,
   opdracht_plandatum,
   opdracht_acceptdatum,
   opdracht_afgemeld,
   opdracht_doorlooptijd,
   opdracht_accepttijd,
   opdracht_omschrijving,
   opdracht_opmerking,
   opdracht_uitvoerende,
   opdracht_uitvoerende_contact,
   opdracht_behandelaar,
   opdracht_contract,
   opdracht_contract_versie,
   opdracht_contactpersoon,
   opdracht_uren,
   opdracht_correctie,
   opdracht_materiaal,
   opdracht_uurtarief,
   opdracht_kosten,
   melding_status,
   melding_afgemeld,
   ongeldige_procuratie,
   po_nummer,
   bedrag_gef_andere_afd,
   afw_po_bedr_doorbel,
   afgespr_toeslagperc,
   tevr_doorloop,
   tevr_oplossing,
   datum_contact,
   dienst_geleverd,
   opmerking,
   doorbel_afw_po_bedr,
   po_bedr_doorbel,
   progn_maand_gereed,
   kosten_per,
   kosten
)
AS
  SELECT mld_opdr_key,
             ins_srtdiscipline_prefix
          || TO_CHAR (mld_melding_key)
          || '/'
          || opdracht_volgnummer,
          alg_regio_omschrijving,
          alg_district_omschrijving,
          locatie,
          locatie_omschrijving,
          locatie_plaats,
          alg_locatie_key,
          gebouw,
          gebouw_naam,
          verdieping,
          ruimte,
          ruimte_omschrijving,
          kostenplaats,
          kostenplaats_oms,
          mld_melding_key,
          opdracht_type,
          opdracht_volgnummer,
          opdracht_status,
          opdracht_duur_gepland,
          opdracht_datum,
          opdracht_einddatum,
          opdracht_plandatum,
          opdracht_acceptdatum,
          opdracht_afgemeld,
          opdracht_doorlooptijd,
          opdracht_accepttijd,
          opdracht_omschrijving,
          opdracht_opmerking,
          opdracht_uitvoerende,
          opdracht_uitvoerende_contact,
          opdracht_behandelaar,
          opdracht_contract,
          opdracht_contract_versie,
          opdracht_contactpersoon,
          opdracht_uren,
          opdracht_correctie,
          opdracht_materiaal,
          opdracht_uurtarief,
          opdracht_kosten,
          melding_status,
          melding_afgemeld,
          ongeldige_procuratie,
          po_nummer,
          bedrag_gef_andere_afd,
          afw_po_bedr_doorbel,
          afgespr_toeslagperc,
          tevr_doorloop,
          tevr_oplossing,
          datum_contact,
          dienst_geleverd,
          opmerking,
          doorbel_afw_po_bedr,
          po_bedr_doorbel,
          progn_maand_gereed,
          kosten_per,
          kosten
     FROM (SELECT alg_regio_omschrijving,
                  alg_district_omschrijving,
                  alg_locatie_code locatie,
                  alg_locatie_omschrijving locatie_omschrijving,
                  alg_locatie_plaats locatie_plaats,
                  l.alg_locatie_key,
                  og.alg_gebouw_code gebouw,
                  og.alg_gebouw_naam gebouw_naam,
                  og.alg_verdieping_code verdieping,
                  og.alg_ruimte_nr ruimte,
                  og.alg_ruimte_omschrijving ruimte_omschrijving,
                  (SELECT k.prs_kostenplaats_nr
                     FROM prs_kostenplaats k
                    WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
                     kostenplaats,
                  (SELECT k.prs_kostenplaats_omschrijving
                     FROM prs_kostenplaats k
                    WHERE k.prs_kostenplaats_key = o.prs_kostenplaats_key)
                     kostenplaats_oms,
                  o.mld_opdr_key,
                  o.mld_melding_key,
                  top.mld_typeopdr_key,
                  top.mld_typeopdr_omschrijving opdracht_type,
                  o.mld_opdr_bedrijfopdr_volgnr opdracht_volgnummer,
                  (SELECT mld_statusopdr_omschrijving
                     FROM mld_statusopdr sta
                    WHERE sta.mld_statusopdr_key = o.mld_statusopdr_key)
                     opdracht_status,
                  fac.count_work_days (o.mld_opdr_datumbegin,
                                       o.mld_opdr_einddatum)
                     opdracht_duur_gepland,
                  o.mld_opdr_datumbegin opdracht_datum,
                  o.mld_opdr_einddatum opdracht_einddatum,
                  o.mld_opdr_plandatum opdracht_plandatum,
                  COALESCE (mld.getopdrachtstatusdate (o.mld_opdr_key, 8),
                            mld.getopdrachtstatusdate (o.mld_opdr_key, 1))
                     opdracht_acceptdatum,
                  mld.getopdrachtstatusdate (o.mld_opdr_key, 6)
                     opdracht_afgemeld,
                  fac.count_work_days (
                     o.mld_opdr_datumbegin,
                     mld.getopdrachtstatusdate (o.mld_opdr_key, 6))
                     opdracht_doorlooptijd,
                  COALESCE (
                     fac.count_work_days (
                        mld.getopdrachtstatusdate (o.mld_opdr_key, 5),
                        COALESCE (
                           mld.getopdrachtstatusdate (o.mld_opdr_key, 8),
                           mld.getopdrachtstatusdate (o.mld_opdr_key, 6))),
                     fac.count_work_days (
                        mld.getopdrachtstatusdate (o.mld_opdr_key, 5),
                        mld.getopdrachtstatusdate (o.mld_opdr_key, 1)))
                     opdracht_accepttijd,
                  o.mld_opdr_omschrijving opdracht_omschrijving,
                  o.mld_opdr_opmerking opdracht_opmerking,
                  (SELECT naam
                     FROM mld_v_uitvoerende u
                    WHERE u.mld_uitvoerende_key = o.mld_uitvoerende_keys)
                     opdracht_uitvoerende,
                  (SELECT contact_naam
                     FROM (SELECT cp.prs_contactpersoon_key,
                                  pf.prs_perslid_naam_full contact_naam
                             FROM prs_contactpersoon cp,
                                  prs_v_perslid_fullnames_all pf
                            WHERE cp.prs_perslid_key = pf.prs_perslid_key
                           UNION ALL
                           SELECT cp.prs_contactpersoon_key,
                                  cp.prs_contactpersoon_naam
                             FROM prs_contactpersoon cp,
                                  prs_v_perslid_fullnames_all pf
                            WHERE cp.prs_perslid_key = pf.prs_perslid_key
                                  AND cp.prs_perslid_key IS NULL) cpn
                    WHERE cpn.prs_contactpersoon_key =
                             o.prs_contactpersoon_key)
                     opdracht_uitvoerende_contact,
                  (SELECT prs_perslid_naam_full
                     FROM prs_v_perslid_fullnames_all pf
                    WHERE pf.prs_perslid_key = o.prs_perslid_key)
                     opdracht_behandelaar,
                  c.cnt_contract_nummer_intern opdracht_contract,
                  c.cnt_contract_versie opdracht_contract_versie,
                  o.mld_opdr_contactpersoon opdracht_contactpersoon,
                  o.mld_opdr_uren opdracht_uren,
                    o.mld_opdr_kosten
                  - o.mld_opdr_materiaal
                  - (o.mld_opdr_uren * o.mld_opdr_uurloon)
                     opdracht_correctie,
                  o.mld_opdr_materiaal opdracht_materiaal,
                  o.mld_opdr_uurloon opdracht_uurtarief,
                  o.mld_opdr_kosten opdracht_kosten,
                  sdi.ins_srtdiscipline_prefix,
                  (SELECT mld_statuses_omschrijving
                     FROM mld_statuses sta
                    WHERE sta.mld_statuses_key = m.mld_melding_status)
                     melding_status,
                  COALESCE (mld.getmeldingstatusdate (m.mld_melding_key, 5),
                            mld.getmeldingstatusdate (m.mld_melding_key, 1))
                     melding_afgemeld,
                  (SELECT DECODE (mld_kenmerkopdr_waarde, 1, 'Ja', 'Nee')
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 181
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     ongeldige_procuratie,
                  (SELECT mld_kenmerkopdr_waarde
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 381
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     po_nummer,
                  (SELECT DECODE (mld_kenmerkopdr_waarde, 1, 'Ja', 'Nee')
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 401
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     bedrag_gef_door_andere_afd,
                  (SELECT DECODE (mld_kenmerkopdr_waarde, 1, 'Ja', 'Nee')
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 401
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     bedrag_gef_andere_afd,
                  (SELECT DECODE (mld_kenmerkopdr_waarde, 1, 'Ja', 'Nee')
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 2762
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     afw_po_bedr_doorbel,
                  (SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 542
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     afgespr_toeslagperc,
                  (SELECT fac_usrdata_omschr
                     FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND fac_usrtab_key = 781
                          AND TO_CHAR (ud.fac_usrdata_key) =
                                mld_kenmerkopdr_waarde
                          AND k.mld_srtkenmerk_key = 1563
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     tevr_doorloop,
                  (SELECT fac_usrdata_omschr
                     FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND fac_usrtab_key = 781
                          AND TO_CHAR (ud.fac_usrdata_key) =
                                mld_kenmerkopdr_waarde
                          AND k.mld_srtkenmerk_key = 1581
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     tevr_oplossing,
                  (SELECT fac.safe_to_date (mld_kenmerkopdr_waarde,
                                            'dd-mm-yyyy')
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 1562
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     datum_contact,
                  (SELECT fac_usrdata_omschr
                     FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND fac_usrtab_key = 201
                          AND TO_CHAR (ud.fac_usrdata_key) =
                                mld_kenmerkopdr_waarde
                          AND k.mld_srtkenmerk_key = 1601
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     dienst_geleverd,
                  (SELECT mld_kenmerkopdr_waarde
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 2561
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     opmerking,
                  (SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 2781
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     doorbel_afw_po_bedr,
                  (SELECT DECODE (mld_kenmerkopdr_waarde, 1, 'Ja', 'Nee')
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 2761
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     po_bedr_doorbel,
                  (SELECT fac_usrdata_omschr
                     FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND fac_usrtab_key = 1181
                          AND TO_CHAR (ud.fac_usrdata_key) =
                                mld_kenmerkopdr_waarde
                          AND k.mld_srtkenmerk_key = 2861
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     progn_maand_gereed,
                  (SELECT fac_usrdata_omschr
                     FROM mld_kenmerkopdr ko, mld_kenmerk k, fac_usrdata ud
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND fac_usrtab_key = 1161
                          AND TO_CHAR (ud.fac_usrdata_key) =
                                mld_kenmerkopdr_waarde
                          AND k.mld_srtkenmerk_key = 2821
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     kosten_per,
                  (SELECT fac.safe_to_number (mld_kenmerkopdr_waarde)
                     FROM mld_kenmerkopdr ko, mld_kenmerk k
                    WHERE     ko.mld_kenmerk_key = k.mld_kenmerk_key
                          AND mld_kenmerkopdr_verwijder IS NULL
                          AND k.mld_srtkenmerk_key = 2841
                          AND ko.mld_opdr_key = o.mld_opdr_key)
                     kosten
             FROM alg_locatie l,
                  alg_district d,
                  alg_regio r,
                  alg_v_allonrgoed_gegevens og,
                  mld_opdr o,
                  mld_typeopdr top,
                  mld_melding m,
                  mld_stdmelding stdm,
                  ins_tab_discipline di,
                  ins_srtdiscipline sdi,
                  cnt_contract c
            WHERE     m.mld_alg_locatie_key = l.alg_locatie_key(+)
                  AND l.alg_district_key = d.alg_district_key(+)
                  AND d.alg_regio_key = r.alg_regio_key(+)
                  AND m.mld_alg_onroerendgoed_keys =
                        og.alg_onroerendgoed_keys(+)
                  AND o.cnt_contract_key = c.cnt_contract_key(+)
                  AND m.mld_stdmelding_key = stdm.mld_stdmelding_key
                  AND stdm.mld_ins_discipline_key = di.ins_discipline_key
                  AND di.ins_srtdiscipline_key = sdi.ins_srtdiscipline_key
                  AND o.mld_melding_key = m.mld_melding_key
                  AND o.mld_typeopdr_key = top.mld_typeopdr_key(+)
                  AND o.mld_opdr_datumbegin >=
                        TO_DATE ('01-01-2014', 'DD-MM-YYYY')) x;

------ payload end   ------

SET DEFINE OFF
BEGIN adm.systrackscriptId ('$Id$', 1); END;
/

COMMIT;
SET ECHO OFF
SPOOL OFF
SET DEFINE ON
PROMPT Logfile of this upgrade is: &fcltlogfile