Neue Aufgabe, Send Mail Alle Imex Kunden ohne Abfertigung in den letzten 2 Jahren
This commit is contained in:
@@ -71,7 +71,7 @@ Module Mail
|
||||
|
||||
'PARAM = "THYSSENKRUPP_AUSWERTUNG"
|
||||
'PARAM = "JAHRESABRECHNUNG AG-ZS"
|
||||
'PARAM = "AMBAR_Datev_Mailversand_to_HK"
|
||||
'PARAM = "Imex_Kunden_keine_Abfertigung"
|
||||
|
||||
'------------------------------------------------------------------------------------
|
||||
' PARAM = "NCTSLIST_TOBB"
|
||||
@@ -283,7 +283,15 @@ Module Mail
|
||||
System.Console.WriteLine("Vorgang gestartet...")
|
||||
SendEmail_AMBARTOHKT()
|
||||
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
||||
Case "Imex_Kunden_keine_Abfertigung"
|
||||
Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
|
||||
Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
|
||||
|
||||
System.Console.WriteLine("OPTION erkannt: Imex-Kunden ohne Abfertigung – Erstellt eine monatliche Auswertung der Imex-Kunden, die in den letzten 2 Jahren keine Abfertigung hatten")
|
||||
System.Console.WriteLine("Auswertung Details gestartet...")
|
||||
If SendEmail_ImexAbfertigung("cf@verag.ag", von, bis) Then
|
||||
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
||||
End If
|
||||
Case Else
|
||||
System.Console.WriteLine("OPTION nicht erkannt!")
|
||||
End Select
|
||||
@@ -587,6 +595,41 @@ Module Mail
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Private Function SendEmail_ImexAbfertigung(Mailto As String, von As Date, bis As Date) As Boolean
|
||||
Try
|
||||
Dim excel As String = genImex_Abfertigung(von, bis)
|
||||
System.Console.WriteLine("EXCEL erstellt...")
|
||||
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
|
||||
|
||||
System.Console.WriteLine("Sende E-Mail...")
|
||||
|
||||
Dim Subject = "Imex-Kunden ohne Abfertigung "
|
||||
Dim Body = "Anbei befinden sich die Auswertung 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 diese 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,, "m.ilhan@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.MAIL)
|
||||
System.Console.WriteLine(ex.Message & ex.StackTrace)
|
||||
Return False
|
||||
End Try
|
||||
End Function
|
||||
Private Function SendEmail_Jahresauwsertung_AG_ZF(Mailto As String, abfertigungsart As Integer, Filialnr As String, von As Date, bis As Date) As Boolean
|
||||
Try
|
||||
Dim excel As String = genEXCEL_ANNA(Filialnr, abfertigungsart, von, bis)
|
||||
@@ -1554,6 +1597,60 @@ Module Mail
|
||||
|
||||
End Function
|
||||
|
||||
Public Function genImex_Abfertigung(von As Date, bis As Date) As String
|
||||
Try
|
||||
Dim sqlstr As String = ""
|
||||
|
||||
sqlstr &= "SELECT * "
|
||||
sqlstr &= "FROM ( "
|
||||
sqlstr &= " SELECT [KundenNr], [FilialenNr] "
|
||||
sqlstr &= " FROM [VERAG].[dbo].[KundenFilialen] "
|
||||
sqlstr &= " WHERE [FilialenNr] = 5501 "
|
||||
sqlstr &= ") AS kf "
|
||||
sqlstr &= "LEFT JOIN ( "
|
||||
sqlstr &= " SELECT EndempfängerKundenNr, AbsenderKundenNr, EmpfängerKundenNr, [FilialenNr], [FrachtführerKundenNr], AvisiererKundenNr, VermittlerKundenNr "
|
||||
sqlstr &= " FROM [VERAG].[dbo].[Speditionsbuch] "
|
||||
sqlstr &= " WHERE [FilialenNr] = '5501' "
|
||||
sqlstr &= " AND [Abfertigungsdatum] > DATEADD(YEAR, -2, GETDATE()) "
|
||||
sqlstr &= ") AS sped ON kf.[FilialenNr] = sped.[FilialenNr] "
|
||||
sqlstr &= "AND ( "
|
||||
sqlstr &= " sped.EndempfängerKundenNr = kf.[KundenNr] OR "
|
||||
sqlstr &= " sped.AbsenderKundenNr = kf.[KundenNr] OR "
|
||||
sqlstr &= " sped.EmpfängerKundenNr = kf.[KundenNr] OR "
|
||||
sqlstr &= " sped.AvisiererKundenNr = kf.[KundenNr] OR "
|
||||
sqlstr &= " sped.[FrachtführerKundenNr] = kf.[KundenNr] OR "
|
||||
sqlstr &= " sped.VermittlerKundenNr = kf.[KundenNr] "
|
||||
sqlstr &= ") "
|
||||
sqlstr &= "LEFT JOIN ( "
|
||||
sqlstr &= " SELECT AdressenNr, Auswahl "
|
||||
sqlstr &= " FROM [VERAG].[dbo].[Adressen] "
|
||||
sqlstr &= " WHERE Auswahl = 'A' "
|
||||
sqlstr &= ") AS Ad ON Ad.AdressenNr = kf.[KundenNr] "
|
||||
sqlstr &= "LEFT JOIN ( "
|
||||
sqlstr &= " SELECT KundenNr, [OffertenNr] "
|
||||
sqlstr &= " FROM [VERAG].[dbo].[Offerten] "
|
||||
sqlstr &= " WHERE [OffertenNr] = 1 "
|
||||
sqlstr &= ") AS o ON kf.KundenNr = o.KundenNr "
|
||||
sqlstr &= "WHERE sped.[FilialenNr] IS NULL "
|
||||
sqlstr &= "AND Ad.Auswahl = 'A' "
|
||||
sqlstr &= "AND OffertenNr = 1 "
|
||||
sqlstr &= "AND LEFT(kf.KundenNr, 1) = '1'; "
|
||||
|
||||
|
||||
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr, 300)
|
||||
|
||||
|
||||
Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_ImexAbfertigung" & "_" & von.ToShortDateString & "-" & bis.ToShortDateString)
|
||||
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
|
||||
|
||||
|
||||
Public Function genEXCEL_ANNA(FilialenNr As String, abfertigungsart As Integer, von As Date, bis As Date) As String
|
||||
Try
|
||||
@@ -2046,7 +2143,7 @@ Module Mail
|
||||
Return "ERROR: " & ex.Message
|
||||
End Try
|
||||
End Function
|
||||
Public Function loadDgvBySqlFMZOLL(ByVal sql As String) As DataTable
|
||||
Public Function loadDgvBySqlFMZOLL(ByVal sql As String, Optional CmdChangeTimeout As Integer = 0) As DataTable
|
||||
Try
|
||||
Dim myTable = New DataTable()
|
||||
Dim conn As SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionFMZOLL
|
||||
@@ -2054,6 +2151,9 @@ Module Mail
|
||||
'conn.Open()
|
||||
|
||||
Using cmd As New SqlCommand(sql, conn)
|
||||
If (CmdChangeTimeout > 0) Then
|
||||
cmd.CommandTimeout = CmdChangeTimeout
|
||||
End If
|
||||
Dim dr As SqlDataReader = cmd.ExecuteReader()
|
||||
myTable.Load(dr)
|
||||
dr.Close()
|
||||
|
||||
Reference in New Issue
Block a user