diff --git a/MailSender/MAILSender.vb b/MailSender/MAILSender.vb index 7ce08c1..210362f 100644 --- a/MailSender/MAILSender.vb +++ b/MailSender/MAILSender.vb @@ -81,7 +81,7 @@ Module Mail ' PARAM = "NCTSLIST_TOBB" ' PARAM = "NCTSLIST_TOBB" '------------------------------------------------------------------------------------ - ' PARAM = "KD_OP_Kreditlimit" + ' PARAM = "VW_DHL" 'Dim _erg = VERAG_PROG_ALLGEMEIN.cNCTS_Helper.getXLS_FremdBRG("VERAG/ATILLA", "TOBB - 15TR0004000020917 / 12TR0004000004665 / 17TR0004000032349 / 17TR0004000029518 ", " '12TR0004000004665','15TR0004000020917','17TR0004000032349','17TR0004000029518 '", CDate("07.06.2021 00:00:00"), CDate("07.06.2021 23:59:59"), True) @@ -160,6 +160,12 @@ Module Mail 'sendTOBB("IMEX", Now.AddDays(-1), Now.AddDays(-1)) sendTOBB("UNISPED", Now.AddDays(-1), Now.AddDays(-1)) + Case "VW_DHL" + System.Console.WriteLine("OPTION erkannt: VW_DHL _ Erstellt eine Liste der LKWs auf Ankunft und Freigabe des Tages.") + If SendEmail_VW_DHL_updateList({"volkswagen@verag.ag"}, {}, {"al@verag.ag"}, "VW/DHL - aktuelle LKW Liste") Then + System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") + End If + Case "BRG_AUSWERTUNG_STANDARD" System.Console.WriteLine("OPTION erkannt: BRG_AUSWERTUNG_STANDARD _ Erstellt die Auswertung der Bürgschaften.") System.Console.WriteLine("Einlesen der Bürgschaftsdaten aus ATLAS und E-ZOLL...") @@ -1190,6 +1196,98 @@ Module Mail + System.Console.WriteLine("E-Mail gesendet.") + ' MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information") + System.Console.WriteLine("Erfolgreich!") + Return True + Else + System.Console.WriteLine(excel) + End If + + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + + Private Function SendEmail_VW_DHL_updateList(Mail_to() As String, Mail_cc() As String, Mail_bcc() As String, Mail_Subject As String) As Boolean + ' send() + ' Exit Function + Dim Msg As New MailMessage + Dim myCredentials As New System.Net.NetworkCredential + 'myCredentials.UserName = "al@verag.ag" + 'myCredentials.Password = "Luxandreas#2" + + ' myCredentials.UserName = "al@verag.ag" + ' myCredentials.Password = "verag#2" + + 'myCredentials.UserName = "al@verag.ag" + 'myCredentials.Password = "verag#2" + myCredentials.UserName = "support@verag.ag" + myCredentials.Password = supportPWD + + + ' myCredentials.UserName = "testmail@verag.ag" + ' myCredentials.Password = "testmail" + Msg.IsBodyHtml = False + Dim mySmtpsvr As New SmtpClient() + ' mySmtpsvr.Host = "192.168.0.107" 'bei web.de + ' mySmtpsvr.Port = 25 '587 '25 + mySmtpsvr.Host = "owa.verag.ag" + mySmtpsvr.Port = 587 '25 '587 '25 + + mySmtpsvr.UseDefaultCredentials = False + mySmtpsvr.Credentials = myCredentials + System.Console.WriteLine("E-Mail Daten initialisiert...") + Try + Dim datum As String = Now.AddDays(-1).ToShortDateString + System.Console.WriteLine("Erstelle EXCEL...") + Dim excel As String = genEXCEL_VW_DHL() + + + System.Console.WriteLine("EXCEL erstellt...") + If excel <> "" And Not excel.StartsWith("ERROR: ") Then + + System.Console.WriteLine("Sende E-Mail...") + Msg.From = New MailAddress("support@verag.ag") + + + For Each m In Mail_to : Msg.To.Add(m) : Next + For Each m In Mail_cc : Msg.CC.Add(m) : Next + For Each m In Mail_bcc : Msg.Bcc.Add(m) : Next + Msg.Subject = Mail_Subject + + + + + ' Msg.To.Add("al@verag.ag") + Msg.Body = "Anbei befindet sich die Liste der VW/DHL LKWs." & vbNewLine & vbNewLine & "ACHTUNG: Bitte DHL Sharepoint befüllen." & vbNewLine & vbNewLine & "Stand: " & Now.ToShortDateString & " " & Now.ToShortTimeString & vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail." + + Dim attachment As Attachment = New Attachment(File.OpenRead(excel), "DHL_VW.xlsx") + + Msg.Attachments.Add(attachment) + + Try + mySmtpsvr.Send(Msg) + Catch ex As Exception + Try + mySmtpsvr.Port = 25 + mySmtpsvr.Send(Msg) + Catch ex2 As Exception + Try + mySmtpsvr.Host = "192.168.0.107" + mySmtpsvr.Port = 25 + mySmtpsvr.Send(Msg) + + Catch ex3 As Exception + MsgBox(ex3.Message & ex3.StackTrace) + Return False + End Try + End Try + End Try + + + System.Console.WriteLine("E-Mail gesendet.") ' MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information") System.Console.WriteLine("Erfolgreich!") @@ -2224,6 +2322,58 @@ Module Mail End Try End Function + Public Function genEXCEL_VW_DHL() As String + Try + + 'Dim sqlstr = "SELECT [AdressenNr],Ordnungsbegriff,Kreditlimit,sum([Offene Posten].Bruttobetrag) as OP_Saldo + ' FROM [VERAG].[dbo].[Adressen] + ' inner join Kunden on KundenNr=AdressenNr + ' inner join [Offene Posten] on KundenNrZentrale=[Offene Posten].Kontonummer + ' where Kreditlimit<>2600 + ' and (LEN(Adressennr)=6 and AdressenNr not like '40%') + ' group by [AdressenNr],Ordnungsbegriff,Kreditlimit + ' having sum([Offene Posten].Bruttobetrag) >Kreditlimit" + + Dim sqlstr = " SELECT TOP (1000) [AvisoID] LKW_Id + ,[LKW_Nr] Kennzeichen + ,[Auftraggeber] Avisierer + ,[Frächter] + ,[LetzterMitarbeiter] + ,[AvisoEingang] + ,[Datum] Erfasst + ,[Vorbereitet] + ,[Vorgeschrieben] + ,[VoraussichtlichesEintreffen] + ,[Ankunft] + ,[VerwahrungStatusDate] Kontrolle + ,[Freigabe] + ,[Dauer] + ,[Grenzstelle] + FROM [AVISO].[dbo].[Aviso] + where '768363' IN(Frächter_KdNr , Auftraggeber_KdNr) + and + ( + (Status=3 ) + OR + (Status=1 and cast(Freigabe as date)=cast(getdate() as date)) + ) + ORDER BY Ankunft, Freigabe" + + Dim dt As DataTable = loadDgvBySqlAVISO(sqlstr) + System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count) + + If dt.Rows.Count > 0 Then + genExcel(dt) + End If + + Return sPath & "TMP.xlsx" + + Catch ex As Exception + ' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + Return "ERROR: " & ex.Message + End Try + End Function + Public Function genEXCEL_Syska_UID_VERGLEICH() As String Try @@ -2476,4 +2626,26 @@ Module Mail Return Nothing End Function + + Public Function loadDgvBySqlAVISO(ByVal sql As String) As DataTable + Try + Dim myTable = New DataTable() + Dim conn As SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionAVISO + 'conn.ConnectionString = "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=SDL;Integrated Security=false;User ID=test;Password=BmWr501956;" + 'conn.Open() + + Using cmd As New SqlCommand(sql, conn) + Dim dr As SqlDataReader = cmd.ExecuteReader() + myTable.Load(dr) + dr.Close() + End Using + conn.Close() + + Return myTable + Catch ex As Exception + MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message) + End Try + + Return Nothing + End Function End Module