NYBU#55434: Flexkenmerken per artikelregel.

svn path=/Website/trunk/; revision=41459
This commit is contained in:
Maykel Geerdink
2019-03-11 14:27:46 +00:00
parent e0a5c82b69
commit b8cdf314f5
8 changed files with 572 additions and 412 deletions

View File

@@ -11,6 +11,7 @@
Notes:
*/
%>
<!-- #include file="./model_res_kenmerk.inc"-->
<%
function model_res_artikel()
{
@@ -180,6 +181,14 @@ function model_res_artikel()
}
};
// Kenmerk *definities* als include is vrij uitzonderlijk
this.includes = {
"custom_properties": {
"model": new model_res_kenmerk("D", { internal: true }), // Discipline/Catalogus artikel.
"joinfield": "articlekey",
"enable_update": true
}
};
this.REST_GET = generic_REST_GET(this);
this.REST_POST = generic_REST_POST(this);

View File

@@ -13,7 +13,7 @@
%>
<!-- #include file="model_res_srtkenmerk.inc"-->
<%
function model_res_kenmerk(params)
function model_res_kenmerk(niveau, params)
{
params = params || {};
this.records_name = "bookingproperties";
@@ -21,7 +21,7 @@ function model_res_kenmerk(params)
this.table = "res_kenmerk";
this.primary = "res_kenmerk_key";
this.soft_delete = "res_kenmerk_verwijder";
this.autfunction = params.internal?false:"WEB_RESMGT";
this.autfunction = params.internal? false : "WEB_RESMGT";
this.record_title = L("res_kenmerk");
this.records_title = L("res_kenmerk_m");
this.module = "RES";
@@ -53,7 +53,7 @@ function model_res_kenmerk(params)
"friendlyname": true
},
"level": {
"dbs": "res_kenmerk_niveau",
"dbs": "res_kenmerk_niveau", // "A"=Activiteit of "D"=Discipline/Catalogus artikel.
"label": L("lcl_niveau"),
"typ": "varchar",
"required": true,
@@ -72,10 +72,10 @@ function model_res_kenmerk(params)
"typ": "key",
"required": true,
"foreign": {
"tbl": "(select res_activiteit_key, res_activiteit_omschrijving"
+ " from res_activiteit"
+ " where res_activiteit_verwijder is null"
+ " order by res_activiteit_upper asc)",
"tbl": "(SELECT res_activiteit_key, res_activiteit_omschrijving"
+ " FROM res_activiteit"
+ " WHERE res_activiteit_verwijder IS NULL"
+ " ORDER BY res_activiteit_upper ASC)",
"key": "res_activiteit_key",
"desc": "res_activiteit_omschrijving"
},
@@ -83,6 +83,24 @@ function model_res_kenmerk(params)
"LOVinit": "",
"multiedit": true
},
"articlekey": {
"dbs": "res_artikel_key",
"label": L("res_artikel"),
"typ": "key",
"hidden_fld": true,
"required": true,
"foreign": {
"tbl": "(SELECT res_artikel_key, res_artikel_omschrijving"
+ " FROM res_artikel"
+ " WHERE res_artikel_verwijder IS NULL"
+ " ORDER BY UPPER(res_artikel_omschrijving) ASC)",
"key": "res_artikel_key",
"desc": "res_artikel_omschrijving"
},
"filter": "exact",
"LOVinit": "",
"multiedit": true
},
"required": {
"dbs": "res_kenmerk_verplicht",
"label": L("res_kenmerk_verplicht"),
@@ -125,6 +143,40 @@ function model_res_kenmerk(params)
}
};
this.list = {
"columns": ["id",
"bookingpropertytype",
"sequence",
"required",
"group"
]
};
this.edit = { modal: true};
var gparams = { GET: { } };
if (niveau == "D")
{ // Kenmerk niveau: "D"=Discipline/Catalogus artikel.
this.fields.level.defaultvalue = "D";
delete this.fields.bookingactivity;
this.record_title = L("res_article_kenmerk");
this.records_title = L("res_article_kenmerk_m");
gparams.GET = {wheres: [ "res_kenmerk.res_kenmerk_niveau = " + safe.quoted_sql(niveau)
, "res_kenmerk.res_kenmerk_verwijder IS NULL"
]
};
}
else
{ // Kenmerk_niveau: "A"=Activiteit.
this.fields.level.defaultvalue = "A";
this.record_title = L("res_kenmerk");
this.records_title = L("res_kenmerk_m");
gparams.GET = {wheres: [ "res_kenmerk.res_kenmerk_niveau = " + safe.quoted_sql(niveau)
, "res_kenmerk.res_kenmerk_verwijder IS NULL"
]
};
}
this.getPropertyType = function (kenmerkdata)
{
var typedata = api2.GET(new model_res_srtkenmerk({internal: params.internal}), kenmerkdata.bookingpropertytype.id);
@@ -141,7 +193,7 @@ function model_res_kenmerk(params)
function buildGroepsverplichtingList()
{ // LOV waarden voor group.
var s = "0;";
var s = "0;" + "<" + L("lcl_none") + ">";
for (var i=1; i<=9; i++)
{
s = s + ";" + i + ";" + L("res_kenmerk_groep") + " " + i;

View File

@@ -108,7 +108,7 @@ function model_reservations(rsv_key, params)
joinfield: "trackingrefkey"
},
"custom_fields" : {
model: new model_custom_fields(this, new model_res_kenmerk({ internal: true }), { readman: true, readuse: true }),
model: new model_custom_fields(this, new model_res_kenmerk("A", { internal: true }), { readman: true, readuse: true }),
joinfield: "flexparentkey"
}
};

View File

@@ -330,18 +330,66 @@ function make_cat(discipline_key, rsv_ruimte_key, existing_only, res_artikel_key
if (resflag && volgnr==1)
{
%>
<td>
<input type='button' id='btnmore_<%=art_key%>' name='btnmore_<%=art_key%>' value='<%=L("lcl_res_add_catering")%>'
class="addcatering"
onclick="res_addcat(this)"
title="<%=safe.html(L("lcl_res_add_catering_remark"))%>"
>
</td>
<td>
<input type='button' id='btnmore_<%=art_key%>' name='btnmore_<%=art_key%>' value='<%=L("lcl_res_add_catering")%>'
class="addcatering"
onclick="res_addcat(this)"
title="<%=safe.html(L("lcl_res_add_catering_remark"))%>"
>
</td>
<%
}
//var ptmpfolder;
//if (S("res_max_flex_on_line") > 0)
//{
// ptmpfolder = generateFlexKenmerkCodeArt ({ rsv_artikel_key: oRs("res_rsv_artikel_key").Value, // bez_key : oRs("bez_bezoekers_key").Value,
// artikel_key: art_key,
// rsv_ruimte_key: rsv_ruimte_key, //afspraak_key: afspraak_key,
// reado: false,
// flexcolumns: S("res_flexcolumns"),
// resnum: art_key, //next_vis,
// requiredbyfield: "res" + art_key, //next_vis,
// notr: true,
// flexend: parseInt(S("res_max_flex_on_line"), 10),
// nolabel: true,
// getTmpfolder: true, // Geef de tijdelijke folder terug waar bestanden zijn opgeslagen.
// //filter: flexfilter_afhandel_default,
// hidedefault: true
// });
//}
%>
</tr>
<tr id="row<%=art_key%>flex"
class="catline <%=(ingang == 0 || verval == 0 || dirty? " res_fatal " : "")%> <%=(existing? " existing" : " notexisting")%>"
>
<td colspan="4">
<div class="resflex">
<table id="resFlexListB<%=art_key%>">
<tbody>
<%
generateFlexKenmerkCodeArt ({ rsv_artikel_key: oRs("res_rsv_artikel_key").Value, // bez_key : oRs("bez_bezoekers_key").Value,
artikel_key: art_key,
rsv_ruimte_key: rsv_ruimte_key, //afspraak_key: afspraak_key,
reado: false,
flexcolumns: S("res_flexcolumns"),
resnum: art_key, //next_vis,
requiredbyfield: "res" + art_key, //next_vis,
//flexstart: parseInt(S("res_max_flex_on_line"), 10) + 1,
//tmpfolder: ptmpfolder, // Als er een tijdelijke folder bekend is dan deze meegeven.
//filter: flexfilter_afhandel_default,
hidedefault: true
});
%>
</tbody>
</table>
<input type=hidden id="rsv_artikel_key<%=art_key%>" name="rsv_artikel_key<%=art_key%>" value="<%=oRs("res_rsv_artikel_key").Value%>">
<div id="resvFlexListA<%=art_key%>" style="display:none"></div>
</div>
</td>
</tr>
<% //next_vis++;
oRs.MoveNext();
}
%>

View File

@@ -19,6 +19,7 @@
<!-- #include file="../shared/iface.inc" -->
<!-- #include file="../Shared/discxalg3d.inc" -->
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
<!-- #include file="res_flexkenmerk_art.inc" -->
<!-- #include file="res_plan_obj.inc" -->
<!-- #include file="res_cat.inc" -->

View File

@@ -18,6 +18,7 @@ DOCTYPE_Disable = 1;
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="./res.inc" -->
<!-- #include file="res_flexkenmerk_art.inc" -->
<!-- #include file="./res_cat.inc" -->
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->

View File

@@ -20,6 +20,7 @@
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../ins/ins.inc" -->
<!-- #include file="./res.inc" -->
<!-- #include file="res_flexkenmerk_art.inc" -->
<%
FCLTHeader.Requires({js: []});
@@ -387,14 +388,17 @@ var resdeleted = this_res.rsv_ruimte_verwijder != null;
rstableNr: 2,
keyColumn: "res_rsv_artikel_key",
ID: "resctable"+(embedded?"tiny":""),
showProperties: true,
flexModule: "RESA",
flexId: "res_rsv_artikel_key",
noPrint:true,
rowClass: fnRowClassCat,
summaryShow: function () {},
emptySetString : L("lcl_no_artikels")
});
rst2.addColumn(new Column({caption: L("lcl_consumable_objects"), content: fnArtikeltekst }));
rst2.addColumn(new Column({caption: L("lcl_count"), content: "res_rsv_artikel_aantal"}));
rst2.addColumn(new Column({caption: L("lcl_time"), content: fnTijd}));
rst2.addColumn(new Column({caption: L("lcl_count"), content: "res_rsv_artikel_aantal", datatype: "number"}));
rst2.addColumn(new Column({caption: L("lcl_time"), content: fnTijd, datatype: "time"}));
if (this_res.res_has_visitors)
rst2.addColumn(new Column({caption: L("lcl_to"), content: "res_rsv_ruimte_tot", datatype: "time"}));
rst2.addColumn(new Column({caption: L("lcl_r_price7"), content: "res_rsv_artikel_prijs", datatype: "currency"}));

