FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization

svn path=/Website/branches/v2017.2/; revision=36301
This commit is contained in:
Erik Groener
2017-12-08 12:56:15 +00:00
parent cc12d17be5
commit a29daa08c1
7 changed files with 221 additions and 88 deletions

View File

@@ -219,14 +219,29 @@ function model_bgt_budgetmutatie()
if ((!jsondata.amountto || jsondata.amountto == 0) && (!jsondata.vatto || jsondata.vatto == 0))
abort_with_warning(L("bgt_budgetmutatie_err2").format(L("bgt_budgetmutatie_bedrag"), L("bgt_budgetmutatie_btwbedrag")));
jsondata.amountfrom = -1 * jsondata.amountto;
jsondata.vatfrom = -1 * jsondata.vatto;
}
this.hook_pre_put = function (params, jsondata, key)
{
if ((!jsondata.amountto || jsondata.amountto == 0) && (!jsondata.vatto || jsondata.vatto == 0))
abort_with_warning(L("bgt_budgetmutatie_err2").format(L("bgt_budgetmutatie_bedrag"), L("bgt_budgetmutatie_btwbedrag")));
jsondata.amountfrom = -1 * jsondata.amountto;
jsondata.vatfrom = -1 * jsondata.vatto;
}
var budget_key = getQParamInt("budgetcommon", -1);
var mutatie_key = getQParamInt("id", -1);
if (budget_key > -1)
{
var v_where = ( mutatie_key > -1
? "bgt_budgetmutatie_key = {0}".format(mutatie_key)
: "bgt_budget_key_van = {0} or bgt_budget_key_naar = {0}".format(budget_key)
);
this.REST_GET = generic_REST_GET(this, {
"GET": {
"wheres": ["bgt_budget_key_van = {0} or bgt_budget_key_naar = {0}".format(budget_key)]
"wheres": [v_where]
}
});
}

View File

