YKPN#40774 display flex values for bez_list() in an additional column (if bez_kenmerk_systeem & 2)

svn path=/Website/trunk/; revision=34663
This commit is contained in:
2017-07-19 11:09:29 +00:00
parent 4541f5e97e
commit 14b457dbb0
3 changed files with 71 additions and 33 deletions

View File

@@ -90,8 +90,11 @@ function model_bez_kenmerk(params)
},
"system": {
"dbs": "bez_kenmerk_systeem",
"label": L("mgt_srtkenmerk_systeem"),
"typ": "check"
"label": L("mgt_kenmerk_systeem"),
"typ": "number",
"LOV": L("mgt_kenmerk_systeemLOV"),
"defaultvalue": 0,
"required": true
},
"length": {
"dbs": "bez_kenmerk_lengte",

View File

@@ -33,6 +33,7 @@
bezInside search for visitors which are inside
bezDepart search for visitors which are departed
bezClosed search for visitors which are in archive
withflex display a flex column if there are any
Context: Search action from bez_search.asp form
Note:
@@ -93,39 +94,41 @@ function bez_list(pautfunction, params)
var authparamsFOF = user.checkAutorisation("WEB_BEZFOF", true);
var canDelete = authparamsFOF && authparamsFOF.ALGwritelevel < 9 && authparamsFOF.PRSwritelevel < 9;
var urole = params.urole;
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi"); // NOT APPLICABLE?
var frontend = (urole == "fe");
var urole = params.urole;
var fronto = (urole == "fo");
var backo = (urole == "bo");
var minfo = (urole == "mi"); // NOT APPLICABLE?
var frontend = (urole == "fe");
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var print = (outputmode == 1 || outputmode == 5);
var excel = (outputmode == 2 || outputmode == 6);
var showall = params.showall;
var showProperties = params.showProperties;
var tiny = params.tiny;
var noPrint = params.noPrint;
var afspr_key = params.afspr_key;
var searchtext = params.searchtext;
var datetimefrom = params.datetimefrom;
var datetimeto = params.datetimeto;
var regio_key = params.regio_key;
var dist_key = params.dist_key;
var loc_key = params.loc_key;
var bld_key = params.bld_key;
var flr_key = params.flr_key;
var requestor_key = params.requestor_key;
var host_key = params.host_key;
var dep_key = params.dep_key;
var groupbez = params.groupbez;
var action_key = params.action_key;
var bezPark = params.bezPark;
var bezExpect = params.bezExpect;
var bezInside = params.bezInside;
var bezDepart = params.bezDepart;
var bezClosed = params.bezClosed;
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var print = (outputmode == 1 || outputmode == 5);
var excel = (outputmode == 2 || outputmode == 6);
var showall = params.showall;
var showProperties = params.showProperties;
var tiny = params.tiny;
var noPrint = params.noPrint;
var afspr_key = params.afspr_key;
var searchtext = params.searchtext;
var datetimefrom = params.datetimefrom;
var datetimeto = params.datetimeto;
var regio_key = params.regio_key;
var dist_key = params.dist_key;
var loc_key = params.loc_key;
var bld_key = params.bld_key;
var flr_key = params.flr_key;
var requestor_key = params.requestor_key;
var host_key = params.host_key;
var dep_key = params.dep_key;
var groupbez = params.groupbez;
var action_key = params.action_key;
var bezPark = params.bezPark;
var bezExpect = params.bezExpect;
var bezInside = params.bezInside;
var bezDepart = params.bezDepart;
var bezClosed = params.bezClosed;
var withflex = params.withflex;
var anyflex = false;
var sql_date = null;
if (datetimefrom && datetimeto)
@@ -155,6 +158,19 @@ function bez_list(pautfunction, params)
var hasKenmerk = oRs("aantal").Value;
oRs.Close();
if (withflex && !excel && !print)
{
// Fast check to see if we have any listable flex at all, to prevent superfluous empty column
var sql = "SELECT 1"
+ " FROM bez_kenmerk"
+ " WHERE BITAND (bez_kenmerk_systeem, 2) = 2"
+ " AND bez_kenmerk_verwijder IS NULL"
+ " AND ROWNUM = 1";
var oRs = Oracle.Execute(sql);
anyflex = !oRs.eof;
oRs.close();
}
%>
<html>
@@ -216,6 +232,21 @@ function bez_list(pautfunction, params)
+ ", rrr.res_rsv_ruimte_omschrijving"
+ ", COALESCE(org.alg_gebouw_code, org.alg_terreinsector_code) || ' ' || COALESCE(org.alg_gebouw_naam, org.alg_terreinsector_naam) code"
+ ", rr.res_ruimte_nr ruimte_nr"
+ (anyflex
? ", (SELECT LISTAGG(k.bez_kenmerk_omschrijving || ':'|| CHR(160) || "
+ " CASE"
+ " WHEN k.bez_kenmerk_kenmerktype = 'R' OR k.bez_kenmerk_kenmerktype = 'S'"
+ " THEN"
+ " flx.getdomeinwaarde(k.fac_kenmerkdomein_key, kw.bez_kenmerkwaarde_waarde)"
+ " ELSE"
+ " kw.bez_kenmerkwaarde_waarde"
+ " END, CHR(13)) "
+ " WITHIN GROUP (ORDER BY k.bez_kenmerk_volgnr) "
+ " FROM bez_kenmerk k, bez_kenmerkwaarde kw"
+ " WHERE kw.bez_bezoekers_key = b.bez_bezoekers_key"
+ " AND k.bez_kenmerk_key = kw.bez_kenmerk_key"
+ " AND BITAND(k.bez_kenmerk_systeem, 2) = 2) flex"
: "")
;
if (backo)
@@ -1117,6 +1148,9 @@ function bez_list(pautfunction, params)
if (S("bez_set_remote_flags") > 0 && afspr_key > 0)
rst.addColumn(new Column({caption: L("lcl_bez_remote"), content: fnColRemote, align: "center"}));
if (anyflex)
rst.addColumn(new Column({caption: L("lcl_flexlist"), content: "flex"}));
if (backo) // Ook badgenr-edit en aanmeld/afmeld vinkjes
{
if (S("vis_bo_uses_badgenrs") == 1)

View File

@@ -89,6 +89,7 @@ bez_list ( autfunction,
bezInside: bezInside,
bezDepart: bezDepart,
bezClosed: bezClosed,
withflex: true,
contactonly: getQParamInt("contactonly", 0)
}
);