Merge 2016.2 Gold B patches

svn path=/Website/trunk/; revision=31360
This commit is contained in:
Jos Groot Lipman
2016-11-03 16:32:34 +00:00
76 changed files with 2094 additions and 461 deletions

View File

@@ -108,8 +108,15 @@
if (this_cnt.canChange) {
// Bepaal de door te voeren wijzigingen.
if (van_datum != null) {
try {
var looptijd_van = XMLtoJsDate(van_datum);
var looptijd_tot = XMLtoJsDate(tot_datum);
}
catch (e)
{
__Log2File(xmlReq.xml, API.APIname + "_IN");
Response.End;
}
if (looptijd_van <= looptijd_tot) {
fields.push({ dbs: "cnt_contract_looptijd_van", typ: "date", val: looptijd_van, track: L("lcl_cnt_date_start") });
}

View File

@@ -116,7 +116,7 @@ for (i = 0; i < meldingen.length; i++)
{
// Kijk of er een melding bestaat met dit externe nummer.
// Ben je bang dat het nummer vaker voorkomt dan kun je deze prefixen in de xsl
tsql = "SELECT MIN(mld_melding_key), COUNT(*) aantal"
tsql = "SELECT MIN(mld_melding_key) mld_melding_key, COUNT(*) aantal"
+ " FROM mld_melding"
+ " WHERE mld_melding_externnr ="+ safe.quoted_sql(ext_id);
var oRs = Oracle.Execute(tsql);

View File

@@ -583,6 +583,8 @@ api2 = {
var inccnt = 0;
for (var i in params.include)
{
if (params.include[i] == "lastchange") // special case
continue;
if (params.include[i] in model.includes)
{
var inc = model.includes[params.include[i]];
@@ -757,6 +759,7 @@ api2 = {
},
// Verwerk de POST en PUT (== insert en update)
// Merk op dat het resultaat van deze functie redelijk ongedefinieerd is
process_includes: function(params, model, jsondata, the_key)
{
if (!model.includes)
@@ -1072,6 +1075,8 @@ api2 = {
for (var i in params.include) // welke includes worden opgevraagd?
{
var incname = params.include[i];
if (incname == "lastchange") // special case
continue;
if (incname in model.includes) // Ondersteunen we deze include?
{
if (!(incname in record))

View File

@@ -40,7 +40,7 @@ function model_appointments()
{"id" : { dbs: "bez_afspraak_key", typ: "key", label: L("lcl_vis_appointment"), filter: "exact" },
"from" : { dbs: "bez_afspraak_datum", typ: "datetime", label: L("lcl_vis_start_date"), track: true},
"to" : { dbs: "bez_afspraak_eind", typ: "datetime", label: L("lcl_vis_end_date"), track: true },
"description": { dbs: "bez_afspraak_opmerking", typ: "varchar", label: L("lcl_remark")},
"description": { dbs: "bez_afspraak_opmerking", typ: "varchar", label: L("lcl_remark"), track: true},
"action" : { dbs: "bez_actie_key", typ: "key", foreign: "bez_actie", label: L("lcl_action"), track: true},
"location" : { dbs: "alg_locatie_key", typ: "key", foreign: "alg_locatie"},
"_alg_keys" : { dbs: "alg_onrgoed_keys", typ: "key", fnval: afs_alg_onrgoed_keys },
@@ -82,16 +82,28 @@ function model_appointments()
this.impersonate_auth = "WEB_BEZFOF";
this.REST_GET = function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
var scope = params.filter.scope || "fe";
var autfunction = { fe : "WEB_BEZUSE", fo : "WEB_BEZFOF", bo : "WEB_BEZBOF", mi : "WEB_RESBAC" } [scope];
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization hoewel je eigen afspraken zien natuurlijk niet echt spannend is
var query = api2.sqlfields(params, this );
query.wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
if (!params.filter.id)
if (params.filter.id)
{
var this_bez = bez.func_enabled_afspraak(params.filter.id);
user.auth_required_or_abort(this_bez.canReadAny);
}
else if (scope == "fe")
{
query.wheres.push("(bez_afspraak_contact_key = " + user_key
+ " OR bez_afspraak_host_key = " + user_key + ")");
query.wheres.push("bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez"));
}
else // TODO: Add authorization
{
if (!params.filter.start_from && !params.filter.end_from && !params.filter.start_to && !params.filter.end_to)
query.wheres.push("bez_afspraak_datum >= TRUNC(SYSDATE)"); // afspraken van vandaag en komende dagen!
}
query.tables.push("alg_v_allonroerendgoed");
query.wheres.push("alg_v_allonroerendgoed.alg_onroerendgoed_keys(+) = bez_afspraak.alg_onrgoed_keys");
@@ -145,16 +157,18 @@ function model_appointments()
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
this._validate_fields(dbfields, params, jsondata);
var this_bez = bez.func_enabled_afspraak(the_key);
user.auth_required_or_abort(this_bez.canChange);
// bezUpd heeft na afloop eventueel oldjsvals
var wheres = [" bez_afspraak_key = " + the_key];
wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
var bezUpd = buildTrackingUpdate("bez_afspraak", wheres.join(" AND " ), dbfields, { noValidateToken: true });
Oracle.Execute(bezUpd.sql);
var beztrack = api2.process_includes(params, this, jsondata, the_key);
// TODO: Tracking
// Merk op dat beztrack helemaal niet zinvol gevuld is.
//var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed });
//if (result.beztrack && result.beztrack.length > 0)
//bezUpd.trackarray.push(result.beztrack.join("\n"));
@@ -173,7 +187,8 @@ function model_appointments()
this._validate_fields(dbfields, params, jsondata);
dbfields["id"] = { dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" };
dbfields["contact"] = { dbs: "bez_afspraak_contact_key", typ: "key", val: user_key };
dbfields["contact"] = { dbs: "bez_afspraak_contact_key", typ: "key", val: jsondata.contact || user_key };
// trigger doet de host eventueel wel
var bezIns = buildInsert("bez_afspraak", dbfields, { noValidateToken: true });
var afs_key = bezIns.sequences["bez_afspraak_key"];

View File

@@ -179,7 +179,7 @@ function model_ins_srtcontrole()
"afbouw_time": {
"dbs": "ins_srtcontrole_afbouwtijd",
"label": L("ins_srtcontrole_afbouwtijd"),
"typ": "number"
"typ": "float"
},
"inspection_group": {
"dbs": "ins_srtcontrole_groep",

View File

@@ -40,7 +40,8 @@ function model_reportcolumns(usrrap_key, params)
dbs: "fac_usrrap_cols_column_name",
typ: "varchar",
label: L("lcl_rap_column"),
required: true
required: true,
insertonly: true
},
"datatype": {
dbs: "fac_usrrap_cols_datatype",
@@ -97,7 +98,8 @@ function model_reportcolumns(usrrap_key, params)
"expression": {
dbs: "fac_usrrap_cols_expression",
typ: "memo",
label: "sql-expressie"
label: "sql-expressie",
readonly: true
}
};
@@ -159,6 +161,7 @@ function model_reportcolumns(usrrap_key, params)
if (user.has("WEB_FACTAB") && (obj.expression || !obj.id))
{
this.fields.expression.readonly = false;
this.fields.name.insertonly = false;
}
};

View File

@@ -199,7 +199,7 @@ function model_reportsx(usrrap_key, rapparams)
var beztrack = api2.process_includes(params, this, jsondata, the_key);
if (old_view != jsondata.viewname)
if ("viewname" in jsondata && old_view.toUpperCase() != jsondata.viewname.toUpperCase())
{ // Verwijder alle kolommen als er een nieuwe view is ingevuld, maar laat de expressies staan.
var sql = "DELETE fac_usrrap_cols"
+ " WHERE fac_usrrap_cols_expression IS NULL"

View File

@@ -13,6 +13,7 @@
%>
<!-- #include file="../Shared/discxalg3d.inc"-->
<!-- #include file="../bez/bez.inc" -->
<!-- #include file="./model_custom_fields.inc"-->
<%
model_visitors =
@@ -42,18 +43,48 @@ model_visitors =
REST_GET: function _GET(params)
{
var urole = "fe"; // TODO: Moet echt niet ter zake doen
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
var scope = params.filter.scope || "fe";
var autfunction = { fe : "WEB_BEZUSE", fo : "WEB_BEZFOF", bo : "WEB_BEZBOF", mi : "WEB_RESBAC" } [scope];
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
// TODO: Add authorization
var query = api2.sqlfields(params, model_visitors );
if (params.filter.id)
{
var sql = "SELECT bez_afspraak_key "
+ " FROM bez_bezoekers"
+ " WHERE bez_bezoekers_key = " + params.filter.id;
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
{
oRs.Close()
return [];
}
params.filter.appointment = oRs("bez_afspraak_key").Value;
oRs.Close()
}
if (params.filter.appointment)
{
var afspr_key = parseInt(params.filter.appointment, 10);
if (isNaN(afspr_key))
return [];
var this_bez = bez.func_enabled_afspraak(afspr_key);
user.auth_required_or_abort(this_bez.canReadAny);
}
else if (scope == "fe")
{
query.wheres.push("(bez_afspraak_contact_key = " + user_key
+ " OR bez_afspraak_host_key = " + user_key + ")");
query.wheres.push("bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez"));
}
else // TODO: Add authorization
{
if (!params.filter.start_from && !params.filter.end_from && !params.filter.start_to && !params.filter.end_to)
query.wheres.push("bez_afspraak_datum >= TRUNC(SYSDATE)"); // afspraken van vandaag en komende dagen!
}
query.tables.push("bez_afspraak");
query.wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
+ " OR bez_afspraak_host_key = " + user_key + ")");
query.wheres.push("bez_afspraak.bez_afspraak_key = bez_bezoekers.bez_afspraak_key");
query.wheres.push("bez_afspraak_datum BETWEEN SYSDATE - " + S("facilitiespast_bez") + " AND SYSDATE + " + S("facilitiesfuture_bez"));
var wheres = api2.sqlfilter(params, model_visitors);
query.wheres = query.wheres.concat(wheres);
@@ -75,7 +106,7 @@ model_visitors =
var bezUpd = buildTrackingUpdate("bez_bezoekers", " bez_bezoekers_key = " + the_key, dbfields, { noValidateToken: true });
Oracle.Execute(bezUpd.sql);
var beztrack = api2.process_includes(params, model_visitors, the_key, jsondata);
var beztrack = api2.process_includes(params, model_visitors, jsondata, the_key);
//var result = saveBezoekers(afspr_key, -1, { urole: urole, loctimechanged: changed });
//if (result.beztrack && result.beztrack.length > 0)

View File

@@ -668,11 +668,23 @@ else // nieuwe bestelling. Defaults bepalen
if (getQParamInt("adres_key", -1) > 0)
aflever_readonly = true;
var sql_filter = " AND EXISTS"
+ " ( SELECT ''"
+ " FROM alg_v_aanweziggebouw ag"
+ " , alg_srtgebouw sg"
+ " WHERE ag.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)"
+ " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC (SYSDATE))"
+ " AND sg.alg_srtgebouw_passief IS NULL"
+ " AND ag.alg_locatie_key = m.alg_locatie_key"
+ " )";
sql = "SELECT m.mld_adres_key"
+ ", m.mld_adres_naam, m.mld_adres_upper"
+ (aflever_readonly? " FROM mld_adres m" : " FROM mld_v_afleveradres m")
+ " WHERE 1=1"
+ sql_filter
+ (ALGreadlevel >= 0
? " WHERE m.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations "
? " AND m.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations "
+ " WHERE prs_perslid_key = " + user_key
+ " AND niveau = " + ALGreadlevel + ")"
: "")

View File

@@ -381,7 +381,7 @@ bez =
if (!bresult.canWritePaf && bresult.nrPAF > 0)
bresult.canChange = false;
// Bij extern ingevoerde reserveringen mogen we de bezoekers iet veranderen.
// Bij extern ingevoerde reserveringen mogen we de bezoekers niet veranderen.
if (rsv_ruimte_key > 0)
{
var res_ruimte_extern_id = null;
@@ -393,10 +393,9 @@ bez =
+ " AND ro.res_ruimte_key = rr.res_ruimte_key"
+ " AND rrr.res_rsv_ruimte_key = " + rsv_ruimte_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
res_ruimte_extern_id = oRs("res_ruimte_extern_id").Value;
var res_ruimte_extern_id = !oRs.Eof && oRs("res_ruimte_extern_id").Value;
oRs.Close();
bresult.canChange = res_ruimte_extern_id == null; // Als extern dan niet te wijzigen.
bresult.canChange = !res_ruimte_extern_id; // Als extern dan niet te wijzigen.
}
bresult.canWriteAny = bresult.canWrite("WEB_BEZFOF") || bresult.canWrite("WEB_BEZBOF") || bresult.canWrite("WEB_BEZUSE");

View File

@@ -116,11 +116,14 @@ var urlMail = "../shared/queuemail.asp?pcode=BEZMAI&defemail_key=" + bez_afspraa
// Wat voor nut heeft dat (wat is er dan aan de hand?), en pas op dat saven alles weggooit en aanmaakt
var buttons = [];
if (this_bez.canChange)
buttons.push( {title: L("lcl_res_add_deelres"), icon: "resrepeat.png", action:"bez_multi()" },
{title: L("lcl_change"), icon:"wijzigen.png", action:"bez_change()" });
if (this_bez.canDelete)
buttons.push( {title: L("lcl_delete"), icon:"delete.png", action:"bez_delete()" });
if (!bez_afspraak.res_rsv_ruimte_key)
{
if (this_bez.canChange)
buttons.push( {title: L("lcl_res_add_deelres"), icon: "resrepeat.png", action:"bez_multi()" },
{title: L("lcl_change"), icon:"wijzigen.png", action:"bez_change()" });
if (this_bez.canDelete)
buttons.push( {title: L("lcl_delete"), icon:"delete.png", action:"bez_delete()" });
}
buttons.push ({title: L("lcl_print"), icon: "print.png", action:"bez_print()" },
{title: L("lcl_noti_bez_email"), icon: "email.png", action:"bez_mail()" });

View File

@@ -110,7 +110,8 @@ function onOtherDrawing()
verdiepingkey: floor_key,
startlevel: 2, // Locatie
eindlevel: 4, // Verdieping
onVerChange: "OnFloorChanged()"
onVerChange: "OnFloorChanged()",
filtercode: "FAC"
});
%>
<tr>

View File

@@ -84,7 +84,8 @@ if (verdieping_key > 0 || (gebouw_key > 0 && bttype == "T"))
terrein: true,
startlevel: 2, // locatie
eindlevel: 4, // verdieping
whenEmpty: L("lcl_search_generic") // want filter bttype?
whenEmpty: L("lcl_search_generic"), // want filter bttype?
filtercode: "FAC"
});
%>
</table>

View File

@@ -42,7 +42,8 @@ var authparams = user.checkAutorisation(autfunction);
terrein: true,
startlevel: 2, // locatie
eindlevel: 3, // Gebouw
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
%>
<tr>

View File

@@ -103,7 +103,8 @@ var cnt_srtcontract_type = oRs("cnt_srtcontract_type").value;
onGebChange: "onPlaatsChange()",
onVerChange: "onPlaatsChange()",
onRuiChange: "onPlaatsChange()",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
}); %>
</table>
</td>
@@ -330,15 +331,30 @@ var cnt_srtcontract_type = oRs("cnt_srtcontract_type").value;
<!-- Locatie -->
<tr>
<% sql = "SELECT alg_locatie_key"
+ " , alg_locatie_omschrijving"
+ " FROM alg_locatie"
+ " WHERE alg_locatie_verwijder IS NULL"
+ ((authparams.ALGwritelevel > -1)
? " AND alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations "
+ " WHERE prs_perslid_key = " + user_key + " AND niveau = " + authparams.ALGwritelevel + ")"
: "")
+ " ORDER BY alg_locatie_upper";
<%
var sql_my_loc = " AND al.alg_locatie_key IN"
+ " ( SELECT alg_locatie_key"
+ " FROM fac_v_my_locations"
+ " WHERE prs_perslid_key = " + user_key
+ " AND niveau = " + authparams.ALGwritelevel
+ " )";
var sql_filter = " AND EXISTS"
+ " ( SELECT ''"
+ " FROM alg_v_aanweziggebouw ag"
+ " , alg_srtgebouw sg"
+ " WHERE ag.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)"
+ " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC (SYSDATE))"
+ " AND sg.alg_srtgebouw_passief IS NULL"
+ " AND ag.alg_locatie_key = al.alg_locatie_key"
+ " )";
var sql = "SELECT al.alg_locatie_key"
+ " , al.alg_locatie_omschrijving"
+ " FROM alg_locatie al"
+ " WHERE al.alg_locatie_verwijder IS NULL"
+ ((authparams.ALGwritelevel > -1) ? sql_my_loc : "")
+ sql_filter
+ " ORDER BY al.alg_locatie_upper";
FCLTselector("locs",
sql,
{ label: L("lcl_location"),

View File

@@ -275,7 +275,8 @@ var authparams = user.checkAutorisation(autfunction, true) || {};
eindlevel: 3, // gebouw
secsearch: 2,
trclass: "noxd",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
RWFIELDTR("loc_omschr", "fld wildcardr", L("lcl_location"), safe.htmlattr(loc_omschr), { trclass: "primsearch onlyxd hidden", datatype: "text" });

View File

@@ -15,6 +15,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/Suggest/plaatsFilter.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<%
@@ -65,7 +66,8 @@ var showall = getQParamInt("showall", 0) == 1;
+ (authparams.ALGreadlevel > -1
? " AND l.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
+ " WHERE prs_perslid_key = " + user_key + " AND niveau=" + authparams.ALGreadlevel + ")"
: "");
: "")
+ getFiltClauseLocatie("FAC", {}).where;
if (adressName != "")
sql+= " AND m.mld_adres_upper LIKE " + safe.quoted_sql_wild(adressName + "%");

View File

@@ -45,7 +45,8 @@ authparams=user.checkAutorisation(autfunction);
<% FCLTplaatsselector(authparams.ALGreadlevel, { startlevel: 1, // district
eindlevel: 2, // locatie
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
%>
</table>

View File

@@ -103,7 +103,8 @@ var betreft = getQParamArray("betreft", []); // Betreft module BES, CNT, FIN, ML
eindlevel: 3, // gebouw
terrein: true,
trclass: "noxd",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
%>
</table>

View File

@@ -31,7 +31,7 @@ try
result.total = d.TotalSize;
result.free = d.AvailableSpace;
result.totalGB = Math.round(result.total/1073741824);
result.freeGB = Math.round(result.free/1073741824).toFixed(1);
result.freeGB = (result.free/1073741824).toFixed(1);
}
catch (e)
{
@@ -65,6 +65,7 @@ if (fname)
{
var f = fc.item();
var filedata = { name: f.Name, date: new Date(f.DateLastModified).getTime(), size: f.Size };
// Merk op dat we echt 168 uur doen. Dat kan over 8 dagen verspreid zijn.
if (filedata.date < new Date().getTime() - 7*24*60*60*1000) // alleen laatste week
continue;
filedata.url = HTTP.urlzelf() + "/temp/" + fname + "/" + f.Name;

View File

@@ -35,7 +35,7 @@ var tmStartAll = new Date();
for (; !fc1.atEnd(); fc1.moveNext())
{
fldr = fc1.item();
var fldr = fc1.item();
filename = fldr.Path.toUpperCase();
var udl = fldr.Path + "\\oracle.udl";
@@ -49,7 +49,6 @@ for (; !fc1.atEnd(); fc1.moveNext())
try
{
tmStart2 = new Date();
var str = "File Name=" + udl;
Oracle.Open(str);
result.datasource = Oracle.Properties("Data source").Value;
@@ -74,6 +73,15 @@ for (; !fc1.atEnd(); fc1.moveNext())
result.schemaversion = oRs("fac_version_schema").Value;
oRs.Close();
var sql = "SELECT fac_idp_audience"
+ " FROM fac_idp"
+ " WHERE fac_idp_type = 4" // JWT
+ " AND fac_idp_code = 'FACILITORSUPPORT'";
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
result.support_idp_audience = oRs("fac_idp_audience").Value;
oRs.Close();
var sql = "SELECT count(*) FROM fac_v_orderqueue";
var oRs = Oracle.Execute(sql);
result.orderqueue = oRs(0).Value;

View File

@@ -369,7 +369,7 @@ function fac_graph_generate (usrgraph_key, fclt_key, params)
, seriesDefaults: { renderer: $.jqplot.MeterGaugeRenderer
, rendererOptions: { showTicks: true
, showTickLabels: true
, label: l_init.title + l_x + "/" + l_y
, label: l_init.title + " " + l_x + "/" + l_y
, labelPosition: 'bottom'
, labelHeightAdjust: -5
, background: '#f0f0f0'

View File

@@ -786,7 +786,7 @@ if (this.settings) // (deze test werkt niet vanuit verify.asp.inc)
var sets = puostring.split(",");
for (var i in settings.overrule)
{
if (puostring.indexOf(i) < 0) // die doen we apart
if (puostring.indexOf(i) < 0 || !i.match(/force/)) // die doen we apart
txt.push("<tr><td>" + i + "</td><td>" + safe.html(settings.get_setting(i, null, true)) + "</td><td><strong>" + safe.html(S(i)) + "</strong></td></tr>");
}
if (txt.length)
@@ -833,14 +833,16 @@ __GROUP = "Putorders";
if (this.S) // (deze test werkt niet vanuit verify.asp.inc)
{
checker("Overrules",
checker("Force overrules",
function ()
{
var puosets = puostring.split(",");
var txt = [];
for (var i in puosets)
if (S(puosets[i]))
txt.push(puosets[i] + "</td><td><strong>" + safe.html(S(puosets[i])) + "</strong>");
{
if (puosets[i].match(/force/) && S(puosets[i]))
txt.push(puosets[i] + "</td><td><strong>" + safe.html(S(puosets[i])) + "</strong>");
}
if (txt.length)
result = { result: resultcodes.warning, message: "<table><tr><td>" + txt.join("</td></tr><tr><td>") + "</td></tr></table>" };
else

View File

@@ -317,7 +317,8 @@ var isContactpersoon = user.isContactpersoon();
eindlevel: 3, // gebouw
terrein: true,
trclass: "noxd",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
}
%>

View File

@@ -1877,11 +1877,11 @@ ins = {checkAutLevel:
else if (inspSoon) // Binnenkort is aangevinkt.
{
if (dtsoonfrom != null && dtsoonto != null) // Binnenkort.
sql = "SELECT * FROM (" + sql + ") x WHERE ins_deelsrtcontrole_plandatum BETWEEN " + dtsoonfrom.toSQL(true) + " AND " + dtsoonto.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
sql = "SELECT * FROM (" + sql + ") x WHERE COALESCE(ins_deelsrtcontrole_plandatum, inspectie_next) BETWEEN " + dtsoonfrom.toSQL(true) + " AND " + dtsoonto.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
else if (dtsoonfrom == null && dtsoonto != null) // Te laat + binnenkort.
sql = "SELECT * FROM (" + sql + ") x WHERE ins_deelsrtcontrole_plandatum < " + dtsoonto.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
sql = "SELECT * FROM (" + sql + ") x WHERE COALESCE(ins_deelsrtcontrole_plandatum, inspectie_next) < " + dtsoonto.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
else if (dtsoonfrom != null && dtsoonto == null) // Binnenkort + toekomst.
sql = "SELECT * FROM (" + sql + ") x WHERE ins_deelsrtcontrole_plandatum >= " + dtsoonfrom.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
sql = "SELECT * FROM (" + sql + ") x WHERE COALESCE(ins_deelsrtcontrole_plandatum, inspectie_next) >= " + dtsoonfrom.toSQL(true) + (sqlBC != ''? " OR " + sqlBC : "");
else if (dtsoonfrom == null && dtsoonto == null)
sql = "SELECT * FROM (" + sql + ") x WHERE 1 = 1"; // Alles tonen onafhankelijk van sqlBC.
}

View File

@@ -189,6 +189,7 @@ user.anything_todo_or_abort(tobemoved > 0); // We klagen niet over enkele wel en
, eindlevel: maxlevel
, terrein: true
, requiredlevel: 2
, filtercode: "FAC"
}
);

View File

@@ -439,7 +439,8 @@ var authparams = user.checkAutorisation(autfunction);
startlevel: alg_startlevel,
eindlevel: 2, // locatie
trclass: "noxd",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
}
else //fronto
@@ -448,7 +449,8 @@ var authparams = user.checkAutorisation(autfunction);
startlevel: alg_startlevel,
eindlevel: 3, // gebouw
trclass: "noxd",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
}
}

View File

@@ -29,7 +29,8 @@ var authparams = user.checkAutorisation(autfunction);
FCLTplaatsselector(authparams.ALGreadlevel, { startlevel: 2, // locatie
eindlevel: 2, // Locatie
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
sql = " SELECT DISTINCT s.ins_srtdeel_key"

View File

@@ -47,6 +47,7 @@ FCLTHeader.Requires({ plugins: [] });
{
// Is er een bijlage kenmerk?
var sql = mld.getMldKenmerk_sql(mld_key, {wheres: ["mkm.mld_kenmerk_volgnummer < 800",
"(mkm.mld_kenmerk_verplicht IS NULL OR mkm.mld_kenmerk_verplicht=0)",
"msk.mld_srtkenmerk_kenmerktype = 'M'"]}
);
var oRs = Oracle.Execute(sql);

View File

@@ -47,6 +47,7 @@ var timestamp_notes = new Date();
{
// Is er een bijlage kenmerk?
var sql = mld.getMldKenmerk_sql(mld_key, {wheres: ["mkm.mld_kenmerk_volgnummer < 800",
"(mkm.mld_kenmerk_verplicht IS NULL OR mkm.mld_kenmerk_verplicht=0)",
"msk.mld_srtkenmerk_kenmerktype = 'M'"]}
);
var oRs = Oracle.Execute(sql);

View File

@@ -94,7 +94,8 @@ var authparams = user.checkAutorisation(autfunction);
gebouwkey: bld_key,
startlevel: 2, // locatie
eindlevel: 3, // gebouw
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
}); %>
</table>
</td><!-- end column 2-->

View File

@@ -147,7 +147,8 @@ toRs.close();
startlevel: 2, // locatie
eindlevel: 3, // gebouw
trclass: "noxd",
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
%>

View File

@@ -135,22 +135,35 @@ var dienst_key = getQParamInt("dienst_key"); // bedrijf key
<td>
<label><%=L("lcl_location")%>:</label><br>
<%
var sql_filter = " AND EXISTS"
+ " ( SELECT ''"
+ " FROM alg_v_aanweziggebouw ag"
+ " , alg_srtgebouw sg"
+ " WHERE ag.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)"
+ " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC (SYSDATE))"
+ " AND sg.alg_srtgebouw_passief IS NULL"
+ " AND ag.alg_locatie_key = al.alg_locatie_key"
+ " )";
var existing_loc_sql =
"SELECT dl.alg_locatie_key"
+ " , l.alg_locatie_omschrijving"
+ " , al.alg_locatie_omschrijving"
+ " , 'L' locorgeb"
+ " FROM prs_bedrijfdienstlocatie dl"
+ " , alg_locatie l"
+ " WHERE dl.alg_locatie_key = l.alg_locatie_key"
+ " , alg_locatie al"
+ " WHERE dl.alg_locatie_key = al.alg_locatie_key"
+ " AND dl.prs_dienst_key = " + dienst_key
+ " AND dl.prs_bedrijf_key = " + bedrijf_key
+ " AND dl.alg_locatie_key IS NOT NULL";
//+ sql_filter;
var loc_sql =
"SELECT l.alg_locatie_key"
+ " , l.alg_locatie_omschrijving"
"SELECT al.alg_locatie_key"
+ " , al.alg_locatie_omschrijving"
+ " , 'L' locorgeb"
+ " FROM alg_v_aanweziglocatie l";
+ " FROM alg_v_aanweziglocatie al"
+ " WHERE 1=1"
+ sql_filter;
FCLTselector("locPossible", loc_sql + " MINUS " + existing_loc_sql + " ORDER BY 2",
{ startmulti: true,
@@ -181,8 +194,10 @@ var dienst_key = getQParamInt("dienst_key"); // bedrijf key
+ " FROM prs_bedrijfdienstlocatie dl"
+ " , alg_gebouw g"
+ " , alg_locatie l"
//+ " , alg_srtgebouw sg"
+ " WHERE dl.alg_gebouw_key = g.alg_gebouw_key"
+ " AND g.alg_locatie_key = l.alg_locatie_key"
//+ " AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)"
+ " AND dl.prs_dienst_key = " + dienst_key
+ " AND dl.prs_bedrijf_key = " + bedrijf_key
+ " AND dl.alg_gebouw_key IS NOT NULL";
@@ -191,9 +206,13 @@ var dienst_key = getQParamInt("dienst_key"); // bedrijf key
+ " , l.alg_locatie_code||'-'||g.alg_gebouw_omschrijving"
+ " , 'G' locorgeb"
+ " , l.alg_locatie_key"
+ " FROM alg_v_aanweziggebouw g,"
+ " alg_locatie l"
+ " WHERE l.alg_locatie_key = g.alg_locatie_key";
+ " FROM alg_v_aanweziggebouw g"
+ " , alg_locatie l"
+ " , alg_srtgebouw sg"
+ " WHERE l.alg_locatie_key = g.alg_locatie_key"
+ " AND g.alg_srtgebouw_key = sg.alg_srtgebouw_key(+)"
+ " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC (SYSDATE))"
+ " AND sg.alg_srtgebouw_passief IS NULL";
%> <br><label><%=L("lcl_building")%>:</label><br>
<% FCLTselector("gebPossible", geb_sql + " MINUS " + existing_geb_sql + " ORDER BY 2",

View File

@@ -139,6 +139,7 @@ var authparams = user.checkAutorisation(autfunction);
startlevel: 1, // District
eindlevel: 3, // Gebouw
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC",
onDisChange: "onPlaatsChange()",
onLocChange: "onPlaatsChange()",
onGebChange: "onPlaatsChange()"

View File

@@ -524,7 +524,8 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
});
</script>
<%
}
} // einde Bestaande reservering
lcl.set_dialect(srtact, "RES_SRTACTIVITEIT_KEY");
// Afhankelijk van activiteitsoort de eerstvolgende dag waarop deze reservering mag worden gedaan bepalen.
@@ -544,6 +545,29 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
rrr.fe_expire_dagen = oRsa(0).Value || 0;
oRsa.Close();
var reado_rsv_ruimte = false;
if (rsv_ruimte_key > 0)
{
var reado_rsv_ruimte = rrr.status_bo_key == 6;
}
// last_minute mag frontend niet meer de zaal of tijdstippen wijzigen
// (noch de catering zelf maar dat regelt res_show_objcat.asp)
var fe_lastminute = false;
if (restype == "CV")
{
reado_rsv_ruimte = ordernr_reado;
if (rsv_ruimte_key > 0) // Existing reservation
{
if (rrr.rsv_ruimte_van < this_res.earliest_expire_change)
last_minute = true;
else
last_minute = false;
fe_lastminute = (urole=="fe" && last_minute);
}
} // restype = "CV"
%>
<script type="text/javascript">
@@ -584,33 +608,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
var sel_room = {RoomConfigs: [], // Hierin houden we clientside informatie over onze gekozen ruimte bij
org_opstel_key : <%= rsv_ruimte_key>0?rrr.ruimte_opstel_key||-1:-1 %>
};
</script>
<%
var reado_rsv_ruimte = false;
if (rsv_ruimte_key > 0)
{
var reado_rsv_ruimte = rrr.status_bo_key == 6;
}
// last_minute mag frontend niet meer de zaal of tijdstippen wijzigen
// (noch de catering zelf maar dat regelt res_show_objcat.asp)
var fe_lastminute = false;
if (restype == "CV")
{
reado_rsv_ruimte = ordernr_reado;
if (rsv_ruimte_key > 0) // Existing reservation
{
if (rrr.rsv_ruimte_van < this_res.earliest_expire_change)
last_minute = true;
else
last_minute = false;
fe_lastminute = (urole=="fe" && last_minute);
}
} // restype = "CV"
%>
<script type="text/javascript">
var srtdisc_kpnverplicht = <%=rrr.srtactiviteit_kpnverplicht%>;
var srtdisc_metaantalvis = <%=rrr.srtactiviteit_metaantal ? "true" : "false"%>;
var frontend = <%=frontend? 1 : 0%> == 1;
@@ -852,32 +850,34 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
function rsv_ruimteOnSubmit()
{
// check if visitors will fit
for( i=0; i<sel_room.RoomConfigs.length; i++ ) {
for( i=0; i<sel_room.RoomConfigs.length; i++ )
{
if( sel_room.RoomConfigs[i].ruimte_opstel_key == document.u2.ruimte_opstel.value &&
sel_room.RoomConfigs[i].bezoekers > 0 &&
sel_room.RoomConfigs[i].bezoekers < document.u2.bezoekers.value ) {
sel_room.RoomConfigs[i].bezoekers < document.u2.bezoekers.value )
{
if( ! confirm( L("lcl_res_too_many_visitors") ) ) return false;
}
}
<% if (S("res_247organisation") != 1) { /* Geen popup voor 24/7 organisation */ %>
<% if (S("res_247organisation") != 1) { /* Geen popup voor 24/7 organisation */ %>
var startDate = new Date(parseInt($('#date_from').val()));
if( cal_isVrijeDag(startDate) || cal_isWeekend(startDate))
{
if( ! confirm( "<%=L("lcl_holiday")%>" ) )
if( ! confirm( "<%=L("lcl_holiday")%>" ) )
return false;
}
<% } %>
<% if ((S("res_hide_remark")==0) || ((S("res_hide_remark")==2) && (rsv_ruimte_key>=0))) { %>
if(document.forms.u2.opmerk)
{
<% } %>
<% if ((S("res_hide_remark")==0) || ((S("res_hide_remark")==2) && (rsv_ruimte_key>=0))) { %>
if(document.forms.u2.opmerk)
{
s = document.forms.u2.opmerk.value;
if (s.length > 2000 )
document.forms.u2.opmerk.value = s.substring(0,2000);
}
<% } %>
}
<% } %>
return true;
return true;
}
function onChangeStarttijd()
@@ -1130,7 +1130,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
//======= FIELD 'Aantal personen/nr visitors' =======
if (rrr.srtactiviteit_metaantal)
{
RWFIELDTR("bezoekers", "fldbezcnt", L("lcl_visitors"), rrr.rsv_ruimte_bezoekers, {datatype: "number", required: rrr.aantal_verplicht, readonly: rrr.res_ruimte_extern });
RWFIELDTR("bezoekers", "fldbezcnt", L("lcl_visitors"), rrr.rsv_ruimte_bezoekers, {datatype: "number", required: rrr.aantal_verplicht, readonly: rrr.res_ruimte_extern || readonlyFE });
if (rrr.res_ruimte_extern)
{
%>
@@ -1189,22 +1189,26 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
var attrValue = "hasvalue='" + (rsv_ruimte_key == -1 && rrr.res_ruimte_key == -1? "0" : "1") + "'";
%>
<tr><td class="label"><label for='sel_room'><%=L("lcl_room")%>:</label></td>
<td><div id='req_sel_room'>
<input type="text" id="sel_room"
class="<%=((!rrr.res_ruimte_extern && !readonlyFE) ? "button fldresroomedit required" : "")%> fldresroom"
readonly
<% if (!rrr.res_ruimte_extern && !readonlyFE) { %> onclick="FindAvailableRooms()" <% } %>
value="<%=L("lcl_res_select_room")%>"
name="sel_room" <%=attrValue%> />
</div>
</td>
</tr>
<td><div id='req_sel_room'>
<input type="text" id="sel_room"
class="<%=((!rrr.res_ruimte_extern && !readonlyFE) ? "button fldresroomedit required" : "")%> fldresroom"
readonly
<% if (!rrr.res_ruimte_extern && !readonlyFE) { %>
onclick="FindAvailableRooms()"
value="<%=L("lcl_res_select_room")%>"
<% } else {%>
value="<%=safe.htmlattr(rri.ruimte_nr)%>"
<% } %>
name="sel_room" <%=attrValue%> />
</div>
</td>
</tr>
<!-- Opstelling -->
<tr><td class="label"><label for='ruimte_opstel<%=rrr.res_ruimte_extern? "_ro" : ""%>'><%=L("lcl_config") %>:</label></td>
<tr><td class="label"><label for='ruimte_opstel<%=rrr.res_ruimte_extern || readonlyFE ? "_ro" : ""%>'><%=L("lcl_config") %>:</label></td>
<td>
<!--[if lt IE 8]><div id='req_ruimte_opstel' class='fldopstel required'><![endif]-->
<% if (rrr.res_ruimte_extern)
<% if (rrr.res_ruimte_extern || readonlyFE)
{ %>
<input class="fld" type="text" name="ruimte_opstel_ro" id="ruimte_opstel_ro" value="<%=safe.html(rrr.opstelling_omschrijving) + " (" + rrr.opstel_bezoekers + " " + L("lcl_res_pers") + ")"%>" readonly />
<% }
@@ -1218,7 +1222,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
<% } %>
<!--[if lt IE 8]></div><![endif]-->
<% if (rrr.res_ruimte_extern)
<% if (rrr.res_ruimte_extern || readonlyFE)
{ %>
<input type="hidden" name="ruimte_opstel" id="ruimte_opstel" value="<%=rrr.ruimte_opstel_key%>" />
<% } %>

View File

@@ -381,7 +381,11 @@ user.auth_required_or_abort(this_res.couldCreate);
{
iface.button.enable("btn_res_submit");
if (json.success)
FcltMgr.closeDetail(window, json);
{
FcltMgr.closeDetail(window, json); // zelf in ieder geval dicht
if (json.new_rsv_ruimte_key > 0)
FcltMgr.openDetail("appl/res/res_reservering.asp?urole=<%=urole%>&rsv_ruimte_key=" + json.new_rsv_ruimte_key);
}
}
function multi_submit ()

View File

@@ -112,7 +112,16 @@ if (err.friendlyMsg)
shared.trackaction("RESCPY", rsv_ruimte_key);
var msg = [];
if (isnewres)
msg.push(L("lcl_res_copied_new").format(form_dates.Count))
{
msg.push(L("lcl_res_copied_new").format(form_dates.Count, newres_key))
var sql = "SELECT MIN(res_rsv_ruimte_key)"
+ " FROM res_rsv_ruimte "
+ " WHERE res_reservering_key=" + newres_key;
var oRs = Oracle.Execute(sql);
var new_rsv_ruimte_key = oRs(0).Value;
oRs.Close()
}
else
msg.push(L("lcl_res_copied").format(form_dates.Count));
@@ -121,6 +130,6 @@ if (nrPAF > 0)
msg.push(L("lcl_bez_paf_not_copied").format(nrPAF));
}
var result = { message: msg.join('\n'), success: true, refresh: true };
var result = { toaster: msg.join('\n'), success: true, refresh: true, new_rsv_ruimte_key: new_rsv_ruimte_key };
Response.Write(JSON.stringify(result));
%>

View File

@@ -109,7 +109,8 @@ var authparams = user.checkAutorisation(autfunction);
startlevel: 1, // District
eindlevel: 5, // Ruimte
secsearch: 3, // gebouw en hoger
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
}); %>
</table>
<!-- end column 1 -->

View File

@@ -146,7 +146,8 @@ if (!oRs.eof) uitleen_flex_present = true;
BLOCK_START("sleRuimte", L("lcl_sle_ruimte"));
FCLTplaatsselector(authparamsSLEBOF.ALGwritelevel, { startlevel: 2, // Locatie
eindlevel: 5, // Ruimte
autoselect: true
autoselect: true,
filtercode: "FAC"
});
%>
<tr>

View File

@@ -198,7 +198,8 @@ var authparamsSLEFOF = user.checkAutorisation("WEB_SLEFOF", true);
onWerChange: "UnSelectOwner()",
startlevel: 2, // locatie
eindlevel: 5, // ruimte/werkplek
whenEmpty: L("lcl_search_generic") // want filter
whenEmpty: L("lcl_search_generic"), // want filter
filtercode: "FAC"
});
//<!-- Afdeling/Organisatie -->

View File

@@ -242,7 +242,10 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
}
else if (pModule != "FAQ")
{
result.trackcode = pModule + "UPD";
if (pModule == "MLD" && pNiveau == "O")
result.trackcode = "ORD" + "UPD";
else
result.trackcode = pModule + "UPD";
var kenmerk_geg = bepaalKenmerkGegevens(pModule, pSubpath);
result.kenmerkoms = kenmerk_geg.kenmerk_omschrijving;
result.kenmerktype = kenmerk_geg.kenmerk_type;
@@ -447,7 +450,7 @@ function oneFileInfo(fsoFile, result, pModule, pKey, pSubpath, pNiveau, params)
var tempfile = Server.MapPath(rooturl + '/temp/img_' + customerId + '_' + filedata.digest + "_" + params.resizeCode + ".jpg");
oIMG.SaveAs(tempfile);
filedata.resized = tempfile;
if (Session("logging") == 0)
if (typeof Session("Logging")=="undefined" || Session("Logging") == 0)
filedata.tempdelete = tempfile; // Moet aanroeper opruimen
}
catch (e)

View File

@@ -124,6 +124,7 @@ function getFiltClauseLocatie(pfiltcode, params)
+ " WHERE ag.alg_gebouw_bez = 1"
+ " AND (ag.alg_gebouw_vervaldatum IS NULL OR ag.alg_gebouw_vervaldatum > TRUNC(SYSDATE))"
+ " AND ag.alg_locatie_key = l.alg_locatie_key)";
lfiltClause.where += lfiltClauseFAC;
break;
case "FAC": // Facilitaire locaties, met een niet-passief gebouw of terrein
@@ -201,7 +202,10 @@ function getFiltClauseLocatie(pfiltcode, params)
+ " AND g.alg_locatie_key = l.alg_locatie_key"
+ ")";
lfiltClause.where += lfiltClauseFAC; // Ook dat nog
break;
case "INCVR": // include virtual rooms, default these are NOT included
lfiltClause.where = lfiltClauseFAC;
break;
}
}

View File

@@ -18,5 +18,6 @@ xc.Wide = getQParamInt("wide", xc.Narrow * 3);
xc.rotation = getQParamInt("rotation", 0);
// default code39
Response.contenttype = "image/png";
Response.BinaryWrite(xc.GetAsPNG());
%>

View File

@@ -9,7 +9,7 @@
Note: Sinds 5.2.2 zitten de settings in de database
*/
var FCLTVersion="2016.2";
var FCLTVersion="2016.2a";
var FCLTMinDatabaseSchema="29";
var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -164,6 +164,7 @@ FCLTHeader =
{
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader ("content-disposition", "inline; filename=facilitor.xls");
Response.CacheControl = "private"; // UWVA#38253 : Anders problemen met IE8
%> <meta http-equiv="Content-Type" content="text/html;charset=<%=Response.Charset%>"><%
return; // Excel is heel kaal
}

View File

@@ -112,7 +112,8 @@ if (user_key < 0 && jwt)
var sql = "SELECT *"
+ " FROM fac_idp"
+ " WHERE fac_idp_issuer = " + safe.quoted_sql(claim.payload.iss)
+ " WHERE fac_idp_type = 4" // JWT
+ " AND fac_idp_issuer = " + safe.quoted_sql(claim.payload.iss)
+ " AND fac_idp_audience = " + safe.quoted_sql(claim.payload.aud);
var oRs = Oracle.Execute(sql);
if (oRs.Eof)
@@ -207,9 +208,9 @@ if (user_key < 0 && jwt)
}
}
if (user_key < 0 && getQParam("sso", ""))
var sso = getQParam("sso", "");
if (user_key < 0 && sso && sso != "0") // "0" is een hardcoded special case
{
var sso = getQParam("sso");
var sql = "SELECT *"
+ " FROM fac_idp"
+ " WHERE fac_idp_code = " + safe.quoted_sql(sso);

View File

@@ -53,6 +53,16 @@
</xsl:element>
<xsl:element name="Description">
<xsl:value-of select="omschrijving"/>
<xsl:choose>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Managing agent'">
LET OP: MA condities van toepassing
</xsl:when>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Contracting party'">
LET OP: CP condities van toepassing
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="Monitoring">
<xsl:element name="StartDateTime">
@@ -175,4 +185,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. -->

View File

@@ -51,6 +51,16 @@
</xsl:element>
<xsl:element name="Description">
<xsl:value-of select="omschrijving"/>
<xsl:choose>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Managing agent'">
LET OP: MA condities van toepassing
</xsl:when>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Contracting party'">
LET OP: CP condities van toepassing
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="Monitoring">
<xsl:element name="StartDateTime">
@@ -171,4 +181,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. -->

View File

@@ -35,6 +35,7 @@
</xsl:when>
<xsl:when test="opdrachttype/omschrijving='Projectorder'">5</xsl:when>
<xsl:when test="opdrachttype/omschrijving='RFQ'">3</xsl:when>
<xsl:when test="opdrachttype/omschrijving='Project RFQ'">3</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="RequestedProcessingPeriod">

View File

@@ -35,6 +35,7 @@
</xsl:when>
<xsl:when test="opdrachttype/omschrijving='Projectorder'">5</xsl:when>
<xsl:when test="opdrachttype/omschrijving='RFQ'">3</xsl:when>
<xsl:when test="opdrachttype/omschrijving='Project RFQ'">3</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="RequestedProcessingPeriod">
@@ -56,6 +57,16 @@
</xsl:element>
<xsl:element name="Description">
<xsl:value-of select="omschrijving"/>
<xsl:choose>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Managing agent'">
LET OP: MA condities van toepassing
</xsl:when>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Contracting party'">
LET OP: CP condities van toepassing
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="Monitoring">
<xsl:element name="StartDateTime">
@@ -176,4 +187,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. -->

View File

@@ -71,21 +71,13 @@ try {
filename = objRS("Name").Value;
//WScript.Echo("File (sorted): " + filename);
objRS.MoveNext();
var fileStream = new ActiveXObject("ADODB.Stream");
fileStream.open();
fileStream.CharSet = "Windows-1252"; // het doel
fileStream.LoadFromFile(folder + filename);
//WScript.Echo("Filesize " + fileStream.Size);
fileStream.Position = 0;
//WScript.Echo("Request1: " + fileStream.ReadText);
XMLReq = fileStream.ReadText;
WScript.Echo("Request: " + XMLReq);
var XMLReq = new ActiveXObject("MSXML2.DOMDocument.6.0");
XMLReq.async = false;
XMLReq.load(folder + filename);
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
objXMLHTTP.open("POST",
url
);
objXMLHTTP.open("POST", url);
objXMLHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXMLHTTP.send(XMLReq);

View File

@@ -13,5 +13,5 @@ REM
REM (c) 2010, SG|facilitor bv, +31 (53) 4800700, support@sgfacilitor.nl
REM
copy "D:\Apps\Facilitor\ftp_sites\LocalUser\AANSFtp\ADusers\Facilitor AD.csv" .\Facilitor_AD.csv
copy "d:\Apps\Facilitor\Webdav\com4it\ADusers\Facilitor AD.csv" .\Facilitor_AD.csv
cscript ..\..\..\utils\gen_import\gen_import.wsf AAIT 61 >>genimport.log 2>>&1

View File

@@ -58,6 +58,16 @@
</xsl:element>
<xsl:element name="Description">
<xsl:value-of select="omschrijving"/>
<xsl:choose>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Managing agent'">
LET OP: MA condities van toepassing
</xsl:when>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Contracting party'">
LET OP: CP condities van toepassing
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="Monitoring">
<xsl:element name="StartDateTime">
@@ -177,4 +187,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. -->

View File

@@ -51,6 +51,16 @@
</xsl:element>
<xsl:element name="Description">
<xsl:value-of select="omschrijving"/>
<xsl:choose>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Managing agent'">
LET OP: MA condities van toepassing
</xsl:when>
<xsl:when test="melding/kenmerk[@naam='Project voorwaarden'] = 'Contracting party'">
LET OP: CP condities van toepassing
</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="Monitoring">
<xsl:element name="StartDateTime">
@@ -171,4 +181,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. -->

View File

@@ -35,6 +35,7 @@
</xsl:when>
<xsl:when test="opdrachttype/omschrijving='Projectorder'">4</xsl:when>
<xsl:when test="opdrachttype/omschrijving='RFQ'">3</xsl:when>
<xsl:when test="opdrachttype/omschrijving='Project RFQ'">3</xsl:when>
</xsl:choose>
</xsl:element>
<xsl:element name="RequestedProcessingPeriod">

View File

@@ -7,7 +7,7 @@
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
</xsl:variable>
<xsl:variable name="Xsrtnotificatiecode">CUST04</xsl:variable>
<xsl:variable name="Xsrtnotificatiecode">BEZBAD</xsl:variable>
<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />
@@ -2290,6 +2290,124 @@ p.MsoNormal {
</xsl:choose>
</xsl:template>
<xsl:template match="bezoeker" mode="full">
<xsl:choose>
<xsl:when test="$srtnotificatiecode = 'BEZBAD'">
<xsl:apply-templates select="." mode="badge"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-imports/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="bezoeker" mode="badge">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
<!--Generic Facilitor HTML head for ANY report-->
<meta http-equiv="pragma" content="no-cache"/>
<meta http-equiv="expires" content="0"/>
<meta http-equiv="cache-control" content="no-cache"/>
<title><xsl:value-of select="//lcl/FAC/facilitorformulier"/></title>
<xsl:call-template name="stylesheet"/>
<style>
html,body {
padding:0; margin:0;
border: none;
width:85mm; height:52mm;
position: absolute;
font-family: Calibri, Tahoma, Verdana, Arial;
color: #000;
}
div {
position: absolute;
left: 8mm;
width: 75mm;
margin: 0; padding: 0;
vertical-align: top;
font-size: 12pt;
font-weight: normal;
line-height: 5mm;
color: #000;
border: none;
}
div#header {
width: 67mm;
font-weight: bold;
font-size: 20pt;
line-height: 8mm;
text-align: center;
}
div#naam {
font-weight: bold;
font-size: 16pt;
line-height: 6mm;
top: 10mm;
}
div#datum {
top: 24mm;
}
div#gastheer {
top: 30mm;
}
div#footer {
top: 40mm;
left: 0;
height: 12mm;
text-align: center;
}
#footer img {
height: 100%;
}
</style>
</head>
<xsl:element name="body">
<xsl:attribute name="onload">window.print();</xsl:attribute>
<div id="header">Bezoeker</div>
<div id="naam"><xsl:value-of select="naam"/><br/><xsl:value-of select="bedrijf"/></div>
<div id="datum"><xsl:value-of select="afspraak/datum/datum"/></div>
<div id="gastheer">Bezoekt: <xsl:value-of select="afspraak/gastheer"/><br/><xsl:value-of select="pasnr"/></div>
<div id="footer">
<xsl:element name="img">
<xsl:attribute name="id">footer</xsl:attribute>
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/tmpl_logo.gif</xsl:attribute>
</xsl:element>
</div>
</xsl:element>
</xsl:template>
<xsl:template match="bezoeker" mode="badge2">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" style="width: 75mm; height: 44mm;">
<tr>
<td style="text-align:center; font-size:10pt; font-weight: bold; height: 7mm;"><xsl:value-of select="//lcl/BEZ/bezoeker"/></td>
</tr>
<tr>
<td style="text-align:left; font-size:8pt; font-weight: bold; height:5mm;"><xsl:value-of select="naam"/></td>
</tr>
<tr>
<td style="text-align:left; font-size:8pt; font-weight: bold; height:5mm;"><xsl:value-of select="bedrijf"/></td>
</tr>
<tr>
<td style="text-align:left; font-size:8pt; height:7mm;"><xsl:value-of select="afspraak/datum/datum"/></td>
</tr>
<tr>
<td style="text-align:left; font-size:8pt; height:7mm;">Bezoekt: <xsl:value-of select="afspraak/gastheer"/></td>
</tr>
<tr>
<td style="text-align:left; font-size:8pt; height:5mm;"><xsl:value-of select="pasnr"/></td>
</tr>
<tr>
<td style="text-align:center;">
<xsl:element name="img">
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/tmpl_logo.gif</xsl:attribute>
<xsl:attribute name="height">10mm</xsl:attribute>
</xsl:element>
</td>
</tr>
</TABLE>
</xsl:template>
<xsl:template match="reservering" mode="include">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR>

View File

@@ -0,0 +1,4 @@
@echo off
REM Moet gescheduled worden (normaliter 1 keer per uur) om door de applicatiebeheerder
REM ingeregelde notificaties te genereren.
cscript ..\..\..\utils\gen_notify\gen_notify.js ../oracle.udl ARAI

View File

@@ -1565,8 +1565,90 @@ Amsterdam RAI
</xsl:if>
<xsl:value-of select="//facilitor/rapport/rapport_data/data_row/INS_KENMERKDEEL_AANMAAK[1]"/>
</xsl:if>
<xsl:if test="@view = 'ARAI_V_INS_QRC' or @view = 'ARAI_V_INS_QRC_MLD'">
<xsl:variable name="p_rows" select="6"/>
<xsl:variable name="p_cols" select="2"/>
<xsl:for-each select="//facilitor/rapport/rapport_data/data_row">
<xsl:sort select="FCLT_F_IDENTIFICATIE"/>
<xsl:if test="position() mod ($p_rows * $p_cols) = 0">
<xsl:comment>=== Na elke p_rows*p_cols records (m*n passen op 1 A4) =====</xsl:comment>
<xsl:call-template name="qrc_ins_new_page">
<xsl:with-param name="p_page" select="floor(position() div ($p_rows * $p_cols))"/>
<xsl:with-param name="p_rows" select="$p_rows"/>
<xsl:with-param name="p_cols" select="$p_cols"/>
</xsl:call-template>
<div style="page-break-after:always; margin:0;padding:0">&#160;</div>
</xsl:if>
<xsl:if test="position() = last() and position() mod ($p_rows * $p_cols) != 0 ">
<xsl:comment>=== De laatste paar, zijn minder dan m*n =====</xsl:comment>
<xsl:call-template name="qrc_ins_new_page">
<xsl:with-param name="p_page" select="floor((position() div ($p_rows * $p_cols))+1)"/>
<xsl:with-param name="p_rows" select="$p_rows"/>
<xsl:with-param name="p_cols" select="$p_cols"/>
</xsl:call-template>
</xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:template>
<xsl:template match="data_row" mode="qrc">
<td style="text-align: center; vertical-align: top; margin:0;padding:0">
<xsl:element name="img">
<xsl:attribute name="style">height: 4.25cm; width: 4.25cm; margin:0cm; padding:0; border:none</xsl:attribute>
<xsl:attribute name="src">
../../appl/shared/qrcode.asp?size=16&amp;text=/%3Fu%3D<xsl:value-of select="HIDE_F_BOOKMARK_ID"/>%26k%3D<xsl:value-of select="INS_DEEL_KEY"/>
</xsl:attribute>
</xsl:element>
</td>
<td style="text-align:left; vertical-align: top; margin:0;padding:0; font-size: 11pt; font-weight: bold">
<xsl:element name="img">
<xsl:attribute name="style">width: 5.2cm; margin: 0.5cm 0.65cm 0.2cm 0</xsl:attribute>
<xsl:attribute name="src">
../../cust/akza/akzonobel.gif
</xsl:attribute>
</xsl:element>
<br/>&#160;&#160;&#160;<xsl:value-of select="FCLT_F_IDENTIFICATIE"/><br/>
&#160;&#160;&#160;<sub><xsl:value-of select="ALG_GEBOUW_CODE"/> - <xsl:value-of select="ALG_VERDIEPING_CODE"/></sub>
</td>
</xsl:template>
<xsl:template name="qrc_ins_new_page">
<xsl:param name="p_page"/>
<xsl:param name="p_rows"/>
<xsl:param name="p_cols"/>
<table cellpadding="0" cellspacing="0" style="margin:0 0 0 2mm; padding:0">
<tr>
<td style="height: 1.7cm; width 4.5cm">&#160;</td>
<td style="height: 1.7cm; width 5.5cm">&#160;</td>
<td style="height: 1.7cm; width 4.5cm">&#160;</td>
<td style="height: 1.7cm; width 5.5cm">&#160;</td>
</tr>
<xsl:for-each select="//facilitor/rapport/rapport_data/data_row">
<xsl:sort select="FCLT_F_IDENTIFICATIE"/>
<xsl:if test="position() &gt;= (($p_page - 1)*($p_rows*$p_cols)+1) and position() &lt;= ($p_page*($p_rows*$p_cols))">
<xsl:if test="(position() mod $p_cols) = 0">
<xsl:comment>=== Na elke 1 records (1x1 passen op 1 regel) =====</xsl:comment>
<xsl:call-template name="qrc_ins_new_tr">
<xsl:with-param name="p_pos" select="position() - $p_cols + 1"/>
<xsl:with-param name="p_cols" select="$p_cols"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="(position() = last()) and (position() mod $p_cols) != 0">
<xsl:comment>=== Na elke 1 records (1x1 passen op 1 regel) =====</xsl:comment>
<xsl:call-template name="qrc_ins_new_tr">
<xsl:with-param name="p_pos" select="floor(position() div $p_cols) * $p_cols + 1"/>
<xsl:with-param name="p_cols" select="$p_cols"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="MaxRuimteCols">
<xsl:param name="p_groepnr"/>
@@ -2293,42 +2375,6 @@ Amsterdam RAI
</xsl:template>
<xsl:template name="qrc_ins_new_page">
<xsl:param name="p_page"/>
<xsl:param name="p_rows"/>
<xsl:param name="p_cols"/>
<table>
<xsl:for-each select="//facilitor/rapport/rapport_data/data_row">
<xsl:sort select="FCLT_F_GEBOUW"/>
<xsl:sort select="PLAATS"/>
<xsl:if test="position() &gt;= (($p_page - 1)*($p_rows*$p_cols)+1) and position() &lt;= ($p_page*($p_rows*$p_cols))">
<xsl:if test="(position() mod $p_cols) = 0">
<xsl:comment>=== Na elke 1 records (1x1 passen op 1 regel) =====</xsl:comment>
<xsl:call-template name="qrc_ins_new_tr">
<xsl:with-param name="p_pos" select="position() - $p_cols + 1"/>
<xsl:with-param name="p_cols" select="$p_cols"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="(position() = last()) and (position() mod $p_cols) != 0">
<xsl:comment>=== Na elke 1 records (1x1 passen op 1 regel) =====</xsl:comment>
<xsl:call-template name="qrc_ins_new_tr">
<xsl:with-param name="p_pos" select="floor(position() div $p_cols) * $p_cols + 1"/>
<xsl:with-param name="p_cols" select="$p_cols"/>
</xsl:call-template>
</xsl:if>
</xsl:if>
</xsl:for-each>
</table>
</xsl:template>
<xsl:template name="qrc_ins_new_tr">
<xsl:param name="p_pos"/>
<xsl:param name="p_cols"/>
@@ -2409,6 +2455,7 @@ Amsterdam RAI
</xsl:attribute>
<span style="font-size:10pt;"><xsl:value-of select="$p_value_prefix"/><xsl:value-of select="$p_value"/><xsl:value-of select="$p_value_postfix"/></span>
</xsl:element>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,12 @@
@echo off
REM tasks/rap_tabelizer.bat
REM Moet gescheduled worden (typisch 1 keer per nacht)
REM Indien er zware rapportages zijn aangeduid als tabeliseerbaar
REM
REM Voorwaarde: user van oracle.udl heeft create table rechten! (anders ORA-1031)
date /t >>rap_tabelizer.log
time /t >>rap_tabelizer.log
cscript ..\..\..\utils\rap_tabelizer\rap_tabelizer.js ../oracle.udl>>rap_tabelizer.log
echo Done: >>rap_tabelizer.log
date /t >>rap_tabelizer.log
time /t >>rap_tabelizer.log

View File

@@ -0,0 +1,129 @@
// GetStruktonStatus.js
// Haalt statuswijzigingen op van Strukton opdrachten binnen een opgegeven tijdsinterval.
// Dit interval wordt opgeslagen in de database. Kan daarna via GEN_IMPORT ingelezen worden
//
// $Revision$
// $Id$
//
// Opzet in kader van AAXX door AEG
// Twee parameters: UDL voor database connectie en optioneel proxy-ip
var str = WScript.Arguments(0); // udlpath
var prs_bedrijf_key = WScript.Arguments(1); // prs_bedrijf_key
function GetStruktonStatus()
{
var XMLReq= "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">"
+" <soapenv:Header/>"
+" <soapenv:Body>"
+" <GetServiceRequestStatus>"
+" <Status>"
+" <CustomerID>" + prs_overeenkomst_nr + "</CustomerID>"
+" <ReferenceID></ReferenceID>"
+" <ServiceRequestID></ServiceRequestID>"
+" <BeginDateTime>"+ laatste_sync +"</BeginDateTime>"
+" <EndDateTime>"+ nieuwe_sync +"</EndDateTime>"
+" </Status>"
+" </GetServiceRequestStatus>"
+" </soapenv:Body>"
+"</soapenv:Envelope>";
WScript.Echo("Bericht = " + XMLReq);
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0")
var SXH_OPTION_SELECT_CLIENT_SSL_CERT = 3;
/* objXMLHTTP.open("POST",
"https://b2bdev.ws.strukton.com:443/XISOAPAdapter/MessageServlet?channel=Facilitor:BS_ServiceRequest:S_WS_STATUS",
false,
"Facilitor",
"Facilit0r!"); */
objXMLHTTP.open("POST",
mldorder_adres,
false,
uname,
pword);
objXMLHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
objXMLHTTP.setOption(SXH_OPTION_SELECT_CLIENT_SSL_CERT) = order_certificate;
objXMLHTTP.send(XMLReq);
dataReceived = false;
if (objXMLHTTP.status==200)
{ // Geldigheid XML wordt gecontroleerd door GEN_IMPORT
WScript.Echo("Gelukt, status = " + objXMLHTTP.status);
responseText = "" + objXMLHTTP.responseText;
//WScript.Echo("resultaat = " + resultaat.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>"));
//if resultaat.substr("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>")
if (responseText.indexOf("<ErrorLog><Note>Resultaatset bevat geen records</Note></ErrorLog>") == -1) {
dataReceived = true;
oStream = new ActiveXObject("ADODB.Stream");
oStream.Open();
oStream.Type = 1; // adTypeBinary
oStream.Write(objXMLHTTP.responseBody); // responseText geeft encoding problemen!
oStream.SaveToFile (fileName, 2); // adSaveCreateOverWrite
oStream.Close();
}
sql = "UPDATE prs_kenmerklink SET prs_kenmerklink_waarde = '" + nieuwe_ts + "' WHERE prs_kenmerklink_key = " + prs_kenmerklink_key;
WScript.Echo (sql);
Oracle.Execute(sql);
}
else
{
WScript.Echo("Mislukt, status = " + objXMLHTTP.status);
WScript.Echo(objXMLHTTP.statusText);
}
return dataReceived;
}
var udlstr = 'File Name='+str;
var Oracle = new ActiveXObject("ADODB.Connection");
Oracle.Open(udlstr);
var sql = "ALTER SESSION SET nls_territory='AMERICA'";
Oracle.Execute(sql)
sql = "SELECT b.prs_bedrijf_naam, "
+ " ba.prs_bedrijfadres_url, "
+ " ba.prs_bedrijfadres_certificate, "
+ " ba.prs_bedrijfadres_username, "
+ " ba.prs_bedrijfadres_password, "
+ " b.prs_overeenkomst_nr, "
+ " decode (kl.prs_kenmerklink_waarde, null, null, to_char(to_date(kl.prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd')||'T'||to_char(to_date(kl.prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'hh24:mi:ss')) laatste_sync, "
+ " to_char(sysdate - (1/96), 'yyyy-mm-dd') || 'T' || to_char(sysdate - (1/96), 'hh24:mi:ss') nieuwe_sync, "
+ " to_char(sysdate - (1/96), 'yyyy-mm-dd hh24:mi:ss') nieuwe_ts, "
+ " kl.prs_kenmerklink_key"
+ " FROM prs_bedrijf b, prs_bedrijfadres ba, prs_kenmerklink kl"
+ " WHERE b.prs_bedrijf_key = " + prs_bedrijf_key
+ " AND b.prs_bedrijf_key = ba.prs_bedrijf_key"
+ " AND ba.prs_bedrijfadres_type = 'O'"
+ " AND ba.mld_typeopdr_key = 5"
+ " AND b.prs_bedrijf_key = kl.prs_link_key"
+ " AND kl.prs_kenmerk_key = 1080"; // Tijdstip laatste synchronisatie
WScript.Echo (sql);
WScript.Echo(new Date());
try
{
var oRs = Oracle.Execute(sql);
var fileName = "strukton.xml";
mldorder_adres = "" + oRs("prs_bedrijfadres_url").Value;
mldorder_adres = mldorder_adres.replace("CREATE", "STATUS");
order_certificate = "" + oRs("prs_bedrijfadres_certificate").Value;
uname = "" + oRs("prs_bedrijfadres_username").Value;
pword = "" + oRs("prs_bedrijfadres_password").Value;
laatste_sync = oRs("laatste_sync").Value;
nieuwe_sync = oRs("nieuwe_sync").Value;
nieuwe_ts = oRs("nieuwe_ts").Value;
prs_leverancier_nr = oRs("prs_overeenkomst_nr").Value;
prs_kenmerklink_key = oRs("prs_kenmerklink_key").Value;
WScript.Echo("Inlezen statusberichten van bedrijf: " + oRs("prs_bedrijf_naam").Value + " via url: " + mldorder_adres);
oRs.close();
if (GetStruktonStatus()) WScript.Quit(0);
else WScript.Quit(1);
}
catch (e)
{
WScript.Echo("Serieuze fout in GetStruktonStatus.js: " + e.description);
WScript.Quit(1);
}

View File

@@ -0,0 +1,11 @@
Echo Ophalen status/voortgang Strukton Worksphere
cscript GetStruktonStatus.js ../oracle.udl 188 >>gen_import.log
if errorlevel 1 goto fout
cscript ..\..\..\utils\gen_import\gen_import.wsf BLCC OPDRSTAT_STRUKTON >>gen_import.log 2>>&1
goto einde
:fout
Echo gen_import.exe niet meer uitgevoerd>>gen_import.log
:einde

View File

@@ -0,0 +1,50 @@
<?xml version="1.0" encoding="Windows-1252"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>
<xsl:template name="escape_quote">
<xsl:param name="string"/>
<xsl:choose>
<xsl:when test="contains($string, '&quot;')">
<xsl:value-of select="substring-before($string, '&quot;')"/>&quot;&quot;<xsl:call-template name="escape_quote">
<xsl:with-param name="string" select="substring-after($string, '&quot;')"/></xsl:call-template></xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="linebreaks">
<xsl:param name="string"/>
<xsl:choose>
<xsl:when test="contains($string, '&#xA;')">
<xsl:value-of select="substring-before($string, '&#xA;')"/>@@<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="substring-after($string, '&#xA;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$string"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="/">referenceID;ServiceRequestID;TypeID;DateTime;Description;Remarks;Total
<xsl:for-each select="//Status">
<xsl:variable name="costinfo"><xsl:if test="TypeID='40'">@@Bruto: <20> <xsl:value-of select="format-number(CostCalculation/Total - CostCalculation/MaintenanceClause, '0,00', 'european')"/>@@Clausule: <20> <xsl:value-of select="format-number(CostCalculation/MaintenanceClause, '0,00', 'european')"/>@@Totaal: <20> <xsl:value-of select="format-number(CostCalculation/Total, '0,00', 'european')"/></xsl:if></xsl:variable>
<xsl:variable name="costs"><xsl:if test="TypeID='40'"><xsl:value-of select="CostCalculation/Total"/></xsl:if></xsl:variable>
<xsl:variable name="remarks_unquote"><xsl:call-template name="escape_quote"><xsl:with-param name="string" select="substring(Remarks,1,800)"/></xsl:call-template></xsl:variable>
<xsl:variable name="remarks_uncr">&quot;<xsl:call-template name="linebreaks"><xsl:with-param name="string" select="$remarks_unquote"/></xsl:call-template><xsl:value-of select="$costinfo"/>&quot;</xsl:variable>
<xsl:variable name="new_line" select="'&#xA;'"/>
<xsl:variable name="referenceID"><xsl:value-of select="ReferenceID"/></xsl:variable>
<xsl:variable name="serviceRequestID"><xsl:value-of select="ServiceRequestID"/></xsl:variable>
<xsl:variable name="typeID"><xsl:value-of select="TypeID"/></xsl:variable>
<xsl:variable name="dateTime"><xsl:value-of select="DateTime"/></xsl:variable>
<xsl:variable name="description"><xsl:value-of select="Description"/></xsl:variable>
<xsl:value-of select="$referenceID"/>;<xsl:value-of select="$serviceRequestID"/>;<xsl:value-of select="$typeID"/>;<xsl:value-of select="$dateTime"/>;<xsl:value-of select="$description"/>;<xsl:value-of select="$remarks_uncr"/>;<xsl:value-of select="$costs"/><xsl:value-of select="$new_line"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

216
CUST/BLCC/xsl/strukton.xsl Normal file
View File

@@ -0,0 +1,216 @@
<?xml version='1.0' encoding='utf-8'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap xsd xsi">
<xsl:output method="xml" encoding="utf-8"/>
<xsl:decimal-format name="european" decimal-separator="." grouping-separator=","/>
<xsl:param name="mode"/>
<!-- Maken 'bon' (XML) -->
<xsl:template match="opdracht">
<xsl:variable name="prioriteit">
<xsl:choose>
<xsl:when test="melding/spoed=1">Calamiteit</xsl:when>
<xsl:when test="melding/spoed=2">Hoog</xsl:when>
<xsl:when test="melding/spoed=3">Normaal</xsl:when>
<xsl:when test="melding/spoed=4">Laag</xsl:when>
<xsl:when test="melding/spoed=5">Hold</xsl:when>
<xsl:otherwise>Onbekend</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="ServiceRequestCreate">
<xsl:element name="ServiceRequest">
<!--xsl:element name="CustomerID"><xsl:value-of select="uitvoerende/bedrijf/leverancier_nr"/></xsl:element-->
<xsl:element name="CustomerID"><xsl:value-of select="uitvoerende/bedrijf/overeenkomst_nr"/></xsl:element>
<xsl:element name="ReferenceID">
<xsl:value-of select="concat(melding/discipline/srtdiscipline/prefix, melding/key)"/>/<xsl:value-of select="bedrijfopdr_volgnr"/>
</xsl:element>
<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>
<!--5=Docket-->
<xsl:when test="opdrachttype/key='5'">2</xsl:when>
<!--101=Workorder-->
<!--xsl:when test="opdrachttype/key='101'">2</xsl:when-->
<!--102=Splitorder-->
<xsl:when test="opdrachttype/key='102'">4</xsl:when>
<!--103=RFQ-->
<xsl:when test="opdrachttype/key='103'">3</xsl:when>
<!--Bij correcte inrichting 101=Workorder hier enige mogelijkheid!-->
<!--xsl:otherwise>
<xsl:choose>
<xsl:when test="melding/discipline/srtdiscipline/prefix='S'">2</xsl:when>
<xsl:otherwise>5</xsl:otherwise>
</xsl:choose>
</xsl:otherwise-->
<xsl:otherwise>2</xsl:otherwise>
</xsl:choose>
</xsl:element>
<xsl:element name="RequestedProcessingPeriod">
<xsl:element name="EndDateTime">
<xsl:value-of select="einddatum/jaar"/>-<xsl:value-of select="einddatum/maand"/>-<xsl:value-of select="einddatum/maand"/>T<xsl:value-of select="einddatum/tijd"/>:00</xsl:element>
<xsl:element name="EscalationToOperator">false</xsl:element>
</xsl:element>
<xsl:element name="IssueCategoryID">
<xsl:value-of select="melding/discipline/key"/>
</xsl:element>
<xsl:element name="IssueCategory">
<xsl:value-of select="melding/discipline/omschrijving"/>
</xsl:element>
<xsl:element name="IssueSubCategoryID">
<xsl:value-of select="melding/stdmelding/key"/>
</xsl:element>
<xsl:element name="IssueSubCategory">
<xsl:value-of select="melding/stdmelding/omschrijving"/>
</xsl:element>
<xsl:element name="Description">
<xsl:value-of select="omschrijving"/>
</xsl:element>
<xsl:element name="Monitoring">
<xsl:element name="StartDateTime">
<xsl:for-each select="tracking/track">
<xsl:sort select="datum/timestamp" order="ascending"/>
<xsl:if test="position()=1">
<xsl:value-of select="datum/jaar"/>-<xsl:value-of select="datum/maand"/>-<xsl:value-of select="datum/dag"/>T<xsl:value-of select="datum/tijd"/>:00
</xsl:if>
</xsl:for-each>
</xsl:element>
<xsl:element name="EndDateTime">
<xsl:value-of select="einddatum/jaar"/>-<xsl:value-of select="einddatum/maand"/>-<xsl:value-of select="einddatum/dag"/>T<xsl:value-of select="einddatum/tijd"/>:00</xsl:element>
<xsl:element name="Urgency">
<xsl:value-of select="$prioriteit"/><xsl:if test="$prioriteit != 'Calamiteit'">: <xsl:value-of select="dagen"/> dagen</xsl:if>
</xsl:element>
</xsl:element>
<xsl:element name="Requester">
<xsl:element name="Name">
<xsl:element name="FirstLineName">
<xsl:value-of select="melding/voor/naam_full"/>
</xsl:element>
</xsl:element>
<xsl:element name="Communication">
<xsl:element name="Telephone">
<xsl:value-of select="melding/voor/telefoonnr"/>
</xsl:element>
<xsl:element name="Email">
<xsl:value-of select="melding/voor/email"/>
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:element name="CustomerCoordinator">
<xsl:element name="Name">
<xsl:element name="FirstLineName">
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/verantwoordelijke/naam_full"/>
</xsl:element>
</xsl:element>
<xsl:element name="Communication">
<xsl:element name="Telephone">
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/verantwoordelijke/mobiel"/>
<xsl:if test="not(melding/plaats/regio/district/locatie/gebouw/verantwoordelijke/mobiel)">
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/verantwoordelijke/telefoonnr"/>
</xsl:if>
</xsl:element>
<xsl:element name="Email">
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/verantwoordelijke/email"/>
</xsl:element>
</xsl:element>
</xsl:element>
<xsl:variable name="struktoncode">
<xsl:choose>
<xsl:when test="melding/plaats/regio/district/locatie/terreinsector/kenmerk[@key=1021]!=''">
<xsl:value-of select="melding/plaats/regio/district/locatie/terreinsector/kenmerk[@key=1021]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/kenmerk[@key=1020]"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="ServiceLocation">
<xsl:element name="LocationID">
<xsl:value-of select="$struktoncode"/>
</xsl:element>
<xsl:element name="Location">
<xsl:value-of select="melding/plaats/plaatsaanduiding"/>
</xsl:element>
<xsl:element name="Address">
<xsl:element name="StreetName">
<xsl:choose>
<xsl:when test="melding/plaats/regio/district/locatie/terreinsector/key!=''">
<xsl:value-of select="melding/plaats/regio/district/locatie/terreinsector/kenmerk[@key=1]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_adres"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
<xsl:element name="StreetPostalCode">
<xsl:if test="$struktoncode!=''">
<xsl:choose>
<xsl:when test="melding/plaats/regio/district/locatie/terreinsector/key!=''">
<xsl:value-of select="melding/plaats/regio/district/locatie/terreinsector/kenmerk[@key=1]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_postcode"/>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
</xsl:element>
<xsl:element name="CityName">
<xsl:choose>
<xsl:when test="melding/plaats/regio/district/locatie/terreinsector/key!=''">
<xsl:value-of select="melding/plaats/regio/district/locatie/terreinsector/kenmerk[@key=1]"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="melding/plaats/regio/district/locatie/gebouw/afleveradres/bezoek_plaats"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:template>
<!-- Maken 'bon' (XML) -->
<xsl:template match="facilitor">
<xsl:apply-templates select="opdracht"/>
</xsl:template>
<!-- Inpakken 'bon' in SOAP envelope -->
<xsl:template match="SOAPEnvelope">
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<xsl:copy-of select="./node()"/>
</soap:Body>
</soap:Envelope>
</xsl:template>
<!-- Uitpakken SOAP envelope -->
<xsl:template match="soap:Envelope">
<soapResult>
<xsl:copy-of select="soap:Body/node()"/>
</soapResult>
</xsl:template>
<!-- Decoderen XML response -->
<xsl:template match="ServiceRequestStatus">
<Result>
<xsl:value-of select="ErrorLog/TypeID"/>
</Result>
</xsl:template>
<!-- Root -->
<xsl:template match="/">
<xsl:choose>
<xsl:when test="$mode='getExtension'">
<xsl:element name="format">
<!-- Hotelselect gebruikt geen cXML, maar SendFile.cls verwacht wel deze parameter om een XML response in te lezen -->
<xsl:element name="extension">xml</xsl:element>
</xsl:element>
</xsl:when>
<xsl:otherwise><!-- door SendFile.cls gebruikt voor maken 'bon' (XML die via SOAP verstuurd wordt) -->
<xsl:apply-templates select="facilitor"/><!-- door SendSOAP.cls gebruikt voor inpakken van 'bon' in SOAP envelope -->
<xsl:apply-templates select="SOAPEnvelope"/><!-- door SendSOAP.cls gebruikt voor uitpakken van response uit SOAP envelope -->
<xsl:apply-templates select="soap:Envelope"/><!-- door SendFile.cls gebruikt voor lezen van status uit gefaalde response (NB: <soapResult> is al door de decode gestript) -->
<xsl:apply-templates select="ServiceRequestStatus"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

View File

@@ -9,43 +9,6 @@
background-position: 0px 0px;
}
div.fcltframeheader {
background-color: #008738;
background-image: none;
color: white;
}
#showbody .fcltblockhead {
background-color: #99ce15;
color: #000;
}
/* Kaders om invulvelden */
#editbody .fcltblockhead {
background-color: #99ce15;
color: #000;
}
#iframerextratitle {
color: #99ce15;
}
#editbody .fcltblock {
background-color:#FAFAFA;
}
#editbody .fcltblockhead {
background-color:#D0D0D0;
}
input[readOnly], select[readOnly], textarea[readOnly] {
background-color: #F0F0F0;
}
input[readOnly]:hover, select[readOnly]:hover, textarea[readOnly]:hover {
background-color: #F8F8F8;
}
input[type=checkbox], input[type=radio]{
background-color: #F0F0F0;
#buttons.vertical ul li:hover {
color: #000!important;
}

