neue Logik für DFDS
This commit is contained in:
@@ -36,7 +36,7 @@
|
||||
<PublishUrl>\\ftps.verag.ag\g\FTP\Programme\VeragAddin\</PublishUrl>
|
||||
<InstallUrl>http://ftps.verag.ag/VERAGAddin/</InstallUrl>
|
||||
<TargetCulture>de</TargetCulture>
|
||||
<ApplicationVersion>1.0.1.138</ApplicationVersion>
|
||||
<ApplicationVersion>1.0.1.139</ApplicationVersion>
|
||||
<AutoIncrementApplicationRevision>true</AutoIncrementApplicationRevision>
|
||||
<UpdateEnabled>true</UpdateEnabled>
|
||||
<UpdateInterval>0</UpdateInterval>
|
||||
|
||||
@@ -740,41 +740,51 @@ Public Class AVISO_Mail_Functions
|
||||
|
||||
Dim dt As New DataTable()
|
||||
dt.Columns.AddRange({
|
||||
New DataColumn("Record"),
|
||||
New DataColumn("Consignee"),
|
||||
New DataColumn("Quantity"),
|
||||
New DataColumn("GrossWeight"),
|
||||
New DataColumn("OrderCustoms"),
|
||||
New DataColumn("OperationType"),
|
||||
New DataColumn("Description"),
|
||||
New DataColumn("LinkText"),
|
||||
New DataColumn("LinkUrl")
|
||||
})
|
||||
New DataColumn("Record"),
|
||||
New DataColumn("Consignee"),
|
||||
New DataColumn("Quantity"),
|
||||
New DataColumn("GrossWeight"),
|
||||
New DataColumn("OrderCustoms"),
|
||||
New DataColumn("Address"),
|
||||
New DataColumn("Code"),
|
||||
New DataColumn("OperationType"),
|
||||
New DataColumn("Links") ' store ALL links (doc + cmr)
|
||||
})
|
||||
|
||||
Dim doc As New HtmlAgilityPack.HtmlDocument()
|
||||
doc.LoadHtml(mailItem.HTMLBody)
|
||||
|
||||
Dim rows = doc.DocumentNode.SelectNodes("//tr[td]")
|
||||
Dim rows = doc.DocumentNode.SelectNodes("//tr")
|
||||
|
||||
If rows Is Nothing Then Return dt
|
||||
|
||||
For Each row In rows
|
||||
|
||||
Dim cells = row.SelectNodes("td")
|
||||
If cells Is Nothing OrElse cells.Count < 8 Then Continue For
|
||||
If cells Is Nothing Then Continue For
|
||||
|
||||
Dim linkNode = cells(7).SelectSingleNode(".//a")
|
||||
Dim recordText As String = Clean(cells(0).InnerText)
|
||||
|
||||
dt.Rows.Add(
|
||||
Clean(cells(0).InnerText),
|
||||
Clean(cells(1).InnerText),
|
||||
Clean(cells(2).InnerText),
|
||||
Clean(cells(3).InnerText),
|
||||
Clean(cells(4).InnerText),
|
||||
Clean(cells(5).InnerText),
|
||||
Clean(cells(6).InnerText),
|
||||
If(linkNode IsNot Nothing, Clean(linkNode.InnerText), ""),
|
||||
If(linkNode IsNot Nothing, linkNode.GetAttributeValue("href", ""), "")
|
||||
)
|
||||
If Not IsNumeric(recordText) Then Continue For
|
||||
|
||||
Dim linkNodes = row.SelectNodes(".//a")
|
||||
Dim links As New List(Of String)
|
||||
|
||||
If linkNodes IsNot Nothing Then
|
||||
For Each ln In linkNodes
|
||||
Dim href = ln.GetAttributeValue("href", "")
|
||||
If href <> "" Then links.Add(href)
|
||||
Next
|
||||
End If
|
||||
|
||||
Dim GetCell = Function(index As Integer) As String
|
||||
If cells.Count > index Then
|
||||
Return Clean(cells(index).InnerText)
|
||||
End If
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
dt.Rows.Add(recordText, GetCell(1), GetCell(2), GetCell(3), GetCell(4), GetCell(5), GetCell(6), GetCell(7), String.Join("|", links))
|
||||
|
||||
Next
|
||||
|
||||
@@ -783,54 +793,61 @@ Public Class AVISO_Mail_Functions
|
||||
Dim sendungsNrOld As String = ""
|
||||
Dim missingDocuments As String = ""
|
||||
|
||||
For Each r In dt.Rows
|
||||
For Each r As DataRow In dt.Rows
|
||||
|
||||
If r("LinkUrl") <> "" AndAlso r("LinkUrl").ToString.Contains("https://web01.ekoltransport.com.tr/dfdsdocumentservice/download/") Then
|
||||
Dim links = r("Links").ToString().Split("|"c)
|
||||
|
||||
Dim link As String = r("LinkUrl")
|
||||
For Each linkRaw In links
|
||||
|
||||
If link.EndsWith("%20") And link.Length > 3 Then
|
||||
link = link.Remove(link.Length - 3)
|
||||
End If
|
||||
If String.IsNullOrWhiteSpace(linkRaw) Then Continue For
|
||||
|
||||
Dim sendungsNr As String = r("Record")
|
||||
If linkRaw.Contains("dfdsdocumentservice/download") Then
|
||||
|
||||
Dim Descr As String = r("Description")
|
||||
Dim link As String = linkRaw.Trim()
|
||||
|
||||
If Descr <> "" Then
|
||||
Descr = Descr.ToString.Replace(";", "_")
|
||||
Descr = Descr.ToString.Replace(".", "_")
|
||||
Descr = Descr.ToString.Replace(" ", "_")
|
||||
Descr = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(Descr)
|
||||
End If
|
||||
|
||||
If sendungsNrOld <> "" AndAlso sendungsNrOld <> sendungsNr Then
|
||||
counter = 1
|
||||
End If
|
||||
|
||||
Dim file = VERAG_PROG_ALLGEMEIN.cFormularManager.getFile_FromURLStream(link, r("Record") & "_" & counter & "_" & IIf(Descr <> "", Descr, ""),, False)
|
||||
|
||||
If IO.File.Exists(file) Then
|
||||
ATT.Add(file)
|
||||
|
||||
Else
|
||||
If missingDocuments <> "" Then
|
||||
missingDocuments &= vbNewLine & r("Record") & "_" & counter & "_" & IIf(Descr <> "", Descr, "")
|
||||
Else
|
||||
missingDocuments = "fehlende Dokumente: " & vbNewLine & r("Record") & "_" & counter & "_" & IIf(Descr <> "", Descr, "")
|
||||
If link.EndsWith("%20") Then
|
||||
link = link.Substring(0, link.Length - 3)
|
||||
End If
|
||||
End If
|
||||
|
||||
counter += 1
|
||||
Dim sendungsNr As String = r("Record").ToString()
|
||||
Dim descr As String = r("Consignee").ToString()
|
||||
|
||||
sendungsNrOld = r("Record")
|
||||
If descr <> "" Then
|
||||
descr = descr.Replace(";", "_").
|
||||
Replace(".", "_").
|
||||
Replace(" ", "_")
|
||||
|
||||
descr = VERAG_PROG_ALLGEMEIN.cDATENSERVER.replaceInvalidCahr(descr)
|
||||
End If
|
||||
|
||||
If sendungsNrOld <> "" AndAlso sendungsNrOld <> sendungsNr Then
|
||||
counter = 1
|
||||
End If
|
||||
|
||||
Dim filename As String = sendungsNr & "_" & counter &
|
||||
If(descr <> "", "_" & descr, "")
|
||||
|
||||
Dim file = VERAG_PROG_ALLGEMEIN.cFormularManager.getFile_FromURLStream(link, filename,, False)
|
||||
|
||||
If IO.File.Exists(file) Then
|
||||
ATT.Add(file)
|
||||
Else
|
||||
If missingDocuments <> "" Then
|
||||
missingDocuments &= vbNewLine & filename
|
||||
Else
|
||||
missingDocuments = "fehlende Dokumente:" & vbNewLine & filename
|
||||
End If
|
||||
End If
|
||||
|
||||
counter += 1
|
||||
sendungsNrOld = sendungsNr
|
||||
|
||||
End If
|
||||
|
||||
Next
|
||||
|
||||
Next
|
||||
|
||||
|
||||
If missingDocuments <> "" Then
|
||||
INFO = missingDocuments
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user