@@ -121,11 +121,23 @@ function model_mld_opdr()
"typ": "date"
},
"estimate": {
"dbs": "mld_opdr_kosten_refiat",
"dbs": "estimate",
"sql": "CASE WHEN mld_statusopdr_key=10 THEN mld_opdr_kosten END",
"sqlshow": true,
"hidden_fld": true,
"label": "Raming",
"typ": "float",
"iscurrency": true,
"defaultvalue": "0",
"total": true
},
"contracted": {
"dbs": "contracted",
"sql": "CASE WHEN mld_statusopdr_key<>10 THEN mld_opdr_kosten END",
"sqlshow": true,
"hidden_fld": true,
"label": L("bgt_gecontracteerd"),
"typ": "float",
"iscurrency": true,
"total": true
},
"amount": {
@@ -258,7 +270,8 @@ function model_mld_opdr()
if (!obj.sequence && obj.sequence!=0)
abort_with_warning("Vul een volgnummer voor het contract in.");
checkAanwezigBudget(obj.costtype);
var v_costtype = (obj.costtype ? obj.costtype : getQParamInt("costtype", -1));
checkAanwezigBudget(v_costtype);
if (parent_key > -1) // Bij kopie van opdracht geen nieuw nummer genereren.
{
@@ -293,15 +306,17 @@ function model_mld_opdr()
// Nieuw contract, dus volgnummer is altijd uniek hierbinnen.
}
checkBudgetoverschrijding(obj);
checkBudgetoverschrijding(obj.id, obj.costtype, obj.amount, obj.vat);
}
this.hook_pre_put = function(params, obj, key)
{
checkAanwezigBudget(obj.costtype);
var v_costtype = (obj.costtype ? obj.costtype : getQParamInt("costtype", -1));
checkAanwezigBudget(v_costtype);
// Is de combinatie projectnummer/volgnummer nog steeds uniek?
var sql = "SELECT p.bgt_project_key"
+ " , o.prs_kostensoort_key"
+ " , o.mld_opdr_ordernr"
+ " FROM bgt_project p"
+ " , bgt_kostenrubriek r"
@@ -316,9 +331,37 @@ function model_mld_opdr()
var oRs = Oracle.Execute(sql);
var v_ordernr = oRs("mld_opdr_ordernr").Value;
var v_project_key = oRs("bgt_project_key").Value;
var v_cur_costtype_key = oRs("prs_kostensoort_key").Value;
oRs.Close();
checkUniekContractnummer(key, v_project_key, v_ordernr, obj.sequence);
checkBudgetoverschrijding(obj);
if (v_cur_costtype_key != obj.costtype)
{ // contract verplaatsen naar ander kostensoort
checkBudgetoverschrijding(obj.id, v_cur_costtype_key, 0, 0); // bedrag van deze kostensoort verwijderen
checkBudgetoverschrijding(-1, obj.costtype, obj.amount, obj.vat); // (aangepast) bedrag aan nieuwe kostensoort toevoegen
}
else
{
checkBudgetoverschrijding(obj.id, obj.costtype, obj.amount, obj.vat);
}
}
this.hook_pre_delete = function(params, key)
{
var sql = "SELECT MAX(o.prs_kostensoort_key) kostensoort"
+ " , COUNT(f.fin_factuur_key) aantal"
+ " FROM mld_opdr o"
+ " , fin_factuur f"
+ " WHERE o.mld_opdr_key = f.mld_opdr_key(+)"
+ " AND o.mld_opdr_key = " + key;
var oRs = Oracle.Execute(sql);
var aantal_facturen = oRs("aantal").Value;
var prs_kostensoort = oRs("kostensoort").Value;
oRs.Close();
if (aantal_facturen > 0)
abort_with_warning("Verwijder eerst de facturen bij dit contract.");
// Eerst proberen of er automatisch terug geboekt moet worden doot bedrag te muteren naar 0.
checkBudgetoverschrijding(key, prs_kostensoort, 0, 0);
}
var gparams = {
@@ -374,63 +417,117 @@ function model_mld_opdr()
abort_with_warning("Maak eerst een budget aan voor deze kostensoort voordat er contracten aan gekoppeld worden.");
}
function checkBudgetoverschrijding(data)
function checkBudgetoverschrijding(data_id, data_costtype, data_amount, data_vat)
{
var sql = "SELECT MAX(COALESCE(b.bgt_budget_bedrag, 0)) - SUM(COALESCE(o.mld_opdr_kosten, 0)) - NVL(" + data.amount + ",0) over_exc"
+ " , MAX(COALESCE(b.bgt_budget_btwbedrag, 0)) - SUM(COALESCE(o.mld_opdr_kosten_btw, 0)) - NVL(" + data.vat + ",0) over_btw"
+ " , MAX(c.bgt_budget_key) budget_key_van"
+ " , MAX(b.bgt_budget_key) budget_key_naar"
var sql = "SELECT MAX(b.bgt_budget_key) budget_s"
+ " , MAX(c.bgt_budget_key) budget_r"
+ " , MAX(COALESCE(b.bgt_budget_bedrag, 0)) budget_exc"
+ " , MAX(COALESCE(b.bgt_budget_btwbedrag, 0)) budget_btw"
+ " FROM bgt_budget b"
+ " , mld_opdr o"
+ " , bgt_budgetmutatie m"
+ " , (SELECT r.bgt_project_key"
+ " , bgt_budget_key"
+ " FROM bgt_budget r"
+ " WHERE r.bgt_budget_isreserve = 1"
+ " WHERE r.bgt_budget_isreserve = 1"
+ " ) c"
+ " WHERE b.prs_kostensoort_key = o.prs_kostensoort_key"
+ " AND b.bgt_project_key = c.bgt_project_key(+)"
+ " AND b.prs_kostensoort_key = " + data.costtype;
+ " WHERE b.bgt_project_key = c.bgt_project_key(+)"
+ " AND b.prs_kostensoort_key = " + data_costtype;
var oRs = Oracle.Execute(sql);
var over_exc = oRs("over_exc").Value;
var over_btw = oRs("over_btw").Value;
var budget_key_van = oRs("budget_key_van").Value;
var budget_key_naar = oRs("budget_key_naar").Value;
var budget_key_res = oRs("budget_r").Value;
var budget_key_srt = oRs("budget_s").Value;
var budget_exc = oRs("budget_exc").Value;
var budget_btw = oRs("budget_btw").Value;
oRs.Close();
over_exc = (over_exc > 0 ? 0 : over_exc);
over_inc = (over_btw > 0 ? 0 : over_btw);
if (over_exc < 0 || over_btw < 0)
var amount_old_exc = 0;
var amount_old_btw = 0;
if (data_id > -1)
{
// Door het toe te voegen contract ontstaat er een tekort op het budget.
// Boek het te tekort over vanaf de algemene reserve.
if (!budget_key_van)
abort_with_warning("Het project heeft geen algemeen reserve waaruit de budgetoverschrijding kan worden overgeboekt.");
var sql_ins = "INSERT INTO bgt_budgetmutatie"
+ "( bgt_budgetmutatie_datum"
+ ", bgt_budgetmutatie_omschrijving"
+ ", prs_perslid_key" // not null!
+ ", bgt_budget_key_van"
+ ", bgt_budget_bedrag_van"
+ ", bgt_budget_btwbedrag_van"
+ ", bgt_budget_key_naar"
+ ", bgt_budget_bedrag_naar"
+ ", bgt_budget_btwbedrag_naar"
//2017.3 + ", bgt_budgetmutatie_reserve"
+ ") VALUES"
+ "( SYSDATE"
+ ", 'AO Automatische overboeking'"
+ ", " + user_key
+ ", " + budget_key_van
+ ", " + over_exc
+ ", " + over_btw
+ ", " + budget_key_naar
+ ", " + (-1 * over_exc)
+ ", " + (-1 * over_btw)
//2017.3 + ", 1"
+ ")";
Oracle.Execute(sql_ins);
var sql = "SELECT COALESCE(t.mld_opdr_kosten, 0) amount_old_exc"
+ " , COALESCE(t.mld_opdr_kosten_btw, 0) amount_old_btw"
+ " FROM mld_opdr t"
+ " WHERE t.prs_kostensoort_key = " + data_costtype
+ " AND t.mld_opdr_key = " + data_id;
var oRs = Oracle.Execute(sql);
amount_old_exc = oRs("amount_old_exc").Value;
amount_old_btw = oRs("amount_old_btw").Value;
oRs.Close();
}
var sql = "SELECT SUM(o.mld_opdr_kosten) amount_total_exc"
+ " , SUM(o.mld_opdr_kosten_btw) amount_total_btw"
+ " FROM mld_opdr o"
+ " WHERE o.prs_kostensoort_key = " + data_costtype;
var oRs = Oracle.Execute(sql);
var amount_sum_exc = oRs("amount_total_exc").Value;
var amount_sum_btw = oRs("amount_total_btw").Value;
oRs.Close();
var sql = "SELECT SUM(m1.bgt_budget_bedrag_van) reserve_exc"
+ " , SUM(m1.bgt_budget_btwbedrag_van) reserve_btw"
+ " FROM bgt_budget b1"
+ " , bgt_budget b2"
+ " , bgt_budgetmutatie m1"
+ " WHERE b2.bgt_budget_isreserve = 1"
+ " AND b1.bgt_project_key = b2.bgt_project_key"
+ " AND m1.bgt_budget_key_van = b2.bgt_budget_key"
+ " AND m1.bgt_budget_Key_naar = b1.bgt_budget_key"
+ " AND b1.prs_kostensoort_key = " + data_costtype;
var oRs = Oracle.Execute(sql);
var reserve_exc = oRs("reserve_exc").Value;
var reserve_btw = oRs("reserve_btw").Value;
oRs.Close();
//
var bedrag_exc = 0;
var bedrag_btw = 0;
if (amount_old_exc < data_amount)
{
// verhoging contractwaarde exc
var overschot_exc = budget_exc - amount_sum_exc - (data_amount - amount_old_exc);
bedrag_exc = (overschot_exc < 0 ? overschot_exc : 0);
}
else
{
// verlaging contractwaarde exc
var overschot_exc = reserve_exc - (data_amount - amount_old_exc);
bedrag_exc = -1 * (overschot_exc > 0 ? reserve_exc : (data_amount - amount_old_exc) );
}
//
if (amount_old_btw < data_vat)
{
// verhoging contractwaarde btw
var overschot_btw = budget_btw - amount_sum_btw - (data_vat - amount_old_btw);
bedrag_btw = (overschot_btw < 0 ? overschot_btw : 0);
}
else
{
// verlaging contractwaarde btw
var overschot_btw = reserve_btw - (data_vat - amount_old_btw);
bedrag_btw = -1 * (overschot_btw > 0 ? reserve_btw : (data_vat - amount_old_btw) );
}
var sql_m = "INSERT INTO bgt_budgetmutatie"
+ "( bgt_budgetmutatie_datum"
+ ", bgt_budgetmutatie_omschrijving"
+ ", prs_perslid_key" // not null!
+ ", bgt_budget_key_van"
+ ", bgt_budget_bedrag_van"
+ ", bgt_budget_btwbedrag_van"
+ ", bgt_budget_key_naar"
+ ", bgt_budget_bedrag_naar"
+ ", bgt_budget_btwbedrag_naar"
//2017.3 + ", bgt_budgetmutatie_reserve"
+ ") VALUES"
+ "( SYSDATE"
+ ", 'AO Automatische overboeking'"
+ ", " + user_key
+ ", " + budget_key_res
+ ", " + bedrag_exc
+ ", " + bedrag_btw
+ ", " + budget_key_srt
+ ", " + (-1 * bedrag_exc)
+ ", " + (-1 * bedrag_btw)
//2017.3 + ", 1"
+ ")";
Oracle.Execute(sql_m);
}