View File

@@ -374,5 +374,120 @@ ICT Helpdesk<br/><br/><br/><br/>
</table>
</xsl:template>
<xsl:template match="rapport">
<style>
th.res {
background-color: #fff;
color: #000;
font-family: Arial;
font-size: 10pt;
font-weight: bold;
border-bottom: 1px solid #000;
border-left-color: #fff;
border-right-color: #fff;
padding-bottom: 3px;
}
td.res {
font-family: Arial;
font-size: 10pt;
border: none;
padding-bottom: 3px;
}
tr.res:nth-child(even) {
background-color: #F1F1F1 !important;
-webkit-print-color-adjust: exact;
}
.rstable {
border-bottom: 1px solid #000;
}
</style>
<xsl:if test="@view='GRKL_V_RES_DAGLIJST'">
<html>
<body>
<xsl:if test="$mode='print'">
<table>
<tr>
<td>
<xsl:element name="img">
<xsl:attribute name="width">60%</xsl:attribute>
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/banner.png</xsl:attribute>
</xsl:element>
</td>
</tr>
<tr height="20px"><td/></tr>
</table>
</xsl:if>
<table class="rstable sortable" cellpadding="1">
<xsl:if test="count(rapport_data/data_row)=0">
<tr><td><center><b>Geen gegevens gevonden</b></center></td></tr>
</xsl:if>
<xsl:variable name="sorted">
<xsl:for-each select="rapport_data/data_row">
<xsl:sort select="FCLT_F_DATUM"/>
<xsl:sort select="VAN"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:variable>
<xsl:for-each select="msxml:node-set($sorted)/data_row">
<xsl:if test="position()=1">
<tr>
<th class="res" style="width:7%;text-align:left;">Res.nr</th>
<th class="res" style="width:9%;text-align:left;">Ruimte</th>
<th class="res" style="width:7%;text-align:center;">Datum</th>
<th class="res" style="width:6%;text-align:center;">Van</th>
<th class="res" style="width:6%;text-align:center;">Tot</th>
<th class="res" style="width:9%;text-align:left;">Activiteit</th>
<th class="res" style="width:12%;text-align:left;">Omschrijving</th>
<th class="res" style="width:10%;text-align:left;">Gasthr/vr</th>
<th class="res" style="width:5%;text-align:center;">#pers</th>
<th class="res" style="width:9%;text-align:left;">Opstelling</th>
<th class="res" style="width:17%;text-align:left;">Voorziening</th>
</tr>
</xsl:if>
<tr class="res">
<td class="res" style="text-align:left;">
<xsl:value-of select="RESNR"/>
</td>
<td class="res" style="text-align:left;">
<xsl:value-of select="FCLT_F_RUIMTE"/>
</td>
<td class="res" style="text-align:center;">
<xsl:value-of select="FCLT_F_DATUM"/>
</td>
<td class="res" style="text-align:center;">
<xsl:value-of select="VAN"/>
</td>
<td class="res" style="text-align:center;">
<xsl:value-of select="TOT"/>
</td>
<td class="res" style="text-align:left;">
<xsl:value-of select="ACTIVITEIT"/>
</td>
<td class="res" style="text-align:left;">
<xsl:value-of select="OMSCHRIJVING"/>
</td>
<td class="res" style="text-align:left;">
<xsl:value-of select="GASTHEER_VROUW"/>
</td>
<td class="res" style="text-align:center;">
<xsl:value-of select="AANTAL_PERS"/>
</td>
<td class="res" style="text-align:left;">
<xsl:value-of select="OPSTELLING"/>
</td>
<td class="res" style="text-align:left;">
<xsl:call-template name="linebreaks"><xsl:with-param name="string" select="VOORZIENING"/></xsl:call-template>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. -->

