TWYN#52149 contracten en subnummers (bulkwijzigen opdrachten)
svn path=/Website/branches/v2018.1/; revision=39034
This commit is contained in:
@@ -551,30 +551,29 @@ obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
}
|
||||
|
||||
// Controle op overschrijden van budget.
|
||||
if (new_additional == 0)
|
||||
{
|
||||
if (v_cur_costtype_key != v_costtype)
|
||||
{ // Heeft dit contract ook nog subcontracten
|
||||
/*
|
||||
var sql = "SELECT COUNT(*) aantal"
|
||||
+ " so.mld_opdr_key"
|
||||
+ " , so.prs_kostensoort_key"
|
||||
+ " , so.mld_opdr_kosten"
|
||||
+ " , so.mld_opdr_kosten_btw"
|
||||
+ " FROM mld_opdr co"
|
||||
+ " , mld_opdr so"
|
||||
+ " , bgt_v_project_full cp"
|
||||
+ " , bgt_v_project_full sp"
|
||||
+ " WHERE co.prs_kostensoort_key = cp.prs_kostensoort_key"
|
||||
+ " AND so.prs_kostensoort_key = sp.prs_kostensoort_key"
|
||||
+ " AND co.mld_opdr_ordernr = so.mld_opdr_ordernr"
|
||||
+ " AND cp.bgt_project_key = sp.bgt_project_key"
|
||||
+ " AND co.mld_opdr_key = " + key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
if (v_cur_costtype_key != v_costtype)
|
||||
{ // Heeft dit contract ook nog subcontracten
|
||||
|
||||
var sql = "SELECT so.mld_opdr_key"
|
||||
+ " , so.prs_kostensoort_key"
|
||||
+ " , so.mld_opdr_kosten"
|
||||
+ " , so.mld_opdr_kosten_btw"
|
||||
+ " FROM mld_opdr co"
|
||||
+ " , mld_opdr so"
|
||||
+ " , bgt_v_project_full cp"
|
||||
+ " , bgt_v_project_full sp"
|
||||
+ " WHERE co.prs_kostensoort_key = cp.prs_kostensoort_key"
|
||||
+ " AND so.prs_kostensoort_key = sp.prs_kostensoort_key"
|
||||
+ " AND co.mld_opdr_ordernr = so.mld_opdr_ordernr"
|
||||
+ " AND cp.bgt_project_key = sp.bgt_project_key"
|
||||
+ " AND co.mld_opdr_key = " + key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
var v_cur_opdr_key = oRs("mld_opdr_key").Value;
|
||||
//
|
||||
if (v_cur_opdr_key != key)
|
||||
{
|
||||
var v_cur_opdr_key = oRs("mld_opdr_key").Value;
|
||||
//
|
||||
var v_opdr_exc = 0;
|
||||
var v_opdr_btw = 0;
|
||||
var v_budget = getBudget(v_cur_costtype_key);
|
||||
@@ -587,39 +586,44 @@ obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
v_datamutatie = checkBudgetoverschrijding(-1, v_budget, v_opdr_exc, v_opdr_btw); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
//
|
||||
// facturen krijgen ook nieuwe kostensoort.
|
||||
var sql = "UPDATE fin_factuur"
|
||||
// subcontracten veranderen van kostensoort
|
||||
var sql = "UPDATE mld_opdr"
|
||||
+ " SET prs_kostensoort_key = " + v_costtype
|
||||
+ " WHERE mld_opdr_key = " + v_cur_opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
//
|
||||
oRs.MoveNext();
|
||||
// facturen van subcontracten krijgen ook nieuwe kostensoort.
|
||||
var sql = "UPDATE fin_factuur"
|
||||
+ " SET prs_kostensoort_key = " + v_costtype
|
||||
+ " WHERE mld_opdr_key = " + v_cur_opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
oRs.Close();
|
||||
*/
|
||||
/* dit is het originele stuk voor alleen het huidige contract */
|
||||
|
||||
// contract verplaatsen naar ander kostensoort
|
||||
var v_budget_old = getBudget(v_cur_costtype_key);
|
||||
var v_datamutatie = checkBudgetoverschrijding(id, v_budget_old, 0, 0); // bedrag van deze kostensoort verwijderen
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
var v_budget_new = getBudget(v_costtype);
|
||||
var v_datamutatie = checkBudgetoverschrijding(-1, v_budget_new, new_amount, new_vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
// facturen krijgen ook nieuwe kostensoort.
|
||||
var sql = "UPDATE fin_factuur"
|
||||
+ " SET prs_kostensoort_key = " + v_costtype
|
||||
+ " WHERE mld_opdr_key = " + key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
/* einde */
|
||||
}
|
||||
else
|
||||
{
|
||||
var v_budget_new = getBudget(v_costtype);
|
||||
var v_datamutatie = checkBudgetoverschrijding(id, v_budget_new, new_amount, new_vat);
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
/* Alleen het huidige contract */
|
||||
// contract verplaatsen naar ander kostensoort
|
||||
var v_budget_old = getBudget(v_cur_costtype_key);
|
||||
var v_datamutatie = checkBudgetoverschrijding(id, v_budget_old, 0, 0); // bedrag van deze kostensoort verwijderen
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
|
||||
var v_budget_new = getBudget(v_costtype);
|
||||
var v_datamutatie = checkBudgetoverschrijding(-1, v_budget_new, new_amount, new_vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
// facturen van opdracht waarop gezocht is krijgen ook nieuwe kostensoort.
|
||||
var sql = "UPDATE fin_factuur"
|
||||
+ " SET prs_kostensoort_key = " + v_costtype
|
||||
+ " WHERE mld_opdr_key = " + key;
|
||||
Oracle.Execute(sql);
|
||||
// De opdracht zelf wordt nu aangepast.
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
var v_budget_new = getBudget(v_costtype);
|
||||
var v_datamutatie = checkBudgetoverschrijding(id, v_budget_new, new_amount, new_vat);
|
||||
insertMutatie( v_datamutatie, "AO" );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user