MNNL#52305: Testresultaat: Multiwijzigen/Multiverplaatsen over meerdere objectsoorten.
svn path=/Website/trunk/; revision=37774
This commit is contained in:
@@ -117,20 +117,27 @@ authparams = last_this_ins.authparams(autfunction);
|
||||
<body class="modal" id="mod_insmultiedit">
|
||||
<%
|
||||
sql = "SELECT DISTINCT s.ins_srtdeel_key" // PF: verondersteld de omschrijving overbodig hier
|
||||
+ ", s.ins_srtdeel_binding"
|
||||
+ " , g.ins_srtgroep_key"
|
||||
+ " , g.ins_discipline_key"
|
||||
+ " FROM ins_deel d"
|
||||
+ ", ins_srtdeel s"
|
||||
+ " , ins_srtdeel s"
|
||||
+ " , ins_srtgroep g"
|
||||
+ " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key"
|
||||
+ " AND d.ins_deel_key in (" + ingesloten.join(",") + ")";
|
||||
+ " AND s.ins_srtgroep_key = g.ins_srtgroep_key"
|
||||
+ " AND d.ins_deel_key in (" + ingesloten.join(",") + ")";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var ins_srtdeel_key = oRs("ins_srtdeel_key").value;
|
||||
var ins_srtdeel_binding = oRs("ins_srtdeel_binding").value;
|
||||
var ins_srtdeel_key = oRs("ins_srtdeel_key").Value;
|
||||
var ins_srtgroep_key = oRs("ins_srtgroep_key").Value;
|
||||
var ins_discipline_key = oRs("ins_discipline_key").Value;
|
||||
var diff_objsrt = false;
|
||||
var i = 0;
|
||||
var diff_grp = false
|
||||
var diff_disc = false;
|
||||
oRs.MoveNext();
|
||||
while (!oRs.eof)
|
||||
{
|
||||
i++;
|
||||
if (oRs("ins_srtdeel_key").value != ins_srtdeel_key) diff_objsrt = true;
|
||||
if (oRs("ins_srtdeel_key").Value != ins_srtdeel_key) diff_objsrt = true;
|
||||
if (oRs("ins_srtgroep_key").Value != ins_srtgroep_key) diff_grp = true;
|
||||
if (oRs("ins_discipline_key").Value != ins_discipline_key) diff_disc = true;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.close();
|
||||
@@ -258,13 +265,21 @@ authparams = last_this_ins.authparams(autfunction);
|
||||
<%
|
||||
|
||||
// Als je objectsoort verschilt dan zijn alleen de "vaste" kenmerken te wijzigen en de flexkenmerken dus niet.
|
||||
if (!diff_objsrt)
|
||||
// Als de groep hetzelfde is en de objectsoort verschillend, dan alleen de flexkenmerken op discipline en groep niveau tonen.
|
||||
// Als de discipline hetzelfde is en de objectgroep en objectsoort verschillend, dan alleen de flexkenmerken op discipline niveau tonen.
|
||||
if (!diff_disc)
|
||||
{
|
||||
var fromniveau = "S";
|
||||
if (diff_grp)
|
||||
fromniveau = "D";
|
||||
else if (diff_objsrt)
|
||||
fromniveau = "G";
|
||||
generateFlexKenmerkBlock({ fnpre: function () {BLOCK_START("insMultiEdit", L("lcl_flexible_properties"));},
|
||||
fnpost: BLOCK_END,
|
||||
urole: urole,
|
||||
ins_key: -1,
|
||||
srtdeelkey_array: ins_srtdeel_key > 0? [ins_srtdeel_key] : [],
|
||||
fromniveau: fromniveau,
|
||||
nodefaults: true,
|
||||
reado: false,
|
||||
multi: true,
|
||||
|
||||
@@ -45,6 +45,7 @@ function generateFlexKenmerkBlock(params)
|
||||
|
||||
var ins_key = params.ins_key || -1; // Deel key
|
||||
var srtdeel_key = params.srtdeel_key || -1; // Srtdeel key
|
||||
var fromniveau = params.fromniveau || "S";
|
||||
var srtdeel_oms = params.srtdeel_oms;
|
||||
var srtdeelkey_array = params.srtdeelkey_array || [];
|
||||
var disc_key = params.disc_key || -1;
|
||||
@@ -265,9 +266,12 @@ function generateFlexKenmerkBlock(params)
|
||||
+ " AND k.ins_kenmerk_niveau = 'G')"
|
||||
+ " OR (k.ins_srtinstallatie_key = g.ins_discipline_key"
|
||||
+ " AND k.ins_kenmerk_niveau = 'D'))"
|
||||
+ (bewerkniveau == 'S'
|
||||
? " AND ins_kenmerk_bewerkniveau = 'S'"
|
||||
: "")
|
||||
+ (fromniveau != "S"
|
||||
? " AND k.ins_kenmerk_niveau IN ('D'" + (fromniveau == "G"? ", 'G'" : "") + ")"
|
||||
: "")
|
||||
+ (bewerkniveau == "S"
|
||||
? " AND ins_kenmerk_bewerkniveau = 'S'"
|
||||
: "")
|
||||
+ (srtdeel_oms && srtdeel_oms != ""
|
||||
? " AND ( (ins_srtdeel_upper LIKE " + safe.quoted_sql_wild("%" + srtdeel_oms + "%") + ")"
|
||||
+ " OR (ins_srtdeel_code_upper LIKE " + safe.quoted_sql_wild("%" + srtdeel_oms + "%") + "))"
|
||||
|
||||
Reference in New Issue
Block a user