Merge 2020.1 Gold C changes
svn path=/Website/trunk/; revision=46569
This commit is contained in:
@@ -193,10 +193,6 @@ else
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
manRWFIELD("bld_ordrnr", "fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {maxlength: 30});
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER(" + lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key") + ")";
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: verantw_key,
|
||||
@@ -221,6 +217,10 @@ else
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc4", L("lcl_alg_gebouw_facilitair"));
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER(" + lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key") + ")";
|
||||
FCLTselector("dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
|
||||
@@ -1507,61 +1507,68 @@ obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
if (!authparams_cA.canWrite)
|
||||
abort_with_warning(L("lcl_shared_no_auth"));
|
||||
|
||||
// De opdracht key staat in the_key.
|
||||
var mld_opdr = mld.mld_opdr_info(the_key); // Bevat alle info van de opdracht.
|
||||
var mld_key = mld_opdr.mld_key; // De melding key (jsondata.issue.id) is wellicht niet altijd aanwezig.
|
||||
var opdr_type_key = mld_opdr.opdr_type;
|
||||
var this_mld = mld.func_enabled_melding(mld_key);
|
||||
var setopdrstatus = jsondata.status? jsondata.status.id : null;
|
||||
var old_opdrstatus = mld_opdr.opdr_status;
|
||||
if (S("bgt_enabled") != 1) // BGT doet niets met mld_melding; mld_opdr heeft zelfs geen mld_melding_key!
|
||||
{ // Maar voordat wijzigingen worden opgeslagen moet voor niet-BGT worden gecontroleerd of de gebruiker voldoende rechten heeft.
|
||||
// De opdracht key staat in the_key.
|
||||
var mld_opdr = mld.mld_opdr_info(the_key); // Bevat alle info van de opdracht.
|
||||
var mld_key = mld_opdr.mld_key; // De melding key (jsondata.issue.id) is wellicht niet altijd aanwezig.
|
||||
var opdr_type_key = mld_opdr.opdr_type;
|
||||
var this_mld = mld.func_enabled_melding(mld_key);
|
||||
var setopdrstatus = jsondata.status? jsondata.status.id : null;
|
||||
var old_opdrstatus = mld_opdr.opdr_status;
|
||||
}
|
||||
|
||||
var result = generic_REST_PUT(this)(params, jsondata, the_key);
|
||||
// LET OP: De jsondata is anders dan voor de aanroep van generic_REST_PUT. De jsondata bevat nu de gegevens van de opdracht na de update.
|
||||
|
||||
// Als de opdrachtstatus wordt Afgemeld(6) dan controleren of de melding gesloten kan worden.
|
||||
// Dit controleren als
|
||||
// 1) De opdracht Afgemeld(6) moet worden.
|
||||
// 2) De opdrachtstatus is aangepast.
|
||||
// 3) De nieuwe status van de opdracht ook daadwerkelijk Afgemeld(6) is geworden.
|
||||
|
||||
// Hier terugchecken van de status.
|
||||
tsql = "SELECT mld_statusopdr_key FROM mld_opdr"
|
||||
+ " WHERE mld_opdr_key="+ opdr_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
var new_opdrstatus = oRs("mld_statusopdr_key").Value;
|
||||
if (setopdrstatus == 6 && old_opdrstatus != setopdrstatus && new_opdrstatus == 6)
|
||||
if (S("bgt_enabled") != 1) // Voor BGT niet nodig.
|
||||
{
|
||||
// Als er geen lopende opdrachten meer zijn inclusief deze (laatste) opdracht (alle opdrachten zijn afgemeld), dan kijken of de melding gesloten kan worden.
|
||||
// Zijn er nog lopende opdrachten
|
||||
tsql = "SELECT COUNT ( * ) lopend"
|
||||
+ " FROM mld_opdr"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)"; // (1=afgewezen, 2=niet akkoord, 6=afgemeld, 7=verwerkt en 9=afgerond)
|
||||
oRs = Oracle.Execute(tsql);
|
||||
// LET OP: De jsondata is anders dan voor de aanroep van generic_REST_PUT. De jsondata bevat nu de gegevens van de opdracht na de update.
|
||||
|
||||
if (oRs("lopend").Value == 0)
|
||||
{ // Er zijn alleen opdrachten met status 1 (Afgewezen) of 6/9 (Afgemeld/Afgerond)
|
||||
// Check of setting bij opdrachttype automatisch sluiten ALTIJD (= 2) toestaat.
|
||||
var tsql = "SELECT mld_typeopdr_sluitmelding FROM mld_typeopdr"
|
||||
+ " WHERE mld_typeopdr_key = " + opdr_type_key;
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
// Als de opdrachtstatus wordt Afgemeld(6) dan controleren of de melding gesloten kan worden.
|
||||
// Dit controleren als
|
||||
// 1) De opdracht Afgemeld(6) moet worden.
|
||||
// 2) De opdrachtstatus is aangepast.
|
||||
// 3) De nieuwe status van de opdracht ook daadwerkelijk Afgemeld(6) is geworden.
|
||||
|
||||
// Afhankelijk van sluitmelding nu melding status zetten (0=nooit, 1=vragen en 2=altijd)
|
||||
// De laatste opdracht is afgemeld anders kom je hier niet.
|
||||
if ((oRs("mld_typeopdr_sluitmelding").Value == 2 || oRs("mld_typeopdr_sluitmelding").Value == 1) &&
|
||||
this_mld.canClose)
|
||||
// Hier terugchecken van de status.
|
||||
tsql = "SELECT mld_statusopdr_key FROM mld_opdr"
|
||||
+ " WHERE mld_opdr_key="+ opdr_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
var new_opdrstatus = oRs("mld_statusopdr_key").Value;
|
||||
if (setopdrstatus == 6 && old_opdrstatus != setopdrstatus && new_opdrstatus == 6)
|
||||
{
|
||||
mld.setmeldingstatus (mld_key, 5); // Afgemeld
|
||||
var sql = "BEGIN fac.backtrackaction('MLDAFM', " + mld_key + ", " + user_key + ", " + new Date().toSQL(true) +"); END;"
|
||||
Oracle.Execute(sql); // Statuswijzigingen wel even tracken
|
||||
mld.trackmeldingupdate(mld_key, L("lcl_mld_is_mldupd") + "\n" + L("lcl_mld_is_mldafm") + L("lcl_trackto") + toDateTimeString(new Date()));
|
||||
// Als er geen lopende opdrachten meer zijn inclusief deze (laatste) opdracht (alle opdrachten zijn afgemeld), dan kijken of de melding gesloten kan worden.
|
||||
// Zijn er nog lopende opdrachten
|
||||
tsql = "SELECT COUNT ( * ) lopend"
|
||||
+ " FROM mld_opdr"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND mld_statusopdr_key NOT IN (1, 2, 6, 7, 9)"; // (1=afgewezen, 2=niet akkoord, 6=afgemeld, 7=verwerkt en 9=afgerond)
|
||||
oRs = Oracle.Execute(tsql);
|
||||
|
||||
if (oRs("lopend").Value == 0)
|
||||
{ // Er zijn alleen opdrachten met status 1 (Afgewezen) of 6/9 (Afgemeld/Afgerond)
|
||||
// Check of setting bij opdrachttype automatisch sluiten ALTIJD (= 2) toestaat.
|
||||
var tsql = "SELECT mld_typeopdr_sluitmelding FROM mld_typeopdr"
|
||||
+ " WHERE mld_typeopdr_key = " + opdr_type_key;
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
|
||||
// Afhankelijk van sluitmelding nu melding status zetten (0=nooit, 1=vragen en 2=altijd)
|
||||
// De laatste opdracht is afgemeld anders kom je hier niet.
|
||||
if ((oRs("mld_typeopdr_sluitmelding").Value == 2 || oRs("mld_typeopdr_sluitmelding").Value == 1) &&
|
||||
this_mld.canClose)
|
||||
{
|
||||
mld.setmeldingstatus (mld_key, 5); // Afgemeld
|
||||
var sql = "BEGIN fac.backtrackaction('MLDAFM', " + mld_key + ", " + user_key + ", " + new Date().toSQL(true) +"); END;"
|
||||
Oracle.Execute(sql); // Statuswijzigingen wel even tracken
|
||||
mld.trackmeldingupdate(mld_key, L("lcl_mld_is_mldupd") + "\n" + L("lcl_mld_is_mldafm") + L("lcl_trackto") + toDateTimeString(new Date()));
|
||||
}
|
||||
else
|
||||
// Dan zetten we de Melding hier terug naar Geaccepteerd indien die Uitgegeven was
|
||||
// Zodat die bij de FO weer onder Inbehandeling valt.
|
||||
mld.setmeldingstatus (mld_key, 4); // Geaccepteerd
|
||||
}
|
||||
// else status van de melding niet aanpassen.
|
||||
}
|
||||
else
|
||||
// Dan zetten we de Melding hier terug naar Geaccepteerd indien die Uitgegeven was
|
||||
// Zodat die bij de FO weer onder Inbehandeling valt.
|
||||
mld.setmeldingstatus (mld_key, 4); // Geaccepteerd
|
||||
}
|
||||
// else status van de melding niet aanpassen.
|
||||
}
|
||||
|
||||
return result;
|
||||
@@ -1588,14 +1595,14 @@ obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
var authparams_cA = _checkAutorisation(this_par, auth_par);
|
||||
if (!authparams_cA.canWrite)
|
||||
abort_with_warning(L("lcl_shared_no_auth"));
|
||||
}
|
||||
|
||||
// Als het volgnummer van de opdracht niet is meegegeven dan moet deze zelf bepaald worden.
|
||||
sql = "SELECT mld.bepaalopdrmeldingvolgnr(" + jsondata.issue.id + ") volg"
|
||||
+ " FROM DUAL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
jsondata.sequence = oRs("volg").Value;
|
||||
oRs.Close();
|
||||
// Als het volgnummer van de opdracht niet is meegegeven dan moet deze zelf bepaald worden.
|
||||
sql = "SELECT mld.bepaalopdrmeldingvolgnr(" + jsondata.issue.id + ") volg"
|
||||
+ " FROM DUAL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
jsondata.sequence = oRs("volg").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
return generic_REST_POST(this)(params, jsondata);
|
||||
}
|
||||
|
||||
@@ -117,6 +117,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , (SELECT isd2.bes_srtdeel_voorraadmin" + sql_srtdeel2 + ") voorraadmin" // Voorraadmin van gekoppelde discipline
|
||||
+ " , SUM (bo.bes_bestelopdr_item_aantal) aantal_intern"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_besteld"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_open_order"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_besteld"
|
||||
@@ -196,6 +197,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , (SELECT isd2.bes_srtdeel_voorraadmin" + sql_srtdeel2 + ") voorraadmin" // Voorraadmin van gekoppelde discipline
|
||||
+ " , TO_NUMBER (NULL) aantal_intern"
|
||||
+ " , SUM (bo.bes_bestelopdr_item_aantal) aantal_intern_besteld"
|
||||
+ " , SUM (bo.bes_bestelopdr_item_aantalontv) aantal_intern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_open_order"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_besteld"
|
||||
@@ -276,6 +278,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , bes_srtdeel_voorraadmin voorraadmin"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_besteld"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_geleverd"
|
||||
+ " , SUM (bi.bes_bestelling_item_aantal) - SUM (COALESCE(bi.bes_bestelling_item_aantalontv, 0)) aantal_open_order"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_besteld"
|
||||
@@ -362,6 +365,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , bes_srtdeel_voorraadmin voorraadmin"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_besteld"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_open_order"
|
||||
+ " , SUM (COALESCE(bi.bes_bestelling_item_aantalontv, 0)) aantal_extern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_besteld"
|
||||
@@ -452,6 +456,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , bes_srtdeel_voorraadmin voorraadmin"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_besteld"
|
||||
+ " , TO_NUMBER (NULL) aantal_intern_geleverd"
|
||||
+ " , TO_NUMBER (NULL) aantal_open_order"
|
||||
+ " , TO_NUMBER (NULL) aantal_extern_geleverd"
|
||||
+ " , SUM (COALESCE(bi.bes_bestelling_item_aantal, 0)) aantal_extern_besteld"
|
||||
@@ -542,7 +547,8 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , bo.voorraadmax"
|
||||
+ " , bo.voorraadmin"
|
||||
+ " , SUM (bo.aantal_intern) aantal_intern_uit"
|
||||
+ " , SUM (bo.aantal_intern_besteld) aantal_intern_mag"
|
||||
+ " , SUM (bo.aantal_intern_besteld) aantal_intern_bes"
|
||||
+ " , SUM (bo.aantal_intern_geleverd) aantal_intern_gel"
|
||||
+ " , SUM (bo.aantal_extern_geleverd) aantal_geleverd"
|
||||
+ " , SUM (bo.aantal_extern_besteld) aantal_besteld"
|
||||
+ " , SUM (bo.aantal_open_order) aantal_open_order"
|
||||
@@ -584,8 +590,8 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , SUM(a.aantal_intern_uit) aantal_intern_uit"
|
||||
+ " , SUM(CEIL (a.aantal_intern_uit / b.intern_voorraadfactor)) aantal_extern_uit"
|
||||
+ " , SUM(a.aantal_geleverd) aantal_geleverd"
|
||||
+ " , SUM(a.aantal_intern_mag) aantal_uitmaarnoginmagazijn"
|
||||
+ " , SUM(a.aantal_besteld) aantal_inbestellingbijleverancier"
|
||||
+ " , SUM(a.aantal_intern_bes) - SUM(a.aantal_intern_gel) aantal_uitmaarnoginmagazijn"
|
||||
+ " , SUM(a.aantal_besteld) aantal_inbestellingbijlever"
|
||||
+ " , SUM(a.aantal_open_order) aantal_open_order"
|
||||
+ " , b.intern_voorraadfactor"
|
||||
+ " , COALESCE(SUM(a.aantal_geleverd), 0) - COALESCE(SUM(CEIL (a.aantal_intern_uit / b.intern_voorraadfactor)), 0) voorraad"
|
||||
@@ -647,7 +653,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
+ " , aantal_extern_uit"
|
||||
+ " , aantal_geleverd"
|
||||
+ " , aantal_uitmaarnoginmagazijn"
|
||||
+ " , aantal_inbestellingbijleverancier"
|
||||
+ " , aantal_inbestellingbijlever"
|
||||
+ " , aantal_open_order"
|
||||
+ " , CASE"
|
||||
+ " WHEN ( COALESCE(aantal_open_order, 0)"
|
||||
@@ -818,7 +824,7 @@ function bes_voorraad_list (pautfunction, params)
|
||||
if (!showvoorraad)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_aantal_in"), content: "aantal_geleverd", datatype: "number", total: true}));
|
||||
rst.addColumn(new Column({caption: "In bestelling" , content: "aantal_inbestellingbijleverancier", datatype: "number", total: true}));
|
||||
rst.addColumn(new Column({caption: "In bestelling" , content: "aantal_inbestellingbijlever", datatype: "number", total: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_aantal_uit"), content: "aantal_extern_uit", datatype: "number", total: true}));
|
||||
rst.addColumn(new Column({caption: "Uit-maar nog in magazijn", content: "aantal_uitmaarnoginmagazijn", datatype: "number", total: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_bes_voorraad"), content: "voorraad", datatype: "number", total: true}));
|
||||
|
||||
@@ -297,6 +297,7 @@ function fill_rubriekselector(niveau, parent_key, init_key, child_key)
|
||||
|
||||
if (niveau == "B")
|
||||
{
|
||||
init_key = (!init_key ? -1 : init_key);
|
||||
if ($("#company").length)
|
||||
{
|
||||
if (sel_mode == "order_edit" || sel_mode == "order_new" )
|
||||
|
||||
@@ -34,15 +34,27 @@ ANONYMOUS_Allowed = 1;
|
||||
, url: ""
|
||||
, contenttype: "application/json"
|
||||
, methode: methode
|
||||
, actie: actie
|
||||
};
|
||||
|
||||
switch (actie)
|
||||
switch (actie) // Gebruik hier de parameter uit de aanroep. Topdesk_conn.actie wordt gewijzigd in attachment-POST door incident-POST en change-POST als params.info.boundary bestaat.
|
||||
{
|
||||
case "incident": topdesk_url = "/tas/api/incidents";
|
||||
switch (methode)
|
||||
{
|
||||
case "POST": topdesk_conn.url = topdesk_url;
|
||||
case "POST": if (params.info.boundary) // Dus voor attachment.
|
||||
{
|
||||
topdesk_conn.url = topdesk_url + "/id/" + params.info.get_id + "/attachments";
|
||||
topdesk_conn.methode = "POST";
|
||||
topdesk_conn.actie = "attachment";
|
||||
topdesk_conn.contenttype = "multipart/form-data;boundary=" + params.info.boundary;
|
||||
}
|
||||
else
|
||||
{
|
||||
topdesk_conn.url = topdesk_url;
|
||||
}
|
||||
break;
|
||||
case "PUT":
|
||||
case "PATCH": topdesk_conn.url = topdesk_url + "/id/" + params.info.get_id;
|
||||
break;
|
||||
case "GET": topdesk_conn.url = topdesk_url + ( params.inc_id
|
||||
@@ -69,13 +81,24 @@ ANONYMOUS_Allowed = 1;
|
||||
case "change": topdesk_url = "/tas/api/operatorChanges";
|
||||
switch (methode)
|
||||
{
|
||||
case "GET": topdesk_conn.url = topdesk_url + (params.info.get_id ? "/" + params.info.get_id : "");
|
||||
break;
|
||||
case "POST": topdesk_conn.url = topdesk_url
|
||||
case "POST": if (params.info.boundary) // Dus voor attachment.
|
||||
{
|
||||
topdesk_conn.url = topdesk_url + "/" + params.info.get_id + "/attachments";
|
||||
topdesk_conn.methode = "POST";
|
||||
topdesk_conn.actie = "attachment";
|
||||
topdesk_conn.contenttype = "multipart/form-data;boundary=" + params.info.boundary;
|
||||
}
|
||||
else
|
||||
{
|
||||
topdesk_conn.url = topdesk_url;
|
||||
}
|
||||
break;
|
||||
case "PATCH": topdesk_conn.url = topdesk_url + "/" + params.info.get_id;
|
||||
topdesk_conn.contenttype = "application/json-patch+json";
|
||||
break;
|
||||
case "GET": topdesk_conn.url = topdesk_url + (params.info.get_id ? "/" + params.info.get_id : "");
|
||||
break;
|
||||
|
||||
default: topdesk_con.methode = "";
|
||||
}
|
||||
break;
|
||||
@@ -91,7 +114,7 @@ ANONYMOUS_Allowed = 1;
|
||||
http_request.open(topdesk_conn.methode, topdesk_url, false); // Synchroon
|
||||
if (topdesk_conn.methode == "POST")
|
||||
{
|
||||
if (actie == "incident")
|
||||
if (topdesk_conn.actie == "incident")
|
||||
{
|
||||
var body_data = params.data;
|
||||
http_request.setRequestHeader("Authorization", topdesk_aut);
|
||||
@@ -99,7 +122,7 @@ ANONYMOUS_Allowed = 1;
|
||||
http_request.setRequestHeader("Content-Type", topdesk_conn.contenttype);
|
||||
http_request.send(JSON.stringify(body_data));
|
||||
}
|
||||
else if (actie == "change")
|
||||
else if (topdesk_conn.actie == "change")
|
||||
{
|
||||
var body_data = params.data;
|
||||
http_request.setRequestHeader("Authorization", topdesk_aut);
|
||||
@@ -107,10 +130,18 @@ ANONYMOUS_Allowed = 1;
|
||||
http_request.setRequestHeader("Content-Type", topdesk_conn.contenttype);
|
||||
http_request.send(JSON.stringify(body_data));
|
||||
}
|
||||
else if (topdesk_conn.actie == "attachment")
|
||||
{
|
||||
http_request.setRequestHeader("Authorization", topdesk_aut);
|
||||
http_request.setRequestHeader("Content-Type", topdesk_conn.contenttype);
|
||||
http_request.setRequestHeader("Accept","application/json");
|
||||
http_request.setRequestHeader("Content-Transfer-Encoding", "base64");
|
||||
http_request.Send(params.data);
|
||||
}
|
||||
}
|
||||
else if (topdesk_conn.methode == "PATCH")
|
||||
{
|
||||
var body_data = (actie == "change"? [params.data] : params.data);
|
||||
var body_data = (topdesk_conn.actie == "change"? [params.data] : params.data);
|
||||
http_request.setRequestHeader("Authorization", topdesk_aut);
|
||||
http_request.setRequestHeader("Accept", "application/json");
|
||||
http_request.setRequestHeader("Content-Type", topdesk_conn.contenttype);
|
||||
@@ -173,41 +204,6 @@ ANONYMOUS_Allowed = 1;
|
||||
return "isUnknown";
|
||||
}
|
||||
|
||||
function log_result(params)
|
||||
{
|
||||
if (params.message == "")
|
||||
{
|
||||
__Log("status: " + params.status + "\nTOPdesk fetching data:");
|
||||
__Log(params.data);
|
||||
//Response.Write("TOPdesk fetching data: " + datastr);
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("status: " + params.status + "; " + params.message, "#FFFF00");
|
||||
//Response.Write(params.message);
|
||||
}
|
||||
}
|
||||
|
||||
function update_opdracht(methode, actie, melding, params)
|
||||
{
|
||||
if (params.status >= 200 && params.status < 300)
|
||||
{
|
||||
// Voorbeeld van wat je zou kunnen doen nadat in TOPdesk de melding is toegevoegd.
|
||||
//
|
||||
if (methode == "POST")
|
||||
{
|
||||
var v_omschr = "\nTOPdesk nr: " + params.data.number;
|
||||
var v_id = "\nTOPdesk id: " + params.data.id;
|
||||
|
||||
var sql = "UPDATE mld_opdr"
|
||||
+ " SET mld_opdr_externnr = " + safe.quoted_sql(params.data.id)
|
||||
+ " , mld_opdr_omschrijving = mld_opdr_omschrijving || " + safe.quoted_sql(v_omschr)
|
||||
+ " WHERE mld_opdr_key = " + melding.opdracht.mld_opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function resolve_obj(methode, src, path, value)
|
||||
{
|
||||
//__Log("resolve_obj " + path);
|
||||
@@ -306,37 +302,137 @@ ANONYMOUS_Allowed = 1;
|
||||
}
|
||||
}
|
||||
|
||||
function streamdata(params, filedata)
|
||||
{
|
||||
var oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.charset = "utf-8";
|
||||
oStream.Open();
|
||||
oStream.Type = 2; // adTypeText
|
||||
oStream.LineSeparator = -1;
|
||||
// Elke regel van WriteText wordt met CrLf afgesloten. Zet deze niet in de string want dan worden ze als lettertekens beschouwd.
|
||||
oStream.WriteText("", 1);
|
||||
oStream.WriteText("--" + params.info.boundary, 1);
|
||||
oStream.WriteText('Content-Disposition: form-data; name="file"; filename="' + params.info.filename + '"', 1); // LET OP: file en bestandsnaam MOETEN tussen dubbele quotes staan!
|
||||
oStream.WriteText("Content-Type: application/plain; charset=utf-8", 1);
|
||||
oStream.WriteText("Content-Transfer-Encoding: base64", 1);
|
||||
oStream.WriteText("", 1);
|
||||
oStream.WriteText(filedata, 1);
|
||||
oStream.WriteText("--" + params.info.boundary + "--", 1);
|
||||
oStream.Position = 0;
|
||||
//
|
||||
return oStream;
|
||||
}
|
||||
|
||||
// *************************************************************************
|
||||
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"))
|
||||
{
|
||||
var t = (p_obj_topdesk.bijlagen ? getTypeOf(p_obj_topdesk.bijlagen.bijlage) : "isUnknown");
|
||||
switch (t)
|
||||
{
|
||||
case "isUndefined": var bijlagen = []; break; // geen bijlagen
|
||||
case "isObject": var bijlagen = [p_obj_topdesk.bijlagen.bijlage]; break; // 1 bijlage
|
||||
case "isArray": var bijlagen = p_obj_topdesk.bijlagen.bijlage; break; // 2 of meer bijlagen
|
||||
default: var bijlagen = [];
|
||||
}
|
||||
for (var i=0; i < bijlagen.length; i++)
|
||||
{
|
||||
var bijlage = bijlagen[i];
|
||||
var new_topdesk = { info: p_obj_topdesk.info };
|
||||
new_topdesk.info.get_id = p_topdesk_result.data.id;
|
||||
new_topdesk.info.boundary = "eWmWdiyWZVsqRAlEjgwicQsLnvXBJAVw"; // random genoeg, als het maar niet voorkomt in de data
|
||||
new_topdesk.info.filename = bijlage.name;
|
||||
new_topdesk.info.filesize = bijlage.size;
|
||||
//
|
||||
new_topdesk.data = streamdata(new_topdesk, bijlage.attachment);
|
||||
var result = connectTopdesk("POST", p_obj_topdesk.info.actie, new_topdesk);
|
||||
//
|
||||
result.fclt_msg = ( (result.status == 200 || result.status == 201)
|
||||
? "Attachment " + result.data.fileName + " ("+ result.data.size +") toegevoegd"
|
||||
: "Attachment " + bijlage.name + " kon niet worden toegevoegd"
|
||||
);
|
||||
attach_result.push(result);
|
||||
}
|
||||
}
|
||||
return attach_result;
|
||||
}
|
||||
|
||||
function update_mldopdr(methode, actie, melding, params)
|
||||
{
|
||||
if (params.ticket)
|
||||
{
|
||||
if (params.ticket.status >= 200 && params.ticket.status < 300)
|
||||
{
|
||||
var sql = "";
|
||||
if (methode == "POST" && (actie == "incident" || actie == "change"))
|
||||
{
|
||||
var v_omschr = "\nTOPdesk nr: " + params.ticket.data.number;
|
||||
var v_id = "Melding naar TOPdesk doorgestuurd. id: " + params.ticket.data.id;
|
||||
|
||||
sql = "UPDATE mld_opdr"
|
||||
+ " SET mld_opdr_externnr = " + safe.quoted_sql(params.ticket.data.id)
|
||||
+ " , mld_opdr_omschrijving = mld_opdr_omschrijving || " + safe.quoted_sql(v_omschr)
|
||||
+ " WHERE mld_opdr_key = " + melding.opdracht.mld_opdr_key;
|
||||
}
|
||||
|
||||
if (sql)
|
||||
Oracle.Execute(sql);
|
||||
//shared.trackaction("#MLDDOO", melding.opdracht.mld_opdr_key, v_id);
|
||||
}
|
||||
var opm = (methode == "POST" ? "Creating " : "Updating ") + actie + " Topdesk. Status: " + params.ticket.status;
|
||||
shared.trackaction("#MLDDOO", melding.opdracht.mld_opdr_key, opm);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if (params.attach.length)
|
||||
{
|
||||
for (i=0; i< params.attach.length; i++)
|
||||
{
|
||||
if (params.attach[i].status >= 200 && params.attach[i].status < 300)
|
||||
{
|
||||
attachment = params.attach[i];
|
||||
//var opm = "\nAttachment " + attachment.data.fileName + " ("+ attachment.data.size +") toegevoegd met id=" + attachment.data.id;
|
||||
//if (methode == "POST" && (actie == "incident" || actie == "change"))
|
||||
//{
|
||||
// shared.trackaction("#MLDDOO", melding.opdracht.mld_opdr_key, "Attachment naar Topdesk geupload");
|
||||
//}
|
||||
}
|
||||
var opm = "Uploading attachment to Topdesk. Status: " + params.attach[i].status;
|
||||
//shared.trackaction("ORDTRK", melding.opdracht.mld_opdr_key, opm);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// *************************************************************************
|
||||
__Log("*> TOPdesk.api");
|
||||
|
||||
var facilitor = load_headerdata();
|
||||
//var facilitor = x_header_data_p.facilitor;
|
||||
var obj_topdesk = facilitor.topdesk || {};
|
||||
//
|
||||
__Log(obj_topdesk);
|
||||
replaceLookups(obj_topdesk);
|
||||
//
|
||||
var topdesk_result = connectTopdesk(obj_topdesk.info.methode, obj_topdesk.info.actie, obj_topdesk);
|
||||
update_opdracht(obj_topdesk.info.methode, obj_topdesk.info.actie, facilitor.melding, topdesk_result);
|
||||
//
|
||||
// // Nu kunnen de bijlagen verstuurd worden.
|
||||
// var attach_result = addAttachments(obj_topdesk, topdesk_result);
|
||||
var attach_result = { "nog": "niets" };
|
||||
var result = { ticket: topdesk_result
|
||||
, attach: attach_result
|
||||
};
|
||||
//
|
||||
|
||||
if (facilitor.topdesk)
|
||||
{
|
||||
var obj_topdesk = facilitor.topdesk || {};
|
||||
//
|
||||
// Zoek eerst de benodigde id's op
|
||||
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)
|
||||
//
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = { ticket: { status: 600, message: "geen topdesk data aaanwezig" } };
|
||||
}
|
||||
__Log(result);
|
||||
__Log("*< TOPdesk.api");
|
||||
Response.Write(JSON.stringify(topdesk_result));
|
||||
Response.Write(JSON.stringify(result));
|
||||
//Response.End;
|
||||
%>
|
||||
|
||||
@@ -123,6 +123,7 @@ function doSubmitWithKenmerken()
|
||||
$dk2.find("#k" + (m+1) + "t").remove();
|
||||
$dk2.find("#k" + (m+1) + "p").remove()
|
||||
$dk2.find("#k" + (m+1) + "d").remove()
|
||||
$dk2.find("#k" + (m+1) + "count").remove();
|
||||
$dk2.find("#ko" + (m+1)).remove();
|
||||
$dk2.find("#Suggestk" + (m+1) + "_show").remove();
|
||||
$dk2.find("#execDonek" + (m+1)).remove();
|
||||
|
||||
@@ -202,14 +202,14 @@ function make_plan_obj(disc_key, res_van, res_tot, params)
|
||||
+ ", d.ins_deel_key";
|
||||
var group_by = " GROUP BY "
|
||||
+ " r.res_deel_key"
|
||||
+ ", " + lcl.xsql('r.res_deel_opmerking', 'r.res_deel_key')
|
||||
+ ", " + lcl.xsql('r.res_deel_omschrijving', 'r.res_deel_key')
|
||||
+ ", r.res_deel_opmerking"
|
||||
+ ", r.res_deel_omschrijving"
|
||||
+ ", r.res_deel_vervaldatum"
|
||||
+ ", d.ins_alg_ruimte_key_org"
|
||||
+ ", d.ins_discipline_key"
|
||||
+ ", r.res_deel_prijs"
|
||||
+ ", r.res_deel_image"
|
||||
+ ", " + lcl.xsql('r.res_deel_eenheid', 'r.res_deel_key')
|
||||
+ ", r.res_deel_eenheid"
|
||||
+ ", res_disc_params_preposttime"
|
||||
+ ", d.ins_deel_key"
|
||||
+ " ORDER BY 3 "; // r.res_deel_omschrijving: Don't use column alias with UNION ...
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Context: Vanuit ELK asp bestand
|
||||
*/
|
||||
|
||||
var FCLTVersion="2020.1a";
|
||||
var FCLTVersion="2020.1b";
|
||||
var FCLTMinDatabaseSchema="38";
|
||||
|
||||
var custpath = rooturl + "/cust/" + customerId; // path to customer files
|
||||
|
||||
Reference in New Issue
Block a user