14 Commits

Author SHA1 Message Date
Maykel Geerdink
a1bc0bb745 PNBR#89328: Foutmelding bij toevoegen object aan melding.
svn path=/Website/branches/v2025.1/; revision=69337
2025-06-10 08:57:54 +00:00
Erik Groener
95b0a33138 MAAS#89298 Verzoek om zichtbaarheid Zendesk ticketnummer bij meldingen in Facilitor
svn path=/Website/branches/v2025.1/; revision=69326
2025-06-06 09:19:57 +00:00
Sander Schepers
a25cccf268 MAAS#89298 Zendesk ticketnr direct zichtbaar hebben in de opdracht
svn path=/Website/branches/v2025.1/; revision=69308
2025-06-05 09:53:46 +00:00
Jos Groot Lipman
aabe86e513 Release 2025.1 Gold C
svn path=/Website/branches/v2025.1/; revision=69294
2025-06-04 14:28:23 +00:00
5e4edcb57b DEMO#89240 query-postfix opnemen als group_by parameter die bedoeld is om subqueries aan te vullen met zo een postfix
svn path=/Website/branches/v2025.1/; revision=69243
2025-06-03 09:39:13 +00:00
4a493ca4cc MNNL#88636 2025.2 > 2025.1 Gold C
svn path=/Website/branches/v2025.1/; revision=69194
2025-05-30 13:39:54 +00:00
Jos Groot Lipman
2d7ca08023 PCHD#88955 Traagheid in PCHD contracten-module
svn path=/Website/branches/v2025.1/; revision=69173
2025-05-28 07:56:08 +00:00
Jos Groot Lipman
20a4638b95 SVRZ#88664 Problemen met API-objecten ophalen na 24 maart
svn path=/Website/branches/v2025.1/; revision=69160
2025-05-27 13:18:58 +00:00
Jos Groot Lipman
56e1fa5890 SVRZ#88664 Problemen met API-objecten ophalen na 24 maart
svn path=/Website/branches/v2025.1/; revision=69159
2025-05-27 13:13:23 +00:00
Jos Groot Lipman
5ed882e520 FCLT#89100 Verbetering putorders monitoring
svn path=/Website/branches/v2025.1/; revision=69083
2025-05-21 10:11:50 +00:00
Jos Groot Lipman
4b800c8d88 UWVA#89050 Detail logging om te kijken waar de exception "The parameter is incorrect." optreedt
svn path=/Website/branches/v2025.1/; revision=69049
2025-05-19 10:01:56 +00:00
Jos Groot Lipman
d6ab3db811 FCLT#89039 API1 updates van prs_perslid_login beperken tot eens per minuut
svn path=/Website/branches/v2025.1/; revision=69033
2025-05-15 14:29:46 +00:00
2ad594f918 BCGV#88987 bugfix reverted
svn path=/Website/branches/v2025.1/; revision=69021
2025-05-14 12:30:16 +00:00
Jos Groot Lipman
6298188126 FCLT#88854 zaalemail logging in fac_notificatie_naam voor trouble-shooting
svn path=/Website/branches/v2025.1/; revision=69003
2025-05-13 14:06:02 +00:00
14 changed files with 105 additions and 16 deletions

View File

