1326 lines
55 KiB
VB.net
1326 lines
55 KiB
VB.net
Imports System.Net.Mail
|
|
Imports System.IO
|
|
Imports System.Data.SqlClient
|
|
Imports ClosedXML.Excel
|
|
Imports DocumentFormat
|
|
Imports System.Net
|
|
|
|
Module Mail
|
|
Dim sPath As String = System.AppDomain.CurrentDomain.BaseDirectory
|
|
Dim options As String = sPath & "OPTIONS.txt" '" & Now.ToString("ddMMyyyyHHmmss") & ".csv"
|
|
Dim last_sent As String = sPath & "last_sent.txt" '" & Now.ToString("ddMMyyyyHHmmss") & ".csv"
|
|
Dim betragOpTr = 1000
|
|
Sub Main()
|
|
|
|
|
|
Dim PARAM = ""
|
|
Dim parameter() As String = Environment.GetCommandLineArgs().ToArray
|
|
If (parameter.Count - 1) >= 1 Then 'Höher als 1 weil der index 0 der Pfad zum programm ist
|
|
PARAM = parameter(1)
|
|
'For i = 1 To parameter.Count - 1
|
|
' 'If parameter(i) = "HISTORY" Then PARAM = True
|
|
' Next
|
|
End If
|
|
|
|
System.Console.WriteLine("MailSender gestartet ...")
|
|
' If IO.File.Exists(options) Then
|
|
|
|
'If Not IO.File.Exists(last_sent) Then
|
|
'IO.File.Create(last_sent)
|
|
' End If
|
|
|
|
' Dim o As String = getOption()
|
|
If PARAM = "" Then
|
|
System.Console.WriteLine("OPTION nicht erkannt!")
|
|
Exit Sub
|
|
End If
|
|
Dim cnt = 0
|
|
' MsgBox(DoesProcessExists("MailSender"))
|
|
While DoesProcessExists("MailSender") Or cnt > 20
|
|
System.Console.WriteLine("MailSender wurde nicht beendet, warten ...")
|
|
Threading.Thread.Sleep(1000)
|
|
cnt += 1
|
|
End While
|
|
If cnt >= 20 Then
|
|
System.Console.WriteLine("MailSender konnte nicht gestartet werden, da eine Insatanz noch läuft...")
|
|
Else
|
|
' PARAM = "BRG_AUSWERTUNG_STANDARD"
|
|
Select Case PARAM
|
|
Case "KD_TR_OP5000"
|
|
System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000 _ Erstellt eine Liste türkischer Kunden und versendet diese an Mestan und Bahadir.")
|
|
If SendEmail_KD_TR_OP5000("VERAG") Then
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "KD_TR_OP5000_ATILLA"
|
|
System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000_ATILLA _ Erstellt eine Liste türkischer Kunden von ATILLA.")
|
|
If SendEmail_KD_TR_OP5000("ATILLA") Then
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "KD_TR_OP5000_IMEX"
|
|
System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000_IMEX _ Erstellt eine Liste türkischer Kunden von IMEX.")
|
|
If SendEmail_KD_TR_OP5000("IMEX") 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...")
|
|
einlesenBRG()
|
|
System.Console.WriteLine("Einlesen abgeschlossen...")
|
|
System.Console.WriteLine("Auswertung gestartet...")
|
|
If SendEmail_BRG_Auswertung(IIf(Now.DayOfWeek = 1, True, False)) Then
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "BRG_AUSWERTUNG_DETAILS"
|
|
System.Console.WriteLine("OPTION erkannt: BRG_AUSWERTUNG_DETAILS _ Erstellt die Auswertung der Bürgschaften mit Details.")
|
|
System.Console.WriteLine("Einlesen der Bürgschaftsdaten aus ATLAS und E-ZOLL...")
|
|
einlesenBRG()
|
|
System.Console.WriteLine("Einlesen abgeschlossen...")
|
|
System.Console.WriteLine("Auswertung Details gestartet...")
|
|
If SendEmail_BRG_Auswertung(IIf(Now.DayOfWeek = 1, True, False), True) Then 'für Andreas Details
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "WOELFL"
|
|
System.Console.WriteLine("OPTION erkannt: WOELFL ")
|
|
System.Console.WriteLine("Starte Wölfl-Mail...")
|
|
If SendEmail_WOELFL() Then
|
|
Try
|
|
Dim outFile As IO.StreamWriter = Nothing
|
|
outFile = My.Computer.FileSystem.OpenTextFileWriter(last_sent, False)
|
|
outFile.Write(Now.AddDays(-1).ToShortDateString)
|
|
outFile.Close()
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End If
|
|
Case "QS_AUFTEILUNG"
|
|
System.Console.WriteLine("OPTION erkannt: QS_AUFTEILUNG _ Erstellt die Auswertung der QS-AUFTEILUNG.")
|
|
System.Console.WriteLine("Auswertung gestartet...")
|
|
If SendEmail_QS_Auswertung() Then 'für Andreas Details
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "CS_AUFTEILUNG"
|
|
System.Console.WriteLine("OPTION erkannt: CS_AUFTEILUNG _ Erstellt die Auswertung der FISKAL-AUFTEILUNG.")
|
|
System.Console.WriteLine("Auswertung gestartet...")
|
|
If SendEmail_CS_Auswertung() Then 'für Andreas Details
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "MDM_Zollbuero_Verguetung"
|
|
System.Console.WriteLine("OPTION erkannt: MDM_Zollbuero_Verguetung _ Erstellt die Auswertung der durchgeführten MWST-Auszahlungen und MD-Kartenausgabe.")
|
|
System.Console.WriteLine("Auswertung gestartet...")
|
|
If MDM_Zollbuero_Verguetung() Then 'für Andreas Details
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "Kassenbuch_Zufall"
|
|
System.Console.WriteLine("OPTION erkannt: Kassenbuch_Zufall - Zufallsziehung zur Kassenkontrolle.")
|
|
System.Console.WriteLine("Vorgang gestartet...")
|
|
If SendEmail_Kassenbuch_Zufall() Then 'für Andreas Details
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
End If
|
|
Case "DEPOT_Kunden_Auswertung"
|
|
System.Console.WriteLine("OPTION erkannt: DEPOT_Kunden_Auswertung")
|
|
System.Console.WriteLine("Vorgang gestartet...")
|
|
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
Dim dt As DataTable = SQL.loadDgvBySql("SELECT KundenNrZentrale FROM [tblKundenErweitert] INNER JOIN Kunden on kundennr= kde_KundenNr where Depot_Kunde = 1", "FMZOLL")
|
|
If dt IsNot Nothing Then
|
|
For Each r In dt.Rows
|
|
DEPOT_Kunden_Auswertung(r("KundenNrZentrale"))
|
|
Next
|
|
End If
|
|
System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...")
|
|
|
|
Case Else
|
|
System.Console.WriteLine("OPTION nicht erkannt!")
|
|
|
|
|
|
|
|
End Select
|
|
|
|
End If
|
|
' Else
|
|
' System.Console.WriteLine("OPTIONS-Datei nicht gefunden! " & options)
|
|
' End If
|
|
|
|
Threading.Thread.Sleep(1000)
|
|
' System.Console.WriteLine("Programm beendet in 5")
|
|
' Threading.Thread.Sleep(1000)
|
|
' System.Console.WriteLine("Programm beendet in 4")
|
|
' Threading.Thread.Sleep(1000)
|
|
System.Console.WriteLine("Programm beendet in 3")
|
|
Threading.Thread.Sleep(1000)
|
|
System.Console.WriteLine("Programm beendet in 2")
|
|
Threading.Thread.Sleep(1000)
|
|
System.Console.WriteLine("Programm beendet in 1")
|
|
Threading.Thread.Sleep(1000)
|
|
End Sub
|
|
|
|
Function getOption() As String
|
|
Try
|
|
Dim instr = New StreamReader(options)
|
|
Dim d = instr.ReadLine
|
|
instr.Close()
|
|
Return d
|
|
Catch ex As Exception
|
|
Return ""
|
|
End Try
|
|
End Function
|
|
Private Function DoesProcessExists(ByVal PName As String) As Boolean
|
|
Dim cnt = 0
|
|
For Each p As Process In System.Diagnostics.Process.GetProcessesByName(PName)
|
|
'MsgBox("found" & p.StartInfo.UserName)
|
|
'If p.StartInfo.UserName = Environment.UserName Then
|
|
cnt += 1
|
|
'End If
|
|
Next
|
|
If cnt > 1 Then Return True
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Private Function SendEmail_Kassenbuch_Zufall() As Boolean
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "support"
|
|
|
|
|
|
' 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("Sende E-Mail...")
|
|
Msg.From = New MailAddress("support@verag.ag")
|
|
|
|
Msg.IsBodyHtml = True
|
|
Msg.To.Add("al@verag.ag")
|
|
' Msg.CC.Add("al@verag.ag")
|
|
|
|
Msg.Subject = "Kassenprüfung - Zufallsziehung"
|
|
|
|
Msg.Body &= "<span style=""font-family:Arial"">"
|
|
Msg.Body = "Folgende Kasse ist zu kontrollieren und ein Kassensturz durchzuführen:"
|
|
Msg.Body &= "<br><br>"
|
|
Msg.Body &= "Per Zufallsgenerator gezogene Kasse: <b>" & (New VERAG_PROG_ALLGEMEIN.SQL).getValueTxtBySql("Select TOP 1 [Name] + ', KB-Nr.: ' + cast([KassenbuchNr] as varchar) FROM [VERAG].[dbo].[Personal] where Mandant='VERA' AND [Status]='A' AND BLC='R' AND SBSichtbar=1 and KassenbuchNr is not null ORDER BY NEWID()", "FMZOLL") & "</b>"
|
|
Msg.Body &= "<br><br><br>"
|
|
Msg.Body &= "Automatisch generiertes E-Mail."
|
|
Msg.Body &= "</span>"
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
|
|
|
|
|
|
|
|
Private Function DEPOT_Kunden_Auswertung(KundenNr) As Boolean
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
'!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "support"
|
|
|
|
|
|
' myCredentials.UserName = "testmail@verag.ag"
|
|
' myCredentials.Password = "testmail"
|
|
Msg.IsBodyHtml = True
|
|
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
|
|
System.Console.WriteLine("Erstelle EXCEL...")
|
|
Dim excel As String = genEXCEL_DEPOT(KundenNr)
|
|
MsgBox(excel)
|
|
System.Console.WriteLine("EXCEL erstellt...")
|
|
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
|
|
|
|
System.Console.WriteLine("Sende E-Mail...")
|
|
Msg.From = New MailAddress("al@verag.ag")
|
|
|
|
Msg.To.Add("al@verag.ag") 'Detailierter Bericht nur an al@verag.ag
|
|
|
|
|
|
Msg.Subject = "Auswertung DEPOT"
|
|
Msg.Body = "<p style='12pt Arial'>"
|
|
Msg.Body &= "Anbei befinden sich die Auswertung Ihres Depot-Kontos<br><br>Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString
|
|
Msg.Body &= "<br><br><br>Automatisch generiertes E-Mail."
|
|
Msg.Body &= "</p>"
|
|
|
|
Dim attachment1 As Attachment = New Attachment(File.OpenRead(excel), "Auswertung.xlsx")
|
|
Msg.Attachments.Add(attachment1)
|
|
|
|
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
Else
|
|
System.Console.WriteLine(excel)
|
|
End If
|
|
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
|
|
Return False
|
|
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
|
|
myCredentials.UserName = "al@verag.ag"
|
|
myCredentials.Password = "verag#2"
|
|
|
|
|
|
|
|
' 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_BRG(details)
|
|
Dim excelKW As String = IIf(wochenAuswertung, genEXCEL_BRGKW(), "")
|
|
System.Console.WriteLine("EXCEL erstellt...")
|
|
If excel <> "" And Not excel.StartsWith("ERROR: ") And Not excelKW.StartsWith("ERROR: ") Then
|
|
|
|
System.Console.WriteLine("Sende E-Mail...")
|
|
Msg.From = New MailAddress("al@verag.ag")
|
|
|
|
If details Then
|
|
Msg.To.Add("al@verag.ag") 'Detailierter Bericht nur an al@verag.ag
|
|
Else
|
|
Msg.To.Add("jl@verag.ag") 'Standardberichte an jl@verag.ag; al@verag.ag
|
|
Msg.CC.Add("al@verag.ag")
|
|
End If
|
|
|
|
Msg.Subject = IIf(wochenAuswertung, "Auswertungen der Bürgschaften", "Auswertung der Bürgschaften") & IIf(details, " - Details", "")
|
|
Msg.Body = IIf(wochenAuswertung, "Anbei befinden sich die Auswertungen der Bürgschaften", "Anbei befindet sich die Auswertung der Bürgschaften") &
|
|
"." & vbNewLine & vbNewLine & "Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
|
|
vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail."
|
|
|
|
Dim attachment1 As Attachment = New Attachment(File.OpenRead(excel), "Auswertung.xlsx")
|
|
Msg.Attachments.Add(attachment1)
|
|
|
|
If wochenAuswertung Then
|
|
Dim attachment2 As Attachment = New Attachment(File.OpenRead(excelKW), "Auswertung_Atilla_Durmaz.xlsx")
|
|
Msg.Attachments.Add(attachment2)
|
|
End If
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
Else
|
|
System.Console.WriteLine(excel)
|
|
System.Console.WriteLine(excelKW)
|
|
End If
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
Private Function SendEmail_QS_Auswertung() As Boolean
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "al@verag.ag"
|
|
myCredentials.Password = "verag#2"
|
|
|
|
|
|
|
|
' 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_QS()
|
|
System.Console.WriteLine("EXCEL erstellt...")
|
|
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
|
|
|
|
System.Console.WriteLine("Sende E-Mail...")
|
|
Msg.From = New MailAddress("al@verag.ag")
|
|
|
|
|
|
Msg.To.Add("jl@verag.ag")
|
|
Msg.Bcc.Add("al@verag.ag")
|
|
' Msg.Bcc.Add("ga@verag.ag")
|
|
|
|
Msg.Subject = "Auswertung QS-Aufteilung"
|
|
Msg.Body = "Anbei befindet sich die Auswertung der QS-Aufteilung" &
|
|
"." & vbNewLine & vbNewLine & "Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
|
|
vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail."
|
|
|
|
Dim attachment1 As Attachment = New Attachment(File.OpenRead(excel), "Auswertung.xlsx")
|
|
Msg.Attachments.Add(attachment1)
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
Else
|
|
System.Console.WriteLine(excel)
|
|
End If
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
Private Function SendEmail_CS_Auswertung() As Boolean
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "al@verag.ag"
|
|
myCredentials.Password = "verag#2"
|
|
|
|
Msg.IsBodyHtml = False
|
|
Dim mySmtpsvr As New SmtpClient()
|
|
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_CS()
|
|
System.Console.WriteLine("EXCEL erstellt...")
|
|
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
|
|
|
|
System.Console.WriteLine("Sende E-Mail...")
|
|
Msg.From = New MailAddress("al@verag.ag")
|
|
|
|
|
|
Msg.To.Add("jl@verag.ag")
|
|
Msg.Bcc.Add("al@verag.ag")
|
|
Msg.Bcc.Add("cw@verag.ag")
|
|
|
|
|
|
Msg.Subject = "Auswertung FISKAL-Aufteilung (Customs Service GmbH)"
|
|
Msg.Body = "Anbei befindet sich die Auswertung der FISKAL-Aufteilung (Customs Service GmbH)" &
|
|
"." & vbNewLine & vbNewLine & "Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
|
|
vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail."
|
|
|
|
Dim attachment1 As Attachment = New Attachment(File.OpenRead(excel), "Auswertung.xlsx")
|
|
Msg.Attachments.Add(attachment1)
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
Else
|
|
System.Console.WriteLine(excel)
|
|
End If
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
Private Function MDM_Zollbuero_Verguetung() As Boolean
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "al@verag.ag"
|
|
myCredentials.Password = "verag#2"
|
|
|
|
Msg.IsBodyHtml = False
|
|
Dim mySmtpsvr As New SmtpClient()
|
|
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_MDM_ZOLL()
|
|
System.Console.WriteLine("EXCEL erstellt...")
|
|
If excel <> "" And Not excel.StartsWith("ERROR: ") Then
|
|
|
|
System.Console.WriteLine("Sende E-Mail...")
|
|
Msg.From = New MailAddress("al@verag.ag")
|
|
|
|
|
|
Msg.To.Add("al@verag.ag")
|
|
|
|
' Msg.To.Add("jl@verag.ag")
|
|
' Msg.Bcc.Add("al@verag.ag")
|
|
' Msg.Bcc.Add("cw@verag.ag")
|
|
|
|
|
|
Msg.Subject = "Auswertung MDM-ZOLL Vergütung"
|
|
Msg.Body = "Anbei befindet sich die Auswertung der MDM-ZOLL Vergütung" &
|
|
"." & vbNewLine & vbNewLine & "Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString &
|
|
vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail."
|
|
|
|
Dim attachment1 As Attachment = New Attachment(File.OpenRead(excel), "Auswertung.xlsx")
|
|
Msg.Attachments.Add(attachment1)
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
Else
|
|
System.Console.WriteLine(excel)
|
|
End If
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
|
|
|
|
Private Function SendEmail_KD_TR_OP5000(Optional firma As String = "VERAG") 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 = "support"
|
|
|
|
|
|
' 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 = ""
|
|
Select Case firma
|
|
Case "ATILLA"
|
|
excel = genEXCEL_TR_ATILLA()
|
|
Case "IMEX"
|
|
excel = genEXCEL_TR_IMEX()
|
|
Case "VERAG"
|
|
excel = genEXCEL_TR()
|
|
End Select
|
|
|
|
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")
|
|
Select Case firma
|
|
Case "ATILLA"
|
|
Msg.Subject = "Kunden TR - Offene Rechnungen - ATILLA"
|
|
' Msg.To.Add("mestan@verag.ag")
|
|
Msg.To.Add("verimex@verimex360.com")
|
|
Msg.Bcc.Add("al@verag.ag")
|
|
Case "IMEX"
|
|
Msg.Subject = "Kunden TR - Offene Rechnungen - IMEX"
|
|
Msg.Bcc.Add("al@verag.ag")
|
|
Msg.To.Add("mario.hoefer@imex-group.at")
|
|
Msg.CC.Add("viktoria.leirich@imex-group.at")
|
|
Msg.CC.Add("verimex@verimex360.com")
|
|
Case "VERAG"
|
|
Msg.Subject = "Kunden TR - Offene Rechnungen"
|
|
Msg.To.Add("mestan@verag.ag")
|
|
Msg.CC.Add("verimex@verimex360.com")
|
|
Msg.Bcc.Add("al@verag.ag")
|
|
End Select
|
|
|
|
' Msg.To.Add("al@verag.ag")
|
|
Msg.Body = "Anbei befindet sich die Liste der türkischen Kunden mit einem offenen Rechnungsbetrag von über 1.000,- EUR." & vbNewLine & vbNewLine & "Stand: " & Now.ToShortDateString & " " & Now.ToShortTimeString & vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail."
|
|
|
|
Dim attachment As Attachment = New Attachment(File.OpenRead(excel), "Kundenliste.xlsx")
|
|
|
|
Msg.Attachments.Add(attachment)
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
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
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
Private Sub send()
|
|
Dim message As New MailMessage("al@verag.ag", "al@verag.ag", "Test", "Testmail")
|
|
|
|
Dim client As New SmtpClient("http://192.168.0.107/")
|
|
client.Credentials = New NetworkCredential("al@verag.ag", "verag#2")
|
|
client.Send(message)
|
|
End Sub
|
|
|
|
|
|
|
|
Private Function SendEmail_WOELFL() As Boolean
|
|
Dim Msg As New MailMessage
|
|
Dim myCredentials As New System.Net.NetworkCredential
|
|
myCredentials.UserName = "support@verag.ag"
|
|
myCredentials.Password = "support"
|
|
|
|
|
|
' 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
|
|
Dim von = getDateFromFile()
|
|
If von = "" Then von = datum
|
|
Dim bis = datum
|
|
System.Console.WriteLine("Erstelle CSV...")
|
|
Dim csv As String = genCSV(von, bis)
|
|
System.Console.WriteLine("CSV erstellt...")
|
|
If csv <> "" And Not csv.StartsWith("ERROR: ") Then
|
|
System.Console.WriteLine("Sende E-Mail...")
|
|
Msg.From = New MailAddress("support@verag.ag")
|
|
Msg.To.Add("al@verag.ag")
|
|
Msg.Subject = "VERAG: Gutschriften/Rechnungen " & von & "-" & bis
|
|
Msg.Body = "Sehr geehrte Damen und Herren," & vbNewLine & vbNewLine & "anbei erhalten Sie die Gutschriften/Rechnungen im Zeitraum: " & von & "-" & bis & ". " & vbNewLine & vbNewLine & "Mit frendlichen Grüßen " & vbNewLine & "Ihr VERAG MDM-TEAM" & vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail."
|
|
|
|
Dim attachment As Attachment = New Attachment(File.OpenRead(csv), "WOELFL_" & von & "-" & bis & ".csv")
|
|
Msg.Attachments.Add(attachment)
|
|
|
|
mySmtpsvr.Send(Msg)
|
|
|
|
System.Console.WriteLine("E-Mail gesendet.")
|
|
' MsgBox("E-Mail gesendet.", MsgBoxStyle.Information, Title:="Information")
|
|
System.Console.WriteLine("Erfolgreich!")
|
|
Return True
|
|
Else
|
|
System.Console.WriteLine(csv)
|
|
|
|
End If
|
|
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
|
|
Return False
|
|
End Function
|
|
|
|
|
|
Function getDateFromFile() As String
|
|
Try
|
|
Dim instr = New StreamReader(last_sent)
|
|
Dim d As Date = CDate(instr.ReadLine).AddDays(1)
|
|
instr.Close()
|
|
Return d
|
|
Catch ex As Exception
|
|
Return ""
|
|
End Try
|
|
End Function
|
|
|
|
Sub genExcel(dt As DataTable)
|
|
Dim wb As New XLWorkbook()
|
|
|
|
' Dim wb As New ClosedXML.Excel.XLWorkbook
|
|
wb.Worksheets.Add(dt, "Kundenliste")
|
|
wb.SaveAs(sPath & "TMP.xlsx")
|
|
|
|
End Sub
|
|
Public Function genCSV(von, bis) As String
|
|
Try
|
|
|
|
|
|
Dim sqlstr = " SELECT CASE [BelegartenNr] WHEN 71 THEN 'GS' " &
|
|
" WHEN 70 THEN 'RG' " &
|
|
" END AS [BelegArt] " &
|
|
" ,[RechnungsNr] " &
|
|
" ,CONVERT(VARCHAR(10), [RechnungsDatum], 104) as [RechnungsDatum] " &
|
|
" ,[FilialenNr],[AbfertigungsNr],[UnterNr] " &
|
|
" ,CONVERT(VARCHAR(10), [Abfertigungsdatum], 104) as [Abfertigungsdatum] " &
|
|
" ,isnull(Adressen.WölflKundenNr,'') as WölflKundenNr " &
|
|
" ,CASE WHEN [EmpfängerStraße] IS NULL THEN [EmpfängerName 1] " &
|
|
" ELSE [EmpfängerName 1] + ' ' +[EmpfängerName 2] " &
|
|
" END AS [Empfänger] " &
|
|
" ,CASE WHEN [EmpfängerStraße] IS NULL THEN [EmpfängerName 2] " &
|
|
" ELSE [EmpfängerStraße] " &
|
|
" END AS [EmpfängerAdresse 1] " &
|
|
" ,[EmpfängerOrt] as [EmpfängerAdresse 2] " &
|
|
" ,[Packstücke und Warenbezeichnung] as Beschreibung,[LeistungsNr],[LeistungsBez],[Steuersatz %] ,[SteuerpflichtigerGesamtbetrag] as [SteuerpflichtigerGesamtbetrag Netto] " &
|
|
" ,[SteuerfreierGesamtbetrag],[SteuerpflichtigerBetrag] as [SteuerpflichtigerBetrag Netto] ,[SteuerfreierBetrag] " &
|
|
" FROM [VERAG].[dbo].[Rechnungsausgang] inner join [VERAG].[dbo].[RechnungsausgangPositionen] on Rechnungsausgang.[RK_ID]=RechnungsausgangPositionen.[RK_ID] " &
|
|
" inner join [VERAG].[dbo].Adressen on Rechnungsausgang.EmpfängerKundenNr=Adressen.AdressenNr " &
|
|
" WHERE RechnungsKundenNr = 150000 " &
|
|
" and RechnungsDatum between '" & von & "' and '" & bis & "'"
|
|
' MsgBox(sqlstr)
|
|
' Dim SQL As New System.Data.Sql
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
|
|
|
|
Dim fn As String = sPath & "WOELFL.csv" '" & Now.ToString("ddMMyyyyHHmmss") & ".csv"
|
|
Dim outFile As IO.StreamWriter = Nothing
|
|
Try
|
|
outFile = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Return "ERROR: Schreibfehler"
|
|
End Try
|
|
|
|
System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count)
|
|
|
|
If dt.Rows.Count = 0 Then
|
|
Return "ERROR: KEINE DATEN"
|
|
End If
|
|
|
|
Dim clmns As String = ""
|
|
For i = 0 To dt.Columns.Count - 1
|
|
clmns &= dt.Columns(i).ColumnName.ToString().Replace(";", ",") & ";"
|
|
Next
|
|
|
|
outFile.WriteLine(clmns)
|
|
For i = 0 To dt.Rows.Count - 1
|
|
clmns = ""
|
|
For j = 0 To dt.Columns.Count - 1
|
|
Dim o As Object = dt.Rows(i).Item(j).ToString
|
|
clmns &= dt.Rows(i).Item(j).ToString() & ";"
|
|
Next
|
|
outFile.WriteLine(clmns)
|
|
Next
|
|
outFile.Close()
|
|
Return fn
|
|
|
|
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_BRG(Optional details As Boolean = False) As String
|
|
Try
|
|
|
|
Dim cProgramFunctions As New ADMIN.cProgramFunctions
|
|
' cProgramFunctions.EINLESEN(Now.AddDays(-8).ToShortDateString, Now.ToShortDateString)
|
|
|
|
Dim tage As Integer = 7
|
|
Dim startdate As Date = Now.AddDays(-1)
|
|
' Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\Bürgschaften\" ' My.Computer.FileSystem.GetTempFileName
|
|
'If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
|
'My.Computer.FileSystem.CreateDirectory(sPath)
|
|
'End If
|
|
|
|
Return cProgramFunctions.genEXCEL_Auswertungen(sPath, tage, startdate, details, details, False)
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
|
|
Return "ERROR 03: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
End Function
|
|
|
|
Public Function genEXCEL_QS() As String
|
|
Try
|
|
|
|
Dim sqlstr As String = ""
|
|
|
|
Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
|
|
Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
|
|
|
|
sqlstr &= " SELECT Aviso.[Grenzstelle], SUM(Speditionsbuch.Abfertigungsanzahl) as Anzahl FROM Speditionsbuch INNER JOIN [BUCHHALTUNG\SQLEXPRESS].AVISO.dbo.AVISO on Aviso.avisoid=Speditionsbuch.AvisoID WHERE PersonalnummerQS is not null "
|
|
sqlstr &= " and FilialenNr NOT IN ( 4801,4806,5501 ) "
|
|
sqlstr &= " and Abfertigungsdatum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " &
|
|
" GROUP BY Aviso.[Grenzstelle]" &
|
|
" ORDER BY Anzahl DESC"
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
|
|
Dim exclApp As Object 'as Application
|
|
Dim Datei As Object 'as WorkBook
|
|
Dim Blatt As Object 'as WorkSheet
|
|
exclApp = CreateObject("Excel.Application")
|
|
|
|
With exclApp
|
|
.Visible = False
|
|
Dim filepath = sPath & "QS_Auswertung.xlsx"
|
|
Try
|
|
My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.QS_Aufteilung, False)
|
|
Catch ex As System.Exception
|
|
' MsgBox(ex.Message)
|
|
Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
|
|
Datei = .Workbooks.Open(filepath) 'Anpassen
|
|
Blatt = Datei.Worksheets("QS") 'Anpassen
|
|
|
|
Dim cnt = 0
|
|
For Each r In dt.Rows
|
|
Blatt.Range("A" & (4 + cnt)).Value = r("Grenzstelle")
|
|
Blatt.Range("B" & (4 + cnt)).Value = r("Anzahl")
|
|
cnt += 1
|
|
Next
|
|
Blatt.Range("D1").Value = von.ToShortDateString
|
|
Blatt.Range("F1").Value = bis.ToShortDateString
|
|
|
|
Datei.Save()
|
|
.DisplayAlerts = False
|
|
.quit()
|
|
Try : Datei.close(True) : Catch : End Try
|
|
|
|
Return filepath
|
|
End With
|
|
Catch ex As System.Exception
|
|
' MsgBox(ex.Message)
|
|
Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function genEXCEL_CS() As String
|
|
Try
|
|
|
|
Dim sqlstr As String = ""
|
|
|
|
Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
|
|
Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
|
|
|
|
sqlstr &= " SELECT Aviso.[Grenzstelle], SUM(Speditionsbuch.Abfertigungsanzahl) as Anzahl FROM Speditionsbuch INNER JOIN [BUCHHALTUNG\SQLEXPRESS].AVISO.dbo.AVISO on Aviso.avisoid=Speditionsbuch.AvisoID WHERE Abfertigungsart IN (26,28) "
|
|
sqlstr &= " AND Aviso.[Grenzstelle] <> 'SFD' and FilialenNr NOT IN ( 4801,4806 ) "
|
|
sqlstr &= " and Abfertigungsdatum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " &
|
|
" GROUP BY Aviso.[Grenzstelle]" &
|
|
" ORDER BY Anzahl DESC"
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
|
|
Dim exclApp As Object 'as Application
|
|
Dim Datei As Object 'as WorkBook
|
|
Dim Blatt As Object 'as WorkSheet
|
|
exclApp = CreateObject("Excel.Application")
|
|
|
|
With exclApp
|
|
.Visible = False
|
|
Dim filepath = sPath & "CS_Auswertung.xlsx"
|
|
Try
|
|
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
|
|
End Try
|
|
|
|
Datei = .Workbooks.Open(filepath) 'Anpassen
|
|
Blatt = Datei.Worksheets("CS") 'Anpassen
|
|
|
|
Dim cnt = 0
|
|
For Each r In dt.Rows
|
|
Blatt.Range("A" & (4 + cnt)).Value = r("Grenzstelle")
|
|
Blatt.Range("B" & (4 + cnt)).Value = r("Anzahl")
|
|
cnt += 1
|
|
Next
|
|
Blatt.Range("D1").Value = von.ToShortDateString
|
|
Blatt.Range("F1").Value = bis.ToShortDateString
|
|
|
|
Datei.Save()
|
|
.DisplayAlerts = False
|
|
.quit()
|
|
Try : Datei.close(True) : Catch : End Try
|
|
|
|
Return filepath
|
|
End With
|
|
Catch ex As System.Exception
|
|
' MsgBox(ex.Message)
|
|
Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
|
|
Public Function genEXCEL_MDM_ZOLL() As String
|
|
Try
|
|
|
|
|
|
Dim exclApp As Object 'as Application
|
|
Dim Datei As Object 'as WorkBook
|
|
Dim Blatt As Object 'as WorkSheet
|
|
exclApp = CreateObject("Excel.Application")
|
|
|
|
With exclApp
|
|
.Visible = False
|
|
Dim filepath = sPath & "MDM_ZOLL_Verguetung.xlsx"
|
|
Try
|
|
My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.MDM_ZOLL_Verguetung, False)
|
|
Catch ex As System.Exception
|
|
' MsgBox(ex.Message)
|
|
Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
|
|
Datei = .Workbooks.Open(filepath) 'Anpassen
|
|
Blatt = Datei.Worksheets("CS") 'Anpassen
|
|
|
|
Blatt.Range("E1").Value = Now.Year
|
|
|
|
|
|
' Dim von = CDate("01." & Now.AddMonths(-1) & "." & Now.AddMonths(-1).Year)
|
|
|
|
For i = 1 To Now.AddMonths(-1).Month
|
|
Dim year = Now.AddMonths(-1).Year
|
|
Dim sqlstr As String = ""
|
|
|
|
' Dim bis = von.AddMonths(1).AddDays(-1)
|
|
|
|
Dim von = CDate("01." & i & "." & year)
|
|
Dim bis = CDate("01." & i & "." & year).AddMonths(1).AddDays(-1)
|
|
|
|
sqlstr &= " SELECT count(*)"
|
|
sqlstr &= " FROM tblEABelegnummer as EAB inner join tblEABelegposition as POS on EAB.Mandant=POS.Mandant and EAB.[Niederlassung]=POS.[Niederlassung] and EAB.[Benutzer]=POS.[Benutzer] and EAB.[BelegDat]=POS.[BelegDat] and EAB.[BelegNr]=POS.[BelegNr]"
|
|
sqlstr &= " where LeistungsNr=480 and [EAB].BelegDat between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and gebucht=1 and storniert=0 "
|
|
|
|
Dim anzahl = 0
|
|
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
|
|
anzahl = dt.Rows(0)(0)
|
|
End If
|
|
Blatt.Range("D" & (7 + i)).Value = anzahl
|
|
|
|
|
|
|
|
sqlstr = " SELECT COUNT(*) FROM [tblSDLAbholung] where sdlAb_Storniert=0 and sdlAb_FahrerAbholAuftrag=1 and sdlAb_Abholung between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
|
|
anzahl = 0
|
|
|
|
Dim dt2 = loadDgvBySqlSDL(sqlstr)
|
|
If dt2 IsNot Nothing AndAlso dt2.Rows.Count > 0 Then
|
|
anzahl = dt2.Rows(0)(0)
|
|
End If
|
|
|
|
|
|
Blatt.Range("B" & (7 + i)).Value = anzahl
|
|
|
|
Next
|
|
|
|
|
|
|
|
|
|
Datei.Save()
|
|
.DisplayAlerts = False
|
|
.quit()
|
|
Try : Datei.close(True) : Catch : End Try
|
|
|
|
Return filepath
|
|
End With
|
|
Catch ex As System.Exception
|
|
' MsgBox(ex.Message)
|
|
Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
|
|
Public Function genEXCEL_DEPOT(KundenNr) As String
|
|
Try
|
|
|
|
Dim sqlstr As String = ""
|
|
|
|
|
|
|
|
sqlstr &= " Select [Belegnummer] As [Rechnungsnummer/BelegNr], CONVERT(Date,[Belegdatum] ,4) As Belegdatum "
|
|
sqlstr &= " ,[Gesamtausstand] as Betrag,[Buchungstext],Rechnungsausgang.Abfertigungsdatum "
|
|
sqlstr &= " , (SELECT TOP 1 Abfertigungsbezeichnung FROM Speditionsbuch INNER JOIN Abfertigungsarten ON Abfertigungsarten.Abfertigungsart= Speditionsbuch.Abfertigungsart WHERE Speditionsbuch.AbfertigungsNr=[Rechnungsausgang].AbfertigungsNr And Speditionsbuch.FilialenNr=[Rechnungsausgang].FilialenNr) as Abfertigungsart "
|
|
sqlstr &= " ,Rechnungsausgang.[Packstücke und Warenbezeichnung] "
|
|
sqlstr &= " FROM [Offene Posten] "
|
|
sqlstr &= " Left Join [Rechnungsausgang] on [Rechnungsausgang].RechnungsNr=(case WHEN isnumeric(Belegnummer)=1 THEN Belegnummer ELSE -1 END ) "
|
|
sqlstr &= " where Kontonummer = 716257 And [Offene Posten].Firma_ID=1 "
|
|
sqlstr &= " order by Belegdatum, op_id "
|
|
|
|
' sqlstr &= " SELECT * FROM [Offene Posten] where Kontonummer= " & KundenNr
|
|
' sqlstr &= " ORDER BY SSMA_TimeStamp"
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
|
|
Dim exclApp As Object 'as Application
|
|
Dim Datei As Object 'as WorkBook
|
|
Dim Blatt As Object 'as WorkSheet
|
|
exclApp = CreateObject("Excel.Application")
|
|
|
|
With exclApp
|
|
.Visible = False
|
|
Dim filepath = sPath & "\Depot.xlsx"
|
|
Try
|
|
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
|
|
End Try
|
|
MsgBox(filepath)
|
|
Datei = .Workbooks.Open(filepath) 'Anpassen
|
|
Blatt = Datei.Worksheets(1) 'Anpassen
|
|
|
|
Dim cnt = 0
|
|
For Each r In dt.Rows
|
|
Blatt.Range("A" & (4 + cnt)).Value = r("Belegdatum")
|
|
Blatt.Range("B" & (4 + cnt)).Value = r("Belegnummer")
|
|
Blatt.Range("C" & (4 + cnt)).Value = r("Bruttobetrag")
|
|
Blatt.Range("D" & (4 + cnt)).Value = r("Waehrung")
|
|
Blatt.Range("E" & (4 + cnt)).Value = r("Buchungstext")
|
|
Blatt.Range("F" & (4 + cnt)).Value = r("KumSaldoEUR")
|
|
Blatt.Range("G" & (4 + cnt)).Value = r("Bemerkung")
|
|
cnt += 1
|
|
Next
|
|
Blatt.Range("E1").Value = Now.ToShortDateString
|
|
|
|
Datei.Save()
|
|
.DisplayAlerts = False
|
|
.quit()
|
|
Try : Datei.close(True) : Catch : End Try
|
|
|
|
Return filepath
|
|
End With
|
|
Catch ex As System.Exception
|
|
' MsgBox(ex.Message)
|
|
Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
Sub einlesenBRG()
|
|
Dim cProgramFunctions As New ADMIN.cProgramFunctions
|
|
cProgramFunctions.EINLESEN(Now.AddDays(-8).ToShortDateString, Now.ToShortDateString)
|
|
End Sub
|
|
Public Function genEXCEL_BRGKW() As String
|
|
Try
|
|
Dim cProgramFunctions As New ADMIN.cProgramFunctions
|
|
' cProgramFunctions.EINLESEN(Now.AddDays(-8), Now)
|
|
|
|
Dim tage As Integer = 7
|
|
Dim startdate As Date = Now.AddDays(-1)
|
|
' Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\Bürgschaften\" ' My.Computer.FileSystem.GetTempFileName
|
|
'If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
|
'My.Computer.FileSystem.CreateDirectory(sPath)
|
|
'End If
|
|
|
|
Return cProgramFunctions.genEXCEL_AuswertungenKW(sPath, cProgramFunctions.getKW(Now.AddDays(-7)), Now.AddDays(-7).Year, False)
|
|
|
|
|
|
|
|
Catch ex As Exception
|
|
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
|
|
Return "ERROR 03: " & ex.Message & vbNewLine & ex.StackTrace
|
|
End Try
|
|
End Function
|
|
|
|
|
|
|
|
Public Function genEXCEL_TR() As String
|
|
Try
|
|
|
|
|
|
Dim sqlstr = " SELECT [Kontonummer] as KdNr,cast(SUM([Gesamtausstand]) as decimal(12,2)) as Summe,max([Waehrung]) as Währung ,max(LandKz) as Land, max(Ordnungsbegriff) as Firma,max(Ort) as Ort,max(Straße) as Straße,max([E-Mail]) as [E-Mail],max(Telefon) as Telefon " &
|
|
"FROM [Offene Posten] INNER JOIN Adressen ON AdressenNr=Kontonummer " &
|
|
"WHERE LandKz='TR' AND Firma_ID <> 7 " &
|
|
"GROUP BY [Kontonummer] " &
|
|
"HAVING SUM([Gesamtausstand]) > " & betragOpTr &
|
|
"ORDER BY Firma asc"
|
|
' MsgBox(sqlstr)
|
|
' Dim SQL As New System.Data.Sql
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count)
|
|
genExcel(dt)
|
|
|
|
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_TR_IMEX() As String
|
|
Try
|
|
|
|
|
|
Dim sqlstr = " SELECT [KundenNr] as KdNr,cast(SUM(Saldo) as decimal(12,2)) as Summe/*,max([Waehrung]) as Währung */,max(LandKz) as Land, max(Ordnungsbegriff) as Firma,max(Ort) as Ort,max(Straße) as Straße,max([E-Mail]) as [E-Mail],max(Telefon) as Telefon " &
|
|
" FROM Offene_Posten_DVO INNER JOIN Adressen ON AdressenNr=[KundenNr] " &
|
|
"WHERE LandKz='TR' " &
|
|
"GROUP BY [KundenNr] " &
|
|
"HAVING SUM([Saldo]) > " & betragOpTr &
|
|
"ORDER BY Firma asc"
|
|
' MsgBox(sqlstr)
|
|
' Dim SQL As New System.Data.Sql
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count)
|
|
genExcel(dt)
|
|
|
|
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_TR_ATILLA() As String
|
|
Try
|
|
|
|
|
|
Dim sqlstr = " SELECT [Kontonummer] as KdNr,cast(SUM([Gesamtausstand]) as decimal(12,2)) as Summe,max([Waehrung]) as Währung ,max(LandKz) as Land, max(Ordnungsbegriff) as Firma,max(Ort) as Ort,max(Straße) as Straße,max([E-Mail]) as [E-Mail],max(Telefon) as Telefon " &
|
|
"FROM [Offene Posten] INNER JOIN Adressen ON AdressenNr=Kontonummer " &
|
|
"WHERE LandKz='TR' AND Firma_ID = 7 " &
|
|
"GROUP BY [Kontonummer] " &
|
|
"HAVING SUM([Gesamtausstand]) > " & betragOpTr &
|
|
"ORDER BY Firma asc"
|
|
' MsgBox(sqlstr)
|
|
' Dim SQL As New System.Data.Sql
|
|
Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr)
|
|
System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count)
|
|
genExcel(dt)
|
|
|
|
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 loadDgvBySqlFMZOLL(ByVal sql As String) As DataTable
|
|
Try
|
|
Dim myTable = New DataTable()
|
|
Dim conn As New SqlConnection
|
|
conn.ConnectionString = "Data Source=192.168.0.91\SQLFMZOLL;Initial Catalog=VERAG;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
|
|
Public Function loadDgvBySqlSDL(ByVal sql As String) As DataTable
|
|
Try
|
|
Dim myTable = New DataTable()
|
|
Dim conn As New SqlConnection
|
|
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
|