;inc_AVRB.au3


Func _Load_LV_Pfad_txt($hLV_LV, $sPFad_Import)
	Dim $aArray
	
;~ 	$aSearchAuftraege = _FileListToArrayRecursiv($sPfad_NC_R_Auftrage, "*.txt", 1)
	$aSearchAuftraege = _FileListToArray($sPFad_Import, "*.txt", 1)
	_ArrayDelete($aSearchAuftraege, 0)
;~ 	_DebugArrayDisplay($aSearchAuftraege)
	
	Dim $aLV_NC_import_ARray[UBound($aSearchAuftraege)][3]
;~ 	_DebugArrayDisplay($aLV_NC_R_import_ARray)
	For $i = 0 To UBound($aSearchAuftraege) - 1
		$aLV_NC_import_ARray[$i][0] = $aSearchAuftraege[$i]
		$aLV_NC_import_ARray[$i][1] = "Preis test"
		$aLV_NC_import_ARray[$i][2] = $sPFad_Import & $aSearchAuftraege[$i]
		
		
		_FileReadToArray($sPFad_Import & $aSearchAuftraege[$i], $aArray)
;~ 		_DebugArrayDisplay($aArray)
		$aReturn = _TxtFile2Array($aArray)
		$iSum = _Summe_from_Array($aReturn)
		
;~ 		MsgBox(64, "Summe", $iSum)
		
		
		
		$aLV_NC_import_ARray[$i][1] = _StringAddThousandsSepEx(_PriceRound($iSum)) & " €"
	Next
	_GUICtrlListView_AddArray($hLV_LV, $aLV_NC_import_ARray)
	_ListviewAutoWidthHeader($hLV_LV)
;~ 	_DebugArrayDisplay($aLV_NC_R_import_ARray)
EndFunc   ;==>_Load_LV_Pfad_txt

Func _TxtFile2Array($aArray)
	If IsArray($aArray) Then
		Dim $aListeImport[$aArray[0] - 15][13]
		$iZ = 0
		For $i = 16 To UBound($aArray) - 1
			$aTemp = StringSplit($aArray[$i], "|")
			For $ii = 1 To UBound($aTemp) - 1
				$aListeImport[$iZ][$ii - 1] = $aTemp[$ii]
			Next
			$iZ = $iZ + 1
		Next
		Return $aListeImport
	EndIf
EndFunc   ;==>_TxtFile2Array

Func _Summe_from_Array($aListeImport)
	For $ix = 0 To UBound($aListeImport) - 1
		Select
			Case $aListeImport[$ix][7] = "M"
				;ändere meter Zeile 3 mit Menge
				$aListeImport[$ix][6] = $aListeImport[$ix][3]
			Case $aListeImport[$ix][7] = "M2"
				;Länge x Breite = Menge vorne
				$sMengeM2 = _replaceKom2Punkt($aListeImport[$ix][3]) * _replaceKom2Punkt($aListeImport[$ix][4])
				$aListeImport[$ix][6] = _replacePunkt2Koma($sMengeM2)     ;Menge neu Berechnen;
			Case $aListeImport[$ix][7] = "M3"
				;länge x Breite x Tiefe = Menge
				$sMengeM3 = _replaceKom2Punkt($aListeImport[$ix][3]) * _replaceKom2Punkt($aListeImport[$ix][4]) * _replaceKom2Punkt($aListeImport[$ix][5])
				$aListeImport[$ix][6] = _replacePunkt2Koma($sMengeM3)
			Case $aListeImport[$ix][7] = "LE"
;~ 					$aListeImport[$ix][6] = $aListeImport[$ix][3]
			Case $aListeImport[$ix][7] = "ST"
;~ 					$aListeImport[$ix][6] = $aListeImport[$ix][3]
			Case $aListeImport[$ix][7] = "STD"
