Imports System.Data.SqlClient Imports System.IO Imports System.Net Imports System.Net.Mail Imports System.Runtime.InteropServices Imports ClosedXML.Excel Imports DAKOSY_Worker Imports VERAG_PROG_ALLGEMEIN 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 Dim supportPWD = "$up0Rt2809!" Sub Main() Try VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = False 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 Dim MailsenderBez As String = "MailSender" If VERAG_PROG_ALLGEMEIN.cAllgemein.SQLGUIDE01_USED Then MailsenderBez &= " UNLEASHED" End If System.Console.WriteLine(MailsenderBez & " 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() 'Dim _erg = VERAG_PROG_ALLGEMEIN.cNCTS_Helper.getXLS_FremdBRG("ATILLA/VERAG", "TOBB - 15TR0004000020917 / 12TR0004000004665 / 17TR0004000032349 / 17TR0004000029518 ", " '12TR0004000004665','15TR0004000020917','17TR0004000032349','17TR0004000029518 '", CDate("01.08.2021 00:00:00"), CDate("12.08.2021 23:59:59"), True) 'Dim _list As New List(Of String) : _list.Add(_erg) 'VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("al@verag.ag", "TOBB " & "ATILLA/VERAG", "*Automatic generated e-mail*",,,, "", "al@verag.ag", _list) '_erg = VERAG_PROG_ALLGEMEIN.cNCTS_Helper.getXLS_FremdBRG("IMEX", "TOBB - 15TR0004000020917 / 12TR0004000004665 / 17TR0004000032349 / 17TR0004000029518 ", " '12TR0004000004665','15TR0004000020917','17TR0004000032349','17TR0004000029518 '", CDate("01.08.2021 00:00:00"), CDate("12.08.2021 23:59:59"), True) '_list.Clear() : _list.Add(_erg) 'VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("al@verag.ag", "TOBB " & "IMEX", "*Automatic generated e-mail*",,,, "", "al@verag.ag", _list) 'Dim _erg = VERAG_PROG_ALLGEMEIN.cNCTS_Helper.getXLS_FremdBRG("UNISPED", "TOBB - 15TR0004000020917 / 12TR0004000004665 / 17TR0004000032349 / 17TR0004000029518 ", " '12TR0004000004665','15TR0004000020917','17TR0004000032349','17TR0004000029518 '", CDate("01.08.2021 00:00:00"), CDate("12.08.2021 23:59:59"), True) 'Dim _list As New List(Of String) : _list.Add(_erg) '' VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("al@verag.ag", "TOBB " & "UNISPED", "*Automatic generated e-mail*",,,, "", "al@verag.ag", _list) 'VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("eysan.sans@tobbund.com.tr;kerem.gozutok@tobbund.com.tr", "TOBB " & "UNISPED", "*Automatic generated e-mail*",,,, "Katharina.Haas@unisped.at;Sabine.Muehlboeck@unisped.at;Ernst.Stolzlechner@unisped.at", "al@verag.ag", _list) 'Exit Sub ' PARAM = "MDM_IT_Verguetung" 'PARAM = "JAHRESABRECHNUNG AG-ZS" 'PARAM = "BRG_AUSWERTUNG_STANDARD" '------------------------------------------------------------------------------------ ' PARAM = "NCTSLIST_TOBB" 'PARAM = "KD_DroppedJobs" '------------------------------------------------------------------------------------ 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 Instanz noch läuft...") Else Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL Dim dtParam As DataTable = SQL.loadDgvBySql("select * from tblMailsender where ms_param ='" & PARAM & "' and ms_aktiv = 1", "ADMIN") Select Case PARAM Case "KD_OP5000" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) If SendEmail_OP5000NEW(dtParam.Rows(0).Item("ms_firma"), "", dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000 _ Erstellt eine Liste türkischer Kunden und versendet diese AL.") If SendEmail_OP5000("VERAG", "", {"al@verag.ag"}, {}, {}, "VERAG - Offene Posten") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "KD_TR_OP5000" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) If SendEmail_OP5000NEW(dtParam.Rows(0).Item("ms_firma"), "'TR'", dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000 _ Erstellt eine Liste türkischer Kunden und versendet diese an Mestan und Bahadir.") If SendEmail_OP5000("VERAG", "'TR'", {"mestan@verag.ag", "as@verag.ag"}, {"finans@verimextransit.com"}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "KD_TR_OP5000_ATILLA" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) If SendEmail_OP5000NEW(dtParam.Rows(0).Item("ms_firma"), "'TR'", dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000_ATILLA _ Erstellt eine Liste türkischer Kunden von ATILLA.") If SendEmail_OP5000("ATILLA", "'TR'", {"finans@verimextransit.com"}, {}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen - ATILLA") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "KD_TR_OP5000_IMEX" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) If SendEmail_OP5000NEW(dtParam.Rows(0).Item("ms_firma"), "'TR'", dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: KD_TR_OP5000_IMEX _ Erstellt eine Liste türkischer Kunden von IMEX.") If SendEmail_OP5000("IMEX", "'TR'", {"mario.hoefer@imex-group.at"}, {"viktoria.leirich@imex-group.at", "finans@verimextransit.com"}, {"al@verag.ag"}, "Kunden TR - Offene Rechnungen - IMEX") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "KD_OP_Kreditlimit" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) If SendEmail_OPKreditlimitNEW(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: KD_OP_Kreditlimit _ Erstellt eine OP Liste von Kunden mit Kreditlimit oder VK-Kunden.") If SendEmail_OPKreditlimit({"as@verag.ag"}, {}, {"al@verag.ag"}, "Kunden - Offene Rechnungen - ACHTUNG: nur mit erfasstem Kreditlimit") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "NCTSLIST_TOBB" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count > 0 Then For i As Integer = 0 To dtParam.Rows.Count - 1 System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(i).Item("ms_info")) sendTOBB(dtParam.Rows(i).Item("ms_firma"), Now.AddDays(-1), Now.AddDays(-1), dtParam.Rows(i).Item("ms_an"), dtParam.Rows(i).Item("ms_cc"), dtParam.Rows(i).Item("ms_bcc"), dtParam.Rows(i).Item("ms_subject"), dtParam.Rows(i).Item("ms_mailtext")) i = i + 1 Next Else System.Console.WriteLine("OPTION erkannt: NCTSLIST_TOBB _ Erstellt eine Liste der Versandscheine mit TOBB Bürgschaft.") sendTOBB("VERAG/ATILLA", Now.AddDays(-1), Now.AddDays(-1)) 'sendTOBB("IMEX", Now.AddDays(-1), Now.AddDays(-1)) sendTOBB("UNISPED", Now.AddDays(-1), Now.AddDays(-1)) End If Case "VW_DHL" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) If SendEmail_VW_DHL_updateListNEW(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else 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"}, {}, {}, "VW/DHL - aktuelle LKW Liste") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If 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 System.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 "THYSSENKRUPP_AUSWERTUNG" 'umgebaut auf neue Mailsender-Logik Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) Dim EORI As String = "DE2841711" If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt:" & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_THYSSENKRUPP_AUSWERTUNG(dtParam.Rows(0).Item("ms_an"), EORI, von, bis, dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then 'für Andreas Details System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: THYSSENKRUPP_AUSWERTUNG _ Erstellt eine monaltiche Auswertung der DAKSOY-Abfertigungen für THYSSENKRUPP.") System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_THYSSENKRUPP_AUSWERTUNG("al@verag.ag", EORI, von, bis) Then 'für Andreas Details System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "RED_BULL" 'umgebaut auf neue Mailsender-Logik 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 = "756313" If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_RED_BULL(dtParam.Rows(0).Item("ms_an"), KdNr, von, bis, dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then 'für Andreas Details System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: RED_BULL _ Erstellt eine monaltiche Auswertung der DAKSOY-Abfertigungen für RED_BULL/Alpha Tauri.") System.Console.WriteLine("Auswertung Details gestartet...") 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 End If Case "JAHRESABRECHNUNG AG-ZS" 'umgebaut auf neue Mailsender-Logik Dim von = CDate("01.02." & Now.AddYears(-1).Year) Dim bis = CDate("31.01." & Now.Year) Dim Filialen = "'4803', '5003', '5303'" Dim abfertigungsart = "38" If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_Jahresauwsertung_AG_ZF(dtParam.Rows(0).Item("ms_an"), Filialen, abfertigungsart, von, bis, dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else 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 End If Case "ZF" 'umgebaut auf neue Mailsender-Logik Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) '--------ZF PASSAU------------ Dim KdNr As String = "714869" If dtParam.Rows.Count > 1 Then For Each r As DataRow In dtParam.Rows System.Console.WriteLine("OPTION erkannt: " & r.Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_ZF(r.Item("ms_an"), r.Item("ms_kundenNr"), von, bis, "monthly", r.Item("ms_cc"), r.Item("ms_bcc"), r.Item("ms_subject"), r.Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Next Else 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; teresa.elster@zf.com", KdNr, von, bis, "monthly") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If '--------ZF THYRNAU------------ KdNr = "718486" 'NIX... '--------ZF STEYR------------ KdNr = "764755" If dtParam.Rows.Count > 1 Then 'wurde bereits oben durchgeführt! 'System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) 'System.Console.WriteLine("Auswertung Details gestartet...") 'If SendEmail_ZF(dtParam.Rows(0).Item("ms_an"), KdNr, von, bis, "monthly", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then ' System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") 'End If Else System.Console.WriteLine("OPTION erkannt: ZF _ Erstellt eine monaltiche Auswertung der Abfertigungen für ZF.") System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_ZF("teresa.elster@zf.com;manfred.lindbichler@zf.com;walter.gnadlinger@zf.com", KdNr, von, bis, "monthly") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If Case "ZF_QUARTER" 'umgebaut auf neue Mailsender-Logik Dim quartal As Integer = ((Now.Month - 1) \ 3) + 1 Dim jahr As Integer = Now.Year If quartal = 1 Then quartal = 4 jahr -= 1 Else quartal -= 1 End If Dim von As Date = New Date(jahr, (quartal - 1) * 3 + 1, 1) Dim bis As Date = von.AddMonths(3).AddDays(-1) '--------ZF STEYR------------ Dim KdNr As String = "764755" If dtParam.Rows.Count > 1 Then 'System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) 'System.Console.WriteLine("Auswertung Details gestartet...") 'If SendEmail_ZF(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_kundenNr"), von, bis, "quarter", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then ' System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") 'End If For Each r As DataRow In dtParam.Rows System.Console.WriteLine("OPTION erkannt: " & r.Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_ZF(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_kundenNr"), von, bis, "quarter", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Next Else System.Console.WriteLine("OPTION erkannt: ZF _ Erstellt eine Auswertung pro Quartal aller Abfertigungen für ZF.") System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_ZF("d.breimaier@verag.ag; ml@verag.ag", KdNr, von, bis, "quarter") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If '--------ZF THYRNAU------------ KdNr = "718486" 'NIX... '--------ZF PASSAU------------ KdNr = "714869" 'NIX... Case "QS_AUFTEILUNG" System.Console.WriteLine("OPTION erkannt: QS_AUFTEILUNG _ Erstellt die Auswertung der QS-AUFTEILUNG.") System.Console.WriteLine("Auswertung gestartet...") Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) If SendEmail_QS_Auswertung(von, bis) 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...") Dim Jahr = -1 If (parameter.Count - 1) >= 2 Then Jahr = parameter(2) System.Console.WriteLine("Parameter 'Jahr' erkannt: " & Jahr) End If If MDM_Zollbuero_Verguetung(Jahr) Then 'für Andreas Details System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "MDM_IT_Verguetung" System.Console.WriteLine("OPTION erkannt: MDM_IT_Verguetung _ Erstellt die Auswertung der durchgeführten MDM Transaktionen.") System.Console.WriteLine("Auswertung gestartet...") Dim Jahr = -1 If (parameter.Count - 1) >= 2 Then Jahr = parameter(2) System.Console.WriteLine("Parameter 'Jahr' erkannt: " & Jahr) End If If MDM_IT_Verguetung(Jahr) Then 'für Andreas Details System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "KD_DroppedJobs" 'Rückgang Abfertigungszahlen System.Console.WriteLine("OPTION erkannt: KD_DroppedJobs _ Erstellt die Auswertung der Kunden mit rückläufigen Zahlen") System.Console.WriteLine("Auswertung gestartet...") Dim FirmaTmp = "" If (parameter.Count - 1) >= 2 Then FirmaTmp = parameter(2) System.Console.WriteLine("Parameter 'FirmaTmp' erkannt: " & FirmaTmp) End If If FirmaTmp <> "" Then KD_DroppedJobs(FirmaTmp, "EMPFÄNGER") KD_DroppedJobs(FirmaTmp, "AVISIERER") System.Console.WriteLine("Vorgang abgeschlossen ...") Else KD_DroppedJobs("VERAG", "EMPFÄNGER") KD_DroppedJobs("VERAG", "AVISIERER") KD_DroppedJobs("IMEX", "EMPFÄNGER") KD_DroppedJobs("IMEX", "AVISIERER") KD_DroppedJobs("UNISPED", "EMPFÄNGER") KD_DroppedJobs("UNISPED", "AVISIERER") System.Console.WriteLine("Vorgang 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 "AMBAR_Datev_Mailversand_to_HK" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Vorgang gestartet...") SendEmail_AMBARTOHKT(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") Else System.Console.WriteLine("OPTION erkannt: AMBAR-Datev Versand") System.Console.WriteLine("Vorgang gestartet...") SendEmail_AMBARTOHKT("T.Wesolowski@hkt-tax.de", "C.Tuendermann@hkt-tax.de;D.Horneber@hkt-tax.de,IO@ambarlog.de", "d.breimaier@verag.ag") System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "UID_OPS_SYSKA_ABGLEICH" 'umgebaut auf neue Mailsender-Logik If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Vorgang gestartet...") If SendEmail_Syska_UID_Vergleich(dtParam.Rows(0).Item("ms_an"), dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") Else System.Console.WriteLine("OPTION erkannt: UID-Vergleich SYSKA") System.Console.WriteLine("Vorgang gestartet...") If SendEmail_Syska_UID_Vergleich("as@verag.ag") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Case "TETRAPAK" 'umgebaut auf neue Mailsender-Logik Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_Tetrapak(dtParam.Rows(0).Item("ms_an"), von, bis, "DE", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) AndAlso SendEmail_Tetrapak(dtParam.Rows(0).Item("ms_an"), von, bis, "AT", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else System.Console.WriteLine("OPTION erkannt: TETRA_PAK _ Erstellt eine monatliche Auswertung der DAKSOY/EZOLL-Abfertigungen für TETRAPAK.") System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_Tetrapak("Maria.mendez@tetrapak.com; Andrea.Ronceria@tetrapak.com; nikhil.mediratta@tetrapak.com", von, bis, "DE") AndAlso SendEmail_Tetrapak("Maria.mendez@tetrapak.com;Andrea.Ronceria@tetrapak.com;nikhil.mediratta@tetrapak.com", von, bis, "AT") Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If End If 'Case "TETRAPAK_OKT" 'umgebaut auf neue Mailsender-Logik ' Dim von = CDate("01.10.2025") ' Dim bis = CDate("31.10.2025") ' If dtParam.Rows.Count = 1 Then ' System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) ' System.Console.WriteLine("Auswertung Details gestartet...") ' If SendEmail_Tetrapak(dtParam.Rows(0).Item("ms_an"), von, bis, "DE", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) AndAlso SendEmail_Tetrapak(dtParam.Rows(0).Item("ms_an"), von, bis, "AT", dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then ' System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") ' End If ' Else ' System.Console.WriteLine("OPTION erkannt: TETRA_PAK _ Erstellt eine monatliche Auswertung der DAKSOY/EZOLL-Abfertigungen für TETRAPAK.") ' System.Console.WriteLine("Auswertung Details gestartet...") ' If SendEmail_Tetrapak("Maria.mendez@tetrapak.com; Andrea.Ronceria@tetrapak.com; nikhil.mediratta@tetrapak.com", von, bis, "DE") AndAlso SendEmail_Tetrapak("Maria.mendez@tetrapak.com;Andrea.Ronceria@tetrapak.com;nikhil.mediratta@tetrapak.com", von, bis, "AT") Then ' System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") ' End If ' End If Case "Imex_Kunden_keine_Abfertigung" 'umgebaut auf neue Mailsender-Logik Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) If dtParam.Rows.Count = 1 Then System.Console.WriteLine("OPTION erkannt: " & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_ImexAbfertigung(dtParam.Rows(0).Item("ms_an"), von, bis, dtParam.Rows(0).Item("ms_cc"), dtParam.Rows(0).Item("ms_bcc"), dtParam.Rows(0).Item("ms_subject"), dtParam.Rows(0).Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Else 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 End If Case "BERICHT" Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) For Each r As DataRow In dtParam.Rows System.Console.WriteLine("OPTION erkannt:" & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_DiverseKunden(r.Item("ms_an"), r.Item("ms_kundenNr"), von, bis, "BERICHT", r.Item("ms_cc"), r.Item("ms_bcc"), r.Item("ms_subject"), r.Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Next Case "DETAILBERICHT" Dim von = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year) Dim bis = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1) For Each r As DataRow In dtParam.Rows System.Console.WriteLine("OPTION erkannt:" & dtParam.Rows(0).Item("ms_info")) System.Console.WriteLine("Auswertung Details gestartet...") If SendEmail_DiverseKunden(r.Item("ms_an"), r.Item("ms_kundenNr"), von, bis, "DETAILBERICHT", r.Item("ms_cc"), r.Item("ms_bcc"), r.Item("ms_subject"), r.Item("ms_mailtext")) Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen ...") End If Next 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) Exit Sub Catch ex As Exception VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) Exit Sub End Try End Sub Function sendTOBB(FirmaTmp As String, datVon As Date, datBis As Date, Optional mailto As String = "", Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Dim _erg = VERAG_PROG_ALLGEMEIN.cNCTS_Helper.getXLS_FremdBRG(FirmaTmp, "TOBB - " & VERAG_PROG_ALLGEMEIN.cNCTS_GUARANTEES.getSlashList(VERAG_PROG_ALLGEMEIN.cNCTS_GUARANTEES.TOBB), VERAG_PROG_ALLGEMEIN.cNCTS_GUARANTEES.getSQLList(VERAG_PROG_ALLGEMEIN.cNCTS_GUARANTEES.TOBB), datVon, datBis, True) Dim _list As New List(Of String) Dim addbetreff = "" Select Case _erg Case "NO_RESULT" System.Console.WriteLine("Keine Einträge gefunden.") addbetreff = " - NO DATA" Case "" Case Else _list.Add(_erg) End Select Dim bool_sent = False If mailto = "" Then Select Case FirmaTmp Case "VERAG/ATILLA" : bool_sent = VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("eysan.sans@tobbund.com.tr;kerem.gozutok@tobbund.com.tr;arda.bicakli@tobbund.com.tr;mert.koseoglu@tobbund.com.tr", "TOBB " & FirmaTmp & addbetreff, "*Automatic generated e-mail*",,,, "atilla@verag.ag", "al@verag.ag", _list) Case "IMEX" : bool_sent = VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("eysan.sans@tobbund.com.tr;kerem.gozutok@tobbund.com.tr;arda.bicakli@tobbund.com.tr;mert.koseoglu@tobbund.com.tr", "TOBB " & FirmaTmp & addbetreff, "*Automatic generated e-mail*",,,, "info@imex-group.at;Mario.Hoefer@imex-group.at", "al@verag.ag", _list) Case "UNISPED" : bool_sent = VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail("eysan.sans@tobbund.com.tr;kerem.gozutok@tobbund.com.tr;arda.bicakli@tobbund.com.tr;mert.koseoglu@tobbund.com.tr", "TOBB " & FirmaTmp & addbetreff, "*Automatic generated e-mail*",,,, "Katharina.Haas@unisped.at;Sabine.Muehlboeck@unisped.at;Ernst.Stolzlechner@unisped.at", "al@verag.ag", _list) End Select Else bool_sent = VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(mailto, Subject & addbetreff, Body,,, False, cc, bcc, _list) End If If bool_sent Then System.Console.WriteLine("Vorgang erfolgreich abgeschlossen (" & FirmaTmp & ") ...") Else System.Console.WriteLine("Fehler beim Senden der Mail (" & FirmaTmp & ") ...") End If Return bool_sent End Function 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 = 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("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 &= "" Msg.Body = "Folgende Kasse ist zu kontrollieren und ein Kassensturz durchzuführen:" Msg.Body &= "

" Msg.Body &= "Per Zufallsgenerator gezogene Kasse: " & (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") & "" Msg.Body &= "


" Msg.Body &= "Automatisch generiertes E-Mail." Msg.Body &= "
" 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 = supportPWD ' 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 = "

" Msg.Body &= "Anbei befinden sich die Auswertung Ihres Depot-Kontos

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString Msg.Body &= "


Automatisch generiertes E-Mail." Msg.Body &= "

" 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_THYSSENKRUPP_AUSWERTUNG(Mailto As String, EORI As String, von As Date, bis As Date, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim excel As String = genEXCEL_THYSSENKRUPP(EORI, von, bis) System.Console.WriteLine("EXCEL erstellt...") If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") If Subject = "" Then Subject = "Auswertungen Zollanmeldungen EORI " & EORI Else Subject = replaceBodyVariable(Subject) End If If Body = "" Then Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body, von, bis) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "al@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_RED_BULL(Mailto As String, KdNr As String, von As Date, bis As Date, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim excel As String = genEXCEL_RED_BULL(KdNr, von, bis) System.Console.WriteLine("EXCEL erstellt...") If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") If Subject = "" Then Subject = "Auswertungen Zollanmeldungen Aplha Tauri " End If If Body = "" Then Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body, von, bis) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False,, "d.breimaier@verag.ag;schulung@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_ImexAbfertigung(Mailto As String, von As Date, bis As Date, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") 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...") If Subject = "" Then Subject = "Imex-Kunden ohne Abfertigung " End If If Body = "" Then Body = "Anbei befinden sich die Auswertung von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an diese E-Mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body, von, bis) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") 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...") If Subject = "" Then Else Subject = "Auswertungen Jahresauswertung A-ZF " End If If Body = "" Then Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body, von, bis) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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, Auswertungstyp As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim excel As String = genEXCEL_ZF(KdNr, von, bis, Auswertungstyp) System.Console.WriteLine("EXCEL erstellt...") If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") If Subject = "" Then Select Case KdNr Case "764755" : Subject = "Auswertungen Zollanmeldungen ZF STEYR " Case "714869" : Subject = "Auswertungen Zollanmeldungen ZF PASSAU " Case Else : Subject = "Auswertungen Zollanmeldungen ZF Friedrichshafen AG " End Select Else Subject = replaceBodyVariable(Subject, von, bis) End If Dim Typ As String = "Auswertung" Select Case Auswertungstyp Case "monthly" : Typ = "monatliche Auswertungen" Case "quarter" : Typ = "Quartalsauswertung" End Select If Body = "" Then Body = "Anbei befinden sich die " & Typ & " der Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body, von, bis) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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_DiverseKunden(Mailto As String, KdNr As String, von As Date, bis As Date, Auswertungstyp As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim excel As String = genEXCEL_Bericht_Kunden(KdNr, von, bis, Auswertungstyp) System.Console.WriteLine("EXCEL erstellt...") If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") Dim ADR As New cAdressen(KdNr) If Subject = "" Then Subject = "Auswertungen Zollanmeldungen " & ADR.Name_1 Else Subject = replaceBodyVariable(Subject, von, bis) End If If Body = "" Then Body = "Anbei befinden sich die Auswertungen Zollanmeldungen von " & von.ToShortDateString & " bis " & bis.ToShortDateString & "." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." Else Body = replaceBodyVariable(Body, von, bis) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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_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(von, bis) 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(von, bis) System.Console.WriteLine("EXCEL erstellt..." & excel) 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.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(Jahr) 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(Jahr) 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("Viktoria.Leirich@imex-group.at") Msg.To.Add("as@verag.ag") Msg.To.Add("sales@verag.ag") ' Msg.To.Add("jl@verag.ag") ' Msg.Bcc.Add("al@verag.ag") Msg.CC.Add("jl@verag.ag") Msg.CC.Add("al@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 KD_DroppedJobs(Firma, Art) As Boolean Dim [To] = "" Dim CC = "" Dim Bcc = "" Select Case Firma Case "VERAG" [To] = "kundenservice@verag.ag" CC = "cf@verag.ag;al@verag.ag;ml@verag.ag" Case "IMEX" [To] = "kundenservice@verag.ag" CC = "cf@verag.ag;al@verag.ag;ml@verag.ag" Case "UNISPED" [To] = "kundenservice@verag.ag" CC = "cf@verag.ag;al@verag.ag;ml@verag.ag" End Select ''''''''''''''''''''''''''' '[To] = "al@verag.ag" 'CC = "" ''''''''''''''''''''''''''' ''' System.Console.WriteLine("E-Mail Daten initialisiert...") Try System.Console.WriteLine("SQL Abfrage / Daten laden...") ' --- SQL 1x laden: alle Monate / Datenquellen --- Dim sqlstr As String = "" Select Case Art Case "EMPFÄNGER" sqlstr = "SELECT * FROM dbo.ufn_KundenDropoff_Empfaenger ( '" & Firma & "', -- Firma DEFAULT, -- Stichtag der Analyse ('2026-03-09') 150, -- Mindest-Risikoscore für Anzeige 52, -- Referenzzeitraum (Wochen) 4, -- aktuelle Vergleichsperiode (Wochen) 100, -- Mindestanzahl Vorgänge pro Jahr 0.25, -- minimaler Drop (25%) 21, -- Inaktivitätsgrenze (Tage) 10.0, -- Gewicht absoluter Mengenrückgang 5.0, -- Gewicht prozentualer Rückgang !!!!!!!!! 20.0, -- Strafgewicht wenn letzte Woche 0 50, -- Bonus wenn Kunde >21 Tage inaktiv 20 -- Bonus wenn Kunde >14 Tage inaktiv ) ORDER BY RiskScore DESC, ImpactPerWeek DESC, DropPct_RecentVsBaseline DESC, DaysSinceLast DESC, BaselineAvgPerWeek DESC;" Case "AVISIERER" sqlstr = "SELECT * FROM dbo.ufn_KundenDropoff_Avisierer ( '" & Firma & "', -- Firma DEFAULT, -- Stichtag der Analyse ('2026-03-09') 150, -- Mindest-Risikoscore für Anzeige 52, -- Referenzzeitraum (Wochen) 4, -- aktuelle Vergleichsperiode (Wochen) 100, -- Mindestanzahl Vorgänge pro Jahr 0.25, -- minimaler Drop (25%) 21, -- Inaktivitätsgrenze (Tage) 10.0, -- Gewicht absoluter Mengenrückgang 5.0, -- Gewicht prozentualer Rückgang !!!!!!!!! 20.0, -- Strafgewicht wenn letzte Woche 0 50, -- Bonus wenn Kunde >21 Tage inaktiv 20 -- Bonus wenn Kunde >14 Tage inaktiv ) ORDER BY RiskScore DESC, ImpactPerWeek DESC, DropPct_RecentVsBaseline DESC, DaysSinceLast DESC, BaselineAvgPerWeek DESC;" End Select Dim dt As DataTable = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(sqlstr, "FMZOLL") System.Console.WriteLine("Erstelle EXCEL...") Dim excel As String = "" '--------------------------------------------------- Dim exclApp As Object = Nothing Dim Datei As Object = Nothing Dim Blatt As Object = Nothing Dim filepath As String = "" Try exclApp = CreateObject("Excel.Application") With exclApp .Visible = False .DisplayAlerts = False Dim filepathTmp = sPath & "KD_DroppedJobs_" & Art & "_" & Format(Now, "yyyyMMdd_HHmmss") & ".xlsx" ' Template aus Resources schreiben Try My.Computer.FileSystem.WriteAllBytes(filepathTmp, My.Resources.KD_DroppedJobs, False) Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) Return False End Try Datei = .Workbooks.Open(filepathTmp) Blatt = Datei.Worksheets(1) Blatt.Range("D1").Value = Art Blatt.Range("F1").Value = Now.ToShortDateString Dim r As Integer = 4 Dim c As Integer = 1 If dt IsNot Nothing Then For Each row As DataRow In dt.Rows c = 1 ' MsgBox("r: " & r) For Each col As DataColumn In dt.Columns ' MsgBox("c: " & c) Blatt.Cells(r, c).Value = row(col) c += 1 Next r += 1 Next Datei.SaveAs(filepathTmp) Datei.Close(False) exclApp.Quit() filepath = filepathTmp End If End With Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) Return False Finally Blatt = Nothing Datei = Nothing exclApp = Nothing GC.Collect() GC.WaitForPendingFinalizers() GC.Collect() End Try '--------------------------------------------------- Dim From = "al@verag.ag" If filepath <> "" Then System.Console.WriteLine("EXCEL erstellt...") System.Console.WriteLine("Sende E-Mail...") Dim ANHANG As List(Of String) = New List(Of String) ANHANG.Add(filepath) VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail([To], "Auswertung Dropped Jobs: " & Art & " - " & Firma, "Anbei befindet sich die Auswertung der Dropped Jobs von " & Firma & ".", From,,, CC, Bcc, ANHANG) Return True Else System.Console.WriteLine("EXCEL Error - Pfad leer...") System.Console.WriteLine("Sende Error E-Mail...") VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail([To], "Auswertung Dropped Jobs - kein Anhang", "Fehler beim Erstellen für " & Firma & ".", From,,, CC, Bcc) Return False End If Catch ex3 As Exception MsgBox(ex3.Message & ex3.StackTrace) Return False End Try Return False End Function Private Function MDM_IT_Verguetung(Jahr) 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_IT(Jahr) 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("Viktoria.Leirich@imex-group.at") Msg.To.Add("as@verag.ag") Msg.To.Add("sales@verag.ag") '' Msg.To.Add("jl@verag.ag") '' Msg.Bcc.Add("al@verag.ag") Msg.CC.Add("jl@verag.ag") Msg.CC.Add("al@verag.ag") Msg.Subject = "Auswertung MDM-IT Vergütung" Msg.Body = "Anbei befindet sich die Auswertung der MDM-IT 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_OP5000(firma As String, LandEinschr As String, 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 = "" Select Case firma Case "ATILLA" excel = genEXCEL_TR_ATILLA(LandEinschr) Case "IMEX" excel = genEXCEL_TR_IMEX(LandEinschr) Case "VERAG" excel = genEXCEL_TR(LandEinschr) 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") 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 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) 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!") 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_OPKreditlimit(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_OPKreditlimit() 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 Kunden mit einem offenen Rechnungsbetrag über dem eingegebenen Kreditlimit " & vbNewLine & vbNewLine & "ACHTUNG: Kunden ohne hinterlegten Kreditlimit sind nciht in der Liste beinhaltet." & 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) 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!") 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!") 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_OP5000NEW(firma As String, LandEinschr As String, Mailto As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean 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(LandEinschr) Case "IMEX" excel = genEXCEL_TR_IMEX(LandEinschr) Case "VERAG" excel = genEXCEL_TR(LandEinschr) End Select If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") If Body = "" Then 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." Else Body = Subject = replaceBodyVariable(Body) End If If Subject = "" Then Subject = "Auswertungen Syska UID-Vergleich " Else Subject = replaceBodyVariable(Subject) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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_OPKreditlimitNEW(Mailto As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim excel As String = genEXCEL_OPKreditlimit() System.Console.WriteLine("EXCEL erstellt...") If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") If Body = "" Then Body = "Anbei befindet sich die Liste der Kunden mit einem offenen Rechnungsbetrag über dem eingegebenen Kreditlimit " & vbNewLine & vbNewLine & "ACHTUNG: Kunden ohne hinterlegten Kreditlimit sind nciht in der Liste beinhaltet." & vbNewLine & vbNewLine & "Stand: " & Now.ToShortDateString & " " & Now.ToShortTimeString & vbNewLine & vbNewLine & vbNewLine & "Automatisch generiertes E-Mail." Else Body = replaceBodyVariable(Body) End If If Subject = "" Then Subject = "Kunden - Offene Rechnungen - ACHTUNG: nur mit erfasstem Kreditlimit" Else Subject = replaceBodyVariable(Subject) End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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_VW_DHL_updateListNEW(Mailto As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean 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...") Body = replaceBodyVariable(Body) Subject = replaceBodyVariable(Subject) Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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_Syska_UID_Vergleich(Mailto As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim excel As String = genEXCEL_Syska_UID_VERGLEICH() System.Console.WriteLine("EXCEL erstellt...") If excel <> "" And Not excel.StartsWith("ERROR: ") Then System.Console.WriteLine("Sende E-Mail...") If Body = "" Then Body = "Anbei befinden sich der UID-Nr Vergleich mit Syska." & "

Erstellt am: " & Now.ToShortDateString & ", um " & Now.ToShortTimeString & "


Automatisch generiertes E-Mail. Bitte Antworten Sie nicht an dieses E-Mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body) End If If Subject = "" Then Subject = "Auswertungen Syska UID-Vergleich " End If Dim anhenge As New List(Of String) anhenge.Add(excel) If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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_Tetrapak(Mailto As String, von As Date, bis As Date, Report As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try Dim anhenge As New List(Of String) Select Case Report Case "DE" Dim dakosy_excel As String = genEXCEL_TETRAPAK_DE(von, bis) System.Console.WriteLine("EXCEL DAKOSY erstellt...") If dakosy_excel <> "" And Not dakosy_excel.StartsWith("ERROR: ") Then anhenge.Add(dakosy_excel) Else System.Console.WriteLine(dakosy_excel) End If Case "AT" Dim dhf_excel As String = genEXCEL_TETRAPAK_AT(von, bis) System.Console.WriteLine("EXCEL DHF erstellt...") If dhf_excel <> "" And Not dhf_excel.StartsWith("ERROR: ") Then anhenge.Add(dhf_excel) Else System.Console.WriteLine(dhf_excel) End If End Select System.Console.WriteLine("Sende E-Mail...") If Subject = "" Then Subject = "Import Customs Statistics " & Report & " " & von & "-" & bis Else Subject = Subject.Replace("%report%", Report) Subject = Subject.Replace("%von%", von) Subject = Subject.Replace("%bis%", bis) Subject = replaceBodyVariable(Subject) End If If Body = "" Then Body = "Dear sir or madam," & "

enclosed the import customs statistics for " & Report & "." & "

Created at: " & Now.ToShortDateString & ", on " & Now.ToShortTimeString & "


Automatically generated e-mail. Please do not reply to this e-mail." & "

VERAG SPEDITION AG" Else Body = replaceBodyVariable(Body) Body = Body.Replace("%report%", Report) End If If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, 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 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 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 = 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 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 Private Function SendEmail_AMBARTOHKT(Mailto As String, Optional cc As String = "", Optional bcc As String = "", Optional Subject As String = "", Optional Body As String = "") As Boolean Try System.Console.WriteLine("Erstelle Buchungsdateien...") Dim Pathlist As New List(Of String) If VERAG_PROG_ALLGEMEIN.cDatev_Interface.genDatensatzCSV_ALL("AMBAR", False, True, True,, Pathlist) Then System.Console.WriteLine("Buchungsdateien erstellt...") Else System.Console.WriteLine("Keine Buchungsdaten vorhanden...") Return False End If If Body = "" Then Body = "Sehr geehrte Damen und Herren," & "

im Anhang befinden sich die Exportdaten für die Buchhaltung!" & "

Mit freundlichen Grüßen " & "

automatisch generiertes E-Mail" Else Body = replaceBodyVariable(Body) End If If Subject = "" Then Subject = "DATEV-Buchungsdaten AMBAR " & Now.Date.ToShortDateString Else Subject = replaceBodyVariable(Subject) End If If VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Mailto, Subject, Body,,, False, cc, bcc, Pathlist) Then System.Console.WriteLine("E-Mail gesendet.") System.Console.WriteLine("Erfolgreich!") Else System.Console.WriteLine("ERROR BEIM SENDEN DER MAIL!") End If Return True 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 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, Optional excelBez As String = "TMP", Optional Arbeitsplattbez As String = "Kundenliste") Dim wb As New XLWorkbook() ' Dim wb As New ClosedXML.Excel.XLWorkbook wb.Worksheets.Add(dt, Arbeitsplattbez) wb.SaveAs(sPath & excelBez & ".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 System.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(von As Date, bis As Date) As String Try Dim sqlstr As String = "" 'sqlstr &= " SELECT Aviso.[Grenzstelle], SUM(Speditionsbuch.Abfertigungsanzahl) as Anzahl FROM Speditionsbuch INNER JOIN [SQLGUIDE01.verag.ost.dmn].AVISO.dbo.AVISO on Aviso.avisoid=Speditionsbuch.AvisoID " 'sqlstr &= " 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" sqlstr &= " SELECT Speditionsbuch.[Grenzstelle], SUM(Speditionsbuch.Abfertigungsanzahl) as Anzahl FROM Speditionsbuch inner join Filialen on filialen.FilialenNr=Speditionsbuch.FilialenNr " sqlstr &= " WHERE FilialenNrAbklaerung ='4803' " 'QS SUB ' sqlstr &= " WHERE Filiale " sqlstr &= " and Filialen.Firma='VERAG' " sqlstr &= " and Abfertigungsdatum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " & " GROUP BY Speditionsbuch.[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" While System.IO.File.Exists(filepath) filepath = sPath & "QS_Auswertung_" & Now.ToString("ddMMyyy_HHmmss_fff") & ".xlsx" End While 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() Try : Datei.close() : Catch ex As System.Exception Return "ERROR 03: " & ex.Message & vbNewLine & ex.StackTrace End Try .DisplayAlerts = False .quit() releaseObject(exclApp) releaseObject(Datei) 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_THYSSENKRUPP(EORI As String, von As Date, bis As Date) As String Try Dim sqlstr As String = "" sqlstr &= " SELECT /*eza_id, eza_dyaAnmID,*/cast(eza_Trans_DatumZeit as date) as Datum,eza_ANR as Registriernummer, " sqlstr &= " (SELECT [tblDakosy_EZA_Adressen].ezaAd_NameFirma1 FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') Absender , " sqlstr &= " (SELECT [tblDakosy_EZA_Adressen].ezaAd_LandCode FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') AbsenderLand, " sqlstr &= " ezaWP_UrsprungslandCode Ursprungsland, " sqlstr &= " ezaWP_PositionsNummer as PositionsNummer, " sqlstr &= " tblDakosy_EZA_Warenposition.ezaWP_WarennummerEZT TarifnummerEZT, " sqlstr &= " tblDakosy_EZA_Warenposition.ezaWP_Artikelpreis Artikelpreis, " sqlstr &= " CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN [ezaAfb_Abgabenbetrag] ELSE 0 END) ELSE '' END EUST, " sqlstr &= " CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN 0 ELSE [ezaAfb_Abgabenbetrag] END) ELSE '' END ZOLL, " sqlstr &= " ezaWP_PackstueckAnzahl PackstueckAnzahl, " sqlstr &= " sum(tblDakosy_EZA_Warenposition.ezaWP_Eigenmasse) Eigenmasse,/* sum(tblDakosy_EZA_Warenposition.ezaWP_Rohmasse) Rohmasse, */ " sqlstr &= " max(tblDakosy_EZA_Warenposition.ezaWP_Warenbezeichnung )Warenbezeichnung " sqlstr &= " FROM [VERAG].[dbo].[tblDakosy_EZA] inner join tblDakosy_EZA_Warenposition on ezaWP_EzaId=eza_Id " sqlstr &= " inner join tblDakosy_EZA_Aufschub on [ezaAfb_EZAId]=eza_Id " sqlstr &= " where (SELECT count(*) FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId AND ezaAd_TeilnehmerEORI = '" & EORI & "' and ezaAd_AdressTyp='CN')>0 " sqlstr &= " and eza_Trans_DatumZeit between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " sqlstr &= " and eza_status BETWEEN 60 and 60 " sqlstr &= " group by eza_id,eza_dyaAnmID,eza_ANR,ezaWP_PositionsNummer,eza_Trans_DatumZeit,ezaWP_UrsprungslandCode ,ezaWP_WarennummerEZT,ezaWP_Artikelpreis,ezaWP_ArtikelpreisWaehrung,ezaWP_PackstueckAnzahl " Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr) Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt, {"H:I"},,,, False, "Zollanmeldungen_" & EORI & "_" & 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_RED_BULL(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([Abfertigungsdatum] as date) [Abfertigungsdatum], [BelegNr] [CNR/MRN] ,Abfertigungsbezeichnung,case when [AtlasBezNrEZA] <> '' Then [AtlasBezNrEZA] ELSE [AtlasBezNrNCTS] END as BezugsNr,[LKW Kennzeichen] , case when [AtlasBezNrEZA] <> '' Then EZA.eza_VersendungsLandCode else NCTS.ncts_VersendungsLandCode End as VersendungsLand , case when [AtlasBezNrEZA] <> '' Then EZA.eza_Bestimmungsland else NCTS.ncts_BestimmungslandCode End as Bestimmungsland,[Absender],[Empfänger],[Packstücke] ,[Rohmasse] , case when [AtlasBezNrEZA] <> '' Then " sqlstr &= "(SELECT ezaWP_WarennummerEZT+ ', ' FROM [tblDakosy_EZA_Warenposition] As T2 WHERE T2.ezaWP_EzaId = EZA.eza_id ORDER BY ezaWP_WarennummerEZT FOR XML PATH (''), TYPE) else (SELECT nctsWP_Warennummer + ', ' FROM [tblDakosy_NCTSOut_Warenposition] As T2 WHERE T2.nctsWP_NctsId = NCTS.ncts_Id ORDER BY nctsWP_Warennummer FOR XML PATH (''), TYPE) End as CustomsTariffNr" sqlstr &= ", case when [AtlasBezNrEZA] <> '' Then (SELECT ezaWP_AnmeldeVErfahren + ', ' FROM [tblDakosy_EZA_Warenposition] As T2 WHERE T2.ezaWP_EzaId = EZA.eza_id ORDER BY ezaWP_AnmeldeVErfahren FOR XML PATH (''), TYPE) else NCTS.ncts_ArtAnmeldung End as CodeOfCostumsProcedure" sqlstr &= " From [VERAG].[dbo].[Speditionsbuch] as SPB" sqlstr &= " left join tblDakosy_NCTSOut as NCTS on NCTS.ncts_ObjectName = SPB.AtlasBezNrNCTS" sqlstr &= " left join tblDakosy_EZA as EZA on EZA.eza_ObjectName = SPB.AtlasBezNrEZA" sqlstr &= " left join Abfertigungsarten as ABF on ABF.[Abfertigungsart] = SPB.[Abfertigungsart]" sqlstr &= " where (VermittlerKundenNr='" & KdNr & "' OR EmpfängerKundenNr='" & KdNr & "')" sqlstr &= " and Abfertigungsdatum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "'" Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr) Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & KUNDENADR.FullName & "_" & 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 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 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, Auswertungstyp As String) As String Try Dim KUNDENADR = New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr) Dim Path = "" If KdNr = "714869" Or KdNr = "718486" Or KdNr = "764755" Then 'ZUR SICHERHEIT, FALLS FALSCHE KDNR EINGEGEBEN WIRD!!! Dim dt As DataTable = loadDgvBySqlFMZOLL("SELECT CAST([FilialenNr] as varchar) + '/' + CAST([AbfertigungsNr] as varchar) Abfertigungsnummer ,cast([Abfertigungsdatum] as date)Abfertigungsdatum ,Absender ,Rechnungsbetrag Betrag ,BelegNr ,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung,Speditionsbuch.Zollsystem_Land FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart where EmpfängerKundenNr IN (" & KdNr & ") and VermittlerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29,38)") 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 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") Select Case Auswertungstyp Case "monthly" With exclApp .Visible = False Try Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & " - " & bis.ToShortDateString & "" & ".xlsx" While System.IO.File.Exists(Path) Path = sPath & "ZF_" & KdNr & "_" & 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 Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) 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 If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If End If cnt += 1 Next Datei.Save() .DisplayAlerts = False .quit() Try : Datei.close(True) : Catch : End Try End With Case "quarter" With exclApp .Visible = False Try Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & " - " & bis.ToShortDateString & "" & ".xlsx" While System.IO.File.Exists(Path) Path = sPath & "ZF_" & KdNr & "_" & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" End While My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.RG_ZF_NEW, 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 Dim cnt = 2 For Each r In dt.Rows Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then If ZOLLANMELDUNG.dtWARENPOS.Rows.Count > 0 Then Dim rowcounter As Integer = 0 For Each row As DataRow In ZOLLANMELDUNG.dtWARENPOS.Rows Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100 Blatt.Range("A" & cnt).Value = cnt - 1 Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("C" & cnt).Value = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(r("FilialenNr")) Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr") Blatt.Range("F" & cnt).Value = r("BelegNr") Blatt.Range("G" & cnt).Value = row.Item("PosNr") Blatt.Range("H" & cnt).Value = row.Item("WarenNr") Blatt.Range("I" & cnt).Value = "-" Blatt.Range("J" & cnt).Value = row.Item("WarenBez") Blatt.Range("K" & cnt).Value = "" Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang Blatt.Range("O" & cnt).Value = "" Blatt.Range("P" & cnt).Value = row.Item("Netto") Blatt.Range("Q" & cnt).Value = row.Item("PosWert") Blatt.Range("R" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_EUST, "") Blatt.Range("S" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_ZOLL, "") Blatt.Range("T" & cnt).Value = IIf(rowcounter = 0, ZollInProzent.ToString("N2") & " %", "") Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "") Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender Blatt.Range("W" & cnt).Value = row.Item("Herkunft") Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms Blatt.Range("Y" & cnt).Value = row.Item("Verfahren") Blatt.Range("Z" & cnt).Value = row.Item("Preferenz") Blatt.Range("AA" & cnt).Value = IIf(row.Item("isCBAM"), "Y", "N") If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If cnt += 1 rowcounter += 1 Next Else Dim ZollInProzent As Double = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100 Blatt.Range("A" & cnt).Value = cnt - 1 Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("C" & cnt).Value = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(r("FilialenNr")) Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr") Blatt.Range("F" & cnt).Value = r("BelegNr") Blatt.Range("G" & cnt).Value = "" Blatt.Range("H" & cnt).Value = "" Blatt.Range("I" & cnt).Value = "-" Blatt.Range("J" & cnt).Value = "" Blatt.Range("K" & cnt).Value = "" Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang Blatt.Range("O" & cnt).Value = "" Blatt.Range("P" & cnt).Value = "" Blatt.Range("Q" & cnt).Value = "" Blatt.Range("R" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST Blatt.Range("S" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL Blatt.Range("T" & cnt).Value = ZollInProzent.ToString("N2") & " %" Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "") Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender Blatt.Range("W" & cnt).Value = "" Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms Blatt.Range("Y" & cnt).Value = "" Blatt.Range("Z" & cnt).Value = "" Blatt.Range("AA" & cnt).Value = "" If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If cnt += 1 End If End If Next Datei.Save() .DisplayAlerts = False .quit() Try : Datei.close(True) : Catch : End Try End With End Select 'Dim filepath = VERAG_PROG_ALLGEMEIN.cProgramFunctions.genExcelFromDT_NEW(dt,,,,, False, "Report Data_" & KUNDENADR.FullName & "_" & von.ToShortDateString & "-" & bis.ToShortDateString) End If 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 Public Function genEXCEL_Bericht_Kunden(KdNr As String, von As Date, bis As Date, Auswertungstyp As String) As String Dim KUNDE = New VERAG_PROG_ALLGEMEIN.cKunde(KdNr) Dim dt As DataTable = (New SQL).loadDgvBySql("SELECT CAST([FilialenNr] as varchar) + '/' + CAST([AbfertigungsNr] as varchar) Abfertigungsnummer ,cast([Abfertigungsdatum] as date)Abfertigungsdatum ,Absender ,Rechnungsbetrag Betrag ,BelegNr ,[FilialenNr],[AbfertigungsNr],Speditionsbuch.Abfertigungsart,Abfertigungsbezeichnung,Speditionsbuch.Zollsystem_Land, Speditionsbuch.[LKW Kennzeichen] FROM Speditionsbuch INNER JOIN [Abfertigungsarten] ON Speditionsbuch.Abfertigungsart=Abfertigungsarten.Abfertigungsart where EmpfängerKundenNr IN (" & KdNr & ") and VermittlerKundenNr IN (" & KdNr & ") and Abfertigungsdatum BETWEEN '" & von.ToShortDateString & "' AND '" & bis.ToShortDateString & "' And Speditionsbuch.Abfertigungsart IN (1,29,38, 26)", "FMZOLL") Try Dim Path = "" If dt IsNot Nothing And dt.Rows.Count > 0 Then 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 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") Select Case Auswertungstyp.ToUpper Case "DETAILBERICHT" With exclApp .Visible = False Try Path = sPath & "Detailbericht_" & KUNDE.KundenNr & "_" & von.ToShortDateString & "-" & bis.ToShortDateString & "" & " .xlsx" While System.IO.File.Exists(Path) Path = sPath & KUNDE.KundenNr & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" End While My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Detailauswertung_divers, False) Catch ex As System.Exception End Try Datei = .Workbooks.Open(Path) 'Anpassen Blatt = Datei.Worksheets(1) 'Anpassen Dim cnt = 2 For Each r In dt.Rows Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Try Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then If ZOLLANMELDUNG.dtWARENPOS.Rows.Count > 0 Then Dim rowcounter As Integer = 0 For Each row As DataRow In ZOLLANMELDUNG.dtWARENPOS.Rows Dim ZollInProzent As Double = 0 If If(ZOLLANMELDUNG.RechnungspreisohneWahrung, "") <> "" Then ZollInProzent = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100 End If Blatt.Range("A" & cnt).Value = cnt - 1 Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("C" & cnt).Value = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(r("FilialenNr")) Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr") Blatt.Range("F" & cnt).Value = r("BelegNr") Blatt.Range("G" & cnt).Value = row.Item("PosNr") Blatt.Range("H" & cnt).Value = row.Item("WarenNr") Blatt.Range("I" & cnt).Value = "-" Blatt.Range("J" & cnt).Value = row.Item("WarenBez") Blatt.Range("K" & cnt).Value = "" Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang Blatt.Range("O" & cnt).Value = "" Blatt.Range("P" & cnt).Value = row.Item("Netto") Blatt.Range("Q" & cnt).Value = row.Item("PosWert") Blatt.Range("R" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_EUST, "") Blatt.Range("S" & cnt).Value = IIf(rowcounter = 0, ZOLLANMELDUNG.ABGABEN_ZOLL, "") Blatt.Range("T" & cnt).Value = IIf(rowcounter = 0, ZollInProzent.ToString("N2") & " %", "") Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "") Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender Blatt.Range("W" & cnt).Value = row.Item("Herkunft") Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms Blatt.Range("Y" & cnt).Value = row.Item("Verfahren") Blatt.Range("Z" & cnt).Value = row.Item("Preferenz") If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If cnt += 1 rowcounter += 1 Next Else Dim ZollInProzent As Double = 0 If If(ZOLLANMELDUNG.RechnungspreisohneWahrung, "") <> "" Then ZollInProzent = ZOLLANMELDUNG.ABGABEN_ZOLL / ZOLLANMELDUNG.RechnungspreisohneWahrung * 100 End If Blatt.Range("A" & cnt).Value = cnt - 1 Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("C" & cnt).Value = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(r("FilialenNr")) Blatt.Range("D" & cnt).Value = ZOLLANMELDUNG.Empfaenger Blatt.Range("E" & cnt).Value = r("FilialenNr") & "/" & r("AbfertigungsNr") Blatt.Range("F" & cnt).Value = r("BelegNr") Blatt.Range("G" & cnt).Value = "" Blatt.Range("H" & cnt).Value = "" Blatt.Range("I" & cnt).Value = "-" Blatt.Range("J" & cnt).Value = "" Blatt.Range("K" & cnt).Value = "" Blatt.Range("L" & cnt).Value = ZOLLANMELDUNG.Waehrungscode Blatt.Range("M" & cnt).Value = ZOLLANMELDUNG.Geschaeftsart Blatt.Range("N" & cnt).Value = ZOLLANMELDUNG.Zollstelle_Eingang Blatt.Range("O" & cnt).Value = "" Blatt.Range("P" & cnt).Value = "" Blatt.Range("Q" & cnt).Value = "" Blatt.Range("R" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST Blatt.Range("S" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL Blatt.Range("T" & cnt).Value = ZollInProzent.ToString("N2") & " %" Blatt.Range("U" & cnt).Value = IIf(ZOLLANMELDUNG.VerBestLandZst.ToString.Count > 1, ZOLLANMELDUNG.VerBestLandZst.ToString.Substring(0, 2), "") Blatt.Range("V" & cnt).Value = ZOLLANMELDUNG.Absender Blatt.Range("W" & cnt).Value = "" Blatt.Range("X" & cnt).Value = ZOLLANMELDUNG.Incoterms Blatt.Range("Y" & cnt).Value = "" Blatt.Range("Z" & cnt).Value = "" Blatt.Range("AA" & cnt).Value = "" If If(ZOLLANMELDUNG.ATCMRN, "") <> "" AndAlso Blatt.Range("F" & cnt).Value = "" Then Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If cnt += 1 End If End If Catch ex As Exception End Try Next Datei.Save() .DisplayAlerts = False .quit() Try : Datei.close(True) : Catch : End Try End With Case "BERICHT" With exclApp .Visible = False Try Path = sPath & "Bericht_" & KUNDE.KundenNr & von.ToShortDateString & "-" & bis.ToShortDateString & "" & " .xlsx" While System.IO.File.Exists(Path) Path = sPath & KUNDE.KundenNr & von.ToShortDateString & "-" & bis.ToShortDateString & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" End While My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Auswertung_divers, False) Catch ex As System.Exception End Try Datei = .Workbooks.Open(Path) 'Anpassen Blatt = Datei.Worksheets(1) 'Anpassen If KUNDE.KundenNr = 902452 Then 'KUNDE WILL WIEDER EXZTAWURST!!!!!!! Blatt.Range("H1").Value = von.ToShortDateString & "-" & bis.ToShortDateString Blatt.Range("A" & 2).Value = "Nr" Blatt.Range("B" & 2).Value = "Datum" Blatt.Range("C" & 2).Value = "MRN-Nr." Blatt.Range("D" & 2).Value = "LKW/Cont." Blatt.Range("E" & 2).Value = "Rg.-Nr." Blatt.Range("F" & 2).Value = "EUST" Blatt.Range("G" & 2).Value = "Anzahl Pos." Blatt.Range("H" & 2).Value = "" Blatt.Range("I" & 2).Value = "" Blatt.Range("J" & 2).Value = "" Blatt.Range("K" & 2).Value = "" Blatt.Range("L" & 2).Value = "" Dim cnt = 3 For Each r In dt.Rows Blatt.Range("A" & cnt).Value = cnt - 2 Blatt.Range("B" & cnt).Value = r("Abfertigungsdatum") Blatt.Range("C" & cnt).Value = r("BelegNr") Blatt.Range("D" & cnt).Value = r("LKW Kennzeichen") Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung Try Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then '------------------------------------------------------- Dim RechnungsString = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) Dim rows() As String = RechnungsString.Split(New Char() {" "c}, StringSplitOptions.RemoveEmptyEntries) For Each row As String In rows If IsDate(row) AndAlso row.Length = 10 Then RechnungsString = RechnungsString.Replace(row.ToString, "") End If Next Blatt.Range("E" & cnt).Value = RechnungsString.Trim '------------------------------------------------------- Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.ANZ_POS If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then Blatt.Range("C" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If End If Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try cnt += 1 Next Else Blatt.Range("I1").Value = von.ToShortDateString & "-" & bis.ToShortDateString Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung 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("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") Try Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.RechnungspreisohneWahrung Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ABGABEN_EUST Blatt.Range("K" & cnt).Value = ZOLLANMELDUNG.ANZ_POS If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN End If End If Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try cnt += 1 Next End If Datei.Save() .DisplayAlerts = False .quit() Try : Datei.close(True) : Catch : End Try End With End Select '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 End If Catch ex As System.Exception ' MsgBox(ex.Message) Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace End Try Return "" End Function Private Sub releaseObject(ByVal obj As Object) Try System.Runtime.InteropServices.Marshal.ReleaseComObject(obj) obj = Nothing Catch ex As Exception obj = Nothing Finally GC.Collect() End Try End Sub 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 [SQLGUIDE01.verag.ost.dmn].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" sqlstr &= " SELECT [Grenzstelle], SUM(Speditionsbuch.Abfertigungsanzahl) as Anzahl FROM Speditionsbuch WHERE Abfertigungsart IN (26,28) " sqlstr &= " AND [Grenzstelle] <> 'SFD' and FilialenNr NOT IN ( 4801,4802,4806 ) " sqlstr &= " and Abfertigungsdatum between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' " & " GROUP BY [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(Jahr) 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("F1").Value = If(Jahr > 0, Jahr, Now.AddMonths(-1).Year) ' Dim von = CDate("01." & Now.AddMonths(-1) & "." & Now.AddMonths(-1).Year) For i = 1 To 12 'Now.AddMonths(-1).Month Dim year = If(Jahr > 0, Jahr, 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 and EAB.Mandant='VERA' AND EAB.Niederlassung='SUA' " ' sqlstr &= " where LeistungsNr=480 and [EAB].BelegDat between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and gebucht=1 and storniert=0 and EAB.Mandant='IMEX' " 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 & "'AND sdlAb_Abholung>='01.09.2021 00:00:00' " 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_MDM_IT(ByVal Jahr As Integer) As String Dim exclApp As Object = Nothing Dim Datei As Object = Nothing Dim Blatt As Object = Nothing Try Dim yearVal As Integer = If(Jahr > 0, Jahr, Now.AddMonths(-1).Year) exclApp = CreateObject("Excel.Application") With exclApp .Visible = False .DisplayAlerts = False Dim filepath As String = sPath & "MDM_IT_Verguetung.xlsx" 'Template aus Resources schreiben Try My.Computer.FileSystem.WriteAllBytes(filepath, My.Resources.MDM_it_Verguetung, False) Catch ex As Exception Return "ERROR 01: " & ex.Message & vbNewLine & ex.StackTrace End Try Datei = .Workbooks.Open(filepath) Blatt = Datei.Worksheets("CS") ' ggf. anpassen ' Jahr eintragen (wie bisher) Blatt.Range("G1").Value = yearVal ' --- Zielbereich leeren (nur Wertebereich, nicht Monatsnamen/Überschriften) --- ' Monate sind i.d.R. Zeile 7-18 (12 Monate). Spalten B-F Blatt.Range("B8:F19").ClearContents() ' --- SQL 1x laden: alle Monate / Datenquellen --- Dim sqlstr As String = "SELECT * FROM ( SELECT COUNT(*) AS Anzahl, 'IDS' AS Datenquelle, MONTH(t.YearMonthDay) AS [Month], YEAR(t.YearMonthDay) AS [Year] FROM tblIDSTransactionsNew t INNER JOIN tbl_IDS_Länder l ON t.OutletCountryCode = l.OutletCountryCode INNER JOIN tbl_IDS_Produkte p ON t.ProductTypeCode = p.ProductTypeCode WHERE YEAR(t.YearMonthDay) = " & yearVal & " GROUP BY MONTH(t.YearMonthDay), YEAR(t.YearMonthDay) UNION ALL SELECT COUNT(*) AS Anzahl, Datenquelle, MONTH([Transaction date]) AS [Month], YEAR([Transaction date]) AS [Year] FROM [VERAG].[dbo].[tblMautbericht] WHERE YEAR([Transaction date]) = " & yearVal & " GROUP BY Datenquelle, MONTH([Transaction date]), YEAR([Transaction date]) ) AS temp ORDER BY Datenquelle, temp.[Year], temp.[Month];" Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr) ' --- Map (Datenquelle, Monat) -> Anzahl --- Dim map As New Dictionary(Of String, Integer)(StringComparer.OrdinalIgnoreCase) If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then For Each r As DataRow In dt.Rows Dim src As String = If(r("Datenquelle") Is DBNull.Value, "", CStr(r("Datenquelle")).Trim()) ' Sonderzuordnung If src.Equals("AT", StringComparison.OrdinalIgnoreCase) Then src = "ASFINAG" End If Dim m As Integer = If(r("Month") Is DBNull.Value, 0, Convert.ToInt32(r("Month"))) Dim cnt As Integer = If(r("Anzahl") Is DBNull.Value, 0, Convert.ToInt32(r("Anzahl"))) If m >= 1 AndAlso m <= 12 AndAlso src <> "" Then Dim key As String = src & "|" & m.ToString() ' Falls doppelte Zeilen vorkommen, addieren wir (sicherer) If map.ContainsKey(key) Then map(key) += cnt Else map(key) = cnt End If End If Next End If ' --- Spaltenmapping Datenquelle -> Excel-Spalte --- Dim col As New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase) From { {"IDS", "B"}, {"PLOSE", "C"}, {"ASFINAG", "D"}, {"MSE", "E"}, {"UTA", "F"} } ' --- Schreiben: Monate 1..12 in Zeilen 7..18 --- For monthIdx As Integer = 1 To 12 Dim rowExcel As Integer = 7 + monthIdx ' 7..18 For Each kvp In col Dim src As String = kvp.Key Dim colLetter As String = kvp.Value Dim key As String = src & "|" & monthIdx.ToString() Dim value As Integer = 0 If map.ContainsKey(key) Then value = map(key) Blatt.Range(colLetter & rowExcel.ToString()).Value = value Next Next Datei.Save() Try : Datei.Close(True) : Catch : End Try Try : .Quit() : Catch : End Try End With Return sPath & "MDM_IT_Verguetung.xlsx" Catch ex As Exception Return "ERROR 02: " & ex.Message & vbNewLine & ex.StackTrace Finally ' COM sauber freigeben (verhindert EXCEL.EXE-Leichen) Try If Blatt IsNot Nothing Then Marshal.FinalReleaseComObject(Blatt) Catch End Try Try If Datei IsNot Nothing Then Marshal.FinalReleaseComObject(Datei) Catch End Try Try If exclApp IsNot Nothing Then Marshal.FinalReleaseComObject(exclApp) Catch End Try Blatt = Nothing Datei = Nothing exclApp = Nothing GC.Collect() GC.WaitForPendingFinalizers() GC.Collect() 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(LandEinschr) As String Try If LandEinschr <> "" Then LandEinschr = " AND LandKz IN (" & LandEinschr & ") " 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, min([Fälligkeitsdatum]) as [Fälligkeitsdatum] " & "FROM [Offene Posten] INNER JOIN Adressen ON AdressenNr=Kontonummer " & "WHERE 1=1 " & LandEinschr & " AND Firma_ID NOT IN (7,15) " & "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(LandEinschr) As String Try If LandEinschr <> "" Then LandEinschr = " AND LandKz IN (" & LandEinschr & ") " 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 1=1 " & LandEinschr & "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_OPKreditlimit() 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 [AdressenNr],Ordnungsbegriff, Kreditlimit ,dbo.fn_ConvertNumber(OP_Saldo, 1031, 2) as OP_Saldo, Vorauskasse, dbo.fn_ConvertNumber(OP_Faellig, 1031, 2)OP_Fällig FROM (SELECT [AdressenNr],Ordnungsbegriff, CASE WHEN kunden.Vorkasse =1 then '' ELSE CONVERT(varchar, CAST(Kreditlimit AS money), 1) END AS Kreditlimit , (sum([Offene Posten].Bruttobetrag)) as OP_Saldo, CASE WHEN kunden.Vorkasse =1 then 'JA' ELSE 'NEIN' END Vorauskasse , SUM(case when [Offene Posten].Fälligkeitsdatum<=getdate() then [Offene Posten].Bruttobetrag ELSE 0 end) as OP_Faellig FROM [VERAG].[dbo].[Adressen] inner join Kunden on KundenNr=AdressenNr inner join [Offene Posten] on KundenNrZentrale=[Offene Posten].Kontonummer inner join Filialen on filialen.filialenNr=Kunden.FilialenNr where ((Kreditlimit<>2600 and Kreditlimit<>0) OR kunden.Vorkasse =1) and (LEN(Adressennr)=6 and AdressenNr not like '40%') and filialen.Firma IN ('VERAG','ATILLA') and filialen.filialenNr<>8001 group by [AdressenNr],Ordnungsbegriff,Kreditlimit ,kunden.Vorkasse having sum([Offene Posten].Bruttobetrag) >Kreditlimit ) AS T1 WHERE cast (OP_Faellig as float) > 5000 order by OP_Faellig desc" 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_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] ,[Grenzstelle] ,[AvisoEingang] ,[Datum] Erfasst ,isnull([Dauer],'')[Dauer] ,''Puffer ,[Vorbereitet] as [Doc.Checked-Vorbereitet] ,[Vorgeschrieben] as [DataDate-Vorgeschrieben] ,[VoraussichtlichesEintreffen] as [ETA-Vorr.Eintreffen] ,[Ankunft] as [Arrival-DE] ,isnull(cast([VerwahrungStatusDate]as varchar(max)),'') PhysicalCheck ,isnull(cast((SELECT TOP 1 Datum FROM [AVISO].[dbo].[Vermerke] where VermerkeCode=18 and Geloescht=0 AND [Vermerke].AvisoID=Aviso.AvisoID order by datum desc)as varchar(max)),'') as [Clearance-ZollFertig] ,isnull(cast([Freigabe]as varchar(max)),'')[Departure-Freigabe] 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 Dim wb As New XLWorkbook() Dim firmenlist As New List(Of MyListItem) firmenlist.Add(New MyListItem("VERAG AG", 1)) firmenlist.Add(New MyListItem("VERAG CS", 11)) firmenlist.Add(New MyListItem("ATILLA", 7)) For Each i In firmenlist Dim top = 100 Dim sql As New SQL Dim sqlstrKunden = " select * from ( SELECT [KundenNr] as KundenNr,[Name 1], Adressen.LandKz, (isnull(Adressen.UstIdKz,'') + isnull(Adressen.UstIdNr,'')) as UIDNrKunden, isnull(c_ustidnr,'') as UIDNrKundenDeb, [i_firm_refid] as MandantFIBU, FiBuSchnittstelleNr as MandantAVISO FROM [VERAG].[dbo].[Kunden] inner join Adressen on Adressen.AdressenNr = Kunden.KundenNr inner join Buchhaltung.[FIBU2].[dbo].[fibu_konto] on Kunden.KundenNrZentrale = i_konto where isnull(KundenNrZentrale,0) <> 0 and Auswahl = 'A' And isnull(FiBuSchnittstelleNr,0) = " & i.Value & " ANd [i_firm_refid] = " & i.Value & " ) as temp where UIDNrKunden <> UIDNrKundenDeb" Dim dtKunden As DataTable = loadDgvBySqlFMZOLL(sqlstrKunden) If dtKunden.Rows.Count > 0 Then System.Console.WriteLine("Vorhandene Datensätze: " & dtKunden.Rows.Count) wb.Worksheets.Add(dtKunden, i.Text) End If Next wb.SaveAs(sPath & "TMP.xlsx") 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(LandEinschr) As String Try If LandEinschr <> "" Then LandEinschr = " AND LandKz IN (" & LandEinschr & ") " 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 1=1 " & LandEinschr & " 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_TETRAPAK_DE(von As DateTime, bis As DateTime) As String Try Dim sql As New SQL Dim sqlstr = "SELECT /*eza_id,eza_dyaAnmID,*/ cast(isnull(eza_anmeldedatum,eza_Trans_DatumZeit) as date) as ImportDate,eza_ANR as MRN, ezaWP_AnmeldeVErfahren [Import regime], (SELECT [tblDakosy_EZA_Adressen].ezaAd_TeilnehmerEORI FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') ExporterEORI, (SELECT [tblDakosy_EZA_Adressen].ezaAd_NameFirma1 FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') Exporter, (SELECT [tblDakosy_EZA_Adressen].ezaAd_LandCode FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CZ') ExporterCountry, (SELECT [tblDakosy_EZA_Adressen].ezaAd_TeilnehmerEORI FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CN') ImporterEORI, (SELECT TOP 1 [Ordnungsbegriff] FROM [VERAG].[dbo].[Adressen] inner join kunden on KundenNr=AdressenNr WHERE EORITIN =(SELECT [tblDakosy_EZA_Adressen].ezaAd_TeilnehmerEORI FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId and ezaAd_AdressTyp='CN') ) Importer, ezaWP_UrsprungslandCode CountryOrigin, ezaWP_PositionsNummer as PositionNummer, tblDakosy_EZA_Warenposition.ezaWP_WarennummerEZT HSCode, tblDakosy_EZA_Warenposition.ezaWP_Artikelpreis GoodsValue, CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN [ezaAfb_Abgabenbetrag] ELSE 0 END) ELSE '' END VAT, CASE WHEN ezaWP_PositionsNummer=1 then SUM(CASE WHEN [ezaAfb_AbgabeArt] = 'B0000' THEN 0 ELSE [ezaAfb_Abgabenbetrag] END) ELSE '' END DUTY, ezaWP_PackstueckAnzahl Package, sum(tblDakosy_EZA_Warenposition.ezaWP_Eigenmasse) NetWeight, sum(tblDakosy_EZA_Warenposition.ezaWP_Rohmasse) GrossWeight, max(tblDakosy_EZA_Warenposition.ezaWP_Warenbezeichnung )GoodsDescription FROM [VERAG].[dbo].[tblDakosy_EZA] inner join tblDakosy_EZA_Warenposition on ezaWP_EzaId=eza_Id inner join tblDakosy_EZA_Aufschub on [ezaAfb_EZAId]=eza_Id where (SELECT count(*) FROM [tblDakosy_EZA_Adressen] WHERE eza_id=ezaAd_EZAId AND ezaAd_TeilnehmerEORI IN( 'ATEOS1000001405','ATEOS1000001405','DE2030640','DE2010348')and ezaAd_AdressTyp='CN')>0 and cast(isnull(eza_anmeldedatum,eza_Trans_DatumZeit) as date) between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and (eza_status BETWEEN 60 and 60 or eza_ANR like 'ATC%') group by eza_id,eza_dyaAnmID,eza_ANR,ezaWP_PositionsNummer,isnull(eza_anmeldedatum,eza_Trans_DatumZeit),ezaWP_UrsprungslandCode ,ezaWP_WarennummerEZT,ezaWP_Artikelpreis,ezaWP_ArtikelpreisWaehrung,ezaWP_PackstueckAnzahl,ezaWP_AnmeldeVErfahren order by ImporterEORI, importdate" Dim dt As DataTable = loadDgvBySqlFMZOLL(sqlstr) System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count) Dim excelBez = "TETRAPAK_DE_" & von.ToShortDateString.Replace(".", "-") & "_to_ " & bis.ToShortDateString.Replace(".", "-") genExcel(dt, excelBez, "TETRAPAK") Return sPath & excelBez & ".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_TETRAPAK_AT(von As DateTime, bis As DateTime) As String Try Dim sql As New SQL Dim sqlstr = " DECLARE @Eori AS VARCHAR(100)='ATEOS1000001405' select CRN,cast(DecDT as date) ImportDate,LRN,Net,TotGross,ItVal ,[ProcCd] Regime , Orig Ursprungsland , (SELECT TIN FROM zsAnmConorTra WHERE (zsAnmConorTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConorTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConorTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConorTra.AnmID = zsAnmHea.AnmID )) EORI_Exporter , (SELECT Na FROM zsAnmConorTra WHERE (zsAnmConorTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConorTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConorTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConorTra.AnmID = zsAnmHea.AnmID )) Exporter , (SELECT TIN FROM zsAnmConeeTra WHERE (zsAnmConeeTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConeeTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConeeTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConeeTra.AnmID = zsAnmHea.AnmID ))EORI_Importer , (SELECT Na FROM zsAnmConeeTra WHERE (zsAnmConeeTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConeeTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConeeTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConeeTra.AnmID = zsAnmHea.AnmID ))Importer ,GdsDes GoodsDescription,ComCd from zsAnmRefs inner join zsAnmGdsitem on zsAnmRefs.LizenzNr=zsAnmGdsitem.LizenzNr and zsAnmRefs.AnmID=zsAnmGdsitem.AnmID and zsAnmRefs.VorgangID=zsAnmGdsitem.VorgangID and zsAnmRefs.OperatorID=zsAnmGdsitem.OperatorID inner join zsAnmHea on zsAnmHea.LizenzNr=zsAnmGdsitem.LizenzNr and zsAnmHea.AnmID=zsAnmGdsitem.AnmID and zsAnmHea.VorgangID=zsAnmGdsitem.VorgangID and zsAnmHea.OperatorID=zsAnmGdsitem.OperatorID inner join zsAnmDeclarant on zsAnmHea.LizenzNr=zsAnmDeclarant.LizenzNr and zsAnmHea.AnmID=zsAnmDeclarant.AnmID and zsAnmHea.VorgangID=zsAnmDeclarant.VorgangID and zsAnmHea.OperatorID=zsAnmDeclarant.OperatorID inner join zsAnmTransp on zsAnmHea.LizenzNr=zsAnmTransp.LizenzNr and zsAnmHea.AnmID=zsAnmTransp.AnmID and zsAnmHea.VorgangID=zsAnmTransp.VorgangID and zsAnmHea.OperatorID=zsAnmTransp.OperatorID where DecDT between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' and crn is not null and (SELECT TIN FROM zsAnmConeeTra WHERE (zsAnmConeeTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConeeTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConeeTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConeeTra.AnmID = zsAnmHea.AnmID )) LIKE @Eori order by ImportDate,(SELECT Na FROM zsAnmConorTra WHERE (zsAnmConorTra.LizenzNr = zsAnmHea.LizenzNr ) And (zsAnmConorTra.OperatorID =zsAnmHea.OperatorID ) And (zsAnmConorTra.VorgangID = zsAnmHea.VorgangID ) And (zsAnmConorTra.AnmID = zsAnmHea.AnmID ))" Dim dt As DataTable = sql.loadDgvBySql(sqlstr, "EZOLL") System.Console.WriteLine("Vorhandene Datensätze: " & dt.Rows.Count) Dim excelBez = "TETRAPAK_AT_" & von.ToShortDateString.Replace(".", "-") & "_to_ " & bis.ToShortDateString.Replace(".", "-") genExcel(dt, excelBez, "TETRAPAK") Return sPath & excelBez & ".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, Optional CmdChangeTimeout As Integer = 0) As DataTable Try Dim myTable = New DataTable() Dim conn As SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionFMZOLL '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) If (CmdChangeTimeout > 0) Then cmd.CommandTimeout = CmdChangeTimeout End If 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 SqlConnection = VERAG_PROG_ALLGEMEIN.SQL.GetNewOpenConnectionSDL '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 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 Public Function replaceBodyVariable(txt As String, Optional von As Date = Nothing, Optional bis As Date = Nothing) As String If txt = "" Then Return "" If IsDate(von) Then txt = txt.Replace("%von%", von.ToShortDateString) If IsDate(bis) Then txt = txt.Replace("%bis%", bis.ToShortDateString) txt = txt.Replace("%today%", Now.ToShortDateString) txt = txt.Replace("%now%", Now.ToShortTimeString) txt = txt.Replace("%now%", Now.ToShortTimeString) Return txt End Function End Module