View File

@@ -166,13 +166,7 @@ as defined in our General Terms and Conditions.<br/>
</xsl:attribute><b><xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/></b>
</xsl:element>
</td>
</tr>
<xsl:if test="onderwerp != ''">
<tr>
<td align="right" width="16%"><b>Onderwerp:</b></td>
<td align="left"><b><xsl:value-of select="onderwerp"/></b></td>
</tr>
</xsl:if>
</tr>
<tr>
<td align="right" width="16%">
<b>Datum:</b>
@@ -284,9 +278,18 @@ as defined in our General Terms and Conditions.<br/>
<td align="left">
<xsl:value-of select="uitvoertijd"/><xsl:choose><xsl:when test="uitvoertijd[@eenheid='U']">&#160;<xsl:value-of select="//lcl/MLD/uren"/></xsl:when><xsl:otherwise>&#160;<xsl:value-of select="//lcl/FAC/dagen"/></xsl:otherwise></xsl:choose>&#xA0;(<xsl:value-of select="datum_gepland/datum"/>)</td>
</tr>
<tr height="30px">
<tr height="20px">
<td colspan="3"/>
</tr>
</tr>
<xsl:if test="onderwerp != ''">
<tr>
<td align="right" width="16%"><b>Onderwerp:</b></td>
<td align="left"><xsl:value-of select="onderwerp"/></td>
</tr>
<tr height="10px">
<td colspan="3"/>
</tr>
</xsl:if>
<tr>
<td align="left" colspan="3">
<xsl:call-template name="linebreaks">

