Merge 2017.1 Gold D changes
svn path=/Website/trunk/; revision=34564
This commit is contained in:
@@ -64,7 +64,7 @@ function model_aut_idp_map(params)
|
||||
// De 1-n
|
||||
+ ";100;*" + L("fac_groep_m")
|
||||
+ ";101;*" + L("lcl_workplace")
|
||||
+ ";102;*" + L("lcl_workplace") + " " + L("lcl_estate_wp_virt")
|
||||
//+ ";102;*" + L("lcl_workplace") + " " + L("lcl_estate_wp_virt") // gaan via @prefix
|
||||
//+ ";103;*" + L("lcl_prs_mandatering") reserved voor mandatering
|
||||
// 1000 + kenmerk_key komt hier nog achter
|
||||
},
|
||||
|
||||
@@ -13,7 +13,9 @@
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/discxalg3d.inc"-->
|
||||
<!-- #include file="./model_custom_fields.inc"-->
|
||||
<!-- #include file="./model_fac_tracking.inc"-->
|
||||
<!-- #include file="./model_ins_kenmerk.inc"-->
|
||||
<%
|
||||
model_objects =
|
||||
{
|
||||
@@ -40,7 +42,12 @@ model_objects =
|
||||
includes: { "tracking": {
|
||||
model: new model_tracking(['deel']),
|
||||
joinfield: "trackingrefkey"
|
||||
}
|
||||
},
|
||||
"custom_fields" : {
|
||||
"model": new model_custom_fields(this, new model_ins_kenmerk({ internal: true }), { readman: true, readuse: true }),
|
||||
"joinfield": "flexparentkey",
|
||||
"enable_update": true
|
||||
}
|
||||
},
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
|
||||
@@ -1334,6 +1334,7 @@ function process_claim(claim, idp_data, params)
|
||||
|
||||
params = params || {};
|
||||
var hasIdentify = false;
|
||||
var hasIdentifyVal = false;
|
||||
var isFACFACinternal = idp_data.internal != 0;
|
||||
for (var i =0; i < idp_data.idpmappings.length; i++)
|
||||
{
|
||||
@@ -1343,6 +1344,8 @@ function process_claim(claim, idp_data, params)
|
||||
hasIdentify = true;
|
||||
if (!claim[idpm.from]) // niet meegegeven
|
||||
continue;
|
||||
if (idpm.identify == 1)
|
||||
hasIdentifyVal = true;
|
||||
switch (idpm.name.id)
|
||||
{
|
||||
case 1: // login
|
||||
@@ -1383,6 +1386,9 @@ function process_claim(claim, idp_data, params)
|
||||
}
|
||||
if (!hasIdentify)
|
||||
shared.internal_error("IdP {0} has no identifying attribute defined.".format(idp_data.code));
|
||||
if (!hasIdentifyVal)
|
||||
shared.internal_error("IdP {0} has not supplied a value for any identifying attribute.".format(idp_data.code));
|
||||
|
||||
|
||||
if ( user_key < 0 && idp_data.autocreate.id & 1 // Misschien dan maar aanmaken?
|
||||
|| user_key > 0 && idp_data.autocreate.id & 2 // en/ of bijwerken
|
||||
@@ -1523,13 +1529,32 @@ function process_claim(claim, idp_data, params)
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
|
||||
if ("workplace" in persdata && persdata["workplace"])
|
||||
{ // workplace bevat ruimtes gescheiden door '|' of ';'
|
||||
if ("workplace" in persdata)
|
||||
{
|
||||
// Eerst oude werkplekken ophalen
|
||||
var sql = "SELECT pw.prs_werkplek_key, UPPER(alg_plaatsaanduiding) alg_plaatsaanduiding"
|
||||
+ " FROM prs_perslidwerkplek pw, prs_werkplek wp, alg_v_plaatsaanduiding"
|
||||
+ " WHERE pw.prs_perslid_key = " + user_key
|
||||
+ " AND pw.prs_werkplek_key = wp.prs_werkplek_key"
|
||||
+ " AND wp.prs_werkplek_type = 0" // alleen vaste plekken
|
||||
+ " AND alg_onroerendgoed_keys = wp.prs_alg_ruimte_key"
|
||||
+ " AND alg_onroerendgoed_type = 'R'";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var oldWP = {};
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
oldWP[oRs("alg_plaatsaanduiding").Value] = oRs("prs_werkplek_key").Value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// workplace bevat ruimtes gescheiden door '|' of ';'
|
||||
// (we ondersteunen alleen impliciete werkplekken, geen 'named')
|
||||
// Codering moet volgens alg_v_plaatsaanduiding zijn (locatiecode-gebouwcode-verdiepingcode-ruimtenr)
|
||||
// Als er een '@' voor staat is het een virtuele werkplek
|
||||
persdata["workplace"] = persdata["workplace"] || "";
|
||||
var workplacearr = persdata["workplace"].split(/[;\|]/);
|
||||
var keepwp = [];
|
||||
for (var i = 0; i < workplacearr.length; i++)
|
||||
{
|
||||
var wpcode = workplacearr[i];
|
||||
@@ -1539,22 +1564,47 @@ function process_claim(claim, idp_data, params)
|
||||
virtual = 1;
|
||||
wpcode = wpcode.substr(1);
|
||||
}
|
||||
var sql = "SELECT alg_onroerendgoed_keys, alg_onroerendgoed_type"
|
||||
+ " FROM alg_v_plaatsaanduiding"
|
||||
+ " WHERE alg_plaatsaanduiding = " + safe.quoted_sql_upper(wpcode);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
|
||||
if (wpcode in oldWP)
|
||||
{
|
||||
var okey = oRs("alg_onroerendgoed_keys").Value;
|
||||
var otype = oRs("alg_onroerendgoed_type").Value;
|
||||
sql = "BEGIN"
|
||||
+ " prs.movetoruimte ({0}, {1}, '{2}', {3}); ".format(user_key, okey, 'G', virtual) // G want maar <20><>n werkplek per gebouw
|
||||
+ "END;";
|
||||
Oracle.Execute(sql);
|
||||
delete oldWP[wpcode]; // Hoeven we straks niet te wissen
|
||||
}
|
||||
else // Toevoegen
|
||||
{
|
||||
var sql = "SELECT alg_onroerendgoed_keys"
|
||||
+ " FROM alg_v_plaatsaanduiding"
|
||||
+ " WHERE alg_onroerendgoed_type = 'R'"
|
||||
+ " AND UPPER(alg_plaatsaanduiding) = " + safe.quoted_sql_upper(wpcode);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
delete oldWP[wpcode.toUpperCase()]; // Die zal hergebruikt worden
|
||||
var okey = oRs("alg_onroerendgoed_keys").Value;
|
||||
sql = "BEGIN"
|
||||
+ " prs.movetoruimte ({0}, {1}, '{2}', {3}); ".format(user_key, okey, 'G', virtual) // G want maar <20><>n werkplek per gebouw
|
||||
+ "END;";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
__Log("Workplace '{0}' not found".format(workplacearr[i]));
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
for (wpcode in oldWP) // restant opruimen
|
||||
{
|
||||
__Log("Persoon verwijderen van WP {0}, wp-key {1}".format(wpcode, oldWP[wpcode]));
|
||||
if (S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
var sql = "DELETE FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key = " + oldWP[wpcode];
|
||||
}
|
||||
else
|
||||
__Log("Workplace '{0}' not found".format(workplacearr[i]));
|
||||
oRs.Close();
|
||||
{
|
||||
var sql = "DELETE FROM prs_perslid_werkplek"
|
||||
+ " WHERE prs_perslid_key = " + user_key
|
||||
+ " AND prs_werkplek_key = " + oldWP[wpcode];
|
||||
}
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
*/ %>
|
||||
<%
|
||||
ANONYMOUS_Allowed = 1;
|
||||
LOGIN_try = 1; // we zitten al in een login-try dus geen os_logon meer of zo
|
||||
%>
|
||||
<!-- #include file="../../../appl/Shared/common.inc" -->
|
||||
<!-- #include file="../login.inc" -->
|
||||
@@ -45,16 +46,24 @@
|
||||
|
||||
var svars = ["<pre>"]; // Voor logging
|
||||
|
||||
var wasCodePage = Session.Codepage;
|
||||
Session.Codepage = 65001; // Van Shibboleth krijgen we UTF-8 namen
|
||||
|
||||
var claim = {}; // We bouwen een claim op uit alle servervariabelen die met HTTP_ beginnen
|
||||
|
||||
var ignoreHTTP = "HTTP_COOKIE,HTTP_REFERER".split(","); // Ik wil ze vooral niet in de logfile krijgen
|
||||
|
||||
for (i=1; i <= Request.ServerVariables.Count; i++)
|
||||
{
|
||||
var name = Request.ServerVariables.key(i);
|
||||
if (name.match(/^HTTP_/))
|
||||
if (name.match(/^HTTP_/) && !inArray(name, ignoreHTTP))
|
||||
{
|
||||
claim[name] = String(Request.ServerVariables(i));
|
||||
svars.push(Request.ServerVariables.key(i) + ": " + Request.ServerVariables(i));
|
||||
}
|
||||
}
|
||||
Session.Codepage = wasCodePage; // Geen risico lopen
|
||||
|
||||
svars.push("</pre>");
|
||||
__SafeLog(svars.join("\n"));
|
||||
|
||||
|
||||
@@ -51,13 +51,9 @@ function bez_edit_bezoekers(afspraak_key, afspraak_begin, afspraak_eind, loc_key
|
||||
}
|
||||
|
||||
var flexfilter = [];
|
||||
if (params.bezoeker_key) // bestaande bezoekers
|
||||
{ // Mag hier alleen kenmerken < 900 zien.
|
||||
// Zie ook bez_flexkenmerk.inc (function isReadonly() en load_kenmerk.asp
|
||||
backo = !user.has("WEB_BEZFOF");
|
||||
if (backo)
|
||||
flexfilter = ["k.bez_kenmerk_volgnr < 900"];
|
||||
}
|
||||
if (!user.has("WEB_BEZBOF"))
|
||||
flexfilter = ["k.bez_kenmerk_volgnr < 900"];
|
||||
|
||||
// else: kenmerken voor nieuwe bezoekers worden aangemaakt door load_kenmerk.asp
|
||||
|
||||
%>
|
||||
|
||||
@@ -37,9 +37,9 @@ if (!notr)
|
||||
|
||||
<%
|
||||
// Zie ook bez_flexkenmerk.inc (function isReadonly() en bez_edit_bezoekers.inc
|
||||
var backo = !user.has("WEB_BEZFOF");
|
||||
var backo = user.has("WEB_BEZBOF");
|
||||
var flexfilter = [];
|
||||
if (backo)
|
||||
if (!backo)
|
||||
flexfilter = ["k.bez_kenmerk_volgnr < 900 "];
|
||||
|
||||
generateFlexKenmerkCode ({ urole: getQParamSafe("urole"),
|
||||
|
||||
@@ -43,15 +43,19 @@ var sql = "SELECT * FROM fac_setting s, prs_v_perslid_fullnames pf"
|
||||
+ " AND fac_setting_key ="+fac_key;
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
if (!authFACFAC)
|
||||
user.auth_required_or_abort(oRs("fac_setting_flags").Value & 1); // moet zichtbaar zijn voor PRSSYS
|
||||
|
||||
var functie_key = oRs("fac_functie_key").Value;
|
||||
var sname = oRs("fac_setting_name").value;
|
||||
|
||||
var canView = authFACFAC ||
|
||||
(oRs("fac_setting_flags").Value & 1) ||
|
||||
(authFACTAB && (functie_key == authFACTAB.autfunctionkey || sname == 'flexfilespath'));
|
||||
|
||||
user.auth_required_or_abort(canView); // moet zichtbaar zijn voor PRSSYS
|
||||
|
||||
var isProtected = (functie_key != authPRSSYS.autfunctionkey);
|
||||
canChange = (!isProtected ||
|
||||
authFACFAC && functie_key == authFACFAC.autfunctionkey ||
|
||||
authFACTAB && functie_key == authFACTAB.autfunctionkey)
|
||||
authFACTAB && (functie_key == authFACTAB.autfunctionkey || sname == 'flexfilespath'))
|
||||
|
||||
%>
|
||||
|
||||
@@ -165,7 +169,6 @@ canChange = (!isProtected ||
|
||||
if (canChange)
|
||||
buttons.push ({title: L("lcl_submit"), icon: "opslaan.png", action: "doSubmit()" });
|
||||
buttons.push( {title: L("lcl_cancel"), icon: "undo.png", action: "doCancel()" } );
|
||||
var sname = oRs("fac_setting_name").value;
|
||||
if (fac_key > 0)
|
||||
{
|
||||
var historytitle = sname;
|
||||
|
||||
@@ -31,10 +31,12 @@ var sql = "SELECT * FROM fac_setting s"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
var functie_key = oRs("fac_functie_key").Value;
|
||||
var sname = oRs("fac_setting_name").value;
|
||||
|
||||
var isProtected = (functie_key != authPRSSYS.autfunctionkey);
|
||||
canChange = (!isProtected ||
|
||||
authFACFAC && functie_key == authFACFAC.autfunctionkey ||
|
||||
authFACTAB && functie_key == authFACTAB.autfunctionkey)
|
||||
authFACTAB && (functie_key == authFACTAB.autfunctionkey || sname == 'flexfilespath'))
|
||||
|
||||
user.auth_required_or_abort(canChange);
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ var outputmode = getQParamInt("outputmode", 0);
|
||||
var autfunction = "WEB_PRSSYS";
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
var hasFACFAC = user.checkAutorisation("WEB_FACFAC", true);
|
||||
var hasFACTAB = user.checkAutorisation("WEB_FACTAB", true);
|
||||
var overruled = (getQParam("is_overrule", "") == "on")
|
||||
|
||||
FCLTHeader.Requires({ plugins: ["jQuery"] })
|
||||
@@ -60,16 +61,15 @@ FCLTHeader.Requires({ plugins: ["jQuery"] })
|
||||
+ " OR UPPER(fac_setting_pvalue) LIKE " + safe.quoted_sql_wild("%" + zoek + "%")
|
||||
+ ")"
|
||||
: "")
|
||||
+ (smodule != "-1"
|
||||
? " AND fac_setting_module = " + safe.quoted_sql(smodule)
|
||||
: "")
|
||||
+ (!hasFACFAC
|
||||
? " AND BITAND (fac_setting_flags, 1) = 1" // zichtbaar voor PRSSYS
|
||||
:"")
|
||||
+ (overruled
|
||||
? " AND fac_setting_pvalue IS NOT NULL"
|
||||
:"")
|
||||
+ " ORDER BY fac_setting_name";
|
||||
if (smodule != "-1")
|
||||
sqln += " AND fac_setting_module = " + safe.quoted_sql(smodule);
|
||||
if (!hasFACFAC)
|
||||
sqln += " AND (BITAND (fac_setting_flags, 1) = 1" // zichtbaar voor PRSSYS
|
||||
+ (hasFACTAB? " OR fac_functie_code = 'WEB_FACTAB' OR fac_setting_name = 'flexfilespath'":"")
|
||||
+ ")"
|
||||
if (overruled)
|
||||
sqln += " AND fac_setting_pvalue IS NOT NULL";
|
||||
sqln += " ORDER BY fac_setting_name";
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -737,6 +737,22 @@ __GROUP = "FACILITOR software";
|
||||
testfolder(rooturl + "/cust", true); // mustbethere
|
||||
testfolder(rooturl + "/temp", true); // mustbethere
|
||||
|
||||
if (typeof __DoLog == "function")
|
||||
checker("Logfile writable?",
|
||||
function ()
|
||||
{
|
||||
var result = { result: resultcodes.ok,
|
||||
message: " <a href='fac_StreamFile.asp?logger=0' target='_new'>View</a> the logfile"
|
||||
};
|
||||
if (!__DoLog("Fac_verify test {0}".format(toDateTimeString(new Date())), "#0ff" ))
|
||||
{
|
||||
result.result = resultcodes.error;
|
||||
result.message += "<br>" + safe.html(__LogError);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
)
|
||||
|
||||
// TODO: Zelf onder cust zoeken naar een (enkele) folder met een Oracle.udl?
|
||||
checker("Determine customerID",
|
||||
function ()
|
||||
|
||||
@@ -276,10 +276,14 @@ function validateForm(fName, params)
|
||||
{
|
||||
hint = spantitle[0].getAttribute("title");
|
||||
if (hint == '')
|
||||
{
|
||||
hint = L("lcl_shared_validator_format");
|
||||
}
|
||||
validatorHint.push((spantitle[0].textContent || spantitle[0].innerText) + ' ' + hint);
|
||||
|
||||
hint = (spantitle[0].textContent || spantitle[0].innerText) + ' ' + hint
|
||||
|
||||
// FSN#41130, voorkomen van dubbele hint's
|
||||
// door datum-validatie wordt _isGoodTextFormat() 2x doorlopen
|
||||
if ($.inArray(hint, validatorHint) == -1)
|
||||
validatorHint.push(hint);
|
||||
}
|
||||
vIsGood = false;
|
||||
}
|
||||
|
||||
@@ -240,7 +240,8 @@ var sorttable = {
|
||||
node.getElementsByTagName('input').length;
|
||||
|
||||
var hasFontAwesome = node.querySelectorAll('i.fa').length > 0;
|
||||
var prefix, infix, postfix = "";
|
||||
var prefix = "";
|
||||
var postfix = "";
|
||||
|
||||
if (hasFontAwesome)
|
||||
{
|
||||
|
||||
@@ -286,7 +286,11 @@ if (addSubheader)
|
||||
}
|
||||
|
||||
function mld_accept()
|
||||
{ // E<>rst accepteren, dan saven. Ander heb je met BOF maar zonder FOF een probleem
|
||||
{
|
||||
if (!validateForm("meld"))
|
||||
return false;
|
||||
|
||||
// E<>rst accepteren, dan saven. Ander heb je met BOF maar zonder FOF een probleem
|
||||
$.post( "../mld/mld_accept_save.asp?mld_key=<%=mld_key%>"
|
||||
, $("[name=meld]").serialize()
|
||||
<% if (this_mld.canChange) { %>
|
||||
@@ -307,6 +311,9 @@ if (addSubheader)
|
||||
|
||||
function mld_close()
|
||||
{
|
||||
if (!validateForm("meld"))
|
||||
return false;
|
||||
|
||||
$.post( $("form[name=meld]")[0].action
|
||||
, $("[name=meld]").serialize()
|
||||
, FcltCallbackAndThen(function ()
|
||||
|
||||
@@ -112,7 +112,8 @@ function Deleted()
|
||||
+ " w.alg_ruimte_aanduiding || '(' || alg_locatie_omschrijving || ')' alg_ruimte_aanduiding, "
|
||||
+ " w.prs_werkplek_aanduiding, "
|
||||
+ " pf.prs_perslid_naam_full, "
|
||||
+ " prs_perslid_dienstverband "
|
||||
+ " prs_perslid_dienstverband, "
|
||||
+ " prs_werkplek_virtueel"
|
||||
+ " FROM prs_v_werkplek_gegevens w, "
|
||||
+ " prs_perslidwerkplek pw, "
|
||||
+ " prs_v_aanwezigperslid p, "
|
||||
@@ -143,6 +144,13 @@ function Deleted()
|
||||
|
||||
sqln += " ORDER BY prs_perslid_naam_full, prs_perslidwerkplek_volgnr, prs_werkplek_aanduiding ";
|
||||
|
||||
function fnVirtueel(oRs)
|
||||
{
|
||||
if (oRs("prs_werkplek_virtueel").Value)
|
||||
return L("lcl_estate_wp_virt");
|
||||
return "";
|
||||
}
|
||||
|
||||
var buttons = [];
|
||||
if (canAdd)
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "doAdd()" });
|
||||
@@ -169,6 +177,8 @@ function Deleted()
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_name"), content: "prs_perslid_naam_full", hasActions: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_occupation_perc"), content: "prs_perslidwerkplek_bezetting"}));
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_wp_virt"), content: fnVirtueel}));
|
||||
|
||||
rst.addAction({ action: "bezettingEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
if (canAdd)
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: !embedded, multiOnce: true});
|
||||
|
||||
@@ -55,10 +55,16 @@ function bepaalNiveau(pModule, pNiveau)
|
||||
return pNiveau;
|
||||
}
|
||||
|
||||
var cache_bepaalKenmerkGegevens = []; // vanuit API2 mogelijk voor heel veel records aangeroepen
|
||||
function bepaalKenmerkGegevens(pModule, pKenmerkkey)
|
||||
{
|
||||
if (pKenmerkkey == null)
|
||||
return {kenmerk_omschrijving: null, kenmerk_type: null};
|
||||
|
||||
var cache_code = pModule + "_" + pKenmerkkey;
|
||||
if (cache_code in cache_bepaalKenmerkGegevens)
|
||||
return cache_bepaalKenmerkGegevens[cache_code];
|
||||
|
||||
var table;
|
||||
var srttable;
|
||||
switch (pModule)
|
||||
@@ -105,7 +111,8 @@ function bepaalKenmerkGegevens(pModule, pKenmerkkey)
|
||||
var kenmerk_type = oRs("kenmerk_type").Value;
|
||||
oRs.close();
|
||||
|
||||
return {kenmerk_omschrijving: kenmerk_omschrijving, kenmerk_type: kenmerk_type};
|
||||
cache_bepaalKenmerkGegevens[cache_code] = {kenmerk_omschrijving: kenmerk_omschrijving, kenmerk_type: kenmerk_type}
|
||||
return cache_bepaalKenmerkGegevens[cache_code];
|
||||
}
|
||||
|
||||
function subfolderNew(pNiveau, pId)
|
||||
|
||||
@@ -1127,7 +1127,7 @@ function abort_with_warning(warning, code)
|
||||
Response.Status = code;
|
||||
Response.End;
|
||||
}
|
||||
else if (JSON_Result && JSON)
|
||||
else if (JSON_Result && typeof JSON != "undefined")
|
||||
{
|
||||
Response.Write(JSON.stringify({ warning: warning, keepForm: true }));
|
||||
}
|
||||
|
||||
@@ -4336,7 +4336,7 @@ body.floorscreen3d {
|
||||
transition: color 0.4s;
|
||||
}
|
||||
.hasIcon i.fa, i.fa.hasIcon {
|
||||
color:==iconhovercolor==;
|
||||
color:==iconcolor==;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
|
||||
@@ -520,7 +520,7 @@ function listKenmerk(sql, module, key, props)
|
||||
else
|
||||
forceNewLine = false;
|
||||
|
||||
if (kenmerk_search || val && val!="")
|
||||
if (kenmerk_search || val != null && val != "")
|
||||
allCollapsable = false;
|
||||
|
||||
// Eerst de simpele datatypes ('C', 'D' en 'N'). De complexere overrulen kv mogelijk later nog wel.
|
||||
|
||||
@@ -257,7 +257,7 @@ function __LogCloseLine(handle, s_extra, optionalColor)
|
||||
{
|
||||
if (__Logging & 1)
|
||||
{
|
||||
__DoLogCloseLine(handle, s_extra, optionalColor)
|
||||
return __DoLogCloseLine(handle, s_extra, optionalColor)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -268,9 +268,13 @@ function __DoLogCloseLine(handle, s_extra, optionalColor)
|
||||
try
|
||||
{
|
||||
theLogger.log_close(handle, s_extra?String(s_extra):null, optionalColor);
|
||||
return true;
|
||||
}
|
||||
catch(e)
|
||||
{ // Waarschijnlijk een permission denied omdat twee processen tegelijk proberen te schrijven
|
||||
__LogError = e.description;
|
||||
debugger;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -331,10 +335,11 @@ function __DoLog(s, optionalColor, optionalCaller, leave_open)
|
||||
}
|
||||
else
|
||||
s = Server.HTMLEncode(String(s)).replace(/\n/g, "<br>");
|
||||
__SafeDoLog(s, optionalColor, optionalCaller||__DoLog.caller, leave_open);
|
||||
return __SafeDoLog(s, optionalColor, optionalCaller||__DoLog.caller, leave_open);
|
||||
}
|
||||
|
||||
// Veronderstel dat s HTML-safe is
|
||||
var __LogError = "";
|
||||
function __SafeDoLog(s, optionalColor, optionalCaller, leave_open)
|
||||
{
|
||||
if (typeof Logging_disable != "undefined")
|
||||
@@ -346,7 +351,9 @@ function __SafeDoLog(s, optionalColor, optionalCaller, leave_open)
|
||||
catch(e)
|
||||
{ // Waarschijnlijk een permission denied omdat twee processen tegelijk proberen te schrijven
|
||||
//throw(e);
|
||||
__LogError = e.description;
|
||||
debugger;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -410,13 +417,13 @@ function __DumpCollection(pCollection, title, optionalColor)
|
||||
// Log alle Request.Form variabelen in een tabel onvoorwaardelijk
|
||||
function __DoLogForm(optionalColor)
|
||||
{
|
||||
__SafeDoLog(__DumpCollection(Request.Form, "Request.Form", optionalColor));
|
||||
return __SafeDoLog(__DumpCollection(Request.Form, "Request.Form", optionalColor));
|
||||
}
|
||||
|
||||
function __LogForm()
|
||||
{
|
||||
if (!(__Logging & 1)) return; // Don't bother
|
||||
__DoLogForm();
|
||||
return __DoLogForm();
|
||||
}
|
||||
|
||||
// Noot: altijd jaar vooraan, goed voor logfiles, niet bedoeld voor presentatie
|
||||
|
||||
@@ -134,6 +134,10 @@ function getSqlFlex(flexModule, flexId, flexParams)
|
||||
+ ", bez_kenmerk k"
|
||||
+ " WHERE kb.bez_kenmerk_key = k.bez_kenmerk_key"
|
||||
+ " AND k.bez_kenmerk_verwijder IS NULL";
|
||||
if (!user.has("WEB_BEZBOF"))
|
||||
{
|
||||
sqlFlex += " AND k.bez_kenmerk_volgnr < 900";
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
403
CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim.xsl
Normal file
403
CUST/MARX/xsl/F_GetOnderhoudsOpdrachtSIDB_SALES005_etim.xsl
Normal file
@@ -0,0 +1,403 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:msxml="urn:schemas-microsoft-com:xslt"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" version="1.0">
|
||||
<xsl:import href="./F_SIDB_common.xsl"/>
|
||||
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:variable name="Rev">
|
||||
<!-- Revision -->
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template match="opdracht">
|
||||
<etim xmlns="">
|
||||
<header>
|
||||
<etim_UserId><xsl:value-of select="uitvoerende/bedrijf/bedrijfadres/username"/></etim_UserId>
|
||||
<etim_Password><xsl:value-of select="uitvoerende/bedrijf/bedrijfadres/password"/></etim_Password>
|
||||
<etim_MsgDateTime><xsl:value-of select="//header/dateYear"/>-<xsl:value-of select="//header/dateMonth"/>-<xsl:value-of select="//header/dateDay"/>T<xsl:value-of select="substring-after(//header/dateTime,' ')"/></etim_MsgDateTime>
|
||||
<etim_VersionId><xsl:value-of select="//header/version"/></etim_VersionId>
|
||||
</header>
|
||||
<!-- SIDB Onderhoudsopdracht 'insbou' Variant 'Basismodel010' versie 001 (releasedatum 11-2015) -->
|
||||
<MaintenanceInstruction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005" xsi:schemaLocation="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005 Onderhoudsopdracht_SALES005Beta.xsd">
|
||||
<!-- SIDB description - Nummer ter identificatie van een bericht. Mandatory, (C17) -->
|
||||
<!-- Voorbeeldformaat: MAR24/1@dd-mm-jjjj hh:mm:ss -->
|
||||
<MessageNumber><xsl:value-of select="key"/>@<xsl:value-of select="substring(//header/dateYear,3,2)"/><xsl:value-of select="//header/dateMonth"/><xsl:value-of select="//header/dateDay"/></MessageNumber>
|
||||
<!-- SIDB - Datum waarop een bericht is aangemaakt. Mandatory, formaat CCYY-MM-DD -->
|
||||
<MessageDate><xsl:value-of select="//header/dateYear"/>-<xsl:value-of select="//header/dateMonth"/>-<xsl:value-of select="//header/dateDay"/></MessageDate>
|
||||
<!-- SIDB description - Tijdstip waarop het bericht is aangemaakt. Optional, formaat hhmm -->
|
||||
<MessageTime><xsl:value-of select="substring-after(//header/dateTime,' ')"/></MessageTime>
|
||||
<!-- SIDB - Partij die de opdracht geeft, Mandatory node -->
|
||||
<Buyer>
|
||||
<!-- SIDB - Global Location Number (GLN), een wereldwijd uniek nummer ter identificatie van een partij of lokatie. Optioneel!?!?!? N(13) -->
|
||||
<GLN><xsl:apply-templates select="melding/voor/afdeling/bedrijf/leverancier_nr"/></GLN>
|
||||
<!-- SIDB - Tekstveld met de naam van de partij of lokatie. Optioneel, C(50) -->
|
||||
<Name><xsl:value-of select="melding/voor/afdeling/bedrijf/naam"/></Name>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<StreetAndNumber><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_adres"/></StreetAndNumber>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<City><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_plaats"/></City>
|
||||
<!-- SIDB - Tekstveld met de postcode van het adres van een partij of lokatie. Optioneel, C(9) -->
|
||||
<PostalCode><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_postcode"/></PostalCode>
|
||||
<!-- SIDB - Code van het land van het adres van de partij of lokatie. Optioneel, C(2) -->
|
||||
<!-- <Country></Country> -->
|
||||
<!-- SIDB - Gegevens over een afdeling of persoon van de partij waarmee contact kan worden opgenomen via telefoon, fax of email. Optioneel -->
|
||||
<ContactInformation>
|
||||
<!-- SIDB - Tekstveld met de naam van een persoon waarmee contact kan worden opgenomen. Optioneel, C(35) -->
|
||||
<ContactPersonName>
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=13] != ''"><xsl:value-of select="kenmerk[@key=13]"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="melding/voor/afdeling/bedrijf/contact_persoon"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</ContactPersonName>
|
||||
<!-- SIDB - Nummer waarmee via de telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<PhoneNumber><xsl:value-of select="melding/voor/afdeling/bedrijf/contact_telefoon"/></PhoneNumber>
|
||||
<!-- SIDB - Tekstveld met het elektronische adres waarmee via e-mail contact kan worden opgenomen. Optioneel, C(254) -->
|
||||
<EmailAddress><xsl:value-of select="melding/voor/afdeling/bedrijf/email"/></EmailAddress>
|
||||
</ContactInformation>
|
||||
</Buyer>
|
||||
<!-- SIDB - Partij die onderdeel is van de opdrachtgever maar elders is gevestigd, Optionele node -->
|
||||
<!-- Onbekend en daarmee nu niet relevant, laten we dus leeg -->
|
||||
<!-- <Affiliate></Affiliate> -->
|
||||
<!-- SIDB - Aannemer, Partij die opdracht gaat uitvoeren. Mandatory -->
|
||||
<Contractor>
|
||||
<!-- SIDB - Global Location Number (GLN), een wereldwijd uniek nummer ter identificatie van een partij of lokatie (hier de aannemer). Optioneel!?!?!? N(13) -->
|
||||
<GLN><xsl:apply-templates select="uitvoerende/bedrijf/leverancier_nr"/></GLN>
|
||||
<!-- SIDB - Tekstveld met de naam van de partij of lokatie. Optioneel, C(50) -->
|
||||
<Name><xsl:value-of select="uitvoerende/bedrijf/naam"/></Name>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<StreetAndNumber><xsl:value-of select="uitvoerende/bedrijf/bezoek_adres"/></StreetAndNumber>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<City><xsl:value-of select="uitvoerende/bedrijf/bezoek_plaats"/></City>
|
||||
<!-- SIDB - Tekstveld met de postcode van het adres van een partij of lokatie. Optioneel, C(9) -->
|
||||
<PostalCode><xsl:value-of select="uitvoerende/bedrijf/bezoek_postcode"/></PostalCode>
|
||||
<!-- SIDB - Code van het land van het adres van de partij of lokatie. Optioneel, C(2) -->
|
||||
<!-- <Country></Country> -->
|
||||
</Contractor>
|
||||
<!-- SIDB - Niveau in het bericht waar de opdrachten worden gespecificeerd. Mandatory-->
|
||||
<InstructionData>
|
||||
<!-- SIDB - Nummer ter identificatie van een opdracht binnen een bericht. Mandatory, C(17)-->
|
||||
<!-- Intern opdrachtnummer vanuit Broker/koppelsysteem (= Mareon), toegekend door de zender van het bericht, ontvanger vermeldt dit nummer op pakbon en/of factuur. Verplicht, C(17)-->
|
||||
<!-- Bedoeld voor system-2-system communicatie -->
|
||||
<InstructionNumber><xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/><xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/></InstructionNumber>
|
||||
<!-- SIDB - Extra nummer ter verdere identificatie van een opdracht of opdrachtonderdeel. Optioneel, C(17)-->
|
||||
<!-- Hier wordt het opdrachtnummer van Tobias (123456.1) of TobiasAX (IOR12345) neergezet. -->
|
||||
<InstructionSubNumber><xsl:value-of select="opdr_id"/></InstructionSubNumber>
|
||||
<!-- FSN#31496: Meldingnummer erbij (voor plannen Plegt-Vos) -->
|
||||
<!-- Meldingnummer in het bronsysteem, toegekend door de zender van het bronbericht, ontvanger zou bij InstructionNumber kunnen relateren aan dit InstructionSubNumber -->
|
||||
<!-- 1 Meldingnummer kan 'n' OrderNumbers hebben, vanaf de 2e order bij een call kan ontvanger ervoor kiezen om dit te koppelen aan planning, beter gezegd geen expliciet planning -->
|
||||
<!-- Oftewel shortcut in proces: indien de 1e opdracht al is ingepland bij handyman 'X', dan kan in de systeemkoppeling ervoor worden gekozen om de 2e opdracht bij hetzelfde meldingnummer op dezelfde datum/dezelfde handyman in te plannen -->
|
||||
<!-- Hiervoor bestaat (nog!) geen SidB node-->
|
||||
<!-- TIP: voorlopig kan het MAR-nummer (voor de slash) als meldingnummer worden hanteert, deze volstaat ook als kapstok voor meldingnummer -->
|
||||
<!-- <InstructionSubNumber><xsl:value-of select="melding/externnr"/></InstructionSubNumber> -->
|
||||
<!-- SIDB - Code waarmee de opdracht nader wordt gespecificeerd. Codes zijn 500, 501, 505 en 506. Optioneel, C(3)-->
|
||||
<!-- Onbekend, hier niet ingevuld-->
|
||||
|
||||
<!-- <InstructionType></InstructionType> -->
|
||||
<!-- SIDB - Datum waarop de opdracht is gegeven (aangemaakt). Optioneel, CCYYMMDD -->
|
||||
<InstructionDate><xsl:value-of select="datumbegin/jaar"/>-<xsl:value-of select="datumbegin/maand"/>-<xsl:value-of select="datumbegin/dag"/></InstructionDate>
|
||||
<!-- SIDB - Tijd waarop de opdracht is gegeven (aangemaakt). Optioneel, hh:mm:ss -->
|
||||
<InstructionTime><xsl:value-of select="datumbegin/tijd"/>:00</InstructionTime>
|
||||
<!-- SIDB - Tekstveld met de inhoud van aanvullende informatie. Optioneel, C(70) -->
|
||||
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
|
||||
<FreeText>
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</FreeText>
|
||||
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
|
||||
<ContractReference></ContractReference>
|
||||
<!-- SIDB - Gegevens over de te onderhouden locatie. Optioneel!?!?!? -->
|
||||
<MaintenanceLocation>
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een woningcorporatie complex. Optioneel, C(17) -->
|
||||
<!-- <ComplexNumber></ComplexNumber> -->
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een pand. Optioneel, C(17) -->
|
||||
<PremisesNumber><xsl:value-of select="kenmerk[@key='15']"/></PremisesNumber>
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een vastgoedeenheid. Optioneel, C(17) -->
|
||||
<RealEstateUnitNumber><xsl:value-of select="kenmerk[@key='16']"/></RealEstateUnitNumber>
|
||||
<!-- SIDB - Tekstvelden met straatnaam en huisnummer van het adres van de lokatie. Mandatory, C(35) -->
|
||||
<!-- Melding kenmerk key 9 is straatnaam -->
|
||||
<Street><xsl:value-of select="substring(melding/kenmerk[@key='9'],1,35)"/></Street>
|
||||
<!-- Melding kenmerk key 10 is huisnummer, hierin zit ook eventueel de toevoeging-->
|
||||
<HouseNumber><xsl:value-of select="substring(melding/kenmerk[@key='10'],1,7)"/></HouseNumber>
|
||||
<!-- SIDB - Tekstvelden met Postcode van de lokatie. Mandatory, C(9) -->
|
||||
<!-- Melding kenmerk key 3 is postcode -->
|
||||
<PostalCode><xsl:value-of select="substring(melding/kenmerk[@key='3'],1,9)"/></PostalCode>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de lokatie. Mandatory, C(35) -->
|
||||
<!-- Melding kenmerk key 4 is plaatsnaam -->
|
||||
<City><xsl:value-of select="substring(melding/kenmerk[@key='4'],1,35)"/></City>
|
||||
<!-- SIDB - Tekstveld met de naam van de huismeester of huurder die de onderhoudsmelding heeft gedaan. Optioneel, C(35) -->
|
||||
<!-- Melding kenmerk key 1 is huurder -->
|
||||
<ContactPersonName><xsl:value-of select="substring(melding/kenmerk[@key='1'],1,35)"/></ContactPersonName>
|
||||
<!-- SIDB - Nummer waarmee via de telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<!-- Melding kenmerk key 5 is telefoon van huurder -->
|
||||
<PhoneNumber1><xsl:value-of select="melding/kenmerk[@key='5']"/></PhoneNumber1>
|
||||
<!-- SIDB - Nummer waarmee via de 2e telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<!-- Melding kenmerk key 8 is mobielnummer van huurder -->
|
||||
<PhoneNumber2><xsl:value-of select="melding/kenmerk[@key='8']"/></PhoneNumber2>
|
||||
<EmailAddress1><xsl:value-of select="melding/kenmerk[@key='18']"/></EmailAddress1>
|
||||
<!--
|
||||
<EmailAddress2></EmailAddress2>
|
||||
-->
|
||||
</MaintenanceLocation>
|
||||
<!-- SIDB - Gegevens over de datum, tijd of periode van levering van onderhoud. -->
|
||||
<AppointmentDateTimeInformation>
|
||||
<xsl:if test="plandatum/datum!=''">
|
||||
<!-- Datum waarop de opdracht uitgevoerd moet worden, Optioneel, formaat CCYYMMDD -->
|
||||
<RequiredDeliveryDate><xsl:value-of select="plandatum/jaar"/>-<xsl:value-of select="plandatum/maand"/>-<xsl:value-of select="plandatum/dag"/></RequiredDeliveryDate>
|
||||
<!-- Tijdstip waarop de opdracht uitgevoerd moet worden, Optioneel, formaat hhmm -->
|
||||
<RequiredDeliveryTime><xsl:value-of select="plandatum/tijd"/>:00</RequiredDeliveryTime>
|
||||
</xsl:if>
|
||||
<!-- Levertijdvak, gegevens over periode waarbinnen opdracht uitgevoerd/geleverd kan worden, Optioneel -->
|
||||
<DeliveryTimeFrame>
|
||||
<!-- SIDB - Datum vanaf wanneer het onderhoud geleverd kan worden. Mandatory, formaat CCYYMMDD -->
|
||||
<DeliveryDateEarliest><xsl:value-of select="datumbegin/jaar"/>-<xsl:value-of select="datumbegin/maand"/>-<xsl:value-of select="datumbegin/dag"/></DeliveryDateEarliest>
|
||||
<!-- Tijdstip op de vroegste leverdatum vanaf wanneer het onderhoud geleverd kan worden. Optioneel, formaat hhmm -->
|
||||
<!-- <DeliveryTimeEarliest></DeliveryTimeEarliest> -->
|
||||
<!-- SIDB - Datum tot en met wanneer het onderhoud geleverd kan worden. Mandatory, formaat CCYYMMDD -->
|
||||
<DeliveryDateLatest><xsl:value-of select="einddatum/jaar"/>-<xsl:value-of select="einddatum/maand"/>-<xsl:value-of select="einddatum/dag"/></DeliveryDateLatest>
|
||||
<!-- SIDB - Tijdstip op de laatste leverdatum tot wanneer het onderhoud geleverd kan worden. Optioneel, formaat hhmm -->
|
||||
<!-- <DeliveryTimeLatest></DeliveryTimeLatest> -->
|
||||
</DeliveryTimeFrame>
|
||||
</AppointmentDateTimeInformation>
|
||||
<!-- SIDB - Niveau in het bericht waar de onderhoudsdetails worden gespecificeerd, Optioneel -->
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(materialen) > 0">
|
||||
<!-- Mareon opdracht MET materiaalregels, die gaan we stuk voor stuk langs (Mareon AX-opdrachten voor MARX07) -->
|
||||
<xsl:for-each select="materialen">
|
||||
<InstructionLine>
|
||||
<xsl:call-template name="construct_instructionlines">
|
||||
<xsl:with-param name="p_LineNumber" select="position()"/>
|
||||
<xsl:with-param name="p_Quantity" select="aantal"/>
|
||||
<!-- MARX#38434: default met PCE doorsturen, indien AX leeg wordt aangeleverd. -->
|
||||
<xsl:with-param name="p_MeasurementUnitQuantity">
|
||||
<xsl:choose>
|
||||
<xsl:when test="eenheidcode != ''"><xsl:value-of select="eenheidcode"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="SidB_translate_eenheidscode">
|
||||
<xsl:with-param name="p_unit" select="eenheid"/>
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="p_NormPriceCode" select="substring(normalize-space(code),1,17)"/>
|
||||
<xsl:with-param name="p_LEDOInformation" select="substring(normalize-space(extra3),1,1000)"/>
|
||||
<xsl:with-param name="p_ShortDescription" select="substring(normalize-space(omschrijving),1,35)"/>
|
||||
<xsl:with-param name="p_LongDescription" select="substring(normalize-space(info),1,70)"/>
|
||||
<xsl:with-param name="p_FreeText" select="substring(melding/kenmerk[@key='6'],1,1000)"/>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="construct_instruction_pricelines">
|
||||
<xsl:with-param name="p_price" select="stuksprijs"/>
|
||||
<xsl:with-param name="p_taxperc" select="btwpercentage"/>
|
||||
</xsl:call-template>
|
||||
</InstructionLine>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- Mareon opdracht ZONDER materiaalregels, dan gaan we zelf 1 instructie-regel maken (AX-opdrachten tot MARX07 en Tobias-oud koppeling) -->
|
||||
<InstructionLine>
|
||||
<xsl:call-template name="construct_instructionlines">
|
||||
<xsl:with-param name="p_LineNumber" select="'1'"/>
|
||||
<xsl:with-param name="p_Quantity" select="'1'"/>
|
||||
<xsl:with-param name="p_MeasurementUnitQuantity" select="'PCE'"/>
|
||||
<xsl:with-param name="p_NormPriceCode" select="''"/>
|
||||
<xsl:with-param name="p_LEDOInformation">
|
||||
<!-- als memo veld (key 12) is gevuld, dan gaan we die tonen, anders de opdrachtomschrijving (waar de memo ook in zit, dit is alleen bij oude opdrachten van voor release MARX07 -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key=12]),1,1000)"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="p_ShortDescription" select="substring(normalize-space(omschrijving),1,35)"/>
|
||||
<xsl:with-param name="p_LongDescription" select="substring(normalize-space(omschrijving),1,70)"/>
|
||||
<xsl:with-param name="p_FreeText" select="substring(melding/kenmerk[@key='6'],1,1000)"/>
|
||||
</xsl:call-template>
|
||||
</InstructionLine>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</InstructionData>
|
||||
</MaintenanceInstruction>
|
||||
</etim>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="construct_instructionlines" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<xsl:param name="p_LineNumber"/>
|
||||
<xsl:param name="p_Quantity"/>
|
||||
<xsl:param name="p_MeasurementUnitQuantity"/>
|
||||
<xsl:param name="p_NormPriceCode"/>
|
||||
<xsl:param name="p_LEDOInformation"/>
|
||||
<xsl:param name="p_ShortDescription"/>
|
||||
<xsl:param name="p_LongDescription"/>
|
||||
<xsl:param name="p_FreeText"/>
|
||||
|
||||
|
||||
<!-- SIDB - Regelnummer ter identificatie van een regel. Mandatory, N(6) -->
|
||||
<!-- Er is - tot nu toe - altijd 1 regelnummer binnen de opdracht, standaard dus 1 -->
|
||||
<LineNumber><xsl:value-of select="$p_LineNumber"/></LineNumber>
|
||||
<!-- SIDB - Het aantal eenheden van werk geidentificeerd door de normprijscode. Mandatory, N(15) -->
|
||||
<Quantity><xsl:value-of select="$p_Quantity"/></Quantity>
|
||||
<!-- SIDB - Code van de meeteenheid waarin het aantal is uitgedrukt. Mandatory, C(3) -->
|
||||
<MeasurementUnitQuantity><xsl:value-of select="$p_MeasurementUnitQuantity"/></MeasurementUnitQuantity>
|
||||
<!-- SIDB - Code waarmee het uit te voeren werk wordt aangegeven. Mandatory, C(17) -->
|
||||
<!-- Zie call FSN#34901 voor de (on)zin van dit veld -->
|
||||
<NormPriceCode><xsl:value-of select="$p_NormPriceCode"/></NormPriceCode>
|
||||
<!-- SIDB: Tekstveld met de beschrijving van de ruimte waar het onderhoud moet plaats vinden, Optioneel, C(35). -->
|
||||
<!-- Melding kenmerk key 6 is objectomschrijving uit Tobias, hier maar voorlopig in gebruiken aan gebrek aan beter -->
|
||||
<LEDOInformation><xsl:value-of select="$p_LEDOInformation"/></LEDOInformation>
|
||||
<!-- SIDB - Tekstveld met een korte nadere specificatie van de het werk geidentificeerd door de normprijscode. Optioneel, C(35) -->
|
||||
<ShortDescription><xsl:value-of select="$p_ShortDescription"/></ShortDescription>
|
||||
<!-- SIDB - Tekstveld met een lange nadere specificatie van de het werk geidentificeerd door de normprijscode.. Optioneel, C(70) -->
|
||||
<LongDescription><xsl:value-of select="$p_LongDescription"/></LongDescription>
|
||||
<!-- SIDB - Voor de rest optioneel, onderstaande gegevens nog niet bekend via Mareon -->
|
||||
<FreeText><xsl:value-of select="$p_FreeText"/></FreeText>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="construct_instruction_pricelines" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<xsl:param name="p_price"/>
|
||||
<xsl:param name="p_taxperc"/>
|
||||
<xsl:if test="$p_price != ''">
|
||||
<PriceInformation>
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
<PriceBase>
|
||||
<NumberOfUnitsInPriceBasis></NumberOfUnitsInPriceBasis>
|
||||
<MeasureUnitPriceBasis></MeasureUnitPriceBasis>
|
||||
</PriceBase>
|
||||
</PriceInformation>
|
||||
</xsl:if>
|
||||
<VATInformation>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="SOAPEnvelope">
|
||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<soap:Header/>
|
||||
<soap:Body>
|
||||
<xsl:apply-templates select="etim"/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
<xsl:template match="SOAPEnvelope">
|
||||
<soap:Envelope xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://etim.nl/xmlschemas/messageservice/2.40">
|
||||
<soap:Header>
|
||||
<ns:CustomInfo>
|
||||
<ns:IsTestMessage>false</ns:IsTestMessage>
|
||||
<!--Optional:-->
|
||||
<ns:LanguageCode>NL</ns:LanguageCode>
|
||||
<ns:IsContentCompressed>false</ns:IsContentCompressed>
|
||||
</ns:CustomInfo>
|
||||
<ns:AuthenticationInfo>
|
||||
<ns:ApplicationId>Mareon</ns:ApplicationId>
|
||||
<ns:VersionId><xsl:apply-templates select="etim/header/etim_VersionId"/></ns:VersionId>
|
||||
<ns:RelationId></ns:RelationId>
|
||||
<ns:UserId><xsl:apply-templates select="etim/header/etim_UserId"/></ns:UserId>
|
||||
<ns:Password><xsl:apply-templates select="etim/header/etim_Password"/></ns:Password>
|
||||
<!--Optional:-->
|
||||
<ns:SessionId></ns:SessionId>
|
||||
</ns:AuthenticationInfo>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ns:PostMessageRequest>
|
||||
<ns:MessageServiceMessage>
|
||||
<ns:MsgId>1</ns:MsgId>
|
||||
<ns:MsgType>ORDERS</ns:MsgType>
|
||||
<ns:MsgFormat>SALES</ns:MsgFormat>
|
||||
<ns:MsgVersion>005</ns:MsgVersion>
|
||||
<ns:MsgDateTime><xsl:apply-templates select="etim/header/etim_MsgDateTime"/></ns:MsgDateTime>
|
||||
<!--Zero or more repetitions:-->
|
||||
<ns:Attachment>
|
||||
<ns:URL></ns:URL>
|
||||
<!--Optional:-->
|
||||
<ns:DocumentType></ns:DocumentType>
|
||||
<!--Optional:-->
|
||||
<ns:FileType></ns:FileType>
|
||||
<!--Optional:-->
|
||||
<ns:FileName></ns:FileName>
|
||||
<ns:AttachedData></ns:AttachedData>
|
||||
</ns:Attachment>
|
||||
<!--Zero or more repetitions:-->
|
||||
<ns:MsgContent>
|
||||
<!--You may enter ANY elements at this point-->
|
||||
<xsl:apply-templates select="etim"/>
|
||||
</ns:MsgContent>
|
||||
</ns:MessageServiceMessage>
|
||||
</ns:PostMessageRequest>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
<xsl:template match="etim">
|
||||
<xsl:for-each select="*">
|
||||
<xsl:if test="name() = 'MaintenanceInstruction'">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</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="soapResult">
|
||||
<Result>
|
||||
<xsl:choose>
|
||||
<xsl:when test="PostMessageResponse/PostMessageResult = 'true'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
Foutmelding: <xsl:value-of select="PostMessageResponse/MessageServiceMessage"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</Result>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="opdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">cxml</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
|
||||
SOAPEnvelope is een harde tag die in PutOrders gedefinieerd wordt. -->
|
||||
<xsl:apply-templates select="SOAPEnvelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van response uit SOAP envelope -->
|
||||
<xsl:apply-templates select="soap:Envelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van de inhoud uit het bericht -->
|
||||
<xsl:apply-templates select="soapResult"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -0,0 +1,406 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:msxml="urn:schemas-microsoft-com:xslt"
|
||||
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" version="1.0">
|
||||
<xsl:import href="./F_SIDB_common.xsl"/>
|
||||
<xsl:output method="xml" indent="yes" encoding="utf-8"/>
|
||||
|
||||
<xsl:decimal-format name="european" decimal-separator="," grouping-separator="."/>
|
||||
|
||||
<xsl:param name="mode"/>
|
||||
|
||||
<xsl:variable name="Rev">
|
||||
<!-- Revision -->
|
||||
<xsl:value-of select="substring(translate('$Revision$', '$ ', ''), 10)"/>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:template match="opdracht">
|
||||
<etim xmlns="">
|
||||
<header>
|
||||
<etim_UserId><xsl:value-of select="uitvoerende/bedrijf/bedrijfadres/username"/></etim_UserId>
|
||||
<etim_Password><xsl:value-of select="uitvoerende/bedrijf/bedrijfadres/password"/></etim_Password>
|
||||
<etim_MsgDateTime><xsl:value-of select="//header/dateYear"/>-<xsl:value-of select="//header/dateMonth"/>-<xsl:value-of select="//header/dateDay"/>T<xsl:value-of select="substring-after(//header/dateTime,' ')"/></etim_MsgDateTime>
|
||||
<etim_VersionId><xsl:value-of select="//header/version"/></etim_VersionId>
|
||||
</header>
|
||||
<!-- SIDB Onderhoudsopdracht 'insbou' Variant 'Basismodel010' versie 001 (releasedatum 11-2015) -->
|
||||
<MaintenanceInstruction xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005 Onderhoudsopdracht_SALES005Beta.xsd" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<!-- SIDB description - Nummer ter identificatie van een bericht. Mandatory, (C17) -->
|
||||
<!-- Voorbeeldformaat: MAR24/1@dd-mm-jjjj hh:mm:ss -->
|
||||
<MessageNumber><xsl:value-of select="key"/>@<xsl:value-of select="substring(//header/dateYear,3,2)"/><xsl:value-of select="//header/dateMonth"/><xsl:value-of select="//header/dateDay"/></MessageNumber>
|
||||
<!-- SIDB - Datum waarop een bericht is aangemaakt. Mandatory, formaat CCYY-MM-DD -->
|
||||
<MessageDate><xsl:value-of select="//header/dateYear"/>-<xsl:value-of select="//header/dateMonth"/>-<xsl:value-of select="//header/dateDay"/></MessageDate>
|
||||
<!-- SIDB description - Tijdstip waarop het bericht is aangemaakt. Optional, formaat hhmm -->
|
||||
<MessageTime><xsl:value-of select="substring-after(//header/dateTime,' ')"/></MessageTime>
|
||||
<!-- SIDB - Partij die de opdracht geeft, Mandatory node -->
|
||||
<Buyer>
|
||||
<!-- SIDB - Global Location Number (GLN), een wereldwijd uniek nummer ter identificatie van een partij of lokatie. Optioneel!?!?!? N(13) -->
|
||||
<GLN><xsl:apply-templates select="melding/voor/afdeling/bedrijf/leverancier_nr"/></GLN>
|
||||
<!-- SIDB - Tekstveld met de naam van de partij of lokatie. Optioneel, C(50) -->
|
||||
<Name><xsl:value-of select="melding/voor/afdeling/bedrijf/naam"/></Name>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<StreetAndNumber><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_adres"/></StreetAndNumber>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<City><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_plaats"/></City>
|
||||
<!-- SIDB - Tekstveld met de postcode van het adres van een partij of lokatie. Optioneel, C(9) -->
|
||||
<PostalCode><xsl:value-of select="melding/voor/afdeling/bedrijf/bezoek_postcode"/></PostalCode>
|
||||
<!-- SIDB - Code van het land van het adres van de partij of lokatie. Optioneel, C(2) -->
|
||||
<!-- <Country></Country> -->
|
||||
<!-- SIDB - Gegevens over een afdeling of persoon van de partij waarmee contact kan worden opgenomen via telefoon, fax of email. Optioneel -->
|
||||
<ContactInformation>
|
||||
<!-- SIDB - Tekstveld met de naam van een persoon waarmee contact kan worden opgenomen. Optioneel, C(35) -->
|
||||
<ContactPersonName>
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=13] != ''"><xsl:value-of select="kenmerk[@key=13]"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="melding/voor/afdeling/bedrijf/contact_persoon"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</ContactPersonName>
|
||||
<!-- SIDB - Nummer waarmee via de telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<PhoneNumber><xsl:value-of select="melding/voor/afdeling/bedrijf/contact_telefoon"/></PhoneNumber>
|
||||
<!-- SIDB - Tekstveld met het elektronische adres waarmee via e-mail contact kan worden opgenomen. Optioneel, C(254) -->
|
||||
<EmailAddress><xsl:value-of select="melding/voor/afdeling/bedrijf/email"/></EmailAddress>
|
||||
</ContactInformation>
|
||||
</Buyer>
|
||||
<!-- SIDB - Partij die onderdeel is van de opdrachtgever maar elders is gevestigd, Optionele node -->
|
||||
<!-- Onbekend en daarmee nu niet relevant, laten we dus leeg -->
|
||||
<!-- <Affiliate></Affiliate> -->
|
||||
<!-- SIDB - Aannemer, Partij die opdracht gaat uitvoeren. Mandatory -->
|
||||
<Contractor>
|
||||
<!-- SIDB - Global Location Number (GLN), een wereldwijd uniek nummer ter identificatie van een partij of lokatie (hier de aannemer). Optioneel!?!?!? N(13) -->
|
||||
<GLN><xsl:apply-templates select="uitvoerende/bedrijf/leverancier_nr"/></GLN>
|
||||
<!-- SIDB - Tekstveld met de naam van de partij of lokatie. Optioneel, C(50) -->
|
||||
<Name><xsl:value-of select="uitvoerende/bedrijf/naam"/></Name>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<StreetAndNumber><xsl:value-of select="uitvoerende/bedrijf/bezoek_adres"/></StreetAndNumber>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de partij of lokatie. Optioneel, C(35) -->
|
||||
<City><xsl:value-of select="uitvoerende/bedrijf/bezoek_plaats"/></City>
|
||||
<!-- SIDB - Tekstveld met de postcode van het adres van een partij of lokatie. Optioneel, C(9) -->
|
||||
<PostalCode><xsl:value-of select="uitvoerende/bedrijf/bezoek_postcode"/></PostalCode>
|
||||
<!-- SIDB - Code van het land van het adres van de partij of lokatie. Optioneel, C(2) -->
|
||||
<!-- <Country></Country> -->
|
||||
</Contractor>
|
||||
<!-- SIDB - Niveau in het bericht waar de opdrachten worden gespecificeerd. Mandatory-->
|
||||
<InstructionData>
|
||||
<!-- SIDB - Nummer ter identificatie van een opdracht binnen een bericht. Mandatory, C(17)-->
|
||||
<!-- Intern opdrachtnummer vanuit Broker/koppelsysteem (= Mareon), toegekend door de zender van het bericht, ontvanger vermeldt dit nummer op pakbon en/of factuur. Verplicht, C(17)-->
|
||||
<!-- Bedoeld voor system-2-system communicatie -->
|
||||
<InstructionNumber><xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/><xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/></InstructionNumber>
|
||||
<!-- SIDB - Extra nummer ter verdere identificatie van een opdracht of opdrachtonderdeel. Optioneel, C(17)-->
|
||||
<!-- Hier wordt het opdrachtnummer van Tobias (123456.1) of TobiasAX (IOR12345) neergezet. -->
|
||||
<InstructionSubNumber><xsl:value-of select="opdr_id"/></InstructionSubNumber>
|
||||
<!-- FSN#31496: Meldingnummer erbij (voor plannen Plegt-Vos) -->
|
||||
<!-- Meldingnummer in het bronsysteem, toegekend door de zender van het bronbericht, ontvanger zou bij InstructionNumber kunnen relateren aan dit InstructionSubNumber -->
|
||||
<!-- 1 Meldingnummer kan 'n' OrderNumbers hebben, vanaf de 2e order bij een call kan ontvanger ervoor kiezen om dit te koppelen aan planning, beter gezegd geen expliciet planning -->
|
||||
<!-- Oftewel shortcut in proces: indien de 1e opdracht al is ingepland bij handyman 'X', dan kan in de systeemkoppeling ervoor worden gekozen om de 2e opdracht bij hetzelfde meldingnummer op dezelfde datum/dezelfde handyman in te plannen -->
|
||||
<!-- Hiervoor bestaat (nog!) geen SidB node-->
|
||||
<!-- TIP: voorlopig kan het MAR-nummer (voor de slash) als meldingnummer worden hanteert, deze volstaat ook als kapstok voor meldingnummer -->
|
||||
<!-- <InstructionSubNumber><xsl:value-of select="melding/externnr"/></InstructionSubNumber> -->
|
||||
<!-- SIDB - Code waarmee de opdracht nader wordt gespecificeerd. Codes zijn 500, 501, 505 en 506. Optioneel, C(3)-->
|
||||
<!-- Onbekend, hier niet ingevuld-->
|
||||
|
||||
<!-- <InstructionType></InstructionType> -->
|
||||
<!-- SIDB - Datum waarop de opdracht is gegeven (aangemaakt). Optioneel, CCYYMMDD -->
|
||||
<InstructionDate><xsl:value-of select="datumbegin/jaar"/>-<xsl:value-of select="datumbegin/maand"/>-<xsl:value-of select="datumbegin/dag"/></InstructionDate>
|
||||
<!-- SIDB - Tijd waarop de opdracht is gegeven (aangemaakt). Optioneel, hh:mm:ss -->
|
||||
<InstructionTime><xsl:value-of select="datumbegin/tijd"/>:00</InstructionTime>
|
||||
<!-- SIDB - Tekstveld met de inhoud van aanvullende informatie. Optioneel, C(70) -->
|
||||
<!-- Zie MARX#37078: Opdrachtomschrijving ook in de node in InstructionData/FreeText -->
|
||||
<FreeText>
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="kenmerk[@key='12']"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="omschrijving"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</FreeText>
|
||||
<!-- SIDB - Gegevens waarmee gerefereerd wordt aan een contract. Optioneel -->
|
||||
<ContractReference></ContractReference>
|
||||
<!-- SIDB - Gegevens over de te onderhouden locatie. Optioneel!?!?!? -->
|
||||
<MaintenanceLocation>
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een woningcorporatie complex. Optioneel, C(17) -->
|
||||
<!-- <ComplexNumber></ComplexNumber> -->
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een pand. Optioneel, C(17) -->
|
||||
<PremisesNumber><xsl:value-of select="kenmerk[@key='15']"/></PremisesNumber>
|
||||
<!-- SIDB - Uniek nummer ter identificatie van een vastgoedeenheid. Optioneel, C(17) -->
|
||||
<RealEstateUnitNumber><xsl:value-of select="kenmerk[@key='16']"/></RealEstateUnitNumber>
|
||||
<!-- SIDB - Tekstvelden met straatnaam en huisnummer van het adres van de lokatie. Mandatory, C(35) -->
|
||||
<!-- Melding kenmerk key 9 is straatnaam -->
|
||||
<Street><xsl:value-of select="substring(melding/kenmerk[@key='9'],1,35)"/></Street>
|
||||
<!-- Melding kenmerk key 10 is huisnummer, hierin zit ook eventueel de toevoeging-->
|
||||
<HouseNumber><xsl:value-of select="substring(melding/kenmerk[@key='10'],1,7)"/></HouseNumber>
|
||||
<!-- SIDB - Tekstvelden met Postcode van de lokatie. Mandatory, C(9) -->
|
||||
<!-- Melding kenmerk key 3 is postcode -->
|
||||
<PostalCode><xsl:value-of select="substring(melding/kenmerk[@key='3'],1,9)"/></PostalCode>
|
||||
<!-- SIDB - Tekstveld met de plaatsnaam van het adres van de lokatie. Mandatory, C(35) -->
|
||||
<!-- Melding kenmerk key 4 is plaatsnaam -->
|
||||
<City><xsl:value-of select="substring(melding/kenmerk[@key='4'],1,35)"/></City>
|
||||
<!-- SIDB - Tekstveld met de naam van de huismeester of huurder die de onderhoudsmelding heeft gedaan. Optioneel, C(35) -->
|
||||
<!-- Melding kenmerk key 1 is huurder -->
|
||||
<ContactPersonName><xsl:value-of select="substring(melding/kenmerk[@key='1'],1,35)"/></ContactPersonName>
|
||||
<!-- SIDB - Nummer waarmee via de telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<!-- Melding kenmerk key 5 is telefoon van huurder -->
|
||||
<PhoneNumber1><xsl:value-of select="melding/kenmerk[@key='5']"/></PhoneNumber1>
|
||||
<!-- SIDB - Nummer waarmee via de 2e telefoon contact kan worden opgenomen. Optioneel, C(20) -->
|
||||
<!-- Melding kenmerk key 8 is mobielnummer van huurder -->
|
||||
<PhoneNumber2><xsl:value-of select="melding/kenmerk[@key='8']"/></PhoneNumber2>
|
||||
<EmailAddress1><xsl:value-of select="melding/kenmerk[@key='18']"/></EmailAddress1>
|
||||
<!--
|
||||
<EmailAddress2></EmailAddress2>
|
||||
-->
|
||||
</MaintenanceLocation>
|
||||
<!-- SIDB - Gegevens over de datum, tijd of periode van levering van onderhoud. -->
|
||||
<AppointmentDateTimeInformation>
|
||||
<xsl:if test="plandatum/datum!=''">
|
||||
<!-- Datum waarop de opdracht uitgevoerd moet worden, Optioneel, formaat CCYYMMDD -->
|
||||
<RequiredDeliveryDate><xsl:value-of select="plandatum/jaar"/>-<xsl:value-of select="plandatum/maand"/>-<xsl:value-of select="plandatum/dag"/></RequiredDeliveryDate>
|
||||
<!-- Tijdstip waarop de opdracht uitgevoerd moet worden, Optioneel, formaat hhmm -->
|
||||
<RequiredDeliveryTime><xsl:value-of select="plandatum/tijd"/>:00</RequiredDeliveryTime>
|
||||
</xsl:if>
|
||||
<!-- Levertijdvak, gegevens over periode waarbinnen opdracht uitgevoerd/geleverd kan worden, Optioneel -->
|
||||
<DeliveryTimeFrame>
|
||||
<!-- SIDB - Datum vanaf wanneer het onderhoud geleverd kan worden. Mandatory, formaat CCYYMMDD -->
|
||||
<DeliveryDateEarliest><xsl:value-of select="datumbegin/jaar"/>-<xsl:value-of select="datumbegin/maand"/>-<xsl:value-of select="datumbegin/dag"/></DeliveryDateEarliest>
|
||||
<!-- Tijdstip op de vroegste leverdatum vanaf wanneer het onderhoud geleverd kan worden. Optioneel, formaat hhmm -->
|
||||
<!-- <DeliveryTimeEarliest></DeliveryTimeEarliest> -->
|
||||
<!-- SIDB - Datum tot en met wanneer het onderhoud geleverd kan worden. Mandatory, formaat CCYYMMDD -->
|
||||
<DeliveryDateLatest><xsl:value-of select="einddatum/jaar"/>-<xsl:value-of select="einddatum/maand"/>-<xsl:value-of select="einddatum/dag"/></DeliveryDateLatest>
|
||||
<!-- SIDB - Tijdstip op de laatste leverdatum tot wanneer het onderhoud geleverd kan worden. Optioneel, formaat hhmm -->
|
||||
<!-- <DeliveryTimeLatest></DeliveryTimeLatest> -->
|
||||
</DeliveryTimeFrame>
|
||||
</AppointmentDateTimeInformation>
|
||||
<!-- SIDB - Niveau in het bericht waar de onderhoudsdetails worden gespecificeerd, Optioneel -->
|
||||
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="count(materialen) > 0">
|
||||
<!-- Mareon opdracht MET materiaalregels, die gaan we stuk voor stuk langs (Mareon AX-opdrachten voor MARX07) -->
|
||||
<xsl:for-each select="materialen">
|
||||
<InstructionLine>
|
||||
<xsl:call-template name="construct_instructionlines">
|
||||
<xsl:with-param name="p_LineNumber" select="position()"/>
|
||||
<xsl:with-param name="p_Quantity" select="aantal"/>
|
||||
<!-- MARX#38434: default met PCE doorsturen, indien AX leeg wordt aangeleverd. -->
|
||||
<xsl:with-param name="p_MeasurementUnitQuantity">
|
||||
<xsl:choose>
|
||||
<xsl:when test="eenheidcode != ''"><xsl:value-of select="eenheidcode"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:call-template name="SidB_translate_eenheidscode">
|
||||
<xsl:with-param name="p_unit" select="eenheid"/>
|
||||
</xsl:call-template>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="p_NormPriceCode" select="substring(normalize-space(code),1,17)"/>
|
||||
<xsl:with-param name="p_LEDOInformation" select="substring(normalize-space(extra3),1,1000)"/>
|
||||
<xsl:with-param name="p_ShortDescription" select="substring(normalize-space(omschrijving),1,35)"/>
|
||||
<xsl:with-param name="p_LongDescription" select="substring(normalize-space(info),1,70)"/>
|
||||
<xsl:with-param name="p_FreeText" select="substring(melding/kenmerk[@key='6'],1,1000)"/>
|
||||
</xsl:call-template>
|
||||
<xsl:call-template name="construct_instruction_pricelines">
|
||||
<xsl:with-param name="p_price" select="stuksprijs"/>
|
||||
<xsl:with-param name="p_taxperc" select="btwpercentage"/>
|
||||
</xsl:call-template>
|
||||
</InstructionLine>
|
||||
</xsl:for-each>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<!-- Mareon opdracht ZONDER materiaalregels, dan gaan we zelf 1 instructie-regel maken (AX-opdrachten tot MARX07 en Tobias-oud koppeling) -->
|
||||
<InstructionLine>
|
||||
<xsl:call-template name="construct_instructionlines">
|
||||
<xsl:with-param name="p_LineNumber" select="'1'"/>
|
||||
<xsl:with-param name="p_Quantity" select="'1'"/>
|
||||
<xsl:with-param name="p_MeasurementUnitQuantity" select="'PCE'"/>
|
||||
<xsl:with-param name="p_NormPriceCode" select="''"/>
|
||||
<xsl:with-param name="p_LEDOInformation">
|
||||
<!-- als memo veld (key 12) is gevuld, dan gaan we die tonen, anders de opdrachtomschrijving (waar de memo ook in zit, dit is alleen bij oude opdrachten van voor release MARX07 -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="kenmerk[@key=12] != ''"><xsl:value-of select="substring(normalize-space(kenmerk[@key=12]),1,1000)"/></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="substring(normalize-space(omschrijving),1,1000)"/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:with-param>
|
||||
<xsl:with-param name="p_ShortDescription" select="substring(normalize-space(omschrijving),1,35)"/>
|
||||
<xsl:with-param name="p_LongDescription" select="substring(normalize-space(omschrijving),1,70)"/>
|
||||
<xsl:with-param name="p_FreeText" select="substring(melding/kenmerk[@key='6'],1,1000)"/>
|
||||
</xsl:call-template>
|
||||
</InstructionLine>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</InstructionData>
|
||||
</MaintenanceInstruction>
|
||||
</etim>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template name="construct_instructionlines" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<xsl:param name="p_LineNumber"/>
|
||||
<xsl:param name="p_Quantity"/>
|
||||
<xsl:param name="p_MeasurementUnitQuantity"/>
|
||||
<xsl:param name="p_NormPriceCode"/>
|
||||
<xsl:param name="p_LEDOInformation"/>
|
||||
<xsl:param name="p_ShortDescription"/>
|
||||
<xsl:param name="p_LongDescription"/>
|
||||
<xsl:param name="p_FreeText"/>
|
||||
|
||||
|
||||
<!-- SIDB - Regelnummer ter identificatie van een regel. Mandatory, N(6) -->
|
||||
<!-- Er is - tot nu toe - altijd 1 regelnummer binnen de opdracht, standaard dus 1 -->
|
||||
<LineNumber><xsl:value-of select="$p_LineNumber"/></LineNumber>
|
||||
<!-- SIDB - Het aantal eenheden van werk geidentificeerd door de normprijscode. Mandatory, N(15) -->
|
||||
<Quantity><xsl:value-of select="$p_Quantity"/></Quantity>
|
||||
<!-- SIDB - Code van de meeteenheid waarin het aantal is uitgedrukt. Mandatory, C(3) -->
|
||||
<MeasurementUnitQuantity><xsl:value-of select="$p_MeasurementUnitQuantity"/></MeasurementUnitQuantity>
|
||||
<!-- SIDB - Code waarmee het uit te voeren werk wordt aangegeven. Mandatory, C(17) -->
|
||||
<!-- Zie call FSN#34901 voor de (on)zin van dit veld -->
|
||||
<NormPriceCode><xsl:value-of select="$p_NormPriceCode"/></NormPriceCode>
|
||||
<!-- SIDB: Tekstveld met de beschrijving van de ruimte waar het onderhoud moet plaats vinden, Optioneel, C(35). -->
|
||||
<!-- Melding kenmerk key 6 is objectomschrijving uit Tobias, hier maar voorlopig in gebruiken aan gebrek aan beter -->
|
||||
<LEDOInformation><xsl:value-of select="$p_LEDOInformation"/></LEDOInformation>
|
||||
<!-- SIDB - Tekstveld met een korte nadere specificatie van de het werk geidentificeerd door de normprijscode. Optioneel, C(35) -->
|
||||
<ShortDescription><xsl:value-of select="$p_ShortDescription"/></ShortDescription>
|
||||
<!-- SIDB - Tekstveld met een lange nadere specificatie van de het werk geidentificeerd door de normprijscode.. Optioneel, C(70) -->
|
||||
<LongDescription><xsl:value-of select="$p_LongDescription"/></LongDescription>
|
||||
<!-- SIDB - Voor de rest optioneel, onderstaande gegevens nog niet bekend via Mareon -->
|
||||
<FreeText><xsl:value-of select="$p_FreeText"/></FreeText>
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template name="construct_instruction_pricelines" xmlns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<xsl:param name="p_price"/>
|
||||
<xsl:param name="p_taxperc"/>
|
||||
<xsl:if test="$p_price != ''">
|
||||
<PriceInformation>
|
||||
<Price><xsl:value-of select="$p_price"/></Price>
|
||||
<PriceBase>
|
||||
<NumberOfUnitsInPriceBasis></NumberOfUnitsInPriceBasis>
|
||||
<MeasureUnitPriceBasis></MeasureUnitPriceBasis>
|
||||
</PriceBase>
|
||||
</PriceInformation>
|
||||
</xsl:if>
|
||||
<VATInformation>
|
||||
<VATRate>S</VATRate>
|
||||
<VATPercentage><xsl:value-of select="$p_taxperc"/></VATPercentage>
|
||||
</VATInformation>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="SOAPEnvelope">
|
||||
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.ketenstandaard.nl/onderhoudsopdracht/SALES/005">
|
||||
<soap:Header/>
|
||||
<soap:Body>
|
||||
<xsl:apply-templates select="etim"/>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
<xsl:template match="SOAPEnvelope">
|
||||
<soap:Envelope xmlns:msxml="urn:schemas-microsoft-com:xslt" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://etim.nl/xmlschemas/messageservice/2.40">
|
||||
<soap:Header>
|
||||
<ns:CustomInfo>
|
||||
<ns:IsTestMessage>false</ns:IsTestMessage>
|
||||
<!--Optional:-->
|
||||
<ns:LanguageCode>NL</ns:LanguageCode>
|
||||
<ns:IsContentCompressed>false</ns:IsContentCompressed>
|
||||
</ns:CustomInfo>
|
||||
<ns:AuthenticationInfo>
|
||||
<ns:ApplicationId>Mareon</ns:ApplicationId>
|
||||
<ns:VersionId><xsl:apply-templates select="etim/header/etim_VersionId"/></ns:VersionId>
|
||||
<ns:RelationId></ns:RelationId>
|
||||
<ns:UserId><xsl:apply-templates select="etim/header/etim_UserId"/></ns:UserId>
|
||||
<ns:Password><xsl:apply-templates select="etim/header/etim_Password"/></ns:Password>
|
||||
<!--Optional:-->
|
||||
<ns:SessionId></ns:SessionId>
|
||||
</ns:AuthenticationInfo>
|
||||
</soap:Header>
|
||||
<soap:Body>
|
||||
<ns:PostMessageRequest>
|
||||
<ns:MessageServiceMessage>
|
||||
<ns:MsgId>1</ns:MsgId>
|
||||
<ns:MsgType>ORDERS</ns:MsgType>
|
||||
<ns:MsgFormat>SALES</ns:MsgFormat>
|
||||
<ns:MsgVersion>005</ns:MsgVersion>
|
||||
<ns:MsgDateTime><xsl:apply-templates select="etim/header/etim_MsgDateTime"/></ns:MsgDateTime>
|
||||
<!--Zero or more repetitions:-->
|
||||
<ns:Attachment>
|
||||
<ns:URL></ns:URL>
|
||||
<!--Optional:-->
|
||||
<ns:DocumentType></ns:DocumentType>
|
||||
<!--Optional:-->
|
||||
<ns:FileType></ns:FileType>
|
||||
<!--Optional:-->
|
||||
<ns:FileName></ns:FileName>
|
||||
<ns:AttachedData></ns:AttachedData>
|
||||
</ns:Attachment>
|
||||
<!--Zero or more repetitions:-->
|
||||
<ns:MsgContent>
|
||||
<!--You may enter ANY elements at this point-->
|
||||
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
|
||||
<xsl:apply-templates select="etim"/>
|
||||
<xsl:text disable-output-escaping="yes">]]></xsl:text>
|
||||
<!-- <![CDATA[<xsl:copy-of select="./node()"/>]]> -->
|
||||
</ns:MsgContent>
|
||||
</ns:MessageServiceMessage>
|
||||
</ns:PostMessageRequest>
|
||||
</soap:Body>
|
||||
</soap:Envelope>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
<xsl:template match="etim">
|
||||
<xsl:for-each select="*">
|
||||
<xsl:if test="name() = 'MaintenanceInstruction'">
|
||||
<xsl:copy-of select="."/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</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="soapResult">
|
||||
<Result>
|
||||
<xsl:choose>
|
||||
<xsl:when test="PostMessageResponse/PostMessageResult = 'true'"></xsl:when>
|
||||
<xsl:otherwise>
|
||||
Foutmelding: <xsl:value-of select="PostMessageResponse/MessageServiceMessage"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</Result>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
<xsl:template match="facilitor">
|
||||
<xsl:apply-templates select="opdracht"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="/">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='getExtension'">
|
||||
<xsl:element name="format">
|
||||
<xsl:element name="extension">cxml</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
|
||||
SOAPEnvelope is een harde tag die in PutOrders gedefinieerd wordt. -->
|
||||
<xsl:apply-templates select="SOAPEnvelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van response uit SOAP envelope -->
|
||||
<xsl:apply-templates select="soap:Envelope"/>
|
||||
<!-- door SendSOAP.cls gebruikt voor uitpakken van de inhoud uit het bericht -->
|
||||
<xsl:apply-templates select="soapResult"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -10,7 +10,7 @@
|
||||
<xsl:variable name="lcletters">abcdefghijklmnopqrstuvwxyz</xsl:variable>
|
||||
<xsl:variable name="ucletters">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable>
|
||||
|
||||
<xsl:variable name="Xsrtnotificatiecode">CUST19</xsl:variable>
|
||||
<xsl:variable name="Xsrtnotificatiecode">CUST28</xsl:variable>
|
||||
|
||||
<xsl:template name="adres">
|
||||
<tr>
|
||||
@@ -552,7 +552,7 @@
|
||||
</TABLE>
|
||||
</xsl:when>
|
||||
<!--ENDTAG discipline/srtdiscipline/key = 3-->
|
||||
<!-- extern vergaderen key = 282 -->
|
||||
<!--Extern vergaderen key = 282 -->
|
||||
<xsl:when test="discipline/key=282">
|
||||
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
|
||||
<TR>
|
||||
@@ -767,8 +767,8 @@
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</xsl:when>
|
||||
<!--maatwerk bonnen key = 283 -->
|
||||
</xsl:when>
|
||||
<!--Maatwerk/Evenementen key = 283 -->
|
||||
<xsl:when test="discipline/key=283">
|
||||
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
|
||||
<TR>
|
||||
@@ -975,7 +975,134 @@
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</xsl:when>
|
||||
</xsl:when>
|
||||
<!-- VO2017 met keys 457 en 458 -->
|
||||
<xsl:when test="discipline/key=457 or discipline/key=458">
|
||||
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
|
||||
<TR>
|
||||
<TD WIDTH="40" ROWSPAN="30" ID="LINKERMARGE"></TD>
|
||||
<TD>
|
||||
<table border="0" width="100%" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="50%" style="text-align:justify" bordercolor="#FFFFFF">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$mode='email'"><img src="cid:tmpl_logo.gif" height="100px"/></xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:element name="img">
|
||||
<xsl:attribute name="src">../../cust/<xsl:value-of select="//header/custId"/>/tmpl_logo.gif</xsl:attribute>
|
||||
<xsl:attribute name="height">78px</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
<td/>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="100%" bordercolor="#000000">
|
||||
<tr>
|
||||
<td align="left" width="100%" class="caption" colspan="2">Melding <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/>
|
||||
<xsl:if test="spoed<3"> <b>SPOED!</b></xsl:if>
|
||||
</td>
|
||||
</tr>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$srtnotificatiecode='CUST28'">
|
||||
<tr>
|
||||
<td width="20%" class="label">Aan</td>
|
||||
<td width="80%" class="value">: <xsl:value-of select="kostenplaats/budgethouder/naam_friendly"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Kostenplaats</td>
|
||||
<td class="value">: <xsl:if test="kostenplaats/nr=''">-</xsl:if><xsl:value-of select="kostenplaats/nr"/> / <xsl:value-of select="kostenplaats/omschrijving"/></td>
|
||||
</tr>
|
||||
<tr><td height="10px"/></tr>
|
||||
<tr>
|
||||
<td colspan="2" class="tekst">
|
||||
Onderstaande melding is automatisch aangemaakt op basis van een boeking bij Worldmeetings van je medewerker <xsl:value-of select="voor/naam_friendly"/>.<br/><br/>
|
||||
Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Je medewerker beheert de details van de boeking in de webshop van Worldmeetings.
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<tr>
|
||||
<td width="20%" class="label">Aan</td>
|
||||
<td width="80%" class="value">: <xsl:value-of select="voor/naam_friendly"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">E-mail adres</td>
|
||||
<td class="value">: <xsl:value-of select="voor/email"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Telefoonnummer</td>
|
||||
<td class="value">: <xsl:value-of select="voor/telefoonnr"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Locatie</td>
|
||||
<td class="value">: <xsl:if test="plaats/regio/district/locatie/omschrijving=''">-</xsl:if><xsl:value-of select="plaats/regio/district/locatie/omschrijving"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Afdeling</td>
|
||||
<td class="value">: <xsl:if test="voor/afdeling/omschrijving=''">-</xsl:if><xsl:value-of select="voor/afdeling/omschrijving"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Kostenplaats</td>
|
||||
<td class="value">: <xsl:if test="kostenplaats/nr=''">-</xsl:if><xsl:value-of select="kostenplaats/nr"/> / <xsl:value-of select="kostenplaats/omschrijving"/></td>
|
||||
</tr>
|
||||
<tr><td height="30px"/></tr>
|
||||
<tr>
|
||||
<td colspan="2" class="tekst">
|
||||
Onderstaande melding is automatisch aangemaakt op basis van je boeking bij Worldmeetings.<br/><br/>
|
||||
Het boekingsnummer van Worldmeetings staat hieronder in de omschrijving genoemd als referentie. Klik op de URL om de boeking in de webshop van Worldmeetings te openen.
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<tr><td height="10px"/></tr>
|
||||
<tr>
|
||||
<td class="label">Meldingstijdstip</td>
|
||||
<td class="value">: <xsl:value-of select="gemeld/datum"/> <xsl:value-of select="gemeld/tijd"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Melding</td>
|
||||
<td class="value">: <xsl:value-of select="stdmelding/omschrijving"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Backoffice</td>
|
||||
<td class="value">: <xsl:value-of select="discipline/omschrijving"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Einddatum</td>
|
||||
<td class="value">: <xsl:value-of select="einddatum/datum"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Omschrijving</td>
|
||||
<td class="value">: <xsl:call-template name="linebreaks"><xsl:with-param name="string" select="omschrijving"/></xsl:call-template></td>
|
||||
</tr>
|
||||
<xsl:if test="opmerking!=''">
|
||||
<tr>
|
||||
<td class="label">Status</td>
|
||||
<td class="value">: <xsl:call-template name="linebreaks"><xsl:with-param name="string" select="opmerking"/></xsl:call-template></td>
|
||||
</tr>
|
||||
</xsl:if>
|
||||
<xsl:if test="$srtnotificatiecode!='CUST28'">
|
||||
<xsl:for-each select="kenmerk[@type!='Q' and @type!='L' and @type!='l' and count(@xmlnode)=0]">
|
||||
<xsl:sort select="@volgnummer" data-type="number"/>
|
||||
<tr>
|
||||
<td class="label" width="20%"><xsl:value-of select="@naam"/></td>
|
||||
<td class="value" width="80%">:
|
||||
<xsl:choose>
|
||||
<xsl:when test="@naam='URL'"><xsl:element name="a"><xsl:attribute name="href"><xsl:value-of select="."/></xsl:attribute><xsl:value-of select="."/></xsl:element></xsl:when>
|
||||
<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</td>
|
||||
</tr>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
</table>
|
||||
</TD>
|
||||
<TD WIDTH="30" ROWSPAN="30" ID="RECHTERMARGE"></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">
|
||||
@@ -1195,12 +1322,11 @@
|
||||
</TR>
|
||||
</TABLE>
|
||||
</xsl:otherwise>
|
||||
<!--ENDTAG discipline/srtdiscipline/key != 3-->
|
||||
<!--ENDTAG default bon-->
|
||||
</xsl:choose>
|
||||
</xsl:otherwise>
|
||||
<!--ENDTAG $srtnotificatiecode != 'MLDAFM'-->
|
||||
<!--ENDTAG geen MLDKTO en MLDAFM-->
|
||||
</xsl:choose>
|
||||
|
||||
<xsl:call-template name="pagefooter"/>
|
||||
</xsl:element>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user