@@ -119,12 +119,14 @@ if (fso.FileExists(logfile_path)) { // Notificaties zijn uniek obv etag, deze is
+ " fac_notificatie_queue,"
+ " fac_notificatie_refkey,"
+ " fac_notificatie_attachments,"
+ " fac_notificatie_naam,"
+ " fac_notificatie_notbefore,"
+ " fac_notificatie_status)"
+ " SELECT fac_srtnotificatie_key"
+ " , 'EXCHANGE'"
+ " , " + res_ruimte_key
+ " , " + safe.quoted_sql(logfile_path)
+ " , " + safe.quoted_sql(zaalemail)
+ " , SYSDATE"
+ " , 1" // Met 1 omzeilen we fac.cleannotifications en zorgen we dat fac_t_fac_notificatie_A_IU niet de PUTORDERS inschiet (Wij doen er verder niets mee)
+ " FROM fac_srtnotificatie"

View File

@@ -321,6 +321,14 @@ function model_objects(ins_key, params)
this.REST_GET = function _GET(params)
{
var withcomponents = true; // default 2025.1 gedrag
if (params.filter.components == "0")
withcomponents = false; // oude 2024.3 gedrag (geen onderdelen)
if (!withcomponents)
{
this.tablesql = "ins_deel ins_v_deelenonderdeel"; // voor het gemak alias ins_v_deelenonderdeel
}
_check_authorization(params, "GET");
var query = api2.sqlfields(params, this);
@@ -360,7 +368,14 @@ function model_objects(ins_key, params)
// TODO: We ondersteunen uitsluitend ruimte- werkplek- en persoonsgebonden objecten
// MGE: Let op dat de view "ins_v_deel_gegevens" geen onderdelen oplevert omdat de view afdwingt dat ins_deel_parent_key "NULL" moet zijn.
query.tables.push("ins_v_deelenonderdeel_gegevens");
if (withcomponents)
{
query.tables.push("ins_v_deelenonderdeel_gegevens");
}
else
{
query.tables.push("ins_v_deel_gegevens ins_v_deelenonderdeel_gegevens"); // voor het gemak alias ins_v_deelenonderdeel_gegevens
}
query.wheres.push("ins_v_deelenonderdeel.ins_alg_ruimte_type IN ('R', 'W', 'P') ");
query.wheres.push("ins_v_deelenonderdeel_gegevens.ins_deel_key = ins_v_deelenonderdeel.ins_deel_key");

View File

@@ -117,7 +117,8 @@ function doLogin(prs_key, params)
}
var registersql = "UPDATE prs_perslid"
+ " SET prs_perslid_login = SYSDATE"
+ " WHERE prs_perslid_key=" + user_key;
+ " WHERE prs_perslid_key=" + user_key
+ " AND (prs_perslid_login IS NULL OR prs_perslid_login < SYSDATE - 1/24/60)"; // Eens per minuut bijwerken is genoeg
Oracle.Execute(registersql);
Session("user_key") = user_key; // Nu ben je pas *echt* ingelogd
@@ -1572,7 +1573,7 @@ function process_claim_update(claim, idp_data, params)
Oracle.Execute(sql_ins);
}
oRs.Close();
persdata["function"] = { name: val };
persdata["function"] = { name: val };
break; // Kan omdat fields.function.foreign.desc_is_unique is gezet
}
case 21: if (val) // afdeling
@@ -1616,7 +1617,7 @@ function process_claim_update(claim, idp_data, params)
var sql_ins = "INSERT INTO prs_afdeling"
+ "( prs_afdeling_key, prs_afdeling_naam" + afd_fld + ")"
+ "VALUES"
+ "( " + afd_key
+ "( " + afd_key
+ ", " + safe.quoted_sql(val)
+ afd_val
+ ")";

View File

@@ -330,8 +330,18 @@ cnt = { setcontractstatus:
+ " AND t.fac_tracking_refkey = c.cnt_contract_key" // contract key uit "sql"
+ " AND sn.fac_srtnotificatie_xmlnode = 'contract') recentdatum";
sql = "WITH slowafd as (select * from prs_v_afdeling) "
+ "SELECT c.cnt_contract_nummer"
//PCHD#88955: de prs_v_afdeling maakt de query soms enorm traag
// voorkom dat door indien mogelijk prs_v_afdeling_fullnames te gebruiken, die is veel lichter
var simpledepstring = inArray(S("prs_dep_string"), "d.prs_afdeling_naam1,d.prs_afdeling_naam2,d.prs_afdeling_naam3,d.prs_afdeling_naam4,d.prs_afdeling_naam5,d.prs_afdeling_naam6".split(","))
if (simpledepstring)
{
sql = "WITH slowafd as (select * from prs_v_afdeling_fullnames) "
}
else
{
sql = "WITH slowafd as (select * from prs_v_afdeling) "
}
sql +="SELECT c.cnt_contract_nummer"
+ " , c.cnt_contract_versie"
+ " , c.cnt_contract_omschrijving"
+ " , c.cnt_contract_opmerking"

View File

@@ -570,7 +570,8 @@ ANONYMOUS_Allowed = 1;
if (p_methode == "POST" && p_actie == "ticket")
{
var sql = "UPDATE mld_opdr"
+ " SET mld_opdr_externnr = " + parseInt(p_ticket.id)
+ " SET mld_opdr_externnr = " + safe.quoted_sql(parseInt(p_ticket.id))
+ " , mld_opdr_id = " + safe.quoted_sql(parseInt(p_ticket.id))
+ " WHERE mld_opdr_key = " + parseInt(p_ticket.external_id);
Oracle.Execute(sql);
}

View File

@@ -143,6 +143,31 @@ result.scanner.dbcreated = new Date(oRs("created").Value);
result.scanner.dbuser = oRs("user").Value;
oRs.Close();
// Busy taken
var sql = "SELECT fac_cust_customerid, "
+ " fac_task_code, "
+ " fac_task_nextrun, "
+ " fac_task_lastrun, "
+ " fac_task_flags"
+ " FROM fac_cust fc, fac_task ft "
+ " WHERE ft.fac_cust_key = fc.fac_cust_key "
+ " AND BITAND (fac_task_flags, 2) = 2 " // busy
+ " AND fac_task_nextrun IS NOT NULL"
+ " ORDER BY fac_cust_customerid, fac_task_code"
var oRs = Oracle.Execute(sql);
result.tasker = {};
while (!oRs.EOF)
{
var data = { "fac_task_code": oRs("fac_task_code").Value,
"fac_task_nextrun": new Date(oRs("fac_task_nextrun").Value),
"fac_task_lastrun": new Date(oRs("fac_task_lastrun").Value),
"fac_task_flags": oRs("fac_task_flags").Value
}
result.tasker[oRs("fac_cust_customerid").Value] = data;
oRs.MoveNext;
}
oRs.Close();
result.applicationpoolstart = new Date(Application("SET_INSTANCE_TIME"));

View File

@@ -262,8 +262,8 @@ PAGE_START();
"",
autfunction,
[],
0)
+ sql_to_where2;
0,
sql_to_where2); // Eigenlijk de group_by parameter, hier misbruikt als subquery-postfix
var sql_from_ALG = sql_from_select
+ sql_from_from

