NOUR#82373: In takenoverzicht bijlage zichtbaar maken.

svn path=/Website/trunk/; revision=67143
This commit is contained in:
Maykel Geerdink
2024-11-21 15:22:47 +00:00
parent 4c96c96a85
commit a86a67c854
5 changed files with 79 additions and 23 deletions

View File

@@ -205,13 +205,13 @@ function model_ins_kenmerk(niveau, params)
"mask": 3,
"radios": [
{
"name": "inplan",
"name": "listobj",
"label": L("mgt_kenmerk_systeem_overview_obj"),
"mask": 1,
"defaultvalue": 0
},
{
"name": "start",
"name": "listmjob",
"label": L("mgt_kenmerk_systeem_overview_mjob"),
"mask": 2,
"defaultvalue": 0
@@ -324,6 +324,22 @@ function model_ins_kenmerk(niveau, params)
, "ins_kenmerk.ins_kenmerk_verwijder IS NULL"
]
};
this.fields.inlist.bits = [
{
"name": "",
"label": "",
"typ": "check",
"mask": 1,
"radios": [
{
"name": "listctr",
"label": L("mgt_kenmerk_systeem_overview_ctr"),
"mask": 1,
"defaultvalue": 0
}
]
}
]
}
else
{ //kenmerk_niveau: D | G | S

View File

@@ -6225,17 +6225,52 @@ ins = {checkAutLevel:
function (p_inlijst, params)
{ // Fast check to see if we have any listable flex at all, to prevent superfluous column
var inspect = params.inspect;
var ins_deel = params.ins_deel;
var ins_deelsrtcontrole = params.ins_deelsrtcontrole;
if (inspect) {
var ins_deelsrtcontrole = params.ins_deelsrtcontrole;
}
else {
var ins_key = params.ins_key;
}
var sql = "SELECT COALESCE (" + lcl.xsql("k.ins_kenmerk_omschrijving", "k.ins_kenmerk_key")
+ " , " + lcl.xsql("sk.ins_srtkenmerk_omschrijving", "sk.ins_srtkenmerk_key") + ") kenmerk_omschrijving"
+ " , sk.ins_srtkenmerk_kenmerktype"
+ " FROM ins_srtkenmerk sk"
+ " , ins_kenmerk k"
+ (inspect && ins_key
? " , ctr_discipline cd"
+ " , ins_srtcontrole c"
: "")
+ " WHERE sk.ins_srtkenmerk_key = k.ins_srtkenmerk_key"
+ " AND BITAND (ins_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1) // In overzicht tonen {1=Objectenbeheer overzicht, 2=MJOB Planningsconsole}.
+ " AND k.ins_kenmerk_verwijder IS NULL"
+ " AND sk.ins_srtkenmerk_verwijder IS NULL";
+ " AND sk.ins_srtkenmerk_verwijder IS NULL"
+ (inspect && ins_key
? " AND ((k.ins_srtinstallatie_key = c.ins_srtcontrole_key"
+ " AND k.ins_kenmerk_niveau = 'C')"
+ " OR (k.ins_srtinstallatie_key = cd.ins_discipline_key"
+ " AND k.ins_kenmerk_niveau = 'E')"
+ " OR (k.ins_srtinstallatie_key IS NULL"
+ " AND k.ins_kenmerk_niveau = 'T'))"
+ " AND cd.ins_discipline_verwijder IS NULL"
+ " AND c.ins_srtcontrole_key = (SELECT xcp.ins_srtcontrole_key"
+ " FROM ins_v_defined_inspect_xcp xcp"
+ " WHERE xcp.ins_deel_key = " + ins_key
+ " AND xcp.ins_srtcontrole_periode > 0"
+ " AND xcp.ctr_discipline_key IN"
+ " (SELECT w.ins_discipline_key"
+ " FROM fac_v_webgebruiker w"
+ " , fac_functie f"
+ " WHERE w.fac_functie_key = f.fac_functie_key"
+ " AND f.fac_functie_code = 'WEB_CTRUSE'"
+ " AND w.fac_gebruiker_prs_level_write < 9"
+ " AND w.fac_gebruiker_alg_level_write < 9"
+ " AND w.prs_perslid_key = " + user_key + ")"
+ " AND xcp.ins_scenario_key = 1)"
+ " AND c.ctr_discipline_key = cd.ins_discipline_key"
: "")
+ (inspect
? " AND k.ins_kenmerk_niveau IN ('T', 'E', 'C')" // T=Alle taken, C=Periodiek taken, E=Taakcategorie.
: " AND k.ins_kenmerk_niveau IN ('D', 'G', 'S')"); // D=Discipline, G=Objectgroep, S=Objectsoort.
var oRs = Oracle.Execute(sql);
var v_flexParams = { anyflex: !oRs.eof};
if (v_flexParams.anyflex)
@@ -6247,7 +6282,7 @@ ins = {checkAutLevel:
if (!oRs.eof)
{
multiflex = true;
v_flexParams.flexlabel = inspect? L("lcl_flexlist_ctr") : L("lcl_flexlist_ins");
v_flexParams.flexlabel = (inspect? L("lcl_flexlist_ctr") : L("lcl_flexlist_ins"));
while (!oRs.eof)
{
if (oRs("ins_srtkenmerk_kenmerktype").Value == "M")
@@ -6301,11 +6336,7 @@ ins = {checkAutLevel:
+ " WHERE ikmd.kenmerk_key = ikm.ins_kenmerk_key"
+ " AND ikmd.outer_key = "
+ (inspect
? " CASE"
+ " WHEN ikm.ins_kenmerk_niveau = 'C'"
+ " THEN " + ins_deelsrtcontrole + ".ins_deelsrtcontrole_key"
+ " ELSE " + ins_deel + ".ins_deel_key"
+ " END"
? ins_deelsrtcontrole + ".ins_deelsrtcontrole_key"
: " dl.ins_deel_key")
+ " AND iskm.ins_srtkenmerk_key = ikm.ins_srtkenmerk_key"
+ " AND BITAND(ikm.ins_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1) // In overzicht tonen {1=Objectenbeheer overzicht, 2=MJOB Planningsconsole}.
@@ -6313,10 +6344,10 @@ ins = {checkAutLevel:
+ " AND ikm.ins_kenmerk_verwijder IS NULL"
+ " AND ikmd.verwijder IS NULL"
+ (inspect
? ""
: " AND ikm.ins_kenmerk_niveau <> 'C'")
+ " AND ( ikm.ins_kenmerk_niveau <> 'G'"
+ " OR ikm.ins_srtinstallatie_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + "))"
? " AND ikm.ins_kenmerk_niveau IN ('T', 'E', 'C')" // T=Alle taken, C=Periodiek taken, E=Taakcategorie.
: " AND ikm.ins_kenmerk_niveau IN ('D', 'G', 'S')") // D=Discipline, G=Objectgroep, S=Objectsoort.
+ " AND (ikm.ins_kenmerk_niveau <> 'G'"
+ " OR ikm.ins_srtinstallatie_key NOT IN (" + S("sle_ins_srt_groep_key") + ", " + S("cil_ins_srt_groep_key") + "))"
+ ") insflex"
: "");
return v_flexParams;

View File

@@ -207,7 +207,7 @@ var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
var insFlexParams;
if (!excel && !print)
{
insFlexParams = ins.ins_deel_flex_params(1, {inspect: true, ins_deel: "d", ins_deelsrtcontrole: "idsc"}); // 1=Objectbeheer overzicht.
insFlexParams = ins.ins_deel_flex_params(1, {inspect: true, ins_key: ins_key, ins_deelsrtcontrole: "idsc"}); // 1=Taken overzicht bij object.
}
// Twee queries achter elkaar.

View File

@@ -431,7 +431,7 @@ function ins_list (pautfunction, params)
if (withflex && !excel && !print)
{
var insFlexParams = ins.ins_deel_flex_params(1, {inspect: inspect, ins_deel: "dl", ins_deelsrtcontrole: "ispn"}); // 1=Objectbeheer overzicht.
var insFlexParams = ins.ins_deel_flex_params(1, {inspect: inspect, ins_deelsrtcontrole: "ispn"}); // 1=Objectbeheer overzicht.
params.insFlexParams = insFlexParams;
}
%>
@@ -1052,14 +1052,19 @@ function ins_list (pautfunction, params)
function fncolFlexBijlagen(oRs)
{
var flexval = oRs("insflex").Value;
var ins_key = oRs("ins_deel_key").Value;
if (inspect) {
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
}
else {
var ins_key = oRs("ins_deel_key").Value;
}
var result = ( flexval
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
: ""
);
if (insFlexParams.bijlageflex)
{
result += ins.ins_deel_flex_bijlagen(ins_key, 1, inspect); // 1=Objectebeheer overzicht.
result += ins.ins_deel_flex_bijlagen((inspect? ins_deelsrtcontrole_key : ins_key), 1, inspect); // 1=Objectebeheer overzicht.
}
return result;
}
@@ -1081,7 +1086,7 @@ function ins_list (pautfunction, params)
{
var this_ins = ins.func_enabled_deel(koppel_key);
if (this_ins.canChange) {
buttons.push({ icon: "fa-fclt-edit", title: L("lcl_ins_manage"), action: "ins_deelkoppeling()" });
buttons.push({ icon: "fa-arrow-right-arrow-left", title: L("lcl_ins_manage"), action: "ins_deelkoppeling()" });
}
buttons.push({ icon: "fa-diagram-project", title: L("lcl_ins_deelkoppeling_diagram"), action: "ins_deelkoppeling_diagram()" });
}
@@ -1109,7 +1114,7 @@ function ins_list (pautfunction, params)
{
var this_ins = ins.func_enabled_deel(parent_key);
if (this_ins.canChange) {
buttons.push({ icon: "fa-fclt-edit", title: L("lcl_ins_manage"), action: "ins_onderdelen()" });
buttons.push({ icon: "fa-list-tree", title: L("lcl_ins_manage"), action: "ins_onderdelen()" });
}
}
@@ -1300,9 +1305,13 @@ function ins_list (pautfunction, params)
// Wel naar Excel hooguit. Maar we moeten hier sowieso naar kijken irt showDefault
rst.addColumn(new Column({caption: L("lcl_obj_geoxcoord"), content: "ins_deel_x", purpose: PRINTING_ONLY, showDefault: false}));
rst.addColumn(new Column({caption: L("lcl_obj_geoycoord"), content: "ins_deel_y", purpose: PRINTING_ONLY, showDefault: false}));
}
if (withflex && !excel && !print && insFlexParams.anyflex)
if (fronto || groepering == -1 || inspect)
{
if (withflex && !excel && !print && insFlexParams.anyflex) {
rst.addColumn(new Column({caption: insFlexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
}
}
if (groepering > 0)

View File

@@ -380,7 +380,7 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
<%
// Start building the query to fetch all objects satisfying
var algFlexParams = alg.alg_onroerendgoed_flex_params("G", 2); // In overzicht tonen: 2=MJOB Planningsconsole.
var insFlexParams = ins.ins_deel_flex_params(2, {inspect: false, ins_deel: "dl"}); // In overzicht tonen: 2=MJOB Planningsconsole.
var insFlexParams = ins.ins_deel_flex_params(2, {inspect: false}); // In overzicht tonen: 2=MJOB Planningsconsole.
var mjbparams = { execute: mode == 3,
scenario: scenario,
fulldetails: fulldetails,