View File

@@ -15,125 +15,125 @@ function getSqlFlex(flexModule, flexId, flexParams)
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"
+ " , 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"
+ ", ka." + flexId + " flexparentkey" // alg_district_key, alg_locatie_key, alg_gebouw_key, alg_terrein_key, alg_ruimte_key
+ ", k.alg_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN k.alg_kenmerk_kenmerktype = 'R' OR k.alg_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ ", k.alg_kenmerk_nmax nmax"
+ ", k.alg_kenmerk_volgnr volgnummer"
+ ", " + lcl.xsql('k.alg_kenmerk_dimensie', 'k.alg_kenmerk_key') +" dimensie"
+ ", k.alg_kenmerk_dec decimalen"
+ ", k.alg_kenmerk_niveau niveau"
+ " 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 k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)) // D (District), L (Locatie), G (Gebouw), T (Terreinsector) en R (Ruimte).
+ (!flexParams.readman? " AND alg_kenmerk_volgnr >= 100":"")
+ (!flexParams.readuse? " AND alg_kenmerk_volgnr <= 100":"");
sqlFlex = "SELECT " + lcl.xsql("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key") + " omschrijving"
+ " , ka." + flexId + " flexparentkey" // alg_district_key, alg_locatie_key, alg_gebouw_key, alg_terrein_key, alg_ruimte_key
+ " , k.alg_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN k.alg_kenmerk_kenmerktype = 'R' OR k.alg_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ " , k.alg_kenmerk_nmax nmax"
+ " , k.alg_kenmerk_volgnr volgnummer"
+ " , " + lcl.xsql("k.alg_kenmerk_dimensie", "k.alg_kenmerk_key") + " dimensie"
+ " , k.alg_kenmerk_dec decimalen"
+ " , k.alg_kenmerk_niveau niveau"
+ " 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 k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)) // D (District), L (Locatie), G (Gebouw), T (Terreinsector) en R (Ruimte).
+ (!flexParams.readman? " AND alg_kenmerk_volgnr >= 100":"")
+ (!flexParams.readuse? " AND alg_kenmerk_volgnr <= 100":"");
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"
+ ", bes_srtdeel isd"
+ ", bes_srtgroep isg"
+ ", bes_kenmerk bk"
+ ", bes_srtkenmerk bsk"
+ " , 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"
+ " , bes_srtdeel isd"
+ " , bes_srtgroep isg"
+ " , bes_kenmerk bk"
+ " , bes_srtkenmerk bsk"
+ " WHERE b.bes_bestelling_key = bi.bes_bestelling_key"
+ " AND bi.bes_srtdeel_key = isd.bes_srtdeel_key"
+ " AND isd.bes_srtgroep_key = isg.bes_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";
+ " AND bi.bes_srtdeel_key = isd.bes_srtdeel_key"
+ " AND isd.bes_srtgroep_key = isg.bes_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"
+ ", kb.bes_bestelling_key flexparentkey"
+ ", k.bes_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN sk.bes_srtkenmerk_kenmerktype = 'R' OR sk.bes_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ ", sk.bes_srtkenmerk_nmin nmin"
+ ", sk.bes_srtkenmerk_nmax nmax"
+ ", k.bes_kenmerk_volgnummer volgnummer"
+ ", " + lcl.xsql('sk.bes_srtkenmerk_dimensie', 'sk.bes_srtkenmerk_key') +" dimensie"
+ ", sk.bes_srtkenmerk_dec decimalen"
+ ", k.bes_kenmerk_niveau niveau"
+ " 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";
sqlFlex = "SELECT " + lcl.xsql("sk.bes_srtkenmerk_omschrijving", "sk.bes_srtkenmerk_key") + " omschrijving"
+ " , kb.bes_bestelling_key flexparentkey"
+ " , k.bes_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN sk.bes_srtkenmerk_kenmerktype = 'R' OR sk.bes_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ " , sk.bes_srtkenmerk_nmin nmin"
+ " , sk.bes_srtkenmerk_nmax nmax"
+ " , k.bes_kenmerk_volgnummer volgnummer"
+ " , " + lcl.xsql("sk.bes_srtkenmerk_dimensie", "sk.bes_srtkenmerk_key") + " dimensie"
+ " , sk.bes_srtkenmerk_dec decimalen"
+ " , k.bes_kenmerk_niveau niveau"
+ " 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";
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"
+ " , 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"
+ ", kb.bez_bezoekers_key flexparentkey"
+ ", k.bez_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN k.bez_kenmerk_kenmerktype = 'R' OR k.bez_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ ", k.bez_kenmerk_nmax nmax"
+ ", k.bez_kenmerk_volgnr volgnummer"
+ ", " + lcl.xsql('k.bez_kenmerk_dimensie', 'k.bez_kenmerk_key') +" dimensie"
+ ", k.bez_kenmerk_dec decimalen"
+ ", NULL niveau"
+ " 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";
sqlFlex = "SELECT " + lcl.xsql("k.bez_kenmerk_omschrijving", "k.bez_kenmerk_key") + " omschrijving"
+ " , kb.bez_bezoekers_key flexparentkey"
+ " , k.bez_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN k.bez_kenmerk_kenmerktype = 'R' OR k.bez_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ " , k.bez_kenmerk_nmax nmax"
+ " , k.bez_kenmerk_volgnr volgnummer"
+ " , " + lcl.xsql("k.bez_kenmerk_dimensie", "k.bez_kenmerk_key") + " dimensie"
+ " , k.bez_kenmerk_dec decimalen"
+ " , NULL niveau"
+ " 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";
if (!user.has("WEB_BEZBOF"))
{
sqlFlex += " AND k.bez_kenmerk_volgnr < 900";
@@ -142,154 +142,154 @@ function getSqlFlex(flexModule, flexId, flexParams)
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"
+ " , 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";
+ " 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"
+ ", kc.cnt_contract_key flexparentkey"
+ ", k.cnt_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN sk.cnt_srtkenmerk_kenmerktype = 'R' OR sk.cnt_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ ", sk.cnt_srtkenmerk_nmin nmin"
+ ", sk.cnt_srtkenmerk_nmax nmax"
+ ", k.cnt_kenmerk_volgnummer volgnummer"
+ ", " + lcl.xsql('sk.cnt_srtkenmerk_dimensie', 'sk.cnt_srtkenmerk_key') +" dimensie"
+ ", sk.cnt_srtkenmerk_dec decimalen"
+ ", k.cnt_kenmerk_niveau niveau"
+ " 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";
sqlFlex = "SELECT " + lcl.xsql("sk.cnt_srtkenmerk_omschrijving", "sk.cnt_srtkenmerk_key") + " omschrijving"
+ " , kc.cnt_contract_key flexparentkey"
+ " , k.cnt_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN sk.cnt_srtkenmerk_kenmerktype = 'R' OR sk.cnt_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ " , sk.cnt_srtkenmerk_nmin nmin"
+ " , sk.cnt_srtkenmerk_nmax nmax"
+ " , k.cnt_kenmerk_volgnummer volgnummer"
+ " , " + lcl.xsql("sk.cnt_srtkenmerk_dimensie", "sk.cnt_srtkenmerk_key") + " dimensie"
+ " , sk.cnt_srtkenmerk_dec decimalen"
+ " , k.cnt_kenmerk_niveau niveau"
+ " 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";
break;
}
case "FAQ": { sql_faq_kenmerkfaq = "SELECT fk.faq_kenmerk_key"
+ ", f.fac_faq_key"
+ ", (SELECT faq_kenmerkwaarde_waarde"
+ " FROM faq_kenmerkwaarde fkw"
+ " WHERE fkw.fac_faq_key = f.fac_faq_key"
+ " AND fkw.faq_kenmerk_key = fk.faq_kenmerk_key"
+ " AND fkw.faq_kenmerkwaarde_verwijder IS NULL) faq_kenmerkwaarde_waarde"
+ " FROM fac_faq f"
+ ", faq_kenmerk fk"
+ " , f.fac_faq_key"
+ " , (SELECT faq_kenmerkwaarde_waarde"
+ " FROM faq_kenmerkwaarde fkw"
+ " WHERE fkw.fac_faq_key = f.fac_faq_key"
+ " AND fkw.faq_kenmerk_key = fk.faq_kenmerk_key"
+ " AND fkw.faq_kenmerkwaarde_verwijder IS NULL) faq_kenmerkwaarde_waarde"
+ " FROM fac_faq f"
+ " , faq_kenmerk fk"
+ " WHERE fk.faq_kenmerk_verwijder IS NULL";
sqlFlex = "SELECT "+lcl.xsql('k.faq_kenmerk_omschrijving', 'k.faq_kenmerk_key') +" omschrijving"
+ ", kf.fac_faq_key flexparentkey"
+ ", k.faq_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN k.faq_kenmerk_kenmerktype = 'R' OR k.faq_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_key, kf.faq_kenmerkwaarde_waarde)"
+ " WHEN k.faq_kenmerk_kenmerktype = 'D'"
+ " THEN TO_CHAR(fac.safe_To_Date(kf.faq_kenmerkwaarde_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
+ " ELSE kf.faq_kenmerkwaarde_waarde"
+ " END waarde"
+ ", k.faq_kenmerk_kenmerktype kenmerktype"
+ ", k.faq_kenmerk_nmin nmin"
+ ", k.faq_kenmerk_nmax nmax"
+ ", k.faq_kenmerk_volgnr volgnummer"
+ ", " + lcl.xsql('k.faq_kenmerk_dimensie', 'k.faq_kenmerk_key') +" dimensie"
+ ", k.faq_kenmerk_dec decimalen"
+ ", NULL niveau"
+ " FROM (" + sql_faq_kenmerkfaq + ") kf" // faq_kenmerk_key / fac_faq_key / faq_kenmerkwaarde_waarde inclusief lege waarden
+ ", faq_kenmerk k"
+ " WHERE kf.faq_kenmerk_key = k.faq_kenmerk_key"
+ " AND k.faq_kenmerk_verwijder IS NULL";
sqlFlex = "SELECT " + lcl.xsql("k.faq_kenmerk_omschrijving", "k.faq_kenmerk_key") + " omschrijving"
+ " , kf.fac_faq_key flexparentkey"
+ " , k.faq_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN k.faq_kenmerk_kenmerktype = 'R' OR k.faq_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_key, kf.faq_kenmerkwaarde_waarde)"
+ " WHEN k.faq_kenmerk_kenmerktype = 'D'"
+ " THEN TO_CHAR(fac.safe_To_Date(kf.faq_kenmerkwaarde_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
+ " ELSE kf.faq_kenmerkwaarde_waarde"
+ " END waarde"
+ " , k.faq_kenmerk_kenmerktype kenmerktype"
+ " , k.faq_kenmerk_nmin nmin"
+ " , k.faq_kenmerk_nmax nmax"
+ " , k.faq_kenmerk_volgnr volgnummer"
+ " , " + lcl.xsql("k.faq_kenmerk_dimensie", "k.faq_kenmerk_key") + " dimensie"
+ " , k.faq_kenmerk_dec decimalen"
+ " , NULL niveau"
+ " FROM (" + sql_faq_kenmerkfaq + ") kf" // faq_kenmerk_key / fac_faq_key / faq_kenmerkwaarde_waarde inclusief lege waarden
+ " , faq_kenmerk k"
+ " WHERE kf.faq_kenmerk_key = k.faq_kenmerk_key"
+ " AND k.faq_kenmerk_verwijder IS NULL";
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"
+ " , 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"
+ ", kf.fin_factuur_key flexparentkey"
+ ", k.fin_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN k.fin_kenmerk_kenmerktype = 'R' OR k.fin_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ ", k.fin_kenmerk_nmax nmax"
+ ", k.fin_kenmerk_volgnr volgnummer"
+ ", " + lcl.xsql('k.fin_kenmerk_dimensie', 'k.fin_kenmerk_key') +" dimensie"
+ ", k.fin_kenmerk_dec decimalen"
+ ", NULL niveau"
+ " 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 k.fin_kenmerk_type = 'F'";
sqlFlex = "SELECT " + lcl.xsql("k.fin_kenmerk_omschrijving", "k.fin_kenmerk_key") + " omschrijving"
+ " , kf.fin_factuur_key flexparentkey"
+ " , k.fin_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN k.fin_kenmerk_kenmerktype = 'R' OR k.fin_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ " , k.fin_kenmerk_nmax nmax"
+ " , k.fin_kenmerk_volgnr volgnummer"
+ " , " + lcl.xsql("k.fin_kenmerk_dimensie", "k.fin_kenmerk_key") + " dimensie"
+ " , k.fin_kenmerk_dec decimalen"
+ " , NULL niveau"
+ " 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 k.fin_kenmerk_type = 'F'";
break;
}
case "FINR": { sql_fin_kenmerkfin = "SELECT fk.fin_kenmerk_key"
+ ", fr.fin_factuurregel_key"
+ ", (SELECT kfr.fin_kenmerkfactregel_waarde"
+ " FROM fin_kenmerkfactregel kfr"
+ " WHERE kfr.fin_factuurregel_key = fr.fin_factuurregel_key"
+ " AND kfr.fin_kenmerk_key = fk.fin_kenmerk_key"
+ " AND kfr.fin_kenmerkfactregel_verwijder IS NULL) fin_kenmerkfactregel_waarde"
+ " FROM fin_factuurregel fr"
+ ", fin_kenmerk fk"
+ " , fr.fin_factuurregel_key"
+ " , (SELECT kfr.fin_kenmerkfactregel_waarde"
+ " FROM fin_kenmerkfactregel kfr"
+ " WHERE kfr.fin_factuurregel_key = fr.fin_factuurregel_key"
+ " AND kfr.fin_kenmerk_key = fk.fin_kenmerk_key"
+ " AND kfr.fin_kenmerkfactregel_verwijder IS NULL) fin_kenmerkfactregel_waarde"
+ " FROM fin_factuurregel fr"
+ " , fin_kenmerk fk"
+ " WHERE fk.fin_kenmerk_verwijder IS NULL";
sqlFlex = "SELECT "+lcl.xsql('k.fin_kenmerk_omschrijving', 'k.fin_kenmerk_key') +" omschrijving"
+ ", kf.fin_factuurregel_key flexparentkey"
+ ", k.fin_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN k.fin_kenmerk_kenmerktype = 'R' OR k.fin_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_key, kf.fin_kenmerkfactregel_waarde)"
+ " WHEN k.fin_kenmerk_kenmerktype = 'L'"
+ " THEN k.fin_kenmerk_default"
+ " WHEN k.fin_kenmerk_kenmerktype = 'D'"
+ " THEN TO_CHAR(fac.safe_To_Date(kf.fin_kenmerkfactregel_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
+ " ELSE kf.fin_kenmerkfactregel_waarde"
+ " END waarde"
+ ", k.fin_kenmerk_kenmerktype kenmerktype"
+ ", k.fin_kenmerk_nmin nmin"
+ ", k.fin_kenmerk_nmax nmax"
+ ", k.fin_kenmerk_volgnr volgnummer"
+ ", " + lcl.xsql('k.fin_kenmerk_dimensie', 'k.fin_kenmerk_key') +" dimensie"
+ ", k.fin_kenmerk_dec decimalen"
+ ", NULL niveau"
+ " FROM (" + sql_fin_kenmerkfin + ") kf" // fin_kenmerk_key / fin_factuurregel_key / fin_kenmerkfactregel_waarde inclusief lege waarden
+ ", fin_kenmerk k"
+ " WHERE kf.fin_kenmerk_key = k.fin_kenmerk_key"
+ " AND k.fin_kenmerk_verwijder IS NULL"
+ " AND k.fin_kenmerk_type = 'R'";
sqlFlex = "SELECT " + lcl.xsql("k.fin_kenmerk_omschrijving", "k.fin_kenmerk_key") + " omschrijving"
+ " , kf.fin_factuurregel_key flexparentkey"
+ " , k.fin_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN k.fin_kenmerk_kenmerktype = 'R' OR k.fin_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_key, kf.fin_kenmerkfactregel_waarde)"
+ " WHEN k.fin_kenmerk_kenmerktype = 'L'"
+ " THEN k.fin_kenmerk_default"
+ " WHEN k.fin_kenmerk_kenmerktype = 'D'"
+ " THEN TO_CHAR(fac.safe_To_Date(kf.fin_kenmerkfactregel_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
+ " ELSE kf.fin_kenmerkfactregel_waarde"
+ " END waarde"
+ " , k.fin_kenmerk_kenmerktype kenmerktype"
+ " , k.fin_kenmerk_nmin nmin"
+ " , k.fin_kenmerk_nmax nmax"
+ " , k.fin_kenmerk_volgnr volgnummer"
+ " , " + lcl.xsql("k.fin_kenmerk_dimensie", "k.fin_kenmerk_key") + " dimensie"
+ " , k.fin_kenmerk_dec decimalen"
+ " , NULL niveau"
+ " FROM (" + sql_fin_kenmerkfin + ") kf" // fin_kenmerk_key / fin_factuurregel_key / fin_kenmerkfactregel_waarde inclusief lege waarden
+ " , fin_kenmerk k"
+ " WHERE kf.fin_kenmerk_key = k.fin_kenmerk_key"
+ " AND k.fin_kenmerk_verwijder IS NULL"
+ " AND k.fin_kenmerk_type = 'R'";
break;
}
@@ -354,7 +354,7 @@ function getSqlFlex(flexModule, flexId, flexParams)
+ " AND km.ins_kenmerk_key = k.ins_kenmerk_key"
+ (hasObjectSoortFlex
? " UNION ALL "
+ "SELECT " + lcl.xsql("sk.ins_srtkenmerk_omschrijving", "sk.ins_srtkenmerk_key") +" omschrijving"
+ "SELECT " + lcl.xsql("sk.ins_srtkenmerk_omschrijving", "sk.ins_srtkenmerk_key") + " omschrijving"
+ " , kd.ins_deel_key flexparentkey"
+ " , k.ins_kenmerk_key kenmerk_key"
+ " , CASE"
@@ -368,7 +368,7 @@ function getSqlFlex(flexModule, flexId, flexParams)
+ " , sk.ins_srtkenmerk_nmin nmin"
+ " , sk.ins_srtkenmerk_nmax nmax"
+ " , k.ins_kenmerk_volgnummer volgnummer"
+ " , " + lcl.xsql("sk.ins_srtkenmerk_dimensie", "sk.ins_srtkenmerk_key") +" dimensie"
+ " , " + lcl.xsql("sk.ins_srtkenmerk_dimensie", "sk.ins_srtkenmerk_key") + " dimensie"
+ " , sk.ins_srtkenmerk_dec decimalen"
+ " , k.ins_kenmerk_niveau niveau"
+ " FROM ins_kenmerk k2"
@@ -393,190 +393,235 @@ function getSqlFlex(flexModule, flexId, flexParams)
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_discipline d"
+ ", mld_kenmerk mk"
+ " , 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_discipline d"
+ " , mld_kenmerk mk"
+ " WHERE m.mld_stdmelding_key = msm.mld_stdmelding_key"
+ " AND msm.mld_ins_discipline_key = d.ins_discipline_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')"
+ " OR (mk.mld_stdmelding_key = d.ins_srtdiscipline_key"
+ " AND mk.mld_kenmerk_niveau = 'T'))"
+ " AND mk.mld_kenmerk_verwijder IS NULL";
+ " AND msm.mld_ins_discipline_key = d.ins_discipline_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')"
+ " OR (mk.mld_stdmelding_key = d.ins_srtdiscipline_key"
+ " AND mk.mld_kenmerk_niveau = 'T'))"
+ " AND mk.mld_kenmerk_verwijder IS NULL";
sqlFlex = "SELECT "+lcl.xsql('sk.mld_srtkenmerk_omschrijving', 'sk.mld_srtkenmerk_key') +" omschrijving"
+ ", km.mld_melding_key flexparentkey"
+ ", k.mld_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'R' OR sk.mld_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ ", sk.mld_srtkenmerk_nmin nmin"
+ ", sk.mld_srtkenmerk_nmax nmax"
+ ", k.mld_kenmerk_volgnummer volgnummer"
+ ", "+ lcl.xsql('sk.mld_srtkenmerk_dimensie', 'sk.mld_srtkenmerk_key') + " dimensie"
+ ", sk.mld_srtkenmerk_dec decimalen"
+ ", k.mld_kenmerk_niveau niveau"
+ " FROM mld_srtkenmerk sk"
+ ", (" + 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"
+ (flexParams && (flexParams.readuse || flexParams.readman)? " AND k.mld_kenmerk_volgnummer < 800":"");
sqlFlex = "SELECT " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + " omschrijving"
+ " , km.mld_melding_key flexparentkey"
+ " , k.mld_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'R' OR sk.mld_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ " , sk.mld_srtkenmerk_nmin nmin"
+ " , sk.mld_srtkenmerk_nmax nmax"
+ " , k.mld_kenmerk_volgnummer volgnummer"
+ " , "+ lcl.xsql("sk.mld_srtkenmerk_dimensie", "sk.mld_srtkenmerk_key") + " dimensie"
+ " , sk.mld_srtkenmerk_dec decimalen"
+ " , k.mld_kenmerk_niveau niveau"
+ " FROM mld_srtkenmerk sk"
+ " , (" + 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"
+ (flexParams && (flexParams.readuse || flexParams.readman)? " AND k.mld_kenmerk_volgnummer < 800":"");
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"
+ " , 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";
+ " 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"
+ ", ko.mld_opdr_key flexparentkey"
+ ", k.mld_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'R' OR sk.mld_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ ", sk.mld_srtkenmerk_nmin nmin"
+ ", sk.mld_srtkenmerk_nmax nmax"
+ ", k.mld_kenmerk_volgnummer volgnummer"
+ ", "+ lcl.xsql('sk.mld_srtkenmerk_dimensie', 'sk.mld_srtkenmerk_key') + " dimensie"
+ ", sk.mld_srtkenmerk_dec decimalen"
+ ", k.mld_kenmerk_niveau niveau"
+ " 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";
sqlFlex = "SELECT " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + " omschrijving"
+ " , ko.mld_opdr_key flexparentkey"
+ " , k.mld_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN sk.mld_srtkenmerk_kenmerktype = 'R' OR sk.mld_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ " , sk.mld_srtkenmerk_nmin nmin"
+ " , sk.mld_srtkenmerk_nmax nmax"
+ " , k.mld_kenmerk_volgnummer volgnummer"
+ " , "+ lcl.xsql("sk.mld_srtkenmerk_dimensie", "sk.mld_srtkenmerk_key") + " dimensie"
+ " , sk.mld_srtkenmerk_dec decimalen"
+ " , k.mld_kenmerk_niveau niveau"
+ " 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";
break;
}
case "PRS": {
case "PRS": {
var where = [];
if (flexId.toLowerCase()=="prs_perslid_key")
{
var authparamsUSE = user.checkAutorisation("WEB_PRSUSE", true)||{PRSreadlevel: 9};
var authparamsMAN = user.checkAutorisation("WEB_PRSMAN", true)||{PRSreadlevel: 10};
// Als authparamsMAN en authparamsUSE verschillen zou het heel ingewikkeld worden.
// Daarom tonen we dan voor de veiligheid geen MAN meer.
if (authparamsMAN.PRSreadlevel > -1 && authparamsMAN.PRSreadlevel != authparamsUSE.PRSreadlevel)
where.push("prs_kenmerk_volgnr >= 100");
if (authparamsUSE.PRSreadlevel > -1)
where.push("prs_kenmerk_volgnr <= 100");
var authparamsUSE = user.checkAutorisation("WEB_PRSUSE", true) || {PRSreadlevel: 9};
var authparamsMAN = user.checkAutorisation("WEB_PRSMAN", true) || {PRSreadlevel: 10};
// Als authparamsMAN en authparamsUSE verschillen zou het heel ingewikkeld worden.
// Daarom tonen we dan voor de veiligheid geen MAN meer.
if (authparamsMAN.PRSreadlevel > -1 && authparamsMAN.PRSreadlevel != authparamsUSE.PRSreadlevel)
where.push("prs_kenmerk_volgnr >= 100");
if (authparamsUSE.PRSreadlevel > -1)
where.push("prs_kenmerk_volgnr <= 100");
}
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"
+ " , 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"
+ ", kp." + flexId + " flexparentkey" // prs_perslid_key, prs_afdeling_key
+ ", k.prs_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN k.prs_kenmerk_kenmerktype = 'R' OR k.prs_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ ", k.prs_kenmerk_nmax nmax"
+ ", k.prs_kenmerk_volgnr volgnummer"
+ ", " + lcl.xsql('k.prs_kenmerk_dimensie', 'k.prs_kenmerk_key') +" dimensie"
+ ", k.prs_kenmerk_dec decimalen"
+ ", k.prs_kenmerk_niveau niveau"
+ " 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"
+ (where.length?" AND " + where.join(" AND ") + " ":"")
+ " AND k.prs_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)); // A (Afdeling) en P (Persoon/Perslid)
sqlFlex = "SELECT " + lcl.xsql("k.prs_kenmerk_omschrijving", "k.prs_kenmerk_key") + " omschrijving"
+ " , kp." + flexId + " flexparentkey" // prs_perslid_key, prs_afdeling_key
+ " , k.prs_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN k.prs_kenmerk_kenmerktype = 'R' OR k.prs_kenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(k.fac_kenmerkdomein_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_nmin nmin"
+ " , k.prs_kenmerk_nmax nmax"
+ " , k.prs_kenmerk_volgnr volgnummer"
+ " , " + lcl.xsql("k.prs_kenmerk_dimensie", "k.prs_kenmerk_key") + " dimensie"
+ " , k.prs_kenmerk_dec decimalen"
+ " , k.prs_kenmerk_niveau niveau"
+ " 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"
+ (where.length? " AND " + where.join(" AND ") + " " : "")
+ " AND k.prs_kenmerk_niveau = " + safe.quoted_sql_upper(flexId.substr(4,1)); // A (Afdeling) en P (Persoon/Perslid)
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"
+ " , 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";
+ " 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"
+ ", kr.res_rsv_ruimte_key flexparentkey"
+ ", k.res_kenmerk_key kenmerk_key"
+ ", CASE"
+ " WHEN sk.res_srtkenmerk_kenmerktype = 'R' OR sk.res_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ ", sk.res_srtkenmerk_nmin nmin"
+ ", sk.res_srtkenmerk_nmax nmax"
+ ", k.res_kenmerk_volgnummer volgnummer"
+ ", " + lcl.xsql('sk.res_srtkenmerk_dimensie', 'sk.res_srtkenmerk_key') +" dimensie"
+ ", sk.res_srtkenmerk_dec decimalen"
+ ", k.res_kenmerk_niveau niveau"
+ " 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";
sqlFlex = "SELECT " + lcl.xsql("sk.res_srtkenmerk_omschrijving", "sk.res_srtkenmerk_key") + " omschrijving"
+ " , kr.res_rsv_ruimte_key flexparentkey"
+ " , k.res_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN sk.res_srtkenmerk_kenmerktype = 'R' OR sk.res_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_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"
+ " , sk.res_srtkenmerk_nmin nmin"
+ " , sk.res_srtkenmerk_nmax nmax"
+ " , k.res_kenmerk_volgnummer volgnummer"
+ " , " + lcl.xsql("sk.res_srtkenmerk_dimensie", "sk.res_srtkenmerk_key") + " dimensie"
+ " , sk.res_srtkenmerk_dec decimalen"
+ " , k.res_kenmerk_niveau niveau"
+ " 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";
break;
}
case "RESA": { sql_srtres_kenmerkres = "SELECT rk.res_kenmerk_key"
+ " , rra.res_rsv_artikel_key"
+ " , (SELECT res_kenmerkartikel_waarde"
+ " FROM res_kenmerkartikel rkw"
+ " WHERE rkw.res_rsv_artikel_key = rra.res_rsv_artikel_key"
+ " AND rkw.res_kenmerk_key = rk.res_kenmerk_key"
+ " AND rkw.res_kenmerkartikel_verwijder IS NULL) res_kenmerkartikel_waarde"
+ " , ra.res_artikel_key"
+ " FROM res_rsv_artikel rra"
+ " , res_artikel ra"
+ " , res_kenmerk rk"
+ " , res_srtkenmerk rsk"
+ " WHERE rra.res_artikel_key = ra.res_artikel_key"
+ " AND ra.res_artikel_key = rk.res_artikel_key"
+ " AND rk.res_srtkenmerk_key = rsk.res_srtkenmerk_key"
+ " AND rk.res_kenmerk_verwijder IS NULL"
+ " AND rk.res_kenmerk_niveau = 'D'"
+ " AND rsk.res_srtkenmerk_verwijder IS NULL";
sqlFlex = "SELECT " + lcl.xsql("sk.res_srtkenmerk_omschrijving", "sk.res_srtkenmerk_key") + " omschrijving"
+ " , kr.res_rsv_artikel_key flexparentkey"
+ " , k.res_kenmerk_key kenmerk_key"
+ " , CASE"
+ " WHEN sk.res_srtkenmerk_kenmerktype = 'R' OR sk.res_srtkenmerk_kenmerktype = 'S'"
+ " THEN FAC.getdomeinwaarde(sk.fac_kenmerkdomein_key, kr.res_kenmerkartikel_waarde)"
+ " WHEN sk.res_srtkenmerk_kenmerktype = 'D'"
+ " THEN TO_CHAR(fac.safe_To_Date(kr.res_kenmerkartikel_waarde, 'DD-MM-YYYY'), 'DD-MM-YYYY')"
+ " ELSE kr.res_kenmerkartikel_waarde"
+ " END waarde"
+ " , sk.res_srtkenmerk_kenmerktype kenmerktype"
+ " , sk.res_srtkenmerk_nmin nmin"
+ " , sk.res_srtkenmerk_nmax nmax"
+ " , k.res_kenmerk_volgnummer volgnummer"
+ " , " + lcl.xsql("sk.res_srtkenmerk_dimensie", "sk.res_srtkenmerk_key") + " dimensie"
+ " , sk.res_srtkenmerk_dec decimalen"
+ " , k.res_kenmerk_niveau niveau"
+ " 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";
break;
}