View File

@@ -92,6 +92,9 @@ var sql = "SELECT d.ins_deel_key"
+ " , ins_srtgroep g"
+ " , ins_tab_discipline dis"
+ " , alg_v_allonrgoed_gegevens dg"
+ (wpprefix
? " , prs_werkplek wp"
: "")
+ " , prs_v_aanwezigafdeling d"
+ " , prs_perslid p"
+ " WHERE d.ins_srtdeel_key = s.ins_srtdeel_key"
@@ -100,6 +103,9 @@ var sql = "SELECT d.ins_deel_key"
+ " AND d.ins_deel_verwijder IS NULL"
+ " AND d.ins_alg_ruimte_type = dg.alg_type(+)"
+ " AND d.ins_alg_ruimte_key = dg.alg_onroerendgoed_keys(+)"
+ (wpprefix
? " AND d.ins_alg_ruimte_key = wp.prs_werkplek_key(+)"
: "")
+ " AND d.ins_alg_ruimte_key = d.prs_afdeling_key(+)"
+ " AND d.ins_alg_ruimte_key = p.prs_perslid_key(+)"
+ " AND d.ins_deel_key = " + ins_key;

View File

@@ -19,8 +19,7 @@ var message_key = getQParamInt("msg_key");
+ " , pf.prs_perslid_naam_friendly"
+ " FROM msg_message m, prs_v_perslid_fullnames_all pf"
+ " WHERE m.msg_message_key = " + message_key
+ " AND m.prs_perslid_key = pf.prs_perslid_key"
+ " AND m.prs_perslid_key = " + user_key;
+ " AND m.prs_perslid_key = pf.prs_perslid_key";
oRs = Oracle.Execute(sql);
var title = oRs("msg_message_onderwerp").value;
var msg_date = new Date(oRs("msg_message_aanmaak").value);

View File

