190 lines
7.6 KiB
Python
190 lines
7.6 KiB
Python
# Import von Bibliotheken
|
|
import time
|
|
|
|
import requests
|
|
from datetime import *
|
|
|
|
# IF (DEBUG_ON = True) Or (DebugMode = "Enabled") THEN
|
|
|
|
# MSGBOX "Kennzeichen: " + Kennzeichen + vbCrLf &_
|
|
# "AccountNr: " + AccountNr + vbCrLf &_
|
|
# "Mandator: " + Mandator + vbCrLf &_
|
|
# "",,DEBUG_TITLE& " - Call Webservice"
|
|
# x = date(1, 1, 1)
|
|
# End if
|
|
# Variablen
|
|
WebServiceActioncode = "1"
|
|
Arbeitnehmernummer = "4" # "1" - Lantelme "4" - Knaus
|
|
|
|
# Arbeitstagbeginnen = "Start"
|
|
ArbeitsZeitPause = "0" # "0" - Arbeitszeit "1" - Pause
|
|
StartStopPause = "Ende"
|
|
print(ArbeitsZeitPause)
|
|
#Feste Variablen
|
|
WebServiceURL = "localhost"
|
|
WebServiceBenutzerName = "a"
|
|
WebServiceBenutzerPasswort = "b"
|
|
WinLineMandant = "MEDT"
|
|
WebServiceTemplateSTART = "Zeitnahme"
|
|
WebServiceTemplateSTOP = "STOP"
|
|
#WebServiceTemplateExport = "Export"
|
|
if ArbeitsZeitPause == "1":
|
|
WebServiceTemplateExport = "ExportPause"
|
|
Filter = "FilterTestP-" + Arbeitnehmernummer
|
|
else:
|
|
WebServiceTemplateExport = "Export"
|
|
Filter = "FilterTest-" + Arbeitnehmernummer
|
|
WebServiceType = "36"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Testvariablen
|
|
Datumvon = datetime.now().strftime('%Y-%m-%d') + "T" + datetime.now().strftime('%H:%M:%S')
|
|
Datumbis = datetime.now().strftime('%Y-%m-%d') + "T" + datetime.now().strftime('%H:%M:%S')
|
|
Fehlzeitenstamm = "1"
|
|
AN_Gruppe_Ressource = Arbeitnehmernummer
|
|
# Build START XML
|
|
XML_Start = ""
|
|
XML_Start = XML_Start + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
|
XML_Start = XML_Start + "<MESOWebService TemplateType=\"" + WebServiceType + "\"" " Template=\"" + WebServiceTemplateSTART + "\">"
|
|
XML_Start = XML_Start + "<" + WebServiceTemplateSTART + ">"
|
|
# Location for WinLine fields
|
|
XML_Start = XML_Start + "<Datumvon>" + Datumvon + "</Datumvon>"
|
|
# XML = XML + "<Datum bis>"+ Datumbis+ "</Datum bis>"
|
|
XML_Start = XML_Start + "<Fehlzeitenstamm>" + Fehlzeitenstamm + "</Fehlzeitenstamm>"
|
|
XML_Start = XML_Start + "<ANGruppeRessource>" + AN_Gruppe_Ressource + "</ANGruppeRessource>"
|
|
XML_Start = XML_Start + "<TypZeitartPause>" + ArbeitsZeitPause + "</TypZeitartPause>"
|
|
XML_Start = XML_Start + "</" + WebServiceTemplateSTART + ">"
|
|
XML_Start = XML_Start + "</MESOWebService>"
|
|
# Replace placeholder in XML
|
|
# XML = Replace(XML,"%WebServiceType%",WebServiceType)
|
|
# XML = Replace(XML,"%WebServiceTemplate%",WebServiceTemplate)
|
|
|
|
#####################################START################################
|
|
# Build webservice URL
|
|
URL_Start = "http://%SERVER%/ewlservice/import?User=%USER%&Password=%PASSWORD%&Company=%COMPANY%&Type=%TYPE%&Vorlage=%VORLAGE%&Actioncode=%ACTIONCODE%&byref=0&Data=%DATA%"
|
|
URL_Start = URL_Start.replace("%SERVER%", WebServiceURL)
|
|
URL_Start = URL_Start.replace("%USER%", WebServiceBenutzerName)
|
|
URL_Start = URL_Start.replace("%PASSWORD%", WebServiceBenutzerPasswort)
|
|
URL_Start = URL_Start.replace("%COMPANY%", WinLineMandant)
|
|
URL_Start = URL_Start.replace("%TYPE%", WebServiceType)
|
|
URL_Start = URL_Start.replace("%VORLAGE%", WebServiceTemplateSTART)
|
|
URL_Start = URL_Start.replace("%ACTIONCODE%", WebServiceActioncode)
|
|
URL_Start = URL_Start.replace("%DATA%", XML_Start)
|
|
#print("URL_Start =" + URL_Start)
|
|
# Webservice Export
|
|
|
|
XMLExport = Filter
|
|
URL_Export = "http://%SERVER%/ewlservice/export?User=%USER%&Password=%PASSWORD%&Company=%COMPANY%&Type=%TYPE%&Vorlage=%VORLAGE%&Actioncode=%ACTIONCODE%&byref=0&Key=%KEY%"
|
|
URL_Export = URL_Export.replace("%SERVER%", WebServiceURL)
|
|
URL_Export = URL_Export.replace("%USER%", WebServiceBenutzerName)
|
|
URL_Export = URL_Export.replace("%PASSWORD%", WebServiceBenutzerPasswort)
|
|
URL_Export = URL_Export.replace("%COMPANY%", WinLineMandant)
|
|
URL_Export = URL_Export.replace("%TYPE%", WebServiceType)
|
|
URL_Export = URL_Export.replace("%VORLAGE%", WebServiceTemplateExport)
|
|
URL_Export = URL_Export.replace("%ACTIONCODE%", WebServiceActioncode)
|
|
URL_Export = URL_Export.replace("%KEY%", XMLExport)
|
|
URL_Export = URL_Export.replace("%FILTER%", Filter)
|
|
print("URL_Export = " + URL_Export)
|
|
|
|
HTTPRequest_Export = requests.post(URL_Export)
|
|
print(HTTPRequest_Export.text)
|
|
|
|
#########################ENDE DER ZEITNAHME##########################################################
|
|
|
|
IndexVonDatum = HTTPRequest_Export.text.find("<Datumvon>")
|
|
v1 = IndexVonDatum + len("<Datumvon>")
|
|
v2 = v1 + 19
|
|
Datumvon = HTTPRequest_Export.text[v1:v2]
|
|
print(Datumvon)
|
|
print(Datumbis)
|
|
|
|
XML_Ende = ""
|
|
XML_Ende = XML_Ende + "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
|
|
XML_Ende = XML_Ende + "<MESOWebService TemplateType=\"" + WebServiceType + "\"" " Template=\"" + WebServiceTemplateSTOP + "\">"
|
|
XML_Ende = XML_Ende + "<" + WebServiceTemplateSTOP + ">"
|
|
# Location for WinLine fields
|
|
XML_Ende = XML_Ende + "<Datumvon>" + Datumvon + "</Datumvon>"
|
|
XML_Ende = XML_Ende + "<Datumbis>" + Datumbis + "</Datumbis>"
|
|
XML_Ende = XML_Ende + "<Fehlzeitenstamm>" + Fehlzeitenstamm + "</Fehlzeitenstamm>"
|
|
XML_Ende = XML_Ende + "<ANGruppeRessource>" + AN_Gruppe_Ressource + "</ANGruppeRessource>"
|
|
XML_Ende = XML_Ende + "<TypZeitartPause>" + ArbeitsZeitPause + "</TypZeitartPause>"
|
|
XML_Ende = XML_Ende + "<Importoption>" + "1" + "</Importoption>"
|
|
XML_Ende = XML_Ende + "</" + WebServiceTemplateSTOP + ">"
|
|
XML_Ende = XML_Ende + "</MESOWebService>"
|
|
#######################################################################################################################
|
|
URL_Ende = "http://%SERVER%/ewlservice/import?User=%USER%&Password=%PASSWORD%&Company=%COMPANY%&Type=%TYPE%&Vorlage=%VORLAGE%&Actioncode=%ACTIONCODE%&byref=0&Data=%DATA%"
|
|
URL_Ende = URL_Ende.replace("%SERVER%", WebServiceURL)
|
|
URL_Ende = URL_Ende.replace("%USER%", WebServiceBenutzerName)
|
|
URL_Ende = URL_Ende.replace("%PASSWORD%", WebServiceBenutzerPasswort)
|
|
URL_Ende = URL_Ende.replace("%COMPANY%", WinLineMandant)
|
|
URL_Ende = URL_Ende.replace("%TYPE%", WebServiceType)
|
|
URL_Ende = URL_Ende.replace("%VORLAGE%", WebServiceTemplateSTOP)
|
|
URL_Ende = URL_Ende.replace("%ACTIONCODE%", WebServiceActioncode)
|
|
URL_Ende = URL_Ende.replace("%DATA%", XML_Ende)
|
|
#print("URL_ENDE = " + URL_Ende)
|
|
# Set XML content
|
|
# Requests
|
|
if StartStopPause == "Start":
|
|
HTTPRequest_Start = requests.post(URL_Start)
|
|
print(URL_Start)
|
|
print(HTTPRequest_Start.text)
|
|
else:
|
|
HTTPRequest_Ende = requests.post(URL_Ende)
|
|
print(HTTPRequest_Ende.text)
|
|
|
|
#print("Zeile die ich zurück bekomme: " + HTTPRequest_Export.text)
|
|
|
|
|
|
# 'Send request to WebServer
|
|
# HTTPRequest.Open "POST", URL, False
|
|
# HTTPRequest.Send
|
|
#
|
|
# IF (HTTPRequest.Status = 200) Then
|
|
#
|
|
# If InStr(HTTPRequest.ResponseText, "<?xml") = 1 Then
|
|
#
|
|
# Doc.loadXML(HTTPRequest.ResponseText)
|
|
#
|
|
# Set Nodes = Doc.SelectNodes("MESOWebServiceResult/ResultDetails")
|
|
# Set OverallSuccess = Doc.SelectSingleNode("MESOWebServiceResult/OverallSuccess")
|
|
#
|
|
# If OverallSuccess.Text = "true" Then
|
|
# Dim IsSuccess : IsSuccess = True
|
|
#
|
|
# For Each Node in Nodes
|
|
# Set Success = Node.SelectSingleNode("Success")
|
|
#
|
|
# If Success.Text <> "true" Then
|
|
# IsSuccess = False
|
|
# End If
|
|
# Next
|
|
#
|
|
# msgbox "Die Übertragung war erfolgreich!" & vbCrlf & vbCrlf & _
|
|
# "Bitte prüfen Sie nun noch Felder," & vbCrlf & _
|
|
# "welche von der Übertragung ausgeschloßen sind."& vbCrlf & vbCrlf & _
|
|
# "Beispiele: " & vbCrlf & _
|
|
# "ZahlungskonditionFIBU, ZahlungskonditionFAKT," & vbCrlf & _
|
|
# "Belegart, Lieferbedingungen, BKZ, ..." & vbCrlf & _
|
|
# "",vbInformation,DEFAULT_TITLE
|
|
# Else
|
|
# msgbox "Fehler bei der Übertragung!" & vbCrLf &_
|
|
# HTTPRequest.ResponseText & vbCrLf &_
|
|
# "",,DEFAULT_TITLE &" - WebServices"
|
|
#
|
|
# End If
|
|
# Else
|
|
# msgbox "Fehler bei der Übertragung!" & vbCrLf &_
|
|
# HTTPRequest.ResponseText & vbCrLf &_
|
|
# "",,DEFAULT_TITLE &" - WebServices"
|
|
#
|
|
# End If
|
|
#
|
|
# Else
|
|
# msgbox "Fehler bei der Übertragung!" & vbCrLf &_
|
|
# HTTPRequest.ResponseText & vbCrLf &_
|
|
# "",,DEFAULT_TITLE &" - WebServices"
|