;EVergabe.au3
Func _start_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(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx")
$sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx")
$sRetrunLogin = _EV_Login($sUsername, $sPasswort)
If $sRetrunLogin = "True" Then
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
_Write_to_Console("Login Erfolgreich")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/")
;~ ClipPut($sHTML)
;~ MsgBox(64,"erstmal","fertig")
$sSMnr = GUICtrlRead($kopf_tab_txt_smnr)
If StringMid($sSMnr, 1, 1) = 0 Then
;~ _EV_Contract_Pos_add($sSMnr)
_EV_Insert_Pos($sSMnr)
_Write_to_Console("Positionen sind eingetragen")
;~ _EV_GET_DetailsID_Info($sDetailsID)
MsgBox(64, "Fertig", "Fertig es ist alles eingetragen!")
Else
;~ _EV_Contract_Pos_add("0" & $sSMnr)
_EV_Insert_Pos($sSMnr)
;~ _EV_GET_DetailsID_Info($sDetailsID)
_Write_to_Console("Positionen sind eingetragen")
MsgBox(64, "Fertig", "Fertig es ist alles eingetragen!")
EndIf
Else
MsgBox(64, "Login Fehler", "Login war nicht erfolgreich")
EndIf
EndFunc ;==>_start_Evergabe
Func _start_Evergabe_Neu()
Global $hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.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
$sEV_Username = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx")
$sEV_Passwort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx")
$sDatum = GUICtrlRead($kopf_tab_txt_datum)
$sBaustelle = GUICtrlRead($kopf_tab_txt_baustelle)
$sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt)
$sAbrufNR = GUICtrlRead($kopf_tab_txt_abrufnr)
$sSMnr = GUICtrlRead($kopf_tab_txt_smnr)
$sVertrag = GUICtrlRead($kopf_tab_chb_vertrag)
$sStartDatum = GUICtrlRead($kopf_tab_datum_start)
$sEndDatum = GUICtrlRead($kopf_tab_txt_datum_ende)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Datum", $sDatum)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", $sBaustelle)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", $sBauabschnitt)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "AbrufNr", $sAbrufNR)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Vertrag", $sVertrag)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", $sStartDatum)
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", $sEndDatum)
$iReturn = _EV_Login($sEV_Username, $sEV_Passwort)
If $iReturn = "True" Then
_Write_to_Console("Login Erfolgreich")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/")
$aInhalt = _GUIListViewEx_ReadToArray($LV_Aufm, 1)
If IsArray($aInhalt) Then
If GUICtrlRead($kopf_TAB_txt_detailsID) = "" Then
; Positionen nach SM Eintragen
_EV_Pos_eintragen($aInhalt)
Else
; Positionen nach DetailsID eintragen
_EV_Pos_eintragen_Bestellung($aInhalt)
EndIf
_Write_to_Console("Fertig mit Eintragen!")
Else
_Write_to_Console("AufmaßListe ist leer")
EndIf
Else
_Write_to_Console("Login Fehler Logindaten überprüfen")
EndIf
EndFunc ;==>_start_Evergabe_Neu
Func _EV_Pos_eintragen_Bestellung($aInhalt)
Global $sDetailsID
$sDetailsID = GUICtrlRead($kopf_TAB_txt_detailsID)
$sSMnr = IniRead(@ScriptDir & "\conf.ini", "Kopfdaten", "SMNr", "")
If IsArray($aInhalt) Then
If $sDetailsID <> "" Then
_Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", ""))
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/purchase-order/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/")
If Not StringInStr($sHTML, 'LERF nicht möglich') Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/purchase-order/details?id=" & $sDetailsID & "&c=1")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
_Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$sLeist_zeitv = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", "")
$sLeist_zeitb = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", "")
;~ _Write_to_Console($sLeist_zeitv)
;~ _Write_to_Console($sLeist_zeitb)
; mit UrlEncode
$sLeistungsort1 = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "")
If StringLen($sLeistungsort1) >= 25 Then
$sLeistungsortso = $sLeistungsort1
$sLeistungsort1 = StringMid($sLeistungsort1, 1, 25)
Else
$sLeistungsortso = $sLeistungsort1
EndIf
;~ _Write_to_Console($sLeistungsort1)
$sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen
$sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx")
If StringLen($sSachbearbeiter) >= 12 Then
$sSachbearbeiter_temp = $sSachbearbeiter
$sSachbearbeiter = StringMid($sSachbearbeiter_temp, 1, 12)
;~ $sSachbearbeiter = $sSachbearbeiter_temp
EndIf
;~ _Write_to_Console($sSachbearbeiter)
$sBauabschnitt = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "")
If StringLen($sBauabschnitt) >= 40 Then
$sBauabschnitt = StringMid($sBauabschnitt, 1, 39)
EndIf
;~ _Write_to_Console($sBauabschnitt)
$sBauabschnitt = _URIEncode($sBauabschnitt)
$sKurztext = "SM " ; max 40 Zeichen
$sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr)
If StringLen($sKurztext) >= 40 Then
$sKurztext = StringMid($sKurztext, 1, 39)
EndIf
;~ _Write_to_Console($sKurztext)
$sKurztext = _URIEncode($sKurztext)
; mit UrlEncode
$s_SMnrINi = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr)
$sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $s_SMnrINi & @CRLF & GUICtrlRead($tab_plan_ed_SListe)
;~ $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $sSMnr; alt
;~ _Write_to_Console($sKurztext)
$sLangtext = _URIEncode($sLangtext)
;~ MsgBox(64, "Langtext bestellung", $sLangtext)
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&description=" & $sLangtext & "&save+sheets="
If GUICtrlRead($kopf_TAB_rd_teilauf) = $GUI_CHECKED Then
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
EndIf
If GUICtrlRead($kopf_TAB_rd_schluss) = $GUI_CHECKED Then
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=X&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
Else
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
EndIf
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&id=" & $sDetailsID, $sPost, $sHeader, True)
;~ MsgBox(64, "", "texte anschauen v")
;~ _Write_to_Console($aHTML[0])
;~ _Write_to_Console($aHTML[1])
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console("Leb Angelegt! ")
;~ _Write_to_Console($aHTML[2])
;~ https://www.evergabe.telekom.de/sheet/header?c=1&sheetId=0007873547
$aSheetID = StringRegExp($aHTML[2], 'sheetId=(.*)', 3) ;alt
If IsArray($aSheetID) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe
Global $iSheetID = $aSheetID[0]
For $i = 0 To UBound($aInhalt) - 1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
_Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$sPositionNr = $aInhalt[$i][1]
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0"
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
If IsArray($aHTML) Then
If StringInStr($aHTML[1], "Nullen können weggelassen") Then
_Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & " keine gültige Positionen")
;~ ClipPut($aInhalt[$i][1])
;~ MsgBox(64, "keine gültige Pos", $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
Else
$aLocationlink = StringRegExp($aHTML[2], 'telekom.de(.*)', 3)
If IsArray($aLocationlink) Then
$aPosID = StringRegExp($aLocationlink[0], 'positionId=([^&]+)', 3)
If IsArray($aPosID) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], $aLocationlink[0], "") ;notwendig für neues Token
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$iSheetID = $aSheetID[0]
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "")
If $bDebug = "True" Then
FileDelete(@ScriptDir & "\test_temp_body.txt")
FileWrite(@ScriptDir & "\test_temp_body.txt", $sHTML)
MsgBox(64, "show Body", "")
EndIf
;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=MFG+A536&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=2&ServicePosition%5B0%5D%5BformulaValueLength%5D=2&ServicePosition%5B0%5D%5BlongText%5D=Rohre+auslegen&ServicePosition%5B0%5D%5Bid%5D=" & $aPosID[0] & "&clientId=1&sheetId=" & $aSheetID[0] & "&insertPosition=0&save="
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
;~ FileWrite(@ScriptDir&"\test_temp_head.txt",$aHTML[0])
If StringInStr($sHTML, "Pflichtbe") And $aInhalt[$i][9] = "" Then
;~ FileWrite(@ScriptDir&"\begründung_notwendig.txt",$sHTML)
;~ _Write_to_Console($aInhalt[$i][1] & " | " & $aInhalt[$i][8] & "| Begründung notwendig")
FileWrite(@ScriptDir & "\begründung_notwendig_neu.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF)
;~ MsgBox(64, $aInhalt[$i][1], $aInhalt[$i][8] & "| Begründung notwendig")
EndIf
If StringInStr($sHTML, "Pflichtbe") Then
FileWrite(@ScriptDir & "\begründung_notwendig.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF)
;~ MsgBox(64,$aInhalt[$i][1],$aInhalt[$i][8]&"| Begründung notwendig")
EndIf
;~ MsgBox(64,"","schau an")
;~ _ArrayDisplay($aHTML)
Select
Case $aInhalt[$i][7] = "ST"
;bei Stück
_EV_ADD_ST_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ _EV_ADD_ST_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF)
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "M"
; bei Meter
_EV_ADD_M_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "M2"
; bei m2
_EV_ADD_M2_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "M3"
;m3
_EV_ADD_M3_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aInhalt[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "STD"
; STD
_EV_ADD_STD_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "LE"
; LE
_EV_ADD_LE_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
EndSelect
;~ GUICtrlSetData($lbl_status, $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!")
;~ _Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!")
EndIf
EndIf
Else
MsgBox(64, "kein Location link vorhanden", "kein Location link vorhanden")
EndIf
EndIf
EndIf
;~ MsgBox(64, "Pos insert check", "")
EndIf
Next
Else
_Write_to_Console("sheetID link=> " & $aHTML[2] & "Pattern: " & "sheetId=(.*)")
EndIf
;~ MsgBox(64, "LerF Fehler__", "__Bitte Lerf Annehmen!!!!")
EndIf
EndIf
Else
EndIf
EndIf
Else
_Write_to_Console("kein Aufmaß gefunden!")
EndIf
EndFunc ;==>_EV_Pos_eintragen_Bestellung
Func _EV_Pos_eintragen($aInhalt)
Global $sDetailsID
$sSMnr = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", "")
If IsArray($aInhalt) Then
_Write_to_Console("Suche SM-Nr: | " & $sSMnr)
$aArrayList = _EV_Search_SM($sSMnr)
;~ _DebugArrayDisplay($aArrayList)
If UBound($aArrayList) > 1 Then
$sDetailsID = _create_Gui_Ausw($aArrayList)
Else
$sDetailsID = $aArrayList[0][3]
EndIf
_Write_to_Console("DetailsID: " & $sDetailsID)
_Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", ""))
$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
;LEB anlegen
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
_Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$sLeist_zeitv = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", "")
$sLeist_zeitb = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", "")
; mit UrlEncode
$sLeistungsort1 = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "")
If StringLen($sLeistungsort1) >= 25 Then
$sLeistungsortso = $sLeistungsort1
$sLeistungsort1 = StringMid($sLeistungsort1, 1, 25)
Else
$sLeistungsortso = $sLeistungsort1
EndIf
$sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen
$sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx")
If StringLen($sSachbearbeiter) >= 12 Then
$sSachbearbeiter_temp = $sSachbearbeiter
$sSachbearbeiter = StringMid($sSachbearbeiter_temp, 1, 12)
;~ $sSachbearbeiter = $sSachbearbeiter_temp
EndIf
;~ MsgBox(64, "", $sSachbearbeiter)
; mit UrlEncode
$sBauabschnitt = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "")
If StringLen($sBauabschnitt) >= 40 Then
$sBauabschnitt = StringMid($sBauabschnitt, 1, 39)
EndIf
$sBauabschnitt = _URIEncode($sBauabschnitt)
$sKurztext = "SM " ; max 40 Zeichen
$sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr)
If StringLen($sKurztext) >= 40 Then
$sKurztext = StringMid($sKurztext, 1, 39)
EndIf
$sKurztext = _URIEncode($sKurztext)
; mit UrlEncode
$s_SMnrINi = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $sSMnr)
$sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $s_SMnrINi & @CRLF & GUICtrlRead($tab_plan_ed_SListe)
;~ $sLangtext = IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Baustelle", "") & " " & IniRead(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Bauabschnitt", "") & " " & "SM " & $sSMnr; alt
$sLangtext = _URIEncode($sLangtext)
Sleep(1000)
;~ MsgBox(64, "Langtext", $sLangtext)
$sHeader = "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8" & @CRLF & "Accept-Language: de,en-US;q=0.7,en;q=0.3" & @CRLF & "Accept-Encoding: gzip, deflate, br" & @CRLF & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF & "Upgrade-Insecure-Requests: 1" & @CRLF & "Sec-Fetch-Dest: document" & @CRLF & "Sec-Fetch-Mode: navigate" & @CRLF & "Sec-Fetch-Site: same-origin" & @CRLF & "Sec-Fetch-User: ?1" & @CRLF
If GUICtrlRead($kopf_TAB_rd_teilauf) = $GUI_CHECKED Then
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
EndIf
If GUICtrlRead($kopf_TAB_rd_schluss) = $GUI_CHECKED Then
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=X&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
Else
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&BapiEssr%5Bdescription%5D=" & $sLangtext & "&save+sheets="
EndIf
;~ _Write_to_Console($sPost)
;~ ConsoleWrite($sPost)
;~ MsgBox(64, "stop", "stop")
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&iid=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&iid=" & $sDetailsID, $sPost, $sHeader, True)
;~ _Write_to_Console($aHTML[0])
;~ _Write_to_Console($aHTML[1])
;~ _DebugArrayDisplay($aHTML)
;~ MsgBox(64, "stop", "stop")
If IsArray($aHTML) Then
_Write_to_Console("Leb Angelegt! ")
_Write_to_Console($aHTML[2])
;~ https://www.evergabe.telekom.de/sheet/header?c=1&sheetId=0007873547
$aSheetID = StringRegExp($aHTML[2], 'sheetId=(.*)', 3) ;alt
If IsArray($aSheetID) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe
Global $iSheetID = $aSheetID[0]
For $i = 0 To UBound($aInhalt) - 1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
_Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$sPositionNr = $aInhalt[$i][1]
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0"
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
If IsArray($aHTML) Then
If StringInStr($aHTML[1], "Nullen können weggelassen") Then
_Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & " keine gültige Positionen")
;~ ClipPut($aInhalt[$i][1])
;~ MsgBox(64, "keine gültige Pos", $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
Else
$aLocationlink = StringRegExp($aHTML[2], 'telekom.de(.*)', 3)
If IsArray($aLocationlink) Then
$aPosID = StringRegExp($aLocationlink[0], 'positionId=([^&]+)', 3)
If IsArray($aPosID) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], $aLocationlink[0], "") ;notwendig für neues Token
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
;~ GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$iSheetID = $aSheetID[0]
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "")
If $bDebug = "True" Then
FileDelete(@ScriptDir & "\test_temp_body.txt")
FileWrite(@ScriptDir & "\test_temp_body.txt", $sHTML)
MsgBox(64, "show Body", "")
EndIf
;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=MFG+A536&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=2&ServicePosition%5B0%5D%5BformulaValueLength%5D=2&ServicePosition%5B0%5D%5BlongText%5D=Rohre+auslegen&ServicePosition%5B0%5D%5Bid%5D=" & $aPosID[0] & "&clientId=1&sheetId=" & $aSheetID[0] & "&insertPosition=0&save="
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
;~ FileWrite(@ScriptDir&"\test_temp_head.txt",$aHTML[0])
If StringInStr($sHTML, "Pflichtbe") And $aInhalt[$i][9] = "" Then
;~ FileWrite(@ScriptDir&"\begründung_notwendig.txt",$sHTML)
;~ _Write_to_Console($aInhalt[$i][1] & " | " & $aInhalt[$i][8] & "| Begründung notwendig")
FileWrite(@ScriptDir & "\begründung_notwendig_neu.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF)
;~ MsgBox(64, $aInhalt[$i][1], $aInhalt[$i][8] & "| Begründung notwendig")
EndIf
If StringInStr($sHTML, "Pflichtbe") Then
FileWrite(@ScriptDir & "\begründung_notwendig.txt", $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & @CRLF)
;~ MsgBox(64,$aInhalt[$i][1],$aInhalt[$i][8]&"| Begründung notwendig")
EndIf
;~ MsgBox(64,"","schau an")
;~ _ArrayDisplay($aHTML)
Select
Case $aInhalt[$i][7] = "ST"
;bei Stück
_EV_ADD_ST_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ _EV_ADD_ST_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF)
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "M"
; bei Meter
_EV_ADD_M_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8]) ; alt
;~ _EV_ADD_M_insert($aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "M2"
; bei m2
_EV_ADD_M2_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "M3"
;m3
_EV_ADD_M3_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][2], $aInhalt[$i][3], $aInhalt[$i][4], $aInhalt[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "STD"
; STD
_EV_ADD_STD_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
Case $aInhalt[$i][7] = "LE"
; LE
_EV_ADD_LE_insert($i, $aInhalt[$i][0], $aInhalt[$i][9], $aInhalt[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aInhalt[$i][1] & "|" & $aInhalt[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aInhalt[$i][1] & " "& $aInhalt[$i][0] " hinzugefügt!")
EndSelect
;~ GUICtrlSetData($lbl_status, $aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!")
;~ _Write_to_Console($aInhalt[$i][1] & "|" & $aInhalt[$i][8] & "... Eintrag hinzugefügt!")
EndIf
EndIf
Else
MsgBox(64, "kein Location link vorhanden", "kein Location link vorhanden")
EndIf
EndIf
EndIf
;~ MsgBox(64, "Pos insert check", "")
EndIf
Next
Else
_Write_to_Console("sheetID link=> " & $aHTML[2] & " Pattern: " & "sheetId=(.*)")
EndIf
EndIf
EndIf
Else
MsgBox(64, "LerF Fehler", "Bitte Lerf Annehmen!!!!")
EndIf
Else
_Write_to_Console("kein Aufmaß gefunden!")
EndIf
EndFunc ;==>_EV_Pos_eintragen
Func _EV_GET_DetailsID_Info($sDetailsIDPreis)
;~ https://www.evergabe.telekom.de
$sBaustelle = GUICtrlRead($kopf_tab_txt_baustelle)
$sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt)
$sAbrufNR = GUICtrlRead($kopf_tab_txt_abrufnr)
$sSMnr = GUICtrlRead($kopf_tab_txt_smnr)
;~ FileWrite(@ScriptDir & "\Aufträge2Excel.txt", $txt_smnr & "|" & $txt_abrufnr & "|" & $txt_bauabschnitt & "|" & $iSum & @CRLF)
$sDateiname = ""
$sText = ""
$sDateiname = $sBaustelle & "_" & $sBauabschnitt & "_" & $sSMnr & "_" & $sAbrufNR
$sDateiname = StringReplace($sDateiname, "?", " ")
$sDateiname = StringReplace($sDateiname, "*", " ")
$sDateiname = StringReplace($sDateiname, "<", " ")
$sDateiname = StringReplace($sDateiname, ">", " ")
$sDateiname = StringReplace($sDateiname, ",", " ")
$sDateiname = StringReplace($sDateiname, "\", " ")
$sDateiname = StringReplace($sDateiname, "+", " ")
$sDateiname = StringReplace($sDateiname, ":", " ")
$sDateiname = StringReplace($sDateiname, "=", " ")
$sDateiname = StringReplace($sDateiname, "/", " ")
$sDateiname = StringReplace($sDateiname, '"', " ")
$sDateiname = StringReplace($sDateiname, ";", " ")
$sDateiname = StringReplace($sDateiname, "[", " ")
$sDateiname = StringReplace($sDateiname, "]", " ")
$sDateiname = StringReplace($sDateiname, "[", " ")
$sDateiname = StringReplace($sDateiname, "{", " ")
$sDateiname = StringReplace($sDateiname, "}", " ")
$sDateiname = StringReplace($sDateiname, "|", " ")
$sDateiname = StringReplace($sDateiname, " ", "_")
$sDateiname = StringReplace($sDateiname, "__", "_")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsIDPreis, "https://www.evergabe.telekom.de/framework-agreement-call")
$aPages = StringRegExp($sHTML, 'importId=\d+&page=([^"]+)', 3)
If IsArray($aPages) Then
$iMax = _ArrayMax($aPages)
Dim $aLEBP[1]
Dim $aShID[1]
For $iPage = 1 To $iMax
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsIDPreis & "&page=" & $iPage, "https://www.evergabe.telekom.de/framework-agreement-call")
$aLEBPreis = StringRegExp($sHTML, 'Wert LEB: ([^ ]+)€', 3)
$aSheetIDs = StringRegExp($sHTML, '€
([^<]+) | ', 3)
For $iiii = 0 To UBound($aLEBPreis) - 1
_ArrayAdd($aLEBP, $aLEBPreis[$iiii])
_ArrayAdd($aShID, $aSheetIDs[$iiii])
Next
Next
For $i = 0 To UBound($aShID) - 1
If $aShID[$i] = $iSheetID Then
ConsoleWrite("##########" & @CRLF)
ConsoleWrite($sDateiname & " => " & $aLEBP[$i] & @CRLF)
ConsoleWrite("https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aShID[$i] & "&c=1" & @CRLF)
ConsoleWrite("##########" & @CRLF)
$sText_log = $sDateiname & " => " & $aLEBP[$i] & @CRLF & "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aShID[$i] & "&c=1" & @CRLF
FileWrite(@ScriptDir & "\daten\_LOG_E-Vergabe.txt", $sText_log & @CRLF)
$txt_bauabschnitt = $sBaustelle & "_" & $sBauabschnitt
$iSum = $aLEBP[$i]
FileWrite(@ScriptDir & "\daten\Aufträge2Excel.txt", $sSMnr & "|" & $sAbrufNR & "|" & $txt_bauabschnitt & "|" & $iSum & @CRLF)
$sText = $sDateiname & " => " & $aLEBP[$i]
GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText)
$sText = "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aShID[$i] & "&c=1"
GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText)
_GUICtrlEdit_LineScroll($logs_tab_ed_logs, 0, _GUICtrlEdit_GetLineCount($logs_tab_ed_logs))
;~ ;https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=0006740712&c=1
EndIf
Next
Else
$aLEBPreis = StringRegExp($sHTML, 'Wert LEB: ([^ ]+)€', 3)
$aSheetIDs = StringRegExp($sHTML, '€ | ([^<]+) | ', 3)
For $i = 0 To UBound($aSheetIDs) - 1
If $aSheetIDs[$i] = $iSheetID Then
ConsoleWrite("##########" & @CRLF)
ConsoleWrite($sDateiname & " => " & $aLEBPreis[$i] & @CRLF)
ConsoleWrite("https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aSheetIDs[$i] & "&c=1" & @CRLF)
ConsoleWrite("##########" & @CRLF)
$sText_log = $sDateiname & " => " & $aLEBPreis[$i] & @CRLF & "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aSheetIDs[$i] & "&c=1" & @CRLF
FileWrite(@ScriptDir & "\daten\_LOG_E-Vergabe.txt", $sText_log & @CRLF)
$txt_bauabschnitt = $sBaustelle & "_" & $sBauabschnitt
$iSum = $aLEBPreis[$i]
FileWrite(@ScriptDir & "\daten\Aufträge2Excel.txt", $sSMnr & "|" & $sAbrufNR & "|" & $txt_bauabschnitt & "|" & $iSum & @CRLF)
$sText = $sDateiname & " => " & $aLEBPreis[$i]
GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText)
$sText = "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $aSheetIDs[$i] & "&c=1"
GUICtrlSetData($logs_tab_ed_logs, GUICtrlRead($logs_tab_ed_logs) & @CRLF & $sText)
_GUICtrlEdit_LineScroll($logs_tab_ed_logs, 0, _GUICtrlEdit_GetLineCount($logs_tab_ed_logs))
;https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=0006740712&c=1
EndIf
Next
EndIf
EndFunc ;==>_EV_GET_DetailsID_Info
Func _EV_Login($sUsername, $sPasswort)
$sHTML = _send_Winhttp_GET($aHosts[1][1], "/", "https://www.evergabe.telekom.de/")
;~ ClipPut($sHTML)
;~ MsgBox(64, "Startseite", "Quellcode")
$aCSRF = StringRegExp($sHTML, '_csrf" value="([^=]+)', 3)
If IsArray($aCSRF) Then
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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF
;_csrf=3Ufeg_ufz3Ppp6mfgHBrH2YDc_XRBM54nglmoJ3FsHySLonRzturNNHz0OjWP15cDzEYmJ1c_BTaeTeRroT6OQ==&LoginForm[username]=Ufuk Tool&LoginForm[password]=Ufuk2021!
;_csrf=3Ufeg_ufz3Ppp6mfgHBrH2YDc_XRBM54nglmoJ3FsHySLonRzturNNHz0OjWP15cDzEYmJ1c_BTaeTeRroT6OQ%3D%3D&LoginForm%5Busername%5D=Ufuk+Tool&LoginForm%5Bpassword%5D=Ufuk2021%21
$sPosu = "_csrf=" & $aCSRF[0] & "%3D%3D&LoginForm%5Busername%5D=" & _URIEncode($sUsername) & "&LoginForm%5Bpassword%5D=" & _URIEncode($sPasswort)
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/public/login", "https://www.evergabe.telekom.de/", $sPosu, "", True)
;~ _DebugArrayDisplay($aHTML)
;~ ClipPut($sPosu)
;~ MsgBox(64, $sPosu, "")
If IsArray($aHTML) Then
If StringInStr($aHTML[1], 'Abmelden') Then
Return "True"
Else
Return "False"
EndIf
EndIf
EndIf
_Write_to_Console("Seitenfehler/Check Internetseite")
EndFunc ;==>_EV_Login
Func _EV_Suche_Status_All($sStatus)
;Status Alle max 10
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=-1
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=NEU
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=ANGENOMME
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=AUSGEF%C3%9CHRT
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=ABGESCHLOSSEN
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=GEAENDERT
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=STORNO
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_FREIGEGEBEN
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_ABGELEHNT
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_IN_BEARBEITUNG
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_AKZEPTIERT
;~ /framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=10&OrderRecallSearch%5Bdocument_state%5D=LEB_rbu
;~ Dim $aStatus[12] = ["-1","NEU","ANGENOMME","AUSGEF%C3%9CHRT","ABGESCHLOSSEN","GEAENDERT","STORNO","LEB_FREIGEGEBEN","LEB_ABGELEHNT","LEB_IN_BEARBEITUNG","LEB_AKZEPTIERT","LEB_rbu"]
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/index?OrderRecallSearch%5Bhead_line%5D=&OrderRecallSearch%5Bdocument_no%5D=&OrderRecallSearch%5Bincoming_date%5D=&OrderRecallSearch%5Border_date%5D=&OrderRecallSearch%5Bgeneral_agreement_id%5D=&OrderRecallSearch%5Bdocument_state%5D=" & $sStatus, "https://www.evergabe.telekom.de")
;~ ClipPut($sHTML)
;~ MsgBox(64,"","")
$aAnzBelgeGesamt = StringRegExp($sHTML, '(\d+) Belegen', 3)
;~ _ArrayDisplay($aAnzBelgeGesamt)
If IsArray($aAnzBelgeGesamt) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/index?OrderRecallSearch%5Blimit%5D=" & $aAnzBelgeGesamt[0] & "&OrderRecallSearch%5Bdocument_state%5D=" & $sStatus, "https://www.evergabe.telekom.de/")
;~ ClipPut($sHTML)
;~ MsgBox(0, "Status:" & $sStatus & " Belege:" & $aAnzBelgeGesamt[0], "Status:" & $sStatus & " Belege:" & $aAnzBelgeGesamt[0])
;~ ;Abrufliste gefhilter nach Status
;auslesen Titel
;array's
$aTitel = _EV_Abrufliste_GET_Title($sHTML)
$aSMnr = _EV_Abrufliste_GET_Bedarfnr($sHTML) ;SMnr
$aBelegEinDatum = _EV_Abrufliste_GET_Belegeingang($sHTML) ;Eingang E-Vergabe
$aBelegNr42 = _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 $aListe[UBound($aTitel)][8]
;~ For $i = 0 to UBound($aTitel) - 1
;~ $aListe[$i][0] = $aRV[$i]
;~ $aListe[$i][1] = $aSMnr[$i]
;~ $aListe[$i][2] = $aTitel[$i]
;~ $aListe[$i][3] = $aBelegNr42[$i]
;~ $aListe[$i][4] = $aBelegEinDatum[$i]
;~ $aListe[$i][5] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][6] = $aDetailID[$i]
;~ $aListe[$i][7] = $aStatus[$i]
;~ Next
Dim $aListe[UBound($aTitel)][10]
For $i = 0 To UBound($aTitel) - 1
$aTitel[$i] = StringReplace($aTitel[$i], @CR, ' ')
$aTitel[$i] = StringReplace($aTitel[$i], @LF, ' ')
$aListe[$i][0] = $aSMnr[$i]
$aListe[$i][1] = $aBelegNr42[$i]
$aListe[$i][2] = $aDetailID[$i]
$aListe[$i][3] = ""
$aListe[$i][4] = $aTitel[$i]
$aListe[$i][5] = $aRV[$i]
$aListe[$i][6] = $aBelegEinDatum[$i]
$aListe[$i][7] = $aAusfuehrungsfrist[$i]
$aListe[$i][8] = ""
$aListe[$i][9] = $aStatus[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
;~ $aListe[$i][7] = $aAusfuehrungsfrist[$i]
ConsoleWrite($aListe[$i][0] & "|" & $aListe[$i][1] & "|" & $aListe[$i][2] & "|" & $aListe[$i][3] & "|" & $aListe[$i][4] & "|" & $aListe[$i][5] & "|" & $aListe[$i][6] & "|" & $aListe[$i][7] & "|" & $aListe[$i][8] & "|" & $aListe[$i][9] & @CRLF)
Next
Return $aListe
;~ _ArrayDisplay($aListe)
EndIf
EndFunc ;==>_EV_Suche_Status_All
;auch noch ändern.
Func _EV_Insert_Pos($sSMnr)
Global $sDetailsID
; Hole Listview in Array
$aInhalt = _GUIListViewEx_ReadToArray($LV_Aufm, 1)
;~ _DebugArrayDisplay($aAufmaListe)
;~ $aInhalt = _GUIListViewEx_ReturnArray($iLV_Left_Index, 3)
;~ _DebugArrayDisplay($aInhalt)
If IsArray($aInhalt) Then
;~ _DebugArrayDisplay($aInhalt)
;entferne Leere Zeilen vom Array
$aAufmaListeString = _ArrayToString($aInhalt, "|")
$aTest = StringSplit($aAufmaListeString, @LF)
Dim $aListeImport[0][13]
For $iii = 1 To UBound($aTest) - 1
If StringInStr($aTest[$iii], "|||||") Then
Else
_ArrayAdd($aListeImport, $aTest[$iii])
EndIf
Next
;~ _DebugArrayDisplay($aListeImport)
If GUICtrlRead($kopf_TAB_txt_detailsID) = "" Then
;suche Aufmaß nach SMnr:
_Write_to_Console("Suche SM-Nr: | " & $sSMnr)
$aArrayList = _EV_Search_SM($sSMnr)
;~ _DebugArrayDisplay($aArrayList)
If UBound($aArrayList) > 1 Then
;~ ConsoleWrite(UBound($aArrayList) & @CRLF)
$sDetailsID = _create_Gui_Ausw($aArrayList)
;~ MsgBox(64, "", $sDetailsID_Return)
Else
$sDetailsID = $aArrayList[0][3]
EndIf
Else
$sDetailsID = GUICtrlRead($kopf_TAB_txt_detailsID)
EndIf
_Write_to_Console("Öffne DetailsID : | " & StringReplace($sDetailsID, "&c=1", ""))
$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
;LEB anlegen
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/" & "/sheet/index?c=1&importId=" & $sDetailsID) ;evtl nicht direkt eingabe
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$sLeist_zeitv = GUICtrlRead($kopf_tab_datum_start)
$sLeist_zeitb = GUICtrlRead($kopf_tab_txt_datum_ende)
; mit UrlEncode
$sLeistungsort1 = GUICtrlRead($kopf_tab_txt_baustelle)
If StringLen($sLeistungsort1) >= 25 Then
$sLeistungsortso = $sLeistungsort1
$sLeistungsort1 = StringMid($sLeistungsort1, 1, 25)
Else
$sLeistungsortso = $sLeistungsort1
EndIf
$sLeistungsort = _URIEncode($sLeistungsort1) ; max 25 Zeichen
$sSachbearbeiter = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Name", "xxx")
; mit UrlEncode
$sBauabschnitt = GUICtrlRead($kopf_tab_txt_bauabschnitt)
If StringLen($sBauabschnitt) >= 40 Then
$sBauabschnitt = StringMid($sBauabschnitt, 1, 39)
EndIf
$sBauabschnitt = _URIEncode($sBauabschnitt)
$sKurztext = "SM " ; max 40 Zeichen
$sKurztext = StringReplace($sKurztext, "SM ", "SM " & $sSMnr)
If StringLen($sKurztext) >= 40 Then
$sKurztext = StringMid($sKurztext, 1, 39)
EndIf
$sKurztext = _URIEncode($sKurztext)
; mit UrlEncode
$sLangtext = GUICtrlRead($kopf_tab_txt_baustelle) & " " & GUICtrlRead($kopf_tab_txt_bauabschnitt) & " " & "SM " & GUICtrlRead($kopf_TAB_txt_smnr)
$sLangtext = _URIEncode($sLangtext)
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$sPost = "_csrf=" & $sCSRF & "%3D%3D&BapiEssr%5Bfinal%5D=&BapiEssr%5Bfinal%5D=&BapiEssr%5Blzvon%5D=" & $sLeist_zeitv & "&BapiEssr%5Blzbis%5D=" & $sLeist_zeitb & "&BapiEssr%5Bdlort%5D=" & $sLeistungsort & "&BapiEssr%5Bsbnaman%5D=" & $sSachbearbeiter & "&BapiEssr%5Btxz01%5D=" & $sBauabschnitt & "&description=" & $sLangtext & "&save+sheets="
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet/create-sheet?c=1&id=" & $sDetailsID, "https://www.evergabe.telekom.de/sheet/create-sheet?c=1&id=" & $sDetailsID, $sPost, $sHeader, True)
;~ _Write_to_Console($aHTML[0])
;~ _Write_to_Console($aHTML[1])
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
;~ _Write_to_Console("LEB angelegt.")
GUICtrlSetData($lbl_status, "LEB angelegt.")
_Write_to_Console("Leb Angelegt! ")
;~ ;MsgBox(64, "LEB angelegt schauen", "")
;~ _DebugArrayDisplay($aHTML)
$aSheetID = StringRegExp($aHTML[2], 'sheetId=(.*)', 3) ;alt
;~ $aSheetID = StringRegExp($aHTML[2], 'id=(.*)', 3);neu
If IsArray($aSheetID) Then
;~ _DebugArrayDisplay($aSheetID)
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe
Global $iSheetID = $aSheetID[0]
For $i = 0 To UBound($aListeImport) - 1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "") ;evtl nicht direkt eingabe
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$sPositionNr = $aListeImport[$i][1]
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5Bnumber%5D=" & $sPositionNr & "&insertPosition=0"
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
If IsArray($aHTML) Then
If StringInStr($aHTML[1], "Nullen können weggelassen") Then
_Write_to_Console($aListeImport[$i][1] & "|" & $aListeImport[$i][8] & " keine gültige Positionen")
;~ ClipPut($aListeImport[$i][1])
;~ MsgBox(64, "keine gültige Pos", $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
Else
$aLocationlink = StringRegExp($aHTML[2], 'telekom.de(.*)', 3)
If IsArray($aLocationlink) Then
$aPosID = StringRegExp($aLocationlink[0], 'positionId=([^&]+)', 3)
If IsArray($aPosID) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], $aLocationlink[0], "") ;notwendig für neues Token
$sCSRF = _EV_GET_CSRF($sHTML)
If $sCSRF = "False" Then
GUICtrlSetData($lbl_status, "CSRF Fehler Sitzung abgelaufen!")
;~ _Write_to_Console("CSRF Fehler Sitzung abgelaufen!")
Else
$iSheetID = $aSheetID[0]
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/create?insertPosition=0&positionId=" & $aPosID[0] & "&c=1&sheetId=" & $iSheetID, "")
If $bDebug = "True" Then
FileDelete(@ScriptDir & "\test_temp_body.txt")
FileWrite(@ScriptDir & "\test_temp_body.txt", $sHTML)
MsgBox(64, "show Body", "")
EndIf
;~ $sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=MFG+A536&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=2&ServicePosition%5B0%5D%5BformulaValueLength%5D=2&ServicePosition%5B0%5D%5BlongText%5D=Rohre+auslegen&ServicePosition%5B0%5D%5Bid%5D=" & $aPosID[0] & "&clientId=1&sheetId=" & $aSheetID[0] & "&insertPosition=0&save="
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/index?c=1&sheetId=" & $aSheetID[0], "https://www.evergabe.telekom.de/sheet-position/index?c=1&sheetId=" & $aSheetID[0], $sPost, "", True)
;~ FileWrite(@ScriptDir&"\test_temp_head.txt",$aHTML[0])
If StringInStr($sHTML, "Pflichtbe") And $aListeImport[$i][9] = "" Then
;~ FileWrite(@ScriptDir&"\begründung_notwendig.txt",$sHTML)
;~ _Write_to_Console($aListeImport[$i][1] & " | " & $aListeImport[$i][8] & "| Begründung notwendig")
FileWrite(@ScriptDir & "\begründung_notwendig_neu.txt", $aListeImport[$i][1] & "|" & $aListeImport[$i][8] & @CRLF)
;~ MsgBox(64, $aListeImport[$i][1], $aListeImport[$i][8] & "| Begründung notwendig")
EndIf
If StringInStr($sHTML, "Pflichtbe") Then
FileWrite(@ScriptDir & "\begründung_notwendig.txt", $aListeImport[$i][1] & "|" & $aListeImport[$i][8] & @CRLF)
;~ MsgBox(64,$aListeImport[$i][1],$aListeImport[$i][8]&"| Begründung notwendig")
EndIf
;~ MsgBox(64,"","schau an")
;~ _ArrayDisplay($aHTML)
Select
Case $aListeImport[$i][7] = "ST"
;bei Stück
_EV_ADD_ST_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
;~ _EV_ADD_ST_insert($aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF)
;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!")
Case $aListeImport[$i][7] = "M"
; bei Meter
_EV_ADD_M_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][2], $aListeImport[$i][3], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!")
Case $aListeImport[$i][7] = "M2"
; bei m2
_EV_ADD_M2_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][2], $aListeImport[$i][3], $aListeImport[$i][4], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!")
Case $aListeImport[$i][7] = "M3"
;m3
_EV_ADD_M3_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][2], $aListeImport[$i][3], $aListeImport[$i][4], $aListeImport[$i][5], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!")
Case $aListeImport[$i][7] = "STD"
; STD
_EV_ADD_STD_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!")
Case $aListeImport[$i][7] = "LE"
; LE
_EV_ADD_LE_insert($i, $aListeImport[$i][0], $aListeImport[$i][9], $aListeImport[$i][10], $aPosID[0], $iSheetID, $sCSRF, $aListeImport[$i][1] & "|" & $aListeImport[$i][8])
;~ GUICtrlSetData($lbl_status,"Position: "&$aListeImport[$i][1] & " "& $aListeImport[$i][0] " hinzugefügt!")
EndSelect
;~ GUICtrlSetData($lbl_status, $aListeImport[$i][1] & "|" & $aListeImport[$i][8] & "... Eintrag hinzugefügt!")
;~ _Write_to_Console($aListeImport[$i][1] & "|" & $aListeImport[$i][8] & "... Eintrag hinzugefügt!")
EndIf
EndIf
Else
MsgBox(64, "kein Location link vorhanden", "kein Location link vorhanden")
EndIf
EndIf
EndIf
;~ MsgBox(64, "Pos insert check", "")
EndIf
Next
_EV_GET_DetailsID_Info($sDetailsID)
Else
MsgBox(64, "keine SheetID", "keine SheetID vorhanden.")
EndIf
Else
EndIf
EndIf
Else
EndIf
Else
MsgBox(64, "Keine Liste", "Keine Lesbare Liste vorhanden!")
EndIf
EndFunc ;==>_EV_Insert_Pos
Func _EV_ADD_LE_insert($iZeile, $sAbschnitt, $sLangtext, $iLE, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
If StringLen($sAbschnitt) >= 25 Then
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
EndIf
$sAbschnitt = _URIEncode($sAbschnitt)
$sLongText = _URIEncode($sLangtext) ; max 40
$iLE = StringReplace($iLE, ",", "%2C")
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iLE & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
;~ &ServicePosition%5B0%5D%5BsectionText%5D=VAO &ServicePosition%5B0%5D%5Bquantity%5D=100 &ServicePosition%5B0%5D%5BlongText%5D=VAO &ServicePosition%5B0%5D%5Bid%5D=43945349 &clientId=1&sheetId=0006425482&insertPosition=0&save=
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de//sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
EndIf
If $bDebug = "True" Then
FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
ClipPut($aHTML[1])
MsgBox(64, "Check LE", "txtfiles")
EndIf
EndFunc ;==>_EV_ADD_LE_insert
Func _EV_ADD_STD_insert($iZeile, $sAbschnitt, $sLangtext, $iStueck, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
If StringLen($sAbschnitt) >= 25 Then
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
EndIf
$sAbschnitt = _URIEncode($sAbschnitt)
$sLongText = _URIEncode($sLangtext) ; max 40
$iStueck = StringReplace($iStueck, ",", "%2C")
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iStueck & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
EndIf
If $bDebug = "True" Then
FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
MsgBox(64, "Check std", "txtfiles")
EndIf
EndFunc ;==>_EV_ADD_STD_insert
Func _EV_ADD_M3_insert($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $iLang, $iBreit, $iTief, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
If StringLen($sAbschnitt) >= 25 Then
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
EndIf
$sAbschnitt = _URIEncode($sAbschnitt)
$sFaktor = StringReplace($sFaktor, ",", "%2C")
$sLongText = _URIEncode($sLangtext) ; max 40
$iLang = StringReplace($iLang, ",", "%2C")
$iBreit = StringReplace($iBreit, ",", "%2C")
$iTief = StringReplace($iTief, ",", "%2C")
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=MV&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $iLang & "&ServicePosition%5B0%5D%5BformulaValueWidth%5D=" & $iBreit & "&ServicePosition%5B0%5D%5BformulaValueDepth%5D=" & $iTief & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
EndIf
If $bDebug = "True" Then
FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
MsgBox(64, "Check m3", "txtfiles")
EndIf
EndFunc ;==>_EV_ADD_M3_insert
Func _EV_ADD_M2_insert($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $iLang, $iBreit, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
If StringLen($sAbschnitt) >= 25 Then
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
EndIf
$sAbschnitt = _URIEncode($sAbschnitt)
;~ $sFaktor = StringReplace($sFaktor, ",", ".")
;~ If $sFaktor = "1.0" Then
;~ $sFaktor = "1"
;~ EndIf
;~ If $sFaktor = "1,0" Then
;~ $sFaktor = "1"
;~ EndIf
$sFaktor = StringReplace($sFaktor, ",", "%2C")
$sLongText = _URIEncode($sLangtext) ; max 40
$iLang = StringReplace($iLang, ",", "%2C")
$iBreit = StringReplace($iBreit, ",", "%2C")
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=MF&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $iLang & "&ServicePosition%5B0%5D%5BformulaValueWidth%5D=" & $iBreit & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
EndIf
If $bDebug = "True" Then
FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
MsgBox(64, "Check m2", "txtfiles")
EndIf
EndFunc ;==>_EV_ADD_M2_insert
Func _EV_ADD_ST_insert($iZeile, $sAbschnitt, $sLangtext, $iStueck, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
If StringLen($sAbschnitt) >= 25 Then
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
EndIf
$sAbschnitt = _URIEncode($sAbschnitt)
$sLongText = _URIEncode($sLangtext) ; max 40
$iStueck = StringReplace($iStueck, ",", "%2C")
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5Bquantity%5D=" & $iStueck & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
EndIf
If $bDebug = "True" Then
FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
MsgBox(64, "Check st", "txtfiles")
EndIf
EndFunc ;==>_EV_ADD_ST_insert
Func _EV_ADD_M_insert($iZeile, $sAbschnitt, $sLangtext, $sFaktor, $sMeter, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
If StringLen($sAbschnitt) >= 25 Then
$sAbschnitt = StringMid($sAbschnitt, 1, 25)
EndIf
$sAbschnitt = _URIEncode($sAbschnitt)
$sFaktor = StringReplace($sFaktor, ",", "%2C")
$sMeter = StringReplace($sMeter, ",", "%2C")
$sLongText = _URIEncode($sLangtext) ; max 40
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de" & @CRLF
$sPost = "_csrf=" & $sCSRF & "%3D%3D&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $sMeter & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=" & $iZeile & "&save="
;~ ;&ServicePosition[0][sectionText]=Abschnitt&ServicePosition[0][formulaSymbol]=ME&ServicePosition[0][formulaValueMultiplier]=1&ServicePosition[0][formulaValueLength]=95&ServicePosition[0][longText]=Langtext&ServicePosition[0][id]=82627311&clientId=1&sheetId=0008943838&insertPosition=&save=
;~ ConsoleWrite($sPost & @crlf)
;~ MsgBox(64, "", "")
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=" & $iZeile & "&positionId=" & $iPosNrID & "&c=1&per-page=20&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;~ _DebugArrayDisplay($aHTML)
If IsArray($aHTML) Then
_Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
EndIf
If $bDebug = "True" Then
ConsoleWrite("Post=##########" & @CRLF)
ConsoleWrite($sPost & @CRLF)
ConsoleWrite("Post=##########" & @CRLF)
FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
MsgBox(64, "Check m", "txtfiles")
EndIf
EndFunc ;==>_EV_ADD_M_insert
;~ Func _EV_ADD_M_insert($sAbschnitt, $sLangtext, $sFaktor, $sMeter, $iPosNrID, $iSheetID, $sCSRF, $sPosNrKurztext)
;~ If StringLen($sAbschnitt) >= 25 Then
;~ $sAbschnitt = StringMid($sAbschnitt, 1, 25)
;~ EndIf
;~ $sAbschnitt = _URIEncode($sAbschnitt)
;~ $sFaktor = StringReplace($sFaktor, ",", ".")
;~ $sMeter = StringReplace($sMeter, ",", "%2C")
;~ $sLongText = _URIEncode($sLangtext) ; max 40
;~ $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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF & "Origin: https://www.evergabe.telekom.de"& @CRLF
;~ $sPost = "_csrf=" & $sCSRF & "&ServicePosition%5B0%5D%5BsectionText%5D=" & $sAbschnitt & "&ServicePosition%5B0%5D%5BformulaSymbol%5D=ME&ServicePosition%5B0%5D%5BformulaValueMultiplier%5D=" & $sFaktor & "&ServicePosition%5B0%5D%5BformulaValueLength%5D=" & $sMeter & "&ServicePosition%5B0%5D%5BlongText%5D=" & $sLongText & "&ServicePosition%5B0%5D%5Bid%5D=" & $iPosNrID & "&clientId=1&sheetId=" & $iSheetID & "&insertPosition=0&save="
;~ $aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&per-page=20&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet-position/create?insertPosition=0&positionId=" & $iPosNrID & "&c=1&sheetId=" & $iSheetID, $sPost, $sHeader, True)
;_DebugArrayDisplay($aHTML)
;~ If IsArray($aHTML) Then
;~ _Write_to_Console($sPosNrKurztext & "|" & "... eingetragen!")
;~ EndIf
;~ If $bDebug = "True" Then
;~ ConsoleWrite("Post=##########" & @CRLF)
;~ ConsoleWrite($sPost & @CRLF)
;~ ConsoleWrite("Post=##########" & @CRLF)
;~ FileWrite(@ScriptDir & "\test_temp_head.txt", $aHTML[0])
;~ FileWrite(@ScriptDir & "\test_temp_body.txt", $aHTML[1])
;~ MsgBox(64, "Check m", "txtfiles")
;~ EndIf
;~ EndFunc ;==>_EV_ADD_M_insert
Func _EV_GET_CSRF($sHTML)
$aCSRF = StringRegExp($sHTML, 'token" content="([^=]+)', 3)
If IsArray($aCSRF) Then
Return $aCSRF[0]
Else
MsgBox(64, "Kein CSRF Token gefunden!", "Kein CSRF Token gefunden!")
Return "False"
EndIf
EndFunc ;==>_EV_GET_CSRF
Func _EV_KopfDaten2Array($iLV_ID, $sSMnr)
Dim $aArray[9]
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $iLV_ID & "&c=1", "https://www.evergabe.telekom.de/")
;ClipPut($sHTML)
;MsgBox(64,"12345","")
$aBVT_Name = StringRegExp($sHTML, 'Name | ([^<]+)', 3)
$aBVT_Email = StringRegExp($sHTML, 'E-mail | | ([^<]+)', 3)
$aStatus = StringRegExp($sHTML, 'Status: ([^<]+)', 3)
$aBelegnr = StringRegExp($sHTML, 'Belegnummer | (\d+)', 3)
$aAuftragdatum = StringRegExp($sHTML, 'Auftragsdatum | ([^<]+)', 3)
$aFertigstellDatum = StringRegExp($sHTML, 'Fertigstellungstermin | ([^<]+)', 3)
If IsArray($aBVT_Name) Then
$sBTV_Name = $aBVT_Name[0]
Else
$sBTV_Name = "NA"
EndIf
If IsArray($aBVT_Email) Then
$sBVT_Email = $aBVT_Email[0]
Else
$sBVT_Email = "NA"
EndIf
If IsArray($aStatus) Then
$sStatus = $aStatus[0]
Else
$sStatus = "NA"
EndIf
If IsArray($aBTV_Tel) Then
$sBTV_Tel = $aBTV_Tel[0]
Else
$sBTV_Tel = "NA"
EndIf
If IsArray($aBelegnr) Then
$sBelegnr = $aBelegnr[0]
Else
$sBelegnr = "NA"
EndIf
If IsArray($aAuftragdatum) Then
$sAuftragdatum = $aAuftragdatum[0]
Else
$sAuftragdatum = "NA"
EndIf
If IsArray($aFertigstellDatum) Then
$sFertigstellDatum = $aFertigstellDatum[0]
Else
$aFertigstellDatum = StringRegExp($sHTML, 'Fertigstellungstermin | <[^>]+>([^<]+)', 3)
If IsArray($aFertigstellDatum) Then
$sFertigstellDatum = $aFertigstellDatum[0]
Else
$sFertigstellDatum = "NA"
EndIf
EndIf
$aArray[0] = StringReplace($iLV_ID, "&c=1", "")
$aArray[1] = GUICtrlRead($kopf_TAB_txt_smnr)
$aArray[2] = $sBelegnr
$aArray[3] = $sStatus
$aArray[4] = $sAuftragdatum
$aArray[5] = $sBTV_Name
$aArray[6] = $sBVT_Email
$aArray[7] = $sBTV_Tel
$aArray[8] = $sFertigstellDatum
;~ _ArrayDisplay($aArray,"in Funktion")
;~ ConsoleWrite(StringReplace($aAllIDs[$i], "&c=1", "") & "|" & $sSMnr & "|" & $sBelegnr & "|" & $sStatus & "|" & $sAuftragdatum & "|" & $sBTV_Name & "|" & $sBVT_Email & "|" & $sBTV_Tel & "|" & $sAuftragdatum & @crlf)
Return $aArray
EndFunc ;==>_EV_KopfDaten2Array
Func _EV_Search_SM($sSMnr)
;suche Aufmaß nach SMnr:
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call?OrderRecallSearch%5Bhead_line%5D=" & $sSMnr & "&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")
_Write_to_Console("Suche SM-Nr: | " & $sSMnr)
;~
;~ ClipPut($sHTML)
;~ _Write_to_Console($sHTML)
;~ MsgBox(64,"","")
$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)][9]
;~ _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] = _EV_DDL_P83_GET_Bez($aDetailID[$i]) ; Bezeichnung auslesen
;~ $aReturn[$i][4] = $aRV[$i]
If IsArray($aRV) Then
$aReturn[$i][5] = $aRV[$i]
Else
$aReturn[$i][5] = ""
EndIf
$aReturn[$i][6] = $aBelegEinDatum[$i]
If IsArray($aAusfuehrungsfrist) Then
$aReturn[$i][7] = $aAusfuehrungsfrist[$i]
Else
$aReturn[$i][7] = ""
EndIf
If IsArray($aStatus) Then
$aReturn[$i][8] = $aStatus[$i]
Else
$aReturn[$i][8] = ""
EndIf
Next
;~ _DebugArrayDisplay($aReturn)
Return $aReturn
EndFunc ;==>_EV_Search_SM
Func _EV_DDL_P83_GET_Bez($sDetailID)
;https://www.evergabe.telekom.de/framework-agreement-call/details?id=17005356&c=1
;https://www.evergabe.telekom.de/file/gaeb-83?c=1&iid=17005356&f=p2000 ;P83 download link
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailID & "&c=1", "https://www.evergabe.telekom.de/framework-agreement-call")
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "GET", "/file/gaeb-83?c=1&iid=" & $sDetailID & "&f=p2000", "https://www.evergabe.telekom.de/framework-agreement-call", Default, $sHeader, False, 2)
_Write_to_Console("File Download: | " & $sDetailID & ".p83")
$hBild = FileOpen(@ScriptDir & "\test_" & $sDetailID & ".p83", 18)
FileWrite($hBild, $aHTML)
FileClose($hBild)
;~ $aHTML = FileRead(@ScriptDir & "\test_" & $sDetailID & ".p83")
$sFilePath = @ScriptDir & "\test_" & $sDetailID & ".p83"
Local $hFileOpen = FileOpen($sFilePath, $FO_READ)
If $hFileOpen = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "An error occurred when reading the file.")
Return False
EndIf
; Read the contents of the file using the handle returned by FileOpen.
Local $sFileRead = FileRead($hFileOpen)
; Close the handle returned by FileOpen.
FileClose($hFileOpen)
$aBez = StringRegExp($sFileRead, '\[Bez]([^\[]+)', 3)
If IsArray($aBez) Then
FileDelete($sFilePath)
Return $aBez[0]
Else
Return "NA"
EndIf
;~ ClipPut($sFileRead)
;~ _Write_to_Console($sFileRead)
;~ MsgBox(64,"","")
EndFunc ;==>_EV_DDL_P83_GET_Bez
Func _EV_LV_anzeigen2Array($iSheetID, $iImportId)
$iSheetID = StringReplace($iSheetID, '&c=1', "")
;vorhande LV-Anzeige in Array schreiben. Die selbst angelegt wurde!
;~ https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=0005770735&c=1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?class=list-item&sheetId=" & $iSheetID & "&c=1", "https://www.evergabe.telekom.de/sheet/index?c=1&importId=" & $iImportId)
;~ ClipPut($sHTML)
;~ MsgBox(64,"LV-Kopfanzeigen","")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $iSheetID, "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $iSheetID & "&c=1")
;~ ClipPut($sHTML)
;~ MsgBox(64,"qu Anzahl Pos ausgeben!","")
$aAnzPos = StringRegExp($sHTML, 'tabindex="-1">(\d+)', 3) ; nur wenn es größere aufmaß ist 10 und mehr Pos.
If IsArray($aAnzPos) Then
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $iSheetID & "&per-page=" & $aAnzPos[0], "https://www.evergabe.telekom.de" & "/sheet-position/index?c=1&sheetId=" & $iSheetID)
;~ ClipPut($sHTML)
;~ MsgBox(64,"quasdfasd Anzahl Pos ausgeben!","")
;~ _EV_GET_Posi_with_langtext($sHTML,$iSheetID)
$aReturn = _EV_Get_Positionen($sHTML)
;~ _ArrayDisplay($aReturn, "großeListe")
Return $aReturn
Else
;~ _EV_GET_Posi_with_langtext($sHTML,$iSheetID)
$aReturn = _EV_Get_Positionen($sHTML)
;~ _ArrayDisplay($aReturn, "kleine Liste")
Return $aReturn
EndIf
EndFunc ;==>_EV_LV_anzeigen2Array
Func _EV_Get_Positionen($sHTML)
$aLV_PosNr = StringRegExp($sHTML, ' | ([^<]+)', 3)
$aLV_Kurztext = StringRegExp($sHTML, 'weight: bold">([^<]+)', 3)
$aLV_Abschnitt = StringRegExp($sHTML, ' | ([^<]+)', 3)
$aLV_MengeRT = StringRegExp($sHTML, '"highlight">([^<]+)', 3)
$aLV_MengeGR = StringRegExp($sHTML, '3px 8px;">([^<]+)', 3)
Dim $aArray[UBound($aLV_PosNr)][5]
_ArrayDisplay($aArray)
For $i = 0 To UBound($aLV_PosNr) - 1
If IsArray($aLV_PosNr) Then
$sLV_PosNr = $aLV_PosNr[$i]
Else
$sLV_PosNr = "NA"
EndIf
If IsArray($aLV_Kurztext) Then
$sLV_Kurztext = $aLV_Kurztext[$i]
Else
$sLV_Kurztext = "NA"
EndIf
If IsArray($aLV_Abschnitt) Then
$sLV_Abschnitt = $aLV_Abschnitt[$i]
Else
$sLV_Abschnitt = "NA"
EndIf
If IsArray($aLV_MengeRT) Then
$sLV_MengeRT = $aLV_MengeRT[$i]
Else
$sLV_MengeRT = "NA"
EndIf
If IsArray($aLV_MengeGR) Then
$sLV_MengeGR = $aLV_MengeGR[$i]
Else
$sLV_MengeGR = "NA"
EndIf
$aArray[$i][0] = $sLV_PosNr
$aArray[$i][1] = $sLV_Kurztext
$aArray[$i][2] = $sLV_Abschnitt
$aArray[$i][3] = $sLV_MengeRT
$aArray[$i][4] = $sLV_MengeGR
;~ ConsoleWrite($sLV_PosNr & "|" & $sLV_Kurztext & "|" & $sLV_Abschnitt & "|" & $sLV_MengeRT & "|" & $sLV_MengeGR & @CRLF)
;~ _ArrayDisplay($aArray)
Next
Return $aArray
EndFunc ;==>_EV_Get_Positionen
Func _EV_PDF_Kopdaten_2Array($sDetailsID)
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/")
;~
;~ ClipPut($sHTML)
;~ MsgBox(64,"qu Anzahl Pos ausgeben!","")
$aAspaName = StringRegExp($sHTML, "Name | ([^<]+) | ", 3)
$aAspaMail = StringRegExp($sHTML, 'mailto:([^"]+)', 3)
$aAspaTel = StringRegExp($sHTML, 'Telefon([^<]+)', 3)
If IsArray($aAspaTel) Then
$sApaTel = $aAspaTel[0]
Else
$sApaTel = ""
EndIf
If IsArray($aAspaName) Then
$sApaName = $aAspaName[0]
Else
$sApaName = ""
EndIf
If IsArray($aAspaMail) Then
$sApaMail = $aAspaMail[1]
Else
$sApaMail = ""
EndIf
If Not StringInStr($sHTML, 'LERF nicht möglich') Then
$aFileDL = StringRegExp($sHTML, 'href="(/file[^"]+)" title="D', 3)
If IsArray($aFileDL) Then
;~ _DebugArrayDisplay($aFileDL)
;~ $hRequest = _WinHttpSimpleSendRequest($hConnect, Default, "aida64extreme520.exe")
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")
$sFilePath = @ScriptDir & "\Kopfdaten.txt"
Local $hFileOpen = FileOpen($sFilePath, 1)
If $hFileOpen = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")
Return False
EndIf
FileWrite($hFileOpen, $sFileRead & @CRLF)
; Close the handle returned by FileOpen.
FileClose($hFileOpen)
;~ ClipPut($sFileRead)
;~ ConsoleWrite($sFileRead & @CRLF)
;~ MsgBox(64, "asdfasdf", "")
If StringInStr($sFileRead, "ext geändert") Then
ExitLoop
EndIf
;~ MsgBox(64, "", "")
Next
$sFileRead = FileRead(@ScriptDir & "\Kopfdaten.txt")
FileDelete(@ScriptDir & "\Kopfdaten.txt")
Dim $aArray[9]
$aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead)
$aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead)
$aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead)
$aArray[3] = _EV_Kopfdaten_GET_SDatum($sFileRead)
$aArray[4] = _EV_Kopfdaten_GET_EDatum($sFileRead)
$aArray[5] = StringReplace(_EV_Kopfdaten_GET_GesamtS($sFileRead), ".", "")
$aArray[6] = $sApaName
$aArray[7] = $sApaTel
$aArray[8] = $sApaMail
Return $aArray
Else
_Write_to_Console("Pattern Filedownload prüfen=> | " & 'href="(/file[^"]+)" title="F')
EndIf
EndIf
EndFunc ;==>_EV_PDF_Kopdaten_2Array
Func _EV_PDF_Kopdaten_ddl($sDetailsID)
GUICtrlSetData($kopf_TAB_txt_detailsID, $sDetailsID)
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $sDetailsID & "&c=1", "https://www.evergabe.telekom.de/")
;~ ClipPut($sHTML)
;~ MsgBox(64, "1", "")
If Not StringInStr($sHTML, 'LERF nicht möglich') Then
$aFileDL = StringRegExp($sHTML, 'href="(/file[^"]+)" title="D', 3)
If IsArray($aFileDL) Then
;~ _DebugArrayDisplay($aFileDL)
;~ $hRequest = _WinHttpSimpleSendRequest($hConnect, Default, "aida64extreme520.exe")
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")
$sFilePath = @ScriptDir & "\Kopfdaten.txt"
Local $hFileOpen = FileOpen($sFilePath, 1)
If $hFileOpen = -1 Then
MsgBox($MB_SYSTEMMODAL, "", "An error occurred whilst writing the temporary file.")
Return False
EndIf
FileWrite($hFileOpen, $sFileRead & @CRLF)
; Close the handle returned by FileOpen.
FileClose($hFileOpen)
;~ ClipPut($sFileRead)
;~ ConsoleWrite($sFileRead & @CRLF)
;~ MsgBox(64, "asdfasdf", "")
If StringInStr($sFileRead, "ext geändert") Then
ExitLoop
EndIf
;~ MsgBox(64, "", "")
Next
$sFileRead = FileRead(@ScriptDir & "\Kopfdaten.txt")
;~ ShellExecute(@ScriptDir & "\Kopfdaten.txt")
;~ ClipPut($sFileRead)
;~ MsgBox(64, "", "")
FileDelete(@ScriptDir & "\Kopfdaten.txt")
Dim $aArray[9]
$aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead)
$aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead)
$aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead)
$aArray[3] = _EV_Kopfdaten_GET_SDatum($sFileRead)
$aArray[4] = _EV_Kopfdaten_GET_EDatum($sFileRead)
$aArray[5] = _EV_Kopfdaten_GET_GesamtS($sFileRead)
$aArray[6] = _EV_Kopfdaten_GET_Bvt($sFileRead)
$aArray[7] = _EV_Kopfdaten_GET_Bvt_tel($sFileRead)
$aArray[8] = _EV_Kopfdaten_GET_Email($sFileRead)
;~ 4650009407
;~ NA
;~ 4650009407
;~ 14.03.2023
;~ 0
;~ 79798 Jestetten
;~ info@telekom.de | Internet: www.telekom.de
;~ _DebugArrayDisplay($aArray)
;NEu Kopfdaten in Ini schreiben
;~ _DebugArrayDisplay($aArray)
Local $aKV = IniReadSection($sPfadIni, "LV")
_ArraySort($aKV)
;~ _DebugArrayDisplay($aKV)
For $iii = 1 To UBound($aKV) - 1
If $aKV[$iii][1] = $aArray[2] Then
$sIndexChbVertrag = _GUICtrlComboBox_FindString($LVE_TAB_chb_Vertrag, $aKV[$iii][0])
_GUICtrlComboBox_SetCurSel($LVE_TAB_chb_Vertrag, $sIndexChbVertrag)
_GUICtrlComboBox_SetCurSel($kopf_TAB_chb_vertrag, $sIndexChbVertrag)
EndIf
Next
_Load_LV_From_Chb()
;~ ;Vertrag von Kopdaten in Aufmaßhile
;~ Local $aChb_rv = StringRegExp(GUICtrlRead($kopf_TAB_chb_vertrag), "([^_]+)", 3)
;~ If IsArray($aChb_rv) Then
;~ Local $sChb_rv = $aChb_rv[0]
;~ ;Vertrag von Kopdaten in Aufmaßhile
;~ $sIndexChbVertrag = _GUICtrlComboBox_FindString($chb_vertrag, "data_" & $sChb_rv & ".ini")
;~ _GUICtrlComboBox_SetCurSel($chb_vertrag, $sIndexChbVertrag)
;~ EndIf
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "AbrufNr", $aArray[0])
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "SMNr", $aArray[1])
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "Vertrag", $aArray[2])
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "StartZ", $aArray[3])
IniWrite(@ScriptDir & "\daten\conf.ini", "Kopfdaten", "EndZ", $aArray[4])
;~ $aKopfdaten = _EV_PDF_Kopdaten_2Array($sDetailsID)
; old but Gold
$aKopfdaten = _EV_KopfDaten2Array($sDetailsID, $aArray[1])
;~ _DebugArrayDisplay($aKopfdaten, "aKopfdaten")
GUICtrlSetData($kopf_TAB_txt_aspa, $aKopfdaten[5])
GUICtrlSetData($kopf_TAB_txt_abrufnr, $aKopfdaten[2])
$aStartDatum = StringSplit($aKopfdaten[4], ".")
If IsArray($aStartDatum) Then
;~ _DebugArrayDisplay($aStartDatum)
$iYear = $aStartDatum[3]
$iMonth = $aStartDatum[2]
$iDay = $aStartDatum[1]
_GUICtrlMonthCal_SetCurSel($kopf_TAB_datumfeld_start, $iYear, $iMonth, $iDay)
EndIf
GUICtrlSetData($kopf_TAB_datum_start, $aKopfdaten[4])
$aStartDatum = StringSplit($aKopfdaten[8], ".")
If IsArray($aStartDatum) Then
$iYear = $aStartDatum[3]
$iMonth = $aStartDatum[2]
$iDay = $aStartDatum[1]
_GUICtrlMonthCal_SetCurSel($kopf_TAB_datumfeld_ende, $iYear, $iMonth, $iDay)
EndIf
GUICtrlSetData($kopf_TAB_txt_datum_ende, $aKopfdaten[8])
;~ GUICtrlSetData($kopf_TAB_txt_aspa, $aArray[5])
GUICtrlSetData($kopf_TAB_txt_telnr, $aKopfdaten[7])
GUICtrlSetData($txt_abruf_details_ev_EVH, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
GUICtrlSetData($txt_Leistungserfassung_EVH, "https://www.evergabe.telekom.de/sheet/index?c=1&importId=" & $sDetailsID)
GUICtrlSetData($txt_lv_geab_EVH, "https://www.evergabe.telekom.de/gaeb-viewer/index?c=1&id=" & $sDetailsID)
GUICtrlSetData($txt_beleg_eingang_EVH, $aArray[4])
GUICtrlSetData($txt_ausfuehrungsfrist_EVH, $aArray[5])
GUICtrlSetData($txt_rv_EVH, $aArray[2])
$aArray[0] = _EV_Kopfdaten_GET_AbrufNr($sFileRead)
$aArray[1] = _EV_Kopfdaten_GET_SMnr($sFileRead)
$aArray[2] = _EV_Kopfdaten_GET_RV($sFileRead)
$aArray[3] = _EV_Kopfdaten_GET_SDatum($sFileRead)
$aArray[4] = _EV_Kopfdaten_GET_EDatum($sFileRead)
$aArray[5] = _EV_Kopfdaten_GET_GesamtS($sFileRead)
$aArray[6] = _EV_Kopfdaten_GET_Bvt($sFileRead)
$aArray[7] = _EV_Kopfdaten_GET_Bvt_tel($sFileRead)
$aArray[8] = _EV_Kopfdaten_GET_Email($sFileRead)
GUICtrlSetData($txt_beleg_eingang_EVH, $aArray[3])
GUICtrlSetData($txt_ausfuehrungsfrist_EVH, $aArray[4])
GUICtrlSetData($txt_rv_EVH, $aArray[2])
GUICtrlSetData($txt_beleg_EVH, $aArray[0])
Else
_Write_to_Console("Pattern Filedownload prüfen=> | " & 'href="(/file[^"]+)" title="F')
EndIf
EndIf
;~ GUICtrlSetData($kopf_TAB_txt_abrufnr, "kein Abruf vorhanden")
EndFunc ;==>_EV_PDF_Kopdaten_ddl
Func _EV_Kopfdaten_GET_AbrufNr($sQuellcode)
$aAbrufNr = StringRegExp($sQuellcode, 'Betrifft Abruf [^/]+/(.*)', 3)
If IsArray($aAbrufNr) Then
Return $aAbrufNr[0]
Else
$aAbrufNr = StringRegExp($sQuellcode, 'Betrifft Bestellnummer [^/]+/.(\d*)', 3)
If IsArray($aAbrufNr) Then
Return $aAbrufNr[0]
Else
$aVertrag = StringRegExp($sQuellcode, 'Kontrakt Nr\s+(\d+)', 3)
If IsArray($aVertrag) Then
Return $aVertrag[0]
Else
Return "kein Abruf vorhanden"
EndIf
EndIf
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_AbrufNr
Func _EV_Kopfdaten_GET_RV($sQuellcode)
$aVertrag = StringRegExp($sQuellcode, 'Kontrakt: ([^/]+)', 3)
If IsArray($aVertrag) Then
Return $aVertrag[0]
Else
$aVertrag = StringRegExp($sQuellcode, 'Rahmenvertrag: (\d+)', 3)
If IsArray($aVertrag) Then
Return $aVertrag[0]
Else
$aVertrag = StringRegExp($sQuellcode, 'Kontrakt Nr\s+(\d+)', 3)
If IsArray($aVertrag) Then
Return $aVertrag[0]
Else
Return "NA"
EndIf
EndIf
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_RV
Func _EV_Kopfdaten_GET_Email($sQuellcode)
$aEmail = StringRegExp($sQuellcode, 'E-Mail: (.*)', 3)
If IsArray($aEmail) Then
Return $aEmail[0]
Else
Return "NA"
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_Email
Func _EV_Kopfdaten_GET_SMnr($sQuellcode)
$aSMnr = StringRegExp($sQuellcode, 'Bedarfs Nr.: (.*)', 3)
;~ ConsoleWrite($sQuellcode & @CRLF)
;~ ClipPut($sQuellcode)
;~ MsgBox(64, "Qeullcode GEt SMnr", "")
If IsArray($aSMnr) Then
$aStringA = StringRegExp($aSMnr[0], '0(\d{9})', 3) ; entferne die erste Null + 9 Zahlen extrahieren
If IsArray($aStringA) Then
Return $aStringA[0]
EndIf
Else
Return "NA"
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_SMnr
Func _EV_Kopfdaten_GET_Bvt($sQuellcode)
$aBvt = StringRegExp($sQuellcode, 'Bauaufsicht: (.*)', 3)
If IsArray($aBvt) Then
Return $aBvt[0]
Else
$aBvt = StringRegExp($sQuellcode, 'Bestellnummer .*\d+.\s*(.*)', 3)
If IsArray($aBvt) Then
If StringInStr($aBvt[0], "Fachliche Rückfragen") Then
Else
Return $aBvt[0]
EndIf
Else
Return "NA"
EndIf
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_Bvt
Func _EV_Kopfdaten_GET_Bvt_tel($sQuellcode)
$aTel = StringRegExp($sQuellcode, 'Tel.: (.*)', 3)
If IsArray($aTel) Then
If UBound($aTel) = 1 Then
Return ""
Else
If StringInStr($aTel[1], "Fax") Then
Return $aTel[0]
Else
Return $aTel[1]
EndIf
EndIf
Else
Return ""
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_Bvt_tel
Func _EV_Kopfdaten_GET_GesamtS($sQuellcode)
$aGesamtS = StringRegExp($sQuellcode, 'Gesamtnettowert ohne USt. EUR (.*)', 3)
If IsArray($aGesamtS) Then
$summe = StringReplace($aGesamtS[0], ".", "")
$summe = StringReplace($aGesamtS[0], " ", "")
;~ Return $summe
Return $summe
;~ _ArrayAdd($aArray, $summe)
Else
Return "0"
;~ _ArrayAdd($aArray, $summe)
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_GesamtS
Func _EV_Kopfdaten_GET_SDatum($sQuellcode)
$aStart = StringRegExp($sQuellcode, 'Ausführungsbeginn:(.*)', 3)
If IsArray($aStart) Then
Return StringReplace($aStart[0], " ", "")
Else
Return ""
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_SDatum
Func _EV_Kopfdaten_GET_EDatum($sQuellcode)
$aEnde = StringRegExp($sQuellcode, 'Ausführungsende:(.*)', 3)
If IsArray($aEnde) Then
Return StringReplace($aEnde[0], " ", "")
Else
Return ""
;~ $aArray[5] = $sEndeDatum
EndIf
EndFunc ;==>_EV_Kopfdaten_GET_EDatum
Func _EV_Hole_Kopfdaten()
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(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx")
$sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx")
$sRetrunLogin = _EV_Login($sUsername, $sPasswort)
If $sRetrunLogin = "True" Then
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
_Write_to_Console("Login Erfolgreich")
$sSMnr = GUICtrlRead($kopf_tab_txt_smnr)
$aArrayList = _EV_Search_SM($sSMnr)
;~ _DebugArrayDisplay($aArrayList)
If UBound($aArrayList) > 1 Then
;~ ConsoleWrite(UBound($aArrayList) & @CRLF)
$sDetailsID = _create_Gui_Ausw($aArrayList)
;~ MsgBox(64, "", $sDetailsID)
Else
If UBound($aArrayList) = -1 Or UBound($aArrayList, $UBOUND_ROWS) = 0 Then
_Write_to_Console("Kein Abruf gefunden. Bitte in E-Vergabe prüfen")
Else
$sDetailsID = $aArrayList[0][3]
_EV_PDF_Kopdaten_ddl($sDetailsID)
GUICtrlSetData($txt_sm_EVH, $sSMnr)
_Write_to_Console("hole Kopfdaten erledigt.")
EndIf
EndIf
Else
_Write_to_Console("Login Fehler")
EndIf
;~ _EV_Logout()
EndFunc ;==>_EV_Hole_Kopfdaten
Func _EV_Abrufliste_GET_Title($sQuellcode)
;Rückgabe Array sonst $error string
Local $aTitle = StringRegExp($sQuellcode, '(?m)no-wrap" title="([^"]+)', 3)
;~ _DebugArrayDisplay($aTitle)
If IsArray($aTitle) Then
For $i = 0 To UBound($aTitle) - 1
$aTitle[$i] = StringReplace($aTitle[$i], "SM Auftragsnummer: 000", " SM ")
$aTitle[$i] = StringReplace($aTitle[$i], @CR, "") ;CR out
$aTitle[$i] = StringReplace($aTitle[$i], @LF, "") ;LF out
Next
Return $aTitle
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_Title
Func _EV_Abrufliste_GET_Bedarfnr($sQuellcode)
;SMNr
;Rückgabe Array sonst $error string
Local $aBedarfnr = StringRegExp($sQuellcode, 'Bedarfsnr.: ([^<]+) | ', 3)
If IsArray($aBedarfnr) Then
For $i = 0 To UBound($aBedarfnr) - 1
;~ If string
$aStringA = StringRegExp($aBedarfnr[$i], '0(\d{9})', 3) ; entferne die erste Null + 9 Zahlen extrahieren
If IsArray($aStringA) Then
$aBedarfnr[$i] = $aStringA[0]
EndIf
Next
Return $aBedarfnr
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_Bedarfnr
Func _EV_Abrufliste_GET_Belegeingang($sQuellcode)
;42Nr
;Rückgabe Array sonst $error string
Local $aBelegeingang = StringRegExp($sQuellcode, 'Bedarfsnr.: [^<]+[^<]+ | ([^<]+)', 3)
If IsArray($aBelegeingang) Then
Return $aBelegeingang
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_Belegeingang
Func _EV_Abrufliste_GET_Belegnr($sQuellcode)
;42Nr
;Rückgabe Array sonst $error string
Local $aBelegnr = StringRegExp($sQuellcode, 'Bedarfsnr.: [^<]+ | ([^/]+)', 3)
If IsArray($aBelegnr) Then
Return $aBelegnr
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_Belegnr
Func _EV_Abrufliste_GET_Ausfuehrungsfrist($sQuellcode)
;Ausführungsfrist
;Rückgabe Array sonst $error string
Local $aAusfuehrungsfrist = StringRegExp($sQuellcode, '(\d\d\.\d\d\.\d\d\d\d) | _EV_Abrufliste_GET_Ausfuehrungsfrist
Func _EV_Abrufliste_GET_DetailsID($sQuellcode)
;DetailsID intern für E-Vergabe
;Rückgabe Array sonst $error string
Local $aDetailsID = StringRegExp($sQuellcode, 'call/details.id=([^&]+)&c=1', 3)
If IsArray($aDetailsID) Then
Return $aDetailsID
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_DetailsID
Func _EV_Abrufliste_GET_RV($sQuellcode)
;Rahmenvertrag
;Rückgabe Array sonst $error string
Local $aRV = StringRegExp($sQuellcode, '/framework-agreement/details.id=[^"]+">([^/]+)', 3)
If IsArray($aRV) Then
Return $aRV
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_RV
Func _EV_Abrufliste_GET_Status($sQuellcode)
;Stauts
;Rückgabe Array sonst $error string
Local $aStatus = StringRegExp($sQuellcode, '/framework-agreement/details.id=[^"]+">[^"]+"[^>]+>([^<]+)', 3)
If IsArray($aStatus) Then
Return $aStatus
Else
Return "Error"
EndIf
EndFunc ;==>_EV_Abrufliste_GET_Status
Func _EV_Logout()
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/framework-agreement-call")
;~ ClipPut($sHTML)
;~ MsgBox(64, "", "")
$sCRSRF = _EV_GET_CSRF($sHTML)
$sPost = "_csrf=" & $sCRSRF & "%3D%3D"
$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 & "Content-Type: application/x-www-form-urlencoded" & @CRLF
$sPost = "_csrf=" & $sCRSRF & "%3D%3D"
$aHTML = _WinHttpSimpleSSLRequest($aHosts[1][1], "POST", "/public/logout", "https://www.evergabe.telekom.de/framework-agreement-call", $sPost, $sHeader, True)
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/", "")
If StringInStr($sHTML, 'action="/public/login" method="post"') Then
_Write_to_Console("User wurde ausgeloggt!")
GUICtrlSetData($lbl_status, "User wurde ausgeloggt!")
EndIf
EndFunc ;==>_EV_Logout
Func _EV_GET_AufmPositioinen()
Local $aArrayEVAufm
$sLEBNr = GUICtrlRead($frm_evaufm_txt_lebnr)
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(@ScriptDir & "\daten\conf.ini", "EVergabe", "Benutzer", "xxx")
$sPasswort = IniRead(@ScriptDir & "\daten\conf.ini", "EVergabe", "Passwort", "xxx")
$sRetrunLogin = _EV_Login($sUsername, $sPasswort)
If $sRetrunLogin = "True" Then
;~ ConsoleWrite("Login Erfolgreich" & @CRLF)
_Write_to_Console("Login Erfolgreich")
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/")
$aArrayEVAufm = _get_EV_Aufma_positionen($sLEBNr)
;~ _DebugArrayDisplay($aArrayEVAufm)
_GUICtrlListView_AddArray($frm_lv_evaufm, $aArrayEVAufm)
;~ _Listview_AutoWidthHeader($frm_lv_evaufm)
_EV_Logout()
Else
MsgBox(64, "Login Fehler", "Login war nicht erfolgreich")
EndIf
EndFunc ;==>_EV_GET_AufmPositioinen
Func _EV_GET_LEB_Liste($sDetailsID)
;Detailsid,LEB,Title,Status
;15564152|0006004494| 1. TA NVT 2V1011 Tiefbau Mollenberg|AKZEPTIERT
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID & "&BapiEssrSearch%5Blimit%5D=20", "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
;~ ClipPut($sHTML)
;~ MsgBox(0, "/framework-agreement-call/index", "")
$aPages = StringRegExp($sHTML, 'Blimit%5D=\d+&page=(\d+)" data-page="1">\d+', 3)
;_ArrayDisplay($aPages)
If IsArray($aPages) Then
$aBelege = StringRegExp($sHTML, '(\d+) Belegen', 3)
If IsArray($aBelege) Then
Dim $aArray[1]
For $i = 1 To $aPages[0]
_Write_to_Console("Pages=> " & $i & " von " & $aPages[0])
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID & "&page=" & $i, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
;ClipPut($sHTML)
;MsgBox(0, "/framework-agreement-call/index", $aPages[$i])
;MsgBox(64, "", $aPages[$i])
$aSheetID = StringRegExp($sHTML, 'sheetId=([^&]+)&c=1" title="[^"]+', 3)
$aTitle = StringRegExp($sHTML, 'sheetId=[^&]+&c=1" title="([^"]+)', 3)
$aStatus = StringRegExp($sHTML, 'leb-status[^>]+.([^<]+)', 3)
If IsArray($aSheetID) Then
For $iI = 0 To UBound($aSheetID) - 1
_ArrayAdd($aArray, $aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI])
_Write_to_Console($aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI])
Next
EndIf
Next
If StringInStr($sHTML, 'Schlussaufmaß') Then
$aArray[0] = "Schlussaufmaß"
EndIf
;~ _ArrayDelete($aArray, 0)
Dim $aReturn[UBound($aArray)][4]
;_ArrayDisplay($aArray)
For $i = 1 To UBound($aReturn) - 1
$aSplitt = StringSplit($aArray[$i], "#")
;~ $aReturn[$i][0] = $aArray[0]
$aReturn[$i][0] = $sDetailsID
$aReturn[$i][1] = $aSplitt[1]
$aReturn[$i][2] = $aSplitt[2]
$aReturn[$i][3] = $aSplitt[3]
Next
;_ArrayDisplay($aReturn)
Return $aReturn
EndIf
Else
Dim $aArray[1]
;nur eine Seite
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/index?c=1&importId=" & $sDetailsID, "https://www.evergabe.telekom.de/framework-agreement-call/details?id=" & $sDetailsID & "&c=1")
;ClipPut($sHTML)
;MsgBox(0, "/framework-agreement-call/index", $aPages[$i])
;MsgBox(64, "", $aPages[$i])
$aSheetID = StringRegExp($sHTML, 'sheetId=([^&]+)&c=1" title="[^"]+', 3)
$aTitle = StringRegExp($sHTML, 'sheetId=[^&]+&c=1" title="([^"]+)', 3)
$aStatus = StringRegExp($sHTML, 'leb-status[^>]+.([^<]+)', 3)
If IsArray($aSheetID) Then
For $iI = 0 To UBound($aSheetID) - 1
_ArrayAdd($aArray, $aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI])
_Write_to_Console($aSheetID[$iI] & "#" & $aTitle[$iI] & "#" & $aStatus[$iI])
Next
_ArrayDelete($aArray, 0)
Dim $aReturn[UBound($aArray)][4]
;_ArrayDisplay($aArray)
For $i = 0 To UBound($aReturn) - 1
$aSplitt = StringSplit($aArray[$i], "#")
$aReturn[$i][0] = $sDetailsID
$aReturn[$i][1] = $aSplitt[1]
$aReturn[$i][2] = $aSplitt[2]
$aReturn[$i][3] = $aSplitt[3]
Next
Return $aReturn
EndIf
EndIf
;'sheetId=([^&]+)&c=1" title="([^"]+)' SheetID und Titel
;'leb-status[^>]+.([^<]+)' Status
;https://www.evergabe.telekom.de/sheet/index?c=1&importId=15564152
;https://www.evergabe.telekom.de/sheet/index?c=1&importId=15564152&page=2
;https://www.evergabe.telekom.de/sheet/index?c=1&importId=15564152&page=1
;/sheet/index?c=1&importId=15564152&BapiEssrSearch%5Blimit%5D=10
EndFunc ;==>_EV_GET_LEB_Liste
Func _get_EV_Aufma_positionen($sLEB_NR)
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $sLEB_NR, "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1")
;~ ClipPut($sHTML)
;~ MsgBox(0,"/sheet-position/index?c=1&sheetId=" & $sLEB_NR,"/sheet-position/index?c=1&sheetId=" & $sLEB_NR)
;~
$aPages = StringRegExp($sHTML, '00', 3)
;~ _ArrayDisplay($aShowlinks)
If IsArray($aShowlinks) Then
For $iI = 0 To UBound($aShowlinks) - 1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], $aShowlinks[$iI], "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1")
;ClipPut($sHTML)
;MsgBox(0, $sLEB_NR, "asdf")
$aPosNr = StringRegExp($sHTML, 'Position 0([^:]+)', 3)
$aPosKurztext = StringRegExp($sHTML, 'Position 0[^:]+:.([^<]+)', 3)
$aPosAbschnitt = StringRegExp($sHTML, 'sectionText]" value="([^"]+)', 3)
$aPosMenge = StringRegExp($sHTML, 'quantity]" value="([^"]+)', 3)
$aPosEinheit = StringRegExp($sHTML, 'unitOfQuantity]" value="([^"]+)', 3)
$aBegrund = StringRegExp($sHTML, 'longText]" disabled>([^<]+)', 3)
$aFaktor = StringRegExp($sHTML, 'Multiplier]" value="([^"]+)', 3)
$aLeange = StringRegExp($sHTML, 'formulaValueLength]" value="([^"]+)', 3)
$aBreite = StringRegExp($sHTML, 'formulaValueWidth]" value="([^"]+)', 3)
$aTiefe = StringRegExp($sHTML, 'formulaValueDepth]" value="([^"]+)', 3)
If IsArray($aPosNr) Then
$sPosNr = $aPosNr[0]
Else
$sPosNr = ""
EndIf
If IsArray($aPosKurztext) Then
$sPosKurztext = $aPosKurztext[0]
Else
$sPosKurztext = ""
EndIf
If IsArray($aPosAbschnitt) Then
$sPosAbschnitt = $aPosAbschnitt[0]
Else
$sPosAbschnitt = ""
EndIf
If IsArray($aPosMenge) Then
$sPosMenge = $aPosMenge[0]
Else
$sPosMenge = ""
EndIf
If IsArray($aPosEinheit) Then
$sPosEinheit = $aPosEinheit[0]
Else
$sPosEinheit = ""
EndIf
If IsArray($aBegrund) Then
$sBegrund = $aBegrund[0]
Else
$sBegrund = ""
EndIf
If IsArray($aFaktor) Then
If $aFaktor[0] = "1" Then
$sFaktor = "1,0"
EndIf
$sFaktor = $aFaktor[0]
Else
$sFaktor = "1,0"
EndIf
If IsArray($aLeange) Then
$sLeange = $aLeange[0]
Else
$sLeange = ""
EndIf
If IsArray($aBreite) Then
$sBreite = $aBreite[0]
Else
$sBreite = ""
EndIf
If IsArray($aTiefe) Then
$sTiefe = $aTiefe[0]
Else
$sTiefe = ""
EndIf
If IsArray($aPosEinheit) Then
Select
Case $aPosEinheit[0] = "ST"
$sFaktor = "1,0"
$sLeange = ""
$sBreite = ""
$sTiefe = ""
Case $aPosEinheit[0] = "LE"
$sFaktor = "1,0"
$sLeange = ""
$sBreite = ""
$sTiefe = ""
Case $aPosEinheit[0] = "STD"
$sFaktor = "1,0"
$sLeange = ""
$sBreite = ""
$sTiefe = ""
Case $aPosEinheit[0] = "M"
$sBreite = ""
$sTiefe = ""
$sPosMenge = $sLeange
Case $aPosEinheit[0] = "M2"
;~ $sLeange = ""
;~ $sBreite = ""
$sPosMenge = $sLeange * $sBreite
Case $aPosEinheit[0] = "M3"
$sPosMenge = $sLeange * $sBreite * $sTiefe
EndSelect
_ArrayAdd($aAufM, $sPosAbschnitt & "#" & $sPosNr & "#" & $sFaktor & "#" & $sLeange & "#" & $sBreite & "#" & $sTiefe & "#" & $sPosMenge & "#" & $sPosEinheit & "#" & $sPosKurztext & "#" & $sBegrund & "#" & $sPosMenge)
;~ ;_ArrayDisplay($aAufM)
EndIf
Next
EndIf
Next
Else
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet-position/index?c=1&sheetId=" & $sLEB_NR & "&page=1", "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1")
;ClipPut($sHTML)
;MsgBox(0, $sLEB_NR, "")
$aShowlinks = StringRegExp($sHTML, '(/sheet-position[^c]+c=1)">00', 3)
;_ArrayDisplay($aShowlinks)
If IsArray($aShowlinks) Then
For $iI = 0 To UBound($aShowlinks) - 1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], $aShowlinks[$iI], "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1")
;ClipPut($sHTML)
;MsgBox(0, $sLEB_NR, "asdf")
$aPosNr = StringRegExp($sHTML, 'Position 0([^:]+)', 3)
$aPosKurztext = StringRegExp($sHTML, 'Position 0[^:]+:.([^<]+)', 3)
$aPosAbschnitt = StringRegExp($sHTML, 'sectionText]" value="([^"]+)', 3)
$aPosMenge = StringRegExp($sHTML, 'quantity]" value="([^"]+)', 3)
$aPosEinheit = StringRegExp($sHTML, 'unitOfQuantity]" value="([^"]+)', 3)
$aBegrund = StringRegExp($sHTML, 'longText]" disabled>([^<]+)', 3)
$aFaktor = StringRegExp($sHTML, 'Multiplier]" value="([^"]+)', 3)
$aLeange = StringRegExp($sHTML, 'formulaValueLength]" value="([^"]+)', 3)
$aBreite = StringRegExp($sHTML, 'formulaValueWidth]" value="([^"]+)', 3)
$aTiefe = StringRegExp($sHTML, 'formulaValueDepth]" value="([^"]+)', 3)
If IsArray($aPosNr) Then
$sPosNr = $aPosNr[0]
Else
$sPosNr = ""
EndIf
If IsArray($aPosKurztext) Then
$sPosKurztext = $aPosKurztext[0]
Else
$sPosKurztext = ""
EndIf
If IsArray($aPosAbschnitt) Then
$sPosAbschnitt = $aPosAbschnitt[0]
Else
$sPosAbschnitt = ""
EndIf
If IsArray($aPosMenge) Then
$sPosMenge = $aPosMenge[0]
Else
$sPosMenge = ""
EndIf
If IsArray($aPosEinheit) Then
$sPosEinheit = $aPosEinheit[0]
Else
$sPosEinheit = ""
EndIf
If IsArray($aBegrund) Then
$sBegrund = $aBegrund[0]
Else
$sBegrund = ""
EndIf
If IsArray($aFaktor) Then
If $aFaktor[0] = "1" Then
$sFaktor = 1.0
EndIf
$sFaktor = $aFaktor[0]
Else
$sFaktor = 1.0
EndIf
If IsArray($aLeange) Then
$sLeange = $aLeange[0]
Else
$sLeange = ""
EndIf
If IsArray($aBreite) Then
$sBreite = $aBreite[0]
Else
$sBreite = ""
EndIf
If IsArray($aTiefe) Then
$sTiefe = $aTiefe[0]
Else
$sTiefe = ""
EndIf
If IsArray($aPosEinheit) Then
Select
Case $aPosEinheit[0] = "ST"
$sFaktor = 1.0
$sLeange = ""
$sBreite = ""
$sTiefe = ""
Case $aPosEinheit[0] = "LE"
$sFaktor = 1.0
$sLeange = ""
$sBreite = ""
$sTiefe = ""
Case $aPosEinheit[0] = "STD"
$sFaktor = 1.0
$sLeange = ""
$sBreite = ""
$sTiefe = ""
Case $aPosEinheit[0] = "M"
$sBreite = ""
$sTiefe = ""
$sPosMenge = $sLeange
Case $aPosEinheit[0] = "M2"
;~ $sLeange = ""
;~ $sBreite = ""
$sPosMenge = $sLeange * $sBreite
Case $aPosEinheit[0] = "M3"
$sPosMenge = _replaceKom2Punkt($sLeange) * _replaceKom2Punkt($sBreite) * _replaceKom2Punkt($sTiefe) * _replaceKom2Punkt($sFaktor)
EndSelect
_ArrayAdd($aAufM, $sPosAbschnitt & "#" & $sPosNr & "#" & $sFaktor & "#" & $sLeange & "#" & $sBreite & "#" & $sTiefe & "#" & $sPosMenge & "#" & $sPosEinheit & "#" & $sPosKurztext & "#" & $sBegrund & "#" & $sPosMenge)
;~ ;_ArrayDisplay($aAufM)
EndIf
Next
EndIf
EndIf
_ArrayDelete($aAufM, 0)
Dim $aReturn[UBound($aAufM)][13]
;_ArrayDisplay($aReturn)
For $i = 0 To UBound($aAufM) - 1
$aSplitt = StringSplit($aAufM[$i], "#")
;_ArrayDisplay($aSplitt)
$aReturn[$i][0] = $aSplitt[1]
$aReturn[$i][1] = $aSplitt[2]
;~ if $aSplitt[3] = "1" Then
;~ $aReturn[$i][2] = StringReplace($aSplitt[3],"1","1.0")
;~ Else
;~ $aReturn[$i][2] = $aSplitt[3]
;~ EndIf
$aReturn[$i][2] = $aSplitt[3]
$aReturn[$i][3] = $aSplitt[4]
$aReturn[$i][4] = $aSplitt[5]
$aReturn[$i][5] = $aSplitt[6]
$aReturn[$i][6] = $aSplitt[7]
$aReturn[$i][7] = $aSplitt[8]
$aReturn[$i][8] = $aSplitt[9]
$aReturn[$i][9] = $aSplitt[10]
$aReturn[$i][10] = $aSplitt[11]
Next
;_ArrayDisplay($aReturn)
;MsgBox(64,"Array ohne Preise","")
$aArray = _get_EV_Aufma_preise_to_Array($aReturn, $sLEB_NR)
Return $aArray
;~ _ArrayDisplay($aArray)
EndFunc ;==>_get_EV_Aufma_positionen
;get
;Hilffunktions für Preise beim Array
Func _get_EV_Aufma_preise_to_Array($aArray, $sLEB_NR)
Global $aVertrag_Preis
;https://www.evergabe.telekom.de/sheet/header?c=1&sheetId=0006119386
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/sheet/header?c=1&sheetId=" & $sLEB_NR, "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1")
;ClipPut($sHTML)
;MsgBox(0, $sLEB_NR, "asdf")
$aDetailID = StringRegExp($sHTML, 'details\?id=([^&]+)', 3)
If IsArray($aDetailID) Then
;https://www.evergabe.telekom.de/framework-agreement-call/details?id=15562026&c=1
$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call/details?id=" & $aDetailID[0] & "&c=1", "https://www.evergabe.telekom.de/sheet/header?class=list-item&sheetId=" & $sLEB_NR & "&c=1")
;~ ClipPut($sHTML)
;~ MsgBox(0, $sLEB_NR, "asdf")
$aRVertrag = StringRegExp($sHTML, 'c=1">(\d+)/00010', 3)
If IsArray($aRVertrag) Then
$sFilePath = @ScriptDir & "\daten\LV\" & $aRVertrag[0] & ".txt"
_FileReadToArray($sFilePath, $aVertrag_Preis)
_ArrayDelete($aVertrag_Preis, 0)
;_ArrayDisplay($aVertrag_Preis)
;~ _ArrayDisplay($aArray)
For $iI = 0 To UBound($aArray) - 1
For $i = 0 To UBound($aVertrag_Preis) - 1
$aSplitt = StringSplit($aVertrag_Preis[$i], "|")
;_ArrayDisplay($aSplitt)
If $aSplitt[1] = $aArray[$iI][1] Then
$aArray[$iI][11] = _replaceKom2Punkt($aSplitt[4])
$aArray[$iI][10] = _replaceKom2Punkt($aArray[$iI][2]) * _replaceKom2Punkt($aArray[$iI][6])
$aArray[$iI][12] = _replaceKom2Punkt($aSplitt[4]) * _replaceKom2Punkt($aArray[$iI][10])
EndIf
Next
Next
EndIf
EndIf
For $i = 0 To UBound($aArray) - 1
If $aArray[$i][2] = 1 Then
$aArray[$i][2] = 1.0
EndIf
$aArray[$i][2] = _replacePunkt2Koma($aArray[$i][2])
$aArray[$i][3] = _replacePunkt2Koma($aArray[$i][3])
$aArray[$i][4] = _replacePunkt2Koma($aArray[$i][4])
$aArray[$i][5] = _replacePunkt2Koma($aArray[$i][5])
$aArray[$i][6] = _replacePunkt2Koma($aArray[$i][6])
$aArray[$i][10] = _replacePunkt2Koma($aArray[$i][10])
$aArray[$i][11] = _replacePunkt2Koma($aArray[$i][11])
$aArray[$i][12] = _replacePunkt2Koma($aArray[$i][12])
Next
;~ _ArrayDisplay($aArray)
Return $aArray
EndFunc ;==>_get_EV_Aufma_preise_to_Array
Func _send_Winhttp_POST($sHost, $sLink, $sReferer, $sPostContend)
$aHTML = _WinHttpSimpleRequest($sHost, "POST", $sLink, $sReferer, $sPostContend, $sHeader, True, 1)
_Write_to_Console("laden| " & $aHosts[1][0] & $sLink)
If IsArray($aHTML) Then
$aHTML[1] = StringReplace($aHTML[1], "amp;", "")
;~ $aHTML[1] = BinaryToString($aHTML[1], 4)
;~ _ArrayDisplay($aHTML)
Return $aHTML[1]
Else
$aHTML = _WinHttpSimpleRequest($sHost, "POST", $sLink, $sReferer, $sPostContend)
$aHTML = StringReplace($aHTML, "amp;", "")
;~ $aHTML = BinaryToString($aHTML, 4)
Return $aHTML
EndIf
EndFunc ;==>_send_Winhttp_POST
Func _send_Winhttp_GET($sHost, $sLink, $sReferer)
Local $sHeader = "Content-Type: application/x-www-form-urlencoded"
$aHTML = _WinHttpSimpleRequest($sHost, "GET", $sLink, $sReferer, Default, $sHeader, True, 1)
_Write_to_Console("laden| " & $aHosts[1][0] & $sLink)
If IsArray($aHTML) Then
$aHTML[1] = StringReplace($aHTML[1], "amp;", "")
$aHTML[1] = BinaryToString($aHTML[1], 4)
Return $aHTML[1]
Else
$aHTML = _WinHttpSimpleRequest($sHost, "GET", $sLink, $sReferer)
$aHTML = StringReplace($aHTML, "amp;", "")
$aHTML = BinaryToString($aHTML, 4)
Return $aHTML
EndIf
EndFunc ;==>_send_Winhttp_GET
Func _send_WinhttpS_GET($sHost, $sLink, $sReferer)
;~ Local $sHeader = "Content-Type: application/x-www-form-urlencoded" & @CRLF & $sHeader_lovoo
$aHTML = _WinHttpSimpleSSLRequest($sHost, "GET", $sLink, $sReferer, Default, $sHeader, True, 1)
_Write_to_Console("laden| " & $aHosts[1][0] & $sLink)
If IsArray($aHTML) Then
$aHTML[1] = StringReplace($aHTML[1], "amp;", "")
;~ $aHTML[1] = BinaryToString($aHTML[1], 4)
;~ _ArrayDisplay($aHTML)
Return $aHTML[1]
Else
$aHTML = _WinHttpSimpleSSLRequest($sHost, "GET", $sLink, $sReferer)
$aHTML = StringReplace($aHTML, "amp;", "")
;~ $aHTML = BinaryToString($aHTML, 4)
Return $aHTML
EndIf
EndFunc ;==>_send_WinhttpS_GET
Func _send_WinhttpS_POST($sHost, $sLink, $sReferer, $sPostContend)
;~ Local $sHeader = "Content-Type: application/x-www-form-urlencoded" & @CRLF & $sHeader_lovoo
$aHTML = _WinHttpSimpleSSLRequest($sHost, "POST", $sLink, $sReferer, $sPostContend, $sHeader, True, 1)
_Write_to_Console("laden| " & $aHosts[1][0] & $sLink)
If IsArray($aHTML) Then
$aHTML[1] = StringReplace($aHTML[1], "amp;", "")
;~ $aHTML[1] = BinaryToString($aHTML[1], 4)
Return $aHTML[1]
Else
$aHTML = _WinHttpSimpleSSLRequest($sHost, "POST", $sLink, $sReferer, $sPostContend)
$aHTML = StringReplace($aHTML, "amp;", "")
;~ $aHTML = BinaryToString($aHTML, 4)
Return $aHTML
EndIf
EndFunc ;==>_send_WinhttpS_POST
Func _URIEncode($sData)
; Prog@ndy
Local $aData = StringSplit(BinaryToString(StringToBinary($sData, 4), 1), "")
Local $nChar
$sData = ""
For $i = 1 To $aData[0]
;~ ConsoleWrite($aData[$i] & @CRLF)
$nChar = Asc($aData[$i])
Switch $nChar
Case 45, 46, 48 - 57, 65 To 90, 95, 97 To 122, 126
$sData &= $aData[$i]
Case 32
$sData &= "+"
Case Else
$sData &= "%" & Hex($nChar, 2)
EndSwitch
Next
Return $sData
EndFunc ;==>_URIEncode
Func _URIDecode($sData)
; Prog@ndy
Local $aData = StringSplit(StringReplace($sData, "+", " ", 0, 1), "%")
$sData = ""
For $i = 2 To $aData[0]
$aData[1] &= Chr(Dec(StringLeft($aData[$i], 2))) & StringTrimLeft($aData[$i], 2)
Next
Return BinaryToString(StringToBinary($aData[1], 1), 4)
EndFunc ;==>_URIDecode
Func _create_Gui_Ausw($aArrayList)
Global $txt_detailsid = ""
#Region ### START Koda GUI section ### Form=c:\users\flo\documents\isn autoit studio\projects\aufmasscreaterv2\forms\frm_ausw.kxf
Global $frm_ausw = GUICreate("AuftragsAuswahl", 919, 231, 777, 303)
Global $lv_auswahl = GUICtrlCreateListView("Beschreibung|SMNr|42Nr|DetailsID|Bezeichnung|Rahemvertrag|Start Datum|End Datum|Status", 5, 5, 905, 150, -1, BitOR($WS_EX_CLIENTEDGE, $LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT))
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 120)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 3, 60)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 4, 220)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 5, 90)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 6, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 7, 80)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 8, 80)
Global $frm_ausw_txt_besch = GUICtrlCreateInput("", 5, 160, 121, 21)
Global $frm_ausw_txt_smnr = GUICtrlCreateInput("", 130, 160, 81, 21)
Global $frm_ausw_txt_42er = GUICtrlCreateInput("", 215, 160, 71, 21)
Global $frm_ausw_txt_detailsid = GUICtrlCreateInput("", 290, 160, 56, 21)
Global $txt_ausw_txt_bez = GUICtrlCreateInput("", 350, 160, 216, 21)
Global $frm_ausw_txt_rv = GUICtrlCreateInput("", 570, 160, 86, 21)
Global $frm_ausw_txt_sDatum = GUICtrlCreateInput("", 660, 160, 76, 21)
Global $frm_ausw_txt_eDatum = GUICtrlCreateInput("", 740, 160, 76, 21)
Global $frm_ausw_txt_status = GUICtrlCreateInput("", 820, 160, 91, 21)
Global $frm_ausw_bt_best = GUICtrlCreateButton("übernehmen", 5, 185, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
_GUICtrlListView_AddArray($lv_auswahl, $aArrayList)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $frm_ausw_bt_best
$iRow = _GUICtrlListView_GetSelectedIndices($lv_auswahl)
;~ _DebugArrayDisplay($aArrayList)
;~ ConsoleWrite(Int($iRow) & @CRLF & @CRLF )
;~ GUICtrlSetData($frm_ausw_txt_besch, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 0))
;~ GUICtrlSetData($frm_ausw_txt_smnr, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 1))
;~ GUICtrlSetData($frm_ausw_txt_42er, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 2))
;~ GUICtrlSetData($frm_ausw_txt_detailsid, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 3))
;~ GUICtrlSetData($txt_ausw_txt_bez, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 4))
;~ GUICtrlSetData($frm_ausw_txt_rv, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 5))
;~ GUICtrlSetData($frm_ausw_txt_sDatum, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 6))
;~ GUICtrlSetData($frm_ausw_txt_eDatum, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 7))
;~ GUICtrlSetData($frm_ausw_txt_status, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 8))
;~ GUICtrlSetData($frm_ausw_bt_best, _GUICtrlListView_GetItemText($lv_auswahl, Int($iRow), 9
GUICtrlSetData($kopf_TAB_txt_abrufnr, $aArrayList[Int($iRow)][2])
GUICtrlSetData($kopf_TAB_datum_start, $aArrayList[Int($iRow)][5])
GUICtrlSetData($kopf_TAB_txt_datum_ende, $aArrayList[Int($iRow)][6])
;~ _DebugArrayDisplay($aTest)
ExitLoop
EndSwitch
WEnd
$txt_detailsid = $aArrayList[Int($iRow)][3]
GUIDelete($frm_ausw)
;~ MsgBox(64, "", $txt_detailsid)
Return $txt_detailsid
EndFunc ;==>_create_Gui_Ausw
|