View File

@@ -74,12 +74,14 @@ function model_prs_kostensoort()
"label": (S("bgt_enabled") ? L("prs_kostensoort_oms") : L("prs_kostensoort_opmerking")),
"typ": "varchar",
"required": (S("bgt_enabled") ? false : true),
"hidden_fld": (S("bgt_enabled") ? true : false),
"filter": "like"
},
"altcode": {
"dbs": "prs_kostensoort_altcode",
"label": L("prs_kostensoort_altcode"),
"typ": "varchar"
"label": (S("bgt_enabled") ? L("prs_kostensoort_oms") : L("prs_kostensoort_altcode")),
"typ": "varchar",
"required": (S("bgt_enabled") ? true : false)
},
"refcode": {
"dbs": "prs_kostensoort_refcode",

View File

@@ -206,7 +206,7 @@ var authparamsBGTUSE = user.checkAutorisation("WEB_BGTUSE");
{ label: L("lcl_period_to"),
initEmpty: true
});
CHECKBOXTR(L("lcl_fin_total_sum"), "fldbgtinclbtw", "bgt_inclbtw", true);
CHECKBOXTR(L("lcl_fin_total_sum"), "fldbgtinclbtw", "bgt_inclbtw", false);
%>
</table>
</td><!-- end column 2-->

