290 lines
11 KiB
AutoIt
290 lines
11 KiB
AutoIt
|
||
Func _EVH_start()
|
||
Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0")
|
||
|
||
Global $aHosts[2][2]
|
||
$aHosts[1][0] = "www.evergabe.telekom.de"
|
||
$aHosts[1][1] = _WinHttpConnect($hSession, $aHosts[1][0])
|
||
Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF
|
||
|
||
|
||
Global $sPfadIni = @ScriptDir & "\daten\conf.ini"
|
||
|
||
_start_EVH_Evergabe()
|
||
|
||
$sSMnr = GUICtrlRead($txt_sm_EVH)
|
||
$aArrayList = _EV_Search_SM($sSMnr)
|
||
;~ _DebugArrayDisplay($aArrayList)
|
||
;~ Grettenacker 488284 Wolpertswende SM 206254233|206254233|4209902345|17177645|4209902345/00010 Grettenacker 4,88284 Wolpertswende,Hartl|4650001474|27.01.2021|06.04.2021|Angenommen
|
||
|
||
If UBound($aArrayList) > 1 Then
|
||
;~ ConsoleWrite(UBound($aArrayList) & @CRLF)
|
||
$sDetailsID = _create_Gui_Ausw($aArrayList)
|
||
;~ MsgBox(64, "", $sDetailsID_Return)
|
||
Else
|
||
$sDetailsID = $aArrayList[0][3]
|
||
EndIf
|
||
|
||
$aDaten = _EV_PDF_Kopfdaten_DDL2Array($sDetailsID)
|
||
;~
|
||
;~ _DebugArrayDisplay($aDaten)
|
||
;~ MsgBox(64, "", $sDetailsID)
|
||
_EV_Kopfdaten_Array2Gui($aDaten)
|
||
|
||
|
||
EndFunc ;==>_EVH_start
|
||
|
||
Func _EV_EVH_Suche_SM($sSM)
|
||
;0203648377
|
||
|
||
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/index?OrderRecallSearch%5Bhead_line%5D=" & $sSM & "&OrderRecallSearch%5Bdocument_no%5D=&OrderRecallSearch%5Bincoming_date%5D=&OrderRecallSearch%5Border_date%5D=&OrderRecallSearch%5Bgeneral_agreement_id%5D=&OrderRecallSearch%5Bdocument_state%5D=-1", "https://www.evergabe.telekom.de/framework-agreement-call")
|
||
|
||
|
||
$aTitle = _EV_Abrufliste_GET_Title($sHTML)
|
||
$aBedarfnr = _EV_Abrufliste_GET_Bedarfnr($sHTML) ;SMnr
|
||
$aBelegEinDatum = _EV_Abrufliste_GET_Belegeingang($sHTML) ;Eingang E-Vergabe
|
||
$aBelegnr = _EV_Abrufliste_GET_Belegnr($sHTML) ;42Nr
|
||
$aAusfuehrungsfrist = _EV_Abrufliste_GET_Ausfuehrungsfrist($sHTML) ;Ausführungsfrist
|
||
$aDetailID = _EV_Abrufliste_GET_DetailsID($sHTML) ;DetailsID intern für E-Vergabe
|
||
$aRV = _EV_Abrufliste_GET_RV($sHTML) ;Rahmenvertrag
|
||
$aStatus = _EV_Abrufliste_GET_Status($sHTML) ;Status Angenommen Abgelehnt usw.
|
||
Dim $aReturn[UBound($aTitle)][8]
|
||
;~ _DebugArrayDisplay($aReturn)
|
||
|
||
For $i = 0 To UBound($aTitle) - 1
|
||
$aReturn[$i][0] = $aTitle[$i]
|
||
$aReturn[$i][1] = $aBedarfnr[$i]
|
||
$aReturn[$i][2] = $aBelegnr[$i]
|
||
$aReturn[$i][3] = $aDetailID[$i]
|
||
$aReturn[$i][4] = $aRV[$i]
|
||
$aReturn[$i][5] = $aBelegEinDatum[$i]
|
||
$aReturn[$i][6] = $aAusfuehrungsfrist[$i]
|
||
$aReturn[$i][7] = $aStatus[$i]
|
||
Next
|
||
|
||
;~ _DebugArrayDisplay($aReturn)
|
||
Return $aReturn
|
||
EndFunc ;==>_EV_EVH_Suche_SM
|
||
|
||
Func _start_EVH_Evergabe()
|
||
Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0")
|
||
|
||
Global $aHosts[2][2]
|
||
$aHosts[1][0] = "www.evergabe.telekom.de"
|
||
$aHosts[1][1] = _WinHttpConnect($hSession, $aHosts[1][0])
|
||
Global $sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF
|
||
|
||
$sUsername = IniRead($sPfadIni, "EVergabe", "Benutzer", "xxx")
|
||
$sPasswort = IniRead($sPfadIni, "EVergabe", "Passwort", "xxx")
|
||
|
||
$sRetrunLogin = _EV_Login($sUsername, $sPasswort)
|
||
If $sRetrunLogin = "True" Then
|
||
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
|
||
_Write_to_Console_EVH("Login Erfolgreich")
|
||
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/")
|
||
;~ ClipPut($sHTML)
|
||
;~ MsgBox(64,"erstmal","fertig")
|
||
|
||
|
||
Else
|
||
_Write_to_Console_EVH("Login Fehler!!!")
|
||
MsgBox(64, "Login Fehler", "Login war nicht erfolgreich")
|
||
EndIf
|
||
EndFunc ;==>_start_EVH_Evergabe
|
||
|
||
Func _EVH_ausgabe1()
|
||
$t_SM = GUICtrlRead($txt_sm_EVH)
|
||
$t_Beleg = GUICtrlRead($txt_beleg_EVH)
|
||
$t_BelegEin = GUICtrlRead($txt_beleg_eingang_EVH)
|
||
$t_aus = GUICtrlRead($txt_ausfuehrungsfrist_EVH)
|
||
$t_rv = GUICtrlRead($txt_rv_EVH)
|
||
$t_Preis = GUICtrlRead($txt_plan_preis_EVH)
|
||
$t_ort = GUICtrlRead($txt_ort_EVH)
|
||
$t_str = GUICtrlRead($txt_strasse_EVH)
|
||
$t_hsnr = GUICtrlRead($txt_hsnr_EVH)
|
||
$t_ncpfad = GUICtrlRead($txt_ncpfad_EVH)
|
||
$t_nco = GUICtrlRead($txt_nc_ordner_EVH)
|
||
;~ GUICtrlSetData($txt_ausgabe01_EVH, $t_SM & "|" & $t_Beleg & "|" & $t_BelegEin & "|" & $t_aus & "|" & $t_rv & "|" & $t_Preis)
|
||
|
||
GUICtrlSetData($txt_ausgabe01_EVH, $t_nco & "|" & $t_ncpfad & "||" & $t_ort & "|" & $t_str & "|" & $t_hsnr & "|" & $t_SM & "|" & $t_Beleg & "|" & $t_BelegEin & "|" & $t_aus & "|" & $t_rv & "|" & $t_Preis)
|
||
_Write_to_Console_EVH("SM: " & $t_SM)
|
||
_Write_to_Console_EVH("Beleg: " & $t_Beleg)
|
||
_Write_to_Console_EVH("Beleg Start: " & $t_BelegEin)
|
||
_Write_to_Console_EVH("Ende Datum: " & $t_aus)
|
||
_Write_to_Console_EVH("RV: " & $t_rv)
|
||
_Write_to_Console_EVH("Preis: " & $t_Preis)
|
||
EndFunc ;==>_EVH_ausgabe1
|
||
|
||
Func _EVH_ausgabe2()
|
||
$t_SM = GUICtrlRead($txt_sm_EVH)
|
||
$t_Beleg = GUICtrlRead($txt_beleg_EVH)
|
||
$t_BelegEin = GUICtrlRead($txt_beleg_eingang_EVH)
|
||
$t_aus = GUICtrlRead($txt_ausfuehrungsfrist_EVH)
|
||
$t_rv = GUICtrlRead($txt_rv_EVH)
|
||
$t_Preis = GUICtrlRead($txt_plan_preis_EVH)
|
||
GUICtrlSetData($txt_ausgabe02_EVH, $t_SM & "|" & $t_Beleg & "|" & $t_rv & "||" & $t_Preis)
|
||
|
||
EndFunc ;==>_EVH_ausgabe2
|
||
|
||
Func _EVH_open_NC()
|
||
|
||
$sPfadNextCloud = IniRead($sPfadIni, "NC", "pfad", "")
|
||
Local $sSuchtext = GUICtrlRead($txt_sm_EVH)
|
||
If $sSuchtext = "" Then
|
||
$sSuchtext = "*"
|
||
EndIf
|
||
;~ MsgBox(64, "Suche los...",$sSuchtext & @CRLF & $sPfadNextCloud )
|
||
;~ $aSearchInfo = _RecursiveFileListToArray($sPfadNextCloud, $sSuchtext, 1)
|
||
$aSearchInfo = _RecursiveFileListToArray($sPfadNextCloud, '', 2)
|
||
;~ _ArrayDisplay($aSearchInfo)
|
||
;~ _ArrayDisplay($aSearchInfo, "$aFileList")
|
||
Dim $aSuchErg[1]
|
||
For $i = 1 To UBound($aSearchInfo) - 1
|
||
If StringInStr($aSearchInfo[$i], $sSuchtext) Then
|
||
_ArrayAdd($aSuchErg, $aSearchInfo[$i])
|
||
EndIf
|
||
Next
|
||
;~ _ArrayDisplay($aSuchErg)
|
||
;~ MsgBox(64, "", UBound($aSuchErg))
|
||
If UBound($aSuchErg) > 1 Then
|
||
_ArrayDelete($aSuchErg, 0)
|
||
;~ _ArrayDisplay($aSuchErg)
|
||
|
||
GUICtrlSetData($txt_ncpfad_EVH, $aSuchErg[0])
|
||
|
||
$aNCO = StringSplit($aSuchErg[0], "\")
|
||
$sNCO = $aNCO[$aNCO[0] - 1]
|
||
GUICtrlSetData($txt_nc_ordner_EVH, $sNCO)
|
||
;~ _DebugArrayDisplay($aNCO)
|
||
$aOrt = StringRegExp($sNCO, '([^,]+),', 3)
|
||
If IsArray($aOrt) Then
|
||
GUICtrlSetData($txt_ort_EVH, $aOrt[0])
|
||
EndIf
|
||
|
||
$aStr = StringRegExp($sNCO, '[^,]+, ([^ ]+)', 3)
|
||
If IsArray($aStr) Then
|
||
GUICtrlSetData($txt_strasse_EVH, $aStr[0])
|
||
EndIf
|
||
|
||
$aHsnr = StringRegExp($sNCO, '[^,]+, [^ ]+ (.*) SM', 3)
|
||
If IsArray($aHsnr) Then
|
||
GUICtrlSetData($txt_hsnr_EVH, $aHsnr[0])
|
||
EndIf
|
||
|
||
|
||
|
||
_Write_to_Console("Pfad NC; " & $aSuchErg[0])
|
||
ShellExecute($aSuchErg[0])
|
||
|
||
Else
|
||
GUICtrlSetData($txt_ncpfad_EVH, "nicht gefunden")
|
||
EndIf
|
||
|
||
EndFunc ;==>_EVH_open_NC
|
||
|
||
Func _Write_to_Console_EVH($sString)
|
||
$sText = @YEAR & "." & @MON & "." & @MDAY & " | " & @HOUR & ":" & @MIN & ":" & @SEC & " " & $sString
|
||
GUICtrlSetData($ed_aus_EVH, GUICtrlRead($ed_aus_EVH) & @CRLF & $sText)
|
||
;~ ConsoleWrite($sText & " " & $sString & @CRLF)
|
||
;~ FileWrite(@ScriptDir & "\Daten\_LOG_File.txt", $sText & @CRLF)
|
||
_GUICtrlEdit_LineScroll($ed_aus_EVH, 0, _GUICtrlEdit_GetLineCount($ed_aus_EVH))
|
||
EndFunc ;==>_Write_to_Console_EVH
|
||
|
||
Func _EV_PDF_Kopfdaten_DDL2Array($sDetailsID)
|
||
Dim $aArray[10]
|
||
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/")
|
||
If Not StringInStr($sHTML, 'LERF nicht möglich') Then
|
||
$aFileDL = StringRegExp($sHTML, 'href="(/file[^"]+)" title="D', 3)
|
||
If IsArray($aFileDL) Then
|
||
;download File + Umwandel inhalt Speichern in $sFileRead
|
||
For $i = 0 To UBound($aFileDL) - 1
|
||
$sHeader = ""
|
||
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "GET", $aFileDL[$i], "https://www.evergabe.telekom.de/framework-agreement-call", Default, $sHeader, False, 2)
|
||
_Write_to_Console("File Download => " & $aFileDL[$i])
|
||
$hBild = FileOpen(@ScriptDir & "\test_" & $i & ".pdf", 18)
|
||
FileWrite($hBild, $aHTML)
|
||
FileClose($hBild)
|
||
|
||
$sTel = ""
|
||
Sleep(1500)
|
||
_Write_to_Console("PDF-File convert to TXT-File ")
|
||
_XPDF_ToText(@ScriptDir & "\test_" & $i & ".pdf", @ScriptDir & "\test_" & $i & ".txt")
|
||
Local $sFileRead = FileRead(@ScriptDir & "\test_" & $i & ".txt")
|
||
FileDelete(@ScriptDir & "\test_" & $i & ".pdf")
|
||
FileDelete(@ScriptDir & "\test_" & $i & ".txt")
|
||
|
||
If StringInStr($sFileRead, "ext geändert") Then
|
||
ExitLoop
|
||
EndIf
|
||
Next
|
||
|
||
$aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead)
|
||
$aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead)
|
||
$aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead)
|
||
$aArray[3] = $sDetailsID
|
||
$aArray[4] = _EV_Kopfdaten_GET_SDatum($sFileRead)
|
||
$aArray[5] = _EV_Kopfdaten_GET_EDatum($sFileRead)
|
||
$aArray[6] = _EV_Kopfdaten_GET_GesamtS($sFileRead)
|
||
$aArray[7] = _EV_Kopfdaten_GET_Bvt($sFileRead)
|
||
$aArray[8] = _EV_Kopfdaten_GET_Bvt_tel($sFileRead)
|
||
$aArray[9] = _EV_Kopfdaten_GET_Email($sFileRead)
|
||
|
||
Return $aArray
|
||
|
||
Else
|
||
_Write_to_Console("Pattern Filedownload prüfen=> | " & 'href="(/file[^"]+)" title="F')
|
||
EndIf
|
||
Else
|
||
_Write_to_Console("Lern ist nicht angenommen")
|
||
EndIf
|
||
EndFunc
|
||
|
||
Func _EV_Kopfdaten_Array2Gui($aArray)
|
||
;~ Row 0|4209902345
|
||
;~ Row 1|NA
|
||
;~ Row 2|4650001474
|
||
;~ Row 3|17177645
|
||
;~ Row 4|04.06.2020
|
||
;~ Row 5|06.04.2021
|
||
;~ Row 6|536,46
|
||
;~ Row 7|Sinan Frank Haase
|
||
;~ Row 8|
|
||
;~ Row 9|NA
|
||
If $aArray[1] = "" or $aArray[1] = "NA" Then
|
||
;~ GUICtrlSetData($txt_sm_EVH)
|
||
Else
|
||
GUICtrlSetData($txt_sm_EVH, $aArray[1])
|
||
EndIf
|
||
GUICtrlSetData($txt_beleg_EVH, $aArray[0])
|
||
GUICtrlSetData($txt_beleg_eingang_EVH, $aArray[4])
|
||
GUICtrlSetData($txt_ausfuehrungsfrist_EVH, $aArray[5])
|
||
GUICtrlSetData($txt_rv_EVH, $aArray[2])
|
||
GUICtrlSetData($txt_plan_preis_EVH, $aArray[6])
|
||
GUICtrlSetData($txt_abruf_details_ev_EVH, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $aArray[3] & "&c=1")
|
||
GUICtrlSetData($txt_Leistungserfassung_EVH, "https://www.evergabe.telekom.de/sheet/index?c=1&importId=" & $aArray[3])
|
||
GUICtrlSetData($txt_lv_geab_EVH, "https://www.evergabe.telekom.de/gaeb-viewer/index?c=1&id=" & $aArray[3])
|
||
|
||
|
||
EndFunc
|
||
|
||
Func _XPDF_ToText($sPDFFile, $sTXTFile, $iFirstPage = 1, $iLastPage = 0, $bLayout = True)
|
||
Local $sXPDFToText = @ScriptDir & "\daten\pdftotext.exe"
|
||
Local $sOptions
|
||
|
||
If Not FileExists($sPDFFile) Then Return SetError(1, 0, 0)
|
||
If Not FileExists($sXPDFToText) Then Return SetError(2, 0, 0)
|
||
|
||
If $iFirstPage <> 1 Then $sOptions &= " -f " & $iFirstPage
|
||
If $iLastPage <> 0 Then $sOptions &= " -l " & $iLastPage
|
||
If $bLayout = True Then $sOptions &= " -layout" ;das war standart
|
||
;~ If $bLayout = True Then $sOptions &= " −simple" ;ganz gut viele leerzeichen
|
||
;~ If $bLayout = True Then $sOptions &= " −raw" ;fast perfekt
|
||
If $bLayout = False Then $sOptions &= " −table" ;fast perfekt
|
||
|
||
Local $iReturn = ShellExecuteWait($sXPDFToText, $sOptions & ' "' & $sPDFFile & '" "' & $sTXTFile & '"', @ScriptDir, "", @SW_HIDE)
|
||
If $iReturn = 0 Then Return 1
|
||
|
||
Return 0
|
||
|
||
EndFunc ;==>_XPDF_ToText
|