FSN#39055 BCS/2000 functionaliteit in FACILITOR - customization
svn path=/Website/branches/v2017.2/; revision=36039
This commit is contained in:
@@ -85,7 +85,7 @@ function model_bgt_budget()
|
|||||||
},
|
},
|
||||||
"amountoriginal": {
|
"amountoriginal": {
|
||||||
"dbs": "bgt_budget_bedrag_origineel",
|
"dbs": "bgt_budget_bedrag_origineel",
|
||||||
"sql": "(BGT.getBudgetOpDatum(bgt_budget.bgt_budget_key, NULL))",
|
"sql": "(BGT.getBudgetOpDatum(bgt_budget.bgt_budget_key, 0, NULL))",
|
||||||
"label": L("bgt_budget_origineel"),
|
"label": L("bgt_budget_origineel"),
|
||||||
"typ": "float",
|
"typ": "float",
|
||||||
"iscurrency": true,
|
"iscurrency": true,
|
||||||
@@ -93,7 +93,7 @@ function model_bgt_budget()
|
|||||||
},
|
},
|
||||||
"amountmutation": {
|
"amountmutation": {
|
||||||
"dbs": "bgt_budget_bedrag_mutatie",
|
"dbs": "bgt_budget_bedrag_mutatie",
|
||||||
"sql": "(BGT.getBudgetMutaties(bgt_budget.bgt_budget_key, NULL, NULL))",
|
"sql": "(BGT.getBudgetMutaties(bgt_budget.bgt_budget_key, 0, NULL, NULL))",
|
||||||
"label": L("bgt_budget_mutaties"),
|
"label": L("bgt_budget_mutaties"),
|
||||||
"typ": "float",
|
"typ": "float",
|
||||||
"iscurrency": true,
|
"iscurrency": true,
|
||||||
|
|||||||
@@ -79,7 +79,8 @@ function _model_bgt_discipline()
|
|||||||
"dbs": "ins_discipline_btw",
|
"dbs": "ins_discipline_btw",
|
||||||
"label": L("bgt_discipline_btw"),
|
"label": L("bgt_discipline_btw"),
|
||||||
"typ": "check",
|
"typ": "check",
|
||||||
"default": "false"
|
"default": "false",
|
||||||
|
"hidden_fld": true
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,13 @@ function model_fin_factuur()
|
|||||||
"foreign": bgt_budgetproject_foreign(),
|
"foreign": bgt_budgetproject_foreign(),
|
||||||
"showtransit": true
|
"showtransit": true
|
||||||
},
|
},
|
||||||
|
"costtype": {
|
||||||
|
"dbs": "prs_kostensoort_key",
|
||||||
|
"label": L("prs_kostensoort_key"),
|
||||||
|
"typ": "key",
|
||||||
|
"foreign": bgt_costtype_foreign(),
|
||||||
|
"required": false
|
||||||
|
},
|
||||||
"company": {
|
"company": {
|
||||||
"dbs": "mld_opdr.mld_uitvoerende_keys",
|
"dbs": "mld_opdr.mld_uitvoerende_keys",
|
||||||
"label": L("lcl_ord_company"),
|
"label": L("lcl_ord_company"),
|
||||||
@@ -65,14 +72,6 @@ function model_fin_factuur()
|
|||||||
"showtransit": true,
|
"showtransit": true,
|
||||||
"clone": false
|
"clone": false
|
||||||
},
|
},
|
||||||
"costtype": {
|
|
||||||
"dbs": "prs_kostensoort_key",
|
|
||||||
"label": L("prs_kostensoort_key"),
|
|
||||||
"typ": "key",
|
|
||||||
"foreign": bgt_costtype_foreign(),
|
|
||||||
"required": false,
|
|
||||||
"hidden_fld": true
|
|
||||||
},
|
|
||||||
"additional": {
|
"additional": {
|
||||||
"dbs": "mld_opdr.mld_opdr_meerwerk",
|
"dbs": "mld_opdr.mld_opdr_meerwerk",
|
||||||
"label": L("lcl_mld_opdr_meerwerk"),
|
"label": L("lcl_mld_opdr_meerwerk"),
|
||||||
@@ -94,6 +93,13 @@ function model_fin_factuur()
|
|||||||
"typ": "varchar",
|
"typ": "varchar",
|
||||||
"hidden_fld": true
|
"hidden_fld": true
|
||||||
},
|
},
|
||||||
|
"account": {
|
||||||
|
"dbs": "mld_opdr.prs_kostenplaats_key",
|
||||||
|
"label": L("bgt_budget_account"),
|
||||||
|
"typ": "key",
|
||||||
|
"foreign": bgt_account_foreign(),
|
||||||
|
"readonly": true
|
||||||
|
},
|
||||||
"invoice": {
|
"invoice": {
|
||||||
"dbs": "fin_factuur_nr",
|
"dbs": "fin_factuur_nr",
|
||||||
"label": L("lcl_fin_invoice_number"),
|
"label": L("lcl_fin_invoice_number"),
|
||||||
@@ -209,13 +215,33 @@ function model_fin_factuur()
|
|||||||
</script>
|
</script>
|
||||||
<%
|
<%
|
||||||
|
|
||||||
// Bij klonen: id=-1, invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
|
if (!obj.id && obj.invoice)
|
||||||
if (obj.invoice)
|
|
||||||
{
|
{
|
||||||
|
// Bij klonen: id=(bestaat niet), invoice=niet leeg. Dan een (volgende) volgnummer erachter zetten.
|
||||||
var invoice = obj.invoice;
|
var invoice = obj.invoice;
|
||||||
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")-1) : invoice);
|
var cur_inv = (invoice.indexOf("/") > -1 ? invoice.substring(0,invoice.indexOf("/")-1) : invoice);
|
||||||
var cur_seq = (invoice.indexOf("/") > -1 ? invoice.substring(invoice.indexOf("/")+1) : 0);
|
var cur_seq = (invoice.indexOf("/") > -1 ? invoice.substring(invoice.indexOf("/")+1) : 0);
|
||||||
cur_seq = (cur_seq ? cur_seq : 0);
|
cur_seq = parseInt(cur_seq ? cur_seq : 0);
|
||||||
|
|
||||||
|
var sql = "SELECT MAX(CASE WHEN INSTR(f.fin_factuur_nr, '/') > 0"
|
||||||
|
+ " THEN TO_NUMBER(SUBSTR(f.fin_factuur_nr, INSTR(f.fin_factuur_nr, '/')+1))"
|
||||||
|
+ " ELSE 0"
|
||||||
|
+ " END) max_seq"
|
||||||
|
+ " FROM bgt_kostenrubriek r"
|
||||||
|
+ " , prs_kostensoortgrp g"
|
||||||
|
+ " , prs_kostensoort s"
|
||||||
|
+ " , mld_opdr o"
|
||||||
|
+ " , fin_factuur f"
|
||||||
|
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||||
|
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||||
|
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||||
|
+ " AND o.mld_opdr_key = f.mld_opdr_key"
|
||||||
|
+ " AND r.bgt_project_key = " + obj.budgetproject.id
|
||||||
|
+ " AND f.fin_factuur_nr LIKE " + safe.quoted_sql(cur_inv + "%");
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
cur_seq = oRs("max_seq").Value;
|
||||||
|
oRs.Close();
|
||||||
|
|
||||||
var new_inv = cur_inv + "/" + (cur_seq + 1);
|
var new_inv = cur_inv + "/" + (cur_seq + 1);
|
||||||
obj.invoice = new_inv;
|
obj.invoice = new_inv;
|
||||||
}
|
}
|
||||||
@@ -223,10 +249,12 @@ function model_fin_factuur()
|
|||||||
{
|
{
|
||||||
var mld_opdr_key = getQParamInt("opdrachtcommon", -1);
|
var mld_opdr_key = getQParamInt("opdrachtcommon", -1);
|
||||||
if (obj.id == -1 && mld_opdr_key > -1)
|
if (obj.id == -1 && mld_opdr_key > -1)
|
||||||
{
|
{ // Nieuwe factuur bij bekende opdracht.
|
||||||
var sql = "SELECT p.ins_discipline_key"
|
var sql = "SELECT p.ins_discipline_key"
|
||||||
+ " , p.bgt_project_key"
|
+ " , p.bgt_project_key"
|
||||||
+ " , o.mld_uitvoerende_keys"
|
+ " , o.mld_uitvoerende_keys"
|
||||||
|
+ " , s.prs_kostensoort_key"
|
||||||
|
+ " , s.prs_kostensoort_oms"
|
||||||
+ " FROM mld_opdr o"
|
+ " FROM mld_opdr o"
|
||||||
+ " , prs_kostensoort s"
|
+ " , prs_kostensoort s"
|
||||||
+ " , prs_kostensoortgrp g"
|
+ " , prs_kostensoortgrp g"
|
||||||
@@ -241,14 +269,19 @@ function model_fin_factuur()
|
|||||||
var v_order = mld_opdr_key;
|
var v_order = mld_opdr_key;
|
||||||
var v_discipline = oRs("ins_discipline_key").Value;
|
var v_discipline = oRs("ins_discipline_key").Value;
|
||||||
var v_project = oRs("bgt_project_key").Value;
|
var v_project = oRs("bgt_project_key").Value;
|
||||||
|
var v_soort = oRs("prs_kostensoort_key").Value;
|
||||||
|
var v_srtoms = oRs("prs_kostensoort_oms").Value;
|
||||||
var v_company = oRs("mld_uitvoerende_keys").Value;
|
var v_company = oRs("mld_uitvoerende_keys").Value;
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
|
// Er is geen QParam voor costtype gezet, dus deze zelf vullen.
|
||||||
|
obj.costtype = {id: v_soort, name: v_srtoms};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var v_order = null;
|
var v_order = null;
|
||||||
var v_discipline = (obj.budgetdiscipline ? obj.budgetdiscipline.id : null);
|
var v_discipline = (obj.budgetdiscipline ? obj.budgetdiscipline.id : null);
|
||||||
var v_project = (obj.budgetproject ? obj.budgetproject.id : null);
|
var v_project = (obj.budgetproject ? obj.budgetproject.id : null);
|
||||||
|
var v_soort = (obj.costtype ? obj.costtype.id : null);
|
||||||
var v_company = (obj.company ? obj.company.id : null);
|
var v_company = (obj.company ? obj.company.id : null);
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
@@ -257,6 +290,7 @@ function model_fin_factuur()
|
|||||||
<% if (v_order) { %> var mldopdracht = "<%=v_order%>"; <% } %>
|
<% if (v_order) { %> var mldopdracht = "<%=v_order%>"; <% } %>
|
||||||
<% if (v_discipline) { %> var budgetdiscipline = "<%=v_discipline%>"; <% } %>
|
<% if (v_discipline) { %> var budgetdiscipline = "<%=v_discipline%>"; <% } %>
|
||||||
<% if (v_project) { %> var budgetproject = "<%=v_project%>"; <% } %>
|
<% if (v_project) { %> var budgetproject = "<%=v_project%>"; <% } %>
|
||||||
|
<% if (v_soort) { %> var costtype = "<%=v_soort%>"; <% } %>
|
||||||
<% if (v_company) { %> var company = "<%=v_company%>"; <% } %>
|
<% if (v_company) { %> var company = "<%=v_company%>"; <% } %>
|
||||||
</script>
|
</script>
|
||||||
<%
|
<%
|
||||||
@@ -268,32 +302,53 @@ function model_fin_factuur()
|
|||||||
|
|
||||||
this.hook_pre_post = function(params, obj)
|
this.hook_pre_post = function(params, obj)
|
||||||
{
|
{
|
||||||
// Bij toevoegen van een factuur wordt prs_kostensoort_key automatisch gevuld met die van mld_opdr.
|
// Bij toevoegen van een factuur moet prs_kostensoort_key nog gevuld worden.
|
||||||
/*
|
// Gebruik daarvoor die van mld_opdr.
|
||||||
*/
|
setKostensoort(obj);
|
||||||
__Log(obj);
|
// Is het factuurnummer/volgnummer uniek binnen het project?
|
||||||
// Als er niet genoeg budget op het kostensoort van de factuur/contract is moet er uit budget rubriek Reserve
|
checkUniekFactuurnummer(-1, obj.budgetproject, obj.invoice);
|
||||||
// overgeboekt worden naar het budget kostensoort.
|
|
||||||
var sql = "SELECT NVL(MAX(b.bgt_budget_bedrag) - SUM(f.fin_factuur_totaal), 0) budget_exc_over"
|
|
||||||
+ " , NVL(MAX(b.bgt_budget_btwbedrag) - SUM(f.fin_factuur_totaal_btw), 0) budget_btw_over"
|
|
||||||
+ " FROM bgt_budget b"
|
|
||||||
+ " , fin_factuur f"
|
|
||||||
+ " WHERE b.prs_kostensoort_key = f.prs_kostensoort_key"
|
|
||||||
+ " AND f.prs_kostensoort_key = " + obj.costtype;
|
|
||||||
var oRs = Oracle.Execute(sql);
|
|
||||||
var budget_exc_over = oRs("budget_exc_over").Value;
|
|
||||||
var budget_btw_over = oRs("budget_btw_over").Value;
|
|
||||||
oRs.Close();
|
|
||||||
// if (budget_exc_over < 0)
|
|
||||||
//
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
this.hook_pre_put = function(params, obj, key)
|
this.hook_pre_put = function(params, obj, key)
|
||||||
{
|
{
|
||||||
// Bij wijzigen van factuur wordt prs_kostensoort_key automatisch overgenomen van mld_opdr.
|
// Bij wijzigen van factuur moet prs_kostensoort_key nog gevuld worden.
|
||||||
// Als er niet genoeg budget op het kostensoort van de factuur/contract is moet er uit budget rubriek Reserve
|
// Gebruik daarvoor die van mld_opdr.
|
||||||
// overgeboekt worden naar het budget kostensoort.
|
setKostensoort(obj);
|
||||||
|
// Is de combinatie factuurnummer/volgnummer nog steeds uniek?
|
||||||
|
checkUniekFactuurnummer(key, obj.budgetproject, obj.invoice);
|
||||||
|
}
|
||||||
|
|
||||||
|
function setKostensoort(obj)
|
||||||
|
{
|
||||||
|
var sql = "SELECT o.prs_kostensoort_key"
|
||||||
|
+ " FROM mld_opdr o"
|
||||||
|
+ " WHERE mld_opdr_key = " + obj.order;
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
if (!oRs.eof)
|
||||||
|
obj.costtype = (!oRs.eof ? oRs("prs_kostensoort_key").Value : NULL);
|
||||||
|
oRs.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkUniekFactuurnummer(p_factuur_key, p_project_key, p_factuurnr)
|
||||||
|
{
|
||||||
|
var sql = "SELECT count(*) aantal"
|
||||||
|
+ " FROM bgt_kostenrubriek r"
|
||||||
|
+ " , prs_kostensoortgrp g"
|
||||||
|
+ " , prs_kostensoort s"
|
||||||
|
+ " , mld_opdr o"
|
||||||
|
+ " , fin_factuur f"
|
||||||
|
+ " WHERE r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||||
|
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||||
|
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||||
|
+ " AND o.mld_opdr_key = f.mld_opdr_key"
|
||||||
|
+ " AND r.bgt_project_key = " + p_project_key
|
||||||
|
+ " AND f.fin_factuur_nr = " + safe.quoted_sql(p_factuurnr)
|
||||||
|
+ (p_factuur_key != -1 ? " AND f.fin_factuur_key <> " + p_factuur_key : "");
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
var uniek_factuurnr = (oRs("aantal").Value == 0);
|
||||||
|
oRs.Close();
|
||||||
|
if (!uniek_factuurnr)
|
||||||
|
abort_with_warning("Factuurnummer {0} bestaat al in dit project.".format(p_factuurnr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -247,15 +247,20 @@ function model_mld_opdr()
|
|||||||
this.hook_pre_post = function(params, obj)
|
this.hook_pre_post = function(params, obj)
|
||||||
{
|
{
|
||||||
var parent_key = getQParamInt("id", -1);
|
var parent_key = getQParamInt("id", -1);
|
||||||
|
if (!obj.sequence && obj.sequence!=0)
|
||||||
|
abort_with_warning("Vul een volgnummer voor het contract in.");
|
||||||
|
|
||||||
if (parent_key > -1) // Bij kopie van opdracht geen nieuw nummer genereren.
|
if (parent_key > -1) // Bij kopie van opdracht geen nieuw nummer genereren.
|
||||||
{
|
{
|
||||||
|
// Vul het contractnummer van het oorspronkelijke contract in.
|
||||||
var sql = "SELECT o.mld_opdr_ordernr"
|
var sql = "SELECT o.mld_opdr_ordernr"
|
||||||
+ " FROM mld_opdr o"
|
+ " FROM mld_opdr o"
|
||||||
+ " WHERE o.mld_opdr_key = " + parent_key;
|
+ " WHERE o.mld_opdr_key = " + parent_key;
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
obj.ordernr = oRs("mld_opdr_ordernr").Value;
|
obj.ordernr = oRs("mld_opdr_ordernr").Value;
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
|
// Kopie contract. Volgnummer moet uniek zijn binnen dit contractnummer.
|
||||||
|
checkUniekContractnummer(-1, obj.budgetproject.id, obj.ordernr, obj.sequence);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -275,9 +280,31 @@ function model_mld_opdr()
|
|||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
obj.ordernr = oRs("new_ordernr").Value;
|
obj.ordernr = oRs("new_ordernr").Value;
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
|
// Nieuw contract, dus volgnummer is altijd uniek hierbinnen.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.hook_pre_put = function(params, obj, key)
|
||||||
|
{
|
||||||
|
// Is de combinatie projectnummer/volgnummer nog steeds uniek?
|
||||||
|
var sql = "SELECT p.bgt_project_key"
|
||||||
|
+ " , o.mld_opdr_ordernr"
|
||||||
|
+ " FROM bgt_project p"
|
||||||
|
+ " , bgt_kostenrubriek r"
|
||||||
|
+ " , prs_kostensoortgrp g"
|
||||||
|
+ " , prs_kostensoort s"
|
||||||
|
+ " , mld_opdr o"
|
||||||
|
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||||
|
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||||
|
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||||
|
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||||
|
+ " AND o.mld_opdr_key = " + key;
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
var v_ordernr = oRs("mld_opdr_ordernr").Value;
|
||||||
|
var v_project_key = oRs("bgt_project_key").Value;
|
||||||
|
oRs.Close();
|
||||||
|
checkUniekContractnummer(key, v_project_key, v_ordernr, obj.sequence);
|
||||||
|
}
|
||||||
|
|
||||||
var gparams = {
|
var gparams = {
|
||||||
GET: {
|
GET: {
|
||||||
@@ -296,6 +323,29 @@ function model_mld_opdr()
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function checkUniekContractnummer(p_contract_key, p_project_key, p_contractnr, p_volgnr)
|
||||||
|
{
|
||||||
|
var sql = "SELECT count(*) aantal"
|
||||||
|
+ " FROM bgt_project p"
|
||||||
|
+ " , bgt_kostenrubriek r"
|
||||||
|
+ " , prs_kostensoortgrp g"
|
||||||
|
+ " , prs_kostensoort s"
|
||||||
|
+ " , mld_opdr o"
|
||||||
|
+ " WHERE p.bgt_project_key = r.bgt_project_key"
|
||||||
|
+ " AND r.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||||
|
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||||
|
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||||
|
+ " AND p.bgt_project_key = " + p_project_key
|
||||||
|
+ " AND o.mld_opdr_ordernr = " + safe.quoted_sql(p_contractnr)
|
||||||
|
+ " AND o.mld_opdr_bedrijfopdr_volgnr = " + p_volgnr
|
||||||
|
+ (p_contract_key != -1 ? " AND o.mld_opdr_key <> " + p_contract_key : "");
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
var uniek_contractnr = (oRs("aantal").Value == 0);
|
||||||
|
oRs.Close();
|
||||||
|
if (!uniek_contractnr)
|
||||||
|
abort_with_warning("Contractnummer {0}.{1} bestaat al in dit project.".format(p_contractnr, p_volgnr));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
this.REST_GET = generic_REST_GET(this, gparams);
|
this.REST_GET = generic_REST_GET(this, gparams);
|
||||||
this.REST_POST = generic_REST_POST(this);
|
this.REST_POST = generic_REST_POST(this);
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ function model_prs_kostensoort()
|
|||||||
},
|
},
|
||||||
"name": {
|
"name": {
|
||||||
"dbs": "prs_kostensoort_oms",
|
"dbs": "prs_kostensoort_oms",
|
||||||
"label": L("prs_kostensoort_oms"),
|
"label": (S("bgt_enabled") ? L("prs_kostensoort_opmerking") : L("prs_kostensoort_oms")),
|
||||||
"typ": "varchar",
|
"typ": "varchar",
|
||||||
"required": true, /* proberen */
|
"required": true, /* proberen */
|
||||||
"translate": true,
|
"translate": true,
|
||||||
@@ -71,7 +71,7 @@ function model_prs_kostensoort()
|
|||||||
},
|
},
|
||||||
"remark": {
|
"remark": {
|
||||||
"dbs": "prs_kostensoort_opmerking",
|
"dbs": "prs_kostensoort_opmerking",
|
||||||
"label": L("prs_kostensoort_opmerking"),
|
"label": (S("bgt_enabled") ? L("prs_kostensoort_oms") : L("prs_kostensoort_opmerking")),
|
||||||
"typ": "varchar",
|
"typ": "varchar",
|
||||||
"required": (S("bgt_enabled") ? false : true),
|
"required": (S("bgt_enabled") ? false : true),
|
||||||
"filter": "like"
|
"filter": "like"
|
||||||
@@ -140,12 +140,18 @@ function model_prs_kostensoort()
|
|||||||
"showtransit": true
|
"showtransit": true
|
||||||
},
|
},
|
||||||
"budgetcostcategory": {
|
"budgetcostcategory": {
|
||||||
"dbs" : "bgt_kostenrubriek.bgt_kostenrubriek_key",
|
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_key",
|
||||||
"label": L("bgt_kostenrubriek"),
|
"label": L("bgt_kostenrubriek"),
|
||||||
"typ": "key",
|
"typ": "key",
|
||||||
"required": true,
|
"required": true,
|
||||||
"foreign": bgt_budgetcostcategory_foreign(),
|
"foreign": bgt_budgetcostcategory_foreign(),
|
||||||
"showtransit": true
|
"showtransit": true
|
||||||
|
},
|
||||||
|
"costcategorycode": {
|
||||||
|
"dbs": "bgt_kostenrubriek.bgt_kostenrubriek_code",
|
||||||
|
"label": L("bgt_kostenrubriek_code"),
|
||||||
|
"typ": "varchar",
|
||||||
|
"readonly": true
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.fields = object_merge({}, fields_ext, fields_main);
|
this.fields = object_merge({}, fields_ext, fields_main);
|
||||||
@@ -163,6 +169,11 @@ function model_prs_kostensoort()
|
|||||||
};
|
};
|
||||||
// this.print = { xmlnode: "budget", where: "kostensoort"};
|
// this.print = { xmlnode: "budget", where: "kostensoort"};
|
||||||
|
|
||||||
|
this.hook_pre_show = function (obj, fld)
|
||||||
|
{
|
||||||
|
delete this.fields.costcategorycode;
|
||||||
|
}
|
||||||
|
|
||||||
this.hook_pre_edit = function (obj, fld)
|
this.hook_pre_edit = function (obj, fld)
|
||||||
{
|
{
|
||||||
if ((obj.id > -1) || (obj.costtypegroup && obj.costtypegroup.id > -1))
|
if ((obj.id > -1) || (obj.costtypegroup && obj.costtypegroup.id > -1))
|
||||||
@@ -173,6 +184,8 @@ function model_prs_kostensoort()
|
|||||||
this.fields.budgetproject.readonly = true;
|
this.fields.budgetproject.readonly = true;
|
||||||
this.fields.budgetcostcategory.hidden_fld = false;
|
this.fields.budgetcostcategory.hidden_fld = false;
|
||||||
this.fields.budgetcostcategory.readonly = true;
|
this.fields.budgetcostcategory.readonly = true;
|
||||||
|
|
||||||
|
delete this.fields.costcategorycode;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj.costtypegroup && obj.costtypegroup.id != -1)
|
if (obj.costtypegroup && obj.costtypegroup.id != -1)
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ function init_budget()
|
|||||||
{ req_info: "initsearch",
|
{ req_info: "initsearch",
|
||||||
niveau: init_niveau,
|
niveau: init_niveau,
|
||||||
parent_key: (v_budgetproject ? v_budgetproject : -1),
|
parent_key: (v_budgetproject ? v_budgetproject : -1),
|
||||||
|
child_key: v_costtype,
|
||||||
init_key: init_key
|
init_key: init_key
|
||||||
},
|
},
|
||||||
re_init_plaats);
|
re_init_plaats);
|
||||||
@@ -85,7 +86,7 @@ function re_init_soort(data)
|
|||||||
|
|
||||||
function re_init_plaats(data)
|
function re_init_plaats(data)
|
||||||
{
|
{
|
||||||
var init_key = ($("#account").val() != -1 ? $("#account").val() : -1);
|
var init_key = ($("#account").val() != -1 ? $("#account").val() : data.parents.K);
|
||||||
var project_key = $("#budgetproject").val() || data.parents.P;
|
var project_key = $("#budgetproject").val() || data.parents.P;
|
||||||
fill_plaatsselector("KP", project_key, init_key);
|
fill_plaatsselector("KP", project_key, init_key);
|
||||||
}
|
}
|
||||||
@@ -132,7 +133,16 @@ function change_groep()
|
|||||||
}
|
}
|
||||||
function change_soort()
|
function change_soort()
|
||||||
{
|
{
|
||||||
var btw_perc = parseFloat($("#costtype option:selected").attr("perc_btw").replace(/,/g,"."));
|
var project_key = $("#budgetproject").val();
|
||||||
|
var kplaats_key = -1;
|
||||||
|
var btw_perc = 0;
|
||||||
|
if ($("#costtype").val() != -1 )
|
||||||
|
{
|
||||||
|
kplaats_key = $("#costtype option:selected").attr("kpn_key");
|
||||||
|
btw_perc = parseFloat($("#costtype option:selected").attr("perc_btw").replace(/,/g,"."));
|
||||||
|
}
|
||||||
|
fill_plaatsselector("KP", project_key, kplaats_key);
|
||||||
|
|
||||||
if ($("#amount").val() && btw_perc != kostensoort_btw)
|
if ($("#amount").val() && btw_perc != kostensoort_btw)
|
||||||
{
|
{
|
||||||
FcltMgr.confirm(L("bgt_confirm_recalc_vat"), function() { change_amount(); } );
|
FcltMgr.confirm(L("bgt_confirm_recalc_vat"), function() { change_amount(); } );
|
||||||
@@ -232,7 +242,7 @@ function fill_plaatsselector(niveau, parent_key, init_key)
|
|||||||
{ req_info: "plaatssearch",
|
{ req_info: "plaatssearch",
|
||||||
niveau: niveau,
|
niveau: niveau,
|
||||||
parent_key: parent_key,
|
parent_key: parent_key,
|
||||||
init_key: init_key //(init_key ? init_key : -1);
|
init_key: (init_key ? init_key : -1)
|
||||||
},
|
},
|
||||||
process_info);
|
process_info);
|
||||||
}
|
}
|
||||||
@@ -274,12 +284,14 @@ function process_info(data)
|
|||||||
var opt = data.lov[i];
|
var opt = data.lov[i];
|
||||||
if (data.niveau == "KP")
|
if (data.niveau == "KP")
|
||||||
{
|
{
|
||||||
add_data = ' par_key="' + opt.atr.par_key + '"';
|
add_data = ' par_key="' + opt.atr.par_key + '"'
|
||||||
|
+ ' kpn_key="' + opt.atr.kpn_key + '"';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
||||||
+ ' perc_btw="' + opt.atr.btw_val + '"';
|
+ ' perc_btw="' + opt.atr.btw_val + '"'
|
||||||
|
+ ' kpn_key="' + opt.atr.kpn_key + '"';
|
||||||
}
|
}
|
||||||
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
||||||
if (opt.sel)
|
if (opt.sel)
|
||||||
|
|||||||
@@ -206,7 +206,7 @@ var authparamsBGTUSE = user.checkAutorisation("WEB_BGTUSE");
|
|||||||
{ label: L("lcl_period_to"),
|
{ label: L("lcl_period_to"),
|
||||||
initEmpty: true
|
initEmpty: true
|
||||||
});
|
});
|
||||||
CHECKBOXTR(L("lcl_fin_total_sum"), "fldbgtinclbtw", "bgt_inclbtw", false);
|
CHECKBOXTR(L("lcl_fin_total_sum"), "fldbgtinclbtw", "bgt_inclbtw", true);
|
||||||
%>
|
%>
|
||||||
</table>
|
</table>
|
||||||
</td><!-- end column 2-->
|
</td><!-- end column 2-->
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ var transitParam = buildTransitParam([]);
|
|||||||
+ " GROUP BY m2.bgt_budget_key_naar"
|
+ " GROUP BY m2.bgt_budget_key_naar"
|
||||||
+ ") mutatie"
|
+ ") mutatie"
|
||||||
+ " GROUP BY mutatie.bgt_budget_key"
|
+ " GROUP BY mutatie.bgt_budget_key"
|
||||||
+ " ) mut";
|
+ " ) ";
|
||||||
|
|
||||||
// zoiets moet het dan gaan worden. Vast nog wat verfijnder. UNIONs met reserve e.d. nodig?
|
// zoiets moet het dan gaan worden. Vast nog wat verfijnder. UNIONs met reserve e.d. nodig?
|
||||||
if (groupby == 1) // facturen
|
if (groupby == 1) // facturen
|
||||||
@@ -313,163 +313,197 @@ var transitParam = buildTransitParam([]);
|
|||||||
// Die worden afzonderlijk bijgevoegd (UNION) om wel het totaal te krijgen qua budget
|
// Die worden afzonderlijk bijgevoegd (UNION) om wel het totaal te krijgen qua budget
|
||||||
|
|
||||||
// Eerst de budgetten direct bij kostensoort
|
// Eerst de budgetten direct bij kostensoort
|
||||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||||
+ " bgt_project_omschrijving deelproject,"
|
+ " pr.bgt_project_omschrijving deelproject,"
|
||||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
+ " kg.prs_kostensoortgrp_oms groep,"
|
||||||
+ " bud.prs_kostensoortgrp_key,"
|
+ " bd.prs_kostensoortgrp_key,"
|
||||||
+ " bud.bgt_kostenrubriek_key,"
|
+ " bd.bgt_kostenrubriek_key,"
|
||||||
+ " ks.prs_kostensoort_key,"
|
+ " ks.prs_kostensoort_key,"
|
||||||
+ " ks.prs_kostensoort_oms onderdeel,"
|
+ " ks.prs_kostensoort_oms onderdeel,"
|
||||||
+ " ks.prs_kostensoort_altcode rcode,"
|
+ " ks.prs_kostensoort_altcode rcode,"
|
||||||
+ " ks.prs_kostensoort_altcode sortcode,"
|
+ " ks.prs_kostensoort_altcode sortcode,"
|
||||||
+ " 0 budget_reserve,"
|
+ " BGT.getBudgetOverschrijding(ks.prs_kostensoort_key, 0, NULL) budget_reserve,"
|
||||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||||
+ " FROM prs_kostensoort ks,"
|
+ " FROM prs_kostensoort ks,"
|
||||||
+ " prs_kostensoortgrp ksg,"
|
+ " prs_kostensoortgrp kg,"
|
||||||
+ " bgt_kostenrubriek kr,"
|
+ " bgt_kostenrubriek kr,"
|
||||||
+ " bgt_budget bud,"
|
+ " bgt_budget bd,"
|
||||||
+ " bgt_project pr,"
|
+ " bgt_project pr,"
|
||||||
+ " ins_tab_discipline id,"
|
+ " ins_tab_discipline id,"
|
||||||
+ mutatie_sql
|
+ mutatie_sql + "mut"
|
||||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
+ " WHERE kg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||||
+ " AND ks.prs_kostensoort_key = bud.prs_kostensoort_key"
|
+ " AND ks.prs_kostensoort_key = bd.prs_kostensoort_key(+)"
|
||||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
+ " AND kg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
+ " AND mut.bgt_budget_key(+) = bd.bgt_budget_key"
|
||||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
+ (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 : "")
|
+ (bgtrubr_key > 0 ? "AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||||
+ (bgtgrp_key > 0 ? " AND ksg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
|
+ (bgtgrp_key > 0 ? " AND kg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
|
||||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||||
sql1 += " GROUP BY ksg.prs_kostensoortgrp_oms,"
|
sql1 += " GROUP BY kg.prs_kostensoortgrp_oms,"
|
||||||
+ " ks.prs_kostensoort_key,"
|
+ " ks.prs_kostensoort_key,"
|
||||||
+ " ks.prs_kostensoort_opmerking ,"
|
+ " ks.prs_kostensoort_opmerking ,"
|
||||||
+ " ks.prs_kostensoort_oms,"
|
+ " ks.prs_kostensoort_oms,"
|
||||||
+ " ks.prs_kostensoort_altcode,"
|
+ " ks.prs_kostensoort_altcode,"
|
||||||
+ " bud.prs_kostensoortgrp_key,"
|
+ " bd.prs_kostensoortgrp_key,"
|
||||||
+ " kr.bgt_kostenrubriek_oms,"
|
+ " kr.bgt_kostenrubriek_oms,"
|
||||||
+ " bud.bgt_kostenrubriek_key,"
|
+ " bd.bgt_kostenrubriek_key,"
|
||||||
+ " pr.bgt_project_key,"
|
+ " pr.bgt_project_key,"
|
||||||
+ " bgt_project_omschrijving ,"
|
+ " pr.bgt_project_omschrijving ,"
|
||||||
+ " ins_discipline_omschrijving";
|
+ " id.ins_discipline_omschrijving";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupby == 4) // 4. kostensoortgrp
|
if (groupby == 4) // 4. kostensoortgrp
|
||||||
{
|
{
|
||||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||||
+ " bgt_project_omschrijving deelproject,"
|
+ " pr.bgt_project_omschrijving deelproject,"
|
||||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||||
+ " ksg.prs_kostensoortgrp_altcode rcode,"
|
+ " kg.prs_kostensoortgrp_altcode rcode,"
|
||||||
+ " ksg.prs_kostensoortgrp_altcode sortcode,"
|
+ " kg.prs_kostensoortgrp_altcode sortcode,"
|
||||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
+ " kg.prs_kostensoortgrp_oms groep,"
|
||||||
+ " bud.prs_kostensoortgrp_key,"
|
+ " bd.prs_kostensoortgrp_key,"
|
||||||
+ " bud.bgt_kostenrubriek_key,"
|
+ " bd.bgt_kostenrubriek_key,"
|
||||||
+ " 0 budget_reserve,"
|
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||||
+ " FROM prs_kostensoortgrp ksg,"
|
+ " FROM prs_kostensoortgrp kg,"
|
||||||
+ " bgt_kostenrubriek kr,"
|
+ " bgt_kostenrubriek kr,"
|
||||||
+ " bgt_budget bud,"
|
+ " bgt_budget bd,"
|
||||||
+ " bgt_project pr,"
|
+ " bgt_project pr,"
|
||||||
+ " ins_tab_discipline id,"
|
+ " ins_tab_discipline id,"
|
||||||
+ mutatie_sql
|
+ " (SELECT ks_1.prs_kostensoortgrp_key"
|
||||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 0, NULL)) reserve_bedrag"
|
||||||
+ " AND bud.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key"
|
+ " FROM prs_kostensoort ks_1"
|
||||||
|
+ " GROUP BY ks_1.prs_kostensoortgrp_key"
|
||||||
|
+ " ) vn,"
|
||||||
|
+ mutatie_sql + "mut"
|
||||||
|
+ " WHERE kg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||||
|
+ " AND kg.prs_kostensoortgrp_key = bd.prs_kostensoortgrp_key(+)"
|
||||||
|
+ " AND kg.prs_kostensoortgrp_key = vn.prs_kostensoortgrp_key"
|
||||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
+ " AND mut.bgt_budget_key(+) = bd.bgt_budget_key"
|
||||||
+ " AND bud.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
+ " AND bd.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
+ (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 : "")
|
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||||
sql1 += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
sql1 += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||||
+ " ksg.prs_kostensoortgrp_altcode,"
|
+ " kg.prs_kostensoortgrp_altcode,"
|
||||||
+ " ksg.prs_kostensoortgrp_oms,"
|
+ " kg.prs_kostensoortgrp_oms,"
|
||||||
+ " bud.prs_kostensoortgrp_key,"
|
+ " bd.prs_kostensoortgrp_key,"
|
||||||
+ " bud.bgt_kostenrubriek_key,"
|
+ " bd.bgt_kostenrubriek_key,"
|
||||||
+ " pr.bgt_project_key,"
|
+ " pr.bgt_project_key,"
|
||||||
+ " bgt_project_omschrijving ,"
|
+ " pr.bgt_project_omschrijving ,"
|
||||||
+ " ins_discipline_omschrijving";
|
+ " id.ins_discipline_omschrijving";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupby == 5) // 5. kostenrubriek
|
if (groupby == 5) // 5. kostenrubriek
|
||||||
{
|
{
|
||||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||||
+ " bgt_project_omschrijving deelproject,"
|
+ " pr.bgt_project_omschrijving deelproject,"
|
||||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||||
+ " kr.bgt_kostenrubriek_code rcode,"
|
+ " kr.bgt_kostenrubriek_code rcode,"
|
||||||
+ " kr.bgt_kostenrubriek_code sortcode,"
|
+ " kr.bgt_kostenrubriek_code sortcode,"
|
||||||
+ " kr.bgt_kostenrubriek_key,"
|
+ " kr.bgt_kostenrubriek_key,"
|
||||||
+ " 0 budget_reserve,"
|
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||||
+ " FROM bgt_kostenrubriek kr,"
|
+ " FROM bgt_kostenrubriek kr,"
|
||||||
+ " bgt_budget bud,"
|
+ " bgt_budget bd,"
|
||||||
+ " bgt_project pr,"
|
+ " bgt_project pr,"
|
||||||
+ " ins_tab_discipline id,"
|
+ " ins_tab_discipline id,"
|
||||||
+ mutatie_sql
|
+ " (SELECT kg_1.bgt_kostenrubriek_key"
|
||||||
+ " WHERE bud.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 0, NULL)) reserve_bedrag"
|
||||||
|
+ " FROM prs_kostensoort ks_1"
|
||||||
|
+ " , prs_kostensoortgrp kg_1"
|
||||||
|
+ " WHERE ks_1.prs_kostensoortgrp_key = kg_1.prs_kostensoortgrp_key"
|
||||||
|
+ " GROUP BY kg_1.bgt_kostenrubriek_key"
|
||||||
|
+ " ) vn,"
|
||||||
|
+ mutatie_sql + "mut"
|
||||||
|
+ " WHERE kr.bgt_kostenrubriek_key = bd.bgt_kostenrubriek_key(+)"
|
||||||
|
+ " AND kr.bgt_kostenrubriek_key = vn.bgt_kostenrubriek_key"
|
||||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
+ " AND bd.bgt_budget_key = mut.bgt_budget_key(+)"
|
||||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||||
+ " GROUP BY kr.bgt_kostenrubriek_oms,"
|
+ " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||||
+ " kr.bgt_kostenrubriek_key,"
|
+ " kr.bgt_kostenrubriek_key,"
|
||||||
+ " bgt_project_omschrijving ,"
|
+ " pr.bgt_project_omschrijving ,"
|
||||||
+ " bgt_kostenrubriek_code ,"
|
+ " kr.bgt_kostenrubriek_code ,"
|
||||||
+ " ins_discipline_omschrijving";
|
+ " id.ins_discipline_omschrijving";
|
||||||
|
|
||||||
if (bgt_inclbtw)
|
if (bgt_inclbtw)
|
||||||
{
|
{
|
||||||
//BTW
|
//BTW
|
||||||
sql1 += " UNION SELECT ins_discipline_omschrijving project,"
|
sql1 += " UNION SELECT id.ins_discipline_omschrijving project,"
|
||||||
+ " bgt_project_omschrijving deelproject,"
|
+ " pr.bgt_project_omschrijving deelproject,"
|
||||||
+ " 'BTW' rubriek,"
|
+ " 'BTW' rubriek,"
|
||||||
+ " 'B' rcode,"
|
+ " 'B' rcode,"
|
||||||
+ " '92' sortcode,"
|
+ " '92' sortcode,"
|
||||||
+ " -3 bgt_kostenrubriek_key,"
|
+ " -3 bgt_kostenrubriek_key,"
|
||||||
+ " 0 budget_reserve,"
|
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||||
+ " SUM(COALESCE(bud.bgt_budget_btwbedrag, 0)) budget_actueel,"
|
+ " SUM(COALESCE(bd.bgt_budget_btwbedrag, 0)) budget_actueel,"
|
||||||
+ " SUM(COALESCE(mut.btwbedrag_naar, 0) + COALESCE(mut.btwbedrag_van, 0)) budget_mutatie"
|
+ " SUM(COALESCE(mut.btwbedrag_naar, 0) + COALESCE(mut.btwbedrag_van, 0)) budget_mutatie"
|
||||||
+ " FROM bgt_budget bud,"
|
+ " FROM bgt_budget bd,"
|
||||||
+ " bgt_project pr,"
|
+ " bgt_project pr,"
|
||||||
+ " ins_tab_discipline id,"
|
+ " ins_tab_discipline id,"
|
||||||
+ mutatie_sql
|
+ " (SELECT kr_1.bgt_project_key"
|
||||||
+ " WHERE pr.bgt_project_key = bud.bgt_project_key"
|
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 1, NULL)) reserve_bedrag"
|
||||||
|
+ " FROM prs_kostensoort ks_1"
|
||||||
|
+ " , prs_kostensoortgrp kg_1"
|
||||||
|
+ " , bgt_kostenrubriek kr_1"
|
||||||
|
+ " WHERE ks_1.prs_kostensoortgrp_key = kg_1.prs_kostensoortgrp_key"
|
||||||
|
+ " AND kg_1.bgt_kostenrubriek_key = kr_1.bgt_kostenrubriek_key"
|
||||||
|
+ " GROUP BY kr_1.bgt_project_key"
|
||||||
|
+ " ) vn,"
|
||||||
|
+ mutatie_sql + "mut"
|
||||||
|
+ " WHERE pr.bgt_project_key = bd.bgt_project_key(+)"
|
||||||
|
+ " AND pr.bgt_project_key = vn.bgt_project_key"
|
||||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
+ " AND mut.bgt_budget_key(+) = bd.bgt_budget_key"
|
||||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||||
+ " GROUP BY bgt_project_omschrijving ,"
|
+ " GROUP BY pr.bgt_project_omschrijving ,"
|
||||||
+ " ins_discipline_omschrijving";
|
+ " id.ins_discipline_omschrijving";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (groupby == 6) // 6. deelproject
|
if (groupby == 6) // 6. deelproject
|
||||||
{
|
{
|
||||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
var sql1 = "SELECT id.ins_discipline_omschrijving project,"
|
||||||
+ " bgt_project_omschrijving deelproject,"
|
+ " pr.bgt_project_omschrijving deelproject,"
|
||||||
+ " pr.bgt_project_key,"
|
+ " pr.bgt_project_key,"
|
||||||
+ " 0 budget_reserve,"
|
+ " MAX(COALESCE(vn.reserve_bedrag, 0)) budget_reserve,"
|
||||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)"
|
+ " SUM(COALESCE(bd.bgt_budget_bedrag, 0)"
|
||||||
+ (bgt_inclbtw ? " + COALESCE(bud.bgt_budget_btwbedrag, 0)" : "")
|
+ (bgt_inclbtw ? " + COALESCE(bd.bgt_budget_btwbedrag, 0)" : "")
|
||||||
+ ") budget_actueel,"
|
+ ") budget_actueel,"
|
||||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van,0)) budget_mutatie"
|
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van,0)) budget_mutatie"
|
||||||
+ " FROM bgt_budget bud,"
|
+ " FROM bgt_budget bd,"
|
||||||
+ " bgt_project pr,"
|
+ " bgt_project pr,"
|
||||||
+ " ins_tab_discipline id,"
|
+ " ins_tab_discipline id,"
|
||||||
+ mutatie_sql
|
+ " (SELECT kr_1.bgt_project_key"
|
||||||
+ " WHERE bud.bgt_project_key = pr.bgt_project_key"
|
+ " , SUM(BGT.getBudgetOverschrijding(ks_1.prs_kostensoort_key, 0, NULL)) reserve_bedrag"
|
||||||
|
+ " FROM prs_kostensoort ks_1"
|
||||||
|
+ " , prs_kostensoortgrp kg_1"
|
||||||
|
+ " , bgt_kostenrubriek kr_1"
|
||||||
|
+ " WHERE ks_1.prs_kostensoortgrp_key = kg_1.prs_kostensoortgrp_key"
|
||||||
|
+ " AND kg_1.bgt_kostenrubriek_key = kr_1.bgt_kostenrubriek_key"
|
||||||
|
+ " GROUP BY kr_1.bgt_project_key"
|
||||||
|
+ " ) vn,"
|
||||||
|
+ mutatie_sql + "mut"
|
||||||
|
+ " WHERE pr.bgt_project_key = bd.bgt_project_key(+)"
|
||||||
|
+ " AND pr.bgt_project_key = vn.bgt_project_key"
|
||||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
+ " AND bd.bgt_budget_key = mut.bgt_budget_key(+)"
|
||||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||||
sql1 += " GROUP BY pr.bgt_project_key,"
|
sql1 += " GROUP BY pr.bgt_project_key,"
|
||||||
+ " bgt_project_omschrijving ,"
|
+ " pr.bgt_project_omschrijving ,"
|
||||||
+ " ins_discipline_omschrijving";
|
+ " id.ins_discipline_omschrijving";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -573,11 +607,11 @@ var transitParam = buildTransitParam([]);
|
|||||||
+ (groupby <= 4 ? " bud.groep groep, bud.prs_kostensoortgrp_key," : "")
|
+ (groupby <= 4 ? " bud.groep groep, bud.prs_kostensoortgrp_key," : "")
|
||||||
+ (groupby <= 3 ? " bud.onderdeel onderdeel, besteding.prs_kostensoort_key," : "")
|
+ (groupby <= 3 ? " bud.onderdeel onderdeel, besteding.prs_kostensoort_key," : "")
|
||||||
+ " MAX(bud.budget_reserve) budget_reserve,"
|
+ " MAX(bud.budget_reserve) budget_reserve,"
|
||||||
+ " MAX(bud.budget_actueel) budget_actueel,"
|
+ " MAX(bud.budget_actueel + bud.budget_reserve) budget_actueel,"
|
||||||
+ " MAX(bud.budget_actueel - bud.budget_mutatie + bud.budget_reserve) budget_origineel,"
|
+ " MAX(bud.budget_actueel - bud.budget_mutatie) budget_origineel,"
|
||||||
+ " MAX(bud.budget_mutatie) budget_mutatie,"
|
+ " MAX(bud.budget_mutatie) budget_mutatie,"
|
||||||
+ " SUM(besteding.gecontracteerd) gecontracteerd,"
|
+ " SUM(besteding.gecontracteerd) gecontracteerd,"
|
||||||
+ " MAX(COALESCE(bud.budget_actueel, 0)) - SUM(COALESCE(besteding.gecontracteerd, 0)) tecontracteren,"
|
+ " MAX(COALESCE(bud.budget_actueel + bud.budget_reserve, 0)) - SUM(COALESCE(besteding.gecontracteerd, 0)) tecontracteren,"
|
||||||
+ " SUM(besteding.gefactureerd) gefactureerd,"
|
+ " SUM(besteding.gefactureerd) gefactureerd,"
|
||||||
+ " SUM(besteding.tefactureren) tefactureren"
|
+ " SUM(besteding.tefactureren) tefactureren"
|
||||||
+ " FROM (" + sql1 + ") bud,"
|
+ " FROM (" + sql1 + ") bud,"
|
||||||
@@ -888,8 +922,7 @@ var transitParam = buildTransitParam([]);
|
|||||||
if (groupby > 2) // denk ik
|
if (groupby > 2) // denk ik
|
||||||
{
|
{
|
||||||
rst.addColumn(new Column({caption: "Origineel", content: budgetOrigineelShow, fnAmount: budgetOrigineelAmount, datatype: "currency", total: true}));
|
rst.addColumn(new Column({caption: "Origineel", content: budgetOrigineelShow, fnAmount: budgetOrigineelAmount, datatype: "currency", total: true}));
|
||||||
// if (groupby == 5)
|
rst.addColumn(new Column({caption: "Van/naar Reserve", content: budgetReserveShow, fnAmount: budgetReserveAmount, datatype: "currency", total: true}));
|
||||||
// rst.addColumn(new Column({caption: "Reserve", content: budgetReserveShow, fnAmount: budgetReserveAmount, datatype: "currency", total: true}));
|
|
||||||
rst.addColumn(new Column({caption: "Mutatie", content: budgetMutatieShow, fnAmount: budgetMutatieAmount, datatype: "currency", total: true}));
|
rst.addColumn(new Column({caption: "Mutatie", content: budgetMutatieShow, fnAmount: budgetMutatieAmount, datatype: "currency", total: true}));
|
||||||
rst.addColumn(new Column({caption: L("bgt_budget_bedrag"), content: budgetActueelShow, fnAmount: budgetActueelAmount, datatype: "currency", total: true}));
|
rst.addColumn(new Column({caption: L("bgt_budget_bedrag"), content: budgetActueelShow, fnAmount: budgetActueelAmount, datatype: "currency", total: true}));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,8 +67,9 @@ function re_init_soort(data)
|
|||||||
{
|
{
|
||||||
fill_rubriekselector("D", -1 , -1, data.parents.D);
|
fill_rubriekselector("D", -1 , -1, data.parents.D);
|
||||||
fill_rubriekselector("P", data.parents.D, -1, data.parents.P);
|
fill_rubriekselector("P", data.parents.D, -1, data.parents.P);
|
||||||
fill_rubriekselector("B", data.parents.P, -1, data.parents.B);
|
fill_rubriekselector("B", -1 , data.parents.P, data.parents.B);
|
||||||
fill_rubriekselector("O", data.parents.P, data.parents.B, data.parents.O);
|
fill_rubriekselector("O", data.parents.P, data.parents.B, data.parents.O);
|
||||||
|
fill_rubriekselector("S", data.parents.G, data.parents.S, data.parents.S);
|
||||||
}
|
}
|
||||||
|
|
||||||
function change_discipline()
|
function change_discipline()
|
||||||
@@ -93,6 +94,7 @@ function change_bedrijf()
|
|||||||
var project_key = (typeof $("#budgetproject").val() == "undefined" ? (typeof budgetproject == "undefined" ? -1 : budgetproject) : $("#budgetproject").val() );
|
var project_key = (typeof $("#budgetproject").val() == "undefined" ? (typeof budgetproject == "undefined" ? -1 : budgetproject) : $("#budgetproject").val() );
|
||||||
var bedrijf_key = (typeof $("#company").val() == "undefined" ? (typeof company == "undefined" ? -1 : company) : $("#company").val() );
|
var bedrijf_key = (typeof $("#company").val() == "undefined" ? (typeof company == "undefined" ? -1 : company) : $("#company").val() );
|
||||||
fill_rubriekselector("O", project_key, bedrijf_key);
|
fill_rubriekselector("O", project_key, bedrijf_key);
|
||||||
|
fill_rubriekselector("S", -1, -1, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function change_opdracht()
|
function change_opdracht()
|
||||||
@@ -100,10 +102,12 @@ function change_opdracht()
|
|||||||
// Als opdracht bekend is kan het bedrag ingevuld worden:
|
// Als opdracht bekend is kan het bedrag ingevuld worden:
|
||||||
// we weten dan de btw-percentage dat gebruikt moet worden,
|
// we weten dan de btw-percentage dat gebruikt moet worden,
|
||||||
// en sla de key voor kostensoort bij deze opdracht op.
|
// en sla de key voor kostensoort bij deze opdracht op.
|
||||||
|
var kostengroep_key = $("#order option:selected").attr("grp_key");
|
||||||
var kostensoort_key = $("#order option:selected").attr("cost_key");
|
var kostensoort_key = $("#order option:selected").attr("cost_key");
|
||||||
if (kostensoort_key)
|
if (kostensoort_key)
|
||||||
$("#costtype").val(kostensoort_key);
|
{
|
||||||
|
fill_rubriekselector("S", kostengroep_key, kostensoort_key, kostensoort_key);
|
||||||
|
}
|
||||||
var btw_perc = parseFloat($("#order option:selected").attr("perc_btw").replace(/,/g,"."));
|
var btw_perc = parseFloat($("#order option:selected").attr("perc_btw").replace(/,/g,"."));
|
||||||
if ($("#total").val() && btw_perc != kostensoort_btw)
|
if ($("#total").val() && btw_perc != kostensoort_btw)
|
||||||
{
|
{
|
||||||
@@ -158,13 +162,14 @@ function fill_rubriekselector(niveau, parent_key, child_key, init_key)
|
|||||||
function process_info(data)
|
function process_info(data)
|
||||||
{
|
{
|
||||||
var select;
|
var select;
|
||||||
|
var readonly = false;
|
||||||
switch(data.niveau)
|
switch(data.niveau)
|
||||||
{
|
{
|
||||||
case "D": select = $("#budgetdiscipline"); break;
|
case "D": select = $("#budgetdiscipline"); break;
|
||||||
case "P": select = $("#budgetproject"); break;
|
case "P": select = $("#budgetproject"); break;
|
||||||
case "R": select = $("#budgetcostcategory"); break;
|
case "R": select = $("#budgetcostcategory"); break;
|
||||||
case "G": select = $("#costtypegroup"); break;
|
case "G": select = $("#costtypegroup"); break;
|
||||||
case "S": select = $("#costtype"); break;
|
case "S": select = $("#costtype"); readonly = true; break;
|
||||||
case "B": select = $("#company"); break;
|
case "B": select = $("#company"); break;
|
||||||
case "O": select = $("#order"); break;
|
case "O": select = $("#order"); break;
|
||||||
case "KP": select = $("#account"); break;
|
case "KP": select = $("#account"); break;
|
||||||
@@ -187,13 +192,14 @@ function process_info(data)
|
|||||||
{
|
{
|
||||||
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
||||||
+ ' perc_btw="' + opt.atr.btw_val + '"'
|
+ ' perc_btw="' + opt.atr.btw_val + '"'
|
||||||
|
+ ' grp_key="' + opt.atr.grp_key + '"'
|
||||||
+ ' cost_key="' + opt.atr.srt_key + '"';
|
+ ' cost_key="' + opt.atr.srt_key + '"';
|
||||||
}
|
}
|
||||||
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
||||||
if (opt.sel)
|
if (opt.sel)
|
||||||
sel_key = opt.key;
|
sel_key = opt.key;
|
||||||
}
|
}
|
||||||
select.prop("disabled", false);
|
select.prop("disabled", readonly);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ switch (req_info)
|
|||||||
+ " , -1 soort_key"
|
+ " , -1 soort_key"
|
||||||
+ " , -1 opdracht_key"
|
+ " , -1 opdracht_key"
|
||||||
+ " , -1 bedrijf_key"
|
+ " , -1 bedrijf_key"
|
||||||
|
+ " , NULL kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , ins_tab_discipline t"
|
+ " , ins_tab_discipline t"
|
||||||
+ " WHERE t.ins_discipline_key = d.bgt_ins_discipline_key"
|
+ " WHERE t.ins_discipline_key = d.bgt_ins_discipline_key"
|
||||||
@@ -62,6 +63,7 @@ switch (req_info)
|
|||||||
+ " , -1 soort_key"
|
+ " , -1 soort_key"
|
||||||
+ " , -1 opdracht_key"
|
+ " , -1 opdracht_key"
|
||||||
+ " , -1 bedrijf_key"
|
+ " , -1 bedrijf_key"
|
||||||
|
+ " , NULL kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||||
@@ -75,10 +77,11 @@ switch (req_info)
|
|||||||
+ " d.bgt_ins_discipline_key disc_key"
|
+ " d.bgt_ins_discipline_key disc_key"
|
||||||
+ " , p.bgt_project_key project_key"
|
+ " , p.bgt_project_key project_key"
|
||||||
+ " , -1 rubriek_key"
|
+ " , -1 rubriek_key"
|
||||||
+ " , -1 groep_key"
|
+ " , g.prs_kostensoortgrp_key groep_key"
|
||||||
+ " , -1 soort_key"
|
+ " , s.prs_kostensoort_key soort_key"
|
||||||
+ " , o.mld_opdr_key opdracht_key"
|
+ " , o.mld_opdr_key opdracht_key"
|
||||||
+ " , b.prs_bedrijf_key bedrijf_key"
|
+ " , b.prs_bedrijf_key bedrijf_key"
|
||||||
|
+ " , NULL kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
@@ -105,6 +108,7 @@ switch (req_info)
|
|||||||
+ " , -1 soort_key"
|
+ " , -1 soort_key"
|
||||||
+ " , -1 opdracht_key"
|
+ " , -1 opdracht_key"
|
||||||
+ " , b.prs_bedrijf_key bedrijf_key"
|
+ " , b.prs_bedrijf_key bedrijf_key"
|
||||||
|
+ " , NULL kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
@@ -130,6 +134,7 @@ switch (req_info)
|
|||||||
+ " , -1 soort_key"
|
+ " , -1 soort_key"
|
||||||
+ " , NULL opdracht_key"
|
+ " , NULL opdracht_key"
|
||||||
+ " , NULL bedrijf_key"
|
+ " , NULL bedrijf_key"
|
||||||
|
+ " , NULL kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
@@ -147,6 +152,7 @@ switch (req_info)
|
|||||||
+ " , -1 soort_key"
|
+ " , -1 soort_key"
|
||||||
+ " , NULL opdracht_key"
|
+ " , NULL opdracht_key"
|
||||||
+ " , NULL bedrijf_key"
|
+ " , NULL bedrijf_key"
|
||||||
|
+ " , NULL kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
@@ -166,6 +172,7 @@ switch (req_info)
|
|||||||
+ " , s.prs_kostensoort_key soort_key"
|
+ " , s.prs_kostensoort_key soort_key"
|
||||||
+ " , NULL opdracht_key"
|
+ " , NULL opdracht_key"
|
||||||
+ " , NULL bedrijf_key"
|
+ " , NULL bedrijf_key"
|
||||||
|
+ " , -1 kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
@@ -188,6 +195,10 @@ switch (req_info)
|
|||||||
+ " , NULL soort_key"
|
+ " , NULL soort_key"
|
||||||
+ " , NULL opdracht_key"
|
+ " , NULL opdracht_key"
|
||||||
+ " , NULL bedrijf_key"
|
+ " , NULL bedrijf_key"
|
||||||
|
+ ( (init_key == -1 && child_key)
|
||||||
|
? " , (SELECT prs_kostenplaats_key FROM prs_kostensoort WHERE prs_kostensoort_key = "+ child_key +")"
|
||||||
|
: " , -1"
|
||||||
|
) + " kostenplaats_key"
|
||||||
+ " FROM bgt_disc_params d"
|
+ " FROM bgt_disc_params d"
|
||||||
+ " , bgt_project p"
|
+ " , bgt_project p"
|
||||||
+ " , prs_kostenplaatsgrp g"
|
+ " , prs_kostenplaatsgrp g"
|
||||||
@@ -210,7 +221,8 @@ switch (req_info)
|
|||||||
"G": oRs("groep_key").Value,
|
"G": oRs("groep_key").Value,
|
||||||
"S": oRs("soort_key").Value,
|
"S": oRs("soort_key").Value,
|
||||||
"O": oRs("opdracht_key").Value,
|
"O": oRs("opdracht_key").Value,
|
||||||
"B": oRs("bedrijf_key").Value
|
"B": oRs("bedrijf_key").Value,
|
||||||
|
"K": oRs("kostenplaats_key").Value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
@@ -227,7 +239,9 @@ switch (req_info)
|
|||||||
+ " , p.bgt_disc_params_code ||' - '||d.ins_discipline_omschrijving sel_oms"
|
+ " , p.bgt_disc_params_code ||' - '||d.ins_discipline_omschrijving sel_oms"
|
||||||
+ " , d.ins_discipline_btw btw_inc"
|
+ " , d.ins_discipline_btw btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM ins_tab_discipline d"
|
+ " FROM ins_tab_discipline d"
|
||||||
+ " , bgt_disc_params p"
|
+ " , bgt_disc_params p"
|
||||||
+ " WHERE p.bgt_ins_discipline_key = d.ins_discipline_key"
|
+ " WHERE p.bgt_ins_discipline_key = d.ins_discipline_key"
|
||||||
@@ -249,7 +263,9 @@ switch (req_info)
|
|||||||
+ " WHERE d1.ins_discipline_key = p.ins_discipline_key"
|
+ " WHERE d1.ins_discipline_key = p.ins_discipline_key"
|
||||||
+ ") btw_inc"
|
+ ") btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM bgt_project p"
|
+ " FROM bgt_project p"
|
||||||
+ " WHERE p.bgt_project_verwijder IS NULL"
|
+ " WHERE p.bgt_project_verwijder IS NULL"
|
||||||
+ " AND p.ins_discipline_key = " + parent_key;
|
+ " AND p.ins_discipline_key = " + parent_key;
|
||||||
@@ -266,7 +282,9 @@ switch (req_info)
|
|||||||
+ " AND p1.bgt_project_key = r.bgt_project_key"
|
+ " AND p1.bgt_project_key = r.bgt_project_key"
|
||||||
+ ") btw_inc"
|
+ ") btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM bgt_kostenrubriek r"
|
+ " FROM bgt_kostenrubriek r"
|
||||||
+ " WHERE r.bgt_project_key = " + parent_key;
|
+ " WHERE r.bgt_project_key = " + parent_key;
|
||||||
break;
|
break;
|
||||||
@@ -284,7 +302,9 @@ switch (req_info)
|
|||||||
+ " AND r1.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
+ " AND r1.bgt_kostenrubriek_key = g.bgt_kostenrubriek_key"
|
||||||
+ ") btw_inc"
|
+ ") btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM prs_kostensoortgrp g"
|
+ " FROM prs_kostensoortgrp g"
|
||||||
+ " WHERE g.bgt_kostenrubriek_key = " + parent_key;
|
+ " WHERE g.bgt_kostenrubriek_key = " + parent_key;
|
||||||
break;
|
break;
|
||||||
@@ -298,7 +318,9 @@ switch (req_info)
|
|||||||
+ " FROM fin_btwtabelwaarde f1"
|
+ " FROM fin_btwtabelwaarde f1"
|
||||||
+ " WHERE f1.fin_btwtabelwaarde_key = s.fin_btwtabelwaarde_key"
|
+ " WHERE f1.fin_btwtabelwaarde_key = s.fin_btwtabelwaarde_key"
|
||||||
+ ") btw_val"
|
+ ") btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NVL(prs_kostenplaats_key, -1) kpn_key"
|
||||||
+ " FROM prs_kostensoort s"
|
+ " FROM prs_kostensoort s"
|
||||||
+ " WHERE s.prs_kostensoortgrp_key = " + parent_key
|
+ " WHERE s.prs_kostensoortgrp_key = " + parent_key
|
||||||
+ ( sel_mode == "budget_edit"
|
+ ( sel_mode == "budget_edit"
|
||||||
@@ -313,7 +335,9 @@ switch (req_info)
|
|||||||
+ " , kp.prs_kostenplaats_nr ||' - '|| kp.prs_kostenplaats_omschrijving sel_oms"
|
+ " , kp.prs_kostenplaats_nr ||' - '|| kp.prs_kostenplaats_omschrijving sel_oms"
|
||||||
+ " , NULL btw_inc"
|
+ " , NULL btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM prs_kostenplaats kp"
|
+ " FROM prs_kostenplaats kp"
|
||||||
+ " , prs_kostenplaatsgrp kg"
|
+ " , prs_kostenplaatsgrp kg"
|
||||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
||||||
@@ -327,7 +351,9 @@ switch (req_info)
|
|||||||
+ " , b.prs_leverancier_nr ||' - '|| b.prs_bedrijf_naam sel_oms"
|
+ " , b.prs_leverancier_nr ||' - '|| b.prs_bedrijf_naam sel_oms"
|
||||||
+ " , NULL btw_inc"
|
+ " , NULL btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
|
+ " , NULL grp_key"
|
||||||
+ " , NULL srt_key"
|
+ " , NULL srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM bgt_project p"
|
+ " FROM bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
+ " , prs_kostensoortgrp g"
|
+ " , prs_kostensoortgrp g"
|
||||||
@@ -339,8 +365,8 @@ switch (req_info)
|
|||||||
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
+ " AND g.prs_kostensoortgrp_key = s.prs_kostensoortgrp_key"
|
||||||
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
+ " AND s.prs_kostensoort_key = o.prs_kostensoort_key"
|
||||||
+ " AND o.mld_uitvoerende_keys = b.prs_bedrijf_key"
|
+ " AND o.mld_uitvoerende_keys = b.prs_bedrijf_key"
|
||||||
+ " AND p.ins_discipline_key = " + parent_key
|
+ (parent_key > 0 ? " AND p.ins_discipline_key = " + parent_key : "")
|
||||||
+ (child_key > 0 ? " AND p.bgt_project_key = " + child_key : "");
|
+ (child_key > 0 ? " AND p.bgt_project_key = " + child_key : "");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case "O":
|
case "O":
|
||||||
@@ -353,7 +379,9 @@ switch (req_info)
|
|||||||
+ " FROM fin_btwtabelwaarde f1"
|
+ " FROM fin_btwtabelwaarde f1"
|
||||||
+ " WHERE f1.fin_btwtabelwaarde_key = s.fin_btwtabelwaarde_key"
|
+ " WHERE f1.fin_btwtabelwaarde_key = s.fin_btwtabelwaarde_key"
|
||||||
+ ") btw_val"
|
+ ") btw_val"
|
||||||
|
+ " , s.prs_kostensoortgrp_key grp_key"
|
||||||
+ " , o.prs_kostensoort_key srt_key"
|
+ " , o.prs_kostensoort_key srt_key"
|
||||||
|
+ " , NULL kpn_key"
|
||||||
+ " FROM bgt_project p"
|
+ " FROM bgt_project p"
|
||||||
+ " , bgt_kostenrubriek r"
|
+ " , bgt_kostenrubriek r"
|
||||||
+ " , prs_kostensoortgrp g"
|
+ " , prs_kostensoortgrp g"
|
||||||
@@ -378,7 +406,9 @@ switch (req_info)
|
|||||||
sel: oRs("sel_key").Value == init_key,
|
sel: oRs("sel_key").Value == init_key,
|
||||||
atr: { btw_inc: oRs("btw_inc").Value,
|
atr: { btw_inc: oRs("btw_inc").Value,
|
||||||
btw_val: oRs("btw_val").Value,
|
btw_val: oRs("btw_val").Value,
|
||||||
srt_key: oRs("srt_key").Value
|
grp_key: oRs("grp_key").Value,
|
||||||
|
srt_key: oRs("srt_key").Value,
|
||||||
|
kpn_key: oRs("kpn_key").Value
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
oRs.MoveNext();
|
oRs.MoveNext();
|
||||||
@@ -412,26 +442,37 @@ switch (req_info)
|
|||||||
+ " , kp.prs_kostenplaatsgrp_key par_key"
|
+ " , kp.prs_kostenplaatsgrp_key par_key"
|
||||||
+ " , NULL btw_inc"
|
+ " , NULL btw_inc"
|
||||||
+ " , NULL btw_val"
|
+ " , NULL btw_val"
|
||||||
+ " , p.prs_kostenplaats_key"
|
+ " , NULL kpn_key"
|
||||||
|
+ " , ks.prs_kostensoort_key"
|
||||||
+ " FROM prs_kostenplaats kp"
|
+ " FROM prs_kostenplaats kp"
|
||||||
+ " , prs_kostenplaatsgrp kg"
|
+ " , prs_kostenplaatsgrp kg"
|
||||||
+ " , bgt_project p"
|
+ " , prs_kostensoort ks"
|
||||||
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
+ " WHERE kp.prs_kostenplaatsgrp_key = kg.prs_kostenplaatsgrp_key"
|
||||||
+ " AND kg.bgt_project_key = p.bgt_project_key"
|
+ " AND kp.prs_kostenplaats_key = ks.prs_kostenplaats_key(+)"
|
||||||
+ " AND kp.prs_kostenplaats_verwijder IS NULL"
|
+ " AND kp.prs_kostenplaats_verwijder IS NULL"
|
||||||
+ " AND kg.bgt_project_key = " + parent_key;
|
+ " AND kg.bgt_project_key = " + parent_key;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sql += " ORDER BY 2";
|
sql += " ORDER BY 2";
|
||||||
var new_lov = [];
|
var new_lov = [];
|
||||||
|
var last_lov = "";
|
||||||
var oRs = Oracle.Execute(sql);
|
var oRs = Oracle.Execute(sql);
|
||||||
while(!oRs.eof)
|
while(!oRs.eof)
|
||||||
{
|
{
|
||||||
new_lov.push({key: oRs("sel_key").Value,
|
if (last_lov != oRs("sel_oms").Value)
|
||||||
oms: oRs("sel_oms").Value,
|
{
|
||||||
sel: oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostenplaats_key").Value : init_key),
|
new_lov.push({key: oRs("sel_key").Value,
|
||||||
atr: { par_key: oRs("par_key").Value}
|
oms: oRs("sel_oms").Value,
|
||||||
});
|
sel: oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostensoort_key").Value : init_key),
|
||||||
|
atr: { par_key: oRs("par_key").Value}
|
||||||
|
});
|
||||||
|
last_lov = oRs("sel_oms").Value;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var opt = new_lov[new_lov.length-1];
|
||||||
|
opt.sel = opt.sel || (oRs("sel_key").Value == (init_key == -1 ? oRs("prs_kostensoort_key").Value : init_key));
|
||||||
|
}
|
||||||
oRs.MoveNext();
|
oRs.MoveNext();
|
||||||
}
|
}
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
|
|||||||
@@ -49,7 +49,11 @@ else if (level == "B")
|
|||||||
authparams = user.checkAutorisation("WEB_PRSMAN", true);
|
authparams = user.checkAutorisation("WEB_PRSMAN", true);
|
||||||
bDeletePRSMAN = authparams && authparams.PRSwritelevel < 9;
|
bDeletePRSMAN = authparams && authparams.PRSwritelevel < 9;
|
||||||
|
|
||||||
authparams = user.checkAutorisation("WEB_RELMAN", true);
|
if (S("bgt_enabled")==1)
|
||||||
|
authparams = user.checkAutorisation("WEB_BGTUSE", true);
|
||||||
|
else
|
||||||
|
authparams = user.checkAutorisation("WEB_RELMAN", true);
|
||||||
|
|
||||||
bDeleteRELMAN = authparams && authparams.PRSwritelevel < 9;
|
bDeleteRELMAN = authparams && authparams.PRSwritelevel < 9;
|
||||||
canDelete = (bDeletePRSMAN || bDeleteRELMAN);
|
canDelete = (bDeletePRSMAN || bDeleteRELMAN);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ if (intern)
|
|||||||
readonly: false,
|
readonly: false,
|
||||||
required: false
|
required: false
|
||||||
});
|
});
|
||||||
RWFIELDTR("bdr_levnr", "fld", L("lcl_prs_companies_leverancier_nr"), bedrijf_info.prs_leverancier_nr, {maxlength: 50});
|
RWFIELDTR("bdr_levnr", "fld", L("lcl_prs_companies_leverancier_nr"), bedrijf_info.prs_leverancier_nr, {required: (S("prs_bedrijf_leveranciernr_unique")==1 ? true : false),maxlength: 50});
|
||||||
CHECKBOXTR(L("lcl_prs_companies_leverancier"), "fldalgbez", "bdr_lev", bedrijf_info.leverancier == 1);
|
CHECKBOXTR(L("lcl_prs_companies_leverancier"), "fldalgbez", "bdr_lev", bedrijf_info.leverancier == 1);
|
||||||
CHECKBOXTR(L("lcl_prs_companies_uitvoerende"), "fldalgbez", "bdr_uitv", bedrijf_info.uitvoerende == 1);
|
CHECKBOXTR(L("lcl_prs_companies_uitvoerende"), "fldalgbez", "bdr_uitv", bedrijf_info.uitvoerende == 1);
|
||||||
CHECKBOXTR(L("lcl_prs_companies_contract"), "fldalgbez", "bdr_cntr", bedrijf_info.contract == 1);
|
CHECKBOXTR(L("lcl_prs_companies_contract"), "fldalgbez", "bdr_cntr", bedrijf_info.contract == 1);
|
||||||
|
|||||||
@@ -144,6 +144,8 @@ function scaffolding_show(model, scf_params)
|
|||||||
var cnt = oRs(0).Value;
|
var cnt = oRs(0).Value;
|
||||||
oRs.Close();
|
oRs.Close();
|
||||||
}
|
}
|
||||||
|
if ("hook_pre_show" in model)
|
||||||
|
model.hook_pre_show(xxx_data, model.fields);
|
||||||
|
|
||||||
%>
|
%>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user