Automatischer EMail-Versand für ZF-Auswertung, Errors GUI verbessert.
This commit is contained in:
@@ -4,6 +4,7 @@ Imports System.Data.SqlClient
|
||||
Imports ClosedXML.Excel
|
||||
Imports DocumentFormat
|
||||
Imports System.Net
|
||||
Imports DAKOSY_Worker
|
||||
|
||||
Module Mail
|
||||
Dim sPath As String = System.AppDomain.CurrentDomain.BaseDirectory
|
||||
@@ -69,6 +70,7 @@ Module Mail
|
||||
|
||||
'PARAM = "THYSSENKRUPP_AUSWERTUNG"
|
||||
'PARAM = "RED_BULL"
|
||||
'PARAM = "ZF"
|
||||
|
||||
'------------------------------------------------------------------------------------
|
||||
' PARAM = "NCTSLIST_TOBB"
|
||||
@@ -97,7 +99,7 @@ Module Mail
|
||||
' cnt += 1
|
||||
'End While
|
||||
If cnt >= 20 Then
|
||||
System.Console.WriteLine("MailSender konnte nicht gestartet werden, da eine Insatanz noch läuft...")
|
||||
System.Console.WriteLine("MailSender konnte nicht gestartet werden, da eine Instanz noch läuft...")
|
||||
Else
|
||||
|
||||
'Select Case firma
|
||||
@@ -205,6 +207,16 @@ Module Mail
|
||||
If SendEmail_RED_BULL("customs.documents.ata@redbull.com", KdNr, von, bis) Then 'für Andreas Details
|
||||
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
||||
End If
|
||||
Case "ZF"
|
||||
Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
|
||||
Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
|
||||
|
||||
Dim KdNr As String = "714869"
|
||||
System.Console.WriteLine("OPTION erkannt: ZF _ Erstellt eine monaltiche Auswertung der DAKSOY-Abfertigungen für ZF.")
|
||||
System.Console.WriteLine("Auswertung Details gestartet...")
|
||||
If SendEmail_ZF("robert.buchbauer@zf.com; christina.eggerl@zf.com; teresa.elster@zf.com", KdNr, von, bis) Then
|
||||
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
||||
End If
|
||||
Case "QS_AUFTEILUNG"
|
||||
System.Console.WriteLine("OPTION erkannt: QS_AUFTEILUNG _ Erstellt die Auswertung der QS-AUFTEILUNG.")
|
||||
System.Console.WriteLine("Auswertung gestartet...")
|
||||
@@ -556,6 +568,43 @@ Module Mail
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function SendEmail_ZF(Mailto As String, KdNr As String, von As Date, bis As Date) As Boolean
|
||||
Try
|
||||
Dim excel As String = genEXCEL_ZF(KdNr, von, bis)
|
||||
System.Console.WriteLine("EXCEL erstellt...")
|
||||
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
|
||||
|
||||
System.Console.WriteLine("Sende E-Mail...")
|
||||
|
||||
Dim Subject = "Auswertungen Zollanmeldungen ZF Friedrichshafen AG "
|
||||
Dim Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." &
|
||||
"<br><br>Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
|
||||
"<br><br><br>Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." &
|
||||
"<br><br>VERAG SPEDITION AG"
|
||||
|
||||
|
||||
Dim anhenge As New List(Of String)
|
||||
anhenge.Add(excel)
|
||||
If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "d.breimaier@verag.ag;ra@verag.ag", anhenge) Then
|
||||
System.Console.WriteLine("E-Mail gesendet.")
|
||||
System.Console.WriteLine("Erfolgreich!")
|
||||
Else
|
||||
System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!")
|
||||
|
||||
End If
|
||||
|
||||
Return True
|
||||
Else
|
||||
System.Console.WriteLine(excel)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG)
|
||||
System.Console.WriteLine(ex.Message & ex.StackTrace)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
|
||||
|
||||
Private Function SendEmail_BRG_Auswertung(Optional wochenAuswertung As Boolean = False, Optional details As Boolean = False) As Boolean
|
||||
Dim Msg As New MailMessage
|
||||
Dim myCredentials As New System.Net.NetworkCredential
|
||||
@@ -1375,6 +1424,97 @@ Module Mail
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
Public Function genEXCEL_ZF(KdNr As String, von As Date, bis As Date) As String
|
||||
Try
|
||||
|
||||
Dim KUNDENADR = New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
|
||||
Dim sqlstr As String = ""
|
||||
|
||||
sqlstr &= "SELECT CAST([FilialenNr] as varchar) + '/' + CAST([AbfertigungsNr] as varchar) Abfertigungsnummer,cast([Abfertigungsdatum] as date)Abfertigungsdatum,Absender,Rechnungsbetrag Betrag ,BelegNr,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung"
|
||||
sqlstr &= " FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart"
|
||||
sqlstr &= " where EmpfängerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29)"
|
||||
|
||||
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
||||
|
||||
|
||||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\SR\"
|
||||
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
||||
My.Computer.FileSystem.CreateDirectory(sPath)
|
||||
End If
|
||||
|
||||
Dim Path = ""
|
||||
Dim exclApp As Object 'as Application
|
||||
Dim Datei As Object 'as WorkBook
|
||||
Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
|
||||
exclApp = CreateObject("Excel.Application")
|
||||
|
||||
With exclApp
|
||||
.Visible = False
|
||||
|
||||
Try
|
||||
Path = sPath & "ZF_" & von.ToShortDateString & "-" & bis.ToShortDateString & "" & " .xlsx"
|
||||
While System.IO.File.Exists(Path)
|
||||
Path = sPath & "ZF_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
|
||||
End While
|
||||
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF, False)
|
||||
Catch ex As System.Exception
|
||||
' MsgBox(ex.Message)
|
||||
MsgBox("ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace)
|
||||
|
||||
|
||||
Return ""
|
||||
End Try
|
||||
|
||||
Datei = .Workbooks.Open(Path) 'Anpassen
|
||||
Blatt = Datei.Worksheets(1) 'Anpassen
|
||||
|
||||
Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString
|
||||
|
||||
Dim cnt = 3
|
||||
For Each r In dt.Rows
|
||||
Blatt.Range("A" & cnt).Value = cnt - 2
|
||||
Blatt.Range("B" & cnt).Value = r("Abfertigungsnummer")
|
||||
' Blatt.Range("C" & cnt).Value = r("RechnungsNr")
|
||||
Blatt.Range("C" & cnt).Value = r("Abfertigungsdatum")
|
||||
Blatt.Range("D" & cnt).Value = r("Abfertigungsbezeichnung")
|
||||
Blatt.Range("E" & cnt).Value = r("Absender")
|
||||
Blatt.Range("F" & cnt).Value = "" 'r("Betrag")
|
||||
Blatt.Range("H" & cnt).Value = r("BelegNr")
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
|
||||
|
||||
Dim ZOLLANMELDUNG As New cZollsysteme_Aktenbeschriftung
|
||||
If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False) Then
|
||||
Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis
|
||||
Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine)
|
||||
Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL
|
||||
Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS
|
||||
End If
|
||||
|
||||
cnt += 1
|
||||
|
||||
Next
|
||||
|
||||
Datei.Save()
|
||||
.DisplayAlerts = False
|
||||
.quit()
|
||||
Try : Datei.close(True) : Catch : End Try
|
||||
End With
|
||||
|
||||
|
||||
'Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & KUNDENADR.FullName & "_" & von.ToShortDateString & "-" & bis.ToShortDateString)
|
||||
Dim filepath = Path
|
||||
If filepath = "" Then Return "ERROR 01: Fehler beim Erzeugen des XLS."
|
||||
|
||||
Return filepath
|
||||
Catch ex As System.Exception
|
||||
' MsgBox(ex.Message)
|
||||
Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace
|
||||
End Try
|
||||
|
||||
End Function
|
||||
|
||||
Private Sub releaseObject(ByVal obj As Object)
|
||||
Try
|
||||
System.Runtime.InteropServices.Marshal.ReleaseComObject(obj)
|
||||
@@ -1417,7 +1557,7 @@ Module Mail
|
||||
.Visible = False
|
||||
Dim filepath = sPath & "CS_Auswertung.xlsx"
|
||||
Try
|
||||
My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.cs_Aufteilung, False)
|
||||
My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.CS_Aufteilung, False)
|
||||
Catch ex As System.Exception
|
||||
' MsgBox(ex.Message)
|
||||
Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace
|
||||
@@ -1563,7 +1703,7 @@ Module Mail
|
||||
.Visible = False
|
||||
Dim filepath = sPath & "\Depot.xlsx"
|
||||
Try
|
||||
My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.depot, False)
|
||||
My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.Depot, False)
|
||||
Catch ex As System.Exception
|
||||
' MsgBox(ex.Message)
|
||||
Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace
|
||||
|
||||
@@ -128,6 +128,7 @@
|
||||
<None Include="Resources\QS_Aufteilung.xlsx">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="Resources\RG_ZF.xlsx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<WCFMetadata Include="Service References\" />
|
||||
@@ -137,6 +138,10 @@
|
||||
<Project>{a3b497bd-842c-4a2b-b398-ed1976849df1}</Project>
|
||||
<Name>VERAG_PROG_ALLGEMEIN</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\DAKOSY_Worker\DAKOSY_Worker_lib.vbproj">
|
||||
<Project>{50E8E49B-4FD9-4DD4-B159-BDC2B7D0E94F}</Project>
|
||||
<Name>DAKOSY_Worker_lib</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\UID\ADMIN.vbproj">
|
||||
<Project>{6eb4d3a4-3cf2-4651-9af9-ad5f727df403}</Project>
|
||||
<Name>ADMIN</Name>
|
||||
|
||||
12
MailSender/My Project/Resources.Designer.vb
generated
12
MailSender/My Project/Resources.Designer.vb
generated
@@ -22,7 +22,7 @@ Namespace My.Resources
|
||||
'''<summary>
|
||||
''' Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
|
||||
'''</summary>
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0"), _
|
||||
<Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0"), _
|
||||
Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _
|
||||
Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _
|
||||
Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _
|
||||
@@ -99,5 +99,15 @@ Namespace My.Resources
|
||||
Return CType(obj,Byte())
|
||||
End Get
|
||||
End Property
|
||||
|
||||
'''<summary>
|
||||
''' Sucht eine lokalisierte Ressource vom Typ System.Byte[].
|
||||
'''</summary>
|
||||
Friend ReadOnly Property RG_ZF() As Byte()
|
||||
Get
|
||||
Dim obj As Object = ResourceManager.GetObject("RG_ZF", resourceCulture)
|
||||
Return CType(obj,Byte())
|
||||
End Get
|
||||
End Property
|
||||
End Module
|
||||
End Namespace
|
||||
|
||||
@@ -130,4 +130,7 @@
|
||||
<data name="QS_Aufteilung" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\QS_Aufteilung.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="RG_ZF" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\RG_ZF.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
</root>
|
||||
BIN
MailSender/Resources/RG_ZF.xlsx
Normal file
BIN
MailSender/Resources/RG_ZF.xlsx
Normal file
Binary file not shown.
Reference in New Issue
Block a user