;~ 					$aListeImport[$ix][6] = $aListeImport[$ix][3]
		EndSelect
		;ändere Menge hinten mit Mengevorne * Faktor
		$ixMengeVorne = _replaceKom2Punkt($aListeImport[$ix][6])
		$ixFakotr = _replaceKom2Punkt($aListeImport[$ix][2])
		$ixMengeHinten = $ixMengeVorne * $ixFakotr
		$aListeImport[$ix][10] = _replacePunkt2Koma($ixMengeHinten)
		;ändere Gesamtpreishinten (MengeHinten*Einzellpreis)
		$ixGesamtsumme = $ixMengeHinten * _replaceKom2Punkt($aListeImport[$ix][11])
		$aListeImport[$ix][12] = _replacePunkt2Koma($ixGesamtsumme)
		
	Next
	
	$iSummeset = 0
	For $iii = 0 To UBound($aListeImport) - 1
		; Menge * Faktor = G-Menge
		$sMenge = _replaceKom2Punkt($aListeImport[$iii][6]) * _replaceKom2Punkt($aListeImport[$iii][2])
		$aListeImport[$iii][10] = _replacePunkt2Koma($sMenge)     ; Menge (Menge * Faktor)
		
		;G-Menge * Einzellspreis = Summe
		$iSumme = _replaceKom2Punkt($aListeImport[$iii][10]) * _replaceKom2Punkt($aListeImport[$iii][11])     ;Menge hinten  * Faktor)
		$aListeImport[$iii][12] = _replacePunkt2Koma($iSumme)

		$iSummeset = _replacePunkt2Koma($iSummeset + $iSumme)
	Next
;~ 	$iSummeset =  _StringAddThousandsSepEx(_PriceRound($iSummeset)) & " €"
	Return $iSummeset
EndFunc   ;==>_Summe_from_Array

Func _Summe_LV_Liste($hLV_LV)
	$aReturn = _Listview2Array($hLV_LV)
	$iSummeset = 0
	For $i = 0 To UBound($aReturn) - 1
		$iSumme = $aReturn[$i][1]
		$iSumme = StringReplace($iSumme, ".", "")
		$iSumme = StringReplace($iSumme, " €", "")
		
		$iSumme = _replaceKom2Punkt($iSumme)
		ConsoleWrite($iSumme & @CRLF)
		$iSummeset = _replacePunkt2Koma($iSummeset + $iSumme)
	Next
;~ 	$iSummeset = 
	Return $iSummeset
EndFunc   ;==>_Summe_LV_Liste

Func _SearchLV_Liste($hLV_LV, $sSuche)
	$aReturn = _Listview2Array($hLV_LV)
;~ 	_DebugArrayDisplay($aReturn)
	
	If $sSuche = "" Then
		
	Else
		_GUICtrlListView_DeleteAllItems($hLV_LV)
		$iIndexs = _ArrayFindAll($aReturn, $sSuche, 0, 0, 0, 1, 0)
;~ 			_DebugArrayDisplay($iIndexs)
		For $i = 0 To UBound($iIndexs) - 1
			_GUICtrlListView_AddItem($hLV_LV, $aReturn[$iIndexs[$i]][0])
			_GUICtrlListView_AddSubItem($hLV_LV, $i, $aReturn[$iIndexs[$i]][1], 1)
			_GUICtrlListView_AddSubItem($hLV_LV, $i, $aReturn[$iIndexs[$i]][2], 2)
		Next
		_ListviewAutoWidthHeader($hLV_LV)
	EndIf
EndFunc   ;==>_SearchLV_Liste

Func _load_PFade_from_ini()
	GUICtrlSetData($txt_pfad_Lokal, IniRead($sPfadIni, "AVRB", "1", ""))
	GUICtrlSetData($txt_pfad_NC_R, IniRead($sPfadIni, "AVRB", "2", ""))
	GUICtrlSetData($txt_pfad_NC_E, IniRead($sPfadIni, "AVRB", "3", ""))
	GUICtrlSetData($txt_pfad_NC_F, IniRead($sPfadIni, "AVRB", "4", ""))
