Merge 2020.2 Gold E patches
svn path=/Website/trunk/; revision=49602
This commit is contained in:
@@ -681,6 +681,10 @@ obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
checkAanwezigBudget(v_new_costtype_key);
|
||||
checkUniekContractnummer(key, v_new_project_key, v_new_ordernr, v_new_sequence);
|
||||
|
||||
// Om te voorkomen dat er wel budgetmutaties worden doorgevoerd terwijl nog niet alle gegevens van mld_opdr zijn ingevuld
|
||||
// eerst controleren op required van database velden. TWYN#65425
|
||||
check_required(this, obj);
|
||||
|
||||
// __Log(">> wijzigen op huidig kostensoort");
|
||||
if (obj.additional == 1)
|
||||
{
|
||||
@@ -1325,6 +1329,18 @@ obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
mld.trackmeldingupdate(pmld_key, L("lcl_mld_is_mldupd") + "\n" + mldUpd.trackarray.join("\n"));
|
||||
}
|
||||
|
||||
function check_required(model, obj)
|
||||
{
|
||||
for (fld in model.fields)
|
||||
{
|
||||
if (model.fields[fld].required && !model.fields[fld].sql && model.fields[fld].dbs.indexOf(".") < 0)
|
||||
{
|
||||
if (!obj[fld] || obj[fld] < 0)
|
||||
abort_with_warning(L("lcl_shared_validator_missing") + ": " + model.fields[fld].label);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.REST_GET = function (params)
|
||||
{
|
||||
if (S("bgt_enabled") == 1)
|
||||
|
||||
@@ -1395,7 +1395,7 @@ function process_claim_update(claim, idp_data, params)
|
||||
var pResult = new HookResult();
|
||||
if (!custfunc.aut_process_claim(user_key, persdata, claim, idp_data, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
shared.internal_error(pResult.errmsg);
|
||||
}
|
||||
|
||||
if (user_key < 0)
|
||||
|
||||
@@ -155,6 +155,11 @@ else
|
||||
var url = "<%=protectQS.create("../shared/BijlagenForm.asp?module=FGII")%>";
|
||||
FcltMgr.openModalDetail(url);
|
||||
}
|
||||
function Report()
|
||||
{
|
||||
var url = "<%= "appl/cad/cad_verify_report.asp?dwf={0}&concept={1}".format(safe.url(dwf), concept?1:0) %>";
|
||||
FcltMgr.openDetail(url, "<%=safe.jsstring(dwf)%>");
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@@ -172,7 +177,11 @@ else
|
||||
<body id=cadverifybody" <%=dwf==""?"x":""%>onLoad='init();'>
|
||||
<%
|
||||
var buttons = [];
|
||||
if (dwf)
|
||||
buttons.push({ icon: "page_refresh.png", title: 'Report', action: "Report()" });
|
||||
buttons.push({ icon: "fa-sync", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||
|
||||
HAMBUTTONS = []; // ik wil ze altijd zien
|
||||
IFRAMER_HEADER("Verify DWF files", buttons);
|
||||
|
||||
var ttl = "Choose a drawing";
|
||||
@@ -293,7 +302,7 @@ function prettyXML(xml)
|
||||
return objxml.transformNode(style).replace(/\x0D\x0A\s*\x0D\x0A/g,'\x0D\x0A');
|
||||
}
|
||||
if (!xd.EplotSections.Count)
|
||||
Response.Write("<p style='color:red'>Vreemd, geen EPlotSections. Niet met AutoCAD aangemaakt?</p>");
|
||||
Response.Write("<p style='color:red'>Strange, no EPlotSections. DWF not created with AutoCAD?</p>");
|
||||
if (!xc.layercount)
|
||||
{
|
||||
Response.Write("<p style='color:red'>DWF has no layerinfo!</p>");
|
||||
@@ -338,7 +347,7 @@ else
|
||||
Response.Write("<option selected='1'>"+safe.html(ll[layer])+"</option>");
|
||||
%>
|
||||
</select>
|
||||
<br>(totaal <%=xc.layercount%> lagen)
|
||||
<br>(total <%=xc.layercount%> layers)
|
||||
<br><span style='background-color:#C4E4DF;padding:3px;border:2px solid #888;'>contours with label</span>
|
||||
<br><span style='background-color:#FF0000;color:#fff;padding:3px;border:2px solid #888;'>contours without label</span>
|
||||
<input type='checkbox' id='hidenolabel'><label for='hidenolabel'>hide</label>
|
||||
@@ -348,10 +357,10 @@ else
|
||||
var res = {};
|
||||
var contlayers = [];
|
||||
var labellayers = [];
|
||||
var lastcont="";
|
||||
if (doanalyze)
|
||||
{
|
||||
// Bepaal voor elke laag hoeveel contouren het zou opleveren
|
||||
var lastcont="";
|
||||
for (contlayer in layers)
|
||||
{
|
||||
var res = analyze(contlayer, ".*")
|
||||
@@ -391,7 +400,7 @@ if (res.vectordpi > 0)
|
||||
{
|
||||
Response.Write("DPI: " + res.vectordpi);
|
||||
if (res.vectordpi < 4800)
|
||||
Response.Write(" (exporteren met 4800 geeft betere resolutie)");
|
||||
Response.Write(" (exporting using 4800 gives better resolution)");
|
||||
}
|
||||
if (res.DwgLimits)
|
||||
{
|
||||
|
||||
37
APPL/CAD/cad_verify_report.asp
Normal file
37
APPL/CAD/cad_verify_report.asp
Normal file
@@ -0,0 +1,37 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: cad_verify_report.asp.asp
|
||||
Description: Genereer een rapportage over dit dwf bestand
|
||||
Parameters: dwf
|
||||
concept (0/1)
|
||||
Context:
|
||||
Note:
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<%
|
||||
|
||||
if (!this.Response)
|
||||
{
|
||||
/* geen var */ Response = { Write: function(s) { WScript.Echo(s); } }
|
||||
}
|
||||
else
|
||||
{
|
||||
user.checkAutorisation("WEB_PRSSYS");
|
||||
var concept = getQParamInt("concept", 0) == 1;
|
||||
var dwf = getQParam("dwf");
|
||||
|
||||
var fullnameDWF = (concept?S("flexfilespath") + "/cad/concept/":S("flexfilespath") + "/cad/") + safe.filename(dwf);
|
||||
|
||||
var fg_contour_minArea = S("fg_contour_minArea");
|
||||
var fg_contourlayers = S("fg_contourlayers");
|
||||
var fg_labellayers = S("fg_labellayers");
|
||||
}
|
||||
%>
|
||||
<script language="javascript" src="cad_verify_report.js" runat="server"></script>
|
||||
<%
|
||||
ASPPAGE_END();
|
||||
%>
|
||||
298
APPL/CAD/cad_verify_report.js
Normal file
298
APPL/CAD/cad_verify_report.js
Normal file
@@ -0,0 +1,298 @@
|
||||
/*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: cad_verify_report.asp.asp
|
||||
Description: Genereer een rapportage over dit dwf bestand
|
||||
Parameters: dwf
|
||||
concept (0/1)
|
||||
Context:
|
||||
Note: Dit bestand wordt duaal gebruik!
|
||||
Enerzijds van cad_verify_report.asp (die vanuit de interface het rapport toont)
|
||||
Anderzijds is het los aan te roepen met
|
||||
CScript cad_verify_report.js /path/to/filename.dwf [contourlayers] [labellayers]
|
||||
*/
|
||||
|
||||
if (!this.Server) // dan zitten we in CScript.exe
|
||||
{
|
||||
var oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open;
|
||||
oStream.Charset = "Windows-1252";
|
||||
oStream.Type = 2; // Text
|
||||
/* geen var */ Response = { Write: function(s) { oStream.WriteText(s); } }
|
||||
|
||||
var fg_contourlayers = "{00---0--FM-RUIMTEDEFN.*}";
|
||||
var fg_labellayers = "{00---0--FM-RUIMTENR.*}";
|
||||
if (WScript.Arguments.length < 1)
|
||||
{
|
||||
WScript.Echo("Usage: CScript cad_verify_report.js /path/to/filename.dwf [contourlayers] [labellayers]");
|
||||
WScript.Echo(" default contour layers: " + fg_contourlayers);
|
||||
WScript.Echo(" label layers : " + fg_contourlayers);
|
||||
WScript.Echo("Batchfile tip: for %%f in (*.dwf) do cscript w:\\Branch20202\\APPL\CAD\\cad_verify_report.js %%f");
|
||||
WScript.Quit();
|
||||
}
|
||||
|
||||
var fullnameDWF = WScript.Arguments(0);
|
||||
var dwf = fullnameDWF.split(/\\\//).pop();
|
||||
if (WScript.Arguments.length >= 2)
|
||||
{
|
||||
var fg_contourlayers = WScript.Arguments(1);
|
||||
var fg_labellayers = WScript.Arguments(2);
|
||||
}
|
||||
|
||||
var fg_contour_minArea = 200010;
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var rnd = oCrypto.hex_random(10);
|
||||
var tempW2D = "./CAD_" + oCrypto.hex2base64(rnd, false, true) + ".w2d";
|
||||
Response.Write("<!DOCTYPE html>");
|
||||
|
||||
// Dubbelop: een aantal functies voor als je dit met CScript draait
|
||||
String.prototype.format = function()
|
||||
{
|
||||
var formatted = this;
|
||||
for (var i = 0; i < arguments.length; i++)
|
||||
{
|
||||
if (typeof arguments[i] == "string")
|
||||
arguments[i] = arguments[i].replace(/\$/g, '$$$$');
|
||||
var regexp = new RegExp('\\{'+i+'\\}', 'gi');
|
||||
formatted = formatted.replace(regexp, arguments[i]);
|
||||
}
|
||||
return formatted;
|
||||
};
|
||||
function padout(number) { return (number < 10) ? "0" + number : number; }
|
||||
function toISODateString(jsDate)
|
||||
{
|
||||
return padout(jsDate.getFullYear()) + "-" + padout(jsDate.getMonth() + 1) + "-" + padout(jsDate.getDate());
|
||||
}
|
||||
|
||||
function toISODateTimeString(jsDate)
|
||||
{
|
||||
if (typeof jsDate == "number")
|
||||
jsDate = new Date(jsDate);
|
||||
|
||||
if (typeof jsDate == "object" && jsDate.type == 135/*adDBTimeStamp, oRs("datum")*/)
|
||||
jsDate = new Date(jsDate.value);
|
||||
|
||||
if (typeof jsDate == "date") // een oRs("datum").value
|
||||
jsDate = new Date(jsDate);
|
||||
|
||||
return toISODateString(jsDate) + " "
|
||||
+ padout(jsDate.getHours()) + ":" + padout(jsDate.getMinutes()) + ":" + padout(jsDate.getSeconds());
|
||||
}
|
||||
safe = { // extracted from shared.inc
|
||||
html: function (tekst) // maxlen is optioneel
|
||||
{
|
||||
return tekst;
|
||||
},
|
||||
filename: function (naam) // geen 'lage' karakters een geen (back)slashes, *,%,<,>, '"', ':', '?' and '|'
|
||||
{
|
||||
return naam.replace(/[\x00-\x1F|\/|\\|\*|\%\<\>\"\:\;\?\|]+/g, "_"); // " syntax highlight correctie
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
user.checkAutorisation("WEB_PRSSYS");
|
||||
var concept = getQParamInt("concept", 0) == 1;
|
||||
var dwf = getQParam("dwf");
|
||||
|
||||
var fullnameDWF = (concept?S("flexfilespath") + "/cad/concept/":S("flexfilespath") + "/cad/") + safe.filename(dwf);
|
||||
var tempW2D = shared.tempFolder() + "/CAD_" + shared.random(16) + ".w2d";
|
||||
|
||||
var fg_contour_minArea = S("fg_contour_minArea");
|
||||
var fg_contourlayers = S("fg_contourlayers");
|
||||
var fg_labellayers = S("fg_labellayers");
|
||||
}
|
||||
|
||||
|
||||
var oAbout = new ActiveXObject("SLNKDWF.About");
|
||||
tmStart = oAbout.usTimer;
|
||||
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var fsoFile = fso.GetFile(fullnameDWF);
|
||||
var dtdwf = new Date(fsoFile.DateLastModified);
|
||||
|
||||
Response.Write("<html>");
|
||||
Response.Write(" <head>");
|
||||
Response.Write('<meta http-equiv="Content-Type" content="text/html;charset=windows-1252">');
|
||||
Response.Write(" <style>");
|
||||
Response.Write(" body {");
|
||||
Response.Write(" font-family: verdana, arial, helvetica, sans-serif;");
|
||||
Response.Write(" font-size: 0.75em;");
|
||||
Response.Write(" line-height: 1.8em;");
|
||||
Response.Write(" }");
|
||||
Response.Write(" img.dwf { border: 1px solid blue; }");
|
||||
Response.Write(" </style>");
|
||||
Response.Write("</head>");
|
||||
Response.Write("<body id='cadverifybody'>");
|
||||
|
||||
Response.Write("<h2>DWF {0}</h1>".format(dwf));
|
||||
try
|
||||
{
|
||||
var xd = new ActiveXObject("SLNKDWF.DWFFile");
|
||||
xd.Open(fullnameDWF);
|
||||
var xc = new ActiveXObject("SLNKDWF.Whip2PNG")
|
||||
if (xd.EplotSections.Count == 0)
|
||||
xc.Load(fullnameDWF);
|
||||
else
|
||||
{
|
||||
var epl = xd.EplotSections.Item(0);
|
||||
xc.LoadStream(epl);
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
shared.simpel_page("Error opening " + fullnameDWF + "<br>" + e.description);
|
||||
}
|
||||
|
||||
xc.Maximize=true;
|
||||
xc.SetDimensions(800,600, 0, 0, 1)
|
||||
var dummy = xc.GetAsMAP(); // om een parse to forceren!
|
||||
|
||||
function analyze(contlayer, labellayer)
|
||||
{
|
||||
var y = new ActiveXObject("SLNKDWF.WhipFile")
|
||||
var opt = new ActiveXObject("SLNKDWF.Options")
|
||||
opt.SetOption("MINCONTSIZE", fg_contour_minArea) // 1 vierkante meter
|
||||
|
||||
y.SetLayers("^"+contlayer.replace(/\|/g,"\\|")+"$", "^"+ labellayer.replace(/\|/g,"\\|")+"$")
|
||||
if (xd.EplotSections.Count == 0)
|
||||
y.Load(fullnameDWF);
|
||||
else
|
||||
y.LoadStream(xd.EplotSections.Item(0));
|
||||
|
||||
var result = { nCont: y.ContourCount,
|
||||
Labels: [],
|
||||
Opp: 0,
|
||||
vectordpi: y.vectordpi, // sinds 4,18
|
||||
DwgLimits: y.DwgLimits, // sinds 4,xxxx
|
||||
whipfile: y
|
||||
};
|
||||
var m2 = 0;
|
||||
for (var i2=0; i2 < y.ContourCount; i2++)
|
||||
{
|
||||
var c = y.ContourItem(i2);
|
||||
var oLabel = c.Key;
|
||||
var oOpp = c.Area / 1e6; // Vanuit de DLL krijg ik altijd mm2 lijkt het?
|
||||
if (oLabel && oOpp)
|
||||
{
|
||||
result.Labels.push({l:oLabel, o: oOpp });
|
||||
result.Opp += oOpp;
|
||||
}
|
||||
else if (oOpp > fg_contour_minArea / 1e6)
|
||||
{
|
||||
result.Labels.push({l: "No label found", o: oOpp });
|
||||
result.Opp += oOpp;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
var res = analyze(fg_contourlayers, fg_labellayers);
|
||||
|
||||
if (!xd.EplotSections.Count)
|
||||
Response.Write("<p style='color:red'>Strange, no EPlotSections. DWF not created with AutoCAD?</p>");
|
||||
if (!xc.layercount)
|
||||
{
|
||||
Response.Write("<p style='color:red'>DWF has no layerinfo!</p>");
|
||||
}
|
||||
|
||||
Response.Write("DWF uploaded {0}".format(toISODateTimeString(dtdwf)));
|
||||
|
||||
if (res.vectordpi > 0)
|
||||
{
|
||||
Response.Write("<br>Vector DPI: " + res.vectordpi);
|
||||
if (res.vectordpi < 4800)
|
||||
Response.Write(" (exporting using 4800 gives better resolution)");
|
||||
}
|
||||
|
||||
Response.Write("<h2>Scanning for rooms</h2>");
|
||||
|
||||
if (!res.Labels.length)
|
||||
Response.Write("<p style='color:red'>No labels detected!</p>");
|
||||
|
||||
Response.Write("Searching polylines on layer: {0} ==> {1} found<br>".format(safe.html(fg_contourlayers), res.whipfile.ContourCount));
|
||||
Response.Write("Searching labels on layer: {0} ==> {1} found<br>".format(safe.html(fg_labellayers), res.Labels.length));
|
||||
Response.Write("Area Threshold: {0}m<sup>2</sup>".format((fg_contour_minArea/1e6).toFixed(2)));
|
||||
Response.Write("<table id='analyze' border=1>");
|
||||
Response.Write("<tr><th>Label</th><th>Area m<></th></tr>");
|
||||
|
||||
for (var i = 0; i < res.Labels.length; i++)
|
||||
{
|
||||
var label = res.Labels[i]
|
||||
Response.Write("<tr><td>{0}</td><td style='text-align: right'>{1}</td></tr>".format(label.l, label.o.toFixed(1)));
|
||||
}
|
||||
Response.Write("</table>");
|
||||
Response.Write("Total " + res.Opp.toFixed(1) + " m<>");
|
||||
|
||||
|
||||
function stream2base64(str)
|
||||
{
|
||||
var oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open;
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(str);
|
||||
oStream.Position = 0;
|
||||
|
||||
var oXML = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
var oNode = oXML.createElement("encodeddata");
|
||||
oNode.dataType = "bin.base64";
|
||||
oNode.nodeTypedValue = oStream.read(oStream.Size);
|
||||
var b64text = oNode.text.replace(/\n/g, ""); // Ik wil de newlines er niet in hebben
|
||||
oStream.Close();
|
||||
return b64text;
|
||||
}
|
||||
Response.Write("<h2>Original drawing</h2>");
|
||||
Response.Write("<img class='dwf' src='data:image/png;base64, {0}' />".format(stream2base64(xc.GetAsPNG())));
|
||||
|
||||
Response.Write("<h2>Processed drawing (recognized rooms only)</h2>");
|
||||
|
||||
res.whipfile.SetLabelFont("Tahoma", 800)
|
||||
for (var i2=0; i2 < res.whipfile.ContourCount; i2++)
|
||||
{
|
||||
c = res.whipfile.ContourItem(i2);
|
||||
if (c.Key)
|
||||
{
|
||||
var opp = (c.Area / 1e6).toFixed(1);
|
||||
if (c.Area && opp < 5.0)
|
||||
c.Label = "[u][s75]" + c.Key + (c.Area?"\n[c][s35]("+ opp + "m<>)":"");
|
||||
else
|
||||
c.Label = "[u]" + c.Key + (c.Area?"\n[c][s75]("+ opp + "m<>)":"");
|
||||
c.SetColor(0x00FF00, 32);
|
||||
}
|
||||
//c.setcolor(0x00ff00);
|
||||
c.lineweight = 250;
|
||||
c.labelPosition = 2; // center
|
||||
}
|
||||
|
||||
res.whipfile.SetFilterLayers("{SLNK Labels}|{SLNK Contours}|{SLNK Symbols}|{SLNK Symbol Labels}")
|
||||
res.whipfile.SaveAs(tempW2D)
|
||||
|
||||
var xc2 = new ActiveXObject("SLNKDWF.Whip2PNG")
|
||||
xc2.Load(tempW2D);
|
||||
xc2.Maximize=true;
|
||||
xc2.PaperColor=(0); //' Anders zien we de label zo slecht...
|
||||
xc2.PaperColor = 0xFFFFFF;
|
||||
xc2.SetDimensions(800,600, 0, 0, 1);
|
||||
Response.Write("<img class='dwf' src='data:image/png;base64, {0}' />".format(stream2base64(xc2.GetAsPNG())));
|
||||
fso.DeleteFile(tempW2D);
|
||||
|
||||
Response.Write("<h2>Detected {0} layers</h2>".format(xc.layercount));
|
||||
var ll = [];
|
||||
for (i = 0; i < xc.layercount; i++)
|
||||
ll.push(xc.LayerItem(i).toUpperCase());
|
||||
ll.sort();
|
||||
for (layer in ll)
|
||||
Response.Write(" {0}<br/>".format(safe.html(ll[layer])));
|
||||
|
||||
Response.Write("<small>Generated on {0} in {1}ms</small>".format(toISODateTimeString(new Date()), ((oAbout.usTimer - tmStart)/1000).toFixed()));
|
||||
|
||||
Response.Write("</body>");
|
||||
Response.Write("</html>");
|
||||
|
||||
if (!this.Server)
|
||||
{
|
||||
oStream.SAveToFile(fullnameDWF + ".html", 2);
|
||||
WScript.Echo("Created " + fullnameDWF + ".html");
|
||||
}
|
||||
@@ -123,8 +123,8 @@ mld_urenkostenpostsave = function (p_mld_opdruren_kosten_key, p_mld_opdruren_key
|
||||
var oRs;
|
||||
|
||||
|
||||
if (p_kosten_key == 1){
|
||||
// Auto-kilometers, dat is pas interessant, hier doen we het voor!!
|
||||
if (p_kosten_key == 1 || p_kosten_key == 2 || p_kosten_key == 3) // auto/bromfiets/fiets
|
||||
{
|
||||
|
||||
sql=" select prs_perslid_key, mld_opdr_uren_datum" +
|
||||
" from mld_opdr_uren" +
|
||||
@@ -138,7 +138,7 @@ mld_urenkostenpostsave = function (p_mld_opdruren_kosten_key, p_mld_opdruren_key
|
||||
|
||||
}
|
||||
else {
|
||||
// Andere kosten dan kilometers, b.v. fiets en bromfiets: doen we niets mee.
|
||||
// Andere kosten dan kilometers / fiets / bromfiets: doen we niets mee.
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -151,7 +151,7 @@ mld_urenkostenpostsave = function (p_mld_opdruren_kosten_key, p_mld_opdruren_key
|
||||
fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum, p_actie){
|
||||
p_mld_opdr_uren_datum = new Date(p_mld_opdr_uren_datum); // is binnen wsc anders een object?
|
||||
// URL voor het berekenen van de dag-route
|
||||
oRs = Oracle.Execute("SELECT COALESCE(fac_setting_pvalue, fac_setting_default) fac_setting_value FROM fac_setting WHERE fac_setting_name = 'fg_maps_distance_apikey'");
|
||||
var oRs = Oracle.Execute("SELECT COALESCE(fac_setting_pvalue, fac_setting_default) fac_setting_value FROM fac_setting WHERE fac_setting_name = 'fg_maps_distance_apikey'");
|
||||
var v_GoogleAPI_URL = "https://maps.googleapis.com/maps/api/directions/xml?key="+ oRs("fac_setting_value").Value;
|
||||
oRs.Close();
|
||||
|
||||
@@ -169,11 +169,37 @@ fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum,
|
||||
else{
|
||||
if (p_actie == "I" || p_actie == "D") {
|
||||
// Er zijn kilometers op de dag bijgeschreven (insert) of verwijderd (delete), dus de route opnieuw berekenen...
|
||||
// Daartoe eerst de clienten verzamelen VERZORGER op de DATUM met auto heeft bezocht.
|
||||
var sql="select verzorger, datum, adres, huisnr, woonplaats, prs_client_naam, prs_client_voorletters, client_adres, client_huisnr, client_woonplaats from care_v_km_weekbrief" +
|
||||
" where prs_perslid_key = "+ p_prs_perslid_key +
|
||||
" and datum =" + p_mld_opdr_uren_datum.toSQL() +
|
||||
" order by client_woonplaats";
|
||||
// Daartoe eerst de clienten verzamelen die VERZORGER op de DATUM met auto heeft bezocht.
|
||||
//var sql="select verzorger, datum, adres, huisnr, woonplaats, prs_client_naam, prs_client_voorletters, client_adres, client_huisnr, client_woonplaats from care_v_km_weekbrief" +
|
||||
// " where prs_perslid_key = "+ p_prs_perslid_key +
|
||||
// " and datum =" + p_mld_opdr_uren_datum.toSQL() +
|
||||
// " order by client_woonplaats";
|
||||
// care_v_km_weekbrief bevat alleen auto-kilometers. Daarom view hieronder uitgeschreven
|
||||
var sql = "SELECT v.prs_perslid_key,"
|
||||
+ " v.prs_verzorger_naam || ',' || v.prs_verzorger_voorletters || ' ' || v.prs_verzorger_tussenvoegsel verzorger,"
|
||||
+ " v.verzorger_adres adres,"
|
||||
+ " v.verzorger_huisnr huisnr,"
|
||||
+ " v.verzorger_woonplaats woonplaats,"
|
||||
+ " uur.datum_gewerkt datum,"
|
||||
+ " c.prs_client_naam,"
|
||||
+ " c.prs_client_tussenvoegsel,"
|
||||
+ " c.prs_client_voorletters,"
|
||||
+ " c.client_adres,"
|
||||
+ " c.client_huisnr,"
|
||||
+ " c.client_woonplaats"
|
||||
+ " FROM care_v_totaal_uren_all uur, care_v_verzorger v, mld_opdruren_kosten ouk, mld_kosten k, mld_opdr o, mld_melding m, care_v_client c"
|
||||
+ " WHERE uur.prs_perslid_key = v.prs_perslid_key"
|
||||
+ " AND uur.mld_opdr_uren_key = ouk.mld_opdr_uren_key"
|
||||
+ " AND ouk.mld_kosten_key = k.mld_kosten_key"
|
||||
+ " AND k.mld_kosten_verwijder IS NULL"
|
||||
// niet alleen auto's + " AND k.mld_kosten_code = 'A'"
|
||||
+ " AND opdracht_type = 'P'"
|
||||
+ " AND uur.opdracht_key=o.mld_opdr_key"
|
||||
+ " AND o.mld_melding_key = m.mld_melding_key"
|
||||
+ " AND m.prs_perslid_key = c.prs_client_key"
|
||||
+ " AND v.prs_perslid_key = " + p_prs_perslid_key
|
||||
+ " AND uur.datum_gewerkt= " + p_mld_opdr_uren_datum.toSQL()
|
||||
+ " ORDER BY client_woonplaats";
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
if (!oRs.Eof) {
|
||||
@@ -211,12 +237,18 @@ fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum,
|
||||
// Er is geen cache km in DB gevonden, laat Google maar eens rekenen...
|
||||
|
||||
// Return-codes van Get_OPTIMIZED_GoogleDistance:
|
||||
// -2: Comminicatiefout/connectieprobleem Google-server/internet
|
||||
// -2: Communicatiefout/connectieprobleem Google-server/internet
|
||||
// -1: Een van de adressen (verzorger of client) is onbekend/kan niet door Google gevonden worden
|
||||
// 0: Afstand = 0 km
|
||||
// > 0: Aantal meters dat volgens Google gereden kan worden (optimaal).
|
||||
l_afst = Get_OPTIMIZED_GoogleDistance(v_GoogleAPI_URL, l_huis, l_huis, p_adresARR, "");
|
||||
__Log ("Google-afstand:" + l_afst + " meter");
|
||||
var l_afstinter = 0;
|
||||
if (p_adresARR.length > 1)
|
||||
{
|
||||
l_afstinter = Get_interclient_GoogleDistance(v_GoogleAPI_URL, l_huis, l_huis, p_adresARR, "");
|
||||
__Log ("Google-afstand interclient:" + l_afstinter + " meter");
|
||||
}
|
||||
}
|
||||
|
||||
var l_route = l_huis + " - " + v_url_google_route + " - " + l_huis;
|
||||
@@ -228,9 +260,10 @@ fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum,
|
||||
" from mld_opdruren_dagkosten" +
|
||||
" where prs_perslid_key = "+ p_prs_perslid_key +
|
||||
" and mld_opdruren_dagkosten_datum =" + p_mld_opdr_uren_datum.toSQL();
|
||||
oRs = Oracle.Execute(sql);
|
||||
var oRs2 = Oracle.Execute(sql);
|
||||
|
||||
if (!oRs.Eof) {
|
||||
if (!oRs2.Eof)
|
||||
{
|
||||
// Registratie van dagtotaal bestaat al, dus een update...
|
||||
// Hier een kilometer-berekening vanuit Google...
|
||||
// Indien l_afst >= 0, dan een geldige afstandsberekening, dan is een van de adressen (verzorger/clienten) niet in orde, althans Google kan ze niet vinden
|
||||
@@ -240,9 +273,9 @@ fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum,
|
||||
|
||||
sql = " UPDATE mld_opdruren_dagkosten" +
|
||||
" SET mld_opdruren_dagkosten_totaal = " + l_afst + "," +
|
||||
" mld_opdruren_dagkosten_opm = " + safe.quoted_sql(v_db_url_google) + "," +
|
||||
" mld_opdruren_dagkosten_opm = " + safe.quoted_sql(v_db_url_google + "#" + l_afstinter) + "," +
|
||||
" mld_opdruren_dagkosten_aantal = " + p_adresARR.length +
|
||||
" WHERE mld_opdruren_dagkosten_key = " + oRs("mld_opdruren_dagkosten_key").Value;
|
||||
" WHERE mld_opdruren_dagkosten_key = " + oRs2("mld_opdruren_dagkosten_key").Value;
|
||||
|
||||
|
||||
}
|
||||
@@ -256,10 +289,11 @@ fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum,
|
||||
p_mld_opdr_uren_datum.toSQL() + ", " +
|
||||
p_adresARR.length + ", " +
|
||||
l_afst + ", " +
|
||||
safe.quoted_sql(v_db_url_google) + ")";
|
||||
safe.quoted_sql(v_db_url_google + "#" + l_afstinter) + ")";
|
||||
|
||||
|
||||
}
|
||||
oRs2.Close();
|
||||
}
|
||||
else {
|
||||
// Er zijn geen clienten meer die verzorger op die dag met de auto bezocht heeft...
|
||||
@@ -270,10 +304,9 @@ fclt_calc_dist_from_google = function (p_prs_perslid_key, p_mld_opdr_uren_datum,
|
||||
" WHERE prs_perslid_key = "+ p_prs_perslid_key +
|
||||
" AND mld_opdruren_dagkosten_datum =" + p_mld_opdr_uren_datum.toSQL();
|
||||
}
|
||||
|
||||
oRs.Close();
|
||||
// Hier volgt een INSERT, UPDATE of DELETE van mld_opdruren_dagkosten...
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
@@ -313,6 +346,7 @@ function Get_Cached_OracleDistance(p_db_url_google, p_aant_dagen){
|
||||
__Log("Datum:" + oRs("mld_opdruren_dagkosten_datum").Value);
|
||||
__Log("Afstand (meters):" + oRs("mld_opdruren_dagkosten_totaal").Value);
|
||||
}
|
||||
oRs.Close();
|
||||
return (l_result);
|
||||
}
|
||||
|
||||
@@ -336,6 +370,28 @@ function Get_OPTIMIZED_GoogleDistance(p_GoogleAPI_URL, p_locatie1, p_locatie2, p
|
||||
return (l_result);
|
||||
}
|
||||
|
||||
// Get_interclient_GoogleDistance: als minstens twee klanten dan de afstand van die route
|
||||
// (zonder aanrijd/ terugrijd km van/naar huis)
|
||||
// Return-codes:
|
||||
// -2: Communicatiefout/connectieprobleem Google-server/internet
|
||||
// -1: Een van de adressen (verzorger of client) is onbekend/kan niet door Google gevonden worden
|
||||
// 0: Afstand = 0 km
|
||||
// > 0: Aantal meters dat volgens Google gereden kan worden (optimaal).
|
||||
function Get_interclient_GoogleDistance(p_GoogleAPI_URL, p_locatie1, p_locatie2, p_AdresArr, p_output_xmlfile){
|
||||
if (p_AdresArr.length < 2)
|
||||
{
|
||||
l_result = 0
|
||||
}
|
||||
else
|
||||
{
|
||||
var eerste = p_AdresArr.shift();
|
||||
var laatste = p_AdresArr.pop();
|
||||
// Als er precies twee clienten waren is p_AdresArr nu leeg maar dat maakt niet uit
|
||||
l_result = GetGoogleDistance(p_GoogleAPI_URL, eerste, laatste, p_AdresArr, 1, p_output_xmlfile);
|
||||
}
|
||||
return (l_result);
|
||||
}
|
||||
|
||||
|
||||
// Haal de XML van URL p_GoogleAPI_URL met p_locatie1 (=huis) en p_locatie2 (=huis), en een array van tussennodes (clienten)
|
||||
// en sla op in bestand p_output_xmlfile (indien != "", als p_output_xmlfile =="" dan geen logging)
|
||||
@@ -343,6 +399,7 @@ function Get_OPTIMIZED_GoogleDistance(p_GoogleAPI_URL, p_locatie1, p_locatie2, p
|
||||
|
||||
function GetGoogleDistance(p_GoogleAPI_URL, p_locatie1, p_locatie2, p_AdresArr, p_optimize, p_output_xmlfile)
|
||||
{
|
||||
__Log({ from: p_locatie1, to: p_locatie2, waypoints: p_AdresArr });
|
||||
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
||||
l_waypoints = p_AdresArr.join("|");
|
||||
if (p_optimize == 1){
|
||||
|
||||
@@ -55,7 +55,8 @@ ANONYMOUS_Allowed = 1;
|
||||
}
|
||||
break;
|
||||
case "PUT":
|
||||
case "PATCH": topdesk_conn.url = topdesk_url + "/id/" + params.info.get_id;
|
||||
case "PATCH": if (params.info.get_id) topdesk_conn.url = topdesk_url + "/id/" + params.info.get_id;
|
||||
if (params.info.get_number) topdesk_conn.url = topdesk_url + "/number/" + params.info.get_number;
|
||||
break;
|
||||
case "GET": topdesk_conn.url = topdesk_url + ( params.inc_id
|
||||
? "/id/" + params.info.get_id
|
||||
@@ -106,6 +107,8 @@ ANONYMOUS_Allowed = 1;
|
||||
}
|
||||
topdesk_url = topdesk_conn.baseurl + topdesk_conn.url;
|
||||
__Log("URL to TOPdesk: " + topdesk_url);
|
||||
__Log("body data");
|
||||
__Log(params.data);
|
||||
var errmsg = "";
|
||||
var status = -1;
|
||||
var data = {};
|
||||
@@ -335,7 +338,7 @@ ANONYMOUS_Allowed = 1;
|
||||
function addAttachments(p_obj_topdesk, p_topdesk_result)
|
||||
{
|
||||
attach_result = [];
|
||||
if (p_obj_topdesk.info.methode == "POST" && (p_obj_topdesk.info.actie == "change" || p_obj_topdesk.info.actie == "incident"))
|
||||
if ((p_obj_topdesk.info.methode == "POST" || p_obj_topdesk.info.methode == "PATCH") && (p_obj_topdesk.info.actie == "change" || p_obj_topdesk.info.actie == "incident"))
|
||||
{
|
||||
var t = (p_obj_topdesk.bijlagen ? getTypeOf(p_obj_topdesk.bijlagen.bijlage) : "isUnknown");
|
||||
switch (t)
|
||||
@@ -367,6 +370,25 @@ ANONYMOUS_Allowed = 1;
|
||||
return attach_result;
|
||||
}
|
||||
|
||||
|
||||
function update_mld(methode, actie, melding, params)
|
||||
{
|
||||
if (params.ticket)
|
||||
{
|
||||
var opm = (methode == "POST" ? "Creating " : "Updating ") + actie + " Topdesk. Status: " + params.ticket.status + (params.ticket.message.length != 0?" Message: " + params.ticket.message:"");
|
||||
shared.trackaction("#MLDTRK", melding.mld_melding_key, opm);
|
||||
}
|
||||
if (params.attach.length)
|
||||
{
|
||||
for (i=0; i< params.attach.length; i++)
|
||||
{
|
||||
var opm = "Uploading attachment to Topdesk. " + (params.ticket.message.length != 0?" Message: " + params.ticket.message + (params.ticket.fclt_msg.length != 0?"\nFoutmelding: " + params.ticket.fclt_msg:""):"Status: " + params.attach[i].status);
|
||||
shared.trackaction("#MLDTRK", melding.mld_melding_key, opm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function update_mldopdr(methode, actie, melding, params)
|
||||
{
|
||||
if (params.ticket)
|
||||
@@ -426,15 +448,36 @@ ANONYMOUS_Allowed = 1;
|
||||
replaceLookups(obj_topdesk);
|
||||
//
|
||||
// Toevoegen van incident of change
|
||||
var topdesk_result = connectTopdesk(obj_topdesk.info.methode, obj_topdesk.info.actie, obj_topdesk);
|
||||
//
|
||||
// Nu kunnen de bijlagen verstuurd worden.
|
||||
var attach_result = addAttachments(obj_topdesk, topdesk_result);
|
||||
|
||||
var result = { ticket: topdesk_result
|
||||
, attach: attach_result
|
||||
};
|
||||
update_mldopdr(obj_topdesk.info.methode, obj_topdesk.info.actie, facilitor.melding, result)
|
||||
// Deze log staat als commentaar omdat in deze JSON ook de base64 coded bijlage zit. Dat levert te veel logging op.
|
||||
//__Log(obj_topdesk);
|
||||
// We gaan alleen een bericht versturen als we een geldige methode hebben. We gebruiken de methode NONE om
|
||||
// aan te geven dat dit bericht niet verstuurd hoeft te worden. Dit is de mogelijkheid om
|
||||
// in de stylesheet aan te geven dat je geen bericht wilt versturen op deze notificatie.
|
||||
if (obj_topdesk.info.methode != 'NONE')
|
||||
{
|
||||
var topdesk_result = connectTopdesk(obj_topdesk.info.methode, obj_topdesk.info.actie, obj_topdesk);
|
||||
//
|
||||
// Nu kunnen de bijlagen verstuurd worden.
|
||||
var attach_result = addAttachments(obj_topdesk, topdesk_result);
|
||||
|
||||
var result = { ticket: topdesk_result
|
||||
, attach: attach_result
|
||||
};
|
||||
|
||||
if (facilitor.melding.opdracht)
|
||||
{
|
||||
update_mldopdr(obj_topdesk.info.methode, obj_topdesk.info.actie, facilitor.melding, result)
|
||||
}
|
||||
else
|
||||
{
|
||||
update_mld(obj_topdesk.info.methode, obj_topdesk.info.actie, facilitor.melding, result)
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = { ticket: { status: 200, message: "er hoeft geen bericht verstuurd te worden" } };
|
||||
}
|
||||
//
|
||||
}
|
||||
else
|
||||
@@ -446,4 +489,4 @@ ANONYMOUS_Allowed = 1;
|
||||
Response.Write(JSON.stringify(result));
|
||||
//Response.End;
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -95,5 +95,14 @@ if (Application("otap_environment") == "O")
|
||||
StreamFile(filePath, logfilename, "text/plain", "inline");
|
||||
Response.End;
|
||||
}
|
||||
|
||||
if (logger == 5) // MARX requests/sec
|
||||
{
|
||||
user.checkAutorisation("WEB_FACFAC");
|
||||
var filePath = "D:\\Apps\\Tools\\LogParser\\";
|
||||
var logfilename = "Request5MarxApiMonitor.csv";
|
||||
StreamFile(filePath, logfilename, "text/csv", "inline");
|
||||
Response.End;
|
||||
}
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -190,7 +190,6 @@ function fncolGroep(oRsvalue)
|
||||
<script type="text/javascript" >
|
||||
function doSubmit()
|
||||
{
|
||||
menulevelChanged(); //om de require op de url correct te laten werken
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
|
||||
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
||||
@@ -299,17 +298,10 @@ function fncolGroep(oRsvalue)
|
||||
: ($("#fac_mikey :SELECTED").val() != -1)
|
||||
);
|
||||
|
||||
if (!hasMenuitem && !($("#level").is(":checked")) )
|
||||
if (!hasMenuitem){
|
||||
$("#alturl").addClass("required");
|
||||
else
|
||||
$("#alturl").removeClass("required");
|
||||
}
|
||||
|
||||
function menulevelChanged(){
|
||||
var currentSelectedLevel = $("#level").val();
|
||||
if(currentSelectedLevel != 1){
|
||||
$("#alturl").addClass("required");
|
||||
} else {
|
||||
}
|
||||
else{
|
||||
$("#alturl").removeClass("required");
|
||||
}
|
||||
}
|
||||
@@ -529,8 +521,7 @@ function fncolGroep(oRsvalue)
|
||||
FCLTselector("level",
|
||||
sql,
|
||||
{ label: L("lcl_menu_level"),
|
||||
initKey: fac_mlevel,
|
||||
onChange: "menulevelChanged()"
|
||||
initKey: fac_mlevel
|
||||
});
|
||||
|
||||
|
||||
|
||||
@@ -301,7 +301,7 @@ if (job_key > -1)
|
||||
|
||||
// Is er een moment/Zijn er momenten geselecteerd?
|
||||
var ch_bits = (changed_bits == 1);
|
||||
if (!ch_bits)
|
||||
if ($("#action").val() > 1 && !ch_bits)
|
||||
{
|
||||
FcltMgr.alert(L("ins_srtcontrole_select"));
|
||||
return false;
|
||||
@@ -463,4 +463,4 @@ IFACE.FORM_END();
|
||||
changeAction();
|
||||
}
|
||||
</script>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -860,7 +860,17 @@ ins = {checkAutLevel:
|
||||
+ " WHEN insp.ins_deelsrtcontrole_status = 0 OR insp.ins_deelsrtcontrole_status = 2 THEN insp.plandatum"
|
||||
+ " ELSE NULL"
|
||||
+ " END"
|
||||
+ " , CASE WHEN insp.laatste IS NULL THEN insp.ins_srtcontroledl_xcp_startdat ELSE NULL END"
|
||||
+ " , CASE"
|
||||
+ " WHEN insp.laatste IS NULL AND insp.ins_srtcontroledl_xcp_startdat IS NOT NULL"
|
||||
+ " THEN"
|
||||
+ " CASE"
|
||||
+ " WHEN EXTRACT(YEAR FROM insp.ins_srtcontroledl_xcp_startdat) < " + mjb_freeze_year
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
+ " ELSE insp.ins_srtcontroledl_xcp_startdat"
|
||||
+ " END"
|
||||
+ " ELSE"
|
||||
+ " NULL"
|
||||
+ " END"
|
||||
+ " , CASE"
|
||||
+ " WHEN insp.laatste IS NULL AND insp.ctr_controle_type = 1" // Controle(1).
|
||||
+ " THEN TO_DATE('" + mjb_freeze_year + "', 'YYYY')"
|
||||
|
||||
@@ -723,8 +723,20 @@ if (!catclose && ins_key_arr.length == 1)
|
||||
aantal_dmj_eenheid = oRs("aantal_dmj_eenheid").Value;
|
||||
mode = oRs("ins_srtcontrole_mode").Value;
|
||||
if (mode == 0)
|
||||
// Momentmode.
|
||||
minDate = aantal_dmj_eenheid > 0? dag_na_lastinspectdatum : lastinspectdatum;
|
||||
{ // Momentmode.
|
||||
if (ingesloten.length == 1)
|
||||
{ // Bij momentmode en 1 inspectie moet de datum zeker nextdate zijn om uitgevoerd te kunnen worden.
|
||||
// Bereken de volgende inspectiedatum.
|
||||
// De functie ins.nextcyclusdate levert de volgende inspectie datum met tijd op onafhankelijk van de eenheid.
|
||||
var sqln = "SELECT ins.nextcyclusdate (" + ingesloten[0] + ", " + ingeslotensc[0] + ", 1, 1) nextdate FROM DUAL"
|
||||
var oRsn = Oracle.Execute(sqln);
|
||||
var nextdate = new Date(oRsn("nextdate").Value);
|
||||
oRsn.Close();
|
||||
minDate = nextdate;
|
||||
}
|
||||
else
|
||||
minDate = aantal_dmj_eenheid > 0? dag_na_lastinspectdatum : lastinspectdatum;
|
||||
}
|
||||
else
|
||||
// Intervalmode.
|
||||
minDate = lastinspectdatum;
|
||||
|
||||
@@ -1028,7 +1028,9 @@ else
|
||||
}
|
||||
|
||||
var flextrack = [];
|
||||
flextrack = saveFlexKenmerkenInspection(ingesloten[i].dlsrtcont_key, insPresent, false, ingesloten);
|
||||
if (ingesloten[i].dlsrtcont_key > 0)
|
||||
// Er is een inspectie gewijzigd of aangemaakt.
|
||||
flextrack = saveFlexKenmerkenInspection(ingesloten[i].dlsrtcont_key, insPresent, false, ingesloten);
|
||||
|
||||
if (insPresent && ((insUpd && insUpd.trackarray.length) || flextrack.length))
|
||||
ins.trackinspectupdate(ingesloten[i].dlsrtcont_key, L("lcl_ins_controle_is_upd").format(ingesloten[0].disc_oms) + "\n" + insUpd.trackarray.concat(flextrack).join("\n"));
|
||||
|
||||
@@ -405,6 +405,7 @@ else
|
||||
+ " AND idsc.ins_deel_key(+) = " + ingesloten[i].ins_key
|
||||
+ " AND idsc.ins_scenario_key(+) = 1"
|
||||
+ " AND xcp.ins_scenario_key = 1"
|
||||
+ " AND xcp.ctr_ismjob = " + (ingesloten[i].ismjob? "1" : "0")
|
||||
+ " AND (idsc.ins_deelsrtcontrole_key IS NULL OR"
|
||||
+ " idsc.ins_deelsrtcontrole_key = (SELECT MAX(idsc2.ins_deelsrtcontrole_key)"
|
||||
+ " FROM ins_deelsrtcontrole idsc2"
|
||||
|
||||
@@ -16,6 +16,13 @@
|
||||
<mld_opdr>
|
||||
<prs_afdeling_externnr><xsl:call-template name="zoek_bedrijf_key"><xsl:with-param name="p_afdeling" select="backoffice_contact/afdeling"/></xsl:call-template></prs_afdeling_externnr>
|
||||
<mld_melding_externnr><xsl:value-of select="melding/stdmelding/discipline/srtdiscipline/prefix"/><xsl:value-of select="melding/key"/></mld_melding_externnr>
|
||||
<mld_opdr_type><xsl:value-of select="opdrachttype/omschrijving"/></mld_opdr_type>
|
||||
<mld_opdr_soort>
|
||||
<xsl:choose>
|
||||
<xsl:when test="opdrachttype/isofferte=1">INS</xsl:when>
|
||||
<xsl:otherwise>REP</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</mld_opdr_soort>
|
||||
<mld_melding_discipline><xsl:value-of select="melding/discipline/omschrijving"/></mld_melding_discipline>
|
||||
<mld_stdmelding_omschrijving><xsl:value-of select="melding/stdmelding/omschrijving"/></mld_stdmelding_omschrijving>
|
||||
<mld_melding_omschrijving><xsl:value-of select="melding/omschrijving"/></mld_melding_omschrijving>
|
||||
|
||||
@@ -37,7 +37,9 @@
|
||||
"fields": ["ins_deelsrtcontrole_status",
|
||||
"ins_deelsrtcontrole_datum",
|
||||
"ins_deelsrtcontrole_datum_org",
|
||||
"ins_controlemode_key"]
|
||||
"ins_controlemode_key",
|
||||
"ins_deelsrtcontrole_opmerking",
|
||||
"ins_deelsrtcontrole_freezecost"]
|
||||
},
|
||||
"ins_srtcontroledl_xcp": { //"track": "#INSUPD", // Geen tracking omdat deze dan niet bij het object (ins_deel) wordt getrackt.
|
||||
"fields": ["ins_srtcontroledl_xcp_periode"]
|
||||
@@ -90,7 +92,7 @@
|
||||
"fields": ["ins_srtdeel_key", "ins_alg_ruimte_key", "ins_alg_ruimte_type"]
|
||||
},
|
||||
"mld_melding_note": { "track": null,
|
||||
"fields": ["name"]
|
||||
"fields": ["name", "mld_melding_note_flag"]
|
||||
},
|
||||
"fac_bookmark": { "track": null,
|
||||
"fields": ["fac_bookmark_id"]
|
||||
|
||||
@@ -3579,7 +3579,7 @@ mld = {
|
||||
return ret;
|
||||
},
|
||||
faq_info:
|
||||
function _faq_info(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed) {
|
||||
function _faq_info(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed, is_popup) {
|
||||
|
||||
var has = { ins: ins_disc_key && ins_disc_key != -1,
|
||||
stdm: stdm_key && stdm_key != -1,
|
||||
@@ -3610,7 +3610,7 @@ mld = {
|
||||
var show = changed == -1;
|
||||
var sql = [];
|
||||
|
||||
if ((has.ins || has.stdm) && (has.loc || has.alg)) // kennisbank items gekoppeld aan vakgroep/stdm en plaats
|
||||
if (!is_popup && (has.ins || has.stdm) && (has.loc || has.alg)) // kennisbank items gekoppeld aan vakgroep/stdm en plaats
|
||||
{
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
@@ -3628,7 +3628,7 @@ mld = {
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key"
|
||||
+ " AND ff.fac_faq_key = af.fac_faq_key"
|
||||
+ " AND ff.fac_faq_displaymode <> 2"
|
||||
+ " AND ff.fac_faq_displaymode " + (is_popup ? " IN (0, 2)" : " <> 2")
|
||||
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)"
|
||||
+ " AND ";
|
||||
|
||||
@@ -3657,7 +3657,7 @@ mld = {
|
||||
sql.push(mld.getkennisbank_sql(filtSELECT, filtFROM, filtWHERE, faq_bits));
|
||||
}
|
||||
|
||||
if ((plaatsChanged || show) && (has.loc || has.alg)) // kennisbank items gekoppeld aan plaats en niet aan vakgroep/stdm
|
||||
if (!is_popup && (plaatsChanged || show) && (has.loc || has.alg)) // kennisbank items gekoppeld aan plaats en niet aan vakgroep/stdm
|
||||
{
|
||||
var filtSELECT = " , 'X' stdm_type"
|
||||
+ " , DECODE (og.alg_onroerendgoed_keys,"
|
||||
@@ -3668,7 +3668,7 @@ mld = {
|
||||
+ " , alg_v_onroerendgoed og";
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = af.fac_faq_key"
|
||||
+ " AND ff.fac_faq_displaymode <> 2"
|
||||
+ " AND ff.fac_faq_displaymode " + (is_popup ? " IN (0, 2)" : " <> 2")
|
||||
+ " AND af.alg_onroerendgoed_keys = og.alg_onroerendgoed_keys(+)";
|
||||
|
||||
// Stdmfilter
|
||||
@@ -3690,7 +3690,7 @@ mld = {
|
||||
sql.push(mld.getkennisbank_sql(filtSELECT, filtFROM, filtWHERE, faq_bits));
|
||||
}
|
||||
|
||||
if ((!plaatsChanged || show) && (has.ins || has.stdm)) // kennisbank items gekoppeld aan vakgroep/stdm en niet aan plaats
|
||||
if ((!plaatsChanged || show || is_popup) && (has.ins || has.stdm)) // kennisbank items gekoppeld aan vakgroep/stdm en niet aan plaats
|
||||
{
|
||||
var filtSELECT = " , DECODE (sf.mld_stdmelding_key,"
|
||||
+ " NULL, DECODE (sf.ins_discipline_key,"
|
||||
@@ -3743,16 +3743,15 @@ mld = {
|
||||
result.popup_faq = true;
|
||||
}
|
||||
|
||||
if (displaymode < 2)
|
||||
if ( (displaymode == 0) || (displaymode == (is_popup ? 2 : 1)) )
|
||||
{
|
||||
var data = { faq_key: oRs("fac_faq_key").Value,
|
||||
has_kenm: oRs("aantal_kenm").Value > 0,
|
||||
question: oRs("fac_faq_question").Value,
|
||||
answer: safe.fclthtml(oRs("fac_faq_answer").Value),
|
||||
displaymode: oRs("displaymode").Value };
|
||||
|
||||
data.faq_type = "faq_" + oRs("stdm_type").Value + oRs("alg_type").Value;
|
||||
|
||||
displaymode: oRs("displaymode").Value,
|
||||
faq_type: "faq_" + oRs("stdm_type").Value + oRs("alg_type").Value
|
||||
};
|
||||
var fac_url = oRs("fac_faq_url").value;
|
||||
if (fac_url)
|
||||
{
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="../Shared/disciplineselector.inc" -->
|
||||
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
|
||||
@@ -967,11 +967,20 @@ lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY");
|
||||
}
|
||||
}
|
||||
ROFIELDTR("hidden", null, mld_melding.show_eigen_kp? 1 : 0);
|
||||
if ((stdm_info.canholdthirdparty == 1 && (lBestaandeMelding || mld_defaultstdmelding > -1)) || lAllThirdparty)
|
||||
if ((lBestaandeMelding || mld_defaultstdmelding > -1) || lAllThirdparty)
|
||||
{
|
||||
RWFIELDTR("naam_ext", "fld", L("lcl_mld_naam_ext"), mld_melding.naam_ext);
|
||||
RWFIELDTR("email_ext", "fldemails", L("lcl_mld_email_ext"), mld_melding.email_ext);
|
||||
RWFIELDTR("tel_ext", "fld", L("lcl_mld_tel_ext"), mld_melding.tel_ext);
|
||||
if (stdm_info.canholdthirdparty == 1)
|
||||
{
|
||||
RWFIELDTR("naam_ext", "fld", L("lcl_mld_naam_ext"), mld_melding.naam_ext);
|
||||
RWFIELDTR("email_ext", "fldemails", L("lcl_mld_email_ext"), mld_melding.email_ext);
|
||||
RWFIELDTR("tel_ext", "fld", L("lcl_mld_tel_ext"), mld_melding.tel_ext);
|
||||
}
|
||||
else
|
||||
{
|
||||
ROFIELDTR("naam_ext", L("lcl_mld_naam_ext"), mld_melding.naam_ext, {suppressEmpty: true});
|
||||
ROFIELDTR("email_ext", L("lcl_mld_email_ext"), mld_melding.email_ext, {suppressEmpty: true});
|
||||
ROFIELDTR("tel_ext", L("lcl_mld_tel_ext"), mld_melding.tel_ext, {suppressEmpty: true});
|
||||
}
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
@@ -596,13 +596,16 @@ function callback_faq_info(data)
|
||||
function callback_faq_info_once()
|
||||
{
|
||||
data = window.faq_info;
|
||||
var url = "../mld/mld_faq.asp"
|
||||
+ "?loc_key=" + data.loc_key
|
||||
+ "&alg_key_arr=" + data.alg_key_arr.join(",")
|
||||
+ "&stdm_key=" + data.stdm_key
|
||||
+ "&ins_disc_key=" + data.ins_disc_key
|
||||
+ "&changed=" + data.changed;
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_faq_stdmanswers"), { height: 200, width: 700, callback: mld_faq_list_callback } );
|
||||
if (data.changed < 5)
|
||||
{
|
||||
var url = "../mld/mld_faq.asp"
|
||||
+ "?loc_key=" + data.loc_key
|
||||
+ "&alg_key_arr=" + data.alg_key_arr.join(",")
|
||||
+ "&stdm_key=" + data.stdm_key
|
||||
+ "&ins_disc_key=" + data.ins_disc_key
|
||||
+ "&changed=" + data.changed;
|
||||
FcltMgr.openModalDetail(url, L("lcl_mld_faq_stdmanswers"), { height: 200, width: 700, callback: mld_faq_list_callback } );
|
||||
}
|
||||
}
|
||||
|
||||
function show_fixed_faq(changed, fixed_faq)
|
||||
|
||||
@@ -78,101 +78,39 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF);
|
||||
<div id="faqsubhead"><%=L("lcl_faq_mld_2")%></div>
|
||||
<ul id="faqanswerlist">
|
||||
<%
|
||||
var faq_bits = 0;
|
||||
if (authparamsFOF)
|
||||
faq_bits += 2;
|
||||
if (authparamsUSE)
|
||||
faq_bits += 1;
|
||||
|
||||
var has = { ins: ins_disc_key && ins_disc_key != -1,
|
||||
stdm: stdm_key && stdm_key != -1 };
|
||||
|
||||
var filtWHERE = " AND ff.fac_faq_key = sf.fac_faq_key";
|
||||
|
||||
if (!has.ins && has.stdm && changed == 1) // Then find ins_disc_key
|
||||
{
|
||||
var insSql = "SELECT mld_ins_discipline_key FROM mld_stdmelding WHERE mld_stdmelding_key = " + stdm_key;
|
||||
var insoRs = Oracle.Execute(insSql);
|
||||
ins_disc_key = insoRs(0).Value;
|
||||
insoRs.Close();
|
||||
has.ins = ins_disc_key && ins_disc_key != -1;
|
||||
}
|
||||
|
||||
// Stdmfilter, at least: (has.ins || has.stdm) == true
|
||||
if (has.ins) // Vakgroep
|
||||
filtWHERE += " AND ((sf.ins_discipline_key = " + ins_disc_key
|
||||
+ " AND sf.mld_stdmelding_key IS NULL)";
|
||||
if (has.stdm) // Stdmelding
|
||||
filtWHERE += (has.ins ? " OR " : " AND ")
|
||||
+ " sf.mld_stdmelding_key = " + stdm_key;
|
||||
if (has.ins)
|
||||
filtWHERE += " )";
|
||||
|
||||
// Plaatsfilter
|
||||
if ((changed == 0) && (has.ins || has.stdm)) // kennisbank items gekoppeld aan vakgroep/stdm en niet aan plaats
|
||||
filtWHERE += " AND NOT EXISTS (SELECT ''"
|
||||
+ " FROM alg_algfaq af"
|
||||
+ " WHERE af.fac_faq_key = ff.fac_faq_key)";
|
||||
|
||||
var sql = "SELECT ff.fac_faq_key, "
|
||||
+ " fac_faq_question, "
|
||||
+ " fac_faq_answer, "
|
||||
+ " fac_faq_url, "
|
||||
+ " fac_faq_level, "
|
||||
+ " (SELECT COUNT (*)"
|
||||
+ " FROM faq_kenmerk k"
|
||||
+ " WHERE k.faq_kenmerk_verwijder IS NULL"
|
||||
+ " OR k.faq_kenmerk_verwijder > SYSDATE) aantal_kenm"
|
||||
+ " FROM fac_faq ff, "
|
||||
+ " mld_stdmeldingfaq sf"
|
||||
+ " WHERE fac_faq_datum < SYSDATE"
|
||||
+ " AND fac_faq_displaymode IN (0, 2)"
|
||||
+ " AND BITAND(fac_faq_level," + faq_bits + ") <> 0"
|
||||
+ " AND (fac_faq_lang = " + safe.quoted_sql(user_lang) + " OR fac_faq_lang IS NULL)"
|
||||
+ filtWHERE
|
||||
+ " ORDER BY fac_faq_rank DESC NULLS LAST"
|
||||
+ " , fac_faq_datum DESC"
|
||||
+ " , fac_faq_question";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var faq_url = '';
|
||||
var data = mld.faq_info(loc_key, alg_key_arr, ins_disc_key, stdm_key, changed, true);
|
||||
var oRs = data.fixed_faq;
|
||||
%>
|
||||
<script>
|
||||
var faqcount = <%=(oRs.eof ? 0 : 1)%>;
|
||||
var faqcount = <%=(oRs.length == 0 ? 0 : 1)%>;
|
||||
</script>
|
||||
<%
|
||||
while (!oRs.eof) {
|
||||
for (i=0; i<oRs.length; i++)
|
||||
{
|
||||
%>
|
||||
<li>
|
||||
<div class="faqvraag"><a name="<%=oRs("fac_faq_key").value%>"><%=safe.html(oRs("fac_faq_question").value)+L("lcl_faq_mld_klik")%></a></div>
|
||||
<div class="faqvraag"><a name="<%=oRs[i].faq_key%>"><%=safe.html(oRs[i].question)+L("lcl_faq_mld_klik")%></a></div>
|
||||
<div class="faqantwoord fclthtml">
|
||||
<%=safe.fclthtml(oRs("fac_faq_answer").value)%><br/>
|
||||
<% if (oRs("fac_faq_url").value)
|
||||
<%=safe.fclthtml(oRs[i].answer)%><br/>
|
||||
<%
|
||||
if (oRs[i].hurl)
|
||||
{
|
||||
fac_url = oRs("fac_faq_url").value;
|
||||
var arr = fac_url.split("|");
|
||||
hurl = arr[0];
|
||||
hlnk = arr.length>1?arr[1]:hurl;
|
||||
|
||||
if (hurl.slice(0,4) == "http") // extern
|
||||
hurl = hurl;
|
||||
else // in cust subdir
|
||||
hurl = custpath + "/" + hurl;
|
||||
%> <a href="<%=safe.htmlattr(hurl)%>" target="_new"><%=safe.html(hlnk)%></a><br/>
|
||||
<% } else if (oRs("aantal_kenm").Value > 0) { %>
|
||||
<div class="faqlink"><a href="javascript:showFaq(<%=oRs("fac_faq_key").Value%>)"><%=L("lcl_more")%></a></div><br/>
|
||||
<% } %>
|
||||
<div id="faqsolved" onClick="faqSolved(<%=oRs("fac_faq_key").value%>);" class="ref"><span class="button">
|
||||
<span title="<%=L("lcl_faq_mld_3")%>"><%=I("fa-check")%></span>
|
||||
<%=L("lcl_faq_mld_3")%></span>
|
||||
</div>
|
||||
%> <a href="<%=safe.htmlattr(oRs[i].hurl)%>" target="_new"><%=safe.html(oRs[i].hlnk)%></a><br/>
|
||||
<% }
|
||||
else if (oRs[i].has_kenm)
|
||||
{
|
||||
%> <div class="faqlink"><a href="javascript:showFaq(<%=oRs[i].faq_key%>)"><%=L("lcl_more")%></a></div><br/>
|
||||
<% }
|
||||
%> <div id="faqsolved" onClick="faqSolved(<%=oRs[i].faq_key%>);" class="ref">
|
||||
<span class="button">
|
||||
<span title="<%=L("lcl_faq_mld_3")%>"><%=I("fa-check")%></span>
|
||||
<%=L("lcl_faq_mld_3")%>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<%
|
||||
oRs.MoveNext();
|
||||
}
|
||||
|
||||
oRs.close();
|
||||
%>
|
||||
</ul>
|
||||
<div id="faqfoot"><%=L("lcl_faq_mld_4")%></div>
|
||||
@@ -182,4 +120,4 @@ user.auth_required_or_abort(authparamsUSE || authparamsFOF);
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -247,7 +247,7 @@ function parentButton()
|
||||
{
|
||||
var authparamsBES = user.checkAutorisation("WEB_BESFOF", true);
|
||||
besschrijfrechten = authparamsBES && authparamsBES.ALGwritelevel < 9;
|
||||
|
||||
|
||||
// Als ik het afleveradres moet tonen heb ik de naam nodig
|
||||
if (mld_melding.show_bes)
|
||||
{
|
||||
@@ -395,12 +395,12 @@ function parentButton()
|
||||
|
||||
// UNDER DESIGN
|
||||
IFRAMER_HEADER(mld_melding.act_key
|
||||
? L("lcl_mld_frame_algemeen_actie")
|
||||
? L("lcl_mld_frame_algemeen_actie")
|
||||
: (stdm_info.image && stdm_info.image.match(/^fa-/) ? I(stdm_info.image)+" " : "")
|
||||
+(mld_melding.prefix != null? mld_melding.prefix : "") + mld_key
|
||||
+ (mld_melding.mld_onderwerp
|
||||
+(mld_melding.prefix != null? mld_melding.prefix : "") + mld_key
|
||||
+ (mld_melding.mld_onderwerp
|
||||
? ": <span class='mldframtitle'>" + safe.html(mld_melding.mld_onderwerp) + "</span>"
|
||||
: "")
|
||||
: "")
|
||||
, buttons
|
||||
, { ishtmlsafe: true});
|
||||
|
||||
@@ -472,10 +472,10 @@ function parentButton()
|
||||
moreinfo: (this_mld.canFOread || this_mld.canBOread),
|
||||
readonly: true
|
||||
});
|
||||
|
||||
|
||||
if (S("show_issuer_phone") & 1)
|
||||
ROFIELDTR ("fld", L("lcl_prs_person_phone"), mld_melding.melder_telefoonnr, { suppressEmpty: true, type: "telefoon" });
|
||||
|
||||
|
||||
// In showmode hoef ik niet twee keer dezelfde naam te tonen
|
||||
// en wil ik ongeacht setting S("mld_allow_for_others") tonen als ze verschillen
|
||||
if (mld_melding.perslid_key_voor != mld_melding.melder_key)
|
||||
@@ -488,7 +488,7 @@ function parentButton()
|
||||
moreinfo: (this_mld.canFOread || this_mld.canBOread || this_mld.canMIread)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (S("mld_use_department") == 1)
|
||||
{
|
||||
var authparamsPRS = user.checkAutorisation("WEB_PRSUSE", true);
|
||||
@@ -501,7 +501,7 @@ function parentButton()
|
||||
moreinfo: authparamsPRS && authparamsPRS.PRSreadlevel < 9
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
if (mld_melding.kostenpl_key>0) { // omdat deze selectors geen suppressEmpty hebben
|
||||
FCLTkostenplaatsselector("sgAccount",
|
||||
"sgAccount",
|
||||
@@ -516,12 +516,10 @@ function parentButton()
|
||||
{
|
||||
ROFIELDTR("fldordernr", L("lcl_mld_inf_Ordernr"), mld_melding.mld_ordernr, {suppressEmpty: true});
|
||||
}
|
||||
if (stdm_info.canholdthirdparty)
|
||||
{
|
||||
ROFIELDTR("naam_ext", L("lcl_mld_naam_ext"), mld_melding.naam_ext, {suppressEmpty: true});
|
||||
ROFIELDTR("email_ext", L("lcl_mld_email_ext"), mld_melding.email_ext, {suppressEmpty: true});
|
||||
ROFIELDTR("tel_ext", L("lcl_mld_tel_ext"), mld_melding.tel_ext, {suppressEmpty: true});
|
||||
}
|
||||
|
||||
ROFIELDTR("naam_ext", L("lcl_mld_naam_ext"), mld_melding.naam_ext, {suppressEmpty: true});
|
||||
ROFIELDTR("email_ext", L("lcl_mld_email_ext"), mld_melding.email_ext, {suppressEmpty: true});
|
||||
ROFIELDTR("tel_ext", L("lcl_mld_tel_ext"), mld_melding.tel_ext, {suppressEmpty: true});
|
||||
BLOCK_END();
|
||||
|
||||
if (mld_melding.show_alg && S("mld_edit_layout") == 1)
|
||||
@@ -546,7 +544,7 @@ function parentButton()
|
||||
// Normale prio tonen we niet meer
|
||||
ROFIELDTR("fldprio", L("lcl_mld_urg"), ((mld_melding.mprio != 3 && stdm_info.afhankelijk != 1) ? mld.getpriotext(mld_melding.mprio) : ""), { suppressEmpty: true});
|
||||
ROFIELDTR("flddatetime", L("lcl_mld_startdate"), toDateTimeString(mld_melding.melddatum, false, false, true));
|
||||
|
||||
|
||||
if (stdm_info.planbaar != 2 && !mld_melding.parent_key)
|
||||
{
|
||||
// Extra class "expired2" toevoegen indien te laat
|
||||
@@ -558,8 +556,8 @@ function parentButton()
|
||||
ROFIELDTR("flddate" + lclass, ((stdm_info.planbaar == 0 && stdm_info.planbaarfe == 1) ? L("lcl_mld_desirable_enddate") : L("lcl_mld_enddate")), toDateString(mld_melding.einddatum, false, true));
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
|
||||
|
||||
if (mld_melding.show_bes && !mld_melding.show_alg && mld_melding.deladdressnaam)
|
||||
{
|
||||
BLOCK_START("mldBes", L("lcl_aflevergegevens"), {icon: "fa-address-card", extraclass: "areax"});
|
||||
@@ -604,7 +602,7 @@ function parentButton()
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_mld_status"), mld_melding.mld_status_str, params);
|
||||
|
||||
|
||||
// Eerste behandelaar
|
||||
if (mld_melding.behandel_key > 0) {
|
||||
FCLTpersoonselector("sBehandel",
|
||||
@@ -616,16 +614,16 @@ function parentButton()
|
||||
readonly: true
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
ROCHECKBOXTR("", L("lcl_mld_publiek"), mld_melding.publiek, { suppressEmpty: true, trclass: "mldpublic" });
|
||||
|
||||
|
||||
var valid_kto_key = true;
|
||||
if (mld_melding.meldbron_key != S("mld_meldbron_key")) { // niet lastigvallen met defaultwaarde
|
||||
sql = "SELECT "+lcl.xsqla('mld_meldbron_omschrijving', 'mld_meldbron_key')
|
||||
+ " FROM mld_meldbron"
|
||||
+ " WHERE mld_meldbron_key = " + mld_melding.meldbron_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
|
||||
ROFIELDTR("fld", L("lcl_mld_meldbron"), oRs("mld_meldbron_omschrijving").value);
|
||||
oRs.close();
|
||||
if (mld_melding.meldbron_key == 10 && mld_melding.kto_type == 'T')
|
||||
@@ -646,9 +644,9 @@ function parentButton()
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_mld_meldbron_nr"), mld_melding.meldbron_nr, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_mld_externr"), mld_melding.externnr, {suppressEmpty: true});
|
||||
|
||||
|
||||
parentButton(); // Knop staat er ook nog een keer bij de afhandeling
|
||||
|
||||
|
||||
// Uitvoertijden naar dagen omrekenen zodat we ze onderling goed kunnen vergelijken.
|
||||
var mld_respijt = mld_melding.respijt_eenheid == "U"? mld_melding.respijt / 24 : mld_melding.respijt;
|
||||
var mld_uitvoertijd = mld_melding.uitvoertijd_eenheid == "U"? mld_melding.uitvoertijd / 24 : mld_melding.uitvoertijd;
|
||||
@@ -667,12 +665,12 @@ function parentButton()
|
||||
ROCHECKBOXTR("fldafr", L("lcl_mld_indult"), mld_melding.indult, { suppressEmpty: true });
|
||||
}
|
||||
ROCHECKBOXTR("fldafr", L("lcl_mld_afgerond"), mld_melding.mld_afgerond, { suppressEmpty: true });
|
||||
|
||||
|
||||
if (mld_melding.rsv_ruimte_key && mld_melding.res_key)
|
||||
mld.referentielink("R", mld_melding.rsv_ruimte_key, L("lcl_mld_with_res"));
|
||||
|
||||
|
||||
ROCHECKBOXTR("fldkto", L("lcl_mld_kto_invite"), mld_melding.kto, { suppressEmpty: true });
|
||||
|
||||
|
||||
if (mld_melding.kto_type && mld_melding.kto_key > 0 && valid_kto_key)
|
||||
{
|
||||
if (valid_kto_key)
|
||||
@@ -680,13 +678,13 @@ function parentButton()
|
||||
else
|
||||
ROFIELDTR("fld", L("lcl_mld_kto"), mld_melding.kto_type);
|
||||
}
|
||||
|
||||
|
||||
if (mld_melding.mldgroup_key > 0)
|
||||
{
|
||||
var lbl = mld.mld_prefix(mld_melding.mldgroup_key, "ins_srtdiscipline_omschrijving");
|
||||
mld.referentielink("M", mld_melding.mldgroup_key, lbl, { tooltip: true });
|
||||
}
|
||||
|
||||
|
||||
if (mld_melding.haschild)
|
||||
{
|
||||
for (var i = 0; i < mld_melding.childs.length; i++)
|
||||
@@ -701,10 +699,10 @@ function parentButton()
|
||||
mld.referentielink("M", mld_melding.references[j].key, (j == 0? L("lcl_mld_referenced") : ""), { tooltip: true });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (mld_melding.Startkey && mld_melding.Startkey != mld_key)
|
||||
mld.referentielink("M", mld_melding.Startkey, L("lcl_mld_continue_of"), { tooltip: true });
|
||||
|
||||
|
||||
if (this_mld.haveFOBOrights && mld_melding.flag)
|
||||
{
|
||||
// I would like the circle icon in the value instead of the label, but that is html-safe
|
||||
@@ -772,7 +770,7 @@ function parentButton()
|
||||
}
|
||||
|
||||
// Wil het blokje helemaal niet zien als het (nog) leeg is @@TODO sterk overwegen het niet als blok te presenteren?
|
||||
if (mld_melding.remark || mld_melding.satisfaction)
|
||||
if (mld_melding.remark || mld_melding.satisfaction)
|
||||
{
|
||||
BLOCK_START("mldBehandel", L("lcl_behandelgegevens"), {icon: "", extraclass: "areax"});
|
||||
|
||||
|
||||
@@ -616,12 +616,12 @@ else
|
||||
+ ((ins_key > -1) ? " AND id.ins_deel_key = " + ins_key : "")
|
||||
if (all_grp && !grp_sel)
|
||||
{
|
||||
sql += " ORDER BY 3, 2, 1";
|
||||
sql += " ORDER BY ins_deel_omschrijving, ins_srtdeel_omschrijving, ins_deel_opmerking";
|
||||
}
|
||||
else if (grp_sel)
|
||||
{
|
||||
sql += " AND ins_discipline_omschrijving || ' ' || ins_srtgroep_omschrijving = " + safe.quoted_sql(grp_sel)
|
||||
+ " ORDER BY 3, 2, 1";
|
||||
+ " ORDER BY ins_deel_omschrijving, ins_srtdeel_omschrijving, ins_deel_opmerking";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -19,6 +19,7 @@ var qrc = getQParamInt("qrc", 0) != 0;
|
||||
var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({withcurrent:true}));
|
||||
var thema_key = getQParamInt("thema_key", -1);
|
||||
var themaI_key = getQParamInt("themaI_key", -1);
|
||||
var bordlabel_key = getQParamInt("bordlabel_key", -1);
|
||||
var res_disc_key = getQParamIntArray("res_disc", []);
|
||||
var res_van = getQParamDate("res_van", null);
|
||||
if (thema_key == -1) // Dan vragen we een thema
|
||||
@@ -47,13 +48,15 @@ var imgurl = "../cad/mySlnk2IMG.asp?mode=0";
|
||||
imgurl += "&scenario_key=0&vkey=" + verdieping_key
|
||||
imgurl += "&paperColor="+S("fg_paperColor")+"&labelpos=2";
|
||||
imgurl += "&discs=" + ins_disc_key;
|
||||
imgurl += "&label=13";
|
||||
if (thema_key > 0) {
|
||||
imgurl += "&thema=" + thema_key;
|
||||
}
|
||||
if (themaI_key > 0) {
|
||||
imgurl += "&themai=" + themaI_key;
|
||||
}
|
||||
if (bordlabel_key > 0) {
|
||||
imgurl += "&label=" + bordlabel_key;
|
||||
}
|
||||
if (res_van) {
|
||||
imgurl += "&datumfilter="+res_van.getTime();
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ var floor_key = getQParamInt("floor_key", -1);
|
||||
var res_deel_key = getQParamInt("res_deel_key", -1); // unused. Zou ooit direct naar dag+intervalselectie kunnen
|
||||
var thema_key = getQParamInt("thema_key", 12);
|
||||
var themaI_key = getQParamInt("themaI_key", 13);
|
||||
var bordlabel_key= getQParamInt("bordlabel_key", 13);
|
||||
|
||||
var gebouwimage_flex_key = getQParamInt("gebouwimage_flex_key", null); // tijdelijk alternatief voor alg_gebouw_image
|
||||
|
||||
@@ -67,7 +68,7 @@ var dagcapaciteit = getQParamFloat("capaciteit", 9); // aantal uren beschikbaa
|
||||
var minimumbeschikbaarheid = getQParamFloat("minbes", 1.1); // minder dan zoveel uur beschikbaar beschouwen we onbeschikbaar
|
||||
var onlyfree = getQParamInt("onlyfree", 1); // moeten bezette werkplekken wel (0) of niet (1) (onklikbaar) getoond worden in de lijst
|
||||
|
||||
var transitParam = buildTransitParam(["res_disc", "geb_key", "date", "onlyfree", "floorselect", "mapselect", "thema_key", "themaI_key", "limit"]);
|
||||
var transitParam = buildTransitParam(["res_disc", "geb_key", "date", "onlyfree", "floorselect", "mapselect", "thema_key", "themaI_key", "bordlabel_key", "limit"]);
|
||||
|
||||
var qrc = getQParamInt("qrc", 0) != 0;
|
||||
|
||||
@@ -107,9 +108,9 @@ if (datelimit == -1)
|
||||
</style>
|
||||
<script>
|
||||
// shows the floorplan
|
||||
function plan(verdieping_key, res_disc_key, thema_key, themaI_key, res_van)
|
||||
function plan(verdieping_key, res_disc_key, thema_key, themaI_key, res_van, bordlabel_key)
|
||||
{
|
||||
window.location.href = "<%=rooturl%>/appl/pda/res_plattegrond.asp?verdieping_key=" + verdieping_key + "&res_disc=" + res_disc_key + "&thema_key=" + thema_key + "&themaI_key=" + themaI_key + "&res_van=" + res_van;
|
||||
window.location.href = "<%=rooturl%>/appl/pda/res_plattegrond.asp?verdieping_key=" + verdieping_key + "&res_disc=" + res_disc_key + "&thema_key=" + thema_key + "&themaI_key=" + themaI_key + "&bordlabel_key=" + bordlabel_key + "&res_van=" + res_van;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -421,7 +422,7 @@ if (datelimit == -1)
|
||||
if (aantaltekeningen > 0 && mapselect)
|
||||
{
|
||||
CONTROLGROUP_START();
|
||||
BUTTON(L("lcl_prs_wp_fgraph"), {click: 'plan(' + floor_key + ', ' + res_disc_key + ', ' + thema_key + ', ' + themaI_key + ', ' + (new Date(resdate).getTime()) + ');', dataicon: "location"});
|
||||
BUTTON(L("lcl_prs_wp_fgraph"), {click: 'plan(' + floor_key + ', ' + res_disc_key + ', ' + thema_key + ', ' + themaI_key + ', ' + (new Date(resdate).getTime()) + ', ' + bordlabel_key + ');', dataicon: "location"});
|
||||
CONTROLGROUP_END();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -102,6 +102,7 @@
|
||||
if (S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
// Heeft virtueel werkplek moet ook bewaard worden.
|
||||
var werkplekkey = getFParamInt("werkplekkey");
|
||||
var sql_w = "UPDATE prs_werkplek"
|
||||
+ " SET prs_werkplek_virtueel = " + (bVirtual ? 1 : 0)
|
||||
+ " WHERE prs_werkplek_key = " + werkplekkey;
|
||||
@@ -147,4 +148,4 @@
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -16,9 +16,16 @@
|
||||
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
ANONYMOUS_Allowed = 1;
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
<%
|
||||
Response.Write(JSON.stringify({ online: "true" }));
|
||||
var result = {};
|
||||
if (user_key > 0)
|
||||
{
|
||||
result.user = { id: user_key, name: user.naam() };
|
||||
}
|
||||
result.date = new Date();
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -3007,6 +3007,8 @@ function saveFlexKenmerken(parentKey, kenmerkTable /* eigenlijk: Params */,
|
||||
}
|
||||
function _saveFlexKenmerken(parentKey, params, flexdata) // TODO: support multiMode!
|
||||
{
|
||||
if (parentKey <= 0) return; // Er moet wel een geldige parentKey meegegeven zijn.
|
||||
|
||||
var kenmerk_keys = new Array(); // kenmerk table is used to check whether a kenmerk already exists or not.
|
||||
|
||||
if (params.currentKenmerkenSQL) // JGL: Is volgens mij altijd wel aanwezig
|
||||
|
||||
Reference in New Issue
Block a user