Files
Facilitor/CUST/HSLE/custfunctions.wsc
Marcel Bourseau 486860606d HSLE#34986: Extra kenmerk van een persoon kunnen tonen bij een reservering
svn path=/Website/branches/v2015.3/; revision=28227
2016-02-19 15:46:06 +00:00

122 lines
4.0 KiB
XML

<?xml version="1.0"?>
<component>
<?component error="true" debug="true"?>
<registration
description="custfunctions"
progid="custfunction.wsc"
version="1.00"
classid="{4F51571C-1DFC-4769-B8DD-37B356378F12}"
>
</registration>
<public>
<!-- properties -->
<property name="Oracle">
<put/>
</property>
<property name="__Log">
<put/>
</property>
<property name="__DoLog">
<put/>
</property>
<property name="safe">
<put/>
</property>
<!-- methods -->
<method name="res_postsave">
<PARAMETER name="rsv_ruimte_key"/>
</method>
</public>
<script language="javascript">
<![CDATA[
/* properties */
function put_Oracle(newValue) {Oracle = newValue};
function put___Log(newValue) {__Log = newValue};
function put___DoLog(newValue) {__DoLog = newValue};
function put_safe(newValue) {safe = newValue};
/* methods */
/*
$Revision$
$Id$
File: UWVAcustfunction.wsc
*/
/* Dit zijn de enige drie functies die je mag gebruiken */
var Oracle;
var __Log;
var __DoLog;
var safe;
var HSLE_LetOp_srtkenmerk_key = 101; // CHARACTER res srtflex to display tekst "Let op!!!: Heeft afgelopen 3 maanden 2x te laat ingeleverd." if in the past 3 months items have been returned too late.
var HSLE_TeLaat_srtkenmerk_key = 102; // INTEGER/vinkveldje res srtflex to register if item is "Te laat teruggebracht"
res_postsave = function (rsv_ruimte_key, pResult)
{
if (HSLE_LetOp_srtkenmerk_key < 0)
return true;
var sql = "SELECT rk.res_kenmerk_key, rrr.res_rsv_ruimte_contact_key, rrr.res_activiteit_key "
+ " FROM res_kenmerk rk, res_rsv_ruimte rrr"
+ " WHERE rk.res_srtkenmerk_key = " + HSLE_LetOp_srtkenmerk_key // Waarschuwing - let op flex kenmerk
+ " AND rrr.res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND rrr.res_activiteit_key = rk.res_activiteit_key";
var oRs = Oracle.Execute(sql);
if (oRs.Eof) // deze activiteit heeft geen let-op / waarschuwing-kenmerk
{
oRs.Close();
return true;
}
var HSLE_Letop_kenmerk_key = oRs("res_kenmerk_key").Value;
var HSLE_contact_key = oRs("res_rsv_ruimte_contact_key").Value;
var HSLE_Act_key = oRs("res_activiteit_key").Value;
oRs.Close();
var sql = "DELETE FROM res_kenmerkwaarde rkw"
+ " WHERE rkw.res_rsv_ruimte_key = " + rsv_ruimte_key
+ " AND rkw.res_kenmerk_key = " + HSLE_Letop_kenmerk_key;
Oracle.Execute(sql);
// Hier komt het criterium waarop we het Let op kenmerk veld gaan vullen, dus in geval van te laat de tekst "Let op!!!: Heeft afgelopen 3 maanden 2x te laat ingeleverd."
// Criterium/telling is als volgt:
// 1. Tel het aantal keren dat het kenmerk-soort vinkje met key 102 is aangevinkt (HSLE_TeLaat_srtkenmerk_key)
// 2. Van dezelfde activiteit-key "Uitleen" (HSLE_Act_key)
// 3. Van dezelfde contactpersoon/aanvrager
// 4. Van maximaal 90 dagen (+- 3 maanden) geleden.
var sql = " SELECT COUNT(*) AS aantal FROM res_rsv_ruimte rrr, res_kenmerk rk, res_kenmerkwaarde rkw"
+ " WHERE rk.res_srtkenmerk_key = " + HSLE_TeLaat_srtkenmerk_key
+ " AND rk.res_activiteit_key = " + HSLE_Act_key
+ " AND rkw.res_kenmerk_key = rk.res_kenmerk_key"
+ " AND rkw.res_rsv_ruimte_key = rrr.res_rsv_ruimte_key"
+ " AND rrr.res_rsv_ruimte_contact_key = " + HSLE_contact_key
+ " AND rkw.res_kenmerkreservering_waarde = '1'"
+ " AND rrr.res_rsv_ruimte_tot >= (SYSDATE - 90)";
var oRs = Oracle.Execute(sql);
var HSLE_Aantal_x_Telaat = oRs("aantal").Value;
oRs.Close();
if (HSLE_Aantal_x_Telaat > 0)
{
var sql = "INSERT INTO res_kenmerkwaarde(res_rsv_ruimte_key, res_kenmerk_key, res_kenmerkreservering_waarde) "
+ " VALUES (" + rsv_ruimte_key + ", " + HSLE_Letop_kenmerk_key + ", 'Heeft afgelopen 3 maanden " + HSLE_Aantal_x_Telaat + " keer te laat ingeleverd')";
Oracle.Execute(sql);
}
return true;
}
]]>
</script>
</component>