EndFunc   ;==>_load_PFade_from_ini

Func _Save_Pfade_to_ini()
	IniWrite($sPfadIni, "AVRB", "1", GUICtrlRead($txt_pfad_Lokal))
	IniWrite($sPfadIni, "AVRB", "2", GUICtrlRead($txt_pfad_NC_R))
	IniWrite($sPfadIni, "AVRB", "3", GUICtrlRead($txt_pfad_NC_E))
	IniWrite($sPfadIni, "AVRB", "4", GUICtrlRead($txt_pfad_NC_F))
EndFunc   ;==>_Save_Pfade_to_ini

Func _MassImportEV()
	Local $aIndex = _GUICtrlListView_GetSelectedIndices($lv_AVRB_lokal, True)
	
;~ 	_ArrayDisplay($aIndex)
	If $aIndex[0] = 1 Then
;~ 		;nur eins markiert!
;~ 		_ArrayDisplay($aIndex)
		
		$aItem = _GUICtrlListView_GetItemTextArray($lv_AVRB_lokal, $aIndex[1])
		;$aItem[3] = Pfad zur txt.Datei
		Local $sFilePath, $aArray
		$sFilePath = $aItem[3]
		_FileReadToArray($sFilePath, $aArray)
;~ 		_DebugArrayDisplay($aArray)
		
		If IsArray($aArray) Then
			$sSMnr = StringReplace($aArray[7], "SMNr=", "")
;~ 			MsgBox(64, "SMnr", $sSMnr)
			
			
			Dim $aListeImport[$aArray[0] - 15][13]
			$iZ = 0
			For $i = 16 To UBound($aArray) - 1
				$aTemp = StringSplit($aArray[$i], "|")
				For $ii = 1 To UBound($aTemp) - 1
					$aListeImport[$iZ][$ii - 1] = $aTemp[$ii]
				Next
				$iZ = $iZ + 1
			Next
;~ 			_DebugArrayDisplay($aListeImport)
			
			
			;entferne Leere Zeilen vom Array
			$aAufmaListeString = _ArrayToString($aListeImport, "|")
			$aTest = StringSplit($aAufmaListeString, @LF)
			Dim $aListeEV[0][13]
			For $iii = 1 To UBound($aTest) - 1
				If StringInStr($aTest[$iii], "|||||") Then
				Else
					_ArrayAdd($aListeEV, $aTest[$iii])
				EndIf
			Next
;~ 	_DebugArrayDisplay($aListeEV)
;~ 			_MASS_EV_Insert_Pos($sSMnr, $aListeEV, $aArray, 1)

		EndIf

		

	Else
		; mehrere Zeilen markiert!
;~ 		_ArrayDisplay($aIndex)
		Global $sAuswahl = "True"
		For $iiiii = 1 To UBound($aIndex) - 1
			$aItem = _GUICtrlListView_GetItemTextArray($lv_AVRB_lokal, $aIndex[$iiiii])
			;$aItem[3] = Pfad zur txt.Datei
			Local $sFilePath, $aArray
			$sFilePath = $aItem[3]
			_FileReadToArray($sFilePath, $aArray)
;~ 			_DebugArrayDisplay($aArray)
;~
			If IsArray($aArray) Then
				$sSMnr = StringReplace($aArray[7], "SMNr=", "")
				Dim $aListeImport[$aArray[0] - 15][13]
				$iZ = 0
				For $i = 16 To UBound($aArray) - 1
					$aTemp = StringSplit($aArray[$i], "|")
					For $ii = 1 To UBound($aTemp) - 1
						$aListeImport[$iZ][$ii - 1] = $aTemp[$ii]
					Next
					$iZ = $iZ + 1
				Next
				;entferne Leere Zeilen vom Array
				$aAufmaListeString = _ArrayToString($aListeImport, "|")
				$aTest = StringSplit($aAufmaListeString, @LF)
				Dim $aListeEV[0][13]
				For $iii = 1 To UBound($aTest) - 1
					If StringInStr($aTest[$iii], "|||||") Then
					Else
						_ArrayAdd($aListeEV, $aTest[$iii])
					EndIf
				Next
