FCLT#86882: Blokbehandelteam notificaties bij acceptatie en wijzigingen.
svn path=/Website/trunk/; revision=67836
This commit is contained in:
164
APPL/MLD/mld.inc
164
APPL/MLD/mld.inc
@@ -296,10 +296,10 @@ mld = {
|
||||
},
|
||||
|
||||
notifybehandelteam:
|
||||
function (mld_key, mld_ins_discipline_key)
|
||||
function (mld_key, mld_ins_discipline_key, use_disc)
|
||||
{ // Notificeer BO medewerkers van het behandelteam over een behandelteam wijziging
|
||||
if (mld_ins_discipline_key > 0)
|
||||
Oracle.Execute("BEGIN mld.notifybackoffice (" + mld_key + ", 'MLDBHG', 2); END;");
|
||||
Oracle.Execute("BEGIN mld.notifybackoffice (" + mld_key + ", 'MLDBHG', " + (use_disc? "3, " + mld_ins_discipline_key : "2") + "); END;");
|
||||
},
|
||||
|
||||
trackbehandelaar:
|
||||
@@ -1022,7 +1022,7 @@ mld = {
|
||||
},
|
||||
|
||||
getpriocon:
|
||||
// Lever de icon behorend bij prioriteit p
|
||||
// Lever de icon op behorend bij prioriteit p
|
||||
function (p)
|
||||
{
|
||||
var displ = "";
|
||||
@@ -1653,6 +1653,164 @@ mld = {
|
||||
return trackarray;
|
||||
},
|
||||
|
||||
saveFlexBlokKenmerken:
|
||||
function(mld_key, flex_blok, params)
|
||||
{ // Behandelbare bloktitel kenmerken afhandelen tijdens het opslaan van de melding.
|
||||
// Deze kenmerken komen alleen in de MLD module voor. Daarom is de code hier in mld.inc gedefinieerd.
|
||||
var mldtrackarray = []; // eventuele tracking
|
||||
var kenmerk_key = flex_blok.id;
|
||||
var new_disc_key = flex_blok.team;
|
||||
var new_prs_key = flex_blok.prs;
|
||||
var new_complete = flex_blok.complete == 1;
|
||||
|
||||
var sql = "SELECT mld_melding_status FROM MLD_melding WHERE mld_melding_key = " + mld_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var mld_status = oRs("mld_melding_status").Value;
|
||||
oRs.Close();
|
||||
|
||||
var sql = "SELECT mld_kenmerkblokmelding_key"
|
||||
+ " , kbm.ins_discipline_key"
|
||||
+ " , kbm.prs_perslid_key"
|
||||
+ " , CASE WHEN kbm.mld_kenmerkblokmelding_afmelddatum IS NOT NULL THEN 1 ELSE 0 END complete"
|
||||
+ " , COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("t.mld_srtkenmerk_omschrijving", "t.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ " FROM mld_kenmerkblokmelding kbm"
|
||||
+ " , mld_kenmerk k"
|
||||
+ " , mld_srtkenmerk t"
|
||||
+ " WHERE k.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
|
||||
+ " AND k.mld_kenmerk_key = kbm.mld_kenmerk_key"
|
||||
+ " AND kbm.mld_melding_key = " + mld_key
|
||||
+ " AND kbm.mld_kenmerk_key = " + kenmerk_key;
|
||||
|
||||
oRsb = Oracle.Execute(sql);
|
||||
if (!oRsb.eof)
|
||||
{ // mld_kenmerkblokmelding record aanwezig.
|
||||
var old_disc_key = oRsb("ins_discipline_key").Value || -1;
|
||||
var old_prs_key = oRsb("prs_perslid_key").Value || -1;
|
||||
var old_complete = oRsb("complete").Value == 1;
|
||||
var label = oRsb("kenmerk_omschrijving").Value; // For tracking only.
|
||||
|
||||
// Notificeren en tracken van mld_kenmerkblokmelding behandelteam en behandelaar gebeurt pas als de melding is geaccepteerd (FCLT#86882).
|
||||
// Dan is de status "Gaccepteerd(4)" of "Uitgegeven(7)"
|
||||
if ((new_disc_key != old_disc_key || new_prs_key != old_prs_key || new_complete != old_complete) && (mld_status == 4 || mld_status == 7))
|
||||
{
|
||||
sql = "UPDATE mld_kenmerkblokmelding"
|
||||
+ " SET ins_discipline_key = " + (new_disc_key > 0? new_disc_key : "NULL")
|
||||
+ " , prs_perslid_key = " + (new_prs_key > 0? new_prs_key : "NULL")
|
||||
+ " , mld_kenmerkblokmelding_afmelddatum = " + (new_complete? "SYSDATE" : "NULL")
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND mld_kenmerk_key = " + kenmerk_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// notificeer als iemand anders aan de bak moet,
|
||||
if (!new_complete && new_prs_key != old_prs_key && new_prs_key > 0)
|
||||
{
|
||||
// Niet tracken, want dat verwart met de behandeling van de hoofdmeldingen.
|
||||
// De behandeling van het blok wordt toegewezen, niet de behandeling van de melding immmers.
|
||||
mld.notifybehandelaar2(mld_key, new_prs_key); // Notificatie behandelaar blok.
|
||||
}
|
||||
else if (!new_complete && new_disc_key != old_disc_key && new_prs_key == -1 && new_disc_key > 0)
|
||||
{
|
||||
// Wel MLDBHG notificatie, geen MLDBHG tracking want dat zou verwarrend zijn voor het hoofdbehandelteam.
|
||||
mld.notifybehandelteam(mld_key, new_disc_key, true); // Notificatie hoofdbehandelteam.
|
||||
}
|
||||
|
||||
// En dan wil ik deze aanpassing(en) tracken als een gewone wijziging (MLDUPD)
|
||||
// Deze komt niet met de andere tracking mee, omdat de waarden niet bij de gewonen kenmerken zitten
|
||||
// en daar de verschillen dus niet opgemerkt worden. Daarom hier.
|
||||
if (!new_complete && new_disc_key != old_disc_key)
|
||||
{
|
||||
mldtrackarray.push(label + ": " + buildTrackText("key", (old_disc_key > -1? old_disc_key : null), (new_disc_key > -1 ? new_disc_key : ""), {foreign: "MLD_DISCIPLINE"}));
|
||||
}
|
||||
if (!new_complete && new_prs_key != old_prs_key)
|
||||
{
|
||||
mldtrackarray.push(label + ": " + buildTrackText("key", (old_prs_key > -1? old_prs_key : null), (new_prs_key > -1 ? new_prs_key : ""), {foreign: "PRS_PERSLID"}));
|
||||
}
|
||||
// een eventuele completering ook tracken
|
||||
if (new_complete && !old_complete) // is dat ook bij de undo?
|
||||
{
|
||||
mldtrackarray.push(label + ": " + buildTrackText("varchar", "", L("lcl_mld_is_blokafm"), {nodiff: true})); // Hoe track je dat netter?
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // Er is geen mld_kenmerkblokmelding record aanwezig. Dat hoeft niet alleen bij een nieuwe melding zo te zijn. Dat kan o.a. ook bij een nieuw kenmerk "Bloktitel met behandelaar".
|
||||
// Behandelteam (ins_discipline_key), behandelaar (prs_perslid_key) en gereed (mld_kenmerkblokmelding_afmelddatum) zijn niet verplicht,.
|
||||
sql = "INSERT INTO mld_kenmerkblokmelding"
|
||||
+ " (mld_melding_key"
|
||||
+ " , mld_kenmerk_key"
|
||||
+ " , ins_discipline_key"
|
||||
+ " , prs_perslid_key"
|
||||
+ " , mld_kenmerkblokmelding_afmelddatum"
|
||||
+ " )"
|
||||
+ " VALUES (" + mld_key
|
||||
+ " , " + kenmerk_key
|
||||
+ " , " + (new_disc_key > 0? new_disc_key : "NULL")
|
||||
+ " , " + (new_prs_key > 0? new_prs_key : "NULL")
|
||||
+ " , " + (new_complete > 0? "SYSDATE" : "NULL")
|
||||
+ " )";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Notificeren en tracken van default mld_kenmerkblokmelding behandelteam en behandelaar gebeurt pas bij het accepteren van de melding (FCLT#86882).
|
||||
// Dan is de status "Gaccepteerd(4)" of "Uitgegeven(7)"
|
||||
if (mld_status == 4 || mld_status == 7)
|
||||
{
|
||||
if (!new_complete && new_prs_key > 0)
|
||||
{
|
||||
// Niet tracken, want dat verwart met de behandeling van de hoofdmeldingen.
|
||||
// De behandeling van het blok wordt toegewezen, niet de behandeling van de melding immmers.
|
||||
mld.notifybehandelaar2(mld_key, new_prs_key); // Notificatie behandelaar blok.
|
||||
}
|
||||
else if (!new_complete && new_disc_key > 0)
|
||||
{
|
||||
// Wel MLDBHG notificatie, geen MLDBHG tracking want dat zou verwarrend zijn voor het hoofdbehandelteam.
|
||||
mld.notifybehandelteam(mld_key, new_disc_key, true); // Notificatie hoofdbehandelteam.
|
||||
}
|
||||
|
||||
// Er zijn geen oude waardes, want het mld_kenmerkblokmelding was niet aanwezig. Er is ook nog geen kenmerk omschrijving (label).
|
||||
sql = "SELECT COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ " FROM mld_kenmerk k"
|
||||
+ " , mld_srtkenmerk sk"
|
||||
+ " WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key"
|
||||
+ " AND k.mld_kenmerk_key = " + kenmerk_key;
|
||||
oRsk = Oracle.Execute(sql);
|
||||
var label = oRsk("kenmerk_omschrijving").Value; // For tracking only.
|
||||
oRsk.Close();
|
||||
if (!params.isNew && !new_complete && new_disc_key > 0)
|
||||
{
|
||||
mldtrackarray.push(label + ": " + buildTrackText("key", null, new_disc_key, {foreign: "MLD_DISCIPLINE"}));
|
||||
}
|
||||
if (!params.isNew && !new_complete && new_prs_key > 0)
|
||||
{
|
||||
mldtrackarray.push(label + ": " + buildTrackText("key", null, new_prs_key, {foreign: "PRS_PERSLID"}));
|
||||
}
|
||||
if (!params.isNew && new_complete)
|
||||
{
|
||||
mldtrackarray.push(label + ": " + buildTrackText("varchar", "", L("lcl_mld_is_blokafm")), {nodiff: true}); // Hoe track je dat netter?
|
||||
}
|
||||
}
|
||||
}
|
||||
oRsb.Close();
|
||||
|
||||
return mldtrackarray;
|
||||
},
|
||||
|
||||
deleteOldFlexBlocks: // Geef onderwerp, omschrijving en notities terug als JSON object
|
||||
function(mld_key, blokkenmerk_key_arr)
|
||||
{ // Als een melding is doorgestuurd kunnen er mld_kenmerkblokmelding van de oude stdmelding zijn die verwijderd moeten worden.
|
||||
sql = "DELETE FROM mld_kenmerkblokmelding"
|
||||
+ " WHERE mld_kenmerkblokmelding_key IN"
|
||||
+ " (SELECT kbm.mld_kenmerkblokmelding_key"
|
||||
+ " FROM mld_kenmerkblokmelding kbm"
|
||||
+ " WHERE kbm.mld_melding_key = " + mld_key
|
||||
+ (blokkenmerk_key_arr.length
|
||||
? " AND kbm.mld_kenmerk_key NOT IN (" + blokkenmerk_key_arr.join(",") + ")"
|
||||
: "")
|
||||
+ " )";
|
||||
Oracle.Execute(sql);
|
||||
},
|
||||
|
||||
getmldjson: // Geef onderwerp, omschrijving en notities terug als JSON object
|
||||
function(mld_key)
|
||||
{
|
||||
|
||||
@@ -133,6 +133,37 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
datefields: datefields
|
||||
}
|
||||
mld.acceptmelding(ingesloten[i].mld_key, params);
|
||||
|
||||
// Notificeren van default mld_kenmerkblokmelding behandelteam en behandelaar.
|
||||
var sql = "SELECT kbm.mld_kenmerkblokmelding_key"
|
||||
+ " , kbm.ins_discipline_key"
|
||||
+ " , kbm.prs_perslid_key"
|
||||
+ " , CASE"
|
||||
+ " WHEN kbm.mld_kenmerkblokmelding_afmelddatum IS NOT NULL THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END complete"
|
||||
+ " FROM mld_kenmerkblokmelding kbm"
|
||||
+ " WHERE kbm.mld_melding_key = " + ingesloten[i].mld_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
var disc_key = oRs("ins_discipline_key").Value;
|
||||
var prs_key = oRs("prs_perslid_key").Value;
|
||||
var complete = oRs("complete").Value == 1;
|
||||
if (!complete && prs_key > 0)
|
||||
{
|
||||
// Niet tracken, want dat verwart met de behandeling van de hoofdmeldingen.
|
||||
// De behandeling van het blok wordt toegewezen, niet de behandeling van de melding immmers.
|
||||
mld.notifybehandelaar2(ingesloten[i].mld_key, prs_key); // Notificatie behandelaar blok.
|
||||
}
|
||||
else if (!complete && disc_key > 0)
|
||||
{
|
||||
// Wel MLDBHG notificatie, geen MLDBHG tracking want dat zou verwarren met het hoofdbehandelteam.
|
||||
mld.notifybehandelteam(ingesloten[i].mld_key, disc_key, true); // Notificatie behandelteam blok.
|
||||
}
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
var result = {success: true, message: "", key: mld_key_arr.join(",")};
|
||||
|
||||
@@ -839,9 +839,9 @@ function getFlexKenmerkBlockSql(params)
|
||||
canChange: my_mldrechten.canWrite("WEB_MLDBOF") || my_mldrechten.canWrite("WEB_MLDFOF"),
|
||||
show_alg: show_alg,
|
||||
loc_key: loc_key,
|
||||
readodisc: (mld_key > 0 && !canFlexChange) || mld_status == 1 || mld_status == 5 || mld_status == 6,
|
||||
readoprs: mld_status == 1 || mld_status == 5 || mld_status == 6,
|
||||
readocompl: mld_status == 1 || mld_status == 5 || mld_status == 6
|
||||
readodisc: (mld_key > 0 && !canFlexChange) || (mld_status != 4 && mld_status != 7),
|
||||
readoprs: mld_status != 4 && mld_status != 7,
|
||||
readocompl: mld_status != 4 && mld_status != 7
|
||||
};
|
||||
|
||||
var listkenmerk_params = { kenmerk_search: advanced,
|
||||
|
||||
@@ -1368,10 +1368,10 @@ function kenmerktype_listbox (pfield, pprops, pparams)
|
||||
+ (pfield.required > 1
|
||||
? ( pprops.multiEdit
|
||||
? " onChange='multi_fld_change(this);'"
|
||||
: " onChange='checkRequiredGroup(\"" + pparams.required_group
|
||||
+ "\", " + (pprops.requiredbyemptyval != null? "{emptyvalue: " + pprops.requiredbyemptyval + "}" : "null")
|
||||
+ ");"
|
||||
+ (pfield.usedInExpr ? pparams.onchangeExp + "; " : "")
|
||||
: " onChange='checkRequiredGroup(\"" + pparams.required_group
|
||||
+ "\", " + (pprops.requiredbyemptyval != null? "{emptyvalue: " + pprops.requiredbyemptyval + "}" : "null")
|
||||
+ ");"
|
||||
+ (pfield.usedInExpr ? pparams.onchangeExp + "; " : "")
|
||||
+ "' "
|
||||
)
|
||||
: (pparams.hasAnyFlexExpr
|
||||
@@ -3419,6 +3419,7 @@ function RenameFlexFolders(flexsql, pModule, pNiveau, pKey)
|
||||
Oracle.Execute(sql_u);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// Copy selected files from oldbasepath to newbasepath
|
||||
@@ -3752,141 +3753,30 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
}
|
||||
|
||||
var trackarray = []; // eventuele tracking
|
||||
|
||||
var hasExpression = false;
|
||||
|
||||
var notify_disc = [];
|
||||
var notify_prs = [];
|
||||
var blokkenmerk_key_arr = [];
|
||||
for (kenmerkkey in flexdata)
|
||||
{
|
||||
var flex = flexdata[kenmerkkey];
|
||||
var kenmerk_key = flex.id;
|
||||
if (flex.type == "b" && params.module == "MLD")
|
||||
{ // Behandelbare bloktitel.
|
||||
var kenmerk_key = flex.id;
|
||||
var new_disc_key = flex.team;
|
||||
var new_prs_key = flex.prs;
|
||||
var new_complete = flex.complete == 1;
|
||||
// Alleen meldingen bebben behandelbare bloktitel kenmerken.
|
||||
// Deze afhandelen in een eigen mld procedure. Zo blijft deze functie saveFlexKenmerken verder algemeen.
|
||||
var mldtracking = mld.saveFlexBlokKenmerken(parentKey, flex, params); // Behandelbare bloktitel kenmerken afhandelen tijdens het opslaan van de melding.
|
||||
trackarray.concat(mldtracking);
|
||||
blokkenmerk_key_arr.push(kenmerk_key);
|
||||
var sql = "SELECT mld_kenmerkblokmelding_key"
|
||||
+ " , kbm.ins_discipline_key"
|
||||
+ " , kbm.prs_perslid_key"
|
||||
+ " , CASE WHEN kbm.mld_kenmerkblokmelding_afmelddatum IS NOT NULL THEN 1 ELSE 0 END complete"
|
||||
+ " , COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("t.mld_srtkenmerk_omschrijving", "t.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ " FROM mld_kenmerkblokmelding kbm, mld_kenmerk k, mld_srtkenmerk t "
|
||||
+ " WHERE k.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
|
||||
+ " AND k.mld_kenmerk_key = kbm.mld_kenmerk_key"
|
||||
+ " AND kbm.mld_melding_key = " + parentKey
|
||||
+ " AND kbm.mld_kenmerk_key = " + kenmerk_key;
|
||||
|
||||
oRsb = Oracle.Execute(sql);
|
||||
if (!oRsb.eof)
|
||||
{ // mld_kenmerkblokmelding record aanwezig.
|
||||
var old_disc_key = oRsb("ins_discipline_key").Value || -1;
|
||||
var old_prs_key = oRsb("prs_perslid_key").Value || -1;
|
||||
var old_complete = oRsb("complete").Value == 1;
|
||||
var label = oRsb("kenmerk_omschrijving").Value; // For tracking only.
|
||||
|
||||
if (new_disc_key != old_disc_key || new_prs_key != old_prs_key || new_complete != old_complete)
|
||||
{
|
||||
sql = "UPDATE mld_kenmerkblokmelding"
|
||||
+ " SET ins_discipline_key = " + (new_disc_key > 0? new_disc_key : "NULL")
|
||||
+ " , prs_perslid_key = " + (new_prs_key > 0? new_prs_key : "NULL")
|
||||
+ " , mld_kenmerkblokmelding_afmelddatum = " + (new_complete? "SYSDATE" : "NULL")
|
||||
+ " WHERE mld_melding_key = " + parentKey
|
||||
+ " AND mld_kenmerk_key = " + kenmerk_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// notificeer als iemand anders aan de bak moet,
|
||||
if (!new_complete && new_prs_key != old_prs_key && new_prs_key > 0)
|
||||
{
|
||||
notify_prs[new_prs_key] = true;
|
||||
}
|
||||
else if (!new_complete && new_disc_key != old_disc_key && new_prs_key == -1 && new_disc_key > 0)
|
||||
{
|
||||
notify_disc[new_disc_key] = true;
|
||||
}
|
||||
|
||||
// En dan wil ik deze aanpassing(en) tracken als een gewone wijziging (MLDUPD)
|
||||
// Deze komt niet met de andere tracking mee, omdat de waarden niet bij de gewonen kenmerken zitten
|
||||
// en daar de verschillen dus niet opgemerkt worden. Daarom hier.
|
||||
if (!new_complete && new_disc_key != old_disc_key)
|
||||
{
|
||||
trackarray.push(label + ": " + buildTrackText("key", (old_disc_key > -1? old_disc_key : null), (new_disc_key > -1 ? new_disc_key : ""), {foreign: "MLD_DISCIPLINE"}));
|
||||
}
|
||||
if (!new_complete && new_prs_key != old_prs_key)
|
||||
{
|
||||
trackarray.push(label + ": " + buildTrackText("key", (old_prs_key > -1? old_prs_key : null), (new_prs_key > -1 ? new_prs_key : ""), {foreign: "PRS_PERSLID"}));
|
||||
}
|
||||
// een eventuele completering ook tracken
|
||||
if (new_complete && !old_complete) // is dat ook bij de undo?
|
||||
{
|
||||
trackarray.push(label + ": " + buildTrackText("varchar", "", L("lcl_mld_is_blokafm"), {nodiff: true})); // Hoe track je dat netter?
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // Er is geen mld_kenmerkblokmelding record aanwezig.
|
||||
// Behandelteam (ins_discipline_key), behandelaar (prs_perslid_key) en gereed (mld_kenmerkblokmelding_afmelddatum) zijn niet verplicht,.
|
||||
sql = "INSERT INTO mld_kenmerkblokmelding"
|
||||
+ " (mld_melding_key"
|
||||
+ " , mld_kenmerk_key"
|
||||
+ " , ins_discipline_key"
|
||||
+ " , prs_perslid_key"
|
||||
+ " , mld_kenmerkblokmelding_afmelddatum"
|
||||
+ " )"
|
||||
+ " VALUES ( " + parentKey
|
||||
+ " , " + kenmerk_key
|
||||
+ " , " + (new_disc_key > 0? new_disc_key : "NULL")
|
||||
+ " , " + (new_prs_key > 0? new_prs_key : "NULL")
|
||||
+ " , " + (new_complete > 0? "SYSDATE" : "NULL")
|
||||
+ " )";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// notificeren
|
||||
if (!new_complete && new_prs_key > 0)
|
||||
{
|
||||
notify_prs[new_prs_key] = true;
|
||||
}
|
||||
else if (!new_complete && new_disc_key > 0)
|
||||
{
|
||||
notify_disc[new_disc_key] = true;
|
||||
}
|
||||
|
||||
// Er zijn geen oude waardes, want het mld_kenmerkblokmelding was niet aanwezig. Er is ook nog geen kenmerk omschrijving (label).
|
||||
sql = "SELECT COALESCE (" + lcl.xsql("k.mld_kenmerk_omschrijving", "k.mld_kenmerk_key")
|
||||
+ " , " + lcl.xsql("sk.mld_srtkenmerk_omschrijving", "sk.mld_srtkenmerk_key") + ") kenmerk_omschrijving"
|
||||
+ " FROM mld_kenmerk k"
|
||||
+ " , mld_srtkenmerk sk"
|
||||
+ " WHERE k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key"
|
||||
+ " AND k.mld_kenmerk_key = " + kenmerk_key;
|
||||
oRsk = Oracle.Execute(sql);
|
||||
var label = oRsk("kenmerk_omschrijving").Value; // For tracking only.
|
||||
oRsk.Close();
|
||||
if (!params.isNew && !new_complete && new_disc_key > 0)
|
||||
{
|
||||
trackarray.push(label + ": " + buildTrackText("key", null, new_disc_key, {foreign: "MLD_DISCIPLINE"}));
|
||||
}
|
||||
if (!params.isNew && !new_complete && new_prs_key > 0)
|
||||
{
|
||||
trackarray.push(label + ": " + buildTrackText("key", null, new_prs_key, {foreign: "PRS_PERSLID"}));
|
||||
}
|
||||
if (!params.isNew && new_complete)
|
||||
{
|
||||
trackarray.push(label + ": " + buildTrackText("varchar", "", L("lcl_mld_is_blokafm")), {nodiff: true}); // Hoe track je dat netter?
|
||||
}
|
||||
}
|
||||
oRsb.Close();
|
||||
}
|
||||
|
||||
if (kenmerk_keys[flex.id])
|
||||
if (kenmerk_keys[kenmerk_key])
|
||||
if ( flex.type == "M" || // Die zijn al lang geregistreerd in UploadForm_save.asp
|
||||
(!params.isNew && (flex.type == "F" || flex.type == "E")) || // Deze zijn al geregistreerd via AjaxSaveFlex.asp
|
||||
kenmerk_keys[flex.id] && kenmerk_keys[flex.id].readonly) // Alleen wijzigbare flexkenmerken kunnen opgeslagen worden.
|
||||
kenmerk_keys[kenmerk_key] && kenmerk_keys[kenmerk_key].readonly) // Alleen wijzigbare flexkenmerken kunnen opgeslagen worden.
|
||||
continue;
|
||||
|
||||
var vold = (kenmerk_keys[flex.id] && !!kenmerk_keys[flex.id].waarde)? kenmerk_keys[flex.id].waarde : "";
|
||||
var vold = (kenmerk_keys[kenmerk_key] && !!kenmerk_keys[kenmerk_key].waarde)? kenmerk_keys[kenmerk_key].waarde : "";
|
||||
hasExpression = hasExpression || flex.expr == 1;
|
||||
var vnew = flex.value || "";
|
||||
|
||||
@@ -3922,7 +3812,7 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
// kenmerk_readonly
|
||||
// kenmerk_uniek
|
||||
// fac_kenmerkdomein_key
|
||||
var oRsk = Oracle.Execute(params.allKenmerkenSQL + flex.id);
|
||||
var oRsk = Oracle.Execute(params.allKenmerkenSQL + kenmerk_key);
|
||||
var label = oRsk("kenmerk_omschrijving").Value;
|
||||
var kdomein_key = oRsk("fac_kenmerkdomein_key").Value;
|
||||
var confidential= oRsk("kenmerk_systeem").Value&4;
|
||||
@@ -3963,7 +3853,7 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
// Controleren of het hier om een verbruiksmeter gaat.
|
||||
var sql2 = "SELECT ins_kenmerk_meetwaarde"
|
||||
+ " FROM ins_kenmerk"
|
||||
+ " WHERE ins_kenmerk_key = " + flex.id;
|
||||
+ " WHERE ins_kenmerk_key = " + kenmerk_key;
|
||||
oRs = Oracle.Execute(sql2);
|
||||
verbruiksmeter = oRs("ins_kenmerk_meetwaarde").Value == 1;
|
||||
oRs.Close();
|
||||
@@ -3972,14 +3862,14 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
// A real kenmerk value exists
|
||||
if (flex.value == "" || flex.value == "undefined")
|
||||
{
|
||||
if (kenmerk_keys[flex.id])
|
||||
if (kenmerk_keys[kenmerk_key])
|
||||
{
|
||||
if (verbruiksmeter)
|
||||
{ // Zet de sysdate zodat de historie behouden blijft
|
||||
sql = "UPDATE ins_kenmerkdeel"
|
||||
+ " SET ins_kenmerkdeel_verwijder = " + "SYSDATE"
|
||||
+ " WHERE ins_deel_key = " + parentKey
|
||||
+ " AND ins_kenmerk_key = " + flex.id
|
||||
+ " AND ins_kenmerk_key = " + kenmerk_key
|
||||
+ " AND ins_kenmerkdeel_verwijder IS NULL";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
@@ -3989,7 +3879,7 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
// heeft gedaan (BONS#21991) dan blijven wij wel van die records af.
|
||||
sql = "DELETE FROM " + params.kenmerkTable
|
||||
+ " WHERE " + params.kenmerkParentKey + " = " + parentKey
|
||||
+ " AND " + params.kenmerkKey + " = " + flex.id
|
||||
+ " AND " + params.kenmerkKey + " = " + kenmerk_key
|
||||
+ " AND " + params.kenmerkTable + "_VERWIJDER IS NULL";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
@@ -3997,7 +3887,7 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
continue;
|
||||
}
|
||||
|
||||
if (flex.id in kenmerk_keys) // Kenmerk komt in de kenmerkTable voor. Desnoods met waarde null (wat eigenlijk niet zou mogen).
|
||||
if (kenmerk_key in kenmerk_keys) // Kenmerk komt in de kenmerkTable voor. Desnoods met waarde null (wat eigenlijk niet zou mogen).
|
||||
{ // update
|
||||
// Alleen een update als de waarde veranderd is
|
||||
if (vold != vnew)
|
||||
@@ -4008,14 +3898,14 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
sql = "UPDATE ins_kenmerkdeel"
|
||||
+ " SET ins_kenmerkdeel_verwijder = " + "SYSDATE"
|
||||
+ " WHERE ins_deel_key = " + parentKey
|
||||
+ " AND ins_kenmerk_key = " + flex.id
|
||||
+ " AND ins_kenmerk_key = " + kenmerk_key
|
||||
+ " AND ins_kenmerkdeel_verwijder IS NULL";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
sql = "INSERT INTO ins_kenmerkdeel "
|
||||
+ " (ins_kenmerkdeel_waarde, ins_deel_key, ins_kenmerk_key)"
|
||||
+ " VALUES "
|
||||
+ " (" + safe.quoted_sql(flex.value) + ", " + parentKey + ", " + flex.id + ")";
|
||||
+ " (" + safe.quoted_sql(flex.value) + ", " + parentKey + ", " + kenmerk_key + ")";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
@@ -4024,7 +3914,7 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
// heeft gedaan (BONS#21991) dan blijven wij wel van die records af.
|
||||
sql = "UPDATE " + params.kenmerkTable + " SET " + params.kenmerkWaarde + " = " + safe.quoted_sql(flex.value)
|
||||
+ " WHERE " + params.kenmerkParentKey + " = " + parentKey
|
||||
+ " AND " + params.kenmerkKey + " = " + flex.id
|
||||
+ " AND " + params.kenmerkKey + " = " + kenmerk_key
|
||||
+ " AND " + params.kenmerkTable + "_verwijder IS NULL";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
@@ -4042,7 +3932,7 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
+ ")"
|
||||
+ " VALUES "
|
||||
+ "(" + parentKey
|
||||
+ "," + flex.id
|
||||
+ "," + kenmerk_key
|
||||
+ "," + safe.quoted_sql(flex.value)
|
||||
+ (params.moduleName? "," + safe.quoted_sql(params.moduleVal): "")
|
||||
+ ")";
|
||||
@@ -4051,32 +3941,9 @@ function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiM
|
||||
}
|
||||
}
|
||||
|
||||
if (blokkenmerk_key_arr.length)
|
||||
{ // Er zijn behandelbare blokken aanwezig.
|
||||
// Als een melding is doorgestuurd kunnen er mld_kenmerkblokmelding van de oude stdmelding zijn die verwijderd moeten worden.
|
||||
sql = "DELETE FROM mld_kenmerkblokmelding"
|
||||
+ " WHERE mld_kenmerkblokmelding_key IN"
|
||||
+ " (SELECT kbm.mld_kenmerkblokmelding_key"
|
||||
+ " FROM mld_kenmerkblokmelding kbm"
|
||||
+ " WHERE kbm.mld_melding_key = " + parentKey
|
||||
+ " AND kbm.mld_kenmerk_key NOT IN (" + blokkenmerk_key_arr.join(",") + "))";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
|
||||
if (params.module == "MLD")
|
||||
{ // Behandelbare bloktitel.
|
||||
for (var disckey in notify_disc)
|
||||
{
|
||||
// wel MLDBHG notificatie, geen MLDBHG tracking want dat zou verwarren met het hoofdbehandelteam
|
||||
mld.notifybehandelteam(parentKey, disckey);
|
||||
}
|
||||
|
||||
for (var prskey in notify_prs)
|
||||
{
|
||||
// Niet tracken, want dat verwart met de behandeling van de hoofdmeldingen
|
||||
// de behandeling van het blok wordt toegewezen, niet de behandeling van de melding immmers
|
||||
mld.notifybehandelaar2(parentKey, prskey, false); // Tracking en notificatie behandelaar.
|
||||
}
|
||||
if (params.module == "MLD" && blokkenmerk_key_arr.length)
|
||||
{ // Als een melding is doorgestuurd kunnen er mld_kenmerkblokmelding van de oude stdmelding zijn die verwijderd moeten worden.
|
||||
mld.deleteOldFlexBlocks(parentKey, blokkenmerk_key_arr);
|
||||
}
|
||||
|
||||
if (hasExpression)
|
||||
|
||||
Reference in New Issue
Block a user