View File

@@ -52,7 +52,7 @@ function GetStruktonStatus()
responseText = "" + objXMLHTTP.responseText;
//WScript.Echo("resultaat = " + resultaat.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>"));
//if resultaat.substr("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>")
if (responseText.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>") == -1) {
if (responseText.indexOf("<ErrorLog><Note>Resultaatset bevat geen records</Note></ErrorLog>") == -1) {
dataReceived = true;
oStream = new ActiveXObject("ADODB.Stream");
oStream.Open();
@@ -85,8 +85,7 @@ sql = "SELECT b.prs_bedrijf_naam, "
+ " ba.prs_bedrijfadres_certificate, "
+ " ba.prs_bedrijfadres_username, "
+ " ba.prs_bedrijfadres_password, "
// + " b.prs_overeenkomst_nr, " // door AAXX gebruikt
// + " b.prs_leverancier_nr, " // door KFNS gebruikt
// + " b.prs_leverancier_nr, " // door KFNS/VENR gebruikt
+ " kl1.prs_kenmerklink_waarde customerid, "
+ " decode (kl2.prs_kenmerklink_waarde, null, null, to_char(to_date(kl2.prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd')||'T'||to_char(to_date(kl2.prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'hh24:mi:ss')) laatste_sync, "
+ " to_char(sysdate - (1/96), 'yyyy-mm-dd') || 'T' || to_char(sysdate - (1/96), 'hh24:mi:ss') nieuwe_sync, "
@@ -118,7 +117,6 @@ try
laatste_sync = oRs("laatste_sync").Value;
nieuwe_sync = oRs("nieuwe_sync").Value;
nieuwe_ts = oRs("nieuwe_ts").Value;
// prs_overeenkomst_nr = oRs("prs_overeenkomst_nr").Value;
// prs_leverancier_nr = oRs("prs_leverancier_nr").Value;
customerid = oRs("customerid").Value;
prs_kenmerklink_key = oRs("prs_kenmerklink_key").Value;

View File

@@ -52,7 +52,7 @@ function GetStruktonStatus()
responseText = "" + objXMLHTTP.responseText;
//WScript.Echo("resultaat = " + resultaat.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>"));
//if resultaat.substr("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>")
if (responseText.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>") == -1) {
if (responseText.indexOf("<ErrorLog><Note>Resultaatset bevat geen records</Note></ErrorLog>") == -1) {
dataReceived = true;
oStream = new ActiveXObject("ADODB.Stream");
oStream.Open();
@@ -85,19 +85,18 @@ sql = "SELECT b.prs_bedrijf_naam, "
+ " ba.prs_bedrijfadres_certificate, "
+ " ba.prs_bedrijfadres_username, "
+ " ba.prs_bedrijfadres_password, "
+ " b.prs_leverancier_nr, " // door VENR gebruikt
+ " b.prs_overeenkomst_nr, " // door AAXX gebruikt
+ " decode ( prs_kenmerklink_waarde, null, null, to_char(to_date(prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd')||'T'||to_char(to_date(prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'hh24:mi:ss')) laatste_sync,"
+ " b.prs_leverancier_nr, "
+ " decode (kl.prs_kenmerklink_waarde, null, null, to_char(to_date(kl.prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd')||'T'||to_char(to_date(kl.prs_kenmerklink_waarde, 'yyyy-mm-dd hh24:mi:ss'), 'hh24:mi:ss')) laatste_sync, "
+ " to_char(sysdate - (1/96), 'yyyy-mm-dd') || 'T' || to_char(sysdate - (1/96), 'hh24:mi:ss') nieuwe_sync, "
+ " to_char(sysdate - (1/96), 'yyyy-mm-dd hh24:mi:ss') nieuwe_ts,"
+ " prs_kenmerklink_key"
+ " FROM prs_bedrijf b, prs_kenmerklink kl, prs_bedrijfadres ba"
+ " to_char(sysdate - (1/96), 'yyyy-mm-dd hh24:mi:ss') nieuwe_ts, "
+ " kl.prs_kenmerklink_key"
+ " FROM prs_bedrijf b, prs_bedrijfadres ba, prs_kenmerklink kl"
+ " WHERE b.prs_bedrijf_key = " + prs_bedrijf_key
+ " AND b.prs_bedrijf_key = ba.prs_bedrijf_key"
+ " AND b.prs_bedrijf_key = kl.prs_link_key"
+ " AND ba.prs_bedrijfadres_type = 'O'"
+ " AND ba.mld_typeopdr_key = 281"
+ " AND prs_kenmerk_key = 1020"; // timestamp laatste synchronisatie yyyymmdd hh24mi
+ " AND b.prs_bedrijf_key = kl.prs_link_key"
+ " AND kl.prs_kenmerk_key = 1020"; // Tijdstip laatste synchronisatie
WScript.Echo (sql);
@@ -116,7 +115,6 @@ try
nieuwe_sync = oRs("nieuwe_sync").Value;
nieuwe_ts = oRs("nieuwe_ts").Value;
prs_leverancier_nr = oRs("prs_leverancier_nr").Value;
prs_overeenkomst_nr = oRs("prs_overeenkomst_nr").Value;
prs_kenmerklink_key = oRs("prs_kenmerklink_key").Value;
WScript.Echo("Inlezen statusberichten van bedrijf: " + oRs("prs_bedrijf_naam").Value + " via url: " + mldorder_adres);
oRs.close();

View File

@@ -0,0 +1,62 @@
<html>
<head>
<script type="text/javascript">
function doSubmit()
{
var http_request = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
SXH_PROXY_SET_PROXY = 2
//http_request.setProxy(SXH_PROXY_SET_PROXY, "127.0.0.1:8888"); // Fiddler
var url = document.getElementById("url").value;
http_request.open("POST", url, false);
var body = document.getElementById("xml").value;
http_request.setRequestHeader("Content-Type", "text/xml; charset=utf-8")
http_request.send(body);
document.getElementById("Status").innerText = http_request.status;
document.getElementById("StatusText").innerText = http_request.statusText;
document.getElementById("Result").innerText = http_request.responseText;
}
</script>
</head>
<body style='background-color:#c0c0c0'>
<form method="post"
target="uitvoer">
<input id="url" type="text" style="width:800px"
value="https://marx-a.mareon.nl/?API=XXX&APIKEY=YYY">
<br/>
Vul hieronder de XML in die gepost gaat worden, zoals b.v.:
<br/>
<textarea id="xml" style="height:400px;width:800px">
<?xml version="1.0" encoding="utf-8"?>
<MaintenanceStatus>
<MessageNumber>143</MessageNumber>
<MessageDate>2016-10-20</MessageDate>
<MessageTime>13:07:30</MessageTime>
<InstructionData>
<InstructionNumber>MARxxx/y</InstructionNumber>
<Status>GER</Status>
<StatusDescription>Gereedmelding</StatusDescription>
<DateReady>2016-10-20</DateReady>
<AppointmentDateTimeInformation>
<RequiredDeliveryDate>2016-10-18</RequiredDeliveryDate>
<RequiredDeliveryTime>00:00:00</RequiredDeliveryTime>
<DeliveryTimeFrame>
<DeliveryDateEarliest>2016-10-01</DeliveryDateEarliest>
<DeliveryTimeEarliest>00:00:00</DeliveryTimeEarliest>
<DeliveryDateLatest>2016-10-30</DeliveryDateLatest>
<DeliveryTimeLatest>00:00:00</DeliveryTimeLatest>
</DeliveryTimeFrame>
</AppointmentDateTimeInformation>
</InstructionData>
</MaintenanceStatus>
</textarea>
<input type="button" onclick="doSubmit()" value="Verstuur">
</form>
<table>
<tr><td>Status:</td><td><span id="Status"></span></td>
<tr><td>StatusText:</td><td><span id="StatusText"></span></td>
<tr><td>Result:</td><td style='border:1px solid blue;font-size:0.8em;'><xmp id="Result"></xmp></td>
</table>
</body>
</html>

View File

@@ -1,113 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxml="urn:schemas-microsoft-com:xslt">
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
<xsl:param name="mode"/>
<xsl:param name="srtnotificatiecode"/>
<xsl:param name="mode"/>
<xsl:param name="srtnotificatiecode"/>
<xsl:variable name="Rev">
<!-- Revision van deze fame.xsl -->
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
</xsl:variable>
<xsl:variable name="Rev">
<!-- Revision van deze fame.xsl -->
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
</xsl:variable>
<xsl:template match="melding">
<fame>
<inlognaam>wOEuLCq22K0=</inlognaam>
<wachtwoord>Ds+DteZG1pKQyCYQpAcYEg==</wachtwoord>
<xsl:choose>
<xsl:when test="$srtnotificatiecode='MLDAFM' or status_key='5'">
<meldingenummer action="finish">
<xsl:value-of select="externnr"/>
</meldingenummer>
<prognosedatum>
<xsl:value-of select="datum_gepland/datum"/>
</prognosedatum>
<prognosetijd>
<xsl:value-of select="datum_gepland/tijd"/>
</prognosetijd>
<startdatum>
<xsl:value-of select="begindatum/datum"/>
</startdatum>
<starttijd>
<xsl:value-of select="begindatum/tijd"/>
</starttijd>
<einddatum>
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/datum"/>
</einddatum>
<eindtijd>
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/tijd"/>
</eindtijd>
<urenaantal></urenaantal>
<kosten></kosten>
<datumgereed>
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/datum"/>
</datumgereed>
<tijdgereed>
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/tijd"/>
</tijdgereed>
<aantekeningen>
<xsl:value-of select="opmerking"/>
</aantekeningen>
</xsl:when>
<xsl:when test="$srtnotificatiecode='MLDREJ' or status_key='1'">
<meldingenummer action="finish">
<xsl:value-of select="externnr"/>
</meldingenummer>
<prognosedatum>
<xsl:value-of select="datum_gepland/datum"/>
</prognosedatum>
<prognosetijd>
<xsl:value-of select="datum_gepland/tijd"/>
</prognosetijd>
<startdatum>
<xsl:value-of select="begindatum/datum"/>
</startdatum>
<starttijd>
<xsl:value-of select="begindatum/tijd"/>
</starttijd>
<einddatum>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/datum"/>
</einddatum>
<eindtijd>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/tijd"/>
</eindtijd>
<urenaantal></urenaantal>
<kosten></kosten>
<datumgereed>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/datum"/>
</datumgereed>
<tijdgereed>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/tijd"/>
</tijdgereed>
<aantekeningen>
Melding afgewezen!
<xsl:value-of select="opmerking"/>
</aantekeningen>
</xsl:when>
<xsl:otherwise>
<meldingenummer action="update">
<xsl:value-of select="externnr"/>
</meldingenummer>
<prognosedatum>
<xsl:value-of select="datum_gepland/datum"/>
</prognosedatum>
<prognosetijd>
<xsl:value-of select="datum_gepland/tijd"/>
</prognosetijd>
<aantekeningen>
<xsl:value-of select="opmerking"/>
</aantekeningen>
</xsl:otherwise>
</xsl:choose>
</fame>
</xsl:template>
<xsl:template match="melding">
<xsl:variable name="maxtrack">
<xsl:for-each select="tracking/track/datum">
<xsl:sort select="timestamp" data-type="number" order="descending"/>
<xsl:if test="position()=1">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<fame>
<inlognaam>wOEuLCq22K0=</inlognaam>
<wachtwoord>Ds+DteZG1pKQyCYQpAcYEg==</wachtwoord>
<xsl:choose>
<xsl:when test="$srtnotificatiecode='MLDAFM' or status_key='5'">
<meldingenummer action="finish">
<xsl:value-of select="externnr"/>
</meldingenummer>
<prognosedatum>
<xsl:value-of select="datum_gepland/datum"/>
</prognosedatum>
<prognosetijd>
<xsl:value-of select="datum_gepland/tijd"/>
</prognosetijd>
<startdatum>
<xsl:value-of select="begindatum/datum"/>
</startdatum>
<starttijd>
<xsl:value-of select="begindatum/tijd"/>
</starttijd>
<einddatum>
<xsl:choose>
<xsl:when test="$srtnotificatiecode='MLDAFM'">
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/datum"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="msxml:node-set($maxtrack)/datum/datum"/>
</xsl:otherwise>
</xsl:choose>
</einddatum>
<eindtijd>
<xsl:choose>
<xsl:when test="$srtnotificatiecode='MLDAFM'">
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/tijd"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="msxml:node-set($maxtrack)/datum/tijd"/>
</xsl:otherwise>
</xsl:choose>
</eindtijd>
<urenaantal></urenaantal>
<kosten></kosten>
<datumgereed>
<xsl:choose>
<xsl:when test="$srtnotificatiecode='MLDAFM'">
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/datum"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="msxml:node-set($maxtrack)/datum/datum"/>
</xsl:otherwise>
</xsl:choose>
</datumgereed>
<tijdgereed>
<xsl:choose>
<xsl:when test="$srtnotificatiecode='MLDAFM'">
<xsl:value-of select="tracking/track[@code='MLDAFM']/datum/tijd"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="msxml:node-set($maxtrack)/datum/tijd"/>
</xsl:otherwise>
</xsl:choose>
</tijdgereed>
<aantekeningen>
<xsl:value-of select="opmerking"/>
</aantekeningen>
</xsl:when>
<xsl:when test="$srtnotificatiecode='MLDREJ' or status_key='1'">
<meldingenummer action="finish">
<xsl:value-of select="externnr"/>
</meldingenummer>
<prognosedatum>
<xsl:value-of select="datum_gepland/datum"/>
</prognosedatum>
<prognosetijd>
<xsl:value-of select="datum_gepland/tijd"/>
</prognosetijd>
<startdatum>
<xsl:value-of select="begindatum/datum"/>
</startdatum>
<starttijd>
<xsl:value-of select="begindatum/tijd"/>
</starttijd>
<einddatum>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/datum"/>
</einddatum>
<eindtijd>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/tijd"/>
</eindtijd>
<urenaantal></urenaantal>
<kosten></kosten>
<datumgereed>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/datum"/>
</datumgereed>
<tijdgereed>
<xsl:value-of select="tracking/track[@code='MLDREJ']/datum/tijd"/>
</tijdgereed>
<aantekeningen>
Melding afgewezen!
<xsl:value-of select="opmerking"/>
</aantekeningen>
</xsl:when>
<xsl:otherwise>
<meldingenummer action="update">
<xsl:value-of select="externnr"/>
</meldingenummer>
<prognosedatum>
<xsl:value-of select="datum_gepland/datum"/>
</prognosedatum>
<prognosetijd>
<xsl:value-of select="datum_gepland/tijd"/>
</prognosetijd>
<aantekeningen>
<xsl:value-of select="opmerking"/>
</aantekeningen>
</xsl:otherwise>
</xsl:choose>
</fame>
</xsl:template>
<xsl:template match="facilitor">
<xsl:apply-templates select="melding"/>
</xsl:template>
<xsl:template match="facilitor">
<xsl:apply-templates select="melding"/>
</xsl:template>
<!-- Root -->
<xsl:template match="/">
<xsl:apply-templates select="facilitor"/>
</xsl:template>
<!-- Root -->
<xsl:template match="/">
<xsl:apply-templates select="facilitor"/>
</xsl:template>
</xsl:stylesheet>

View File

@@ -0,0 +1,68 @@
<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: cust/pnbr/saml/default.asp
Description: Single Sign On script
Parameters:
Context: Variant die ook te gebruiken is via &sso=1
Note:
*/ %>
<%
Response.Expires=-1;
Session("customerId") = "PNBR";
ANONYMOUS_Allowed = 1;
%>
<!-- #include file="../../../appl/Shared/common.inc" -->
<!-- #include file="../../../appl/shared/login.inc" -->
<%
// for (i=1; i <= Request.ServerVariables.Count; i++)
// {
// __DoLog(Request.ServerVariables.key(i) + ": " + Request.ServerVariables(i));
// }
var uname = String(Request.ServerVariables("UPN"));
// __DoLog("uname: " + uname);
Response.Write("SAML user detected as: " + uname);
var sql = "SELECT prs_perslid_oslogin"
+ " FROM prs_perslid pp"
+ " , prs_kenmerklink pkl"
+ " WHERE pp.prs_perslid_key = pkl.prs_link_key"
+ " AND pkl.prs_kenmerklink_niveau = 'P'"
+ " AND pkl.prs_kenmerk_key = 1000" // IID
+ " AND pkl.prs_kenmerklink_waarde = " + safe.quoted_sql(uname)
var oRs = Oracle.Execute(sql);
if (!oRs.Eof)
{
uname = oRs("prs_perslid_oslogin").Value;
__Log("IID vertaald naar: " + uname);
}
var newUrl = rooturl + "/";
if (Session("SSO_URL")) // binnen via sso=1 route
{ // met 2016.2 moet dit eigenlijk via een JWT
var sso_qs = Session("SSO_QUERYSTRING")||"";
var sso_url = Session("SSO_URL");
sso_url = sso_url.replace(/^\/default.asp/i, "/"); // default.asp vooraan hoeft niet, ik wil cleane url
Session.Contents.Remove("SSO_QUERYSTRING");
Session.Contents.Remove("SSO_URL");
newUrl = sso_url + (sso_qs?"?":"") + sso_qs;
}
else
{
var sso_qs = String(Request.ServerVariables("QUERY_STRING"));
if (sso_qs)
newUrl += "?" + sso_qs;
}
if (tryLogin(uname, null))
{
//Response.Write("Hoera: je bent user: " + user_key);
}
else
{ // Automatisch naar het inlogscherm
__DoLog("SAML login not found in Facilitor: " + uname);
}
Response.Redirect(newUrl);
%>

View File

@@ -18,7 +18,7 @@
<xsl:element name="melding">
<xsl:attribute name="key">
<xsl:value-of select="@key"/></xsl:attribute>
<xsl:attribute name="type">insert</xsl:attribute>
<xsl:attribute name="type">unknown</xsl:attribute>
<datum><xsl:value-of select="concat(substring(datum,7,4), '-', substring(datum,4,2), '-', substring(datum,1,2), 'T', substring(datum,12,5))"/></datum>
<melder>
<xsl:value-of select="melder"/>
@@ -28,6 +28,7 @@
</locatiecode>
<stdmelding>501</stdmelding>
<omschrijving>
Extern nummer: <xsl:value-of select="@key"/>
Melder: <xsl:value-of select="melder"/>
Organisatie: <xsl:value-of select="organisatie"/>
Telefoonnummer: <xsl:value-of select="telefoonnummer"/>
@@ -52,4 +53,4 @@ Inventaris: <xsl:value-of select="inventaris"/>
</facilitor>
</xsl:template>
</xsl:stylesheet>
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. -->
<!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. --><!-- Stylesheet edited using Stylus Studio - (c) 2004-2007. Progress Software Corporation. All rights reserved. -->

View File

@@ -6,66 +6,405 @@
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
</xsl:variable>
<xsl:template match="melding" mode="include">
<table border="0" width="100%" cellpadding="2">
<tr>
<td colspan="4" class="caption" style="padding-top:15px;padding-bottom:20px">
<b>
<xsl:element name="a">
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>/cust/stam/saml/?<xsl:value-of select="../bookmarks/melding"/><xsl:value-of select="key"/>
</xsl:attribute>
<xsl:value-of select="//lcl/MLD/melding"/>&#160;<xsl:value-of select="discipline/srtdiscipline/prefix"/>
<xsl:value-of select="key"/>
<xsl:if test="stdmelding/omschrijving!=''"> - </xsl:if>
<xsl:value-of select="stdmelding/omschrijving"/>
<xsl:if test="onderwerp != ''">:&#160;<xsl:value-of select="onderwerp"/>
</xsl:if>
</xsl:element>
</b>
</td>
<td colspan="2" class="caption" style="padding-top:20px;padding-bottom:20px">
<xsl:if test="spoed&lt;3">
<b>
<xsl:value-of select="//lcl/MLD/spoed"/>
</b>
</xsl:if>
</td>
</tr>
<xsl:if test="not(//opdracht/extra_key) and extra_key">
<xsl:variable name="mx_key">
<xsl:value-of select="extra_key"/>
</xsl:variable>
<tr>
<td align="right" valign="top" style="padding-top:10px;">
<b>
<xsl:value-of select="//lcl/FAC/bericht"/>:</b>
</td>
<td colspan="3" style="padding-top:10px;">
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="notes/note[key=$mx_key]/omschrijving"/>
</xsl:call-template>
</td>
</tr>
<tr>
<td colspan="4" style="padding-bottom:20px;">
<hr/>
</td>
</tr>
</xsl:if>
<!-- ****************************************************************************************************************** -->
<!-- Hier komen de USER-rapportage functies -->
<!-- ****************************************************************************************************************** -->
<xsl:key name="GROUP_BY_datum" match="//facilitor/rapport/rapport_data/data_row" use="TRUNC_INS_CONTROLE_DATUM"/>
<xsl:key name="GROUP_BY_gebouw_key" match="//facilitor/rapport/rapport_data/data_row" use="FCLT_KEY"/>
<xsl:key name="GROUP_BY_afgeronde_tijd" match="//facilitor/rapport/rapport_data/data_row" use="AFGERONDE_TIJD"/>
<xsl:key name="GROUP_BY_RTM_ruimtegroep" match="//facilitor/rapport/rapport_data/data_row" use="RUIMTEGROEP"/>
<xsl:template match="rapport">
<xsl:if test="@view = 'STAM_V_INS_QRC_OBJECT'">
<xsl:for-each select="rapport_data/data_row">
<xsl:sort select="FCLT_F_IDENTIFICATIE"/>
<div style="background-color: black; position: relative; margin: 0; padding: 0; width: 58.5mm; height: 19.5mm; page-break-after: always; border-bottom: 1px solid white;">
<xsl:element name="img">
<xsl:attribute name="src">
../../appl/shared/qrcode.asp?size=2&amp;text=/%3Fu%3D<xsl:value-of select="HIDE_F_BOOKMARK_ID"/>%26k%3D<xsl:value-of select="INS_DEEL_KEY"/>
</xsl:attribute>
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: 1mm; left: 1mm; width: 17.5mm; height: 17.5mm; border: none;</xsl:attribute>
</xsl:element>
<xsl:element name="span">
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: <xsl:value-of select="round(19 + (string-length(FCLT_F_IDENTIFICATIE)) div 5)"/>pt; left: 22mm; width: 36mm; color: white; font-size: <xsl:value-of select="round(14 - (string-length(FCLT_F_PLAATS)) div 3)"/>pt; font-family: Verdana, Arial, sans-serif;font-weight: bold; </xsl:attribute>
<xsl:value-of select="FCLT_F_IDENTIFICATIE"/> <br/> <xsl:value-of select="FCLT_F_PLAATS"/>
</xsl:element>
</div>
<xsl:if test="opmerking!=''">
<tr>
<td align="right" valign="top">
<b>
<xsl:value-of select="//lcl/MLD/afhandeling"/>:</b>
</td>
<td colspan="3">
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="opmerking"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
<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>
<xsl:choose>
<xsl:when test="position() = 1">
<td align="right" valign="top">
<b>Update:</b>
</td>
</xsl:when>
<xsl:otherwise>
<td/>
</xsl:otherwise>
</xsl:choose>
<td colspan="3">
<span class="mldbeh">
<xsl:value-of select="aanmaak/datum"/>&#xA0;<xsl:value-of select="aanmaak/tijd"/>&#xA0;-&#xA0;<xsl:value-of select="noteur/naam_friendly"/>
</span>&#xA0;
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="omschrijving"/>
</xsl:call-template>
</td>
</tr>
</xsl:for-each>
<tr height="20px">
<td colspan="4"/>
</tr>
</xsl:if>
<xsl:comment>als we binnen een opdracht zijn, tonen we de meldingtekst niet</xsl:comment>
<tr>
<td align="right" valign="top">
<b>
<xsl:value-of select="//lcl/FAC/omschrijving"/>:</b>
</td>
<td align="left" colspan="3">
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="omschrijving"/>
</xsl:call-template>
</td>
</tr>
<xsl:for-each select="kenmerk[@type!='L' and @type!='l' and @type!='Q' and count(@xmlnode)=0]">
<xsl:sort select="@volgnummer" data-type="number"/>
<xsl:if test=".!=''">
<tr>
<td align="right">
<b>
<xsl:value-of select="@naam"/>:</b>
</td>
<td colspan="3">
<xsl:value-of select="."/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</xsl:if>
<xsl:if test="count(deel)&gt;0">
<xsl:for-each select="deel">
<xsl:sort select="omschrijving"/>
<tr>
<xsl:choose>
<xsl:when test="position()=1">
<td align="right" valign="top">
<b>
<xsl:value-of select="//lcl/MLD/objecten"/>:</b>
</td>
</xsl:when>
<xsl:otherwise>
<td/>
</xsl:otherwise>
</xsl:choose>
<td align="left" valign="top">
<xsl:value-of select="omschrijving"/>
</td>
<td colspan="2" valign="top">
<xsl:comment>NADER TE DEFINIEREN</xsl:comment>
</td>
</tr>
</xsl:for-each>
</xsl:if>
<tr height="20px">
<td colspan="4"/>
</tr>
<tr>
<td align="right">
<b>
<xsl:value-of select="//lcl/FAC/locatie"/>:</b>
</td>
<td align="left">
<xsl:value-of select="plaats/regio/district/locatie/code"/>&#xA0;
<xsl:if test="plaats/regio/district/locatie/omschrijving!=''">(<xsl:value-of select="plaats/regio/district/locatie/omschrijving"/>)</xsl:if>
</td>
<td align="right">
<b>
<xsl:value-of select="//lcl/MLD/status"/>:</b>
</td>
<td align="left">
<xsl:value-of select="status"/>
</td>
</tr>
<tr>
<xsl:choose>
<xsl:when test="plaats/@type='T'">
<td align="right">
<b>
<xsl:value-of select="//lcl/FAC/terrein"/>:</b>
</td>
<td align="left">
<xsl:value-of select="plaats/regio/district/locatie/terrein/code"/>-<xsl:value-of select="plaats/regio/district/locatie/terrein/naam"/>
</td>
</xsl:when>
<xsl:otherwise>
<td align="right">
<b>
<xsl:value-of select="//lcl/FAC/gebouw"/>:</b>
</td>
<td align="left">
<xsl:value-of select="plaats/regio/district/locatie/gebouw/code"/>-<xsl:value-of select="plaats/regio/district/locatie/gebouw/naam"/>
</td>
</xsl:otherwise>
</xsl:choose>
<td align="right">
<b>
<xsl:value-of select="//lcl/MLD/melddatum"/>:</b>
</td>
<td align="left">
<xsl:value-of select="gemeld/datum"/>&#xA0;
<xsl:value-of select="gemeld/tijd"/>
</td>
</tr>
<tr>
<xsl:if test="plaats/@type='T' or plaats/@type='G'">
<td colspan="2"/>
</xsl:if>
<xsl:if test="plaats/@type!='T' and plaats/@type!='G'">
<td align="right">
<b>
<xsl:value-of select="//lcl/FAC/bouwlaag"/>:</b>
</td>
<td align="left">
<xsl:value-of select="plaats/regio/district/locatie/gebouw/verdieping/code"/>&#xA0;
<xsl:if test="plaats/regio/district/locatie/gebouw/verdieping/omschrijving!=''">(<xsl:value-of select="plaats/regio/district/locatie/gebouw/verdieping/omschrijving"/>)</xsl:if>
</td>
</xsl:if>
<xsl:choose>
<xsl:when test="uitvoertijd[@eenheid='U']">
<td width="16%" align="right">
<b>
<xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
</td>
<td width="34%">
<xsl:value-of select="uitvoertijd"/>&#160;<xsl:value-of select="//lcl/MLD/uren"/>
</td>
</xsl:when>
<xsl:otherwise>
<td width="16%" align="right">
<b>
<xsl:value-of select="//lcl/MLD/uitvoertijd"/>:</b>
</td>
<td width="34%">
<xsl:value-of select="uitvoertijd"/>&#160;<xsl:value-of select="//lcl/FAC/dagen"/>
</td>
</xsl:otherwise>
</xsl:choose>
</tr>
<tr>
<xsl:if test="plaats/@type='R'">
<td align="right" valign="top">
<b>
<xsl:value-of select="//lcl/FAC/ruimte"/>:</b>
</td>
<td align="left">
<xsl:value-of select="plaats/regio/district/locatie/gebouw/verdieping/ruimte/nr"/>&#xA0;
<xsl:if test="plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving!=''">(<xsl:value-of select="plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving"/>)</xsl:if>
</td>
</xsl:if>
<xsl:if test="plaats/@type!='R'">
<td colspan="2"/>
</xsl:if>
<td align="right">
<b>
<xsl:value-of select="//lcl/MLD/datum_gereed"/>:</b>
</td>
<td align="left">
<xsl:value-of select="datum_gepland/datum"/>&#xA0;<xsl:value-of select="datum_gepland/tijd"/>
</td>
</tr>
<xsl:if test="kenmerk[@naam='Ordernr']!=''">
<tr>
<td colspan="2"/>
<td align="right">
<b>
<xsl:value-of select="//lcl/MLD/ordernr"/>:</b>
</td>
<td align="left">
<xsl:value-of select="kenmerk[@naam='Ordernr']"/>
</td>
</tr>
</xsl:if>
<tr height="20px">
<td colspan="4">
<hr/>
</td>
</tr>
<tr>
<td align="right" width="16%">
<b>
<xsl:value-of select="//lcl/FAC/aanvrager"/>:</b>
</td>
<td align="left" width="34%">
<xsl:value-of select="voor/naam_full"/>
</td>
<td align="right" width="16%">
<b>
<xsl:value-of select="//lcl/FAC/telefoon"/>:</b>
</td>
<td align="left" width="34%">
<xsl:if test="voor/telefoonnr=''">-</xsl:if>
<xsl:value-of select="voor/telefoonnr"/>
</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">
<b>
<xsl:value-of select="//lcl/FAC/locatie"/>:</b>
</td>
<td align="left">
<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/code"/>&#xA0;
<xsl:if test="voor/werkplek/plaats/regio/district/locatie/omschrijving!=''">(<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/omschrijving"/>)</xsl:if>
</td>
<td align="right" valign="top">
<b>
<xsl:value-of select="//lcl/FAC/afdeling"/>:</b>
</td>
<td align="left">
<xsl:value-of select="voor/afdeling/omschrijving"/>
</td>
</tr>
<xsl:if test="voor/werkplek/plaats/regio/district/locatie/gebouw/code!=''">
<tr>
<td align="right" valign="top">
<b>
<xsl:value-of select="//lcl/FAC/werkplek"/>:</b>
</td>
<td align="left">
<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/code"/>-<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/naam"/>
<br/>
<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/code"/>&#xA0;<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/nr"/>&#xA0;
<xsl:if test="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving!=''">(<xsl:value-of select="voor/werkplek/plaats/regio/district/locatie/gebouw/verdieping/ruimte/omschrijving"/>)</xsl:if>
</td>
<td colspan="2"/>
</tr>
</xsl:if>
<tr height="20px">
<td/>
</tr>
<tr>
<td colspan="2">
<xsl:element name="a">
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>/cust/stam/saml/?<xsl:value-of select="../bookmarks/melding"/>
<xsl:value-of select="key"/>
</xsl:attribute>Click here to view this call in the service center</xsl:element>
</td>
</tr>
</table>
</xsl:template>
<!-- ****************************************************************************************************************** -->
<!-- Hier komen de USER-rapportage functies -->
<!-- ****************************************************************************************************************** -->
<xsl:key name="GROUP_BY_datum" match="//facilitor/rapport/rapport_data/data_row" use="TRUNC_INS_CONTROLE_DATUM"/>
<xsl:key name="GROUP_BY_gebouw_key" match="//facilitor/rapport/rapport_data/data_row" use="FCLT_KEY"/>
<xsl:key name="GROUP_BY_afgeronde_tijd" match="//facilitor/rapport/rapport_data/data_row" use="AFGERONDE_TIJD"/>
<xsl:key name="GROUP_BY_RTM_ruimtegroep" match="//facilitor/rapport/rapport_data/data_row" use="RUIMTEGROEP"/>
<xsl:if test="@view = 'STAM_V_INS_QRC_RUIMTE'">
<xsl:for-each select="rapport_data/data_row">
<xsl:sort select="PLAATS"/>
<div style="background-color: black; position: relative; margin: 0; padding: 0; width: 58.5mm; height: 19.5mm; page-break-after: always; border-bottom: 1px solid white;">
<xsl:element name="img">
<xsl:attribute name="src">
../../appl/shared/qrcode.asp?size=2&amp;text=/%3Fu%3D<xsl:value-of select="HIDE_F_BOOKMARK_ID"/>%26k%3D<xsl:value-of select="ALG_RUIMTE_KEY"/>
</xsl:attribute>
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: 1mm; left: 1mm; width: 17.5mm; height: 17.5mm; border: none;</xsl:attribute>
</xsl:element>
<xsl:element name="span">
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: <xsl:value-of select="round(19 + (string-length(PLAATS)) div 5)"/>pt; left: 22mm; width: 36mm; color: white; font-size: <xsl:value-of select="round(14 - (string-length(PLAATS)) div 3)"/>pt; font-family: Verdana, Arial, sans-serif;font-weight: bold; </xsl:attribute>
<xsl:value-of select="PLAATS"/> <br/> <xsl:value-of select="SOORTRUIMTE"/>
</xsl:element>
</div>
</xsl:for-each>
</xsl:if>
<xsl:template match="rapport">
</xsl:template>
<xsl:if test="@view = 'STAM_V_INS_QRC_OBJECT'">
<xsl:for-each select="rapport_data/data_row">
<xsl:sort select="FCLT_F_IDENTIFICATIE"/>
<div style="background-color: black; position: relative; margin: 0; padding: 0; width: 58.5mm; height: 19.5mm; page-break-after: always; border-bottom: 1px solid white;">
<xsl:element name="img">
<xsl:attribute name="src">
../../appl/shared/qrcode.asp?size=2&amp;text=/%3Fu%3D<xsl:value-of select="HIDE_F_BOOKMARK_ID"/>%26k%3D<xsl:value-of select="INS_DEEL_KEY"/>
</xsl:attribute>
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: 1mm; left: 1mm; width: 17.5mm; height: 17.5mm; border: none;</xsl:attribute>
</xsl:element>
<xsl:element name="span">
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: <xsl:value-of select="round(19 + (string-length(FCLT_F_IDENTIFICATIE)) div 5)"/>pt; left: 22mm; width: 36mm; color: white; font-size: <xsl:value-of select="round(14 - (string-length(FCLT_F_PLAATS)) div 3)"/>pt; font-family: Verdana, Arial, sans-serif;font-weight: bold; </xsl:attribute>
<xsl:value-of select="FCLT_F_IDENTIFICATIE"/>
<br/>
<xsl:value-of select="FCLT_F_PLAATS"/>
</xsl:element>
</div>
</xsl:for-each>
</xsl:if>
<xsl:if test="@view = 'STAM_V_INS_QRC_RUIMTE'">
<xsl:for-each select="rapport_data/data_row">
<xsl:sort select="PLAATS"/>
<div style="background-color: black; position: relative; margin: 0; padding: 0; width: 58.5mm; height: 19.5mm; page-break-after: always; border-bottom: 1px solid white;">
<xsl:element name="img">
<xsl:attribute name="src">
../../appl/shared/qrcode.asp?size=2&amp;text=/%3Fu%3D<xsl:value-of select="HIDE_F_BOOKMARK_ID"/>%26k%3D<xsl:value-of select="ALG_RUIMTE_KEY"/>
</xsl:attribute>
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: 1mm; left: 1mm; width: 17.5mm; height: 17.5mm; border: none;</xsl:attribute>
</xsl:element>
<xsl:element name="span">
<xsl:attribute name="style">position: absolute; margin: 0; padding: 0; top: <xsl:value-of select="round(19 + (string-length(PLAATS)) div 5)"/>pt; left: 22mm; width: 36mm; color: white; font-size: <xsl:value-of select="round(14 - (string-length(PLAATS)) div 3)"/>pt; font-family: Verdana, Arial, sans-serif;font-weight: bold; </xsl:attribute>
<xsl:value-of select="PLAATS"/>
<br/>
<xsl:value-of select="SOORTRUIMTE"/>
</xsl:element>
</div>
</xsl:for-each>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
</xsl:stylesheet>

View File

@@ -1618,7 +1618,230 @@
</td>
</tr>
</xsl:if>
</xsl:template>
</xsl:template>
<xsl:template match="bestelling" mode="include">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
<TR>
<TD WIDTH="40" ROWSPAN="30" ID="LINKERMARGE"></TD>
<TD>
<table border="0" width="100%" bordercolor="#000000">
<tr>
<td align="left" width="100%" class="caption" colspan="4"><xsl:value-of select="//lcl/BES/bestelaanvraag"/>&#xA0;<xsl:value-of select="key"/>
<xsl:if test="ismutatie=1"> (WIJZIGING)</xsl:if>
<xsl:if test="isretour=1"> (RETOUR)</xsl:if>
</td>
</tr>
<xsl:choose>
<xsl:when test="string(aanvrager/naam_full)!=string(voor/naam_full)">
<tr>
<td width="13%" class="label" align="left"><xsl:value-of select="//lcl/FAC/aanvrager"/></td>
<td width="35%" class="value" align="right">: <xsl:value-of select="aanvrager/naam_full"/></td>
<td width="18%" class="label" align="left" ><xsl:value-of select="//lcl/BES/aanvraagdatum"/></td>
<td width="32%" class="value" align="right">:
<xsl:value-of select="datum/datum"/>&#xA0;
<xsl:value-of select="datum/tijd"/>
</td>
</tr>
<tr>
<td class="label"><xsl:value-of select="//lcl/BES/bestelvoor"/></td>
<td class="value">: <xsl:value-of select="voor/naam_full"/></td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr>
<td class="label" width="13%"><xsl:value-of select="//lcl/FAC/aanvrager"/></td>
<td class="value" width="35%">: <xsl:value-of select="voor/naam_full"/></td>
<td class="label" width="18%"><xsl:value-of select="//lcl/BES/aanvraagdatum"/></td>
<td class="value" width="32%">:
<xsl:value-of select="datum/datum"/>&#xA0;
<xsl:value-of select="datum/tijd"/>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="string(voor/email)!=''">
<tr>
<td class="label"><xsl:value-of select="//lcl/FAC/e-mail"/></td>
<td class="value">: <xsl:value-of select="voor/email"/></td>
<td colspan="2"></td>
</tr>
</xsl:if>
<xsl:choose>
<xsl:when test="voor/telefoonnr!=''">
<tr>
<td class="label"><xsl:value-of select="//lcl/FAC/telefoon"/></td>
<td class="value">: <xsl:value-of select="voor/telefoonnr"/></td>
<td class="label"><xsl:value-of select="//lcl/BES/gewenste_afleverdatum"/></td>
<td class="value">:
<xsl:value-of select="leverdatum/datum"/>
</td>
</tr>
</xsl:when>
<xsl:when test="voor/mobiel!=''">
<tr>
<td class="label"><xsl:value-of select="//lcl/FAC/telefoon"/></td>
<td class="value">: <xsl:value-of select="voor/mobiel"/></td>
<td class="label"><xsl:value-of select="//lcl/BES/gewenste_afleverdatum"/></td>
<td class="value">:
<xsl:value-of select="leverdatum/datum"/>
</td>
</tr>
</xsl:when>
<xsl:otherwise>
<tr>
<td class="label"><xsl:value-of select="//lcl/FAC/telefoon"/></td>
<td class="value">: -</td>
<td class="label"><xsl:value-of select="//lcl/BES/gewenste_afleverdatum"/></td>
<td class="value">:
<xsl:value-of select="leverdatum/datum"/>
</td>
</tr>
</xsl:otherwise>
</xsl:choose>
<tr>
<td class="label" width="13%" align="left"><xsl:value-of select="//lcl/FAC/afdeling"/></td>
<td class="value" width="35%" align="right">:
<xsl:if test="voor/afdeling/omschrijving=''">-</xsl:if>
<xsl:value-of select="voor/afdeling/omschrijving"/>
</td>
<td class="label" width="18%" align="left"><xsl:value-of select="//lcl/BES/aanvraagstatus"/></td>
<td class="value" width="32%" align="right">: <xsl:value-of select="status"/></td>
</tr>
<tr>
<td class="label" width="18%" align="left"><xsl:value-of select="//lcl/FAC/kostenplaats"/></td>
<td class="value" width="32%" align="right">:
<xsl:if test="kostenplaats/nr=''">-</xsl:if>
<xsl:value-of select="kostenplaats/nr"/>
</td>
<xsl:choose>
<xsl:when test="opmerking">
<td class="label" width="18%" align="left"><xsl:value-of select="//lcl/FAC/opmerking"/></td>
<td class="value" width="32%" align="right">:
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="opmerking"/>
</xsl:call-template>
</td>
</xsl:when>
<xsl:otherwise>
<td colspan="2" align="right" width="50%"/>
</xsl:otherwise>
</xsl:choose>
</tr>
<tr>
<td class="label" style="vertical-align:top"><xsl:value-of select="//lcl/BES/afleveradres"/></td>
<td class="value">:
<xsl:value-of select="afleveradres/naam"/>
<xsl:if test="afleveradres/bezoek_adres">
<br/>&#xA0;
<xsl:value-of select="afleveradres/bezoek_adres"/>
<br/>&#xA0;
<xsl:value-of select="afleveradres/bezoek_postcode"/>&#xA0;
<xsl:value-of select="afleveradres/bezoek_plaats"/>
<br/>&#xA0;
<xsl:value-of select="afleveradres/bezoek_land"/>
</xsl:if>
</td>
<td colspan="2"/>
</tr>
<xsl:if test="bestel_opm">
<tr>
<td height="10px" colspan="4"/>
</tr>
<tr>
<td class="label" style="vertical-align:top"><xsl:value-of select="//lcl/FAC/opmerkingen"/></td>
<td class="value" colspan="3">:
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="bestel_opm"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
<tr>
<td height="20px"/>
</tr>
<xsl:for-each select="kenmerk[count(@xmlnode)=0]">
<xsl:if test="(@type!='L' and @type!='l' and @type!='Q')">
<tr>
<td class="label">
<xsl:value-of select="@naam"/>
</td>
<td class="value" colspan="3">: <xsl:value-of select="."/></td>
</tr>
</xsl:if>
</xsl:for-each>
<tr>
<td height="20px"/>
</tr>
<tr>
<td colspan="4" style="border-top:1px solid #000;"/>
</tr>
<tr>
<td colspan="4">
<table cellpadding="1" cellspacing="0" border="0" bordercolor="#000000" frame="box" width="99%">
<tr>
<th class="besth" style="text-align:left"><xsl:value-of select="//lcl/BES/artikelnr"/></th>
<th class="besth"><xsl:value-of select="//lcl/FAC/omschrijving"/></th>
<th class="besth"><xsl:value-of select="//lcl/FAC/opmerkingen"/></th>
<th class="besth" style="text-align:right"><xsl:value-of select="//lcl/FAC/aantal"/></th>
<th class="besth" style="text-align:right"><xsl:value-of select="//lcl/FAC/prijs"/></th>
<th class="besth" style="text-align:right"><xsl:value-of select="//lcl/FAC/totaal"/></th>
</tr>
<xsl:for-each select="bestelitem">
<tr>
<td class="besresult" style="text-align:left">
&#xA0;<xsl:value-of select="srtdeel/artikel_nummer"/>
</td>
<td class="besresult" style="text-align:left">
<xsl:value-of select="srtdeel/omschrijving"/>
</td>
<td class="besresult">
<xsl:for-each select="kenmerk[count(@xmlnode)=0]">
<xsl:if test="(@type!='L' and @type!='l' and @type!='Q')">
<xsl:value-of select="@naam"/>:
<xsl:value-of select="."/>
<br/>
</xsl:if>
</xsl:for-each>&#xA0;</td>
<td class="besresult" style="text-align:right">
<xsl:value-of select="aantal"/>
</td>
<td class="besresult" style="text-align:right">
<xsl:value-of select="format-number(prijs, '0,00', 'european')"/>
</td>
<td class="besresult" style="text-align:right">
<xsl:value-of select="format-number(aantal*prijs, '0,00', 'european')"/>
</td>
</tr>
</xsl:for-each>
<tr>
<td colspan="6" height="6px" style="border-top:1px solid #000;"/>
</tr>
<xsl:if test="/facilitor/bestelling/levkosten != '0'">
<tr>
<td class="label" style="text-align:right;border-style:solid;border-width:0px;" colspan="5"><xsl:value-of select="//lcl/BES/transportkosten"/>:</td>
<td class="label" style="text-align:right;border-style:solid;border-width:0px;">
<xsl:value-of select="format-number(/facilitor/bestelling/levkosten, '0,00', 'european')"/>
</td>
</tr>
</xsl:if>
<tr>
<td class="tekstkop" style="text-align:right;border-style:solid;border-width:0px;" colspan="5"><xsl:value-of select="//lcl/FAC/totaal"/>:</td>
<td class="tekstkop" style="text-align:right;border-style:solid;border-width:0px;">
<xsl:value-of select="format-number(sum(/facilitor/bestelling/bestelitem/totaal)+ /facilitor/bestelling/levkosten, '0,00', 'european')"/>
</td>
</tr>
</table>
</td>
</tr>
</table>
</TD>
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"/>
</TR>
</TABLE>
</xsl:template>
<xsl:template match="bestelopdracht" mode="include">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">

View File

@@ -10,7 +10,7 @@
<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
<xsl:variable name="Xsrtnotificatiecode">MLDFWD</xsl:variable>
<xsl:variable name="Xsrtnotificatiecode">INSIN2</xsl:variable>
<xsl:template name="adres">
<tr>
@@ -1124,32 +1124,23 @@
</td>
</tr>
<xsl:if test="$srtnotificatiecode = 'MLDFWD' and not(/facilitor/opdracht)">
<xsl:for-each select="notes/note[flag=1]">
<xsl:sort select="aanmaak/timestamp" order="ascending"/>
<tr>
<xsl:choose>
<xsl:when test="position() = 1">
<td align="right" valign="top" class="label">
<xsl:value-of select="//lcl/MLD/behandeling"/>
</td>
</xsl:when>
<xsl:otherwise>
<td/>
</xsl:otherwise>
</xsl:choose>
<td colspan="3" class="value">
<span>
<xsl:choose>
<xsl:when test="position() = 1">:&#xA0;</xsl:when>
<xsl:otherwise>&#xA0;&#xA0;</xsl:otherwise>
</xsl:choose><xsl:value-of select="aanmaak/datum"/>&#xA0;<xsl:value-of select="aanmaak/tijd"/>&#xA0;-&#xA0;<xsl:value-of select="noteur/naam_friendly"/>
</span>&#xA0;
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="omschrijving"/>
</xsl:call-template>
</td>
</tr>
<xsl:variable name="fwdtime">
<xsl:for-each select="tracking/track[@code='MLDFWD']/datum">
<xsl:sort select="timestamp" order="descending"/>
<xsl:if test="position() = 1"><xsl:value-of select="number(timestamp)"/>
</xsl:if>
</xsl:for-each>
</xsl:variable>
<tr>
<td align="right" valign="top" class="label">
<xsl:value-of select="//lcl/MLD/behandeling"/>
</td>
<td colspan="3" class="value">:
<xsl:call-template name="linebreaks">
<xsl:with-param name="string" select="notes/note/omschrijving[../aanmaak/timestamp &gt;= $fwdtime - 2 and ../aanmaak/timestamp &lt;= $fwdtime + 2]"/>
</xsl:call-template>
</td>
</tr>
</xsl:if>
<xsl:if test="opmerking!=''">
<tr>
@@ -10931,9 +10922,7 @@ function startAutoRefreshTim() {
</tr>
<tr>
<td colspan="3">
<xsl:value-of select="//lcl/INS/ins_lendbegintext1"/>
<xsl:value-of select="persoon/naam_friendly"/>
<xsl:value-of select="//lcl/INS/ins_lendbegintext2"/>
Aan jou is het onderstaande object uitgeleend:
<br/>
<strong>
<xsl:value-of select="srtdeel/omschrijving"/>&#160;<xsl:value-of select="omschrijving"/>
@@ -10945,10 +10934,8 @@ function startAutoRefreshTim() {
<xsl:sort select="@volgnummer" data-type="number"/>
<xsl:if test=".!=''">
<tr>
<td class="label">
<xsl:value-of select="@naam"/>:</td>
<td class="value">
<xsl:value-of select="."/>
<td colspan="3">
<xsl:value-of select="@naam"/>: <xsl:value-of select="."/>
</td>
</tr>
</xsl:if>
@@ -10963,16 +10950,52 @@ function startAutoRefreshTim() {
</table>
</td>
</tr>
<tr>
<td colspan="3">
<xsl:value-of select="//lcl/INS/ins_lendeindtext1"/>
<xsl:value-of select="//lcl/INS/ins_lendeindtext2"/>
</td>
</tr>
</table>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="deel" mode="in">
<table border="0" cellpadding="1" width="100%">
<tr>
<td colspan="3" class="caption">
<strong>
Bewijs van inname
</strong>
</td>
</tr>
<tr>
<td colspan="3" class="tekst">
Door jou is het onderstaande object ingeleverd:
<br/>
<strong>
<xsl:value-of select="srtdeel/omschrijving"/>&#160;<xsl:value-of select="omschrijving"/>
</strong>
<br/>
</td>
</tr>
<xsl:for-each select="kenmerk[count(@xmlnode)=0]">
<xsl:sort select="@volgnummer" data-type="number"/>
<xsl:if test=".!=''">
<tr>
<td colspan="3">
<xsl:value-of select="@naam"/>: <xsl:value-of select="."/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
<tr>
<td></td>
<td colspan="3">
<table border="1">
<xsl:for-each select="deel">
<xsl:apply-templates select="." mode="include"/>
</xsl:for-each>
</table>
</td>
</tr>
</table>
</xsl:template>
<xsl:template match="deel" mode="full">
<xsl:choose>
@@ -10991,6 +11014,9 @@ function startAutoRefreshTim() {
<xsl:when test="$srtnotificatiecode = 'INSOUT'">
<xsl:apply-templates select="." mode="out"/>
</xsl:when>
<xsl:when test="$srtnotificatiecode = 'INSIN2'">
<xsl:apply-templates select="." mode="in"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="." mode="include"/>
</xsl:otherwise>

View File

@@ -52,7 +52,7 @@ function GetStruktonStatus()
responseText = "" + objXMLHTTP.responseText;
//WScript.Echo("resultaat = " + resultaat.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>"));
//if resultaat.substr("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>")
if (responseText.indexOf("<ErrorLog><Note>Geen items gevonden</Note></ErrorLog>") == -1) {
if (responseText.indexOf("<ErrorLog><Note>Resultaatset bevat geen records</Note></ErrorLog>") == -1) {
dataReceived = true;
oStream = new ActiveXObject("ADODB.Stream");
oStream.Open();