MARX#58812: Bijlage vanuit opdrachtNeMer naar opdrachtGeVer
svn path=/Mareon/trunk/; revision=43818
This commit is contained in:
@@ -121,6 +121,10 @@ function MARX_2_FCLT_NEW_Opdrachten(){
|
||||
F_GetOpdrachten_NEW();
|
||||
}
|
||||
|
||||
function MARX_2_FCLT_Bijlagen(){
|
||||
F_GetOpdrachten_Bijlagen();
|
||||
}
|
||||
|
||||
function MARX_2_FCLT_OpmerkingOpdrachten(){
|
||||
F_GetOpdrachten_Opmerking();
|
||||
}
|
||||
@@ -319,6 +323,12 @@ function MAREON_2_FACILITOR()
|
||||
MARX_2_FCLT_NEW_Opdrachten();
|
||||
__Log("*** END", 2);
|
||||
}
|
||||
if (G_mar_sync_bijlages_naar_opdrgvr != '0' && G_mar_sync_bijlages_naar_opdrgvr != '-1'){
|
||||
__Log("*** START MAREON --> CUST.FACILITOR.NL : Bijlagen bij opdrachten uit Mareon naar Facilitor ***", 2);
|
||||
MARX_2_FCLT_Bijlagen();
|
||||
__Log("*** END", 2);
|
||||
}
|
||||
|
||||
__Log("*** START MAREON --> CUST.FACILITOR.NL : Opmerking opdrachten uit Mareon naar Facilitor ***", 2);
|
||||
MARX_2_FCLT_OpmerkingOpdrachten();
|
||||
__Log("*** END", 2);
|
||||
@@ -507,6 +517,7 @@ var G_mar_timeout = 0; //initieel 1e keer.
|
||||
|
||||
var G_mar_communicatielogboek = parseInt(l_array[14]); // Opdrachtgever maakt gebruik van communicatielogboek (AX webservice UpdatePurchStatus beschikbaar)
|
||||
var G_mar_sync_bijlages_opdrgvr = l_array[16]; // Bijlages vanuit opdrachtgever worden gedeeld met leverancier indien niet leeg/0. Voor Facilitor vullen met de flexprop-key
|
||||
var G_mar_sync_bijlages_naar_opdrgvr = l_array[17]; // Bijlages vanuit opdrachtnever worden gedeeld met opdrachtgever indien niet leeg/0. Voor Facilitor vullen met de flexprop-key
|
||||
|
||||
if (AX_or_Tobias() == "A")
|
||||
{
|
||||
|
||||
@@ -8,22 +8,37 @@
|
||||
// Parameters:
|
||||
// v_mld_opdr_key_fclt: key van mld_opdr in Facilitor omgeving
|
||||
// v_mld_opdr_key_marx: key van mld_opdr in Mareon
|
||||
// v_mld_kenmerk_key_fclt: string van key(s) van opdracht-kenmerk(en) in Facilitor omgeving, gescheiden door komma, dus b.v. "key1" of "key1,key2" etc.
|
||||
function FCLT_GetOpdrachtBijlages(v_mld_opdr_key_fclt, v_mld_opdr_key_marx, v_mld_kenmerk_key_fclt)
|
||||
function FCLT_2_MARX_PutOpdrachtBijlages(v_mld_opdr_key_fclt, v_mld_opdr_key_marx)
|
||||
{
|
||||
//v_mld_kenmerk_key_fclt is de instelling "Bijlages van opdrachtgever:" (flexprop key 40) bij prs_bedrijf (=opdrachtgever)
|
||||
// Zet bijlages uit Facilitor volgens kenmerk-keys G_mar_sync_bijlages_opdrgvr in Mareon (in kenmerk-key 20 van Mareon)
|
||||
// G_mar_sync_bijlages_opdrgvr: string van key(s) van opdracht-kenmerk(en) in Facilitor omgeving, gescheiden door komma, dus b.v. "key1" of "key1,key2" etc.
|
||||
FCLT_or_MARX_PutOpdrachtBijlages(G_fclt_url, G_fclt_apikey, v_mld_opdr_key_fclt, G_marx_url, G_marx_apikey, v_mld_opdr_key_marx, G_mar_sync_bijlages_opdrgvr, "20", "FCLT_2_MARX");
|
||||
}
|
||||
|
||||
// Parameters:
|
||||
// v_mld_opdr_key_marx: key van mld_opdr in Mareon
|
||||
// v_mld_opdr_key_fclt: key van mld_opdr in Facilitor omgeving
|
||||
function MARX_2_FCLT_PutOpdrachtBijlages(v_mld_opdr_key_marx, v_mld_opdr_key_fclt)
|
||||
{
|
||||
FCLT_or_MARX_PutOpdrachtBijlages(G_marx_url, G_marx_apikey, v_mld_opdr_key_marx, G_fclt_url, G_fclt_apikey, v_mld_opdr_key_fclt, "28", G_mar_sync_bijlages_naar_opdrgvr, "MARX_2_FCLT");
|
||||
}
|
||||
|
||||
function FCLT_or_MARX_PutOpdrachtBijlages(v_url_bron, v_apikey_bron, v_mld_opdr_key_bron, v_url_dest, v_apikey_dest, v_mld_opdr_key_dest, v_mld_kenmerk_key_bron, v_mld_kenmerk_key_dest, v_extra_log)
|
||||
{
|
||||
|
||||
//v_mld_kenmerk_key_bron is de Mareon instelling "Bijlages van opdrachtgever:" (flexprop key 40) bij prs_bedrijf (=opdrachtgever)
|
||||
//Voor Facilitor (dus hier) is dat de kenmerk-key van de bijlage-flexprop in de Facilitor-omgeving van klant, waarvan de bijlages opgehaald moeten worden
|
||||
//In geval van meerdere kenmerk-keys (b.v. in geval van meerdere opdrachttypen, met ieder hun eigen (opdr)kenmerk, moeten de keys worden gescheiden door de komma (,), dus b.v.: 123,456,789
|
||||
|
||||
var l_url = G_fclt_url + "api2/orders/" + v_mld_opdr_key_fclt + ".json?scope=fo&include=custom_fields&fileencoding=base64&custom_fields=" + v_mld_kenmerk_key_fclt;
|
||||
var l_url = v_url_bron + "api2/orders/" + v_mld_opdr_key_bron + ".json?scope=fo&include=custom_fields&fileencoding=base64&custom_fields=" + v_mld_kenmerk_key_bron;
|
||||
|
||||
__Log("l_url: " + l_url,3);
|
||||
|
||||
|
||||
var l_response_JSON = FcltAPI2(G_fclt_apikey, "GET", l_url);
|
||||
var l_response_JSON = FcltAPI2(v_apikey_bron, "GET", l_url);
|
||||
if (l_response_JSON)
|
||||
{
|
||||
__Log("FCLT_GetOpdrachtBijlages: GET", 2);
|
||||
__Log("FCLT_GetOpdrachtBijlages: GET", 2);
|
||||
var data = eval ("(" + l_response_JSON.responseText + ")");
|
||||
__Log("Opdracht data:" + data, 4);
|
||||
if ("order" in data && "custom_fields" in data.order)
|
||||
@@ -32,14 +47,26 @@ function FCLT_GetOpdrachtBijlages(v_mld_opdr_key_fclt, v_mld_opdr_key_marx, v_ml
|
||||
{ __Log("Bijlage custom_fields: fld", 3);
|
||||
var attarr = data.order.custom_fields[fld].attachments;
|
||||
if (attarr)
|
||||
{ __Log("Opdracht attachments: attarr", 3);
|
||||
{ __Log("Aantal opdracht attachments " + v_extra_log + " :" + attarr.length, 3);
|
||||
for (var i = 0; i < attarr.length; i++)
|
||||
{
|
||||
__Log("File: " + attarr[i].name,2);
|
||||
__Log("Size: " + attarr[i].size,2);
|
||||
__Log("Url: " + attarr[i].content_url,2);
|
||||
api_F_PutOpdr_Bijlage(v_mld_opdr_key_marx, attarr[i].name, attarr[i].content_base64);
|
||||
__Log("Bijlage: " + i + " van " + attarr.length + " geupload naar Mareon",2);
|
||||
// Kenmerk-key in Mareon waarin de bijlagen terecht moet komen is key 20
|
||||
|
||||
var l_kenmerk_arr = v_mld_kenmerk_key_dest.split(",");
|
||||
__Log("Aantal kenmerk-keys: " + l_kenmerk_arr.length, 3);
|
||||
for (var j = 0; j < l_kenmerk_arr.length; j++)
|
||||
{ try {
|
||||
var l_kenmerk_key = parseInt(l_kenmerk_arr[j]);
|
||||
api_F_PutOpdr_Bijlage(v_url_dest, v_apikey_dest, v_mld_opdr_key_dest, attarr[i].name, attarr[i].content_base64, l_kenmerk_key);
|
||||
__Log("Bijlage " + v_extra_log + ": " + i + " van " + attarr.length + " geupload naar kenmerk " + l_kenmerk_key ,2);
|
||||
}
|
||||
catch(e) {
|
||||
__Log("FCLT_or_MARX_PutOpdrachtBijlages: catch van parseInt van kenmerk-key" + l_kenmerk_arr[j], 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,6 +128,12 @@ function F_GetMareonInfo()
|
||||
var l_sync_bijlages_opdrgvr = v_resp.selectSingleNode(l_node);
|
||||
__Log("l_sync_bijlages_opdrgvr: " + l_sync_bijlages_opdrgvr.text,2);
|
||||
l_result.push(l_sync_bijlages_opdrgvr.text);
|
||||
|
||||
|
||||
//MARX#58812: Bijlage vanuit opdrachtNeMer naar opdrachtGeVer, via instelling regelen of bijlages naar opdrachtgever worden gesynct
|
||||
var l_node = strQuery + "/mar_sync_bijlages_naar_opdrgvr";
|
||||
var l_sync_bijlages_naar_opdrgvr = v_resp.selectSingleNode(l_node);
|
||||
__Log("l_sync_bijlages_naar_opdrgvr: " + l_sync_bijlages_naar_opdrgvr.text,2);
|
||||
l_result.push(l_sync_bijlages_naar_opdrgvr.text);
|
||||
|
||||
return l_result;
|
||||
}
|
||||
|
||||
47
ax/SRC/F_GetOpdrachtenBijlagen.js
Normal file
47
ax/SRC/F_GetOpdrachtenBijlagen.js
Normal file
@@ -0,0 +1,47 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetOpdrachten_Bijlagen.js
|
||||
// Copyright 2019 SG|facilitor. 053-4800 700, helpdesk@mareon.nl
|
||||
// Written by MB (2019)
|
||||
//
|
||||
//
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetOpdrachten_Bijlagen()
|
||||
{
|
||||
|
||||
var v_API = "BIJLAGEN_OPDR_4AX";
|
||||
var v_APIKEY = G_marx_apikey;
|
||||
var v_req = "<GetBIJLAGEN_OPDR_4AX><adapterversion>" + G_Mareon_Adapter + "</adapterversion><APIkey>" + v_APIKEY + "</APIkey></GetBIJLAGEN_OPDR_4AX>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(G_marx_url, v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
var l_node;
|
||||
|
||||
__Log("F_GetOpdrachten_Bijlagen: " + v_resp.text, 3);
|
||||
|
||||
// Uitlezen van XML's...
|
||||
var i = 1;
|
||||
var strQuery = "//xml/mld_ordr[" + i + "]";
|
||||
var l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
while (l_deelxml)
|
||||
{
|
||||
l_node = strQuery + "/mld_opdr_key";
|
||||
var v_mld_opdr_key_marx = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
l_node = strQuery + "/mld_opdr_key_fclt";
|
||||
var v_mld_opdr_key_fclt = v_resp.selectSingleNode(l_node).text;
|
||||
__Log("v_mld_opdr_key_fclt: " + v_mld_opdr_key_fclt,2);
|
||||
|
||||
if (AX_or_Tobias() == "F") {
|
||||
MARX_2_FCLT_PutOpdrachtBijlages(v_mld_opdr_key_marx, v_mld_opdr_key_fclt);
|
||||
}
|
||||
i = i + 1;
|
||||
|
||||
var strQuery = "//xml/mld_ordr[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -22,37 +22,44 @@ function api_F_PutOpdrachten(v_xml, v_API)
|
||||
|
||||
}
|
||||
|
||||
function api_F_PutOpdr_Bijlage(p_mld_opdr_key, p_bestandsnaam, p_bijlage64)
|
||||
function api_F_PutOpdr_Bijlage(p_url, p_apikey, p_mld_opdr_key, p_bestandsnaam, p_bijlage64, p_kenmerk_key)
|
||||
{
|
||||
// FF voor de test naar uwv op work/trunk, mareon op labs is nog 2015.1 (wacht op 2015.2 stuff)
|
||||
//var factuurkey = 98225;
|
||||
//var G_marx_url = 'http://uwva.facws001/trunk/';
|
||||
// var http://uwva.facws001.sg.nl/trunk/api2/issues/1021288.html?include=custom_fields&fileencoding=base64&fields=custom_fields
|
||||
__Log("Start api_F_PutOpdr_Bijlage: ", 2);
|
||||
var v_url = G_marx_url + "api2/orders/" + p_mld_opdr_key + ".json?scope=fo&include=custom_fields&fileencoding=base64";
|
||||
|
||||
var l_json_data =
|
||||
{
|
||||
order: {
|
||||
custom_fields: [
|
||||
{
|
||||
propertyid: 20,
|
||||
attachments: [
|
||||
{
|
||||
name: p_bestandsnaam,
|
||||
content_base64: p_bijlage64
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
try{
|
||||
|
||||
var v_url = p_url + "api2/orders/" + p_mld_opdr_key + ".json?scope=fo&include=custom_fields&fileencoding=base64";
|
||||
|
||||
var l_json_data =
|
||||
{
|
||||
order: {
|
||||
custom_fields: [
|
||||
{
|
||||
propertyid: p_kenmerk_key,
|
||||
attachments: [
|
||||
{
|
||||
name: p_bestandsnaam,
|
||||
content_base64: p_bijlage64
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
l_json_message = JSON.stringify(l_json_data, null, 2);
|
||||
|
||||
var l_response_JSON = FcltAPI2(G_marx_apikey, "PUT", v_url, l_json_message);
|
||||
//l_response_JSON_text = JSON.stringify(l_response_JSON, null, 2);
|
||||
__Log("l_response_JSON_text:" + l_response_JSON, 3);
|
||||
|
||||
l_json_message = JSON.stringify(l_json_data, null, 2);
|
||||
|
||||
var l_response_JSON = FcltAPI2(p_apikey, "PUT", v_url, l_json_message);
|
||||
//l_response_JSON_text = JSON.stringify(l_response_JSON, null, 2);
|
||||
__Log("l_response_JSON_text:" + l_response_JSON, 3);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
__Log("api_F_PutOpdr_Bijlage: catch met propertyid" + p_kenmerk_key, 3);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -184,8 +191,8 @@ function api_AX_2_F_Verwerk_Documenten(v_mld_opdr_key, v_xml_documenten, v_aanta
|
||||
__Log("api_AX_2_F_Verwerk_Documenten - v_mld_opdr_key : " + v_mld_opdr_key, 3);
|
||||
if (v_mld_opdr_key != -1) {
|
||||
__Log("api_AX_2_F_Verwerk_Documenten - Before api_F_PutOpdr_Bijlage : ", 3);
|
||||
|
||||
api_F_PutOpdr_Bijlage(v_mld_opdr_key, l_bestandsnaam, l_bijlage_base64);
|
||||
// Kenmerk-key in Mareon waarin de bijlagen terecht moet komen is key 20.
|
||||
api_F_PutOpdr_Bijlage(G_marx_url, G_marx_apikey, v_mld_opdr_key, l_bestandsnaam, l_bijlage_base64, 20);
|
||||
// ----------------------------------------------------------------------
|
||||
__Log("api_AX_2_F_Verwerk_Documenten - After api_F_PutOpdr_Bijlage : ", 3);
|
||||
}
|
||||
@@ -230,8 +237,8 @@ function F_GetOpdrachten_NEW()
|
||||
var v_mld_opdr_key_fclt = v_resp.selectSingleNode(l_node).text;
|
||||
__Log("v_mld_opdr_key_fclt: " + v_mld_opdr_key_fclt,2);
|
||||
|
||||
if (AX_or_Tobias() == "F") {
|
||||
FCLT_GetOpdrachtBijlages(v_mld_opdr_key_fclt, v_mld_opdr_key_marx, G_mar_sync_bijlages_opdrgvr);
|
||||
if (AX_or_Tobias() == "F") {
|
||||
FCLT_2_MARX_PutOpdrachtBijlages(v_mld_opdr_key_fclt, v_mld_opdr_key_marx);
|
||||
}
|
||||
i = i + 1;
|
||||
|
||||
|
||||
@@ -92,8 +92,8 @@ function R_GetOpdrachten()
|
||||
__Log("R_GetOpdrachten - l_mld_opdr_key : " + l_mld_opdr_key, 2);
|
||||
if (l_mld_opdr_key != -1) {
|
||||
__Log("R_GetOpdrachten - Before api_F_PutOpdr_Bijlage : ", 3);
|
||||
|
||||
api_F_PutOpdr_Bijlage(l_mld_opdr_key, l_bestandsnaam, l_bijlage_base64);
|
||||
// Kenmerk-key in Mareon waarin de bijlagen terecht moet komen is key 20.
|
||||
api_F_PutOpdr_Bijlage(G_marx_url, G_marx_apikey, l_mld_opdr_key, l_bestandsnaam, l_bijlage_base64, 20);
|
||||
// ----------------------------------------------------------------------
|
||||
__Log("R_GetOpdrachten - After api_F_PutOpdr_Bijlage : ", 3);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user