Auswertung Anna per Mailsender "-> "JAHRESABRECHNUNG AG-ZS" 1x jährlich am 20.2, Abgleich Kundenumsätze -> "ABGLEICH_KUNDENUEMSAETZE" -> nach OP einlesen!

This commit is contained in:
2024-03-05 15:49:23 +01:00
parent 9738820838
commit 75e6debff0
9 changed files with 238 additions and 64 deletions

View File

@@ -69,7 +69,7 @@ Module Mail
'Exit Sub
'PARAM = "THYSSENKRUPP_AUSWERTUNG"
'PARAM = "RED_BULL"
'PARAM = "JAHRESABRECHNUNG AG-ZS"
'PARAM = "ZF"
'------------------------------------------------------------------------------------
@@ -207,6 +207,21 @@ 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 "JAHRESABRECHNUNG AG-ZS"
Dim von = CDate("01.02." & Now.AddYears(-1).Year)
Dim bis = CDate("31.01." & Now.Year)
Dim Filialen = "'4803', '5003', '5303'"
Dim abfertigungsart = "38"
System.Console.WriteLine("OPTION erkannt: JAHRESAUSWERTUNG AG-ZS_ Erstellt eine jährliche Auswertung der Abfertigungen für die BH.")
System.Console.WriteLine("Auswertung Details gestartet...")
If SendEmail_Jahresauwsertung_AG_ZF("as.verag.ag", Filialen, abfertigungsart, von, bis) Then
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)
@@ -568,6 +583,42 @@ Module Mail
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)
System.Console.WriteLine("EXCEL erstellt...")
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
System.Console.WriteLine("Sende E-Mail...")
Dim Subject = "Auswertungen Jahresauswertung A-ZF "
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", 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_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)
@@ -1425,6 +1476,36 @@ Module Mail
End Function
Public Function genEXCEL_ANNA(FilialenNr As String, abfertigungsart As Integer, von As Date, bis As Date) As String
Try
Dim sqlstr As String = ""
sqlstr &= "SELECT count(*) as Anzahl,FilialenNr,case when KE.Veranlagungskunde = 1 Then adr.[Name 1] else adre.[Name 1] ENd as Kunde "
sqlstr &= "FROM [VERAG].[dbo].[Speditionsbuch] as SP "
sqlstr &= "left join [tblKundenErweitert] as KE on KE.kde_KundenNr = SP.EmpfängerKundenNr "
sqlstr &= "left join adressen as adr on adr.AdressenNr = SP.EmpfängerKundenNr "
sqlstr &= "left join [tblKundenErweitert] as KA on KA.kde_KundenNr = SP.VermittlerKundenNr "
sqlstr &= "left join adressen as adre on adre.AdressenNr = SP.VermittlerKundenNr "
sqlstr &= "where Abfertigungsart = " & abfertigungsart & " and Abfertigungsdatum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and FilialenNr in (" & FilialenNr & ") and (Ke.Veranlagungskunde = 1 or KA.Veranlagungskunde = 1) "
sqlstr &= "group by case when KE.Veranlagungskunde = 1 Then adr.[Name 1] else adre.[Name 1] ENd, FilialenNr order by Kunde"
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & 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_ZF(KdNr As String, von As Date, bis As Date) As String
Try