@@ -757,6 +757,7 @@ res = {
// Als grens wijzigingshorizon (tijd) is verstreken en res_disc_params_expire_wkdag is null; begin morgen
// Als grens wijzigingshorizon (dag) is verstreken (al dan niet icm grens wijzigingshorizon (tijd)); De eerstvolgende maandag na volgende week
var beginDate = new Date();
var beginDateSql = beginDate.toSQL(true);
if (mode != 1) { // Hou rekening met een evt. 'grens wijzigingshorizon'
var sql = "SELECT rdp.res_disc_params_expire_tijd"
+ " , rdp.res_disc_params_expire_wkdag"
@@ -781,10 +782,11 @@ res = {
return beginDate; // Klaar, want hier luisteren we niet naar de relatieve wijzigingshorizon (dagen)
} else if (exp_time !== null && beginDate.getFloatHours() > exp_time) {
beginDate = new Date(beginDate.setDate(beginDate.getDate() + 1)); // Verschuif naar morgen
beginDateSql = beginDate.beginToSQL();
}
}
var sql = "SELECT fac.DatumTijdPlusUitvoerTijd(" + beginDate.beginToSQL()
var sql = "SELECT fac.DatumTijdPlusUitvoerTijd(" + beginDateSql
+ " , " + (mode == 1
? "res_disc_params_cancel_dagen"
: "res_disc_params_expire_dagen")

View File

@@ -8,7 +8,7 @@
Context: Vanuit ELK asp bestand
*/
var FCLTVersion="2025.1b";
var FCLTVersion="2025.1c";
var FCLTMinDatabaseSchema="50"; // Alleen de cijfers
var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -336,7 +336,7 @@ function sendNotification(ref_key, pcode, params)
}
}
var v_aanduiding = "";
function notificationMail(rec, p_notificationXSL, params)
{
// ======================== 2=mail ========================
@@ -356,6 +356,7 @@ function notificationMail(rec, p_notificationXSL, params)
var prs_perslid_key_receiver = rec("prs_perslid_key_receiver").Value;
var noti_collegas = rec("noti_collegas").Value;
v_aanduiding = "notificationMail 1";
if (rec("fac_notificatie_status").value & params.STATUS_EMAIL) // bitwise AND
{
var cc_arr = [];
@@ -391,12 +392,14 @@ function notificationMail(rec, p_notificationXSL, params)
}
oRs_noti.Close();
}
v_aanduiding = "notificationMail 2";
var mail_params = { attachFileName: ""
, attachments: []
, cc: cc_arr.join(";")
};
if (geturl) // Fetch data from url to mail
{
v_aanduiding = "notificationMail 3";
if (!S("puo_fclt_web_url"))
{
throw { description: "XXXX found in XML but puo_fclt_web_url not set." };
@@ -462,6 +465,7 @@ function notificationMail(rec, p_notificationXSL, params)
}
else if (!rec("fac_srtnotificatie_xmlnode").value)
{
v_aanduiding = "notificationMail 4";
Log2File(2, "Text-only notificatie");
var subject = rec("fac_notificatie_oms").Value;
var body = subject;
@@ -482,6 +486,7 @@ function notificationMail(rec, p_notificationXSL, params)
}
else
{
v_aanduiding = "notificationMail 5";
mail_params.fcltid = rec("fac_srtnotificatie_xmlnode").value + ":" + rec("fac_notificatie_refkey").value; // komt in message header X-FCLT-fcltid
if (rec("fac_notificatie_extrakey").value > 0)
mail_params.fcltid += ":" + rec("fac_notificatie_extrakey").value;
@@ -497,6 +502,7 @@ function notificationMail(rec, p_notificationXSL, params)
, { srtnotificatie: rec("fac_srtnotificatie_code").value }
);
v_aanduiding = "notificationMail 5a";
if (xml_content)
{
if (attach_srtkenmerkkey > 0 && xmlnode == "melding") // alleen voor MLDAFM en MLDAFR
@@ -534,6 +540,7 @@ function notificationMail(rec, p_notificationXSL, params)
//
Log2File(2, "XSL file used=" + p_notificationXSL);
SubjectText = rec("fac_notificatie_oms").value;
v_aanduiding = "notificationMail 5aa";
strResult = XML2HTML( xml_content
, p_notificationXSL
@@ -553,6 +560,7 @@ function notificationMail(rec, p_notificationXSL, params)
if (rec("fac_notificatie_status").value & params.STATUS_SUMMARY_XSL)
{
v_aanduiding = "notificationMail 5b";
// Via XSL
SubjectTextXSL = XML2HTML( xml_content
, p_notificationXSL
@@ -591,6 +599,7 @@ function notificationMail(rec, p_notificationXSL, params)
}
}
mail_params.attachics = icsResult;
v_aanduiding = "notificationMail 5c";
sendMail( sender_email
, receiver_email
, SubjectText
@@ -625,6 +634,7 @@ function notificationMail(rec, p_notificationXSL, params)
Log2File(2, "Mailnotificatie als attachment");
mail_params.attachFileName = "Facilitor.html";
v_aanduiding = "notificationMail 6";
sendMail( sender_email
, receiver_email
, SubjectText
@@ -633,6 +643,7 @@ function notificationMail(rec, p_notificationXSL, params)
, mail_params
);
}
v_aanduiding = "notificationMail 7";
// trackaction of sent mail
var sqlSrtNotificatie = "SELECT fac_srtnotificatie_code"
+ " FROM fac_srtnotificatie"
@@ -682,6 +693,7 @@ function notificationMail(rec, p_notificationXSL, params)
}
catch(e)
{
Log2File(0, "v_aanduiding: " + v_aanduiding);
Log2File(0, toDateTimeString(new Date()) + " Error in SendNotification/MAIL (using smtp server {0}:{1})\n{2}".format(S("puo_smtpserver"), S("puo_smtpserverport"), e.description), "E");
// Wel doorvallen naar wissen bitjes: we blijven notificaties niet tot in den treure proberen
}

View File

@@ -39,6 +39,7 @@ function sendMail( p_mailfrom
Log2File(2, "*> sendMail");
params = params || {};
v_aanduiding = "sendMail 1";
if (S("puo_forcemailaddress") == "donotsend@facilitor.nl")
{
Log2File(1, "E-mail forced to 'donotsend@facilitor.nl' will not be actually sent");
@@ -74,6 +75,7 @@ function sendMail( p_mailfrom
objMail.Configuration = objConf;
}
//
v_aanduiding = "sendMail 2";
Log2File(3, "In SendMail sender=" + p_mailfrom);
var Mailsend = false;
@@ -330,6 +332,7 @@ function sendMail( p_mailfrom
throw new UserException(e + 1000, "PutOrders", e.description);
}
}
v_aanduiding = "sendMail 3";
var allAttachSize = 0;
if (params.include_file) // deze meesturen, bijvoorbeeld algemene voorwaarden
@@ -349,6 +352,7 @@ function sendMail( p_mailfrom
}
}
v_aanduiding = "sendMail 4";
if (params.include_cust_file) // volledig pad, bijvoorbeeld temp-xlsx
{
var attFile = objFso.GetFile(params.include_cust_file);
@@ -364,6 +368,7 @@ function sendMail( p_mailfrom
}
v_aanduiding = "sendMail 5";
if (params.attachments_path) // Geselecteerde bestanden uit flexfiles meesturen.
{ // Voor backwards compatibiliteit weer toegevoegd.
Log2File(2, "geselecteerde backwards compatibiliteit attachments meesturen");
@@ -404,6 +409,7 @@ function sendMail( p_mailfrom
}
}
v_aanduiding = "sendMail 6";
if (params.attachments) // Geselecteerde bestanden uit flexfiles meesturen.
{
Log2File(2, "geselecteerde attachments meesturen: "+params.attachments.length);
@@ -460,6 +466,7 @@ function sendMail( p_mailfrom
//
// Stuur alle flexfiles (type M(ap) en F(file)) als attachment mee (dus van meerdere kenmerken).
//
v_aanduiding = "sendMail 7";
if (params.refkey)
{
var kenmerk_key = (typeof params.kenmerk_key === "array" ? params.kenmerk_key : [params.kenmerk_key]);
@@ -597,6 +604,7 @@ function sendMail( p_mailfrom
objFlds.Update();
}
}
v_aanduiding = "sendMail 8";
if (params.receiptto)
{
@@ -606,6 +614,7 @@ function sendMail( p_mailfrom
objMail.Fields.Update();
}
v_aanduiding = "sendMail 9";
var forcedgroup = true;
if (S("puo_forcemailaddress") && !params.ignoreOverrule)
{
@@ -632,6 +641,7 @@ function sendMail( p_mailfrom
oRs.Close();
}
v_aanduiding = "sendMail 10";
if (S("puo_forcefromaddress"))
{
objMail.Fields("urn:schemas:mailheader:X-FCLT-original-from").Value = objMail.From;
@@ -658,14 +668,18 @@ function sendMail( p_mailfrom
if ("fcltid" in params)
objMail.Fields("urn:schemas:mailheader:X-FCLT-fcltid").Value = params.fcltid;
v_aanduiding = "sendMail 11";
objMail.Fields.Update();
v_aanduiding = "sendMail 12";
//
//
if (p_mailto)
{
try
{
v_aanduiding = "sendMail 13";
objMail.Send();
v_aanduiding = "sendMail 14";
// helaas undefined Log2File(1, "E-mail size: " + objMail.Size);
}
catch (e)

View File

@@ -73,7 +73,8 @@ function tasker_loop(params)
{
Log2File(1, "{0} Task seems busy in lockfile {1}\nNot starting task, trying again in 1 minute".format(toDateTimeString(new Date()), lockfilename));
var sqlu = "UPDATE fac_task"
+ " SET fac_task_nextrun = fac_task_nextrun + 1/60/24" // Over 1 minuut weer testen
+ " SET fac_task_nextrun = fac_task_nextrun + 1/60/24," // Over 1 minuut weer testen
+ " fac_task_flags = fac_task_flags + 2 - bitand(fac_task_flags, 2)" // zet bitje 2 om aan te geven dat we busy zijn
+ " WHERE fac_task_key = " + task_key;
Oracle.Execute(sqlu);
@@ -83,7 +84,8 @@ function tasker_loop(params)
var sqlu = "UPDATE fac_task"
+ " SET fac_task_nextrun = NULL,"
+ " fac_task_lastrun = SYSDATE"
+ " fac_task_lastrun = SYSDATE,"
+ " fac_task_flags = fac_task_flags - bitand(fac_task_flags, 2)" // reset busy bitje
+ " WHERE fac_task_key = " + task_key;
Oracle.Execute(sqlu);