MARX#39537 flexkenmerken kunnen worden aangegeven voor tonen in lijsten (MLD+OPDR)

svn path=/Website/trunk/; revision=33365
This commit is contained in:
Peter Feij
2017-03-31 13:28:31 +00:00
parent 18b048ff5d
commit d54b0eb7f4
5 changed files with 62 additions and 8 deletions

View File

@@ -4719,6 +4719,22 @@ mld = {setmeldingstatus:
+ (!internuit || !externuit
? " , mu.intern"
: "")
+ (params.anyflex
? ", (SELECT LISTAGG(mld_srtkenmerk_omschrijving || ':'|| CHR(160) || "
+ " CASE"
+ " WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'S'"
+ " THEN"
+ " flx.getdomeinwaarde (skm.fac_kenmerkdomein_key, km.mld_kenmerkopdr_waarde)"
+ " ELSE"
+ " km.mld_kenmerkopdr_waarde"
+ " END, CHR(13)) "
+ " WITHIN GROUP (ORDER BY mld_kenmerk_volgnummer) "
+ " FROM mld_srtkenmerk skm, mld_kenmerk k, mld_kenmerkopdr km"
+ " WHERE km.mld_opdr_key = o.mld_opdr_key"
+ " AND k.mld_kenmerk_key = km.mld_kenmerk_key"
+ " AND BITAND(skm.mld_srtkenmerk_systeem,2) = 2"
+ " AND skm.mld_srtkenmerk_key = k.mld_srtkenmerk_key) flex"
: "")
+ " FROM mld_opdr o"
+ " , cnt_v_aanwezigcontract c"
+ " , mld_stdmelding std"
@@ -4732,7 +4748,7 @@ mld = {setmeldingstatus:
+ " , mld_discipline md"
+ " , mld_disc_params mdp"
+ " , ins_srtdiscipline sd"
+ ((add_prs_restrict)
+ (add_prs_restrict
? " , prs_v_afdeling_boom b"
: "")
// and more here

View File

@@ -81,7 +81,7 @@ function mld_list (pautfunction, params)
// params.deel_key : ins_deel_key
// params.rsv_ruimte_key: res_rsv_ruimte_key
// params.withflex : boolean
params.withflex=false; // nog even uitgeschakeld
// Statuses:
// params.mldstpen = 1 (0): true | false
// params.mldstrej = 1 (1): true | false
@@ -108,6 +108,21 @@ params.withflex=false; // nog even uitgeschakeld
params.minfo = minfo;
var tiny = (params.tiny==1);
if (params.withflex)
{
// Fast check to see if we have any listable flex at all, to prevent superfluous column
var sql= "SELECT 1"
+" FROM mld_srtkenmerk sk, mld_kenmerk k"
+" WHERE BITAND (mld_srtkenmerk_systeem, 2) = 2"
+" AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key"
+" AND k.mld_kenmerk_niveau <> 'O'"
+" AND k.mld_kenmerk_verwijder IS NULL"
+" AND sk.mld_srtkenmerk_verwijder IS NULL"
+" AND ROWNUM = 1";
var oRs = Oracle.Execute(sql);
var anyflex = !oRs.eof;
oRs.close();
}
// AUTORISATIES
if (urole == "bo")
{
@@ -308,9 +323,8 @@ params.withflex=false; // nog even uitgeschakeld
+ " FROM mld_melding_note mn"
+ " WHERE mn.mld_melding_key = m.mld_melding_key) notitiedatum"
if (params.withflex)
if (anyflex)
{
// note: eigenlijk nog zoals mld_flexkenmerk.inc per discipline de bof/fof/fe-volgnummercondititie toevoegen...
sqln += ", (SELECT LISTAGG(mld_srtkenmerk_omschrijving || ':'|| CHR(160) || "
+ " CASE"
+ " WHEN skm.mld_srtkenmerk_kenmerktype = 'R' OR skm.mld_srtkenmerk_kenmerktype = 'S'"
@@ -323,7 +337,8 @@ params.withflex=false; // nog even uitgeschakeld
+ " FROM mld_srtkenmerk skm, mld_kenmerk k, mld_kenmerkmelding km"
+ " WHERE km.mld_melding_key = m.mld_melding_key"
+ " AND k.mld_kenmerk_key = km.mld_kenmerk_key"
+ " AND skm.mld_srtkenmerk_key = k.mld_srtkenmerk_key) mld_flex";
+ " AND BITAND(skm.mld_srtkenmerk_systeem,2) = 2"
+ " AND skm.mld_srtkenmerk_key = k.mld_srtkenmerk_key) flex";
}
// Voeg aan de sql het FROM en WHERE gedeelte toe
sqln += mld.getfromwherelist_sql(pautfunction, params);
@@ -869,8 +884,8 @@ params.withflex=false; // nog even uitgeschakeld
rst.addColumn(new Column({caption: L("lcl_fac_like_remark"), content: "oordeel_opm"}));
}
if (params.withflex)
rst.addColumn(new Column({caption: L("lcl_mld_flex_list"), content: "mld_flex"}));
if (anyflex)
rst.addColumn(new Column({caption: L("lcl_flexlist"), content: "flex"}));
/* de mogelijke acties */
rst.addAction({ action: "mld_edit", caption: L("lcl_edit"), isDefault: true } );

View File

@@ -56,6 +56,7 @@ var params = { urole : urole,
outputmode: outputmode,
showall: showall,
tiny: tiny,
withflex: !tiny,
perform: perform
}

View File

@@ -41,8 +41,10 @@ function opdr_list(params)
// params.bes : true | false
// params.offerte(s) : -1, 0 or 1
// params.withflex : boolean
// if a parameters has a value of -1, then it is assumed not to be set and to be ignored.
// if a parameter has a value of -1, then it is assumed not to be set and to be ignored.
/// Deze functie toont de opdrachten, en kan op diverse manieren gebruikt worden:
///
@@ -189,6 +191,23 @@ function opdr_list(params)
}
}
if (params.withflex)
{
// Fast check to see if we have any listable flex at all, to prevent superfluous empty column
var sql= "SELECT 1"
+" FROM mld_srtkenmerk sk, mld_kenmerk k"
+" WHERE BITAND (mld_srtkenmerk_systeem, 2) = 2"
+" AND sk.mld_srtkenmerk_key = k.mld_srtkenmerk_key"
+" AND k.mld_kenmerk_niveau = 'O'"
+" AND k.mld_kenmerk_verwijder IS NULL"
+" AND sk.mld_srtkenmerk_verwijder IS NULL"
+" AND ROWNUM = 1";
var oRs = Oracle.Execute(sql);
params.anyflex = !oRs.eof;
oRs.close();
}
%>
<html>
<head>
@@ -603,6 +622,8 @@ function opdr_list(params)
{
rst.addColumn(new Column({caption: L("lcl_mld_invoiced") + "&nbsp;(" + L("lcl_valutasign") + ")", content: "gefactureerd", datatype: "currency", total: true}));
}
if (params.anyflex)
rst.addColumn(new Column({caption: L("lcl_flexlist"), content: "flex"}));
// actions conditioneel maken?
rst.addAction({ action: "opdr_edit", caption: L("lcl_details"), isDefault: true });

View File

@@ -124,6 +124,7 @@ var params = { urole : urole,
bes: bes,
offerte: offerte,
planb: planb,
withflex: true,
mldopdrstrej: status1,
mldopdrstnak: status2,
mldopdrsttfi: status3,