svn path=/Mareon/trunk/; revision=23914
This commit is contained in:
131
ax/AxFacilitor.NMK
Normal file
131
ax/AxFacilitor.NMK
Normal file
@@ -0,0 +1,131 @@
|
||||
###############################################################################
|
||||
## AxFacilitor.nmk
|
||||
##
|
||||
## Project: SM44 FACILITOR
|
||||
##
|
||||
## (c) 1995-2014 SG|facilitor bv
|
||||
##
|
||||
##
|
||||
## $Revision: 21949 $
|
||||
## $Id: AxFacilitor.NMK 21949 2014-06-19 08:34:19Z jgl $
|
||||
##
|
||||
## Beschrijving:
|
||||
##
|
||||
#
|
||||
##
|
||||
###############################################################################
|
||||
## REQUIRES: (in searchpath)
|
||||
##
|
||||
## NMAKE.EXE (requires NMAKE.EXE)
|
||||
## Microsoft (R) Program Maintainance Utility Version 1.11
|
||||
## CL.EXE
|
||||
## Microsoft (R) C Optimizing Compiler Version 6.00A
|
||||
## -for precompiling only-
|
||||
## WRAP.EXE (from 10.2.x) for Oracle, renamed to WRAP10.EXE
|
||||
##
|
||||
## SED.EXE
|
||||
## GNU sed version 4.2
|
||||
## Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
##
|
||||
## All to be found in ..\MAKTOOLS
|
||||
##
|
||||
## Uses (external) defines: None
|
||||
##
|
||||
## Note: If new modules are added, all source have to be mentioned separately,
|
||||
## which is quite obvious from the current state of this file..
|
||||
##
|
||||
## Note: For each new schema version the from and to version must be
|
||||
## mentioned explicitly, which is a pity but it makes sense too
|
||||
##
|
||||
###############################################################################
|
||||
##
|
||||
## Steps performed are:
|
||||
## All files are preprocessed directly into their result, no temp files
|
||||
|
||||
|
||||
#############
|
||||
##
|
||||
## Directories
|
||||
##
|
||||
#############
|
||||
PROJSRC=.\SRC
|
||||
PROJEXE=.\EXE
|
||||
|
||||
### SOURCE DEFINES (gets info from commandline) ###
|
||||
|
||||
##
|
||||
## New style using schemanumbers
|
||||
##
|
||||
VERSION=01
|
||||
|
||||
|
||||
##
|
||||
## PATH DEFINES
|
||||
##
|
||||
MAK=.
|
||||
|
||||
##
|
||||
## Source rootdirectory
|
||||
##
|
||||
MSRC=$(PROJSRC)
|
||||
EXE=$(PROJEXE)
|
||||
|
||||
PRECOMP=$(MAKTOOLS)\CL
|
||||
PRECOMP_OPTIONS=/EP /D_VER=$(VERSION)
|
||||
CLEANUP1=$(MAKTOOLS)\sedclean.bat
|
||||
|
||||
.SUFFIXES: .JS .BAT .XML
|
||||
|
||||
##
|
||||
## RESULTS
|
||||
##
|
||||
all: $(EXE)\AxFacilitor.js \
|
||||
$(EXE)\AxFacilitor.bat \
|
||||
$(EXE)\AxFacilitor.xml
|
||||
|
||||
|
||||
##########################################################################
|
||||
####
|
||||
#### AX FACILITOR
|
||||
####
|
||||
##########################################################################
|
||||
|
||||
$(EXE)\AxFacilitor.bat : $(MSRC)\AxFacilitor.bat
|
||||
echo Copying AxFacilitor.bat
|
||||
COPY $(MSRC)\AxFacilitor.bat $(EXE)\AxFacilitor.bat > nul
|
||||
|
||||
$(EXE)\AxFacilitor.xml : $(MSRC)\AxFacilitor.xml
|
||||
echo Copying AxFacilitor.xml
|
||||
COPY $(MSRC)\AxFacilitor.xml $(EXE)\AxFacilitor.xml > nul
|
||||
|
||||
$(EXE)\AxFacilitor.js: \
|
||||
$(MAK)\AxFacilitor.nmk \
|
||||
$(MSRC)\AxFacilitor.js \
|
||||
$(MSRC)\F_PutSync.js \
|
||||
$(MSRC)\F_GetSuppliers.js \
|
||||
$(MSRC)\A_GetOpdrachten.js \
|
||||
$(MSRC)\T_GetOpdrachten.js \
|
||||
$(MSRC)\F_PutOpdrachten.js \
|
||||
$(MSRC)\A_SetSupplierText.js \
|
||||
$(MSRC)\T_SetSupplierText.js \
|
||||
$(MSRC)\F_GetOpdrachtenAfgemeld.js \
|
||||
$(MSRC)\A_CompleteServiceTask.js \
|
||||
$(MSRC)\T_CompleteServiceTask.js \
|
||||
$(MSRC)\F_GetOpdrachtenGepland.js \
|
||||
$(MSRC)\A_PlanServiceTask.js \
|
||||
$(MSRC)\T_PlanServiceTask.js \
|
||||
$(MSRC)\F_GetOpdrachtenAcceptedRefused.js \
|
||||
$(MSRC)\A_RefuseServiceTask.js \
|
||||
$(MSRC)\A_AcceptServiceTask.js \
|
||||
$(MSRC)\T_AcceptServiceTask.js \
|
||||
$(MSRC)\F_GetOpdrachtenOpmerking.js \
|
||||
$(MSRC)\A_GetReturnCodes.js \
|
||||
$(MSRC)\F_PutReturnCodes.js \
|
||||
$(MSRC)\F_GetFacturen.js \
|
||||
$(MSRC)\Common.js
|
||||
$(PRECOMP) $(PRECOMP_OPTIONS) $(MAK)\AxFacilitor.src>$*.js
|
||||
|
||||
|
||||
|
||||
|
||||
## END-OF-FILE
|
||||
30
ax/AxFacilitor.SRC
Normal file
30
ax/AxFacilitor.SRC
Normal file
@@ -0,0 +1,30 @@
|
||||
//-- Copyright 2014 SG|facilitor bv.
|
||||
//-- All rights reserved!
|
||||
/*
|
||||
* $Revision: 19961 $
|
||||
* $Id: $
|
||||
*/
|
||||
|
||||
#include "SRC\Common.js"
|
||||
#include "SRC\F_PutSync.js"
|
||||
#include "SRC\F_GetSuppliers.js"
|
||||
#include "SRC\A_GetOpdrachten.js"
|
||||
#include "SRC\T_GetOpdrachten.js"
|
||||
#include "SRC\F_PutOpdrachten.js"
|
||||
#include "SRC\A_SetSupplierText.js"
|
||||
#include "SRC\T_SetSupplierText.js"
|
||||
#include "SRC\F_GetOpdrachtenAfgemeld.js"
|
||||
#include "SRC\A_CompleteServiceTask.js"
|
||||
#include "SRC\T_CompleteServiceTask.js"
|
||||
#include "SRC\F_GetOpdrachtenGepland.js"
|
||||
#include "SRC\A_PlanServiceTask.js"
|
||||
#include "SRC\T_PlanServiceTask.js"
|
||||
#include "SRC\F_GetOpdrachtenAcceptedRefused.js"
|
||||
#include "SRC\A_RefuseServiceTask.js"
|
||||
#include "SRC\A_AcceptServiceTask.js"
|
||||
#include "SRC\T_AcceptServiceTask.js"
|
||||
#include "SRC\F_GetOpdrachtenOpmerking.js"
|
||||
#include "SRC\A_GetReturnCodes.js"
|
||||
#include "SRC\F_PutReturnCodes.js"
|
||||
#include "SRC\F_GetFacturen.js"
|
||||
#include "SRC\AxFacilitor.js"
|
||||
14
ax/M.BAT
Normal file
14
ax/M.BAT
Normal file
@@ -0,0 +1,14 @@
|
||||
@echo off
|
||||
echo Making Ax-Facilitor
|
||||
|
||||
SET MAKTOOLS=z:\Project\FACILITOR\Tools\MAKTOOLS
|
||||
|
||||
SET INCLUDE=.
|
||||
%MAKTOOLS%\nmake /nologo /f AxFacilitor.nmk
|
||||
|
||||
|
||||
@echo Done... (check process output above)
|
||||
IF x%1==xNOWAIT GOTO DONE
|
||||
|
||||
pause
|
||||
:DONE
|
||||
32
ax/SRC/A_AcceptServiceTask.js
Normal file
32
ax/SRC/A_AcceptServiceTask.js
Normal file
@@ -0,0 +1,32 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_AcceptServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
|
||||
function A_AcceptServiceTask(v_company_id, v_taskId)
|
||||
{
|
||||
var v_API = "acceptServiceTask";
|
||||
var v_req = "<acceptServiceTask xmlns=\"http://tempuri.org/\">"
|
||||
+ " <companyId>" + v_company_id + "</companyId>"
|
||||
+ " <taskId>" + v_taskId + "</taskId>"
|
||||
+ " </acceptServiceTask>";
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
34
ax/SRC/A_CompleteServiceTask.js
Normal file
34
ax/SRC/A_CompleteServiceTask.js
Normal file
@@ -0,0 +1,34 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_CompleteServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
|
||||
function A_CompleteServiceTask (v_company_id, v_taskId, v_dateComplete)
|
||||
{
|
||||
|
||||
var v_API = "completeServiceTask";
|
||||
var v_req = "<completeServiceTask xmlns=\"http://tempuri.org/\">"
|
||||
+ " <companyId>" + v_company_id + "</companyId>"
|
||||
+ " <taskId>" + v_taskId + "</taskId>"
|
||||
+ " <dateComplete>" + v_dateComplete + "</dateComplete>"
|
||||
+ " </completeServiceTask>";
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
61
ax/SRC/A_GetOpdrachten.js
Normal file
61
ax/SRC/A_GetOpdrachten.js
Normal file
@@ -0,0 +1,61 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_GetOpdrachten.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
function A_GetOpdrachten()
|
||||
{
|
||||
var v_status_code = "o"; // open
|
||||
var l_currentTime = new Date();
|
||||
// l_aantal_dagen staat default/normaal op 1 (voor gisteren), dus alle opdrachten vanaf gisteren. Voor testdoeleinden kan dit wat opgerekt worden...
|
||||
// var l_aantal_dagen = 1;
|
||||
var l_aantal_dagen = Read_Ini_Setting("ax","opdr_past_days");
|
||||
var l_yesterday = new Date((new Date()).valueOf() - l_aantal_dagen*1000*60*60*24);
|
||||
var v_datum_vanaf = jsdatextoxml(l_yesterday);
|
||||
var v_datum_tm = jsdatextoxml(l_currentTime);
|
||||
|
||||
var v_xml_opdrachten;
|
||||
|
||||
// Haal de aannemers (feitelijk de AX-aannemer-id's) uit Facilitor die geregistreerd zijn voor het aannemersportaal.
|
||||
// Het aannemer-id van AX wordt uit Facilitor uitgelezen, en per aannemer wordt de webservice om de opdrachten van die aannemer op te halen, aangeroepen...
|
||||
l_suppl_array = F_GetSuppliers();
|
||||
for (var i = 0; i < l_suppl_array.length; i++){
|
||||
v_supplier_id = l_suppl_array[i];
|
||||
|
||||
// Ophalen van de opdrachten voor aannemer 'v_supplier_id' vanaf (default) gisteren tot en met nu.
|
||||
v_xml_opdrachten = A_GetOpdrachten_van_Aannemer(v_supplier_id, v_status_code, v_datum_vanaf, v_datum_tm);
|
||||
|
||||
// Wegschrijven van de opdrachten (voor aannemer 'v_supplier_id') naar Facilitor....
|
||||
api_F_PutOpdrachten(v_xml_opdrachten, "AX_OPDRACHTEN");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function A_GetOpdrachten_van_Aannemer(v_supplier_id, v_status_code, v_datum_vanaf, v_datum_tm)
|
||||
{
|
||||
|
||||
var v_API = "GetSupplierTasksSpec";
|
||||
var v_req = "<GetSupplierTasksSpec xmlns=\"http://tempuri.org/\">"
|
||||
+ " <vendAccountNum>" + v_supplier_id + "</vendAccountNum>"
|
||||
+ " <taskStatus>" + v_status_code + "</taskStatus>"
|
||||
+ " <startRange>" + v_datum_vanaf + "</startRange>"
|
||||
+ " <endRange>" + v_datum_tm + "</endRange>"
|
||||
+ " </GetSupplierTasksSpec>";
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
//if (v_type == 1 && v_resp != "")
|
||||
// {
|
||||
// oStream = new ActiveXObject("ADODB.Stream");
|
||||
// oStream.Open();
|
||||
// oStream.Type = 1; // adTypeBinary
|
||||
// oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
// oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
// oStream.Close();
|
||||
// }
|
||||
return v_resp;
|
||||
}
|
||||
82
ax/SRC/A_GetReturnCodes.js
Normal file
82
ax/SRC/A_GetReturnCodes.js
Normal file
@@ -0,0 +1,82 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_GetReturnCodes.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
function A_GetReturnCodes()
|
||||
{
|
||||
|
||||
var v_arr_company_id = [1];
|
||||
var v_company_id;
|
||||
var v_xml_weiger_codes;
|
||||
|
||||
// Haal de returncodes van de weigerteksten uit AX voor elke companyid.
|
||||
|
||||
for (var i = 0; i < v_arr_company_id.length; i++){
|
||||
v_company_id = v_arr_company_id[i];
|
||||
|
||||
// Ophalen van de opdrachten voor aannemer 'v_supplier_id' vanaf (default) gisteren tot en met nu.
|
||||
v_xml_returncodes = A_GetReturnCodes_van_Company(v_company_id);
|
||||
|
||||
// Wegschrijven van de opdrachten (voor aannemer 'v_supplier_id') naar Facilitor....
|
||||
F_PutReturnCodes(v_xml_returncodes);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
<getReturnCodes>
|
||||
<MethodParameters>
|
||||
<ReturnCodeArray>
|
||||
<ReturnCodeArray0>
|
||||
<CodeId>Besteld</CodeId>
|
||||
<Description>Materialen besteld (vervolgbon op zelfde melding)</Description>
|
||||
</ReturnCodeArray0>
|
||||
<ReturnCodeArray1>
|
||||
<CodeId>Materiaal</CodeId>
|
||||
<Description>Materiaal gehaald, factuur volgt</Description>
|
||||
</ReturnCodeArray1>
|
||||
<ReturnCodeArray2>
|
||||
<CodeId>Niet thuis</CodeId>
|
||||
<Description>Bewoner niet thuis ondanks afspraak</Description>
|
||||
</ReturnCodeArray2>
|
||||
<ReturnCodeArray3>
|
||||
<CodeId>Vervolg</CodeId>
|
||||
<Description>Vervolgafspraak maken op zelfde melding</Description>
|
||||
</ReturnCodeArray3>
|
||||
<ReturnCodeArray4>
|
||||
<CodeId>Wachten</CodeId>
|
||||
<Description>Wacht op bestelde materialen</Description>
|
||||
</ReturnCodeArray4>
|
||||
</ReturnCodeArray>
|
||||
</MethodParameters>
|
||||
</getReturnCodes>
|
||||
*/
|
||||
|
||||
|
||||
function A_GetReturnCodes_van_Company(v_company_id)
|
||||
{
|
||||
|
||||
var v_API = "getReturnCodes";
|
||||
var v_req = "<getReturnCodes xmlns=\"http://tempuri.org/\">"
|
||||
+ " <companyId>" + v_company_id + "</companyId>"
|
||||
+ " </getReturnCodes>";
|
||||
var v_type = 0;
|
||||
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
//if (v_type == 1 && v_resp != "")
|
||||
// {
|
||||
// oStream = new ActiveXObject("ADODB.Stream");
|
||||
// oStream.Open();
|
||||
// oStream.Type = 1; // adTypeBinary
|
||||
// oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
// oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
// oStream.Close();
|
||||
// }
|
||||
return v_resp;
|
||||
}
|
||||
34
ax/SRC/A_PlanServiceTask.js
Normal file
34
ax/SRC/A_PlanServiceTask.js
Normal file
@@ -0,0 +1,34 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_PlanServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
|
||||
function A_PlanServiceTask(v_company_id, v_taskId, v_plandate)
|
||||
{
|
||||
var v_API = "planServiceTask";
|
||||
var v_req = "<planServiceTask xmlns=\"http://tempuri.org/\">"
|
||||
+ " <companyId>" + v_company_id + "</companyId>"
|
||||
+ " <taskId>" + v_taskId + "</taskId>"
|
||||
+ " <planDate>" + v_plandate + "</planDate>"
|
||||
+ " </planServiceTask>";
|
||||
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
44
ax/SRC/A_RefuseServiceTask.js
Normal file
44
ax/SRC/A_RefuseServiceTask.js
Normal file
@@ -0,0 +1,44 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_RefuseServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
|
||||
function A_RefuseServiceTask(v_company_id, v_taskId, v_resultCodeId)
|
||||
{
|
||||
var v_API = "refuseServiceTask";
|
||||
var v_req = "<refuseServiceTask xmlns=\"http://tempuri.org/\">"
|
||||
+ " <companyId>" + v_company_id + "</companyId>"
|
||||
+ " <taskId>" + v_taskId + "</taskId>"
|
||||
+ " <resultCodeId>" + v_resultCodeId + "</resultCodeId>"
|
||||
+ " </refuseServiceTask>";
|
||||
|
||||
|
||||
/*
|
||||
<refuseServiceTask>
|
||||
<MethodParameters>
|
||||
<companyId>1</companyId>
|
||||
<taskId>MLD00004536-01</taskId>
|
||||
<resultCodeId>Niet thuis</resultCodeId>
|
||||
</MethodParameters>
|
||||
</refuseServiceTask>
|
||||
*/
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
35
ax/SRC/A_SetSupplierText.js
Normal file
35
ax/SRC/A_SetSupplierText.js
Normal file
@@ -0,0 +1,35 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// A_SetSupplierText.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
|
||||
function A_SetSupplierText(v_company_id, v_taskId, v_extraInfo)
|
||||
{
|
||||
|
||||
var v_API = "setSupplierText";
|
||||
var v_req = "<setSupplierText xmlns=\"http://tempuri.org/\">"
|
||||
+ " <companyId>" + v_company_id + "</companyId>"
|
||||
+ " <taskId>" + v_taskId + "</taskId>"
|
||||
+ " <extraInfo>" + v_extraInfo + "</extraInfo>"
|
||||
+ " </setSupplierText>";
|
||||
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
16
ax/SRC/AxFacilitor.bat
Normal file
16
ax/SRC/AxFacilitor.bat
Normal file
@@ -0,0 +1,16 @@
|
||||
REM --------------------------------------------------------------------------------------
|
||||
REM AxFacilitor.bat
|
||||
REM Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
REM Written by MB (2014)
|
||||
REM
|
||||
REM MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
REM --------------------------------------------------------------------------------------
|
||||
REM Scheduled Connector/Adapter voor alle communcatie van Ax -> Facilitor en van Facilitor -> Ax
|
||||
REM Staat elke nn minuten gescheduled en wisselt informatie uit tussen Ax e en FACILITOR
|
||||
|
||||
REM 1. Connector/Adapter Ax -> FACILITOR
|
||||
REM Param 1 = URL Webservice AX
|
||||
REM Param 2 = Root-URL Webservice FCLT
|
||||
REM parameters staan voortaan in AxFacilitor.xml
|
||||
cscript /E:javascript AxFacilitor.js
|
||||
|
||||
185
ax/SRC/AxFacilitor.js
Normal file
185
ax/SRC/AxFacilitor.js
Normal file
@@ -0,0 +1,185 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// AxFacilitor.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
// Scheduled Connector/Adapter voor alle communcatie van Ax -> Facilitor
|
||||
// Staat elke nn minuten gescheduled
|
||||
|
||||
//var proxy = "127.0.0.1:8888"; // Voor debugging met Fiddler
|
||||
|
||||
function FCLT_Sync_START(){
|
||||
F_PutSync(0);
|
||||
}
|
||||
function FCLT_Sync_END(){
|
||||
F_PutSync(1);
|
||||
}
|
||||
|
||||
// ----------------------------- AX functies -----------------------------------------
|
||||
function AX_2_FCLT_ReturnCodes(){
|
||||
A_GetReturnCodes();
|
||||
}
|
||||
|
||||
function AX_2_FCLT_Opdrachten(){
|
||||
A_GetOpdrachten();
|
||||
}
|
||||
|
||||
function FCLT_2_AX_OpmerkingOpdrachten(){
|
||||
F_GetOpdrachten_Opmerking();
|
||||
}
|
||||
|
||||
function FCLT_2_AX_AfgemeldeOpdrachten(){
|
||||
F_GetOpdrachten_Afgemeld();
|
||||
}
|
||||
|
||||
function FCLT_2_AX_GeplandeOpdrachten(){
|
||||
F_GetOpdrachten_Gepland();
|
||||
}
|
||||
|
||||
function FCLT_2_AX_AcceptRefuseOpdracht(){
|
||||
F_GetOpdrachten_AcceptRefuse();
|
||||
}
|
||||
|
||||
// ----------------------------- Tobias functies -----------------------------------------
|
||||
function Tobias_2_FCLT_Opdrachten(){
|
||||
T_GetOpdrachten();
|
||||
}
|
||||
|
||||
function FCLT_2_Tobias_OpmerkingOpdrachten(){
|
||||
F_GetOpdrachten_Opmerking();
|
||||
}
|
||||
|
||||
function FCLT_2_Tobias_AcceptRefuseOpdracht(){
|
||||
F_GetOpdrachten_AcceptRefuse();
|
||||
}
|
||||
|
||||
function FCLT_2_Tobias_GeplandeOpdrachten(){
|
||||
F_GetOpdrachten_Gepland();
|
||||
}
|
||||
|
||||
function FCLT_2_Tobias_AfgemeldeOpdrachten(){
|
||||
F_GetOpdrachten_Afgemeld();
|
||||
}
|
||||
|
||||
// ----------------------------- Xtractor functies -----------------------------------------
|
||||
function FCLT_2_AX_Facturen(){
|
||||
F_GetFacturen();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function Ax_2_FACILITOR()
|
||||
{
|
||||
|
||||
|
||||
__Log("*** START AX --> FCLT : Weiger returncodes/teksten uit AX en naar Facilitor ***");
|
||||
AX_2_FCLT_ReturnCodes();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START AX --> FCLT : Opdrachten uit AX en naar Facilitor ***");
|
||||
AX_2_FCLT_Opdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START FCLT --> AX : Opmerking opdrachten uit Facilitor naar AX ***");
|
||||
FCLT_2_AX_OpmerkingOpdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START FCLT --> AX : Geaccepteerde/geweigerde opdrachten uit Facilitor naar AX ***");
|
||||
FCLT_2_AX_AcceptRefuseOpdracht();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START FCLT --> AX : Geplande opdrachten uit Facilitor naar AX ***");
|
||||
FCLT_2_AX_GeplandeOpdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START FCLT --> AX : Afgemelde opdrachten uit Facilitor naar AX ***");
|
||||
FCLT_2_AX_AfgemeldeOpdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
}
|
||||
|
||||
function Tobias_2_FACILITOR()
|
||||
{
|
||||
// "*** START Tobias --> FCLT : Weiger returncodes/teksten uit Tobias ZIJN ER NIET (i.t.t. AX ***");
|
||||
|
||||
__Log("*** START Tobias --> FCLT : Opdrachten uit Tobias en naar Facilitor ***");
|
||||
Tobias_2_FCLT_Opdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START FCLT --> Tobias : Opmerking opdrachten uit Facilitor naar Tobias ***");
|
||||
FCLT_2_Tobias_OpmerkingOpdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
__Log("*** START FCLT --> Tobias : Geaccepteerde/geweigerde opdrachten uit Facilitor naar Tobias ***");
|
||||
FCLT_2_Tobias_AcceptRefuseOpdracht();
|
||||
__Log("*** END");
|
||||
|
||||
|
||||
__Log("*** START FCLT --> Tobias : Geplande opdrachten uit Facilitor naar Tobias ***");
|
||||
FCLT_2_Tobias_GeplandeOpdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
|
||||
__Log("*** START FCLT --> Tobias : Afgemelde opdrachten uit Facilitor naar Tobias ***");
|
||||
FCLT_2_Tobias_AfgemeldeOpdrachten();
|
||||
__Log("*** END");
|
||||
|
||||
}
|
||||
|
||||
function FACILITOR_2_Xtractor()
|
||||
{
|
||||
__Log("*** START FCLT --> AX / Tobias/AX : Facturen met status INGEVOERD + AKKOORD uit Facilitor naar AX of Tobias/AX ***");
|
||||
FCLT_2_AX_Facturen();
|
||||
__Log("*** END");
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
// Filepointer voor Logfile
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
|
||||
|
||||
var G_log_level = Read_Ini_Setting("common","logging");
|
||||
var G_ax_url = Read_Ini_Setting("ax","url");
|
||||
var G_tobias_url = Read_Ini_Setting("tobias","url");
|
||||
var G_fclt_url = Read_Ini_Setting("facilitor","url");
|
||||
var G_fclt_apikey = Read_Ini_Setting("facilitor","apikey");
|
||||
var G_ax_xtractorfolder = Read_Ini_Setting("xtractor","folder");
|
||||
|
||||
|
||||
__Log("************************************************** START AxFacilitor CONNECTOR ***********************************************");
|
||||
FCLT_Sync_START();
|
||||
|
||||
if (AX_or_Tobias() == "A")
|
||||
{
|
||||
__Log("AX");
|
||||
Ax_2_FACILITOR();
|
||||
}
|
||||
if (AX_or_Tobias() == "T")
|
||||
{
|
||||
__Log("TOBIAS");
|
||||
Tobias_2_FACILITOR();
|
||||
}
|
||||
|
||||
//if (G_ax_url != "")
|
||||
//{
|
||||
// __Log("AX");
|
||||
// Ax_2_FACILITOR();
|
||||
//}
|
||||
//if (G_tobias_url != "")
|
||||
//{
|
||||
// __Log("TOBIAS");
|
||||
// Tobias_2_FACILITOR();
|
||||
//}
|
||||
if (G_ax_xtractorfolder != "")
|
||||
{
|
||||
__Log("XTRACTOR");
|
||||
FACILITOR_2_Xtractor();
|
||||
}
|
||||
|
||||
FCLT_Sync_END();
|
||||
|
||||
__Log("************************************************** END AxFacilitor CONNECTOR ***********************************************");
|
||||
__Log("");
|
||||
32
ax/SRC/AxFacilitor.xml
Normal file
32
ax/SRC/AxFacilitor.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0"?>
|
||||
<ini>
|
||||
<common>
|
||||
<!-- Logging/Loglevel: 0 (geen logging), 1 of 2 (uitgebreide logging). -->
|
||||
<logging>0</logging>
|
||||
</common>
|
||||
<tobias>
|
||||
<!-- URL van de Tobias webservice 'TobiasConnect' -->
|
||||
<url>http://so-connect-t/TobiasConnect2_T/TobiasConnect.asmx</url>
|
||||
<appserver>Appserver://sg-iwtobias:5162/asAannemer_O</appserver>
|
||||
<methodlocation>Interfaces\External\Aannemer_1.20.2\</methodlocation>
|
||||
<!-- Methode van Gereedmelden in Tobias: 0 = GereedMelden (direct), 1 = GereedMeldenNaarSgWeb (via sgweb) -->
|
||||
<methodegereedmelden>0</methodegereedmelden>
|
||||
<!-- Aantal dagen in het verleden om open opdrachten op te halen -->
|
||||
<opdr_past_days>1</opdr_past_days><!-- opdr_past_days is default 1 (alle opdrachten vanaf gisteren) -->
|
||||
</tobias>
|
||||
<ax>
|
||||
<!-- URL van de AX webservice 'SupplierService' -->
|
||||
<url>http://so-connect-t/SupplierService/SupplierService.svc/soapUI</url>
|
||||
<!-- Aantal dagen in het verleden om open opdrachten op te halen -->
|
||||
<opdr_past_days>1</opdr_past_days><!-- opdr_past_days is default 1 (alle opdrachten vanaf gisteren) -->
|
||||
</ax>
|
||||
<xtractor>
|
||||
<folder>c:\xtractor\xml\</folder>
|
||||
</xtractor>
|
||||
<facilitor>
|
||||
<!-- URL van de Facilitor CUST -->
|
||||
<url>https://sglp.facilitorlabs.nl/</url>
|
||||
<!-- API key van SYSTEM USER 'API_AX' voor alle API's -->
|
||||
<apikey>ALXoEFzNuIiNlMmirQZIxYUDAOCxesWM</apikey>
|
||||
</facilitor>
|
||||
</ini>
|
||||
410
ax/SRC/Common.js
Normal file
410
ax/SRC/Common.js
Normal file
@@ -0,0 +1,410 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// Common.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
//var proxy = "127.0.0.1:8888"; // Voor debugging met Fiddler
|
||||
|
||||
|
||||
// Helper functies
|
||||
// 2013-11-13T07:00:00
|
||||
|
||||
function AX_or_Tobias(){
|
||||
if (G_ax_url != "") return "A";
|
||||
else {if (G_tobias_url != "") return "T";
|
||||
else return "";
|
||||
}
|
||||
}
|
||||
|
||||
// v_type = 0 (JSon Plain text is returned)
|
||||
// v_type = 1 (XMLresponse is returned)
|
||||
function apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelope)
|
||||
{
|
||||
__Log("apiFCLT v_API: " + v_API,1);
|
||||
__Log("apiFCLT v_APIKEY: " + v_APIKEY,1);
|
||||
__Log("apiFCLT v_type: " + v_type,1);
|
||||
__Log("apiFCLT v_soap_envelope: " + v_soap_envelope,1);
|
||||
|
||||
// var xmlhttp = new ActiveXObject("WinHTTP.WinHTTPRequest.5.1");
|
||||
var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
||||
|
||||
SXH_PROXY_SET_PROXY = 2;
|
||||
if (typeof proxy != "undefined" && proxy)
|
||||
xmlhttp.setProxy(SXH_PROXY_SET_PROXY, proxy);
|
||||
|
||||
var xmlUrl = G_fclt_url + "?API=" + v_API + "&APIKEY=" + v_APIKEY;
|
||||
|
||||
xmlhttp.open("POST", xmlUrl, false);
|
||||
|
||||
xmlhttp.setRequestHeader("Content-Type", "text/xml; charset=utf-8")
|
||||
|
||||
var msg = "" + v_req;
|
||||
if (v_soap_envelope == 1){
|
||||
msg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
|
||||
+ "<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'"
|
||||
+ " xmlns:xsd='http://www.w3.org/2001/XMLSchema'"
|
||||
+ " xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>"
|
||||
+ " <soap:Body>"
|
||||
+ v_req
|
||||
+ " </soap:Body>"
|
||||
+ "</soap:Envelope>";
|
||||
}
|
||||
|
||||
|
||||
if (msg != "")
|
||||
{
|
||||
xmlhttp.send(msg);
|
||||
var txt = "";
|
||||
if (xmlhttp.status == 200)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (v_type == 1){
|
||||
var result_data = xmlhttp.responseXML;
|
||||
__Log("XML :" + result_data.xml, 2);
|
||||
if (G_log_level == 3){
|
||||
var l_xml = xmlhttp.responseBody;
|
||||
WriteXML2File("Log/", v_API, "xml" , l_xml);
|
||||
}
|
||||
return result_data;
|
||||
}
|
||||
else
|
||||
{
|
||||
var txt = xmlhttp.responseText || "{}";
|
||||
var result_data = eval("(" + txt + ")");
|
||||
__Log("XML :" + result_data,2);
|
||||
return result_data;
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Waarschijnlijk http-error terug gekregen
|
||||
__Log("apiFCLT failed: " + e.description,1);
|
||||
__Log(txt,1);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("apiFCLT - HTTP <> 200",1);
|
||||
__Log("Status: "+xmlhttp.status,1);
|
||||
__Log(xmlhttp.responseText,1);
|
||||
return "";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function apiAX (v_API, v_req, v_type)
|
||||
{
|
||||
var l_result;
|
||||
if (AX_or_Tobias() == "A")
|
||||
{
|
||||
l_result = api2AX(G_ax_url, v_API, v_req, v_type);
|
||||
}
|
||||
|
||||
if (AX_or_Tobias() == "T")
|
||||
{
|
||||
l_result = api2Tobias(G_tobias_url, v_API, v_req, v_type);
|
||||
}
|
||||
|
||||
//if (G_ax_url != "")
|
||||
//{
|
||||
// l_result = api2AX(G_ax_url, v_API, v_req, v_type);
|
||||
//}
|
||||
//if (G_tobias_url != "")
|
||||
//{
|
||||
// l_result = api2Tobias(G_tobias_url, v_API, v_req, v_type);
|
||||
//}
|
||||
return l_result;
|
||||
}
|
||||
|
||||
function api2AX (v_Url, v_API, v_req, v_type)
|
||||
{
|
||||
|
||||
|
||||
__Log("apiAX v_API: " + v_API,1);
|
||||
__Log("apiAX v_type: " + v_type,1);
|
||||
__Log("apiAX v_req: " + v_req,1);
|
||||
|
||||
|
||||
var xmlhttp = new ActiveXObject("WinHTTP.WinHTTPRequest.5.1");
|
||||
SXH_PROXY_SET_PROXY = 2;
|
||||
if (typeof proxy != "undefined" && proxy)
|
||||
xmlhttp.setProxy(SXH_PROXY_SET_PROXY, proxy);
|
||||
|
||||
xmlhttp.open("POST", v_Url, false);
|
||||
|
||||
xmlhttp.setRequestHeader("Content-Type", "application/soap+xml; charset=utf-8")
|
||||
|
||||
var v_msg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
|
||||
+ "<s:Envelope xmlns:s=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:a=\"http://www.w3.org/2005/08/addressing\">"
|
||||
+ "<s:Header>"
|
||||
+ "<a:Action s:mustUnderstand=\"1\">http://tempuri.org/ISupplierService/" + v_API + "</a:Action>"
|
||||
+ "<a:To s:mustUnderstand=\"1\">"+ v_Url + "</a:To>"
|
||||
+ "</s:Header>"
|
||||
+ "<s:Body>"
|
||||
+ v_req
|
||||
+ "</s:Body>"
|
||||
+ "</s:Envelope>";
|
||||
|
||||
xmlhttp.send(v_msg);
|
||||
|
||||
if (xmlhttp.status == 200)
|
||||
{ var txt = "";
|
||||
try
|
||||
{
|
||||
switch (v_type)
|
||||
{
|
||||
case 0:
|
||||
var txt = xmlhttp.responseText;
|
||||
break;
|
||||
case 1:
|
||||
var txt = xmlhttp.responseBody;
|
||||
break;
|
||||
}
|
||||
//var txt = xmlhttp.responseText || "{}";
|
||||
//var txt = xmlhttp.responseBody;
|
||||
////var result_data = eval("(" + txt + ")");
|
||||
////return result_data;
|
||||
__Log("XML :" + txt,2);
|
||||
return txt;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Waarschijnlijk http-error terug gekregen
|
||||
__Log("apiAX failed: " + e.description,1);
|
||||
__Log(txt,1);
|
||||
return {};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("apiAX - HTTP <> 200",1);
|
||||
__Log("URL: " + v_Url,1);
|
||||
__Log("Request: " + v_req,1);
|
||||
__Log("Status: "+xmlhttp.status,1);
|
||||
__Log(xmlhttp.responseText,1);
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function api2Tobias (v_Url, v_API, v_req, v_type)
|
||||
{
|
||||
|
||||
|
||||
__Log("apiTobias v_API: " + v_API,1);
|
||||
__Log("apiTobias v_type: " + v_type,1);
|
||||
__Log("apiTobias v_req: " + v_req,1);
|
||||
|
||||
|
||||
var xmlhttp = new ActiveXObject("WinHTTP.WinHTTPRequest.5.1");
|
||||
SXH_PROXY_SET_PROXY = 2;
|
||||
if (typeof proxy != "undefined" && proxy)
|
||||
xmlhttp.setProxy(SXH_PROXY_SET_PROXY, proxy);
|
||||
|
||||
xmlhttp.open("POST", v_Url, false);
|
||||
|
||||
xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=UTF-8");
|
||||
|
||||
var l_tobias_appserver = Read_Ini_Setting("tobias","appserver");
|
||||
var l_methodlocation = Read_Ini_Setting("tobias","methodlocation");
|
||||
|
||||
var v_msg = "<?xml version=\"1.0\" encoding=\"utf-8\"?>"
|
||||
+ "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:tob=\"http://sg.nl/TobiasConnect/\">"
|
||||
+ "<soapenv:Header/>"
|
||||
+ "<soapenv:Body>"
|
||||
+ "<tob:RunMethod>"
|
||||
+ " <!--Optional:-->"
|
||||
+ " <tob:Methode>" + v_API + "</tob:Methode>"
|
||||
+ " <!--Optional:-->"
|
||||
+ " <tob:Parameters>"
|
||||
+ " <!--Optional:-->"
|
||||
+ " <tob:AppServer>" + l_tobias_appserver + "</tob:AppServer>"
|
||||
+ " <!--Optional:-->"
|
||||
+ " <tob:MethodLocation>" + l_methodlocation + "</tob:MethodLocation>"
|
||||
+ " <!--Optional:-->"
|
||||
+ " <tob:ParameterList>"
|
||||
+ v_req
|
||||
+ " </tob:ParameterList>"
|
||||
+ " </tob:Parameters>"
|
||||
+ "</tob:RunMethod>"
|
||||
+ "</soapenv:Body>"
|
||||
+ " </soapenv:Envelope>"
|
||||
|
||||
|
||||
xmlhttp.send(v_msg);
|
||||
|
||||
if (xmlhttp.status == 200)
|
||||
{ var txt = "";
|
||||
try
|
||||
{
|
||||
switch (v_type)
|
||||
{
|
||||
case 0:
|
||||
var txt = xmlhttp.responseText;
|
||||
break;
|
||||
case 1:
|
||||
var txt = xmlhttp.responseBody;
|
||||
break;
|
||||
}
|
||||
//var txt = xmlhttp.responseText || "{}";
|
||||
//var txt = xmlhttp.responseBody;
|
||||
////var result_data = eval("(" + txt + ")");
|
||||
////return result_data;
|
||||
__Log("XML :" + txt,2);
|
||||
return txt;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Waarschijnlijk http-error terug gekregen
|
||||
__Log("apiAX failed: " + e.description,1);
|
||||
__Log(txt,1);
|
||||
return {};
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("apiAX - HTTP <> 200",1);
|
||||
__Log("URL: " + v_Url,1);
|
||||
__Log("Request: " + v_req,1);
|
||||
__Log("Status: "+xmlhttp.status,1);
|
||||
__Log(xmlhttp.responseText,1);
|
||||
return ""
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function WriteXML2File(p_path, p_filenaam, p_extension, p_xml) {
|
||||
|
||||
v_timestamp = displayTimeStamp();
|
||||
var xml_filename = p_path + p_filenaam + v_timestamp + "." + p_extension;
|
||||
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(p_xml); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile (xml_filename, 2); // adSaveCreateOverWrite
|
||||
oStream.Close();
|
||||
}
|
||||
|
||||
function WriteText2File(p_path, p_filenaam, p_extension, p_txt) {
|
||||
__Log("WriteText2File - p_path: " + p_path,1);
|
||||
__Log("WriteText2File - p_filenaam: " + p_filenaam,1);
|
||||
__Log("WriteText2File - p_extension: " + p_extension,1);
|
||||
__Log("WriteText2File - p_txt: " + p_txt,1);
|
||||
v_timestamp = displayTimeStamp();
|
||||
var xml_filename = p_path + p_filenaam + v_timestamp + "." + p_extension;
|
||||
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
//oStream.Type = 1; // adTypeBinary
|
||||
oStream.WriteText(p_txt); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile (xml_filename, 2); // adSaveCreateOverWrite
|
||||
oStream.Close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function displayTimeStamp() {
|
||||
var str = "";
|
||||
|
||||
var currentTime = new Date();
|
||||
var currentTime = new Date();
|
||||
|
||||
var jaar = currentTime.getFullYear();
|
||||
var maand = currentTime.getMonth();
|
||||
var dag = currentTime.getDate();
|
||||
var hours = currentTime.getHours();
|
||||
var minutes = currentTime.getMinutes();
|
||||
var seconds = currentTime.getSeconds();
|
||||
|
||||
maand = maand + 1;
|
||||
if (maand < 10) {
|
||||
maand = "0" + maand
|
||||
}
|
||||
if (dag < 10) {
|
||||
dag = "0" + dag
|
||||
}
|
||||
if (minutes < 10) {
|
||||
minutes = "0" + minutes
|
||||
}
|
||||
if (seconds < 10) {
|
||||
seconds = "0" + seconds
|
||||
}
|
||||
str += jaar + "-" + maand + "-" + dag + "T" + hours + "_" + minutes + "_" + seconds;
|
||||
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
function xmltojsdate(datestamp)
|
||||
{
|
||||
var pattern = /^(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)$/;
|
||||
var pieces = datestamp.match(pattern);
|
||||
if(!pieces || pieces.length < 6)
|
||||
return null;
|
||||
|
||||
return new Date(pieces[1], pieces[2]-1, pieces[3], pieces[4], pieces[5], pieces[6]);
|
||||
}
|
||||
function jsdatextoxml(dt)
|
||||
{
|
||||
return toDateString(dt) + "T" + toTimeString(dt);
|
||||
}
|
||||
function jsdatetosqls(jsDate)
|
||||
{
|
||||
return jsDate.getVarDate();
|
||||
}
|
||||
function padout(number) { return (number < 10) ? "0" + number : String(number); }
|
||||
|
||||
// Noot: altijd jaar vooraan, goed voor logfiles, niet bedoeld voor presentatie
|
||||
function toDateString(jsDate)
|
||||
{
|
||||
return padout(jsDate.getFullYear()) + "-" + padout(jsDate.getMonth() + 1) + "-" + padout(jsDate.getDate());
|
||||
}
|
||||
|
||||
function toTimeString(jsDate)
|
||||
{
|
||||
return padout(jsDate.getHours()) + ":" + padout(jsDate.getMinutes()) + ":" + padout(jsDate.getSeconds());
|
||||
}
|
||||
function __Log(s, level)
|
||||
{ if (level == undefined) level=0;
|
||||
if (G_log_level > 0 || level==0){
|
||||
if (level <= G_log_level){
|
||||
WScript.Echo(s);
|
||||
var dt = new Date;
|
||||
var logname = "Log/AxFacilitor_" + padout(dt.getFullYear()) + "_" + padout(dt.getMonth() + 1) + ".log";
|
||||
var flog = fso.OpenTextFile(logname, 8 /* ForAppending */, true /* create */);
|
||||
var tms = toDateString(new Date) + " " + toTimeString(new Date);
|
||||
flog.WriteLine(tms + " " +s);
|
||||
flog.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Values v_section = ax, facilitor of common.
|
||||
// Values v_ini -> allerlei
|
||||
function Read_Ini_Setting(v_section, v_ini){
|
||||
var v_result = "";
|
||||
try{
|
||||
var l_xml_file = "AxFacilitor.xml";
|
||||
|
||||
l_xml=new ActiveXObject("Microsoft.XMLDOM");
|
||||
l_xml.async=false;
|
||||
l_xml.load(l_xml_file);
|
||||
|
||||
var l_node = "//ini/" + v_section + "/" + v_ini;
|
||||
var v_result = l_xml.selectSingleNode(l_node).text;
|
||||
return v_result;
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
__Log("Read_Ini_Setting failed: " + e.description,1);
|
||||
return v_result;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------------------
|
||||
38
ax/SRC/F_GetFacturen.js
Normal file
38
ax/SRC/F_GetFacturen.js
Normal file
@@ -0,0 +1,38 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetFacturen.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetFacturen()
|
||||
{
|
||||
|
||||
var v_API = "FACT4AX_XTRACTOR";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<GetFACT4AX_XTRACTOR>" + "</GetFACT4AX_XTRACTOR>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
__Log("F_GetFacturen: " + v_resp.text,1);
|
||||
|
||||
// SPlitsen van XML's...
|
||||
var i = 1;
|
||||
var strQuery = "//batch/document[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
while (l_deelxml)
|
||||
{
|
||||
var XMLResult = "<?xml version=\"1.0\"?>"
|
||||
+"<batch>"
|
||||
+ l_deelxml.xml
|
||||
+ "</batch>";
|
||||
WriteText2File(G_ax_xtractorfolder, "xtractor[" + i + "]" , "xml" , XMLResult);
|
||||
i = i + 1;
|
||||
var strQuery = "//batch/document[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
}
|
||||
75
ax/SRC/F_GetOpdrachtenAcceptedRefused.js
Normal file
75
ax/SRC/F_GetOpdrachtenAcceptedRefused.js
Normal file
@@ -0,0 +1,75 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetOpdrachtenAcceptedRefused.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetOpdrachten_AcceptRefuse()
|
||||
{
|
||||
|
||||
var v_API = "ACCEPT_REFUSED_OPDR_4AX";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<GetACCEPT_REFUSED_OPDR_4AX>" + "</GetACCEPT_REFUSED_OPDR_4AX>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
var l_node;
|
||||
__Log("F_GetOpdrachten_AcceptRefuse: " + v_resp.text,1);
|
||||
|
||||
// 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 + "/ax_company_id";
|
||||
var v_company_id = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
l_node = strQuery + "/mld_opdr_ordernr";
|
||||
var v_taskId = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/mld_opdr_opmerking";
|
||||
var v_extraInfo = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/fac_tracking_datum";
|
||||
var v_date = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/fac_srtnotificatie_code";
|
||||
var v_srtnotificatie_code = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
|
||||
__Log("v_company_id: " + v_company_id,1);
|
||||
__Log("v_taskId: " + v_taskId,1);
|
||||
__Log("v_extraInfo: " + v_extraInfo,1);
|
||||
__Log("v_date: " + v_date,1);
|
||||
__Log("v_srtnotificatie_code: " + v_srtnotificatie_code,1);
|
||||
|
||||
|
||||
if (v_srtnotificatie_code == 'ORDACP') {
|
||||
if (AX_or_Tobias() == "A") {
|
||||
A_AcceptServiceTask (v_company_id, v_taskId);
|
||||
}
|
||||
if (AX_or_Tobias() == "T") {
|
||||
T_AcceptServiceTask (v_company_id, v_taskId, "Ja");
|
||||
}
|
||||
}
|
||||
if (v_srtnotificatie_code == 'ORDCAN') {
|
||||
if (AX_or_Tobias() == "A") {
|
||||
A_RefuseServiceTask (v_company_id, v_taskId, v_extraInfo);
|
||||
}
|
||||
if (AX_or_Tobias() == "T") {
|
||||
T_AcceptServiceTask (v_company_id, v_taskId, "Nee");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
i = i + 1;
|
||||
var strQuery = "//xml/mld_ordr[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
}
|
||||
59
ax/SRC/F_GetOpdrachtenAfgemeld.js
Normal file
59
ax/SRC/F_GetOpdrachtenAfgemeld.js
Normal file
@@ -0,0 +1,59 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetOpdrachten_Afgemeld.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetOpdrachten_Afgemeld()
|
||||
{
|
||||
|
||||
var v_API = "AFGEMELDE_OPDR_4AX";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<GetAFGEMELDE_OPDR_4AX>" + "</GetAFGEMELDE_OPDR_4AX>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
var l_node;
|
||||
|
||||
__Log("F_GetOpdrachten_Afgemeld: " + v_resp.text,1);
|
||||
|
||||
// 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 + "/ax_company_id";
|
||||
var v_company_id = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
l_node = strQuery + "/mld_opdr_ordernr";
|
||||
var v_taskId = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/mld_opdr_opmerking";
|
||||
var v_extraInfo = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/fac_tracking_datum";
|
||||
var v_dateComplete = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
__Log("v_company_id: " + v_company_id,1);
|
||||
__Log("v_taskId: " + v_taskId,1);
|
||||
__Log("v_extraInfo: " + v_extraInfo,1);
|
||||
__Log("v_dateComplete: " + v_dateComplete,1);
|
||||
|
||||
if (AX_or_Tobias() == "A") {
|
||||
A_CompleteServiceTask (v_company_id, v_taskId, v_dateComplete);
|
||||
}
|
||||
if (AX_or_Tobias() == "T") {
|
||||
T_CompleteServiceTask (v_company_id, v_taskId, v_dateComplete);
|
||||
}
|
||||
|
||||
i = i + 1;
|
||||
var strQuery = "//xml/mld_ordr[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
}
|
||||
59
ax/SRC/F_GetOpdrachtenGepland.js
Normal file
59
ax/SRC/F_GetOpdrachtenGepland.js
Normal file
@@ -0,0 +1,59 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetOpdrachten_Gepland.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetOpdrachten_Gepland()
|
||||
{
|
||||
|
||||
var v_API = "GEPLANDE_OPDR_4AX";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<GetGEPLANDE_OPDR_4AX>" + "</GetGEPLANDE_OPDR_4AX>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
var l_node;
|
||||
|
||||
__Log("F_GetOpdrachten_Gepland: " + v_resp.text,1);
|
||||
|
||||
// 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 + "/ax_company_id";
|
||||
var v_company_id = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
l_node = strQuery + "/mld_opdr_ordernr";
|
||||
var v_taskId = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/mld_opdr_opmerking";
|
||||
var v_extraInfo = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/mld_opdr_plandatum";
|
||||
var v_date = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
__Log("v_company_id: " + v_company_id,1);
|
||||
__Log("v_taskId: " + v_taskId,1);
|
||||
__Log("v_extraInfo: " + v_extraInfo,1);
|
||||
__Log("v_date: " + v_date,1);
|
||||
|
||||
if (AX_or_Tobias() == "A") {
|
||||
A_PlanServiceTask (v_company_id, v_taskId, v_date);
|
||||
}
|
||||
if (AX_or_Tobias() == "T") {
|
||||
T_PlanServiceTask (v_company_id, v_taskId, v_date);
|
||||
}
|
||||
|
||||
i = i + 1;
|
||||
var strQuery = "//xml/mld_ordr[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
}
|
||||
56
ax/SRC/F_GetOpdrachtenOpmerking.js
Normal file
56
ax/SRC/F_GetOpdrachtenOpmerking.js
Normal file
@@ -0,0 +1,56 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetOpdrachten_Afgemeld.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetOpdrachten_Opmerking()
|
||||
{
|
||||
|
||||
var v_API = "OPMERKING_OPDR_4AX";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<GetOPMERKING_OPDR_4AX>" + "</GetOPMERKING_OPDR_4AX>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
var v_resp = apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
var l_node;
|
||||
|
||||
__Log("F_GetOpdrachten_Opmerking: " + v_resp.text,2);
|
||||
|
||||
// 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 + "/ax_company_id";
|
||||
var v_company_id = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
l_node = strQuery + "/mld_opdr_ordernr";
|
||||
var v_taskId = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
var l_node = strQuery + "/mld_opdr_opmerking";
|
||||
var v_extraInfo = v_resp.selectSingleNode(l_node).text;
|
||||
|
||||
__Log("v_company_id: " + v_company_id,1);
|
||||
__Log("v_taskId: " + v_taskId,1);
|
||||
__Log("v_extraInfo: " + v_extraInfo,1);
|
||||
|
||||
if (AX_or_Tobias() == "A") {
|
||||
A_SetSupplierText(v_company_id, v_taskId, v_extraInfo);
|
||||
}
|
||||
if (AX_or_Tobias() == "T") {
|
||||
T_SetSupplierText(v_company_id, v_taskId, v_extraInfo);
|
||||
}
|
||||
|
||||
|
||||
i = i + 1;
|
||||
var strQuery = "//xml/mld_ordr[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
}
|
||||
43
ax/SRC/F_GetSuppliers.js
Normal file
43
ax/SRC/F_GetSuppliers.js
Normal file
@@ -0,0 +1,43 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetSuppliers.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_GetSuppliers()
|
||||
{
|
||||
|
||||
var v_API = "AANNEMERS4AX";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<GetAANNEMERS4AX>" + "</GetAANNEMERS4AX>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 1; //soap-envelop eromheen
|
||||
|
||||
//Resultaat van deze functie: array van l_ax_vendAccountNum
|
||||
var l_result = [];
|
||||
|
||||
|
||||
var v_resp = apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
__Log("F_GetSuppliers: " + v_resp.text,1);
|
||||
|
||||
// SPlitsen van XML's...
|
||||
var i = 1;
|
||||
var strQuery = "//xml/prs_bedrijf[" + i + "]";
|
||||
var l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
while (l_deelxml)
|
||||
{
|
||||
var l_node = strQuery + "/ax_vendAccountNum";
|
||||
var l_ax_vendAccountNum = v_resp.selectSingleNode(l_node);
|
||||
__Log("l_ax_vendAccountNum: " + l_ax_vendAccountNum.text,1);
|
||||
l_result.push(l_ax_vendAccountNum.text);
|
||||
|
||||
i = i + 1;
|
||||
var strQuery = "//xml/prs_bedrijf[" + i + "]";
|
||||
l_deelxml = v_resp.selectSingleNode(strQuery);
|
||||
}
|
||||
return l_result;
|
||||
}
|
||||
21
ax/SRC/F_PutOpdrachten.js
Normal file
21
ax/SRC/F_PutOpdrachten.js
Normal file
@@ -0,0 +1,21 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetSuppliers.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function api_F_PutOpdrachten(v_xml, v_API)
|
||||
{
|
||||
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = v_xml;
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 0;
|
||||
__Log(v_req,2);
|
||||
|
||||
apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
}
|
||||
22
ax/SRC/F_PutReturnCodes.js
Normal file
22
ax/SRC/F_PutReturnCodes.js
Normal file
@@ -0,0 +1,22 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_GetSuppliers.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
function F_PutReturnCodes(v_xml)
|
||||
{
|
||||
|
||||
var v_API = "WEIGER_RETURNCODES";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = v_xml;
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 0;
|
||||
__Log(v_req,2);
|
||||
|
||||
apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
}
|
||||
22
ax/SRC/F_PutSync.js
Normal file
22
ax/SRC/F_PutSync.js
Normal file
@@ -0,0 +1,22 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// F_PutSync.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
// MAREON Connector/Adapter Ax -> FACILITOR en Facilitor -> Ax
|
||||
// Registreert de start of einde van de totale synchronisatie alle gegevens.
|
||||
// --------------------------------------------------------------------------------------
|
||||
|
||||
// v_mode = 0 of 1: 0 = start sync, 1 = einde sync
|
||||
function F_PutSync(v_mode)
|
||||
{
|
||||
var v_API = "AX_SYNC";
|
||||
var v_APIKEY = G_fclt_apikey;
|
||||
var v_req = "<axsync><mode>" + v_mode + "</mode></axsync>"
|
||||
var v_type = 1; // xml
|
||||
var v_soap_envelop = 0;
|
||||
__Log(v_req,2);
|
||||
|
||||
apiFCLT(v_API, v_APIKEY, v_req, v_type, v_soap_envelop);
|
||||
|
||||
}
|
||||
33
ax/SRC/T_AcceptServiceTask.js
Normal file
33
ax/SRC/T_AcceptServiceTask.js
Normal file
@@ -0,0 +1,33 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// T_AcceptServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
// v_company_id is hier dummy, puur uit orthogonaliteit met de AX functie.
|
||||
// v_bonId is hier de bonid, uit het veld mld_opdr_ordernr.
|
||||
// v_ja_nee heeft waarde Ja (= geaccepteerd) of Nee (= geweigerd).
|
||||
function T_AcceptServiceTask(v_company_id, v_bonId, v_ja_nee)
|
||||
{
|
||||
var v_API = "SetBonAcceptatie";
|
||||
var v_req = "<tob:string>BonId=" + v_bonId + "</tob:string>"
|
||||
+ "<tob:string>BonStatus=" + "Acceptatie" + "</tob:string>"
|
||||
+ "<tob:string>Geaccepteerd=" + v_ja_nee + "</tob:string>"
|
||||
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
//if (v_type == 1 && v_resp != "")
|
||||
// {
|
||||
// oStream = new ActiveXObject("ADODB.Stream");
|
||||
// oStream.Open();
|
||||
// oStream.Type = 1; // adTypeBinary
|
||||
// oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
// oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
// oStream.Close();
|
||||
// }
|
||||
return v_resp;
|
||||
}
|
||||
45
ax/SRC/T_CompleteServiceTask.js
Normal file
45
ax/SRC/T_CompleteServiceTask.js
Normal file
@@ -0,0 +1,45 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// T_CompleteServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
// v_company_id is hier dummy, puur uit orthogonaliteit met de AX functie.
|
||||
// v_bonId is hier de bonid, uit het veld mld_opdr_ordernr.
|
||||
// v_dateComplete is de plandatum en heeft formaat yyyy-mm-ddTuu:mm:ss
|
||||
function T_CompleteServiceTask (v_company_id, v_bonId, v_dateComplete)
|
||||
{
|
||||
|
||||
// Je kunt in Tobias via een setting het gereedmelden direct in Tobias doen (default), of via sgweb ??
|
||||
// Dit wordt in AXFacilitor.xml bepaalt via de setting "methodegereedmelden":
|
||||
// 0 (default) = GereedMelden
|
||||
// 1 = GereedMeldenNaarSgWeb
|
||||
|
||||
var l_method_gereed = Read_Ini_Setting("tobias","methodegereedmelden");
|
||||
|
||||
// default...
|
||||
var v_API = "GereedMelden";
|
||||
if (l_method_gereed == "1")
|
||||
{v_API = "GereedMeldenNaarSgWeb";}
|
||||
|
||||
var v_req = "<tob:string>BonId=" + v_bonId + "</tob:string>"
|
||||
+ "<tob:string>DatumGereed=" + v_dateComplete + "</tob:string>"
|
||||
+ "<tob:string>Bewerking=" + "Gereed" + "</tob:string>"
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
61
ax/SRC/T_GetOpdrachten.js
Normal file
61
ax/SRC/T_GetOpdrachten.js
Normal file
@@ -0,0 +1,61 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// T_GetOpdrachten.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
function T_GetOpdrachten()
|
||||
{
|
||||
var v_status_code = "o"; // open
|
||||
var l_currentTime = new Date();
|
||||
// l_aantal_dagen staat default/normaal op 1 (voor gisteren), dus alle opdrachten vanaf gisteren. Voor testdoeleinden kan dit wat opgerekt worden...
|
||||
// var l_aantal_dagen = 1;
|
||||
var l_aantal_dagen = Read_Ini_Setting("tobias","opdr_past_days");
|
||||
var l_yesterday = new Date((new Date()).valueOf() - l_aantal_dagen*1000*60*60*24);
|
||||
var v_datum_vanaf = jsdatextoxml(l_yesterday);
|
||||
var v_datum_tm = jsdatextoxml(l_currentTime);
|
||||
|
||||
var v_xml_opdrachten;
|
||||
|
||||
// Haal de aannemers (feitelijk de Tobias/AX-aannemer-id's) uit Facilitor die geregistreerd zijn voor het aannemersportaal.
|
||||
// Het aannemer-id van Tobias/AX wordt uit Facilitor uitgelezen, en per aannemer wordt de webservice om de opdrachten van die aannemer op te halen, aangeroepen...
|
||||
l_suppl_array = F_GetSuppliers();
|
||||
for (var i = 0; i < l_suppl_array.length; i++){
|
||||
v_supplier_id = l_suppl_array[i];
|
||||
|
||||
// Ophalen van de opdrachten voor aannemer 'v_supplier_id' vanaf (default) gisteren tot en met nu.
|
||||
v_xml_opdrachten = T_GetOpdrachten_van_Aannemer(v_supplier_id, v_status_code, v_datum_vanaf, v_datum_tm);
|
||||
|
||||
// Wegschrijven van de opdrachten (voor aannemer 'v_supplier_id') naar Facilitor....
|
||||
api_F_PutOpdrachten(v_xml_opdrachten, "TOBIAS_OPDRACHTEN");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function T_GetOpdrachten_van_Aannemer(v_supplier_id, v_status_code, v_datum_vanaf, v_datum_tm)
|
||||
{
|
||||
|
||||
|
||||
var v_API = "GetBonnen";
|
||||
var v_req = "<tob:string>CrediteurNummer=" + v_supplier_id + "</tob:string>"
|
||||
+ "<tob:string>BonStatus=" + v_status_code + "</tob:string>"
|
||||
+ "<tob:string>BonDatumOpdrachtVan=" + v_datum_vanaf + "</tob:string>"
|
||||
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
//if (v_type == 1 && v_resp != "")
|
||||
// {
|
||||
// oStream = new ActiveXObject("ADODB.Stream");
|
||||
// oStream.Open();
|
||||
// oStream.Type = 1; // adTypeBinary
|
||||
// oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
// oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
// oStream.Close();
|
||||
// }
|
||||
return v_resp;
|
||||
}
|
||||
53
ax/SRC/T_PlanServiceTask.js
Normal file
53
ax/SRC/T_PlanServiceTask.js
Normal file
@@ -0,0 +1,53 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// T_PlanServiceTask.js
|
||||
// Copyright 2014 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2014)
|
||||
//
|
||||
|
||||
// v_company_id is hier dummy, puur uit orthogonaliteit met de AX functie.
|
||||
// v_bonId is hier de bonid, uit het veld mld_opdr_ordernr.
|
||||
// v_plandate is de plandatum en heeft formaat yyyy-mm-ddTuu:mm:ss
|
||||
function T_PlanServiceTask(v_company_id, v_bonId, v_plandate)
|
||||
{
|
||||
|
||||
var l_pos_T;
|
||||
var l_date;
|
||||
var l_time;
|
||||
|
||||
l_pos_T = v_plandate.indexOf("T");
|
||||
if (l_pos_T >= 0){
|
||||
l_date = v_plandate.substr(0, l_pos_T);
|
||||
l_time = v_plandate.substr(l_pos_T + 1);
|
||||
}
|
||||
else {
|
||||
l_date = v_plandate;
|
||||
l_time = "";
|
||||
}
|
||||
|
||||
|
||||
var v_API = "SetPlanDatum";
|
||||
var v_req = "<tob:string>BonId=" + v_bonId + "</tob:string>"
|
||||
+ "<tob:string>BonStatus=" + "AannemerPlanning" + "</tob:string>"
|
||||
+ "<tob:string>PlanDatum=" + l_date + "</tob:string>"
|
||||
|
||||
if (l_time != ""){
|
||||
v_req = v_req + "<tob:string>PlanTijd=" + l_time + "</tob:string>"
|
||||
}
|
||||
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
//if (v_type == 1 && v_resp != "")
|
||||
// {
|
||||
// oStream = new ActiveXObject("ADODB.Stream");
|
||||
// oStream.Open();
|
||||
// oStream.Type = 1; // adTypeBinary
|
||||
// oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
// oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
// oStream.Close();
|
||||
// }
|
||||
return v_resp;
|
||||
}
|
||||
31
ax/SRC/T_SetSupplierText.js
Normal file
31
ax/SRC/T_SetSupplierText.js
Normal file
@@ -0,0 +1,31 @@
|
||||
// --------------------------------------------------------------------------------------
|
||||
// T_SetSupplierText.js
|
||||
// Copyright 2015 SG|facilitor. 053-4800 700, helpdesk@sgfacilitor.nl
|
||||
// Written by MB (2015)
|
||||
//
|
||||
|
||||
// v_company_id is hier dummy, puur uit orthogonaliteit met de AX functie.
|
||||
// v_bonId is hier de bonid, uit het veld mld_opdr_ordernr.
|
||||
function T_SetSupplierText(v_company_id, v_bonId, v_extraInfo)
|
||||
{
|
||||
var v_API = "SetBonInfo";
|
||||
var v_req = "<tob:string>BonId=" + v_bonId + "</tob:string>"
|
||||
+ "<tob:string>BonStatus=" + "Informatie" + "</tob:string>"
|
||||
+ "<tob:string>BonInfo=" + v_extraInfo + "</tob:string>"
|
||||
|
||||
var v_type = 0;
|
||||
|
||||
var v_resp = apiAX(v_API, v_req, v_type);
|
||||
|
||||
|
||||
if (v_type == 1 && v_resp != "")
|
||||
{
|
||||
oStream = new ActiveXObject("ADODB.Stream");
|
||||
oStream.Open();
|
||||
oStream.Type = 1; // adTypeBinary
|
||||
oStream.Write(v_resp); // responseText geeft encoding problemen!
|
||||
oStream.SaveToFile ("Log/test" + v_supplier_id + ".xml", 2);
|
||||
oStream.Close();
|
||||
}
|
||||
return v_resp;
|
||||
}
|
||||
Reference in New Issue
Block a user