View File

@@ -198,6 +198,7 @@ var transitParam = buildTransitParam([]);
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
+ (bgtgrp_key > 0 ? " AND ksg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
sql += " ORDER BY bgt_project_omschrijving"
@@ -246,6 +247,7 @@ var transitParam = buildTransitParam([]);
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
+ (bgtgrp_key > 0 ? " AND ksg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
sql += " GROUP BY kr.bgt_kostenrubriek_oms,"
@@ -293,24 +295,26 @@ var transitParam = buildTransitParam([]);
+ " , p.subproject deelproject"
+ " , p.kostenrubriek rubriek"
+ " , p.kostengroep groep"
+ " , p.prs_kostensoortgrp_key"
+ " , p.bgt_project_key"
+ " , p.bgt_kostenrubriek_key"
+ " , p.prs_kostensoortgrp_key"
+ " , p.prs_kostensoort_key"
+ " , p.kostensoort onderdeel"
+ " , p.scode rcode"
+ " , p.scode sortcode"
+ " , MAX(BGT.getBudgetOpDatum(b.bgt_budget_key, 0, NULL)) budget_origineel"
+ " , MAX(BGT.getBudgetOpDatum(b.bgt_budget_key, 0, SYSDATE)) budget_actueel"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, NULL, p.prs_kostensoort_key, 0, 'A', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, NULL, p.prs_kostensoort_key, 0, 'EMR', NULL)) budget_mutatie"
+ " , MAX(BGT.getBudgetOpDatum(b.bgt_budget_key, "+ (bgt_inclbtw ? 2 : 0) + ", NULL)) budget_origineel"
+ " , MAX(BGT.getBudgetOpDatum(b.bgt_budget_key, "+ (bgt_inclbtw ? 2 : 0) + ", SYSDATE)) budget_actueel"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, NULL, p.prs_kostensoort_key, "+ (bgt_inclbtw ? 2 : 0) + ", 'AR', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, NULL, p.prs_kostensoort_key, "+ (bgt_inclbtw ? 2 : 0) + ", 'EM', NULL)) budget_mutatie"
+ " FROM bgt_v_project_full p"
+ " , bgt_budget b"
+ " WHERE p.prs_kostensoort_key = b.prs_kostensoort_key"
+ " AND p.bgt_project_verwijder IS NULL"
+ " AND b.bgt_budget_isreserve = 0" // reserve bestaat alleen op rubriek
+ (bgtproj_key_arr.length > 0 ? " AND p.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ (bgtrubr_key > 0 ? "AND p.bgt_kostenrubriek_key = " + bgtrubr_key : "")
+ (bgtgrp_key > 0 ? " AND p.prs_kostensoortgrp_key = " + bgtgrp_key : "")
+ " AND p.ins_discipline_key =" + bgtdisc_key;
+ " AND p.ins_discipline_key = " + bgtdisc_key;
sql1 += " GROUP BY p.kostengroep"
+ ", p.prs_kostensoort_key"
+ ", p.scode"
@@ -342,10 +346,10 @@ var transitParam = buildTransitParam([]);
+ " , bd.budget_mutatie"
+ " FROM bgt_v_project_full pr"
+ " , (SELECT sb.prs_kostensoortgrp_key"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, 0, NULL)) budget_origineel"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, 0, SYSDATE)) budget_actueel"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, sb.prs_kostensoortgrp_key, -1, 0, 'A', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, sb.prs_kostensoortgrp_key, -1, 0, 'EMR', NULL)) budget_mutatie"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, "+ (bgt_inclbtw ? 2 : 0) + ", NULL)) budget_origineel"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, "+ (bgt_inclbtw ? 2 : 0) + ", SYSDATE)) budget_actueel"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, sb.prs_kostensoortgrp_key, -1, "+ (bgt_inclbtw ? 2 : 0) + ", 'AR', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(NULL, sb.prs_kostensoortgrp_key, -1, "+ (bgt_inclbtw ? 2 : 0) + ", 'EM', NULL)) budget_mutatie"
+ " FROM bgt_budget sb"
+ " WHERE sb.bgt_budget_isreserve = 0" // reserve bestaat alleen op rubriek
+ " AND sb.prs_kostensoortgrp_key IS NOT NULL"
@@ -355,6 +359,7 @@ var transitParam = buildTransitParam([]);
+ " GROUP BY sb.prs_kostensoortgrp_key"
+ " ) bd"
+ " WHERE pr.prs_kostensoortgrp_key = bd.prs_kostensoortgrp_key"
+ " AND pr.bgt_project_verwijder IS NULL"
+ " UNION "
+ "SELECT pr.project" // budget dat op rubriek staat, maar geen algemeen reserve is
+ " , pr.subproject deelproject"
@@ -374,8 +379,8 @@ var transitParam = buildTransitParam([]);
+ " , (SELECT sb.bgt_kostenrubriek_key"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, 0, NULL)) budget_origineel"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, 0, SYSDATE)) budget_actueel"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, NULL, NULL, 0, 'A', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, NULL, NULL, 0, 'EMR', NULL)) budget_mutatie"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, NULL, NULL, "+ (bgt_inclbtw ? 2 : 0) + ", 'AR', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, NULL, NULL, "+ (bgt_inclbtw ? 2 : 0) + ", 'EM', NULL)) budget_mutatie"
+ " FROM bgt_budget sb"
+ " WHERE sb.bgt_budget_isreserve = 0"
+ " AND sb.prs_kostensoortgrp_key IS NULL "
@@ -386,6 +391,7 @@ var transitParam = buildTransitParam([]);
+ " GROUP BY sb.bgt_kostenrubriek_key"
+ " ) bd"
+ " WHERE pr.bgt_kostenrubriek_key = bd.bgt_kostenrubriek_key"
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.prs_kostensoortgrp_key IS NULL"
+ " AND (bd.budget_actueel <> 0 OR bd.budget_reserve <> 0 OR bd.budget_mutatie <> 0)";
}
@@ -409,8 +415,8 @@ var transitParam = buildTransitParam([]);
+ " , sb.bgt_kostenrubriek_key"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, 0, NULL)) budget_origineel"
+ " , SUM(BGT.getBudgetOpDatum (sb.bgt_budget_key, 0, SYSDATE)) budget_actueel"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, -1, -1, 0, 'A', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, -1, -1, 0, 'EMR', NULL)) budget_mutatie"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, -1, -1, 0, 'AR', NULL)) budget_reserve"
+ " , MAX(BGT.getBudgetSoortMutatie(sb.bgt_kostenrubriek_key, -1, -1, 0, 'EM', NULL)) budget_mutatie"
+ " FROM bgt_budget sb"
+ " WHERE sb.bgt_kostenrubriek_key IS NOT NULL"
+ " AND sb.ins_discipline_key = " + bgtdisc_key
@@ -419,6 +425,7 @@ var transitParam = buildTransitParam([]);
+ " , sb.bgt_kostenrubriek_key"
+ " ) bd"
+ " WHERE pr.bgt_project_key = bd.bgt_project_key"
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.bgt_kostenrubriek_key = bd.bgt_kostenrubriek_key";
if (bgt_inclbtw)
@@ -452,6 +459,7 @@ var transitParam = buildTransitParam([]);
+ " , sb.bgt_kostenrubriek_key"
+ " ) bd"
+ " WHERE pr.bgt_project_key = bd.bgt_project_key"
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.rcode = 'R'"
+ " AND pr.gcode IS NULL"
+ " AND pr.scode IS NULL"
@@ -489,7 +497,8 @@ var transitParam = buildTransitParam([]);
+ " , subproject"
+ " FROM bgt_v_project_full tp"
+ " WHERE tp.ins_discipline_key = " + bgtdisc_key
+ (bgtproj_key_arr.length > 0 ? " AND b.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ " AND tp.bgt_project_verwijder IS NULL"
+ (bgtproj_key_arr.length > 0 ? " AND tp.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ " ) db"
+ " WHERE sb.bgt_project_key = db.bgt_project_key"
+ " AND sb.bgt_project_key = mb.bgt_project_key"
@@ -530,6 +539,7 @@ var transitParam = buildTransitParam([]);
+ (date_from ? " AND o.mld_opdr_datumbegin >= "+ date_from.beginToSQL() : "")
+ (date_to ? " AND o.mld_opdr_datumbegin < "+ date_to.endToSQL() : "")
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.ins_discipline_key = " + bgtdisc_key
+ " GROUP BY id.ins_discipline_key"
+ " , pr.bgt_project_key"
@@ -559,6 +569,7 @@ var transitParam = buildTransitParam([]);
+ (date_from ? " AND o.mld_opdr_datumbegin >= "+ date_from.beginToSQL() : "")
+ (date_to ? " AND o.mld_opdr_datumbegin < "+ date_to.endToSQL() : "")
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.ins_discipline_key = " + bgtdisc_key
+ " GROUP BY pr.ins_discipline_key"
+ " , pr.bgt_project_key";
@@ -587,6 +598,7 @@ var transitParam = buildTransitParam([]);
+ (date_from ? " AND f.fin_factuur_datum >= "+ date_from.beginToSQL() : "")
+ (date_to ? " AND f.fin_factuur_datum < "+ date_to.endToSQL() : "")
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.ins_discipline_key = " + bgtdisc_key
+ " GROUP BY id.ins_discipline_key"
+ " , pr.bgt_project_key"
@@ -618,6 +630,7 @@ var transitParam = buildTransitParam([]);
+ (date_from ? " AND f.fin_factuur_datum >= "+ date_from.beginToSQL() : "")
+ (date_to ? " AND f.fin_factuur_datum < "+ date_to.endToSQL() : "")
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
+ " AND pr.bgt_project_verwijder IS NULL"
+ " AND pr.ins_discipline_key = " + bgtdisc_key
+ " GROUP BY id.ins_discipline_key"
+ " , pr.bgt_project_key";
@@ -767,7 +780,7 @@ var transitParam = buildTransitParam([]);
{
v = "<span class='details"+ (v<0 ? " negative" : "") +"' onclick='FcltMgr.stopPropagation(event); naarbudget({0},{1},{2},{3},{4},this)'>" + v +"</span>";
if (groupby == 6)
v = (v).format(oRs("bgt_project_key").Value, null, null, null);
v = (v).format(bgtdisc_key, oRs("bgt_project_key").Value, null, null, null);
else if (groupby == 5)
{
if (bgtproj_key_arr.length == 1)
@@ -776,9 +789,9 @@ var transitParam = buildTransitParam([]);
v = (v).format(bgtdisc_key, null, null, null, null);
}
else if (groupby == 4)
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, null);
v = (v).format(bgtdisc_key, oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, null);
else if (groupby == 3)
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, oRs("prs_kostensoort_key").Value);
v = (v).format(bgtdisc_key, oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, oRs("prs_kostensoort_key").Value);
}
else
{
@@ -810,11 +823,11 @@ var transitParam = buildTransitParam([]);
v = (v).format(bgtdisc_key, null, null, null, null);
}
else if (groupby==4) /* opdrachten binnen de groep */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, null);
v = (v).format(bgtdisc_key, oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, null);
else if (groupby==3) /* opdrachten binnen de kostensoort */
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, oRs("prs_kostensoort_key").Value);
v = (v).format(bgtdisc_key, oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, oRs("prs_kostensoortgrp_key").Value, oRs("prs_kostensoort_key").Value);
else if (groupby==2) /* de opdracht */
v = (v).format(null, null, null, oRs("mld_opdr_key").Value);
v = (v).format(null, null, null, null, oRs("mld_opdr_key").Value);
}
return v;
}

View File

@@ -64,7 +64,7 @@ scaffolding(this_model,
"reference",
"startdate",
"estimate",
"amount",
"contracted",
"invoiced",
"tobeinvoiced",
"additional",

View File

@@ -39,14 +39,6 @@ var model_params = {
"budgetcostcategory",
"costtypegroup"
]
},
"list": {
"columns": [
"costtypegroup",
"name",
"remark",
"altcode"
]
}
};
@@ -55,6 +47,13 @@ if (S("bgt_enabled"))
model_params.search.requires = {
"js": ["../bgt/bgt_budget.js"]
};
model_params.list = {
"columns": [
"costtypegroup",
"name",
"altcode"
]
};
model_params.edit = {
"requires": {
"js": ["../bgt/bgt_budget.js"]
@@ -67,7 +66,14 @@ if (S("bgt_enabled"))
}
else
{
model_params.list.columns.push("refcode");
model_params.list = {
"columns": [
"costtypegroup",
"name",
"altcode",
"refcode"
]
};
}
scaffolding(this_model, model_params);