;~ 				_DebugArrayDisplay($aListeEV)
				_MASS_EV_Insert_Pos($sSMnr, $aListeEV, $aArray, 2)

			EndIf 
		Next
	EndIf
	_EV_Logout()
	MsgBox(64, "Fertig", "Fertig")
EndFunc   ;==>_MassImportEV

Func _MASS_EV_Insert_Pos($sSMnr, $aListeEV, $aArray, $iMass)
	
	Global $aListeImport = $aListeEV
	Global $sDetailsID
	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
		_Write_to_Console("Login Erfolgreich")
		$sHTML = _send_WinhttpS_GET($aHosts[1][1], "/framework-agreement-call", "https://www.evergabe.telekom.de/")
		;eintragen ab hier!!!!
		
		;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)
		$aDetailsID = StringRegExp($sHTML, '/framework-agreement-call/details\?id=([^"]+)', 3)
		$aSMnr = StringRegExp($sHTML, 'Bedarfsnr.: (\d+)', 3)
		If IsArray($aDetailsID) And IsArray($aSMnr) Then
			;abfrage mehrere Abrufe vorhanden auswahl mit Arraydisplay neu und kopieren
			;evtl mit neuer GUI und Aufruf in der E-Vergabe???
			If $sAuswahl = "True" Then 
				If UBound($aDetailsID, 1) > 1 Then
					_DebugArrayDisplay($aDetailsID, "Auftragsauswahl, Mehrere Aufträge zur auswahl:")
					$sDetailsID = InputBox("mehrere Abrufe vorhanden", "Mit der SMnr:" & $aSMnr[0] & "wurde mehr als ein Abruf gefunden! Bitte geben sie die gewünschte Nr ein." & @CRLF & $aDetailsID[0] & @CRLF & $aDetailsID[1], $aDetailsID[0])
					If $iMass = 1 Then
						If $sDetailsID = "" Then
							$sDetailsID = $aDetailsID[0]
						EndIf
					Else
						If $sDetailsID = "" Then
							$sDetailsID = $aDetailsID[0]
						EndIf
						$sAuswahl = "False"
					EndIf
					
				Else
					$sDetailsID = $aDetailsID[0]
				EndIf
			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 = StringReplace($aArray[9], "StartZ=", "")
					$sLeist_zeitb = StringReplace($aArray[10], "EndZ=", "")
					; mit UrlEncode
					$sLeistungsort1 = StringReplace($aArray[5], "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 = StringReplace($aArray[13], "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 = StringReplace($aArray[5], "Baustelle=", "") & " " & StringReplace($aArray[13], "Bauabschnitt=", "") & " " & "SM " & $sSMnr
					$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)
						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($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($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($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($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($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($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_mod($sDetailsID, $aArray)
							
						Else
							MsgBox(64, "keine SheetID", "keine SheetID vorhanden.")
						EndIf
					Else
						
					EndIf
				EndIf
			Else
				
			EndIf
			
			
			
		Else
			
		EndIf
	Else
		MsgBox(64, "Login Fehler", "Login war nicht erfolgreich")
	EndIf
EndFunc   ;==>_MASS_EV_Insert_Pos

Func _EV_GET_DetailsID_Info_mod($sDetailsIDPreis, $aArray)
;~ 	https://www.evergabe.telekom.de
	$sBaustelle = StringReplace($aArray[5], "Baustelle=", "")
	$sBauabschnitt = StringReplace($aArray[13], "Bauabschnitt=", "")
	$sAbrufNr = StringReplace($aArray[6], "AbrufNr=", "")
	$sSMnr = StringReplace($aArray[7], "SMNr=", "")
	
	$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, '€</span></div></td><td>([^<]+)</td><td>', 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, '€</span></div></td><td>([^<]+)</td><td>', 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_mod
