FSN#23995 custfunctions.wsc beter implementeren
svn path=/Website/trunk/; revision=12158
This commit is contained in:
@@ -6,20 +6,19 @@
|
||||
Description: A deeplink call to CALCulate the DISTance of a 'dagroute'
|
||||
Parameters: p_prs_perslid_key
|
||||
p_datum
|
||||
|
||||
|
||||
*/ %>
|
||||
<%
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../../appl/shared/json2.js" -->
|
||||
<!-- #include file="../../appl/shared/funcodes.inc" -->
|
||||
|
||||
<%
|
||||
var mld_opdr_uren_key = getQParamInt("mld_opdr_uren_key", -1);
|
||||
//var p_datum = getQParamDate("p_datum", new Date);
|
||||
var message = "";
|
||||
|
||||
|
||||
sql=" select prs_perslid_key, mld_opdr_uren_datum" +
|
||||
" from mld_opdr_uren" +
|
||||
" where mld_opdr_uren_key = " + mld_opdr_uren_key;
|
||||
@@ -27,19 +26,22 @@ DOCTYPE_Disable = 1;
|
||||
var l_prs_perslid_key = oRs("prs_perslid_key").Value;
|
||||
var l_mld_opdr_uren_datum = new Date(oRs("mld_opdr_uren_datum").Value);
|
||||
oRs.Close();
|
||||
|
||||
|
||||
// Fictieve insert van kilometers van persoon 'p_prs_perslid_key' op datum 'p_datum'
|
||||
|
||||
|
||||
var l_result = fclt_calc_dist_from_google (l_prs_perslid_key, l_mld_opdr_uren_datum, "I");
|
||||
//custfunc.mld_urenkostenpostsave(0, mld_opdr_uren_key, 1, 0, "I", 0)
|
||||
|
||||
var hook = custfunc.gethook();
|
||||
if (!hook)
|
||||
shared.internal_error("custfunctions.wsc niet goed geregistreerd?"); // lastige configuratiefout anders
|
||||
|
||||
var l_result = hook.fclt_calc_dist_from_google (l_prs_perslid_key, l_mld_opdr_uren_datum, "I");
|
||||
hook = null; // vrijgeven voor de GC
|
||||
|
||||
|
||||
sql=" select mld_opdruren_dagkosten_opm" +
|
||||
" from mld_opdruren_dagkosten" +
|
||||
" where prs_perslid_key = " + l_prs_perslid_key +
|
||||
" and mld_opdruren_dagkosten_datum =" + l_mld_opdr_uren_datum.toSQL();
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
|
||||
//Response.Redirect(oRs("mld_opdruren_dagkosten_opm").Value);
|
||||
result = { success : true, message : message }
|
||||
|
||||
|
||||
@@ -39,6 +39,11 @@
|
||||
<PARAMETER name="p_actie"/>
|
||||
<PARAMETER name="pResult"/>
|
||||
</method>
|
||||
<method name="fclt_calc_dist_from_google">
|
||||
<PARAMETER name="p_prs_perslid_key"/>
|
||||
<PARAMETER name="p_mld_opdr_uren_datum"/>
|
||||
<PARAMETER name="p_actie"/>
|
||||
</method>
|
||||
</public>
|
||||
|
||||
<script language="javascript">
|
||||
@@ -65,6 +70,20 @@ var __Log;
|
||||
var __DoLog;
|
||||
var safe;
|
||||
|
||||
care_km_cache_days = 56; // we kunnen niet bij S() dus maar hard
|
||||
function padout(number) { return (number < 10) ? "0" + number : number; }
|
||||
Date.prototype.toSQL = function toSQL(withTime)
|
||||
{
|
||||
var str = padout(this.getDate()) + "-" + padout(this.getMonth() + 1) + "-" + padout(this.getFullYear())
|
||||
if (withTime)
|
||||
{
|
||||
str += " " + padout(this.getHours()) + ":" + padout(this.getMinutes());
|
||||
return "to_date(" + safe.quoted_sql(str) + ", 'DD-MM-YYYY HH24:MI')";
|
||||
}
|
||||
else
|
||||
return "to_date(" + safe.quoted_sql(str) + ", 'DD-MM-YYYY')";
|
||||
}
|
||||
|
||||
// CARE: doorloop de week van deze persoon en bepaal de dagtotaalkilometers
|
||||
// om op te slaan in mld_opdruren_dagkosten
|
||||
|
||||
@@ -129,7 +148,8 @@ mld_urenkostenpostsave = function (p_mld_opdruren_kosten_key, p_mld_opdruren_key
|
||||
// Actie p_actie = I, U of D (insert/update/delete), andere codes werken niet (doen niets)
|
||||
// p_prs_perslid_key is de key van de verzorger (route van verzorger)
|
||||
// p_mld_opdr_uren_datum is de datum behorende bij de route (dag van de route)
|
||||
function fclt_calc_dist_from_google (p_prs_perslid_key, p_mld_opdr_uren_datum, p_actie){
|
||||
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
|
||||
var v_GoogleAPI_URL = "http://maps.googleapis.com/maps/api/directions/xml?sensor=false&language=NL";
|
||||
|
||||
@@ -171,11 +191,11 @@ function fclt_calc_dist_from_google (p_prs_perslid_key, p_mld_opdr_uren_datum, p
|
||||
__Log ("Huis van client: " + l_client_huis);
|
||||
if (p_adresARR.length == 0){
|
||||
// Eerste keer: daddr-argument in de URL!!
|
||||
v_url_google_route += "&daddr=" + Server.URLencode(l_client_huis);
|
||||
v_url_google_route += "&daddr=" + encodeURIComponent(l_client_huis);
|
||||
}
|
||||
else{
|
||||
// Volgende keren: :to in het daddr-argument (van de URL)!!!
|
||||
v_url_google_route += "+to:" + Server.URLencode(l_client_huis);
|
||||
v_url_google_route += "+to:" + encodeURIComponent(l_client_huis);
|
||||
}
|
||||
p_adresARR[p_adresARR.length]= l_client_huis;
|
||||
oRs.MoveNext();
|
||||
@@ -328,9 +348,9 @@ function GetGoogleDistance(p_GoogleAPI_URL, p_locatie1, p_locatie2, p_AdresArr,
|
||||
}
|
||||
__Log(l_waypoints);
|
||||
var l_GoogleAPI_URL = p_GoogleAPI_URL
|
||||
+ '&origin=' + Server.URLencode(p_locatie1)
|
||||
+ '&destination=' + Server.URLencode(p_locatie2)
|
||||
+ '&waypoints=' + Server.URLencode(l_waypoints)
|
||||
+ '&origin=' + encodeURIComponent(p_locatie1)
|
||||
+ '&destination=' + encodeURIComponent(p_locatie2)
|
||||
+ '&waypoints=' + encodeURIComponent(l_waypoints)
|
||||
objXMLHTTP.open("GET", l_GoogleAPI_URL, false);
|
||||
objXMLHTTP.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
|
||||
objXMLHTTP.send();
|
||||
|
||||
Reference in New Issue
Block a user