TWYN#56259 nummering budgetmutaties

svn path=/Website/branches/v2018.2/; revision=40706
This commit is contained in:
Erik Groener
2019-01-29 12:27:21 +00:00
parent 74fcf768aa
commit 3e59401c2c

View File

@@ -379,13 +379,13 @@ function model_bgt_budgetmutatie()
if (jsondata.sequence)
{
var budget_key = ((jsondata.budgetfrom && jsondata.budgetfrom != -1) ? jsondata.budgetfrom : jsondata.budgetto);
var sql = "SELECT ins_discipline_key"
var sql = "SELECT bgt_project_key"
+ " FROM bgt_budget"
+ " WHERE bgt_budget_key = " + budget_key;
var oRs = Oracle.Execute(sql);
var discipline_key = oRs("ins_discipline_key").Value;
var project_key = oRs("bgt_project_key").Value;
oRs.Close();
if (check_volgnr(discipline_key, jsondata.sequence))
if (check_volgnr(project_key, jsondata.sequence))
abort_with_warning(L("bgt_budgetmutatie_err4"));
}
}
@@ -398,18 +398,18 @@ function model_bgt_budgetmutatie()
{
var sql = "UPDATE bgt_budgetmutatie"
+ " SET bgt_budgetmutatie_volgnr ="
+ " (SELECT COALESCE(MAX(bgt_budgetmutatie_volgnr),0) + 1"
+ " (SELECT COALESCE(MAX(m.bgt_budgetmutatie_volgnr),0) + 1"
+ " FROM bgt_budget b"
+ " , bgt_budgetmutatie m"
+ " WHERE ( b.bgt_budget_key = m.bgt_budget_key_naar"
+ " OR b.bgt_budget_key = m.bgt_budget_key_van"
+ " )"
+ " AND b.ins_discipline_key = (SELECT bs.ins_discipline_key"
+ " FROM bgt_budget bs"
+ " , bgt_budgetmutatie ms"
+ " WHERE bs.bgt_budget_key = COALESCE(ms.bgt_budget_key_van, ms.bgt_budget_key_naar)"
+ " AND ms.bgt_budgetmutatie_key = " + key
+ ")"
+ " AND b.bgt_project_key = (SELECT bs.bgt_project_key"
+ " FROM bgt_budget bs"
+ " , bgt_budgetmutatie ms"
+ " WHERE bs.bgt_budget_key = COALESCE(ms.bgt_budget_key_van, ms.bgt_budget_key_naar)"
+ " AND ms.bgt_budgetmutatie_key = " + key
+ ")"
+ " )"
+ " WHERE bgt_budgetmutatie_key = " + key;
Oracle.Execute(sql);
@@ -456,15 +456,15 @@ function model_bgt_budgetmutatie()
if (jsondata.sequence != volgnr_oud)
{
var sql = "SELECT bs.ins_discipline_key"
var sql = "SELECT bs.bgt_project_key"
+ " FROM bgt_budget bs"
+ " , bgt_budgetmutatie ms"
+ " WHERE bs.bgt_budget_key = COALESCE(ms.bgt_budget_key_van, ms.bgt_budget_key_naar)"
+ " AND ms.bgt_budgetmutatie_key = " + key;
var oRs = Oracle.Execute(sql);
var discipline_key = oRs("ins_discipline_key").Value;
var project_key = oRs("bgt_project_key").Value;
oRs.Close();
if (check_volgnr(discipline_key, jsondata.sequence))
if (check_volgnr(project_key, jsondata.sequence))
abort_with_warning(L("bgt_budgetmutatie_err4"));
}
}
@@ -660,7 +660,7 @@ function model_bgt_budgetmutatie()
}
}
function check_volgnr(p_discipline_key, p_volgnr)
function check_volgnr(p_project_key, p_volgnr)
{
var sql = "SELECT MAX(CASE WHEN m.bgt_budgetmutatie_volgnr = " + p_volgnr
+ " THEN 1"
@@ -671,7 +671,7 @@ function model_bgt_budgetmutatie()
+ " WHERE ( b.bgt_budget_key = m.bgt_budget_key_naar"
+ " OR b.bgt_budget_key = m.bgt_budget_key_van"
+ " )"
+ " AND b.ins_discipline_key = " + p_discipline_key;
+ " AND b.bgt_project_key = " + p_project_key;
var oRs = Oracle.Execute(sql);
var volgnr_bestaat = oRs("volgnr_aanwezig").Value == 1;
oRs.Close();