411 lines
29 KiB
SQL
411 lines
29 KiB
SQL
<% /*
|
|
$Revision: 9 $
|
|
$Modtime: 11-01-11 14:28 $
|
|
|
|
File: resultset_flex.inc
|
|
Description: Functies die zorgen voor het printen van de flexkenmerken
|
|
in de printafdukken naar de printer, excel enz.
|
|
|
|
PF: het valt me op dat hier alleen op volgnummer gesorteerd worden, terwijl daar elders de omschrijving aan toegevoegd wordt.
|
|
*/ %>
|
|
|
|
<%
|
|
|
|
function getSqlFlex(flexModule, flexId)
|
|
{
|
|
switch(flexModule)
|
|
{
|
|
case "ALG": { sql_alg_kenmerkalg = "SELECT ak.alg_kenmerk_key"
|
|
+ ", a." + flexId // alg_district_key, alg_locatie_key, alg_gebouw_key, alg_terrein_key, alg_ruimte_key
|
|
+ ", (SELECT alg_onrgoedkenmerk_waarde"
|
|
+ " FROM alg_onrgoedkenmerk aok"
|
|
+ " WHERE aok.alg_onrgoed_key = a." + flexId // alg_district_key, alg_locatie_key, alg_gebouw_key, alg_terrein_key, alg_ruimte_key
|
|
+ " AND aok.alg_kenmerk_key = ak.alg_kenmerk_key"
|
|
+ " AND aok.alg_onrgoedkenmerk_verwijder IS NULL) alg_onrgoedkenmerk_waarde"
|
|
+ " FROM " + flexId.replace(/_key/g, "") + " a" // alg_district, alg_locatie, alg_gebouw, alg_terrein, alg_ruimte
|
|
+ ", alg_kenmerk ak"
|
|
+ " WHERE ak.alg_kenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN k.alg_kenmerk_kenmerktype = 'R' OR k.alg_kenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", k.alg_kenmerk_key, ka.alg_onrgoedkenmerk_waarde)"
|
|
+ " WHEN k.alg_kenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(ka.alg_onrgoedkenmerk_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE ka.alg_onrgoedkenmerk_waarde"
|
|
+ " END waarde"
|
|
+ ", k.alg_kenmerk_kenmerktype kenmerktype"
|
|
+ ", k.alg_kenmerk_volgnr volgnummer"
|
|
+ ", " + lcl.xsql('k.alg_kenmerk_dimensie', 'k.alg_kenmerk_key') +" dimensie"
|
|
+ " FROM (" + sql_alg_kenmerkalg + ") ka" // alg_kenmerk_key / alg_gebouw_key / alg_onrgoedkenmerk_waarde inclusief lege waarden
|
|
+ ", alg_kenmerk k"
|
|
+ " WHERE ka.alg_kenmerk_key = k.alg_kenmerk_key"
|
|
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
|
+ " AND ka." + flexId + " = <$VALUE$>" // // alg_district_key, alg_locatie_key, alg_gebouw_key, alg_terrein_key, alg_ruimte_key
|
|
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)) // D (District), L (Locatie), G (Gebouw), T (Terreinsector) en R (Ruimte).
|
|
+ " ORDER BY k.alg_kenmerk_volgnr";
|
|
break;
|
|
}
|
|
case "BES": { sql_srtbes_kenmerkbes = "SELECT DISTINCT bk.bes_kenmerk_key" // Distinct i.v.m. meerdere item per bestelling
|
|
+ ", b.bes_bestelling_key"
|
|
+ ", (SELECT bes_kenmerkbestell_waarde"
|
|
+ " FROM bes_kenmerkbestell bkb"
|
|
+ " WHERE bkb.bes_bestelling_key = b.bes_bestelling_key"
|
|
+ " AND bkb.bes_kenmerk_key = bk.bes_kenmerk_key"
|
|
+ " AND bkb.bes_kenmerkbestell_verwijder IS NULL) bes_kenmerkbestell_waarde"
|
|
+ ", isg.ins_discipline_key"
|
|
+ " FROM bes_bestelling b"
|
|
+ ", bes_bestelling_item bi"
|
|
+ ", ins_srtdeel isd"
|
|
+ ", ins_srtgroep isg"
|
|
+ ", bes_kenmerk bk"
|
|
+ ", bes_srtkenmerk bsk"
|
|
+ " WHERE b.bes_bestelling_key = bi.bes_bestelling_key"
|
|
+ " AND bi.ins_srtdeel_key = isd.ins_srtdeel_key"
|
|
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
|
|
+ " AND isg.ins_discipline_key = bk.bes_srtinstallatie_key"
|
|
+ " AND bk.bes_srtkenmerk_key = bsk.bes_srtkenmerk_key"
|
|
+ " AND bk.bes_kenmerk_verwijder IS NULL"
|
|
+ " AND bk.bes_kenmerk_type = 'B'"
|
|
+ " AND bk.bes_kenmerk_niveau = 'D'"
|
|
+ " AND bsk.bes_srtkenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('sk.bes_srtkenmerk_omschrijving', 'sk.bes_srtkenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN sk.bes_srtkenmerk_kenmerktype = 'R' OR sk.bes_srtkenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", sk.bes_srtkenmerk_key, kb.bes_kenmerkbestell_waarde)"
|
|
+ " WHEN sk.bes_srtkenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kb.bes_kenmerkbestell_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kb.bes_kenmerkbestell_waarde"
|
|
+ " END waarde"
|
|
+ ", sk.bes_srtkenmerk_kenmerktype kenmerktype"
|
|
+ ", k.bes_kenmerk_volgnummer volgnummer"
|
|
+ ", " + lcl.xsql('sk.bes_srtkenmerk_dimensie', 'sk.bes_srtkenmerk_key') +" dimensie"
|
|
+ " FROM bes_srtkenmerk sk"
|
|
+ ", (" + sql_srtbes_kenmerkbes + ") kb" // bes_kenmerk_key / bes_bestelling_key / bes_kenmerkbestell_waarde inclusief lege waarden
|
|
+ ", bes_kenmerk k"
|
|
+ " WHERE sk.bes_srtkenmerk_key = k.bes_srtkenmerk_key"
|
|
+ " AND kb.bes_kenmerk_key = k.bes_kenmerk_key"
|
|
+ " AND sk.bes_srtkenmerk_verwijder IS NULL"
|
|
+ " AND kb.bes_bestelling_key = <$VALUE$>"
|
|
+ " ORDER BY k.bes_kenmerk_volgnummer";
|
|
break;
|
|
}
|
|
case "BEZ": { sql_bez_kenmerkbez = "SELECT bk.bez_kenmerk_key"
|
|
+ ", b.bez_bezoekers_key"
|
|
+ ", (SELECT bez_kenmerkwaarde_waarde"
|
|
+ " FROM bez_kenmerkwaarde bkw"
|
|
+ " WHERE bkw.bez_bezoekers_key = b.bez_bezoekers_key"
|
|
+ " AND bkw.bez_kenmerk_key = bk.bez_kenmerk_key"
|
|
+ " AND bkw.bez_kenmerkwaarde_verwijder IS NULL) bez_kenmerkwaarde_waarde"
|
|
+ " FROM bez_bezoekers b"
|
|
+ ", bez_kenmerk bk"
|
|
+ " WHERE bk.bez_kenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('k.bez_kenmerk_omschrijving', 'k.bez_kenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN k.bez_kenmerk_kenmerktype = 'R' OR k.bez_kenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", k.bez_kenmerk_key, kb.bez_kenmerkwaarde_waarde)"
|
|
+ " WHEN k.bez_kenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kb.bez_kenmerkwaarde_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kb.bez_kenmerkwaarde_waarde"
|
|
+ " END waarde"
|
|
+ ", k.bez_kenmerk_kenmerktype kenmerktype"
|
|
+ ", k.bez_kenmerk_volgnr volgnummer"
|
|
+ ", " + lcl.xsql('k.bez_kenmerk_dimensie', 'k.bez_kenmerk_key') +" dimensie"
|
|
+ " FROM (" + sql_bez_kenmerkbez + ") kb" // bez_kenmerk_key / bez_bezoekers_key / bez_kenmerkwaarde_waarde inclusief lege waarden
|
|
+ ", bez_kenmerk k"
|
|
+ " WHERE kb.bez_kenmerk_key = k.bez_kenmerk_key"
|
|
+ " AND k.bez_kenmerk_verwijder IS NULL"
|
|
+ " AND kb.bez_bezoekers_key = <$VALUE$>"
|
|
+ " ORDER BY k.bez_kenmerk_volgnr";
|
|
break;
|
|
}
|
|
case "CNT": { sql_srtcnt_kenmerkcnt = "SELECT ck.cnt_kenmerk_key"
|
|
+ ", c.cnt_contract_key"
|
|
+ ", (SELECT cnt_kenmerkcontract_waarde"
|
|
+ " FROM cnt_kenmerkcontract ckc"
|
|
+ " WHERE ckc.cnt_contract_key = c.cnt_contract_key"
|
|
+ " AND ckc.cnt_kenmerk_key = ck.cnt_kenmerk_key"
|
|
+ " AND ckc.cnt_kenmerkcontract_verwijder IS NULL) cnt_kenmerkcontract_waarde"
|
|
+ " FROM cnt_contract c"
|
|
+ ", cnt_discipline cd"
|
|
+ ", cnt_kenmerk ck"
|
|
+ ", cnt_srtkenmerk csk"
|
|
+ " WHERE c.ins_discipline_key = cd.ins_discipline_key"
|
|
+ " AND ck.cnt_srtcontract_key = cd.ins_discipline_key"
|
|
+ " AND ck.cnt_srtkenmerk_key = csk.cnt_srtkenmerk_key"
|
|
+ " AND ck.cnt_kenmerk_verwijder IS NULL"
|
|
+ " AND csk.cnt_srtkenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('sk.cnt_srtkenmerk_omschrijving', 'sk.cnt_srtkenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN sk.cnt_srtkenmerk_kenmerktype = 'R' OR sk.cnt_srtkenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", sk.cnt_srtkenmerk_key, kc.cnt_kenmerkcontract_waarde)"
|
|
+ " WHEN sk.cnt_srtkenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kc.cnt_kenmerkcontract_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kc.cnt_kenmerkcontract_waarde"
|
|
+ " END waarde"
|
|
+ ", sk.cnt_srtkenmerk_kenmerktype kenmerktype"
|
|
+ ", k.cnt_kenmerk_volgnummer volgnummer"
|
|
+ ", " + lcl.xsql('sk.cnt_srtkenmerk_dimensie', 'sk.cnt_srtkenmerk_key') +" dimensie"
|
|
+ " FROM cnt_srtkenmerk sk" // TODO: cnt_v_aanwezigsrtkenmerk bestaat niet
|
|
+ ", (" + sql_srtcnt_kenmerkcnt + ") kc" // cnt_kenmerk_key / cnt_contract_key / cnt_kenmerkcontract_waarde inclusief lege waarden
|
|
+ ", cnt_kenmerk k"
|
|
+ " WHERE sk.cnt_srtkenmerk_key = k.cnt_srtkenmerk_key"
|
|
+ " AND kc.cnt_kenmerk_key = k.cnt_kenmerk_key"
|
|
+ " AND sk.cnt_srtkenmerk_verwijder IS NULL"
|
|
+ " AND kc.cnt_contract_key = <$VALUE$>"
|
|
+ " ORDER BY k.cnt_kenmerk_volgnummer";
|
|
break;
|
|
}
|
|
case "FIN": { sql_fin_kenmerkfin = "SELECT fk.fin_kenmerk_key"
|
|
+ ", f.fin_factuur_key"
|
|
+ ", (SELECT fin_kenmerkfactuur_waarde"
|
|
+ " FROM fin_kenmerkfactuur fkf"
|
|
+ " WHERE fkf.fin_factuur_key = f.fin_factuur_key"
|
|
+ " AND fkf.fin_kenmerk_key = fk.fin_kenmerk_key"
|
|
+ " AND fkf.fin_kenmerkfactuur_verwijder IS NULL) fin_kenmerkfactuur_waarde"
|
|
+ " FROM fin_factuur f"
|
|
+ ", fin_kenmerk fk"
|
|
+ " WHERE fk.fin_kenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('k.fin_kenmerk_omschrijving', 'k.fin_kenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN k.fin_kenmerk_kenmerktype = 'R' OR k.fin_kenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", k.fin_kenmerk_key, kf.fin_kenmerkfactuur_waarde)"
|
|
+ " WHEN k.fin_kenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kf.fin_kenmerkfactuur_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kf.fin_kenmerkfactuur_waarde"
|
|
+ " END waarde"
|
|
+ ", k.fin_kenmerk_kenmerktype kenmerktype"
|
|
+ ", k.fin_kenmerk_volgnr volgnummer"
|
|
+ ", " + lcl.xsql('k.fin_kenmerk_dimensie', 'k.fin_kenmerk_key') +" dimensie"
|
|
+ " FROM (" + sql_fin_kenmerkfin + ") kf" // fin_kenmerk_key / fin_factuur_key / fin_kenmerkfactuur_waarde inclusief lege waarden
|
|
+ ", fin_kenmerk k"
|
|
+ " WHERE kf.fin_kenmerk_key = k.fin_kenmerk_key"
|
|
+ " AND k.fin_kenmerk_verwijder IS NULL"
|
|
+ " AND kf.fin_factuur_key = <$VALUE$>"
|
|
+ " ORDER BY k.fin_kenmerk_volgnr";
|
|
break;
|
|
}
|
|
case "INS": {
|
|
sqlFlex = "SELECT "+lcl.xsql('sk.ins_srtkenmerk_omschrijving', 'sk.ins_srtkenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN sk.ins_srtkenmerk_kenmerktype = 'R' OR sk.ins_srtkenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", sk.ins_srtkenmerk_key, kd.ins_kenmerkdeel_waarde)"
|
|
+ " WHEN sk.ins_srtkenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kd.ins_kenmerkdeel_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kd.ins_kenmerkdeel_waarde"
|
|
+ " END waarde"
|
|
+ ", sk.ins_srtkenmerk_kenmerktype kenmerktype"
|
|
+ ", k.ins_kenmerk_volgnummer volgnummer"
|
|
+ ", " + lcl.xsql('sk.ins_srtkenmerk_dimensie', 'sk.ins_srtkenmerk_key') +" dimensie"
|
|
+ " FROM ins_v_aanwezigsrtkenmerk sk"
|
|
+ ", ins_v_srtdeel_kenmerkdeel kd" // For excel we cannot omit empty columns but we can filter away the empty values for print
|
|
+ ", ins_kenmerk k"
|
|
+ " WHERE sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key"
|
|
+ " AND kd.ins_kenmerk_key = k.ins_kenmerk_key"
|
|
+ " AND kd.ins_deel_key = <$VALUE$>"
|
|
+ " ORDER BY k.ins_kenmerk_volgnummer";
|
|
|
|
break;
|
|
}
|
|
case "MLD": { sql_srtmld_kenmerkmld = "SELECT mk.mld_kenmerk_key"
|
|
+ ", m.mld_melding_key"
|
|
+ ", (SELECT mld_kenmerkmelding_waarde"
|
|
+ " FROM mld_kenmerkmelding mkm"
|
|
+ " WHERE mkm.mld_melding_key = m.mld_melding_key"
|
|
+ " AND mkm.mld_kenmerk_key = mk.mld_kenmerk_key"
|
|
+ " AND mkm.mld_kenmerkmelding_verwijder IS NULL) mld_kenmerkmelding_waarde"
|
|
+ " FROM mld_melding m"
|
|
+ ", mld_stdmelding msm"
|
|
+ ", mld_kenmerk mk"
|
|
+ ", mld_srtkenmerk msk"
|
|
+ " WHERE m.mld_stdmelding_key = msm.mld_stdmelding_key"
|
|
+ " AND ((mk.mld_stdmelding_key = msm.mld_stdmelding_key"
|
|
+ " AND mk.mld_kenmerk_niveau = 'S')"
|
|
+ " OR (mk.mld_stdmelding_key = msm.mld_ins_discipline_key"
|
|
+ " AND mk.mld_kenmerk_niveau = 'D'))"
|
|
+ " AND mk.mld_srtkenmerk_key = msk.mld_srtkenmerk_key"
|
|
+ " AND mk.mld_kenmerk_verwijder IS NULL"
|
|
+ " AND msk.mld_srtkenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('sk.mld_srtkenmerk_omschrijving', 'sk.mld_srtkenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'R' OR sk.mld_srtkenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", sk.mld_srtkenmerk_key, km.mld_kenmerkmelding_waarde)"
|
|
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(km.mld_kenmerkmelding_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE km.mld_kenmerkmelding_waarde"
|
|
+ " END waarde"
|
|
+ ", sk.mld_srtkenmerk_kenmerktype kenmerktype"
|
|
+ ", k.mld_kenmerk_volgnummer volgnummer"
|
|
+ ", "+ lcl.xsql('sk.mld_srtkenmerk_dimensie', 'sk.mld_srtkenmerk_key') + " dimensie"
|
|
+ " FROM mld_srtkenmerk sk" // TODO: mld_v_aanwezigsrtkenmerk bestaat niet
|
|
+ ", (" + sql_srtmld_kenmerkmld + ") km" // mld_kenmerk_key / mld_melding_key / mld_kenmerkmelding_waarde inclusief lege waarden
|
|
+ ", mld_kenmerk k"
|
|
+ " WHERE sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key"
|
|
+ " AND km.mld_kenmerk_key = k.mld_kenmerk_key"
|
|
+ " AND sk.mld_srtkenmerk_verwijder IS NULL"
|
|
+ " AND km.mld_melding_key = <$VALUE$>"
|
|
+ " ORDER BY k.mld_kenmerk_volgnummer";
|
|
break;
|
|
}
|
|
case "OPDR": { sql_srtopdr_kenmerkopdr = "SELECT mk.mld_kenmerk_key"
|
|
+ ", o.mld_opdr_key"
|
|
+ ", (SELECT mld_kenmerkopdr_waarde"
|
|
+ " FROM mld_kenmerkopdr mko"
|
|
+ " WHERE mko.mld_opdr_key = o.mld_opdr_key"
|
|
+ " AND mko.mld_kenmerk_key = mk.mld_kenmerk_key"
|
|
+ " AND mko.mld_kenmerkopdr_verwijder IS NULL) mld_kenmerkopdr_waarde"
|
|
+ " FROM mld_opdr o"
|
|
+ ", mld_typeopdr mt"
|
|
+ ", mld_kenmerk mk"
|
|
+ ", mld_srtkenmerk msk"
|
|
+ " WHERE o.mld_typeopdr_key = mt.mld_typeopdr_key"
|
|
+ " AND (mk.mld_typeopdr_key = mt.mld_typeopdr_key"
|
|
+ " AND mk.mld_kenmerk_niveau = 'O')"
|
|
+ " AND mk.mld_srtkenmerk_key = msk.mld_srtkenmerk_key"
|
|
+ " AND mk.mld_kenmerk_verwijder IS NULL"
|
|
+ " AND msk.mld_srtkenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('sk.mld_srtkenmerk_omschrijving', 'sk.mld_srtkenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'R' OR sk.mld_srtkenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde('MLD', sk.mld_srtkenmerk_key, ko.mld_kenmerkopdr_waarde)"
|
|
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(ko.mld_kenmerkopdr_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE ko.mld_kenmerkopdr_waarde"
|
|
+ " END waarde"
|
|
+ ", sk.mld_srtkenmerk_kenmerktype kenmerktype"
|
|
+ ", k.mld_kenmerk_volgnummer volgnummer"
|
|
+ ", "+ lcl.xsql('sk.mld_srtkenmerk_dimensie', 'sk.mld_srtkenmerk_key') + " dimensie"
|
|
+ " FROM mld_srtkenmerk sk" // TODO: mld_v_aanwezigsrtkenmerk bestaat niet
|
|
+ ", (" + sql_srtopdr_kenmerkopdr + ") ko" // mld_kenmerk_key / mld_opdr_key / mld_kenmerkopdr_waarde inclusief lege waarden
|
|
+ ", mld_kenmerk k"
|
|
+ " WHERE sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key"
|
|
+ " AND ko.mld_kenmerk_key = k.mld_kenmerk_key"
|
|
+ " AND sk.mld_srtkenmerk_verwijder IS NULL"
|
|
+ " AND ko.mld_opdr_key = <$VALUE$>"
|
|
+ " ORDER BY k.mld_kenmerk_volgnummer";
|
|
break;
|
|
}
|
|
case "PRS": { sql_prs_kenmerkprs = "SELECT pk.prs_kenmerk_key"
|
|
+ ", p." + flexId // prs_afdeling_key, prs_perslid_key
|
|
+ ", (SELECT prs_kenmerklink_waarde"
|
|
+ " FROM prs_kenmerklink pkl"
|
|
+ " WHERE pkl.prs_link_key = p." + flexId // prs_afdeling_key, prs_perslid_key
|
|
+ " AND pkl.prs_kenmerk_key = pk.prs_kenmerk_key"
|
|
+ " AND pkl.prs_kenmerklink_verwijder IS NULL) prs_kenmerklink_waarde"
|
|
+ " FROM " + flexId.replace(/_key/g, "") + " p" // prs_afdeling, prs_perslid
|
|
+ ", prs_kenmerk pk"
|
|
+ " WHERE pk.prs_kenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('k.prs_kenmerk_omschrijving', 'k.prs_kenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN k.prs_kenmerk_kenmerktype = 'R' OR k.prs_kenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", k.prs_kenmerk_key, kp.prs_kenmerklink_waarde)"
|
|
+ " WHEN k.prs_kenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kp.prs_kenmerklink_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kp.prs_kenmerklink_waarde"
|
|
+ " END waarde"
|
|
+ ", k.prs_kenmerk_kenmerktype kenmerktype"
|
|
+ ", k.prs_kenmerk_volgnr volgnummer"
|
|
+ ", " + lcl.xsql('k.prs_kenmerk_dimensie', 'k.prs_kenmerk_key') +" dimensie"
|
|
+ " FROM (" + sql_prs_kenmerkprs + ") kp" // prs_kenmerk_key / prs_gebouw_key / prs_kenmerklink_waarde inclusief lege waarden
|
|
+ ", prs_kenmerk k"
|
|
+ " WHERE kp.prs_kenmerk_key = k.prs_kenmerk_key"
|
|
+ " AND k.prs_kenmerk_verwijder IS NULL"
|
|
+ " AND kp." + flexId + " = <$VALUE$>" // prs_perslid_key, prs_afdeling_key
|
|
+ " AND k.prs_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)) // A (Afdeling) en P (Persoon/Perslid)
|
|
+ " ORDER BY k.prs_kenmerk_volgnr";
|
|
break;
|
|
}
|
|
case "RES": { sql_srtres_kenmerkres = "SELECT rk.res_kenmerk_key"
|
|
+ ", rr.res_rsv_ruimte_key"
|
|
+ ", (SELECT res_kenmerkreservering_waarde"
|
|
+ " FROM res_kenmerkwaarde rkw"
|
|
+ " WHERE rkw.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
|
|
+ " AND rkw.res_kenmerk_key = rk.res_kenmerk_key"
|
|
+ " AND rkw.res_kenmerkwaarde_verwijder IS NULL) res_kenmerkreservering_waarde"
|
|
+ ", ra.res_activiteit_key"
|
|
+ " FROM res_rsv_ruimte rr"
|
|
+ ", res_activiteit ra"
|
|
+ ", res_kenmerk rk"
|
|
+ ", res_srtkenmerk rsk"
|
|
+ " WHERE rr.res_activiteit_key = ra.res_activiteit_key"
|
|
+ " AND ra.res_activiteit_key = rk.res_activiteit_key"
|
|
+ " AND rk.res_srtkenmerk_key = rsk.res_srtkenmerk_key"
|
|
+ " AND rk.res_kenmerk_verwijder IS NULL"
|
|
+ " AND rk.res_kenmerk_niveau = 'A'"
|
|
+ " AND rsk.res_srtkenmerk_verwijder IS NULL";
|
|
|
|
sqlFlex = "SELECT "+lcl.xsql('sk.res_srtkenmerk_omschrijving', 'sk.res_srtkenmerk_key') +" omschrijving"
|
|
+ ", CASE"
|
|
+ " WHEN sk.res_srtkenmerk_kenmerktype = 'R' OR sk.res_srtkenmerk_kenmerktype = 'S'"
|
|
+ " THEN FAC.getrefwaarde(" + safe.quoted_sql(flexModule) + ", sk.res_srtkenmerk_key, kr.res_kenmerkreservering_waarde)"
|
|
+ " WHEN sk.res_srtkenmerk_kenmerktype = 'D'"
|
|
+ " THEN TO_CHAR(fac.safe_To_Date(kr.res_kenmerkreservering_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
|
|
+ " ELSE kr.res_kenmerkreservering_waarde"
|
|
+ " END waarde"
|
|
+ ", sk.res_srtkenmerk_kenmerktype kenmerktype"
|
|
+ ", k.res_kenmerk_volgnummer volgnummer"
|
|
+ ", " + lcl.xsql('sk.res_srtkenmerk_dimensie', 'sk.res_srtkenmerk_key') +" dimensie"
|
|
+ " FROM res_srtkenmerk sk"
|
|
+ ", (" + sql_srtres_kenmerkres + ") kr" // res_kenmerk_key / res_rsv_ruimte_key / res_kenmerkreservering_waarde inclusief lege waarden
|
|
+ ", res_kenmerk k"
|
|
+ " WHERE sk.res_srtkenmerk_key = k.res_srtkenmerk_key"
|
|
+ " AND kr.res_kenmerk_key = k.res_kenmerk_key"
|
|
+ " AND sk.res_srtkenmerk_verwijder IS NULL"
|
|
+ " AND kr.res_rsv_ruimte_key = <$VALUE$>"
|
|
+ " ORDER BY k.res_kenmerk_volgnummer";
|
|
break;
|
|
}
|
|
default: { sqlFlex = "";
|
|
break;
|
|
}
|
|
}
|
|
|
|
return sqlFlex;
|
|
}
|
|
|
|
function flexType(oRsFlex)
|
|
{
|
|
return oRsFlex("kenmerktype").value;
|
|
}
|
|
|
|
function flexVolgnr(oRsFlex)
|
|
{
|
|
return oRsFlex("volgnummer").value;
|
|
}
|
|
|
|
function flexHeader(oRsFlex)
|
|
{
|
|
var flexHeader = (oRsFlex("omschrijving").value? oRsFlex("omschrijving").value : "")
|
|
+ ('' + oRsFlex("dimensie").value != 'null'
|
|
? '<br>(' + oRsFlex("dimensie").value + ')'
|
|
: '');
|
|
|
|
return flexHeader;
|
|
}
|
|
|
|
function flexValue(oRsFlex, showProperties)
|
|
{
|
|
// We do never want dimension suffixed to the value. use it in the labels instead
|
|
// Voor afdruk naar excel is de dimensies achter de kolom header geplakt.
|
|
// Voor afdruk naar printer is de dimensie achter het label geplakt.
|
|
var flexValue = "";
|
|
if ('' + oRsFlex("waarde").value != 'null')
|
|
flexValue = oRsFlex("waarde").value;
|
|
|
|
if ((isPrinting || showProperties) && flexValue != "")
|
|
flexValue = (oRsFlex("omschrijving").value? oRsFlex("omschrijving").value : "")
|
|
+ ('' + oRsFlex("dimensie").value != 'null'
|
|
? ' (' + oRsFlex("dimensie").value + ')'
|
|
: '')
|
|
+ ': ' + flexValue; // Bij printen de omschrijving ook weergeven
|
|
|
|
return flexValue;
|
|
}
|
|
%> |