Merge 2017.1 Gold B patches
svn path=/Website/trunk/; revision=34303
This commit is contained in:
@@ -17,6 +17,7 @@ var JSON_Result = true;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
<!--#include file="alg.inc" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
@@ -34,6 +35,54 @@ var autfunction = {D : "WEB_ALGMAN",
|
||||
PW: "WEB_PRSBOF"}[level];
|
||||
|
||||
var authParams = user.checkAutorisation(autfunction);
|
||||
var authparamsAlg = alg.checkAutorisation();
|
||||
|
||||
var tobedeleted = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de opdrachten in de selectie die
|
||||
// ook echt geaccepteerd kunnen of mogen worden.
|
||||
for (var i = 0; i < dis_key_arr.length; i++)
|
||||
{
|
||||
var canDelete = false;
|
||||
switch (level)
|
||||
{
|
||||
case "RE": canDelete = alg.canWriteRegio(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "D": canDelete = alg.canWriteDistrict(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "L": canDelete = alg.canWriteLocatie(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "T": var sql = "SELECT alg_locatie_key"
|
||||
+ " FROM alg_v_aanwezigterreinsector"
|
||||
+ " WHERE alg_terreinsector_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparamsAlg.mALGwritelevel);
|
||||
oRs.Close()
|
||||
break;
|
||||
case "G": canDelete = alg.canWriteGebouw(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "V": canDelete = alg.canWriteVerdieping(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "R": canDelete = alg.canWriteRuimte(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "W": var sql = "SELECT alg_ruimte_key"
|
||||
+ " FROM prs_v_werkplek_gegevens"
|
||||
+ " WHERE prs_werkplek_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.canWriteRuimte(oRs("alg_ruimte_key").Value, authparamsAlg.mALGwritelevel);
|
||||
oRs.Close()
|
||||
break;
|
||||
case "PW": canDelete = authparamsAlg.ALGwritelevel < 9;
|
||||
break;
|
||||
}
|
||||
|
||||
if (canDelete)
|
||||
{
|
||||
ingesloten.push(dis_key_arr[i]);
|
||||
tobedeleted++;
|
||||
}
|
||||
}
|
||||
user.auth_required_or_abort(tobedeleted > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var table = {D : "ALG_DISTRICT",
|
||||
RE: "ALG_REGIO",
|
||||
@@ -46,41 +95,41 @@ var table = {D : "ALG_DISTRICT",
|
||||
PW: "PRS_PERSLIDWERKPLEK"}[level];
|
||||
|
||||
result = { success: true, deleted: true };
|
||||
for (var i = 0; i < dis_key_arr.length; i++)
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
// W en WP hebben geen verwijderveld (meer), die gaan echt weg.
|
||||
if (level == "W" || level == "PW")
|
||||
// W en WP hebben geen verwijderveld (meer), die gaan echt weg.
|
||||
if (level == "W" || level == "PW")
|
||||
{
|
||||
// Een WP gooit via de cascade zijn bezetting mee weg.
|
||||
// Een bezetting verwijderen doet niets extra
|
||||
// Bij impliciet verwijderen van wp-bezetting dus ook de werkplek weggooien
|
||||
// die nu (per definitie) leeg wordt. Dit moet eerst, want straks weet
|
||||
// ik niet meer genoeg
|
||||
if (level == "PW" && S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
// Een WP gooit via de cascade zijn bezetting mee weg.
|
||||
// Een bezetting verwijderen doet niets extra
|
||||
// Bij impliciet verwijderen van wp-bezetting dus ook de werkplek weggooien
|
||||
// die nu (per definitie) leeg wordt. Dit moet eerst, want straks weet
|
||||
// ik niet meer genoeg
|
||||
if (level == "PW" && S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
sql = "DELETE FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key IN "
|
||||
+ " (SELECT prs_werkplek_key "
|
||||
+ " FROM prs_perslidwerkplek"
|
||||
+ " WHERE prs_perslidwerkplek_key IN (" + dis_key_arr[i] + "))"
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
}
|
||||
// En dit moet ongeacht impliciet of expliciet.
|
||||
// Alleen bij PW&implicit zal dit niets meer verwijderen vanwege de cascade hiervoor
|
||||
sql = "DELETE FROM " + table
|
||||
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
|
||||
sql = "DELETE FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key IN "
|
||||
+ " (SELECT prs_werkplek_key "
|
||||
+ " FROM prs_perslidwerkplek"
|
||||
+ " WHERE prs_perslidwerkplek_key IN (" + ingesloten[i] + "))"
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "UPDATE " + table
|
||||
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
|
||||
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
|
||||
}
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
// En dit moet ongeacht impliciet of expliciet.
|
||||
// Alleen bij PW&implicit zal dit niets meer verwijderen vanwege de cascade hiervoor
|
||||
sql = "DELETE FROM " + table
|
||||
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "UPDATE " + table
|
||||
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
|
||||
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
|
||||
}
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -25,7 +25,16 @@ var API = new API_func();
|
||||
// TODO checkAuthorization("WEB_PUOxxx") ?
|
||||
|
||||
var flexcode = getQParam("flexcode");
|
||||
if (flexcode.match(/^M=CAD/))
|
||||
{
|
||||
// <xsl:element name="img">
|
||||
// <xsl:attribute name="frc">M=CAD&labelPos=2&vKey=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/key"/>&highlight=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/ruimte/key"/>&mode=0&discs=981&sizeX=700&sizeY=400&offsetX=10&offsetY=10&scale=950&paperColor=16777215
|
||||
// </xsl:attribute>
|
||||
// </xsl:element>
|
||||
Server.Transfer(rooturl + "/APPL/CAD/mySlnk2IMG.asp"); // Die kan het ook wel oplossen
|
||||
}
|
||||
|
||||
// Else gewone flexfiles
|
||||
var props = flexProps2(flexcode);
|
||||
|
||||
__Log(props);
|
||||
|
||||
@@ -105,6 +105,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
var meldrnr = XMLval(meldingen[i], "ruimtecode");
|
||||
var locatie_key = -1; // Bepaald op basis van meldloc
|
||||
var plaats_key = -1; // Bepaald op basis van meldgeb/meldver/meldrnr
|
||||
var meld_kpn = XMLval(meldingen[i], "kostenplaats");
|
||||
var meld_oms = XMLval(meldingen[i], "omschrijving");
|
||||
//var mldkenmerken = (meldingen[i].getElementsByTagName("kenmerk"))[0].childNodes[0].nodeValue; // Unsupported yet
|
||||
var mldkenmerken = meldingen[i].getElementsByTagName("kenmerk");
|
||||
@@ -136,7 +137,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
resultcode = 1;
|
||||
resulttekst = "Undefined external ID (key)";
|
||||
}
|
||||
else if (meldaction == 'update')
|
||||
else if (meldaction == "update")
|
||||
{
|
||||
resultcode = 0;
|
||||
// verder nog even kijken wat we willen doen.
|
||||
@@ -145,7 +146,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
var mldUpd = buildTrackingUpdate("mld_melding", "mld_melding_key = " + mld_key, fields, { noValidateToken: true });
|
||||
Oracle.Execute(mldUpd.sql);
|
||||
}
|
||||
else if (meldaction != 'insert')
|
||||
else if (meldaction != "insert")
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined operation (type)";
|
||||
@@ -313,12 +314,42 @@ for (i = 0; i < meldingen.length; i++)
|
||||
__DoLog(resulttekst, "#00FF00");
|
||||
}
|
||||
|
||||
var kpn_key = user.afdeling().prs_kostenplaats_key();
|
||||
if (meld_kpn && meld_kpn != "")
|
||||
{
|
||||
tsql = "SELECT prs_kostenplaats_key"
|
||||
+ " FROM prs_kostenplaats"
|
||||
+ " WHERE prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND (prs_kostenplaats_begin IS NULL"
|
||||
+ " OR prs_kostenplaats_begin < SYSDATE)"
|
||||
+ " AND (prs_kostenplaats_eind IS NULL"
|
||||
+ " OR prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " AND prs_kostenplaats_upper = " + safe.quoted_sql_upper(meld_kpn); // Unique
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.EoF)
|
||||
{
|
||||
var meld_kpn_key = oRs("prs_kostenplaats_key").Value;
|
||||
|
||||
tsql = "SELECT ''"
|
||||
+ " FROM prs_perslidkostenplaats"
|
||||
+ " WHERE prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND (prs_kostenplaats_key = " + meld_kpn_key
|
||||
+ " OR prs_kostenplaats_key IS NULL)" // Mandated for all
|
||||
+ " AND prs_perslid_key = " + perslid_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
|
||||
if (!oRs.EoF) // persoon is gemandateerd voor gegeven kostenplaats
|
||||
kpn_key = meld_kpn_key;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
fields = fields.concat(
|
||||
[ { dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" },
|
||||
{ dbs: "mld_melding_module", typ: "varchar", val: "MLD" },
|
||||
{ dbs: "mld_meldbron_key", typ: "key", val: 6 }, // system
|
||||
{ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, len: 4000 },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", val: user.afdeling().prs_kostenplaats_key() },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", val: kpn_key },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: perslid_key },
|
||||
{ dbs: "prs_perslid_key_voor", typ: "key", val: voor_key },
|
||||
{ dbs: "mld_melding_spoed", typ: "key", val: 3 }, // default (frontend) = 3
|
||||
|
||||
@@ -142,6 +142,7 @@ for (i=0; i < opdrachten.length; i++)
|
||||
var opdrachttekst = XMLval(opdrachten[i], "opdrachttekst"); // NEW
|
||||
var meldingtekst = XMLval(opdrachten[i], "meldingtekst"); // NEW
|
||||
var onderwerp = XMLval(opdrachten[i], "onderwerp"); // NEW
|
||||
var opdr_kpn = XMLval(opdrachten[i], "kostenplaats");
|
||||
|
||||
var txt_mut_datum = XMLval(opdrachten[i], "mut_datum"); // UPD
|
||||
var opdrstatus = XMLval(opdrachten[i], "status"); // UPD
|
||||
@@ -260,6 +261,36 @@ for (i=0; i < opdrachten.length; i++)
|
||||
__Log("Uitsluitend gemandateerd voor kostenplaats: " + kpn_nr);
|
||||
}
|
||||
}
|
||||
|
||||
if (opdr_kpn && opdr_kpn != "")
|
||||
{
|
||||
tsql = "SELECT prs_kostenplaats_key"
|
||||
+ " FROM prs_kostenplaats"
|
||||
+ " WHERE prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND (prs_kostenplaats_begin IS NULL"
|
||||
+ " OR prs_kostenplaats_begin < SYSDATE)"
|
||||
+ " AND (prs_kostenplaats_eind IS NULL"
|
||||
+ " OR prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " AND prs_kostenplaats_upper = " + safe.quoted_sql_upper(opdr_kpn); // Unique
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.EoF)
|
||||
{
|
||||
var opdr_kpn_key = oRs("prs_kostenplaats_key").Value;
|
||||
|
||||
tsql = "SELECT ''"
|
||||
+ " FROM prs_perslidkostenplaats"
|
||||
+ " WHERE prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND (prs_kostenplaats_key = " + opdr_kpn_key
|
||||
+ " OR prs_kostenplaats_key IS NULL)" // Mandated for all
|
||||
+ " AND prs_perslid_key = " + voor_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
|
||||
if (!oRs.EoF) // persoon gemandateerd voor gegeven kostenplaats
|
||||
kpn_key = opdr_kpn_key;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
if (resultcode == -1) // Nog steeds geen fouten.
|
||||
{
|
||||
var meld_oms = "Automatisch aangemaakte melding tbv. werkzaamheden ge<67>nitieerd in extern systeem met referentie: "+ externnr;
|
||||
|
||||
@@ -99,7 +99,8 @@ function model_bgt_budget()
|
||||
"dbs": "bgt_budget_isreserve",
|
||||
"label": L("bgt_budget_isreserve"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 1
|
||||
"defaultvalue": 1,
|
||||
"filterdefault": "1"
|
||||
},
|
||||
"begin": {
|
||||
"dbs": "bgt_budget_begin",
|
||||
|
||||
@@ -167,6 +167,12 @@ function model_fac_srtnotificatie(cust)
|
||||
"label": L("fac_srtnotificatie_alert"),
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true
|
||||
},
|
||||
"modeapp": {
|
||||
"dbs": "notimode.apppush",
|
||||
"label": L("fac_srtnotificatie_app"),
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -178,7 +184,7 @@ function model_fac_srtnotificatie(cust)
|
||||
+ " , DECODE(BITAND(fac_srtnotificatie_mode, 2), 2,"+ safe.qL("lcl_on") +", '') email"
|
||||
+ " , DECODE(BITAND(fac_srtnotificatie_mode, 4), 4,"+ safe.qL("lcl_on") +", '') sms"
|
||||
+ " , DECODE(BITAND(fac_srtnotificatie_mode, 8), 8,"+ safe.qL("lcl_on") +", '') portal"
|
||||
+ " , DECODE(BITAND(fac_srtnotificatie_mode, 32), 8,"+ safe.qL("lcl_on") +", '') apppush"
|
||||
+ " , DECODE(BITAND(fac_srtnotificatie_mode, 32),32,"+ safe.qL("lcl_on") +", '') apppush"
|
||||
+ " FROM fac_srtnotificatie) notimode ";
|
||||
|
||||
var get_param = {
|
||||
|
||||
@@ -27,7 +27,7 @@ function model_prs_kostensoort()
|
||||
+ "SELECT fac_audit_tabelkey" // Verwijderde kosten combinaties.
|
||||
+ " FROM fac_audit"
|
||||
+ " WHERE fac_audit_tabelnaam = 'prs_kostencombinatie'"
|
||||
+ " AND fac_audit_waarde_oud IN ('{0}')"
|
||||
+ " AND fac_audit_waarde_oud IN ('{1}')"
|
||||
}
|
||||
};
|
||||
this.primary = "prs_kostensoort_key";
|
||||
|
||||
@@ -48,7 +48,7 @@ function model_prs_perslid(params)
|
||||
"childaudit": {"sql": "SELECT fac_audit_tabelkey"
|
||||
+ " FROM fac_audit"
|
||||
+ " WHERE fac_audit_tabelnaam = 'fac_gebruikersgroep'"
|
||||
+ " AND fac_audit_waarde_oud IN ('{0}')"
|
||||
+ " AND fac_audit_waarde_oud IN ('{1}')"
|
||||
}
|
||||
};
|
||||
this.softdelete = true;
|
||||
@@ -68,7 +68,7 @@ function model_prs_perslid(params)
|
||||
"dbs": "pf.prs_perslid_naam_friendly",
|
||||
"dbsa": "(SELECT pf.prs_perslid_naam_friendly FROM prs_v_perslid_fullnames_all pf WHERE pf.prs_perslid_key = x.prs_perslid_key)",
|
||||
"label": L("lcl_prs_person_name"),
|
||||
" typ": "varchar"
|
||||
"typ": "varchar"
|
||||
},
|
||||
"lastname": {
|
||||
"dbs": "prs_perslid_naam",
|
||||
|
||||
@@ -26,7 +26,8 @@ scaffolding(this_model,
|
||||
"budgetproject",
|
||||
"budgetcostcategory",
|
||||
"costtypegroup",
|
||||
"costtype"
|
||||
"costtype",
|
||||
"contingency"
|
||||
],
|
||||
"requires": {
|
||||
"js": ["../bgt/bgt_budget.js"]
|
||||
|
||||
@@ -91,8 +91,6 @@ function change_groep()
|
||||
function change_soort()
|
||||
{
|
||||
var soort_key = $("#costtype").val();
|
||||
if ($("#contingency").length)
|
||||
$("#contingency").prop("disabled", (soort_key > 0 ? false: true) );
|
||||
|
||||
if ($("#costtype option:selected").attr("incl_btw") == "1")
|
||||
{
|
||||
@@ -191,6 +189,5 @@ function process_info(data)
|
||||
if (sel_key > -1)
|
||||
select.val(sel_key);
|
||||
|
||||
if ($("#contingency").length) // dit veld bestaat alleen in bgt_budget.
|
||||
$("#contingency").prop("disabled", true);
|
||||
$("input#contingency").prop("disabled", true);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
|
||||
var bgtdisc_key = getQParamInt("dis_key"); // Project
|
||||
var bgtproj_key = getQParamInt("bgtproj_key", -1); // Deelproject
|
||||
var bgtrubr_key = getQParamInt("bgtrubr_key", -1); // Rubriek
|
||||
var groupby = getQParamInt("groupby", -1); // Groepering
|
||||
|
||||
var autfunctionBGTUSE = "WEB_BGTUSE";
|
||||
@@ -49,6 +50,71 @@ var authparamsBGTUSE = user.checkAutorisation("WEB_BGTUSE");
|
||||
<% if (autosearch) { %>
|
||||
$(document).ready(function() { doSubmit(); });
|
||||
<%}%>
|
||||
|
||||
function change_project()
|
||||
{
|
||||
fill_selector("R", $("#bgtproj_key :selected").val());
|
||||
}
|
||||
function change_rubriek()
|
||||
{
|
||||
fill_selector("G", $("#budgetcostcategory :selected").val());
|
||||
}
|
||||
|
||||
function fill_selector(niveau, parent_key, init_key)
|
||||
{
|
||||
$.getJSON( "../bgt/get_bgt_info_ajax.asp",
|
||||
{ req_info: "projectsearch",
|
||||
niveau: niveau,
|
||||
parent_key: parent_key,
|
||||
init_key: init_key
|
||||
},
|
||||
process_info);
|
||||
}
|
||||
function process_info(data)
|
||||
{
|
||||
var select;
|
||||
switch(data.niveau)
|
||||
{
|
||||
//case "D": select = $("#budgetdiscipline"); break;
|
||||
//case "P": select = $("#budgetproject"); break;
|
||||
case "R": select = $("#budgetcostcategory"); break;
|
||||
case "G": select = $("#costtypegroup"); break;
|
||||
//case "S": select = $("#costtype"); break;
|
||||
//case "KP": select = $("#account"); break;
|
||||
}
|
||||
|
||||
var add_data = "";
|
||||
var sel_key = -1;
|
||||
var new_lov = '<option value="-1" ></option>';
|
||||
if (data.lov.length > 0)
|
||||
{
|
||||
for (i=0; i < data.lov.length;i++)
|
||||
{
|
||||
var opt = data.lov[i];
|
||||
if (data.niveau == "KP")
|
||||
{
|
||||
add_data = ' par_key="' + opt.atr.par_key + '"';
|
||||
}
|
||||
else
|
||||
{
|
||||
add_data = ' incl_btw="' + opt.atr.btw_inc + '"'
|
||||
+ ' perc_btw="' + opt.atr.btw_val + '"';
|
||||
}
|
||||
new_lov += '<option value="' + opt.key + '"' + (opt.sel?" selected":"") + add_data + '>'+ opt.oms + '</option>';
|
||||
if (opt.sel)
|
||||
sel_key = opt.key;
|
||||
}
|
||||
select.prop("disabled", false);
|
||||
}
|
||||
else
|
||||
{
|
||||
select.prop("disabled", true);
|
||||
}
|
||||
select.empty().append(new_lov);
|
||||
if (sel_key > -1)
|
||||
select.val(sel_key);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -64,10 +130,13 @@ var authparamsBGTUSE = user.checkAutorisation("WEB_BGTUSE");
|
||||
<td class="searchkolom1"><!-- start column 1 -->
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<%
|
||||
var sql = "SELECT bgt_project_key, bgt_project_code||' '||bgt_project_omschrijving "
|
||||
var sql = "SELECT bgt_project_key"
|
||||
+ " , bgt_project_code||' '||bgt_project_omschrijving"
|
||||
+ " FROM bgt_project"
|
||||
+ " WHERE ins_discipline_key = "+ bgtdisc_key
|
||||
+ " ORDER BY bgt_project_volgnr";
|
||||
+ " WHERE bgt_project_verwijder IS NULL"
|
||||
+ " AND ins_discipline_key = "+ bgtdisc_key
|
||||
+ " ORDER BY bgt_project_volgnr"
|
||||
+ " , bgt_project_code";
|
||||
|
||||
FCLTselector("bgtproj_key",
|
||||
sql,
|
||||
@@ -76,10 +145,34 @@ var authparamsBGTUSE = user.checkAutorisation("WEB_BGTUSE");
|
||||
xreadonly: bgtproj_key > -1, // dan komt de waarde niet door, jammer
|
||||
multi: true,
|
||||
emptyOption: L("lcl_all"),
|
||||
initKey: bgtproj_key
|
||||
initKey: bgtproj_key,
|
||||
onChange: "change_project()"
|
||||
}
|
||||
);
|
||||
|
||||
var sql = "SELECT bgt_kostenrubriek_key"
|
||||
+ " , bgt_kostenrubriek_code||' '||bgt_kostenrubriek_oms"
|
||||
+ " FROM bgt_kostenrubriek"
|
||||
+ " WHERE bgt_project_key = " + bgtproj_key;
|
||||
|
||||
FCLTselector("budgetcostcategory",
|
||||
sql,
|
||||
{ "label": "Rubriek",
|
||||
onChange: "change_rubriek()"
|
||||
}
|
||||
);
|
||||
var sql = "SELECT prs_kostensoortgrp_key"
|
||||
+ " , prs_kostensoortgrp_altcode||' '||prs_kostensoortgrp_oms"
|
||||
+ " FROM prs_kostensoortgrp"
|
||||
+ " WHERE bgt_kostenrubriek_key = " + bgtrubr_key;
|
||||
FCLTselector("costtypegroup",
|
||||
sql,
|
||||
{ "label": "Groep"
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
|
||||
sql = "SELECT "
|
||||
+ " 1, " + safe.qL("lcl_fin_invoices") + ", 6 FROM DUAL"
|
||||
+ " UNION SELECT 2, " + safe.qL("lcl_orders") + ", 5 FROM DUAL"
|
||||
|
||||
@@ -31,6 +31,8 @@ var excel = (outputmode == 2 || outputmode == 6);
|
||||
|
||||
var bgtdisc_key = getQParamInt("dis_key"); // bgt discipline is echt vereist
|
||||
var bgtproj_key_arr = getQParamIntArray("bgtproj_key", []);
|
||||
var bgtrubr_key = getQParamInt("budgetcostcategory", -1);
|
||||
var bgtgrp_key = getQParamInt("costtypegroup", -1);
|
||||
if (bgtdisc_key > 0)
|
||||
lcl.set_dialect(bgtdisc_key, "INS_TAB_DISCIPLINE_KEY"); // TBD. Nodig?
|
||||
|
||||
@@ -144,6 +146,23 @@ var transitParam = buildTransitParam([]);
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var mutatie_sql = " (SELECT mutatie.bgt_budget_key"
|
||||
+ " , SUM(mutatie.bedrag_van) bedrag_van"
|
||||
+ " , SUM(mutatie.bedrag_naar) bedrag_naar"
|
||||
+ " FROM (SELECT m1.bgt_budget_key_van bgt_budget_key"
|
||||
+ " , SUM(COALESCE(m1.bgt_budget_bedrag_van,0)) bedrag_van"
|
||||
+ " , 0 bedrag_naar"
|
||||
+ " FROM bgt_budgetmutatie m1"
|
||||
+ " GROUP BY m1.bgt_budget_key_van"
|
||||
+ " UNION"
|
||||
+ " SELECT m2.bgt_budget_key_naar bgt_budget_key"
|
||||
+ " , 0 bedrag_van"
|
||||
+ " , SUM(COALESCE(m2.bgt_budget_bedrag_naar,0)) bedrag_naar"
|
||||
+ " FROM bgt_budgetmutatie m2"
|
||||
+ " GROUP BY m2.bgt_budget_key_naar"
|
||||
+ ") mutatie"
|
||||
+ " GROUP BY mutatie.bgt_budget_key"
|
||||
+ " ) mut";
|
||||
|
||||
// zoiets moet het dan gaan worden. Vast nog wat verfijnder. UNIONs met reserve e.d. nodig?
|
||||
if (groupby == 1) // facturen
|
||||
@@ -183,6 +202,8 @@ 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(",") + ")" : "")
|
||||
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||
+ (bgtgrp_key > 0 ? " AND ksg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
|
||||
sql += " ORDER BY bgt_project_omschrijving"
|
||||
@@ -198,14 +219,12 @@ var transitParam = buildTransitParam([]);
|
||||
+ " ks.prs_kostensoort_oms onderdeel,"
|
||||
+ " ks.prs_kostensoort_altcode rcode,"
|
||||
+ " ks.prs_kostensoort_altcode sortcode,"
|
||||
// + " bud.bgt_budget_bedrag budget,"
|
||||
+ " b.prs_bedrijf_naam uitvoerder,"
|
||||
+ " o.mld_opdr_key,"
|
||||
+ " o.mld_opdr_id opdrachtnr,"
|
||||
+ " o.mld_opdr_datumbegin opdrachtdatum,"
|
||||
+ " o.prs_kostensoort_key,"
|
||||
+ " o.mld_opdr_kosten gecontracteerd,"
|
||||
// + " bud.bgt_budget_bedrag" + " - SUM (COALESCE(o.mld_opdr_kosten,0)) tecontracteren,"
|
||||
+ " SUM (f.fin_factuur_totaal) gefactureerd,"
|
||||
+ " COALESCE(o.mld_opdr_kosten,0) - SUM (COALESCE(f.fin_factuur_totaal,0)) tefactureren,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
@@ -230,6 +249,8 @@ 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(",") + ")" : "")
|
||||
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||
+ (bgtgrp_key > 0 ? " AND ksg.prs_kostensoortgrp_key = " + bgtgrp_key : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
|
||||
sql += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
@@ -283,20 +304,25 @@ var transitParam = buildTransitParam([]);
|
||||
+ " ks.prs_kostensoort_oms onderdeel,"
|
||||
+ " ks.prs_kostensoort_altcode rcode,"
|
||||
+ " ks.prs_kostensoort_altcode sortcode,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag,0)) budget"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM prs_kostensoort ks,"
|
||||
+ " prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ks.prs_kostensoort_key = bud.prs_kostensoort_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ (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.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY ksg.prs_kostensoortgrp_oms,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
@@ -309,100 +335,36 @@ var transitParam = buildTransitParam([]);
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
|
||||
// Dan de budgetten direct bij kostensoortgroep; daar kunnen geen opdrachten of facturen bij zijn (IS DIT DAN TOCH DE IMPLICIETE RESERVE?)
|
||||
// NB: DIT IS DUS NIET HET CONSOLIDATIE-NIVEAU MET DE OPTELLING VAN DE ONDERLIGGENDE BUDGETTEN maar de op hoger niveau gedefinieerde budgetten
|
||||
sql1 += " UNION SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " NULL,"
|
||||
+ " '"+ L("bgt_ksgbudget") +"' onderdeel,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode rcode,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode sortcode,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(bud.bgt_budget_bedrag) budget"
|
||||
+ " FROM prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = bud.prs_kostensoortgrp_key"
|
||||
+ " AND bud.prs_kostensoort_key IS NULL"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY ksg.prs_kostensoortgrp_oms,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " kr.bgt_kostenrubriek_oms,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
|
||||
// En tenslotte de budgetten direct bij kostenrubriek; daar kunnen ook geen opdrachten of facturen bij zijn (IS DIT DAN TOCH DE IMPLICIETE RESERVE?)
|
||||
// NB: OOK DIT IS DUS NIET HET CONSOLIDATIE-NIVEAU MET DE OPTELLING VAN DE ONDERLIGGENDE BUDGETTEN maar de op hoger niveau gedefinieerde budgetten
|
||||
sql1 += " UNION SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " '"+L("bgt_rubriekbudget")+"' groep,"
|
||||
+ " NULL prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " NULL,"
|
||||
+ " NULL onderdeel,"
|
||||
+ " kr.bgt_kostenrubriek_code||'. "+L("bgt_rubriekbudget")+"' rcode,"
|
||||
+ " kr.bgt_kostenrubriek_code||'. "+L("bgt_rubriekbudget")+"' sortcode,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag,0)) budget"
|
||||
+ " FROM bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE kr.bgt_kostenrubriek_key = bud.bgt_kostenrubriek_key"
|
||||
+ " AND bud.prs_kostensoort_key IS NULL"
|
||||
+ " AND bud.prs_kostensoortgrp_key IS NULL"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
+ " kr.bgt_kostenrubriek_code,"
|
||||
+ " bgt_budget_bedrag,"
|
||||
+ " kr.bgt_kostenrubriek_oms,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
}
|
||||
|
||||
if (groupby == 4) // 4. kostensoortgrp
|
||||
{
|
||||
var sql1 = " SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode rcode,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode sortcode,"
|
||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag,0)) budget"
|
||||
+ " FROM prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND bud.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND bud.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode rcode,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode sortcode,"
|
||||
+ " ksg.prs_kostensoortgrp_oms groep,"
|
||||
+ " bud.prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND bud.prs_kostensoortgrp_key = ksg.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ " AND bud.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
+ (bgtrubr_key > 0 ? " AND kr.bgt_kostenrubriek_key = " + bgtrubr_key : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
+ " ksg.prs_kostensoortgrp_altcode,"
|
||||
+ " ksg.prs_kostensoortgrp_oms,"
|
||||
@@ -411,35 +373,6 @@ var transitParam = buildTransitParam([]);
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
// Hier ook de budgetten direct bij kostenrubriek, die komen immers bij de kostensoortgroep niet mee
|
||||
sql1 += " UNION SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " kr.bgt_kostenrubriek_oms rubriek,"
|
||||
+ " kr.bgt_kostenrubriek_code||'. "+L("bgt_rubriekbudget")+"' rcode,"
|
||||
+ " kr.bgt_kostenrubriek_code||'. "+L("bgt_rubriekbudget")+"' sortcode,"
|
||||
+ " '"+L("bgt_rubriekbudget")+"' groep,"
|
||||
+ " NULL prs_kostensoortgrp_key,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " 5 budget_start,"
|
||||
+ " bud.bgt_budget_bedrag budget"
|
||||
+ " FROM bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE kr.bgt_kostenrubriek_key = bud.bgt_kostenrubriek_key"
|
||||
+ " AND bud.prs_kostensoort_key IS NULL"
|
||||
+ " AND bud.prs_kostensoortgrp_key IS NULL"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND bud.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql1 += " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
+ " kr.bgt_kostenrubriek_code,"
|
||||
+ " bud.bgt_kostenrubriek_key,"
|
||||
+ " bgt_budget_bedrag,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
}
|
||||
|
||||
if (groupby == 5) // 5. kostenrubriek
|
||||
@@ -450,16 +383,18 @@ var transitParam = buildTransitParam([]);
|
||||
+ " kr.bgt_kostenrubriek_code rcode,"
|
||||
+ " kr.bgt_kostenrubriek_code sortcode,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag,0)) budget"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM bgt_kostenrubriek kr,"
|
||||
+ " bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE bud.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND bud.bgt_budget_isreserve = 0" // reserve afzonderlijk
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||
+ " GROUP BY kr.bgt_kostenrubriek_oms,"
|
||||
@@ -467,25 +402,7 @@ var transitParam = buildTransitParam([]);
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " bgt_kostenrubriek_code ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
// RESERVE
|
||||
sql1 += " UNION SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " 'Reserve' rubriek,"
|
||||
+ " 'R' rcode,"
|
||||
+ " '91' sortcode,"
|
||||
+ " -1 bgt_kostenrubriek_key,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(bud.bgt_budget_bedrag) budget"
|
||||
+ " FROM bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE pr.bgt_project_key = bud.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ " AND bud.bgt_budget_isreserve = 1" // reserve afzonderlijk
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||
+ " GROUP BY bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
|
||||
if (bgt_inclbtw)
|
||||
{
|
||||
//BTW
|
||||
@@ -495,14 +412,16 @@ var transitParam = buildTransitParam([]);
|
||||
+ " 'B' rcode,"
|
||||
+ " '92' sortcode,"
|
||||
+ " -3 bgt_kostenrubriek_key,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(bud.bgt_budget_btwbedrag) budget"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_btwbedrag, 0)) budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van, 0)) budget_mutatie"
|
||||
+ " FROM bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE pr.bgt_project_key = bud.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
// ongeacht reserve
|
||||
+ " AND mut.bgt_budget_key(+) = bud.bgt_budget_key"
|
||||
+ (bgtproj_key_arr.length > 0 ? " AND pr.bgt_project_key IN (" + bgtproj_key_arr.join(",") + ")" : "")
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key
|
||||
+ " GROUP BY bgt_project_omschrijving ,"
|
||||
@@ -515,16 +434,20 @@ var transitParam = buildTransitParam([]);
|
||||
var sql1 = "SELECT ins_discipline_omschrijving project,"
|
||||
+ " bgt_project_omschrijving deelproject,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " SUM(5) budget_start,"
|
||||
+ " SUM(bud.bgt_budget_bedrag" + (bgt_inclbtw ? "+ bud.bgt_budget_btwbedrag" : "") + ") budget"
|
||||
+ " 0 budget_reserve,"
|
||||
+ " SUM(COALESCE(bud.bgt_budget_bedrag, 0)"
|
||||
+ (bgt_inclbtw ? " + COALESCE(bud.bgt_budget_btwbedrag, 0)" : "")
|
||||
+ ") budget_actueel,"
|
||||
+ " SUM(COALESCE(mut.bedrag_naar, 0) + COALESCE(mut.bedrag_van,0)) budget_mutatie"
|
||||
+ " FROM bgt_budget bud,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " ins_tab_discipline id,"
|
||||
+ mutatie_sql
|
||||
+ " WHERE bud.bgt_project_key = pr.bgt_project_key"
|
||||
//+ " AND bud.bgt_budget_isreserve = 0" // reserve hoeft in het totaal niet afzonderlijk
|
||||
+ " 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"
|
||||
+ (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,"
|
||||
+ " bgt_project_omschrijving ,"
|
||||
+ " ins_discipline_omschrijving";
|
||||
@@ -541,85 +464,79 @@ var transitParam = buildTransitParam([]);
|
||||
// Facturen: BTW obv fin_factuur_totaal_btw
|
||||
|
||||
// Eerst maar de OPDRACHTEN PER KOSTENSOORT
|
||||
var sql2a ="SELECT"
|
||||
+ " id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
+ " SUM (o.mld_opdr_kosten) gecontracteerd,"
|
||||
+ " SUM (o.mld_opdr_kosten*0.21) gecontracteerdbtw" // TODO!
|
||||
+ " FROM mld_opdr o," /* zonder de facturen, anders wordt verdubbeld */
|
||||
+ " prs_kostensoort ks,"
|
||||
+ " prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE ks.prs_kostensoort_key = o.prs_kostensoort_key(+)"
|
||||
+ " AND ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
var sql2a ="SELECT id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
+ " SUM(COALESCE(o.mld_opdr_kosten, 0)) gecontracteerd,"
|
||||
+ " SUM(COALESCE(o.mld_opdr_kosten, 0) *0.21) gecontracteerdbtw" // TODO!
|
||||
+ " FROM mld_opdr o," /* zonder de facturen, anders wordt verdubbeld */
|
||||
+ " prs_kostensoort ks,"
|
||||
+ " prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE ks.prs_kostensoort_key = o.prs_kostensoort_key(+)"
|
||||
+ " AND ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ (date_from ? " AND o.mld_opdr_datumbegin >= "+ date_from.beginToSQL() : "")
|
||||
+ (date_to ? " AND o.mld_opdr_datumbegin < "+ date_to.endToSQL() : "")
|
||||
+ (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.ins_discipline_key =" + bgtdisc_key;
|
||||
sql2a+= " GROUP BY "
|
||||
+ " id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key";
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql2a += " GROUP BY id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key";
|
||||
|
||||
// Vervolgens de FACTURATIE PER KOSTENSOORT
|
||||
var sql2b ="SELECT"
|
||||
+ " id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
+ " SUM (f.fin_factuur_totaal) gefactureerd,"
|
||||
+ " SUM (f.fin_factuur_totaal_btw) gefactureerdbtw"
|
||||
+ " FROM fin_factuur f,"
|
||||
+ " mld_opdr o,"
|
||||
+ " prs_kostensoort ks,"
|
||||
+ " prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE f.mld_opdr_key(+) = o.mld_opdr_key"
|
||||
+ " AND ks.prs_kostensoort_key = o.prs_kostensoort_key(+)"
|
||||
+ " AND ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
var sql2b ="SELECT id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key,"
|
||||
+ " SUM(COALESCE(f.fin_factuur_totaal, 0)) gefactureerd,"
|
||||
+ " SUM(COALESCE(f.fin_factuur_totaal_btw, 0)) gefactureerdbtw"
|
||||
+ " FROM fin_factuur f,"
|
||||
+ " mld_opdr o,"
|
||||
+ " prs_kostensoort ks,"
|
||||
+ " prs_kostensoortgrp ksg,"
|
||||
+ " bgt_kostenrubriek kr,"
|
||||
+ " bgt_project pr,"
|
||||
+ " ins_tab_discipline id"
|
||||
+ " WHERE f.mld_opdr_key(+) = o.mld_opdr_key"
|
||||
+ " AND ks.prs_kostensoort_key = o.prs_kostensoort_key(+)"
|
||||
+ " AND ksg.bgt_kostenrubriek_key = kr.bgt_kostenrubriek_key"
|
||||
+ " AND ksg.prs_kostensoortgrp_key = ks.prs_kostensoortgrp_key"
|
||||
+ " AND pr.bgt_project_key = kr.bgt_project_key"
|
||||
+ " AND id.ins_discipline_key = pr.ins_discipline_key"
|
||||
+ (date_from ? " AND f.fin_factuur_datum >= "+ date_from.beginToSQL() : "")
|
||||
+ (date_to ? " AND f.fin_factuur_datum < "+ date_to.endToSQL() : "")
|
||||
+ (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.ins_discipline_key =" + bgtdisc_key;
|
||||
sql2b+= " GROUP BY "
|
||||
+ " id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key";
|
||||
+ " AND pr.ins_discipline_key =" + bgtdisc_key;
|
||||
sql2b += " GROUP BY id.ins_discipline_key,"
|
||||
+ " pr.bgt_project_key,"
|
||||
+ " kr.bgt_kostenrubriek_key,"
|
||||
+ " ksg.prs_kostensoortgrp_key,"
|
||||
+ " ks.prs_kostensoort_key";
|
||||
|
||||
// BESTEDING nu bepaald uit combinatie van bovenstaande opdrachten en facturen
|
||||
var sql2 ="SELECT"
|
||||
+ " opdr.ins_discipline_key,"
|
||||
+ " opdr.bgt_project_key,"
|
||||
+ " opdr.bgt_kostenrubriek_key,"
|
||||
+ " opdr.prs_kostensoortgrp_key,"
|
||||
+ " opdr.prs_kostensoort_key prs_kostensoort_key,"
|
||||
+ " SUM(opdr.gecontracteerd) gecontracteerd,"
|
||||
+ " SUM(opdr.gecontracteerdbtw) gecontracteerdbtw,"
|
||||
+ " SUM (fact.gefactureerd) gefactureerd,"
|
||||
+ " SUM (fact.gefactureerdbtw) gefactureerdbtw,"
|
||||
+ " SUM(COALESCE(opdr.gecontracteerd,0)) - SUM (COALESCE(fact.gefactureerd,0)) tefactureren"
|
||||
+ " FROM (" + sql2a + ") opdr, (" + sql2b + ") fact "
|
||||
+ " WHERE opdr.prs_kostensoort_key(+) = fact.prs_kostensoort_key"
|
||||
+ " GROUP BY "
|
||||
+ " opdr.ins_discipline_key,"
|
||||
var sql2 ="SELECT opdr.ins_discipline_key,"
|
||||
+ " opdr.bgt_project_key,"
|
||||
+ " opdr.bgt_kostenrubriek_key,"
|
||||
+ " opdr.prs_kostensoortgrp_key,"
|
||||
+ " opdr.prs_kostensoort_key prs_kostensoort_key,"
|
||||
+ " SUM(opdr.gecontracteerd) gecontracteerd,"
|
||||
+ " SUM(opdr.gecontracteerdbtw) gecontracteerdbtw,"
|
||||
+ " SUM (fact.gefactureerd) gefactureerd,"
|
||||
+ " SUM (fact.gefactureerdbtw) gefactureerdbtw,"
|
||||
+ " SUM(COALESCE(opdr.gecontracteerd, 0)) - SUM(COALESCE(fact.gefactureerd, 0)) tefactureren"
|
||||
+ " FROM (" + sql2a + ") opdr, (" + sql2b + ") fact "
|
||||
+ " WHERE opdr.prs_kostensoort_key(+) = fact.prs_kostensoort_key"
|
||||
+ " GROUP BY opdr.ins_discipline_key,"
|
||||
+ " opdr.bgt_project_key,"
|
||||
+ " opdr.bgt_kostenrubriek_key,"
|
||||
+ " opdr.prs_kostensoortgrp_key,"
|
||||
@@ -629,57 +546,68 @@ var transitParam = buildTransitParam([]);
|
||||
// Hier komen ze bij elkaar: de budgetten en de besteding, met de respectievelijke groeperingen
|
||||
// sql1 heeft de benamingen en de budgetten met kostensoort_key (die NULL kan zijn!), sql2 de kostensoort_key en de bestedingen
|
||||
//
|
||||
var sql ="SELECT * FROM (SELECT"
|
||||
+ " bud.project project,"
|
||||
+ " bud.deelproject deelproject,"
|
||||
+ " besteding.bgt_project_key,"
|
||||
var sql = "SELECT *"
|
||||
+ " FROM (SELECT bud.project project,"
|
||||
+ " bud.deelproject deelproject,"
|
||||
+ " besteding.bgt_project_key,"
|
||||
+ (groupby <= 5 ? " bud.sortcode, bud.rubriek rubriek, bud.rcode rcode, bud.bgt_kostenrubriek_key," : "")
|
||||
+ (groupby <= 4 ? " bud.groep groep, bud.prs_kostensoortgrp_key," : "")
|
||||
+ (groupby <= 3 ? " bud.onderdeel onderdeel, besteding.prs_kostensoort_key," : "")
|
||||
+ " MAX(bud.budget_start) budget_start,"
|
||||
+ " MAX(bud.budget) budget," /* is voor alle regels hetzelfde, kies er maar eentje, als je maar niet optelt */
|
||||
+ " SUM(besteding.gecontracteerd) gecontracteerd,"
|
||||
+ " MAX(bud.budget) - SUM(COALESCE(besteding.gecontracteerd,0)) tecontracteren,"
|
||||
+ " SUM(besteding.gefactureerd) gefactureerd,"
|
||||
+ " SUM(besteding.tefactureren) tefactureren"
|
||||
+ " FROM (" + sql1 + ") bud, (" + sql2 + ") besteding "
|
||||
+ " MAX(bud.budget_reserve) budget_reserve,"
|
||||
+ " MAX(bud.budget_actueel) budget_actueel,"
|
||||
+ " MAX(bud.budget_actueel - bud.budget_mutatie + bud.budget_reserve) budget_origineel,"
|
||||
+ " MAX(bud.budget_mutatie) budget_mutatie,"
|
||||
+ " SUM(besteding.gecontracteerd) gecontracteerd,"
|
||||
+ " MAX(COALESCE(bud.budget_actueel, 0)) - SUM(COALESCE(besteding.gecontracteerd, 0)) tecontracteren,"
|
||||
+ " SUM(besteding.gefactureerd) gefactureerd,"
|
||||
+ " SUM(besteding.tefactureren) tefactureren"
|
||||
+ " FROM (" + sql1 + ") bud,"
|
||||
+ " (" + sql2 + ") besteding"
|
||||
+ (groupby == 3 ? " WHERE bud.prs_kostensoort_key = besteding.prs_kostensoort_key " : "")
|
||||
+ (groupby == 4 ? " WHERE bud.prs_kostensoortgrp_key = besteding.prs_kostensoortgrp_key " : "")
|
||||
+ (groupby == 5 ? " WHERE bud.bgt_kostenrubriek_key = besteding.bgt_kostenrubriek_key(+) " : "") // de reserve en BTW hebben geen echte rubriek_key
|
||||
+ (groupby == 6 ? " WHERE bud.bgt_project_key = besteding.bgt_project_key " : "")
|
||||
// + " AND COALESCE(besteding.bgt_kostenrubriek_key, 99) <> -3"
|
||||
+ " GROUP BY "
|
||||
+ " bud.project, bud.deelproject, besteding.bgt_project_key"
|
||||
+ " AND COALESCE(besteding.bgt_kostenrubriek_key, 99) <> -3"
|
||||
+ " GROUP BY bud.project"
|
||||
+ " , bud.deelproject"
|
||||
+ " , besteding.bgt_project_key"
|
||||
+ (groupby <= 5 ? " ,bud.rubriek, bud.rcode, bud.sortcode, bud.bgt_kostenrubriek_key" : "")
|
||||
+ (groupby <= 4 ? " ,bud.groep, bud.prs_kostensoortgrp_key" : "")
|
||||
+ (groupby <= 3 ? " ,bud.onderdeel, besteding.prs_kostensoort_key" : "");
|
||||
|
||||
if (false && bgt_inclbtw && groupby==5) // In rubriekoverzicht eventueel een BTW-regel
|
||||
{
|
||||
sql +=" UNION SELECT"
|
||||
+ " bud.project project,"
|
||||
+ " bud.deelproject deelproject,"
|
||||
+ " besteding.bgt_project_key,"
|
||||
+ " bud.sortcode,"
|
||||
+ " bud.rubriek rubriek, bud.rcode rcode, bud.bgt_kostenrubriek_key,"
|
||||
+ " MAX(bud.budget_start) budget_start,"
|
||||
+ " MAX(bud.budget) budget,"
|
||||
+ " SUM(besteding.gecontracteerdbtw) gecontracteerd,"
|
||||
+ " MAX(bud.budget) - SUM(COALESCE(besteding.gecontracteerdbtw,0)) tecontracteren,"
|
||||
+ " SUM(besteding.gefactureerdbtw) gefactureerd,"
|
||||
+ " SUM(besteding.tefactureren) tefactureren"
|
||||
+ " FROM (" + sql1 + ") bud, (" + sql2 + ") besteding "
|
||||
+ " WHERE bud.bgt_kostenrubriek_key = -3 "
|
||||
+ "GROUP BY "
|
||||
+ " bud.project, bud.deelproject, besteding.bgt_project_key"
|
||||
+ " ,bud.rubriek, bud.rcode, bud.sortcode, bud.bgt_kostenrubriek_key";
|
||||
sql += " UNION"
|
||||
+ " SELECT bud.project project,"
|
||||
+ " bud.deelproject deelproject,"
|
||||
+ " besteding.bgt_project_key,"
|
||||
+ " bud.sortcode,"
|
||||
+ " bud.rubriek rubriek, bud.rcode rcode, bud.bgt_kostenrubriek_key,"
|
||||
+ " MAX(bud.budget_reserve) budget_reserve,"
|
||||
+ " MAX(bud.budget_actueel) budget_actueel,"
|
||||
+ " MAX(bud.budget_origineel) budget_origineel,"
|
||||
+ " MAX(bud.budget_mutatie) budget_mutatie,"
|
||||
+ " SUM(besteding.gecontracteerdbtw) gecontracteerd,"
|
||||
+ " MAX(COALESCE(bud.budget_actueel, 0)) - SUM(COALESCE(besteding.gecontracteerdbtw, 0)) tecontracteren,"
|
||||
+ " SUM(besteding.gefactureerdbtw) gefactureerd,"
|
||||
+ " SUM(besteding.tefactureren) tefactureren"
|
||||
+ " FROM (" + sql1 + ") bud,"
|
||||
+ " (" + sql2 + ") besteding"
|
||||
+ " WHERE bud.bgt_kostenrubriek_key = -3"
|
||||
+ " GROUP BY bud.project"
|
||||
+ " , bud.deelproject"
|
||||
+ " , besteding.bgt_project_key"
|
||||
+ " , bud.rubriek"
|
||||
+ " , bud.rcode"
|
||||
+ " , bud.sortcode"
|
||||
+ " , bud.bgt_kostenrubriek_key";
|
||||
}
|
||||
|
||||
sql += ") ORDER BY "
|
||||
+ "project"
|
||||
+ (groupby < 6 ? ",sortcode, rubriek" : "")
|
||||
+ (groupby < 5 ? ",groep" : "")
|
||||
+ (groupby < 4 ? ",onderdeel" : "");
|
||||
sql += " )"
|
||||
+ " ORDER BY project"
|
||||
+ (groupby < 6 ? ",sortcode, rubriek" : "")
|
||||
+ (groupby < 5 ? ",groep" : "")
|
||||
+ (groupby < 4 ? ",onderdeel" : "");
|
||||
|
||||
}
|
||||
|
||||
@@ -687,59 +615,76 @@ var transitParam = buildTransitParam([]);
|
||||
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||
|
||||
// KOLOM BUDGET
|
||||
function budgetShow(oRs)
|
||||
function budgetReserveAmount(oRs)
|
||||
{
|
||||
var v = safe.curr(Math.round(oRs("budget").Value), true);
|
||||
if (groupby > 2)
|
||||
{
|
||||
v = "<span class='details"+ (v<0 ? " negative" : "") +"' onclick='FcltMgr.stopPropagation(event); naarbudget({0},{1},{2},{3},this)'>" + v +"</span>";
|
||||
if (groupby == 6)
|
||||
v = (v).format(oRs("bgt_project_key").Value, null, null, null);
|
||||
else if (groupby == 5)
|
||||
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, 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);
|
||||
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);
|
||||
}
|
||||
else
|
||||
{
|
||||
v = ("<span class='details"+ (v<0 ? " negative" : "") +"'>" + v +"</span>");
|
||||
}
|
||||
var v = budget_Amount(oRs, "budget_reserve");
|
||||
return v;
|
||||
}
|
||||
function budgetStartShow(oRs)
|
||||
function budgetActueelAmount(oRs)
|
||||
{
|
||||
var v = safe.curr(Math.round(oRs("budget_start").Value), true);
|
||||
if (groupby > 2)
|
||||
{
|
||||
v = "<span class='details"+ (v<0 ? " negative" : "") +"' onclick='FcltMgr.stopPropagation(event); naarbudget({0},{1},{2},{3},this)'>" + v +"</span>";
|
||||
if (groupby == 6)
|
||||
v = (v).format(oRs("bgt_project_key").Value, null, null, null);
|
||||
else if (groupby == 5)
|
||||
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, 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);
|
||||
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);
|
||||
}
|
||||
else
|
||||
{
|
||||
v = ("<span class='details"+ (v<0 ? " negative" : "") +"'>" + v +"</span>");
|
||||
}
|
||||
var v = budget_Amount(oRs, "budget_actueel");
|
||||
return v;
|
||||
}
|
||||
function budgetAmountStart(oRs)
|
||||
function budgetOrigineelAmount(oRs)
|
||||
{
|
||||
var v = Math.round(oRs("budget_start").Value);
|
||||
var v = budget_Amount(oRs, "budget_origineel");
|
||||
return v;
|
||||
}
|
||||
function budgetAmount(oRs)
|
||||
function budgetMutatieAmount(oRs)
|
||||
{
|
||||
var v = Math.round(oRs("budget").Value);
|
||||
var v = budget_Amount(oRs, "budget_mutatie");
|
||||
return v;
|
||||
}
|
||||
function budget_Amount(oRs, budget_naam)
|
||||
{
|
||||
var v = Math.round(oRs(budget_naam).Value);
|
||||
return v;
|
||||
}
|
||||
|
||||
function budgetReserveShow(oRs)
|
||||
{
|
||||
v = budget_Show(oRs, "budget_reserve");
|
||||
return v;
|
||||
}
|
||||
function budgetActueelShow(oRs)
|
||||
{
|
||||
v = budget_Show(oRs, "budget_actueel");
|
||||
return v;
|
||||
}
|
||||
function budgetOrigineelShow(oRs)
|
||||
{
|
||||
v = budget_Show(oRs, "budget_origineel");
|
||||
return v;
|
||||
}
|
||||
function budgetMutatieShow(oRs)
|
||||
{
|
||||
v = budget_Show(oRs, "budget_mutatie");
|
||||
return v;
|
||||
}
|
||||
|
||||
function budget_Show(oRs, v)
|
||||
{
|
||||
var v = safe.curr(Math.round(oRs(v).Value), true);
|
||||
if (groupby > 2)
|
||||
{
|
||||
v = "<span class='details"+ (v<0 ? " negative" : "") +"' onclick='FcltMgr.stopPropagation(event); naarbudget({0},{1},{2},{3},this)'>" + v +"</span>";
|
||||
if (groupby == 6)
|
||||
v = (v).format(oRs("bgt_project_key").Value, null, null, null);
|
||||
else if (groupby == 5)
|
||||
v = (v).format(oRs("bgt_project_key").Value, oRs("bgt_kostenrubriek_key").Value, 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);
|
||||
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);
|
||||
}
|
||||
else
|
||||
{
|
||||
v = ("<span class='details"+ (v<0 ? " negative" : "") +"'>" + v +"</span>");
|
||||
}
|
||||
return v;
|
||||
}
|
||||
|
||||
|
||||
// KOLOM GECONTRACTEERD
|
||||
function ordersShow(oRs)
|
||||
{
|
||||
@@ -771,7 +716,10 @@ var transitParam = buildTransitParam([]);
|
||||
var v = safe.curr(Math.round(oRs("tecontracteren").Value), true);
|
||||
if (v < 0) v = "<span class='negative'>" + v +"</span>";
|
||||
// en een onclick met params afh. van groupby
|
||||
if (v != 0) return v;
|
||||
|
||||
var show_empty = false;
|
||||
if (show_empty || v != 0)
|
||||
return v;
|
||||
}
|
||||
function orderstogoAmount(oRs)
|
||||
{
|
||||
@@ -808,7 +756,10 @@ var transitParam = buildTransitParam([]);
|
||||
var v = safe.curr(Math.round(oRs("tefactureren").Value), true);
|
||||
if (v < 0) v = "<span class='negative'>" + v +"</span>";
|
||||
// en een onclick
|
||||
if (v != 0) return v;
|
||||
|
||||
var show_empty = false;
|
||||
if (show_empty || v != 0)
|
||||
return v;
|
||||
}
|
||||
function invoicestogoAmount(oRs)
|
||||
{
|
||||
@@ -858,9 +809,11 @@ var transitParam = buildTransitParam([]);
|
||||
rst.addColumn(new Column({caption: L("prs_kostensoort"), content: "onderdeel"}));
|
||||
if (groupby > 2) // denk ik
|
||||
{
|
||||
// PF: voor een release lijkt het me beter dit in deze staat nog achterwege te laten.. TODO
|
||||
// rst.addColumn(new Column({caption: "start", content: budgetStartShow, fnAmount: budgetAmountStart, datatype: "currency", total: true}));
|
||||
rst.addColumn(new Column({caption: L("bgt_budget_bedrag"), content: budgetShow, fnAmount: budgetAmount, 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: "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: L("bgt_budget_bedrag"), content: budgetActueelShow, fnAmount: budgetActueelAmount, datatype: "currency", total: true}));
|
||||
}
|
||||
if (groupby <= 2)
|
||||
{
|
||||
|
||||
@@ -42,7 +42,10 @@ switch (req_info)
|
||||
+ " , -1 groep_key"
|
||||
+ " , -1 soort_key"
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " WHERE d.bgt_ins_discipline_key = d.bgt_ins_discipline_key"
|
||||
+ " , ins_tab_discipline t"
|
||||
+ " WHERE t.ins_discipline_key = d.bgt_ins_discipline_key"
|
||||
+ " AND t.ins_discipline_module = 'BGT'"
|
||||
+ " AND t.in_discipline_verwijder IS NULL"
|
||||
+ (init_key != -1 ? " AND d.bgt_ins_discipline_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
@@ -56,6 +59,7 @@ switch (req_info)
|
||||
+ " FROM bgt_disc_params d"
|
||||
+ " , bgt_project p"
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
+ " AND p.bgt_project_verwijder IS NULL"
|
||||
+ (init_key != -1 ? " AND p.bgt_project_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
@@ -125,6 +129,7 @@ switch (req_info)
|
||||
+ " WHERE d.bgt_ins_discipline_key = p.ins_discipline_key"
|
||||
+ " AND p.bgt_project_key = g.bgt_project_key"
|
||||
+ " AND g.prs_kostenplaatsgrp_key = s.prs_kostenplaatsgrp_key"
|
||||
+ " AND s.prs_kostenplaats_verwijder IS NULL"
|
||||
+ (init_key != -1 ? " AND s.prs_kostenplaats_key = " + init_key : "");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -191,10 +191,11 @@ function myContourProcessor(cHandle)
|
||||
var cnt = cHandle.Contour("R:" + highlight_arr[r]);
|
||||
if (cnt)
|
||||
{
|
||||
cnt.SetColor(0x800000, 255); // Matig rood, door 255 onderliggend
|
||||
cnt.Lineweight = 5 * getQParamFloat("hintScale", 100); // Constant 5 pixel width?
|
||||
cnt.SetoutlineColor(0x800000, 255);
|
||||
cnt.Hatch = 3; // Diagonal Cross
|
||||
//cnt.Label = "[s200]" + cnt.Label;
|
||||
cnt.SetColor(getQParamInt("highlightcolor", 0x800000), 255); // Matig rood, door 255 onderliggend
|
||||
cnt.Lineweight = Math.min(250, 5 * getQParamFloat("hintScale", 100)); // Constant 5 pixel width maar niet te dik
|
||||
cnt.SetoutlineColor(getQParamInt("highlightbordercolor", 0x800000), 255);
|
||||
cnt.Hatch = getQParamInt("highlighthatch", 3); // Diagonal Cross
|
||||
cnt.MoveTop();
|
||||
}
|
||||
}
|
||||
@@ -536,7 +537,7 @@ if (dwfPath)
|
||||
labelLayers : lLabel,
|
||||
minArea : S("fg_contour_minArea"),
|
||||
maximize : S("fg_maximize"),
|
||||
tempFolder : Server.MapPath("../../Temp"),
|
||||
tempFolder : Server.MapPath(rooturl + "/Temp"),
|
||||
keepTemp : (__Logging & 8) == 8
|
||||
});
|
||||
mySLNKDWF.Process();
|
||||
|
||||
@@ -424,8 +424,8 @@ function getSqlFiatMld(fiatstatus, prsKeys, params)
|
||||
+ " ELSE l.alg_locatie_omschrijving || ' (' || l.alg_locatie_code || ')'"
|
||||
+ " END locatie"
|
||||
+ " , g.alg_gebouw_code || ' ' || g.alg_gebouw_naam gebouw"
|
||||
+ " , t.alg_terreinsector_code || ' ' || alg_terreinsector_naam terrein")
|
||||
+ " , m.mld_melding_omschrijving omschrijving"
|
||||
+ " , t.alg_terreinsector_code || ' ' || alg_terreinsector_naam terrein"
|
||||
+ " , m.mld_melding_omschrijving omschrijving")
|
||||
+ " FROM mld_melding m"
|
||||
+ " , mld_stdmelding sm"
|
||||
+ " , mld_opdr op"
|
||||
|
||||
@@ -428,9 +428,9 @@ function suggest_box_resruimte (titel, histograms, kolom, params)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (resData.url.slice(0,1) == "*") // URL starting with '*' is interpreted like 'target=_new'
|
||||
if (resData.url.slice(0,4) == "http")
|
||||
{
|
||||
window.open(resData.url.substr(1));
|
||||
window.open(resData.url);
|
||||
FcltMgr.stopPropagation(event);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -591,7 +591,7 @@ function fin_list (params)
|
||||
loRs = Oracle.Execute(lsql);
|
||||
var anybb = !loRs.eof;
|
||||
loRs.close();
|
||||
if (anybb)
|
||||
if (anybb && !user.has("WEB_FINMSU")) // FINMSU is niet gebonden door bedrijf-scope
|
||||
{
|
||||
// Dan mogen het alleen facturen zijn van bedrijven waar ik zaken mee doe.
|
||||
// Echter: die bedrijven kunnen ook met anderen zaken doen, en die facturen moeten we natuurlijk niet tonen.
|
||||
|
||||
@@ -88,7 +88,8 @@ var ICONS = {
|
||||
"magnifier.png" : "fa-desktop",
|
||||
"paste.png" : "fa-clipboard",
|
||||
"xslpreview.png" : "fa-eye",
|
||||
"palette.png" : "fa-file-image-o"
|
||||
"palette.png" : "fa-file-image-o",
|
||||
"vcard.png" : "fa-address-card"
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -906,7 +906,7 @@ function ins_list (pautfunction, params)
|
||||
rst.addAction({ action: "insDelete", caption: L("lcl_delete"), enabler: "eDelete", single: false, multi: !tiny, multiOnce: true});
|
||||
if (hasWriteINSMAN) // Ik heb INSMAN rechten nodig om multi te kunnen editen. Met alleen INSUSE rechten mag ik dat vooralsnog niet.
|
||||
rst.addAction({ action: "insMultiEdit", caption: L("lcl_ins_multi_edit"), enabler: "eEditMulti", multi: !tiny, single: false, multiOnce: true});
|
||||
rst.addAction({ action: "insMultiMove", caption: L("lcl_ins_multi_move"), enabler: "NotExist", multi: !tiny, multiOnce: true});
|
||||
rst.addAction({ action: "insMultiMove", caption: L("lcl_ins_multi_move"), enabler: "NotExist", multi: !tiny, single: false, multiOnce: true});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -234,7 +234,10 @@ if (srtcont_key > 0)
|
||||
var mode = $("#sel_srtcontrole option:selected")[0].getAttribute("modus");
|
||||
$("#mode").val(mode);
|
||||
|
||||
var stdeenheid = parseInt(getSrtControleValue("eenheid_std"), 10);
|
||||
var eenheid = parseInt($("#eenheid").val(), 10);
|
||||
if (eenheid < 0)
|
||||
eenheid = stdeenheid;
|
||||
var bits = 0;
|
||||
if (eenheid == 1 || eenheid == 2 || eenheid == 3 || eenheid == 4)
|
||||
{
|
||||
|
||||
@@ -40,7 +40,7 @@ function gettablesql(ptable, pchildtable, pchildsql, precord, pmtable)
|
||||
{
|
||||
var pfac_audit_tabelkey = " COALESCE((SELECT x.{0}_key".format(pmtable? pmtable : ptable)
|
||||
+ " FROM " + pchildtable + " x"
|
||||
+ " WHERE x.{0}_key = a.fac_audit_tabelkey)".format(pchildtable) + ", " + precord + ") fac_audit_tabelkey"; // Als waarde null is dan is het record verwijderd. Dan gewoon key invullen (o.a. voor prs_kostensoort).
|
||||
+ " WHERE x.{0}_key = a.fac_audit_tabelkey)".format(pchildtable) + ", " + precord[0] + ") fac_audit_tabelkey"; // Als waarde null is dan is het record verwijderd. Dan gewoon key (eerste) invullen (o.a. voor prs_kostensoort).
|
||||
}
|
||||
|
||||
|
||||
@@ -127,7 +127,7 @@ else
|
||||
key_field = "{0}_ins_discipline_key".format(module);
|
||||
var childsql = "SELECT {0}_disc_params_key disc_params_key".format(module)
|
||||
+ " FROM {0}_disc_params".format(module)
|
||||
+ " WHERE {0} IN ({1})".format(key_field, record);
|
||||
+ " WHERE {0} IN ({1})".format(key_field, record.join(","));
|
||||
|
||||
if (module != "mrk")
|
||||
{
|
||||
@@ -143,25 +143,25 @@ else
|
||||
{
|
||||
case "fac_groep": childsql = "SELECT fac_groeprechten_key"
|
||||
+ " FROM fac_groeprechten"
|
||||
+ " WHERE fac_groep_key IN ({0})".format(record);
|
||||
+ " WHERE fac_groep_key IN ({0})".format(record.join(","));
|
||||
break;
|
||||
case "fac_profiel": childsql = "SELECT fac_profielwaarde_key"
|
||||
+ " FROM fac_profielwaarde"
|
||||
+ " WHERE fac_profiel_key IN ({0})".format(record);
|
||||
+ " WHERE fac_profiel_key IN ({0})".format(record.join(","));
|
||||
break;
|
||||
case "prs_kostensoort": childsql = "SELECT prs_kostencombinatie_key" // Huidige kosten combinaties.
|
||||
+ " FROM prs_kostencombinatie"
|
||||
+ " WHERE prs_kostensoort_key IN ({0})".format(record)
|
||||
+ " WHERE prs_kostensoort_key IN ({0})".format(record.join(","))
|
||||
+ " UNION "
|
||||
+ "SELECT fac_audit_tabelkey" // Verwijderde kosten combinaties.
|
||||
+ " FROM fac_audit"
|
||||
+ " WHERE fac_audit_tabelnaam = 'prs_kostencombinatie'"
|
||||
+ " AND fac_audit_waarde_oud IN ('{0}')".format(record);
|
||||
+ " AND fac_audit_waarde_oud IN ('{1}')".format(record.join(","), record.join("','"));
|
||||
break;
|
||||
case "prs_perslid": childsql = "SELECT fac_audit_tabelkey"
|
||||
+ " FROM fac_audit"
|
||||
+ " WHERE fac_audit_tabelnaam = 'fac_gebruikersgroep'"
|
||||
+ " AND fac_audit_waarde_oud IN ('{0}')".format(record);
|
||||
+ " AND fac_audit_waarde_oud IN ('{0}')".format(record.join("','"));
|
||||
break;
|
||||
default : shared.simpel_page(L("lcl_internal_error")); // TODO: Abort en error geven.
|
||||
}
|
||||
|
||||
@@ -38,6 +38,7 @@ scaffolding(this_model,
|
||||
"modeemail",
|
||||
"modesms",
|
||||
"modealert",
|
||||
"modeapp",
|
||||
"usermode",
|
||||
"mailbuilding",
|
||||
"delay"
|
||||
|
||||
@@ -1033,7 +1033,7 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
if(stdm_info.kanverwijzen == 0 && mld_melding.kto_type) // Referentie (kanverwijzen > 0) verderop invoerbaar.
|
||||
mld.referentielink(mld_melding.kto_type, mld_melding.kto_key, L("lcl_mld_kto"));
|
||||
|
||||
if (stdm_info.slabewaken)
|
||||
if (stdm_info.slabewaken && this_mld.canSLAChange)
|
||||
{
|
||||
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
|
||||
+ " UNION SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
|
||||
@@ -1047,9 +1047,7 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
}
|
||||
}
|
||||
RWFIELDTR("respijt", "fldrespijt", L("lcl_mld_respijt"), mld_melding.respijt? Math.round(mld_melding.respijt * 1000) / 1000 : "", {maxlength: 8, datatype: "float", selector: selectparams});
|
||||
|
||||
if (this_mld.canSLAChange)
|
||||
RWCHECKBOXTR("indult", "fldafr", L("lcl_mld_indult"), mld_melding.indult);
|
||||
RWCHECKBOXTR("indult", "fldafr", L("lcl_mld_indult"), mld_melding.indult);
|
||||
}
|
||||
if (this_mld.canAfrond)
|
||||
RWCHECKBOXTR("afgerond", "fldafr", L("lcl_mld_afgerond"), mld_melding.afgerond);
|
||||
|
||||
@@ -36,8 +36,8 @@ var lvl = getQParamInt("lvl", 1);
|
||||
{
|
||||
if (p_url)
|
||||
{ // URL starting with '*' is interpreted like 'target=_new'
|
||||
if (p_url.slice(0,1) == "*")
|
||||
window.open(p_url.substr(1));
|
||||
if (p_url.slice(0,4) == "http")
|
||||
window.open(p_url);
|
||||
else
|
||||
FcltMgr.openDetail(p_url, L("lcl_complain"));
|
||||
}
|
||||
|
||||
@@ -52,24 +52,16 @@ if (disc_key > -1 && srtdisc_key < 0)
|
||||
|
||||
function onChangeVakgroep(vakgroep_key)
|
||||
{
|
||||
sgStdm.setValue(-1, "", true, false, null, true);
|
||||
sgStdm.CheckJustOne();
|
||||
|
||||
// Zet de srtdiscipline indien niet ingevuld.
|
||||
if (vakgroep_key > 0)
|
||||
{
|
||||
$.getJSON("./get_mld_info_ajax.asp",
|
||||
{ req_info: "mld_discipline",
|
||||
mld_ins_discipline_key: vakgroep_key },
|
||||
callback_disc_info);
|
||||
callback_disc_info);
|
||||
}
|
||||
}
|
||||
|
||||
function onChangeShowExpired()
|
||||
{ // Is de juiste waarde nog geldig i.v.m. wijzigen van de checkbox "Toon vervallen".
|
||||
sgStdm.setValue($("#stdm").val(), $("#show_stdm").val(), true, true);
|
||||
}
|
||||
|
||||
function callback_disc_info(disc_info, textStatus, jqXHR)
|
||||
{
|
||||
if ($("#srtdisc_key").val() <= 0)
|
||||
@@ -146,7 +138,7 @@ if (disc_key > -1 && srtdisc_key < 0)
|
||||
trclass: "primsearch",
|
||||
emptyOption: "",
|
||||
selectjustone: true,
|
||||
onChange: "sgDisc.setValue(-1, '');sgStdm.setValue(-1, '')",
|
||||
onChange: "sgDisc.setValue(-1, '')",
|
||||
readonly: srtdisc_key > -1 || disc_key > -1
|
||||
});
|
||||
|
||||
@@ -164,22 +156,13 @@ if (disc_key > -1 && srtdisc_key < 0)
|
||||
onChange: "onChangeVakgroep",
|
||||
readonly: disc_key > -1
|
||||
});
|
||||
// Melding / Stdmelding
|
||||
FCLTstdmeldingselector("stdm",
|
||||
"sgStdm",
|
||||
{ stdmelding_key: stdm_key,
|
||||
label: L("lcl_complain"),
|
||||
trclass: "primsearch",
|
||||
perslidKey: user_key,
|
||||
autfunctionKey: -1, // alles is toegestaan! authparams.autfunctionkey,
|
||||
urlAdd: [{urlParam: "disc_key", field: "disc_key"},
|
||||
{urlParam: "srtdisc_key", field: "srtdisc_key"},
|
||||
{urlParam: "show_expired", field: "show_expired"}],
|
||||
onChange: "onChangeStdMelding",
|
||||
whenEmpty: L("lcl_search_generic") // blijkt niet supported
|
||||
});
|
||||
|
||||
%>
|
||||
// Melding / Stdmelding %>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label for="stdm"><%=L("lcl_complain")%>:</label></td>
|
||||
<td>
|
||||
<input type="text" class="fldsrch wildcard" name="stdm" value="">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
var searchtext = getQParam("searchtext", null);
|
||||
var srtdisc_key = getQParamInt("srtdisc_key", -1);
|
||||
var disc_key = getQParamInt("disc_key", -1);
|
||||
var stdm_key = getQParamInt("stdm", -1);
|
||||
var stdm = getQParam("stdm", "");
|
||||
var mldgrp_key = getQParamInt("mldgrp_key", -1);
|
||||
var kenmerktype = getQParam("kenmerktype", null);
|
||||
var kenmerk_niveau = getQParam("niveau", null);
|
||||
@@ -68,22 +68,11 @@ oRs.Close();
|
||||
FcltMgr.openModalDetail(url, scfKeyString.split(",").length + " "+ L("lcl_mld_stdmeldingen"), { callback: scf_reload });
|
||||
}
|
||||
*/
|
||||
</script>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%
|
||||
if (stdm_key > 0)
|
||||
{
|
||||
var sql = "SELECT ins_discipline_key,"
|
||||
+ " m2.ins_srtdiscipline_key"
|
||||
+ " FROM mld_stdmelding md, mld_discipline m2"
|
||||
+ " WHERE md.mld_ins_discipline_key = m2.ins_discipline_key"
|
||||
+ " AND mld_stdmelding_key = " + stdm_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var dkey = oRs("ins_discipline_key").Value;
|
||||
var skey = oRs("ins_srtdiscipline_key").Value;
|
||||
}
|
||||
if (disc_key > 0)
|
||||
{
|
||||
var sql = "SELECT m2.ins_srtdiscipline_key"
|
||||
@@ -141,13 +130,11 @@ oRs.Close();
|
||||
: " AND (sm.mld_stdmelding_vervaldatum IS NULL OR"
|
||||
+ " sm.mld_stdmelding_vervaldatum > SYSDATE)");
|
||||
|
||||
if (stdm_key > 0)
|
||||
if (stdm != "")
|
||||
{
|
||||
sql += " AND sm.mld_stdmelding_key = " + stdm_key
|
||||
+ " AND md.ins_discipline_key = " + dkey
|
||||
+ " AND isd.ins_srtdiscipline_key = " + skey;
|
||||
sql += " AND sm.mld_stdmelding_upper LIKE " + safe.quoted_sql_wild("%" + stdm + "%");
|
||||
}
|
||||
else if (disc_key > 0)
|
||||
if (disc_key > 0)
|
||||
{
|
||||
sql += " AND md.ins_discipline_key = " + disc_key
|
||||
+ " AND isd.ins_srtdiscipline_key = " + skey;
|
||||
|
||||
@@ -143,8 +143,9 @@ function FOOTER(params)
|
||||
|
||||
function PAGE_START(params)
|
||||
{
|
||||
// params.dialog is deprecated/unsupported due to app problems.
|
||||
if (!params) params = {};
|
||||
%><div data-role="page" id="<%=params.id ? params.id : 'page'%>" data-theme="<%= params.datatheme ? params.datatheme : jQDataTheme%>" data-dialog="<%=params.dialog ? params.dialog : 'false'%>"
|
||||
%><div data-role="page" id="<%=params.id ? params.id : 'page'%>" data-theme="<%= params.datatheme ? params.datatheme : jQDataTheme%>"
|
||||
<%= params.pclass?" class='"+params.pclass+"'":"" %> ><%
|
||||
}
|
||||
function PAGE_END()
|
||||
|
||||
@@ -132,7 +132,7 @@ var mobile = {
|
||||
trackingpage:
|
||||
function (pnode, pkey, psubject)
|
||||
{
|
||||
HEADER({title: L("lcl_history")+" "+psubject, back: false, nohome: true}) ;
|
||||
HEADER({title: L("lcl_history")+" "+psubject, back: true, nohome: true}) ;
|
||||
CONTENT_START();
|
||||
|
||||
function fnTrackText (oRs)
|
||||
|
||||
@@ -43,7 +43,7 @@ if (S("fac_emailtoken_auth_expire") == 0)
|
||||
|
||||
<body class="modal" id="mod_token2mail">
|
||||
<div id="email">
|
||||
<form name="u2" method="post" action="../shared/pass2mail_save.asp" onsubmit='pass_submit();return false;'>
|
||||
<form name="u2" method="post" action="../aut/pass2mail_save.asp" onsubmit='pass_submit();return false;'>
|
||||
<input type='hidden' name='mode' value='<%=mode%>'>
|
||||
<%
|
||||
BLOCK_START("emailInput", L("lcl_noti_sendbymail"));
|
||||
|
||||
@@ -124,7 +124,7 @@ function scaffolding_show(model, scf_params)
|
||||
}
|
||||
else if (model.audit && model.audit.childaudit && model.audit.childaudit.sql)
|
||||
{
|
||||
var sql = model.audit.childaudit.sql.format(parent_key_array.join(","));
|
||||
var sql = model.audit.childaudit.sql.format(parent_key_array.join(","), parent_key_array.join("','"));
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var child_key_array = [];
|
||||
while(!oRs.eof)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
Note: Sinds 5.2.2 zitten de settings in de database
|
||||
*/
|
||||
|
||||
var FCLTVersion="2017.1a";
|
||||
var FCLTVersion="2017.1b";
|
||||
var FCLTMinDatabaseSchema="31";
|
||||
|
||||
var custpath = rooturl + "/cust/" + customerId; // path to customer files
|
||||
|
||||
@@ -1121,7 +1121,7 @@ END:VCALENDAR
|
||||
<xsl:when test="$mode='summary'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$srtnotificatiecode = 'OUTLOOK'">
|
||||
<xsl:when test="$srtnotificatiecode = 'OUTLOOK' or $mode='ics'">
|
||||
<xsl:apply-templates select="." mode="outlook"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
@@ -912,6 +912,17 @@ function __rsProcessResultset(processParams) // processParams wordt blind aan al
|
||||
var multiActions = 0;
|
||||
for (var i=0; i < actions.length; i++)
|
||||
{
|
||||
/////
|
||||
//
|
||||
// Een bulk-actie wordt weergegeven indien:
|
||||
//
|
||||
// - multi = true, EN:
|
||||
//
|
||||
// - okformulti = true (oftewel, de enabler is succesvol)
|
||||
// - OF: het is uitsluitend een multi actie, dan altijd weergeven. Oftewel: (onlyMulti || single === false)
|
||||
//
|
||||
/////
|
||||
|
||||
if (actions[i].multi && (actions[i].okformulti || actions[i].onlyMulti || actions[i].single === false))
|
||||
{
|
||||
multiActions++;
|
||||
@@ -1217,7 +1228,7 @@ function __rsMakeTableRow(oRs, oRsFlexData, cnt, anyMultiActions, noFlexResult)
|
||||
|
||||
for (var i = 0; i < actions.length; i++)
|
||||
{
|
||||
if (actions[i].single === false) // triple '=' omdat undefined niet false mag zijn
|
||||
if (actions[i].single === false || actions[i].onlyMulti) // triple '=' omdat undefined niet false mag zijn
|
||||
{
|
||||
// die negeren we altijd actionbits += "0";
|
||||
continue; // niet ook nog inline
|
||||
|
||||
@@ -102,43 +102,56 @@ function STR2Stream(xmlstr, xslfile, Stream, params)
|
||||
while (startPos > 4 && eindPos > startPos)
|
||||
{
|
||||
var flexcode = p_bodyhtml.substring(startPos + 1, eindPos);
|
||||
var props = flexProps2(flexcode);
|
||||
if (!props.files.length)
|
||||
{ // Geen bestanden gevonden? Dan hele img-tag gewoon er uit halen
|
||||
var eindPos = p_bodyhtml.indexOf(">", startPos + 2);
|
||||
// Let op: door de -9 werkt het alleen als de frc het eerste attribuut is van de img
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 9) + p_bodyhtml.substr(eindPos + 1);
|
||||
if (flexcode.match(/^M=CAD/)) // Die roepen we gewoon on-the-fly op
|
||||
{
|
||||
// <xsl:element name="img">
|
||||
// <xsl:attribute name="frc">M=CAD&labelPos=2&vKey=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/key"/>&highlight=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/ruimte/key"/>&mode=0&discs=981&sizeX=700&sizeY=400&offsetX=10&offsetY=10&scale=950&paperColor=16777215
|
||||
// </xsl:attribute>
|
||||
// </xsl:element>
|
||||
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"../cad/mySlnk2IMG.asp?" + flexcode.substr(10) + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
}
|
||||
else
|
||||
{
|
||||
var filedata = props.files[0];
|
||||
if (filedata.resized)
|
||||
var file = filedata.resized;
|
||||
else
|
||||
var file = props.AttachPath + props.files[0].name;
|
||||
|
||||
var fileStream = new ActiveXObject("ADODB.Stream")
|
||||
fileStream.Open();
|
||||
fileStream.Type = 1; //adTypeBinary
|
||||
fileStream.LoadFromFile(file);
|
||||
fileStream.Position = 0; // We gaan nu over in uitvoermode
|
||||
|
||||
var oXML = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
oNode = oXML.createElement("encodeddata");
|
||||
oNode.dataType = "bin.base64"; // Zeer snelle oplossing
|
||||
oNode.nodeTypedValue = fileStream.Read(fileStream.Size);
|
||||
fileStream.Close();
|
||||
if (filedata.tempdelete)
|
||||
{
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
fso.DeleteFile(filedata.tempdelete);
|
||||
var props = flexProps2(flexcode);
|
||||
if (!props.files.length)
|
||||
{ // Geen bestanden gevonden? Dan hele img-tag gewoon er uit halen
|
||||
var eindPos = p_bodyhtml.indexOf(">", startPos + 2);
|
||||
// Let op: door de -9 werkt het alleen als de frc het eerste attribuut is van de img
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 9) + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
}
|
||||
else
|
||||
{
|
||||
var filedata = props.files[0];
|
||||
if (filedata.resized)
|
||||
var file = filedata.resized;
|
||||
else
|
||||
var file = props.AttachPath + props.files[0].name;
|
||||
|
||||
var b64 = oNode.text;
|
||||
// TODO: Niet altijd als png, soms ook JPG, hoewel het goed lijkt te gaan in de meeste browsers
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"data:image/png;base64," + b64 + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
var fileStream = new ActiveXObject("ADODB.Stream")
|
||||
fileStream.Open();
|
||||
fileStream.Type = 1; //adTypeBinary
|
||||
fileStream.LoadFromFile(file);
|
||||
fileStream.Position = 0; // We gaan nu over in uitvoermode
|
||||
|
||||
var oXML = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
oNode = oXML.createElement("encodeddata");
|
||||
oNode.dataType = "bin.base64"; // Zeer snelle oplossing
|
||||
oNode.nodeTypedValue = fileStream.Read(fileStream.Size);
|
||||
fileStream.Close();
|
||||
if (filedata.tempdelete)
|
||||
{
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
fso.DeleteFile(filedata.tempdelete);
|
||||
}
|
||||
|
||||
var b64 = oNode.text;
|
||||
// TODO: Niet altijd als png, soms ook JPG, hoewel het goed lijkt te gaan in de meeste browsers
|
||||
var newbody = p_bodyhtml.substr(0, startPos - 4) + "src=\"data:image/png;base64," + b64 + "\"" + p_bodyhtml.substr(eindPos + 1);
|
||||
p_bodyhtml = newbody;
|
||||
}
|
||||
}
|
||||
var startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
|
||||
var quote = p_bodyhtml.substr(startPos, 1);
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:msxml="urn:schemas-microsoft-com:xslt"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005" version="1.0">
|
||||
xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
version="1.0">
|
||||
<xsl:import href="./F_SIDB_common.xsl"/>
|
||||
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
<xsl:template match="opdracht">
|
||||
<!-- SIDB Onderhoudsopdracht 'insbou' Versie SALES005-beta (releasedatum jan 2017) -->
|
||||
<MaintenanceInstruction>
|
||||
<MaintenanceInstruction xsi:schemaLocation="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005 Onderhoudsopdracht_SALES005Beta.xsd">
|
||||
<!-- SIDB description - Nummer ter identificatie van een bericht. Mandatory, (C17) -->
|
||||
<!-- Voorbeeldformaat: MAR24/1@dd-mm-jjjj hh:mm:ss -->
|
||||
<MessageNumber><xsl:value-of select="key"/>@<xsl:value-of select="substring(//header/dateYear,3,2)"/><xsl:value-of select="//header/dateMonth"/><xsl:value-of select="//header/dateDay"/></MessageNumber>
|
||||
@@ -265,7 +265,7 @@
|
||||
</PriceBase>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<etim_VersionId><xsl:value-of select="//header/version"/></etim_VersionId>
|
||||
</header>
|
||||
<!-- SIDB Onderhoudsopdracht 'insbou' Variant 'Basismodel010' versie 001 (releasedatum 11-2015) -->
|
||||
<MaintenanceInstruction xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<MaintenanceInstruction xsi:schemaLocation="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005 Onderhoudsopdracht_SALES005Beta.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<!-- SIDB description - Nummer ter identificatie van een bericht. Mandatory, (C17) -->
|
||||
<!-- Voorbeeldformaat: MAR24/1@dd-mm-jjjj hh:mm:ss -->
|
||||
<MessageNumber><xsl:value-of select="key"/>@<xsl:value-of select="substring(//header/dateYear,3,2)"/><xsl:value-of select="//header/dateMonth"/><xsl:value-of select="//header/dateDay"/></MessageNumber>
|
||||
@@ -273,7 +273,7 @@
|
||||
</PriceBase>
|
||||
</PriceInformation>
|
||||
<VATInformation>
|
||||
<VATRate></VATRate>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
@@ -1455,7 +1455,7 @@
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
<xsl:if test="discipline/srtdiscipline/key='1' and behandelwijze=2 and not(/facilitor/opdracht)">
|
||||
<xsl:if test="behandelwijze=2 and not(/facilitor/opdracht)">
|
||||
<xsl:for-each select="notes/note[flag=1]">
|
||||
<xsl:sort select="aanmaak/timestamp" order="ascending"/>
|
||||
<tr>
|
||||
@@ -1485,7 +1485,22 @@
|
||||
<timestamp><xsl:value-of select="datum/timestamp"/></timestamp>
|
||||
<datumtijd><xsl:value-of select="datum/datum"/> <xsl:value-of select="datum/tijd"/></datumtijd>
|
||||
<door><xsl:value-of select="user/naam_full"/></door>
|
||||
<actie><xsl:value-of select="omschrijving"/><xsl:if test="not(omschrijving!='')"><xsl:value-of select="code"/></xsl:if></actie>
|
||||
<code><xsl:value-of select="code"/></code>
|
||||
<actie>
|
||||
<xsl:value-of select="omschrijving"/>
|
||||
<xsl:if test="not(omschrijving!='')">
|
||||
<xsl:choose>
|
||||
<xsl:when test="code='MLDNEW'">Melding is geregistreerd</xsl:when>
|
||||
<xsl:when test="code='MLDING'">Gezien door de backoffice</xsl:when>
|
||||
<xsl:when test="code='MLDDOO'">Doorgezet naar de backoffice</xsl:when>
|
||||
<xsl:when test="code='MLDBWD'">In behandeling bij de frontoffice</xsl:when>
|
||||
<xsl:when test="code='MLDACP'">Melding is geaccepteerd</xsl:when>
|
||||
<xsl:when test="code='MLDAFM'">Melding is afgemeld</xsl:when>
|
||||
<xsl:when test="code='MLDREJ'">Melding is afgewezen</xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="code"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:if>
|
||||
</actie>
|
||||
</data_row>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
@@ -1496,22 +1511,24 @@
|
||||
<timestamp><xsl:value-of select="aanmaak/timestamp"/></timestamp>
|
||||
<datumtijd><xsl:value-of select="aanmaak/datum"/> <xsl:value-of select="aanmaak/tijd"/></datumtijd>
|
||||
<door><xsl:value-of select="noteur/naam_full"/></door>
|
||||
<code></code>
|
||||
<actie><xsl:call-template name="linebreaks"><xsl:with-param name="string" select="omschrijving"/></xsl:call-template></actie>
|
||||
</data_row>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
<xsl:if test="discipline/srtdiscipline/key!='1' and $mode!='email'">
|
||||
<xsl:if test="$mode!='email'">
|
||||
<tr><td colspan="4"><hr/></td></tr>
|
||||
<xsl:for-each select="msxml:node-set($behandeling)/data_row">
|
||||
<xsl:sort select="timestamp"/>
|
||||
<xsl:sort select="code"/>
|
||||
<tr>
|
||||
<xsl:choose>
|
||||
<xsl:when test="position()=1"><td><b>Behandeling:</b></td></xsl:when>
|
||||
<xsl:otherwise><td/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<td colspan="3">
|
||||
<span class="mldbeh"><xsl:value-of select="datumtijd"/> - <xsl:value-of select="door"/></span> 
|
||||
<span class="mldbeh"><xsl:value-of select="datumtijd"/> - <xsl:value-of select="door"/> [<xsl:value-of select="code"/>]</span> 
|
||||
<xsl:call-template name="linebreaks"><xsl:with-param name="string" select="actie"/></xsl:call-template>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1173,6 +1173,14 @@
|
||||
<b>
|
||||
<xsl:value-of select="//lcl/FAC/werkplek"/>: </b>
|
||||
<xsl:value-of select="bestelling/plaats"/>
|
||||
<br/>
|
||||
<xsl:if test="bestelling/bestel_opm">
|
||||
<b>
|
||||
<xsl:value-of select="//lcl/FAC/opmerking"/>: </b><br/>
|
||||
<xsl:call-template name="linebreaks">
|
||||
<xsl:with-param name="string" select="bestelling/bestel_opm"/>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</td>
|
||||
<td/>
|
||||
<td colspan="2" style="vertical-align:top">
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
Looking forward to meet you in <xsl:call-template name="monthname"><xsl:with-param name="month" select="substring(LOOPTIJD_VAN, 4, 2)"/></xsl:call-template> .When you have any further questions regarding Campus, check our website. Or you can reach us on the number underneath or by replying this email.
|
||||
Looking forward to meet you in <xsl:call-template name="monthname"><xsl:with-param name="month" select="substring(LOOPTIJD_VAN, 4, 2)"/></xsl:call-template>. When you have any further questions regarding Campus, check our website. Or you can reach us on the number underneath or by replying this email.
|
||||
</p>
|
||||
<xsl:call-template name="ondertekening"/>
|
||||
<p>
|
||||
@@ -603,7 +603,7 @@
|
||||
</div>
|
||||
<div class="content" style="width: 100%; height: 195mm;">
|
||||
<ol start="6">
|
||||
<li>Bij ondertekening van deze overeenkomst is Huurder aan Verhuurder een waarborgsom verschuldigd van € 700,00 voor het Gehuurde; de waarborgsom dient aan Verhuurder te zijn betaald voordat het Gehuurde door Huurder wordt betrokken. Bij verlenging van de overeenkomst blijft deze gehandhaafd. Verhuurder zal over dit bedrag aan Huurder geen rente vergoeden.</li>
|
||||
<li>Bij ondertekening van deze overeenkomst is Huurder aan Verhuurder een waarborgsom verschuldigd van € <xsl:value-of select="format-number(BORG, '#.###,00', 'euro')"/> voor het Gehuurde; de waarborgsom dient aan Verhuurder te zijn betaald voordat het Gehuurde door Huurder wordt betrokken. Bij verlenging van de overeenkomst blijft deze gehandhaafd. Verhuurder zal over dit bedrag aan Huurder geen rente vergoeden.</li>
|
||||
<li>Bij het verlaten van het Gehuurde zal er een eindschoonmaak worden verricht, die verrekend zal worden met de borg. Dit geldt ook bij verhuizen binnen de Campus.</li>
|
||||
</ol>
|
||||
|
||||
|
||||
@@ -22,5 +22,15 @@ if not exist ".\EXACT\*_fac*.xml" goto einde
|
||||
cscript sendmail.vbs
|
||||
:einde
|
||||
|
||||
copy .\EXACT\*_fac*.xml .\EXACT\backup
|
||||
del .\EXACT\*_fac*.log
|
||||
del .\EXACT\*_fac*.xml
|
||||
CALL ..\..\..\utils\gen_export\gen_export.bat EXACT650
|
||||
|
||||
if not exist ".\EXACT\*_fac*.xml" goto einde
|
||||
cscript sendmail.vbs
|
||||
:einde
|
||||
|
||||
CALL ..\..\..\utils\gen_export\gen_export.bat VERWERK_EXACT
|
||||
|
||||
CALL ..\..\..\utils\gen_export\gen_export.bat VERWERK_EXACT650
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
REM Import van factuurbestandsnamen naar FACILITOR
|
||||
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\0300*.csv .
|
||||
REM Alle bestanden uit de 0650 (PCHD) administratie met inkoopdagboek 72 (HGH)
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\0650??72*.csv .
|
||||
|
||||
REM Alle bestanden uit de 0651 HGH
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\0651*.csv .
|
||||
|
||||
cscript ..\..\..\utils\gen_import\gen_import.wsf PCHX FACTUUR >>genimport.log 2>>&1
|
||||
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
REM Import van factuurbestandsnamen naar FACILITOR
|
||||
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\065*.csv .
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\0650??70*.csv .
|
||||
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\0650??71*.csv .
|
||||
|
||||
move d:\Apps\Facilitor\Webdav\Pchd\0650??75*.csv .
|
||||
|
||||
cscript ..\..\..\utils\gen_import\gen_import.wsf PCHX FACTUUR >>genimport.log 2>>&1
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
</td>
|
||||
<td style="font-size: 10px; vertical-align: middle; text-align: right">Gebouw Portiersloge<br/>
|
||||
Torenallee 1, 5617 BA  Eindhoven<br/>
|
||||
<b>T</b> 0900 - 202 70 70<br/>
|
||||
<b>T</b> 06 - 54 78 49 54<br/>
|
||||
<b>E</b> strijp-s@pch-dienstengroep.nl<br/>
|
||||
BTW-nummer NL853530725B01 <br/>
|
||||
KvK-nummer 59501634
|
||||
|
||||
@@ -40,8 +40,15 @@
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="opdracht" mode="include">
|
||||
<xsl:variable name="custId"><xsl:value-of select="//facilitor/header/custId"/></xsl:variable>
|
||||
<xsl:variable name="opdrtype">
|
||||
<xsl:choose>
|
||||
<xsl:when test="opdrachttype/omschrijving='Extern volgens contract'">contract</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Extern buiten contract'">opdracht</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Offerte'">offerte</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='SVD'">opdracht</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Informatieverzoek'">informatie</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Klacht'">klacht</xsl:when>
|
||||
<xsl:when test="opdrachttype/key=5">contract</xsl:when>
|
||||
<xsl:when test="opdrachttype/key=701">intern</xsl:when>
|
||||
<xsl:when test="opdrachttype/key=702">opdracht</xsl:when>
|
||||
@@ -59,6 +66,7 @@
|
||||
<xsl:when test="$opdrtype='opdracht'">Opdracht</xsl:when>
|
||||
<xsl:when test="$opdrtype='offerte'">Offerteaanvraag</xsl:when>
|
||||
<xsl:when test="$opdrtype='klacht'">Klachtmelding</xsl:when>
|
||||
<xsl:when test="$opdrtype='informatie'">Verzoek tot informatie</xsl:when>
|
||||
</xsl:choose> 
|
||||
<xsl:value-of select="//facilitor/header/custId"/> 
|
||||
<xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/>
|
||||
@@ -178,6 +186,13 @@
|
||||
<i>Graag voor vragen m.b.t. deze klachtmelding contact opnemen via:</i>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:when test="$opdrtype='informatie'">
|
||||
<tr>
|
||||
<td align="right" colspan="4">
|
||||
<i>Graag voor vragen m.b.t. dit informatieverzoek contact opnemen via:</i>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<tr>
|
||||
@@ -394,6 +409,12 @@
|
||||
<br/>Wij zien de offerte graag per omgaande tegemoet.</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:when test="$opdrtype='informatie'">
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
<br/>Graag zien wij de gevraagde informatie tegemoet.</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:when test="$opdrtype='contract'">
|
||||
<tr>
|
||||
<td colspan="4" align="left">
|
||||
@@ -500,12 +521,22 @@
|
||||
<xsl:if test="kenmerk[@key=41] = 'Ja'">
|
||||
<br/>Het bovenstaande bedrag is indicatief. Indien het bedrag hoger wordt, dient eerst contact opgenomen te worden met het Facilitair Service Bureau.<br/></xsl:if>
|
||||
<br/>De factuur dient (inclusief werkbon en kopie opdrachtbevestiging) onder vermelding van
|
||||
opdrachtnummer <xsl:value-of select="//facilitor/header/custId"/> <xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/>
|
||||
opdrachtnummer <xsl:value-of select="$custId"/> <xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/>
|
||||
<xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/> gezonden te
|
||||
worden naar:<br/><br/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$custId = 'PCHW' or $custId = 'PCHA'">
|
||||
<xsl:value-of select="factuuradres/naam"/><br/>
|
||||
<xsl:value-of select="factuuradres/gebouw_ruimte"/><br/>
|
||||
<xsl:value-of select="factuuradres/post_adres"/><br/>
|
||||
<xsl:value-of select="factuuradres/post_postcode"/>  <xsl:value-of select="factuuradres/post_plaats"/><br/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="melding/plaats/regio/district/locatie/kenmerk[@key=1060]"/>
|
||||
<br/>Postbus 4358<br/>
|
||||
7320 AJ  Apeldoorn<br/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<br/>Facturen zonder referentie, kopie zullen worden geretourneerd. De factuur <b>uiterlijk 3 weken na oplevering</b> toezenden.</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
@@ -724,4 +755,4 @@
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:stylesheet><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. -->
|
||||
@@ -6,8 +6,8 @@
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="Xsrtnotificatiecode">MLDAFM</xsl:variable>
|
||||
|
||||
<xsl:variable name="Xsrtnotificatiecode">MLDAFM</xsl:variable>
|
||||
|
||||
<xsl:template match="melding" mode="include">
|
||||
<table border="0" width="100%" cellpadding="2">
|
||||
<tr>
|
||||
@@ -57,11 +57,11 @@
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:if test="string(voor/naam_full)!=string(voor/naam_full)">
|
||||
<tr>
|
||||
<td align="right" width="16%"><b><xsl:value-of select="//lcl/MLD/meldingvoor"/>:</b></td>
|
||||
<td align="left" width="34%"><xsl:value-of select="voor/naam_full"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td align="right" width="16%"><b><xsl:value-of select="//lcl/MLD/meldingvoor"/>:</b></td>
|
||||
<td align="left" width="34%"><xsl:value-of select="voor/naam_full"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<tr>
|
||||
<td align="right">
|
||||
<b><xsl:value-of select="//lcl/FAC/locatie"/>:</b>
|
||||
@@ -227,7 +227,7 @@
|
||||
</xsl:attribute>
|
||||
hier</xsl:element></p>
|
||||
<br/>
|
||||
</td>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:comment>als we binnen een opdracht zijn, tonen we de meldingtekst niet</xsl:comment>
|
||||
<tr>
|
||||
@@ -312,18 +312,16 @@
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:if test="$srtnotificatiecode = 'MLDAFM'">
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<xsl:call-template name="fac_liketab"/>
|
||||
</td>
|
||||
<xsl:if test="$srtnotificatiecode = 'MLDAFM'">
|
||||
<tr>
|
||||
<td colspan="4"><xsl:call-template name="fac_liketab"/></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
</table>
|
||||
</xsl:template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="fac_liketab">
|
||||
<table width="99%" style="border-collapse: collapse; border: 0px solid #000;">
|
||||
<table width="99%">
|
||||
<tr height="20px"><td colspan="4"><hr/></td></tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
@@ -351,13 +349,40 @@
|
||||
</xsl:variable>
|
||||
<xsl:if test="$stars > 0">
|
||||
<tr>
|
||||
<td>
|
||||
<xsl:for-each select="(//node())[$stars >= position()]"> <!-- Onderstaande links nog aanpassen voor opleverening!!!!! -->
|
||||
<xsl:element name="a"><xsl:attribute name="href">http://quaw.facws001/branch20163/?<xsl:value-of select="//bookmarks/faclikedeeplink"/>&oordeel=<xsl:number value="number($stars)*2"/></xsl:attribute><img src="https://quaw.facilitor.nl/appl/Localscripts/raty/img/star-on.png" height="20px" width="20x" border="0" id="rate"/></xsl:element>
|
||||
<td style="padding:2px;">
|
||||
<xsl:for-each select="(//node())[$stars >= position()]">
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="//bookmarks/faclikedeeplink"/>&oordeel=<xsl:number value="number($stars)*2"/>
|
||||
</xsl:attribute>
|
||||
<img>
|
||||
<xsl:attribute name="frc">M=MENU:F=star-on.png:R=R16x16</xsl:attribute>
|
||||
<xsl:attribute name="border">0 </xsl:attribute>
|
||||
<xsl:attribute name="align">bottom</xsl:attribute>
|
||||
<xsl:attribute name="alt">*</xsl:attribute>
|
||||
</img>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
<xsl:for-each select="(//node())[$emptystars >= position()]">
|
||||
<xsl:element name="a"><xsl:attribute name="href">http://quaw.facws001/branch20163/?<xsl:value-of select="//bookmarks/faclikedeeplink"/>&oordeel=<xsl:number value="number($stars)*2"/></xsl:attribute><img src="https://quaw.facilitor.nl/appl/Localscripts/raty/img/star-off.png" height="20px" width="20px" border="0" id="rate"/></xsl:element>
|
||||
</xsl:for-each> <xsl:value-of select="$liketext"/>
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="//bookmarks/faclikedeeplink"/>&oordeel=<xsl:number value="number($stars)*2"/>
|
||||
</xsl:attribute>
|
||||
<img>
|
||||
<xsl:attribute name="frc">M=MENU:F=star-off.png:R=R16x16</xsl:attribute>
|
||||
<xsl:attribute name="border">0 </xsl:attribute>
|
||||
<xsl:attribute name="align">bottom</xsl:attribute>
|
||||
<xsl:attribute name="alt">o</xsl:attribute>
|
||||
</img>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
 
|
||||
<xsl:element name="a">
|
||||
<xsl:attribute name="href">
|
||||
https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="//bookmarks/faclikedeeplink"/>&oordeel=<xsl:number value="number($stars)*2"/>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="$liketext"/>
|
||||
</xsl:element>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:call-template name="fac_like">
|
||||
@@ -365,7 +390,7 @@
|
||||
<xsl:with-param name="emptystars"><xsl:number value="number($emptystars)+1"/></xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="qrc_ins_new_page">
|
||||
<xsl:param name="p_page"/>
|
||||
@@ -434,9 +459,8 @@
|
||||
</xsl:element>
|
||||
<br/>   <xsl:value-of select="FCLT_F_IDENTIFICATIE"/><br/>
|
||||
   <sub><xsl:value-of select="ALG_GEBOUW_CODE"/> - <xsl:value-of select="ALG_VERDIEPING_CODE"/></sub>
|
||||
|
||||
</td>
|
||||
</xsl:template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="rapport">
|
||||
<html>
|
||||
@@ -465,8 +489,8 @@
|
||||
</xsl:call-template>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
|
||||
</html>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
@@ -5,9 +5,9 @@
|
||||
<xsl:variable name="new_line" select="'
'"/>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:if test="facilitor/relaties/relatie">BEDRIJFSNAAM;LEVERANCIERNUMMER;BEZOEK_ADRES;BEZOEK_POSTCODE;BEZOEK_PLAATS;BEZOEK_LAND;POST_ADRES;POST_POSTCODE;POST_PLAATS;POST_LAND;BEDRIJF_TELEFOON;BEDRIJF_FAX;BEDRIJF_EMAIL;CONTACTPERSOON;CONTACT_TELEFOON;CONTACT_FAX;BEDRIJF_XSL;BEDRIJF_ORDER_ADRES;LEVERANCIER;UITVOERENDE;CONTRACTANT;HUURDER;TOONINGIDS;UURLOON;OVEREENKOMSTNUMMER;OVEREENKOMSTDATUM;OPMERKING;DIENST;LOCATIECODE;GEBOUWCODE<xsl:value-of select="$new_line"/></xsl:if>
|
||||
<xsl:if test="facilitor/relaties/relatie">BEDRIJFSNAAM;LEVERANCIERNUMMER;BEZOEK_ADRES;BEZOEK_POSTCODE;BEZOEK_PLAATS;BEZOEK_LAND;POST_ADRES;POST_POSTCODE;POST_PLAATS;POST_LAND;BEDRIJF_TELEFOON;BEDRIJF_FAX;BEDRIJF_EMAIL;CONTACTPERSOON;CONTACT_TELEFOON;CONTACT_FAX;BEDRIJF_XSL;BEDRIJF_ORDER_ADRES;LEVERANCIER;UITVOERENDE;CONTRACTANT;HUURDER;TOONINGIDS;UURLOON;OVEREENKOMSTNUMMER;OVEREENKOMSTDATUM;OPMERKING;DIENST;LOCATIECODE;GEBOUWCODE;RELATIETYPE;OVERIG1;OVERIG2;OVERIG3<xsl:value-of select="$new_line"/></xsl:if>
|
||||
<xsl:for-each select="facilitor/relaties/relatie">
|
||||
<xsl:value-of select="bedrijfsnaam"/>;<xsl:value-of select="leveranciernummer"/>;<xsl:value-of select="bezoek_adres"/>;<xsl:value-of select="bezoek_postcode"/>;<xsl:value-of select="bezoek_plaats"/>;<xsl:value-of select="bezoek_land"/>;<xsl:value-of select="post_adres"/>;<xsl:value-of select="post_postcode"/>;<xsl:value-of select="post_plaats"/>;<xsl:value-of select="post_land"/>;<xsl:value-of select="bedrijf_telefoon"/>;;<xsl:value-of select="bedrijf_email"/>;;;;;;;J;J;;;;;;;;;<xsl:value-of select="$new_line"/>
|
||||
<xsl:value-of select="bedrijfsnaam"/>;<xsl:value-of select="leveranciernummer"/>;<xsl:value-of select="bezoek_adres"/>;<xsl:value-of select="bezoek_postcode"/>;<xsl:value-of select="bezoek_plaats"/>;<xsl:value-of select="bezoek_land"/>;<xsl:value-of select="post_adres"/>;<xsl:value-of select="post_postcode"/>;<xsl:value-of select="post_plaats"/>;<xsl:value-of select="post_land"/>;<xsl:value-of select="bedrijf_telefoon"/>;;<xsl:value-of select="bedrijf_email"/>;;;;;;;J;J;;;;;;;;;;<xsl:value-of select="$new_line"/>
|
||||
</xsl:for-each>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
@@ -605,7 +605,7 @@ if you have any questions about your call, please contact the WTC Servicepoint v
|
||||
<!--==============================================-->
|
||||
<!--Vakgroep 801 = Brandgevaarlijke werkzaamheden -->
|
||||
<!--==============================================-->
|
||||
<xsl:when test="discipline/key='801'">
|
||||
<xsl:when test="discipline/key='801' and $srtnotificatiecode='MLDREJ'">
|
||||
<tr><td>
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
@@ -703,8 +703,8 @@ if you have any questions about your call, please contact the WTC Servicepoint v
|
||||
<br/><br/><br/><br/><br/><b>Nacontrole brandgevaarlijke werkzaamheden 60 minuten na afloop werkzaamheden</b>
|
||||
<br/><br/>Naam:
|
||||
<br/><br/>Handtekening:
|
||||
<br/><br/><br/><br/><br/>Tijdstip inschakeling:
|
||||
<br/><br/>Tijdstip uitschakeling:
|
||||
<br/><br/><br/><br/><br/>Tijdstip uitschakeling:
|
||||
<br/><br/>Tijdstip inschakeling:
|
||||
<br/><br/>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -715,7 +715,7 @@ if you have any questions about your call, please contact the WTC Servicepoint v
|
||||
<!--==============================================-->
|
||||
<!-- Vakgroep 802 = Verhuizing en Transport -->
|
||||
<!--==============================================-->
|
||||
<xsl:when test="discipline/key='802'">
|
||||
<xsl:when test="discipline/key='802' and $srtnotificatiecode='MLDREJ'">
|
||||
<tr><td>
|
||||
<table border="0" width="100%">
|
||||
<tr>
|
||||
|
||||
@@ -27,8 +27,9 @@
|
||||
<xsl:element name="Reference"><xsl:value-of select="melding/stdmelding/omschrijving"/>-<xsl:value-of select="opdrachttype/omschrijving"/></xsl:element>
|
||||
<xsl:element name="TypeCode">
|
||||
<xsl:choose>
|
||||
<xsl:when test="opdrachttype/omschrijving='Storing'">2</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Regieaanvraag'">5</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Uitvoering melding'">2</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Uitvoering opdracht'">5</xsl:when>
|
||||
<xsl:when test="opdrachttype/omschrijving='Uitvoering offerte'">5</xsl:when>
|
||||
<xsl:otherwise>3</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:element>
|
||||
|
||||
@@ -225,6 +225,16 @@ function notificationMail(rec, p_notificationXSL, params)
|
||||
, rec("fac_srtnotificatie_code").value
|
||||
, "email"
|
||||
);
|
||||
|
||||
var icsResult = ""; // default geen ics
|
||||
if (strResult.indexOf("<!--ADDICS-->") > -1) // <xsl:comment>ADDICS</xsl:comment>
|
||||
{
|
||||
icsResult = XML2HTML( xml_content
|
||||
, p_notificationXSL
|
||||
, rec("fac_srtnotificatie_code").value
|
||||
, "ics"
|
||||
);
|
||||
}
|
||||
SubjectText = rec("fac_notificatie_oms").value;
|
||||
if (rec("fac_notificatie_status").value & params.STATUS_SUMMARY_XSL)
|
||||
{
|
||||
@@ -258,6 +268,7 @@ function notificationMail(rec, p_notificationXSL, params)
|
||||
, attachFolder: attach_folder
|
||||
, attachSubFolder: attach_kenmerk_folder
|
||||
, attachments: attach_obj
|
||||
, attachics: icsResult
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
// * cc: The cc address
|
||||
// * bcc: The bcc address
|
||||
// * receiptto: The address where the receipt is sent to
|
||||
// * attachics: deze tekst moet als ics toegevoegd worden
|
||||
// *
|
||||
// ******************************************
|
||||
function sendMail( p_mailfrom
|
||||
@@ -178,9 +179,26 @@ function sendMail( p_mailfrom
|
||||
var url = "{0}&API=GETFLEX&APIKEY={1}&flexcode={2}".format(fac_web_url, S("puo_fclt_web_apikey"), flexcode);
|
||||
|
||||
Log2File(2, url);
|
||||
var http_request = doHTTP(url, { method: "GET", headers: { "accept": "application/json" }});
|
||||
|
||||
var props = eval('(' + http_request.responseText + ')');
|
||||
if (flexcode.match(/^M=CAD/)) // Die roepen we gewoon on-the-fly op
|
||||
{
|
||||
// <xsl:element name="img">
|
||||
// <xsl:attribute name="frc">M=CAD&labelPos=2&vKey=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/key"/>&highlight=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/ruimte/key"/>&mode=0&discs=981&sizeX=700&sizeY=400&offsetX=10&offsetY=10&scale=950&paperColor=16777215
|
||||
// </xsl:attribute>
|
||||
// </xsl:element>
|
||||
props = {
|
||||
files: [{
|
||||
resized: url.replace(/\&\;/g, "&")
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var http_request = doHTTP(url, { method: "GET", headers: { "accept": "application/json" }});
|
||||
|
||||
var props = eval('(' + http_request.responseText + ')');
|
||||
}
|
||||
if (props.flexlog)
|
||||
Log2File(1, props.flexlog);
|
||||
if (!props.files)
|
||||
@@ -216,6 +234,33 @@ function sendMail( p_mailfrom
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
}
|
||||
|
||||
// Eventueel een ics er aan toevoegen
|
||||
if (params.attachics)
|
||||
{
|
||||
Log2File(2, "Adding calendar ICS");
|
||||
var oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open;
|
||||
oStream.Type = 2; // tekst
|
||||
oStream.Charset = 'Windows-1252'; // Anders is de ics 'not supported'
|
||||
oStream.WriteText(params.attachics);
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto"); // Maak random naam
|
||||
// var sha1 = oCrypto.hex_sha1(params.attachics); werkt niet goed als RESMAI twee keer wordt gestuurd, dan heb je overlap
|
||||
var sha1 = oCrypto.hex_random(16);
|
||||
var tempfile = custabspath + "/../../temp/puo_ics_" + sha1 + ".ics";
|
||||
oStream.SaveToFile(tempfile, 2); // overwrite
|
||||
|
||||
var objAttachment = objMail.AddAttachment(tempfile);
|
||||
objAttachment.ContentTransferEncoding = "base64";
|
||||
objAttachment.ContentMediaType = 'text/calendar; charset="utf-8"; method=REQUEST';
|
||||
objAttachment.ContentClass = 'urn:content-classes:calendarmessage';
|
||||
var Flds = objAttachment.Fields;
|
||||
Flds("urn:schemas:mailheader:content-disposition") = "";
|
||||
Flds.Update();
|
||||
|
||||
if (S("puo_loglevel") < 4)
|
||||
objFso.DeleteFile(tempfile);
|
||||
}
|
||||
|
||||
Log2File(2, "Before bodyHTML");
|
||||
objMail.HtmlBody = p_bodyhtml.replace(/\<br/g, "\x0D\x0A<br"); // FSN#36318 Geen afsluitende '>'
|
||||
objMail.HTMLBodyPart.Charset = S("puo_mailbodycharset");
|
||||
@@ -249,7 +294,7 @@ function sendMail( p_mailfrom
|
||||
if (objFso.FileExists(S("bdradrfiles_path") + "/" + safename))
|
||||
{
|
||||
Log2File(2, "Including fixed attachment " + S("bdradrfiles_path") + "/" + safename);
|
||||
var objAttachment = objMail.AddAttachment(S("bdradrfiles_path") + "/" + safename, safename);
|
||||
var objAttachment = objMail.AddAttachment(S("bdradrfiles_path") + "/" + safename);
|
||||
objAttachment.ContentTransferEncoding = "base64";
|
||||
}
|
||||
else
|
||||
@@ -319,7 +364,7 @@ function sendMail( p_mailfrom
|
||||
|
||||
if (!params.attachPassword)
|
||||
{ // doe maar gewoon
|
||||
var objAttachment = objMail.AddAttachment(attFile.Path, attFile.Name);
|
||||
var objAttachment = objMail.AddAttachment(attFile.Path);
|
||||
objAttachment.ContentTransferEncoding = "base64";
|
||||
}
|
||||
else
|
||||
@@ -349,7 +394,7 @@ function sendMail( p_mailfrom
|
||||
ZipObjOut.ZipFromStream(orgName, attStrm, params.attachPassword);
|
||||
attStrm.Close();
|
||||
ZipObjOut.Close();
|
||||
var objAttachment = objMail.AddAttachment(tempfile, orgName + ".zip");
|
||||
var objAttachment = objMail.AddAttachment(tempfile);
|
||||
objAttachment.ContentTransferEncoding = "base64";
|
||||
objFso.DeleteFile(tempfile); // objMail houdt hem nog even gelocked maar straks is hij wel weg
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user