Files
SDL/SDL/mdm/usrCntlMDMAuswertungen.vb
2025-01-17 16:29:35 +01:00

2619 lines
136 KiB
VB.net
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Imports System.Data.SqlClient
Imports System.IO
Imports Microsoft.Office.Interop.Outlook
Imports Microsoft.VisualBasic.FileIO
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlMDMAuswertungen
Dim PathMautberichte = ""
Private Sub btnWord_Click(sender As Object, e As EventArgs) Handles btnWord.Click
If cbxDetails.Checked Then
Dim frmPrintLayout As New frmPrintLayout("AuswertungMWSTOffeneAntraegeMitVorauszahlungDetails")
frmPrintLayout.datvon = datAuswertungAb.Value
frmPrintLayout.Show()
Else
Dim frmPrintLayout As New frmPrintLayout("AuswertungMWSTOffeneAntraegeMitVorauszahlung")
frmPrintLayout.datvon = datAuswertungAb.Value
frmPrintLayout.Show()
End If
End Sub
Private Sub usrCntlMDMAuswertungen_Load(sender As Object, e As EventArgs) Handles Me.Load
datAuswertungAb.Value = CDate("01.01." & Now.Year - 1)
Dim dLastSaturday As Date = Now.AddDays(-(Now.DayOfWeek + 1))
'GET LAST SUNDAY
datWoelflVon.Value = Now.AddDays(-(Now.DayOfWeek + 6))
datWoelflBis.Value = Now.AddDays(-(Now.DayOfWeek))
cboUeberfaelligeBestLeistung.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
datUeberfaelligeBestVon.Value = CDate("01." & Now.AddMonths(-2).Month & "." & Now.AddMonths(-2).Year)
datUeberfaelligeBestBis.Value = Now
kdUeberfaelligeBest.initKdBox(Me.FindForm)
KdSearchBox1.initKdBox(Me.FindForm)
MyComboBox1.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
MyComboBox2.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
KdSearchBox2.initKdBox(Me.FindForm)
datBenachrichtigungVon.Value = Now
datBenachrichtigungBis.Value = Now
datIDSVon.Value = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
datIDSBis.Value = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
datPLOSEVon.Value = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
datPLOSEBis.Value = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
cbxMautbericht.Items.Clear()
cbxMautbericht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mautsummenbericht", "Gesamtbericht_EXCEL"))
cbxMautbericht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mautbericht AT DE MSE UTA", "Lieferantenbericht_PDF"))
cbxMautbericht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mautsummenbericht als CSV-Datei", "Gesamtbericht_CSV"))
cbxDateMautbericht.Items.Clear()
cbxDateMautbericht.fillWithSQL("select distinct(cast(BillingDate as Date)) From tblMautbericht order by cast(BillingDate as Date) desc", False, "FMZOLL")
cboIDSDateType.Items.Clear()
cboIDSDateType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechnungsdatum", "RGDat"))
cboIDSDateType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Leistungsdatum", "LDat"))
cboIDSDateType.changeItem("RGDat")
cboSachbearbeiter.fillWithSQL("select distinct(UPPER(sachbearbeiter)) from Rechnungsausgang where Sammelrechnung=6 and Firma_ID=19", False, "FMZOLL", True)
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Auswertungen_IDS", Me.FindForm) Then
tbcntr.TabPages.Remove(tbIDS)
End If
' MyComboBox4.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
datLeereOBUVon.Value = CDate("01." & Now.AddMonths(-2).Month & "." & Now.AddMonths(-2).Year)
datLeereOBUbis.Value = Now
PathMautberichte = "C:\Users\d.breimaier\Desktop\MDM\Mautgesamtberichte"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
genCSV_startWithExcel(RadioButtonExcelAlsEMailSchicken.Checked)
End Sub
Dim WithEvents EItem As Microsoft.Office.Interop.Outlook.MailItem
Private Sub sendPerMail(path)
Dim NSpace As Microsoft.Office.Interop.Outlook.NameSpace
Dim Folder As Microsoft.Office.Interop.Outlook.MAPIFolder
Dim outApp As Microsoft.Office.Interop.Outlook.Application
outApp = New Microsoft.Office.Interop.Outlook.Application
NSpace = outApp.GetNamespace("MAPI")
Folder = NSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail)
EItem = Folder.Items.Add(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem)
EItem.To = "a.rissbacher@woelfl-trans.at"
EItem.Subject = "Wölfl Rechnungen/Gutschriften"
EItem.Attachments.Add(path, OlAttachmentType.olByValue, 1, "WOELFL.csv ")
EItem.Display(False) 'öffnet das 'neue E-Mail-Form' von Outlook
End Sub
'schreibe jetzt den Text 'Body' in der geöffneten E-Mail 
' Private Sub EItem_Send(ByRef Cancel As Boolean) Handles EItem.Send
' EItem.SaveAs("C:\temp\test.msg") 'wenn ich in Outlook auf 'senden' klicke, wird die Mail inkl. meinem Body gespeichert.
' End Sub
Private WithEvents p As New Process
Public Sub genCSV_startWithExcel(email)
cleartmp()
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\" ' My.Computer.FileSystem.GetTempFileName
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
My.Computer.FileSystem.CreateDirectory(sPath)
End If
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] " &
" ,isNull([Anlage 1],'') Info " &
" FROM [Rechnungsausgang] inner join [RechnungsausgangPositionen] on Rechnungsausgang.[RK_ID]=RechnungsausgangPositionen.[RK_ID] " &
" inner join Adressen on Rechnungsausgang.EmpfängerKundenNr=Adressen.AdressenNr " &
" WHERE RechnungsKundenNr = 150000 " &
" and RechnungsDatum between '" & datWoelflVon.Value.ToShortDateString & "' and '" & datWoelflBis.Value.ToShortDateString & "'" &
" order by [RechnungsNr] "
' MsgBox(sqlstr)
Dim SQL As New SQL
Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "FMZOLL")
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 System.Exception
MsgBox(ex.Message)
Exit Sub
End Try
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().Replace(vbNewLine, "").Replace(vbCr, "").Replace(vbLf, "").Replace("\n", "").Replace("\r", "").Replace(vbCrLf, "") & ";"
' If Not o Is Nothing AndAlso Not o.value Is Nothing Then
'clmns &= o.Value.ToString().Replace(";", ",") & ";"
' Else
' clmns &= ";"
'End If
Next
outFile.WriteLine(clmns)
Next
outFile.Close()
If email Then
sendPerMail(fn)
Else
Try
p.StartInfo.FileName = "Excel.exe"
p.StartInfo.Arguments = fn
p.EnableRaisingEvents = True
p.Start()
AddHandler p.Exited, AddressOf cleartmp 'Löscht die Temp-Dateien
Catch ex As System.Exception
MsgBox("Excel konnte nicht gestartet werden!" & vbNewLine & vbNewLine & ex.Message)
End Try
End If
End Sub
Sub cleartmp()
Dim dir = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\"
If System.IO.Directory.Exists(dir) Then
For Each file As String In System.IO.Directory.GetFiles(dir) ' Ermittelt alle Dateien des Ordners
Try
My.Computer.FileSystem.DeleteFile(file)
Catch ex As System.Exception : MsgBox(ex.Message) : End Try
Next
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Dim kdnr As Integer = -1
If rbtUeberfaelligeBestKd.Checked Then
If kdUeberfaelligeBest.KdNr > 0 Then
kdnr = kdUeberfaelligeBest.KdNr
Else
MsgBox("Kunde auswählen!")
Exit Sub
End If
End If
cMDMAuswertung.genUeberfaelligeBestellungen(Me.FindForm, datUeberfaelligeBestVon.Value, datUeberfaelligeBestBis.Value, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, kdnr, cboUeberfaelligeBestLeistung._value)
End Sub
Private Sub kdUeberfaelligeBest_TextChanged(sender As Object, e As EventArgs) Handles kdUeberfaelligeBest.TextChanged
rbtUeberfaelligeBestKd.Checked = True
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
cMDMAuswertung.genSDLrief(Me.FindForm, KdSearchBox1.KdNr, MyComboBox1._value, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, cbxArchiv.Checked)
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
If KdSearchBox2.KdNr <= 0 Then MsgBox("Kunde auswählen!") : Exit Sub
Dim f As New frmSDLAbholungEintrag(KdSearchBox2.KdNr, -1)
If f.ShowDialog(Me) = DialogResult.OK Then
End If
'Dim f As New frmBenachrichtignunNeueKartenBoxen(datBenachrichtigungVon.Value, datBenachrichtigungBis.Value, KdSearchBox2.KdNr)
'f.Show()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
If cbxOBU.Checked Then
cMDMAuswertung.genLeereObu(Me.FindForm, datLeereOBUVon.Value, datLeereOBUbis.Value)
Else
cMDMAuswertung.genLeereObu(Me.FindForm)
End If
End Sub
Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbxOBU.CheckedChanged
datLeereOBUVon.Enabled = sender.checked
datLeereOBUbis.Enabled = sender.checked
End Sub
Private Sub GroupBox6_Enter(sender As Object, e As EventArgs) Handles GroupBox6.Enter
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Me.Cursor = Cursors.WaitCursor
Try
Dim dialog As New OpenFileDialog()
dialog.Filter = "CSV Files (*.csv)|*.csv"
If (dialog.ShowDialog() = DialogResult.OK) Then
Dim table As DataTable = convertToDT(dialog.FileName)
Dim cnt = 1
For Each r As DataRow In table.Rows
Dim IDS_Transaktionen As New IDS_Transaktionen
IDS_Transaktionen.BC_ID = cProgramFunctions.isLeerNothing(r("BC_ID"))
IDS_Transaktionen.BC_DESCR = cProgramFunctions.isLeerNothing(r("BC_DESCR"))
IDS_Transaktionen.CLUB_ID = cProgramFunctions.isLeerNothing(r("CLUB_ID"))
IDS_Transaktionen.COU_ISO_COD = cProgramFunctions.isLeerNothing(r("COU_ISO_COD"))
IDS_Transaktionen.COU_DESCR = cProgramFunctions.isLeerNothing(r("COU_DESCR"))
IDS_Transaktionen.CUST_COD = cProgramFunctions.isLeerNothing(r("CUST_COD"))
IDS_Transaktionen.CUST_LEVEL = cProgramFunctions.isLeerNothing(r("CUST_LEVEL"))
IDS_Transaktionen.CUST_NAME1 = cProgramFunctions.isLeerNothing(r("CUST_NAME1"))
IDS_Transaktionen.CARD_SER_NUM = cProgramFunctions.isLeerNothing(r("CARD_SER_NUM"))
IDS_Transaktionen.SOU_ISO_COD = cProgramFunctions.isLeerNothing(r("SOU_ISO_COD"))
IDS_Transaktionen.SOU_DESCR = cProgramFunctions.isLeerNothing(r("SOU_DESCR"))
IDS_Transaktionen.TRS_NUM = cProgramFunctions.isLeerNothing(r("TRS_NUM"))
IDS_Transaktionen.TRS_VERS_NUM = cProgramFunctions.isLeerNothing(r("TRS_VERS_NUM"))
IDS_Transaktionen.OUT_COD = cProgramFunctions.isLeerNothing(r("OUT_COD"))
IDS_Transaktionen.OUT_DESCR = cProgramFunctions.isLeerNothing(r("OUT_DESCR"))
IDS_Transaktionen.OUT_GRP_COD = cProgramFunctions.isLeerNothing(r("OUT_GRP_COD"))
IDS_Transaktionen.TRS_DATE = cProgramFunctions.isLeerNothing(r("TRS_DATE"))
IDS_Transaktionen.TOT_QTY = cProgramFunctions.isLeerNothingDblPKT(r("TOT_QTY"))
IDS_Transaktionen.PROD_NUM = cProgramFunctions.isLeerNothing(r("PROD_NUM"))
IDS_Transaktionen.PROD_DESCR = cProgramFunctions.isLeerNothing(r("PROD_DESCR"))
IDS_Transaktionen.SERVICE_PROD_NUM = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_NUM"))
IDS_Transaktionen.SERVICE_PROD_DESCR = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_DESCR"))
IDS_Transaktionen.SOU_CURR = cProgramFunctions.isLeerNothing(r("SOU_CURR"))
IDS_Transaktionen.ORIG_LIST_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_LIST_PRICE"))
IDS_Transaktionen.ORIG_REBATE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_REBATE"))
IDS_Transaktionen.ORIG_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_PRICE"))
IDS_Transaktionen.PLATTS_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("PLATTS_PRICE"))
IDS_Transaktionen.SC_BC_RATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_BC_RATE"))
IDS_Transaktionen.SC_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("SC_IV_BC_AMNT"))
IDS_Transaktionen.COU_BENEFICIARY_CURR = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY_CURR"))
IDS_Transaktionen.CO_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("CO_IV_BC_AMNT"))
IDS_Transaktionen.EUR_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("EUR_IV_BC_AMNT"))
IDS_Transaktionen.SC_CO_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_CO_EXCHRATE"))
IDS_Transaktionen.SC_EUR_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_EUR_EXCHRATE"))
IDS_Transaktionen.BC_INVO_DATE = cProgramFunctions.isLeerNothing(r("BC_INVO_DATE"))
IDS_Transaktionen.INVO_NUM = cProgramFunctions.isLeerNothing(r("INVO_NUM"))
IDS_Transaktionen.FIXED_OR_TOTAL = cProgramFunctions.isLeerNothing(r("FIXED_OR_TOTAL"))
IDS_Transaktionen.BC_TYPE = cProgramFunctions.isLeerNothing(r("BC_TYPE"))
IDS_Transaktionen.COU_BENEFICIARY = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY"))
IDS_Transaktionen.CUST_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("CUST_BENEFICIARY"))
IDS_Transaktionen.LEVEL_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("LEVEL_BENEFICIARY"))
IDS_Transaktionen.CUST_GRP_BENEFICIARY = cProgramFunctions.isLeerNothing(r("CUST_GRP_BENEFICIARY"))
'IDS_Transaktionen.Importiert = cProgramFunctions.isLeerNothing(r("Importiert"))
IDS_Transaktionen.SAVE()
'MsgBox(table.Rows.Count)
If cnt Mod 10 = 0 Then
txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count
Dim proz As Double = (cnt / table.Rows.Count) * 100
ProgressBar.Value = proz
lblProz.Text = proz.ToString("N2") & " %"
GroupBox7.Refresh()
My.Application.DoEvents()
End If
cnt += 1
Next
ProgressBar.Value = 100
txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count
lblProz.Text = "100.00 %"
End If
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Shared Function convertToDT(filePath As String) As DataTable
Dim detailDataTable As New DataTable()
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252) '1252 = ANSI
' Dim sw As New StreamWriter("textdatei.txt", True, enc)
Using csvReader As New TextFieldParser(filePath, enc)
csvReader.SetDelimiters(New String() {";"})
csvReader.HasFieldsEnclosedInQuotes = True
Dim colFields As String() = csvReader.ReadFields()
For Each column As String In colFields
Dim datecolumn As New DataColumn(column.ToLowerInvariant)
datecolumn.AllowDBNull = True
detailDataTable.Columns.Add(datecolumn)
Next
While Not csvReader.EndOfData
Dim rowData As String() = csvReader.ReadFields '//sometimes rowData convert invalid name
For i As Integer = 0 To rowData.Length - 1
'//perform operation
Next
If rowData IsNot Nothing AndAlso rowData(0) IsNot Nothing Then
If Not (rowData(0).StartsWith("#") Or String.IsNullOrEmpty(rowData(0))) Then
detailDataTable.Rows.Add(rowData)
End If
End If
End While
End Using
Return detailDataTable
End Function
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT COUNT(*) as COUNT,prod_descr,sou_descr, out_descr ,SUM(TOT_QTY) as TOT_QTY, MAX(SOU_CURR) as SOU_CURR,"
sqlstr &= " SUM(ORIG_LIST_PRICE) as ORIG_LIST_PRICE_SUM, COUNT(ORIG_LIST_PRICE) as ORIG_LIST_PRICE_COUNT,AVG(ORIG_LIST_PRICE) as ORIG_LIST_PRICE_AVG, "
sqlstr &= " SUM(SC_BC_RATE) as SC_BC_RATE_SUM, COUNT(SC_BC_RATE) as SC_BC_RATE_COUNT,AVG(SC_BC_RATE) as SC_BC_RATE_AVG, "
sqlstr &= " SUM(PLATTS_PRICE) as PLATTS_PRICE_SUM, COUNT(PLATTS_PRICE) as PLATTS_PRICE_COUNT,AVG(PLATTS_PRICE) as PLATTS_PRICE_AVG, "
sqlstr &= " SUM(EUR_IV_BC_AMNT) as EUR_IV_BC_AMNT"
sqlstr &= " FROM [tblIDS_Transaktionen] "
sqlstr &= " WHERE 1=1 "
Select Case cboIDSDateType._value
Case "LDat" : sqlstr &= " AND [TRS_DATE] between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
Case "RGDat" : sqlstr &= " AND BC_INVO_DATE between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
End Select
If txtOrt.Text <> "" Then
sqlstr &= " AND [OUT_DESCR] like '" & txtOrt.Text.Replace("*", "%") & "' "
End If
''Wenn eines nciht gesetzt ist...
'If Not cbxPlatts.Checked Or Not cbxDiesel.Checked Or Not cbxAdblue.Checked Then
' 'aber ein anderes schon...
' If cbxPlatts.Checked Or cbxDiesel.Checked Or cbxAdblue.Checked Then
' Dim orStr = ""
' sqlstr &= " AND [BC_ID] IN ("
' If cbxPlatts.Checked Then sqlstr &= orStr & "'3455'" : orStr = ","
' If cbxDiesel.Checked Then sqlstr &= orStr & "'3450'" : orStr = ","
' If cbxAdblue.Checked Then sqlstr &= orStr & "'3453'" : orStr = ","
' sqlstr &= " ) "
' End If
'End If
sqlstr &= " group by prod_descr,sou_descr, out_descr "
If cbxProdukt.Checked Then
sqlstr &= " order by prod_descr,sou_descr, out_descr "
Else
sqlstr &= " order by sou_descr, out_descr "
End If
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
'DataGridView.DataSource = dt
Dim print As New frmPrintLayout
print.Text = "Speditionsbericht"
Dim rpt As New rptIDS_TransaktionenSumary
rpt.DataSource = dt
If cbxProdukt.Checked Then
rpt.GroupHeader2.DataField = "prod_descr"
Else
rpt.GroupHeader2.Visible = False
rpt.GroupFooter2.Visible = False
End If
If cbxLand.Checked Then
rpt.GroupHeader1.DataField = "sou_descr"
Else
rpt.GroupHeader1.Visible = False
rpt.GroupFooter1.Visible = False
End If
'Gruppierung
'Filter anzeigen
' rpt.lblFilterTxt.Visible = displayFilter
' rpt.txtFilter.Visible = displayFilter
' If CheckBox1.Checked Then
'rpt.GroupHeader1.DataField = "FilialenNr" 'Gruppierung
' End If
' If rpt.DataSource.rows.count = 0 Then
'rpt.Dispose() : print.Dispose()
' MsgBox("Keine Daten vorhanden!")
' Exit Sub
' End If
Dim sum = 0
rpt.lblUeberschrift.Text = "IDS Transaktionen Summenbericht " & datIDSVon.Text & " bis " & datIDSBis.Text
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
'Dim cnt As Integer = 0
rpt.lblDat.Text = Now.ToLongDateString
Dim anzahl As Integer = 0
Dim anzahlALL As Integer = 0
Dim anzahlListenpreis As Integer = 0
Dim anzahlRate As Integer = 0
Dim anzahlPlattspreis As Integer = 0
Dim sumVolumen As Double = 0
Dim sumListenpreis As Double = 0
Dim sumPlattspreis As Double = 0
Dim sumRate As Double = 0
Dim sumBetrag As Double = 0
Dim anzahlprod As Integer = 0
Dim anzahlALLprod As Integer = 0
Dim anzahlListenpreisprod As Integer = 0
Dim anzahlRateprod As Integer = 0
Dim anzahlPlattspreisprod As Integer = 0
Dim sumVolumenprod As Double = 0
Dim sumListenpreisprod As Double = 0
Dim sumPlattspreisprod As Double = 0
Dim sumRateprod As Double = 0
Dim sumBetragprod As Double = 0
Dim anzahlLand As Integer = 0
Dim anzahlALLLand As Integer = 0
Dim anzahlListenpreisLand As Integer = 0
Dim anzahlRateLand As Integer = 0
Dim anzahlPlattspreisLand As Integer = 0
Dim sumVolumenLand As Double = 0
Dim sumListenpreisLand As Double = 0
Dim sumPlattspreisLand As Double = 0
Dim sumRateLand As Double = 0
Dim sumBetragLand As Double = 0
' rpt.lblFiliale.Text = "Alle Filialen"
AddHandler rpt.Detail.Format, Sub()
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
rpt.lblProdukt.Text = isDbnullEmpty(rpt.Fields.Item("PROD_DESCR").Value, "")
rpt.lblLand.Text = isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
' rpt.lblStationCode.Text = isDbnullEmpty(rpt.Fields.Item("OUT_COD").Value, "")
rpt.lblStation.Text = isDbnullEmpty(rpt.Fields.Item("OUT_DESCR").Value, "")
' rpt.lblStationGrpCod.Text = isDbnullEmpty(rpt.Fields.Item("OUT_GRP_COD").Value, "")
rpt.lblVolumen.Text = isDbnullEmptyDbl(rpt.Fields.Item("TOT_QTY").Value, 3, "")
rpt.lblWaehrung.Text = isDbnullEmpty(rpt.Fields.Item("SOU_CURR").Value, "")
rpt.lblListenpreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("ORIG_LIST_PRICE_AVG").Value, 4, "")
rpt.lblPlattspreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("PLATTS_PRICE_AVG").Value, 4, "")
rpt.lblRate.Text = isDbnullEmptyDbl(rpt.Fields.Item("SC_BC_RATE_AVG").Value, 4, "")
rpt.lblBetrag.Text = isDbnullEmptyDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value, 4, "")
anzahlLand += 1
anzahlALLLand += CInt(rpt.Fields.Item("COUNT").Value)
If rpt.Fields.Item("TOT_QTY").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("TOT_QTY").Value) Then
sumVolumenLand += CDbl(rpt.Fields.Item("TOT_QTY").Value)
' anzahlVolumen += 1
End If
If rpt.Fields.Item("ORIG_LIST_PRICE_SUM").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("ORIG_LIST_PRICE_SUM").Value) Then
sumListenpreisLand += CDbl(rpt.Fields.Item("ORIG_LIST_PRICE_SUM").Value)
anzahlListenpreisLand += CInt(rpt.Fields.Item("ORIG_LIST_PRICE_COUNT").Value)
End If
If rpt.Fields.Item("SC_BC_RATE_SUM").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("SC_BC_RATE_SUM").Value) Then
sumRateLand += CDbl(rpt.Fields.Item("SC_BC_RATE_SUM").Value)
anzahlRateLand += CInt(rpt.Fields.Item("SC_BC_RATE_COUNT").Value)
End If
If rpt.Fields.Item("PLATTS_PRICE_SUM").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("PLATTS_PRICE_SUM").Value) Then
sumPlattspreisLand += CDbl(rpt.Fields.Item("PLATTS_PRICE_SUM").Value)
anzahlPlattspreisLand += CInt(rpt.Fields.Item("PLATTS_PRICE_COUNT").Value)
End If
If rpt.Fields.Item("EUR_IV_BC_AMNT").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("EUR_IV_BC_AMNT").Value) Then
sumBetragLand += CDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value)
' anzahlVolumen += 1
End If
' sumBar += CDbl(rpt.Fields.Item("Barzahlungsbetrag").Value)
' sumAnz += CDbl(rpt.Fields.Item("Anzahl").Value)
End Sub
AddHandler rpt.GroupHeader2.Format, Sub()
rpt.lblProduktUeberschrift.Text = isDbnullEmpty(rpt.Fields.Item("prod_descr").Value, "")
rpt.lblSumProdukt.Text = "Summe " & isDbnullEmpty(rpt.Fields.Item("prod_descr").Value, "")
anzahlprod = 0
anzahlALLprod = 0
anzahlListenpreisprod = 0
anzahlRateprod = 0
anzahlPlattspreisprod = 0
sumVolumenprod = 0
sumListenpreisprod = 0
sumPlattspreisprod = 0
sumRateprod = 0
sumBetragprod = 0
End Sub
AddHandler rpt.GroupHeader1.Format, Sub()
' If CheckBox1.Checked Then rpt.lblFiliale.Text = SQL.getValueTxtBySql("SELECT CAST(FilialenNr as varchar (4)) + ' ' + Grenzstelle FROM filialen WHERE FilialenNr='" & rpt.Fields.Item("FilialenNr").Value & "'", "FMZOLL")
rpt.lblLandUeberschrift.Text = isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
rpt.lblLandFooterLand.Text = "Summe " & isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
anzahlLand = 0
anzahlALLLand = 0
anzahlListenpreisLand = 0
anzahlRateLand = 0
anzahlPlattspreisLand = 0
sumVolumenLand = 0
sumListenpreisLand = 0
sumPlattspreisLand = 0
sumRateLand = 0
sumBetragLand = 0
End Sub
AddHandler rpt.GroupFooter1.Format, Sub()
' rpt.lblSummeAnzahl.Text = sumAnz
' rpt.lblSummeBar.Text = sumBar.ToString("C")
anzahl += anzahlLand
anzahlALL += anzahlALLLand
sumVolumen += sumVolumenLand
sumListenpreis += sumListenpreisLand
anzahlListenpreis += anzahlListenpreisLand
sumRate += sumRateLand
anzahlRate += anzahlRateLand
sumPlattspreis += sumPlattspreisLand
anzahlPlattspreis += anzahlPlattspreisLand
sumBetrag += sumBetragLand
anzahlprod += anzahlLand
anzahlALLprod += anzahlALLLand
sumVolumenprod += sumVolumenLand
sumListenpreisprod += sumListenpreisLand
anzahlListenpreisprod += anzahlListenpreisLand
sumRateprod += sumRateLand
anzahlRateprod += anzahlRateLand
sumPlattspreisprod += sumPlattspreisLand
anzahlPlattspreisprod += anzahlPlattspreisLand
sumBetragprod += sumBetragLand
rpt.lblVolumenSumLand.Text = sumVolumenLand.ToString("N3")
rpt.lblListenpreisAvgLand.Text = If(anzahlListenpreisLand > 0, (sumListenpreisLand / anzahlListenpreisLand).ToString("N4"), "")
rpt.lblRateAVGLand.Text = If(anzahlRateLand > 0, (sumRateLand / anzahlRateLand).ToString("N4"), "")
rpt.lblPlattspreisAVGLand.Text = If(anzahlPlattspreisLand > 0, (sumPlattspreisLand / anzahlPlattspreisLand).ToString("N4"), "")
rpt.lblBetragSUMLand.Text = sumBetragLand.ToString("N4")
rpt.lblAnzahlGesLand.Text = anzahlLand & " Einträge"
rpt.lblAnzahlGesLand2.Text = anzahlALLLand & " Transaktionen"
End Sub
AddHandler rpt.GroupFooter2.Format, Sub()
' rpt.lblSummeAnzahl.Text = sumAnz
' rpt.lblSummeBar.Text = sumBar.ToString("C")
rpt.lblVolumenSumProd.Text = sumVolumenprod.ToString("N3")
rpt.lblListenpreisAvgProd.Text = If(anzahlListenpreisprod > 0, (sumListenpreisprod / anzahlListenpreisprod).ToString("N4"), "")
rpt.lblRateAVGProd.Text = If(anzahlRateprod > 0, (sumRateprod / anzahlRateprod).ToString("N4"), "")
rpt.lblPlattspreisAVGProd.Text = If(anzahlPlattspreisprod > 0, (sumPlattspreisprod / anzahlPlattspreisprod).ToString("N4"), "")
rpt.lblBetragSUMProd.Text = sumBetragprod.ToString("N4")
rpt.lblAnzahlGesProd.Text = anzahlprod & " Einträge"
rpt.lblAnzahlGesProd2.Text = anzahlALLprod & " Transaktionen"
End Sub
AddHandler rpt.ReportFooter1.Format, Sub()
' rpt.lblSummeAnzahl.Text = sumAnz
' rpt.lblSummeBar.Text = sumBar.ToString("C")
rpt.lblVolumenSum.Text = sumVolumen.ToString("N3")
rpt.lblListenpreisAvg.Text = If(anzahlListenpreis > 0, (sumListenpreis / anzahlListenpreis).ToString("N4"), "")
rpt.lblRateAVG.Text = If(anzahlRate > 0, (sumRate / anzahlRate).ToString("N4"), "")
rpt.lblPlattspreisAVG.Text = If(anzahlPlattspreis > 0, (sumPlattspreis / anzahlPlattspreis).ToString("N4"), "")
rpt.lblBetragSUM.Text = sumBetrag.ToString("N4")
rpt.lblAnzahlGes.Text = anzahl & " Einträge"
rpt.lblAnzahlGes2.Text = anzahlALL & " Transaktionen"
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT * FROM [tblIDS_Transaktionen] "
sqlstr &= " WHERE 1=1 "
Select Case cboIDSDateType._value
Case "LDat" : sqlstr &= " AND [TRS_DATE] between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
Case "RGDat" : sqlstr &= " AND BC_INVO_DATE between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
End Select
If txtOrt.Text <> "" Then
sqlstr &= " AND [OUT_DESCR] like '" & txtOrt.Text.Replace("*", "%") & "' "
End If
''Wenn eines nciht gesetzt ist...
'If Not cbxPlatts.Checked Or Not cbxDiesel.Checked Or Not cbxAdblue.Checked Then
' 'aber ein anderes schon...
' If cbxPlatts.Checked Or cbxDiesel.Checked Or cbxAdblue.Checked Then
' Dim orStr = ""
' sqlstr &= " AND [BC_ID] IN ("
' If cbxPlatts.Checked Then sqlstr &= orStr & "'3455'" : orStr = ","
' If cbxDiesel.Checked Then sqlstr &= orStr & "'3450'" : orStr = ","
' If cbxAdblue.Checked Then sqlstr &= orStr & "'3453'" : orStr = ","
' sqlstr &= " ) "
' End If
'End If
sqlstr &= " order by prod_descr,COU_descr, out_descr "
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
'DataGridView.DataSource = dt
Dim print As New frmPrintLayout
print.Text = "Speditionsbericht"
Dim rpt As New rptIDS_Transaktionen
rpt.DataSource = dt
'Filter anzeigen
' rpt.lblFilterTxt.Visible = displayFilter
' rpt.txtFilter.Visible = displayFilter
' If CheckBox1.Checked Then
'rpt.GroupHeader1.DataField = "FilialenNr" 'Gruppierung
' End If
' If rpt.DataSource.rows.count = 0 Then
'rpt.Dispose() : print.Dispose()
' MsgBox("Keine Daten vorhanden!")
' Exit Sub
' End If
Dim sum = 0
rpt.lblUeberschrift.Text = "IDS Transaktionen " & datIDSVon.Text & " bis " & datIDSBis.Text
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
'Dim cnt As Integer = 0
rpt.lblDat.Text = Now.ToLongDateString
Dim sumAnz As Double = 0
Dim sumBar As Double = 0
Dim anzahl As Integer = 0
'Dim anzahlVolumen As Integer = 0
Dim anzahlListenpreis As Integer = 0
Dim anzahlRate As Integer = 0
Dim anzahlPlattspreis As Integer = 0
' Dim anzahlBetrag As Integer = 0
Dim sumVolumen As Double = 0
Dim sumListenpreis As Double = 0
Dim sumPlattspreis As Double = 0
Dim sumRate As Double = 0
Dim sumBetrag As Double = 0
' rpt.lblFiliale.Text = "Alle Filialen"
AddHandler rpt.Detail.Format, Sub()
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
rpt.lblLand.Text = isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
rpt.lblStationCode.Text = isDbnullEmpty(rpt.Fields.Item("OUT_COD").Value, "")
rpt.lblStation.Text = isDbnullEmpty(rpt.Fields.Item("OUT_DESCR").Value, "")
rpt.lblStationGrpCod.Text = isDbnullEmpty(rpt.Fields.Item("OUT_GRP_COD").Value, "")
rpt.lblVolumen.Text = isDbnullEmptyDbl(rpt.Fields.Item("TOT_QTY").Value, 2, "")
rpt.lblProdukt.Text = isDbnullEmpty(rpt.Fields.Item("PROD_DESCR").Value, "")
rpt.lblWaehrung.Text = isDbnullEmpty(rpt.Fields.Item("SOU_CURR").Value, "")
rpt.lblListenpreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("ORIG_LIST_PRICE").Value, 4, "")
rpt.lblPlattspreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("PLATTS_PRICE").Value, 4, "")
rpt.lblRate.Text = isDbnullEmptyDbl(rpt.Fields.Item("SC_BC_RATE").Value, 4, "")
rpt.lblBetrag.Text = isDbnullEmptyDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value, 4, "")
anzahl += 1
If rpt.Fields.Item("TOT_QTY").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("TOT_QTY").Value) Then
sumVolumen += CDbl(rpt.Fields.Item("TOT_QTY").Value)
' anzahlVolumen += 1
End If
If rpt.Fields.Item("ORIG_LIST_PRICE").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("ORIG_LIST_PRICE").Value) Then
sumListenpreis += CDbl(rpt.Fields.Item("ORIG_LIST_PRICE").Value)
anzahlListenpreis += 1
End If
If rpt.Fields.Item("SC_BC_RATE").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("SC_BC_RATE").Value) Then
sumRate += CDbl(rpt.Fields.Item("SC_BC_RATE").Value)
anzahlRate += 1
End If
If rpt.Fields.Item("PLATTS_PRICE").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("PLATTS_PRICE").Value) Then
sumPlattspreis += CDbl(rpt.Fields.Item("PLATTS_PRICE").Value)
anzahlPlattspreis += 1
End If
If rpt.Fields.Item("EUR_IV_BC_AMNT").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("EUR_IV_BC_AMNT").Value) Then
sumBetrag += CDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value)
' anzahlVolumen += 1
End If
End Sub
AddHandler rpt.GroupHeader1.Format, Sub()
' If CheckBox1.Checked Then rpt.lblFiliale.Text = SQL.getValueTxtBySql("SELECT CAST(FilialenNr as varchar (4)) + ' ' + Grenzstelle FROM filialen WHERE FilialenNr='" & rpt.Fields.Item("FilialenNr").Value & "'", "FMZOLL")
' sumAnz = 0
' sumBar = 0
End Sub
AddHandler rpt.GroupFooter1.Format, Sub()
rpt.lblVolumenSum.Text = sumVolumen.ToString("N3")
rpt.lblListenpreisAvg.Text = If(anzahlListenpreis > 0, (sumListenpreis / anzahlListenpreis).ToString("N4"), "")
rpt.lblRateAVG.Text = If(anzahlRate > 0, (sumRate / anzahlRate).ToString("N4"), "")
rpt.lblPlattspreisAVG.Text = If(anzahlPlattspreis > 0, (sumPlattspreis / anzahlPlattspreis).ToString("N4"), "")
rpt.lblBetragSUM.Text = sumBetrag.ToString("N4")
rpt.lblAnzahlGes.Text = anzahl & " Transaktionen"
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Function isDbnullEmpty(o As Object, return_value As Object) As String
If IsDBNull(o) Then : isDbnullEmpty = return_value
ElseIf IsNothing(o) Then : isDbnullEmpty = return_value
Else : isDbnullEmpty = o.ToString
End If
End Function
Function isDbnullEmptyCurr(o As Object, return_value As Object) As String
If IsDBNull(o) Then : isDbnullEmptyCurr = return_value
ElseIf IsNothing(o) Then : isDbnullEmptyCurr = return_value
Else : isDbnullEmptyCurr = CDbl(o).ToString("C")
End If
End Function
Function isDbnullEmptyDbl(o As Object, kommastellen As Integer, return_value As Object) As String
If IsDBNull(o) Then : isDbnullEmptyDbl = return_value
ElseIf IsNothing(o) Then : isDbnullEmptyDbl = return_value
Else : isDbnullEmptyDbl = CDbl(o).ToString("N" & If(kommastellen > 0, kommastellen, ""))
End If
End Function
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
Me.Cursor = Cursors.WaitCursor
If MyComboBox2._value = "" Then Me.Cursor = Cursors.Default : Exit Sub
Dim SQLstr = "SELECT sdl.[KundenNr], (SELECT isnull(ordnungsbegriff,'') FROM [VERAG].dbo.adressen where [VERAG].dbo.adressen.AdressenNr=sdl.KundenNr ) as Firma,count(*) [Anzahl Leistung]"
SQLstr &= " FROM [SDL].[dbo].[SDL] inner join [KundenSDL] on [KundenSDL].SDLnr=sdl.SDLNr and [KundenSDL].KundenNr=sdl.KundenNr"
SQLstr &= " where SDL.SDLNr = '" & MyComboBox2._value & "' And Sperre = 0 And Archiviert = 0 AND isnull([Gesperrt],'')=0 AND isnull([Defekt],'')=0 AND isnull([Verloren],'')=0 AND isnull([Gestohlen],'')=0 AND isnull([Retourniert],'')=0 "
SQLstr &= " group by sdl.KundenNr"
Dim VSQL = New VERAG_PROG_ALLGEMEIN.SQL
Dim dt = VSQL.loadDgvBySql(SQLstr, "SDL")
' dt.Columns.Add("VersicherungsBetrag", Type.GetType("System.Double"))
' For Each r In dt.Rows
'r("VersicherungsBetrag") = getVersBetrag(r("Risiko"), r("Versicherungssumme"))
' Next
' dt.Columns("VersicherungsBetrag").ColumnName = "V-Betrag"
'If cbxFormatNumbers.Checked Then
' cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1), "H1:M" & (dt.Rows.Count + 1), "O1:P" & (dt.Rows.Count + 1)})
' Else
cProgramFunctions.genExcelFromDT_NEW(dt)
' End If
'cProgramFunctions.genExcelFromDT_NEW(dt)
'cProgramFunctions.genExcelFromDT_NEW(dt, , False)
Me.Cursor = Cursors.Default
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
Me.Cursor = Cursors.WaitCursor
If MyComboBox2._value = "" Then Me.Cursor = Cursors.Default : Exit Sub
Dim SQLstr = "SELECT sdl.SDLNr, sdl.[KundenNr], (SELECT isnull(ordnungsbegriff,'') FROM [VERAG].dbo.adressen where [VERAG].dbo.adressen.AdressenNr=sdl.KundenNr ) as Firma,kfzkennzeichen, "
SQLstr &= " cast(CASE sdl.[SDLNr] "
SQLstr &= " WHEN '207' THEN cast([FREJUS-CARD-Nr] as VARCHAR(200)) "
SQLstr &= " WHEN '100' THEN cast(KartenNr as VARCHAR(200)) "
SQLstr &= " WHEN '101' THEN cast(KartenNr as VARCHAR(200)) "
SQLstr &= " WHEN '202' THEN cast([TELEPASS-Nr] as VARCHAR(200)) "
SQLstr &= " WHEN '208' THEN cast(KartenNr as VARCHAR(200)) "
SQLstr &= " WHEN '211' THEN cast([PAN-Nr] as VARCHAR(200)) "
SQLstr &= " WHEN '210' THEN cast([SERIE-Nr] as VARCHAR(200)) "
SQLstr &= " WHEN '212' THEN cast(KartenNr as VARCHAR(200)) "
SQLstr &= " WHEN '213' THEN cast(OBUID as VARCHAR(200)) "
SQLstr &= " WHEN '214' THEN cast(OBUID as VARCHAR(200)) "
SQLstr &= " WHEN '215' THEN cast([TELEPASS-Nr] as VARCHAR(200)) "
SQLstr &= " WHEN '216' THEN cast(OBUID as VARCHAR(200)) "
SQLstr &= " WHEN '203' THEN cast(KartenNr as VARCHAR(200)) "
SQLstr &= " WHEN '209' THEN cast([MSE-Kd-Nr] as VARCHAR(200)) "
SQLstr &= " Else '-' "
SQLstr &= " END as VARCHAR(200)) AS KarteBoxNr,"
SQLstr &= " isnull(sdl.vermerk,'') as Vermerk,isnull(Gesperrt,0) as Gesperrt, isnull(Defekt,0) as Defekt,isnull(Verloren,0) as Verloren,isnull(Gestohlen,0) as Gestohlen,isnull(Ersatzkarte,0) as Ersatzkarte "
SQLstr &= " FROM [SDL] inner join [KundenSDL] on [KundenSDL].SDLnr=sdl.SDLNr and [KundenSDL].KundenNr=sdl.KundenNr"
SQLstr &= " where SDL.SDLNr = '" & MyComboBox2._value & "' And Sperre = 0 And Archiviert = 0 AND isnull([Gesperrt],'')=0 AND isnull([Defekt],'')=0 AND isnull([Verloren],'')=0 AND isnull([Gestohlen],'')=0 AND isnull([Retourniert],'')=0 "
SQLstr &= " order by Firma"
Dim VSQL = New VERAG_PROG_ALLGEMEIN.SQL
Dim dt = VSQL.loadDgvBySql(SQLstr, "SDL")
' dt.Columns.Add("VersicherungsBetrag", Type.GetType("System.Double"))
' For Each r In dt.Rows
'r("VersicherungsBetrag") = getVersBetrag(r("Risiko"), r("Versicherungssumme"))
' Next
' dt.Columns("VersicherungsBetrag").ColumnName = "V-Betrag"
'If cbxFormatNumbers.Checked Then
' cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1), "H1:M" & (dt.Rows.Count + 1), "O1:P" & (dt.Rows.Count + 1)})
' Else
cProgramFunctions.genExcelFromDT_NEW(dt)
' End If
'cProgramFunctions.genExcelFromDT_NEW(dt)
'cProgramFunctions.genExcelFromDT_NEW(dt, , False)
Me.Cursor = Cursors.Default
End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
VERAG_PROG_ALLGEMEIN.SDL_Functions.SDL_GueltigBis_UTA_IDS()
End Sub
Private Sub ProgressBar1_Click(sender As Object, e As EventArgs) Handles ProgressBar1.Click
End Sub
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
Me.Cursor = Cursors.WaitCursor
Try
Dim dialog As New OpenFileDialog()
dialog.Filter = "CSV Files (*.csv)|*.csv"
If (dialog.ShowDialog() = DialogResult.OK) Then
Dim table As DataTable = convertToDT(dialog.FileName)
Dim cnt = 1
For Each r As DataRow In table.Rows
Dim IDS_Transaktionen As New IDS_Transaktionen
IDS_Transaktionen.BC_ID = cProgramFunctions.isLeerNothing(r("BC_ID"))
IDS_Transaktionen.BC_DESCR = cProgramFunctions.isLeerNothing(r("BC_DESCR"))
IDS_Transaktionen.CLUB_ID = cProgramFunctions.isLeerNothing(r("CLUB_ID"))
IDS_Transaktionen.COU_ISO_COD = cProgramFunctions.isLeerNothing(r("COU_ISO_COD"))
IDS_Transaktionen.COU_DESCR = cProgramFunctions.isLeerNothing(r("COU_DESCR"))
IDS_Transaktionen.CUST_COD = cProgramFunctions.isLeerNothing(r("CUST_COD"))
IDS_Transaktionen.CUST_LEVEL = cProgramFunctions.isLeerNothing(r("CUST_LEVEL"))
IDS_Transaktionen.CUST_NAME1 = cProgramFunctions.isLeerNothing(r("CUST_NAME1"))
IDS_Transaktionen.CARD_SER_NUM = cProgramFunctions.isLeerNothing(r("CARD_SER_NUM"))
IDS_Transaktionen.SOU_ISO_COD = cProgramFunctions.isLeerNothing(r("SOU_ISO_COD"))
IDS_Transaktionen.SOU_DESCR = cProgramFunctions.isLeerNothing(r("SOU_DESCR"))
IDS_Transaktionen.TRS_NUM = cProgramFunctions.isLeerNothing(r("TRS_NUM"))
IDS_Transaktionen.TRS_VERS_NUM = cProgramFunctions.isLeerNothing(r("TRS_VERS_NUM"))
IDS_Transaktionen.OUT_COD = cProgramFunctions.isLeerNothing(r("OUT_COD"))
IDS_Transaktionen.OUT_DESCR = cProgramFunctions.isLeerNothing(r("OUT_DESCR"))
IDS_Transaktionen.OUT_GRP_COD = cProgramFunctions.isLeerNothing(r("OUT_GRP_COD"))
IDS_Transaktionen.TRS_DATE = cProgramFunctions.isLeerNothing(r("TRS_DATE"))
IDS_Transaktionen.TOT_QTY = cProgramFunctions.isLeerNothingDblPKT(r("TOT_QTY"))
IDS_Transaktionen.PROD_NUM = cProgramFunctions.isLeerNothing(r("PROD_NUM"))
IDS_Transaktionen.PROD_DESCR = cProgramFunctions.isLeerNothing(r("PROD_DESCR"))
IDS_Transaktionen.SERVICE_PROD_NUM = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_NUM"))
IDS_Transaktionen.SERVICE_PROD_DESCR = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_DESCR"))
IDS_Transaktionen.SOU_CURR = cProgramFunctions.isLeerNothing(r("SOU_CURR"))
IDS_Transaktionen.ORIG_LIST_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_LIST_PRICE"))
IDS_Transaktionen.ORIG_REBATE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_REBATE"))
IDS_Transaktionen.ORIG_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_PRICE"))
IDS_Transaktionen.PLATTS_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("PLATTS_PRICE"))
IDS_Transaktionen.SC_BC_RATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_BC_RATE"))
IDS_Transaktionen.SC_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("SC_IV_BC_AMNT"))
IDS_Transaktionen.COU_BENEFICIARY_CURR = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY_CURR"))
IDS_Transaktionen.CO_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("CO_IV_BC_AMNT"))
IDS_Transaktionen.EUR_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("EUR_IV_BC_AMNT"))
IDS_Transaktionen.SC_CO_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_CO_EXCHRATE"))
IDS_Transaktionen.SC_EUR_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_EUR_EXCHRATE"))
IDS_Transaktionen.BC_INVO_DATE = cProgramFunctions.isLeerNothing(r("BC_INVO_DATE"))
IDS_Transaktionen.INVO_NUM = cProgramFunctions.isLeerNothing(r("INVO_NUM"))
IDS_Transaktionen.FIXED_OR_TOTAL = cProgramFunctions.isLeerNothing(r("FIXED_OR_TOTAL"))
IDS_Transaktionen.BC_TYPE = cProgramFunctions.isLeerNothing(r("BC_TYPE"))
IDS_Transaktionen.COU_BENEFICIARY = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY"))
IDS_Transaktionen.CUST_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("CUST_BENEFICIARY"))
IDS_Transaktionen.LEVEL_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("LEVEL_BENEFICIARY"))
IDS_Transaktionen.CUST_GRP_BENEFICIARY = cProgramFunctions.isLeerNothing(r("CUST_GRP_BENEFICIARY"))
'IDS_Transaktionen.Importiert = cProgramFunctions.isLeerNothing(r("Importiert"))
IDS_Transaktionen.SAVE()
'MsgBox(table.Rows.Count)
If cnt Mod 10 = 0 Then
txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count
Dim proz As Double = (cnt / table.Rows.Count) * 100
ProgressBar.Value = proz
lblProz.Text = proz.ToString("N2") & " %"
GroupBox7.Refresh()
My.Application.DoEvents()
End If
cnt += 1
Next
ProgressBar.Value = 100
txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count
lblProz.Text = "100.00 %"
End If
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
Dim f As New frmMDMDatenverarbetiung
f.Show()
End Sub
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim ok As Boolean = True
Dim Sachbearbeiter = cboSachbearbeiter._value
Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text)
If rechnungsdatum > Today() Then
MsgBox("Rechnungsdatum liegt in der Zukunft, nicht möglich")
Exit Sub
End If
If Sachbearbeiter = "" Then
MsgBox("Sachbearbeiter auswählen!")
Exit Sub
End If
If PathMautberichte = "" OrElse Not Directory.Exists(PathMautberichte) Then
MsgBox("Pfad zu den Mautberichten nicht vorhanden!" & vbNewLine & "Vorang wird abgebrochen!")
Exit Sub
ElseIf Directory.Exists(PathMautberichte) Then
If Directory.GetFiles(PathMautberichte) Is Nothing Then
MsgBox("Pfad " & PathMautberichte & " enthält keine Daten!" & vbNewLine & "Vorang wird abgebrochen!")
Exit Sub
End If
End If
'---------------DONE
' ' Sachbearbeiter im RK eintragen.
'140 Call SysCmd(acSysCmdSetStatus, "Sachbearbeiter im RK eintragen...")
'150 Call ReDruSchnSachbearbeiter
'Update [Rechnungsausgang] SET [Sachbearbeiter] = @Sachbearbeiter WHERE([Firma_ID] = 1 Or [Firma_ID] = 15) And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] <> @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0);
'---------------DONE
' ' Firma_ID im RK eintragen.
'180 Call SysCmd(acSysCmdSetStatus, "Firma_ID im RK eintragen...")
'190 Call ReDruSchnFirma_ID
'Update [Rechnungsausgang] SET [Firma_ID] = @Firma_ID WHERE [Firma_ID] <> @Firma_ID And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] = @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0);
' ' Rechnung oder Gutschrift im RK eintragen.
'220 Call SysCmd(acSysCmdSetStatus, "Re/Gu im RK eintragen...")
'230 Call ReDruSumReGu
'---------------DONE
' ' Rechnungstext im RK eintragen.
'260 Call SysCmd(acSysCmdSetStatus, "Text im RK eintragen...")
'270 Call Rechnungstext
'---------------DONE
' ' Porto/Papiere berechnen.
'300 Call SysCmd(acSysCmdSetStatus, "Porto/Papiere berechnen...")
'310 Call ReDruSchnPP
'---------------DONE
' ' Banküberweisung/Bankspesen berechnen
'340 Call SysCmd(acSysCmdSetStatus, "Banküberweisung/Bankspesen berechnen...")
'350 Call ReDruSchnBB
' ' Druckinformationen im RK eintragen----- ALTER..........
'380 Call SysCmd(acSysCmdSetStatus, "Druckinformationen im RK eintragen...")
'390 varDatumZeit = Now 'Druckdatum/Uhrzeit merken.
' ' Parameter übergeben: Firma_ID, Status, Sammelrechnung, Sachbearbeiter, Buchungsjahr, Rechnungsdatum, DruckDatumZeit.
'400 strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit)
'410 Set qdf = dbs.CreateQueryDef("")
ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and UPPER([Sachbearbeiter])<>'" & Sachbearbeiter & "' and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL")
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Exit Sub
If Not ok Then MsgBox("Fehler") : Exit Sub
Dim dtREGU As DataTable = SQL.loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, Sum([SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag]) AS Sammelrechnungsbetrag
FROM Rechnungsausgang
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
GROUP BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift]", "FMZOLL")
'RECHNUNG ODER GUTSCHRIFT
'Rechnung oder Gutschrift im RK eintragen, abhängig vom Sammelrechnungsbetrag (+/-)
If dtREGU.Rows.Count > 0 Then
For Each r In dtREGU.Rows
Dim BelegartenNr As Integer
Dim BelegartenKz As String
Dim BelegartenBez As String
Dim Vorzeichen As String
If r("Sammelrechnungsbetrag") >= 0 Then
BelegartenNr = 70
BelegartenKz = "AR"
BelegartenBez = "Rechnung"
Vorzeichen = "+"
Else
BelegartenNr = 71
BelegartenKz = "AG"
BelegartenBez = "Gutschrift"
Vorzeichen = "-"
End If
Dim steuersatz As Double = Math.floor(r("Steuersatz %"))
ok = SQL.doSQL("UPDATE [Rechnungsausgang] SET [BelegartenNr] = " & BelegartenNr & ", [BelegartenKz] = '" & BelegartenKz & "' , [BelegartenBez] = '" & BelegartenBez & "' , [Vorzeichen] = '" & Vorzeichen & "'
WHERE [Firma_ID] = 19 AND [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter])= '" & Sachbearbeiter & "' AND [RechnungsKundenNr] = " & r("RechnungsKundenNr") & " AND [Währungscode] = '" & r("Währungscode") & "' AND [Steuersatz %] = " & steuersatz & " AND [Lastschrift] = " & IIf(r("Lastschrift"), 1, 0) & "AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL")
If Not ok Then MsgBox("Rechnungsdruck wird abgebrochen." & vbCrLf & "Rechnungen/Gutschriften nicht gefunden.") : Exit Sub
Next
End If
Dim dtSammelrechnungen As New DataTable
'Rechnungstext im RK eintragen
setRechnungstext(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen)
' Porto/Papiere berechnen.
PortoPapiere(Sachbearbeiter, rechnungsdatum)
'Berechnet Banküberweisung/Bankspesen.
Bankspesen(Sachbearbeiter, rechnungsdatum)
'Gesamtmautberichte an Sammelrechnung anhängen
'If Not setMautgesamtberichtInRechnung(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) Then
'Exit Sub
'End If
'Druckinformationen
If Not setStatus4(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) Then
MsgBox("Fehler beim Setzen des Status")
Else
MsgBox("Erledigt.")
End If
End Sub
Private Function PortoPapiere(Sachbearbeiter As String, rechnungsdatum As Date) As Boolean
' Die Abfrage ermittelt aus den Rechnungspositonen,
' das Vorkommen (Anzahl Porto/Papiere) pro RechnungsKundenNr
' Status=0, Sammelrechnung=6, LeistungsNr=440.
Dim sqlString = "SELECT
Rechnungsausgang.Firma_ID,
Rechnungsausgang.Status,
Rechnungsausgang.Sammelrechnung,
Rechnungsausgang.Sachbearbeiter,
Rechnungsausgang.RechnungsKundenNr,
Rechnungsausgang.BelegartenNr,
Rechnungsausgang.Währungscode,
isnull(Rechnungsausgang.[Steuersatz %],0) as [Steuersatz %],
cast(Rechnungsausgang.Lastschrift as bit) as Lastschrift,
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) AS AnzahlPP,
SUM(CASE WHEN LeistungsNr = 440 THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivPP
FROM
Rechnungsausgang
INNER JOIN
RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
WHERE
Rechnungsausgang.Status = 0
AND Rechnungsausgang.Sammelrechnung = 6
AND UPPER(Rechnungsausgang.Sachbearbeiter) = '" & Sachbearbeiter & "'
AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
GROUP BY
Rechnungsausgang.Firma_ID,
Rechnungsausgang.Status,
Rechnungsausgang.Sammelrechnung,
Rechnungsausgang.Sachbearbeiter,
Rechnungsausgang.RechnungsKundenNr,
Rechnungsausgang.BelegartenNr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.[Steuersatz %],
Rechnungsausgang.Lastschrift
HAVING
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) > 0
ORDER BY
Rechnungsausgang.Firma_ID,
Rechnungsausgang.Status,
Rechnungsausgang.Sammelrechnung,
Rechnungsausgang.Sachbearbeiter,
Rechnungsausgang.RechnungsKundenNr,
Rechnungsausgang.BelegartenNr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.[Steuersatz %],
Rechnungsausgang.Lastschrift"
Dim dtPP As DataTable = (New SQL).loadDgvBySql(sqlString, "FMZOLL")
If dtPP.Rows.Count > 0 Then
For Each r In dtPP.Rows
Dim intZlr As Integer = 0
' Bei BetragExclusivPP kleiner als 150€ wird 1x P.P. verrechnet, bei grösser/gleich 150€ wird kein P.P. verrechnet.
' Zähler auf die Anzahl der P.P. Löschungen einstellen.
If Not IsDBNull(r("BetragExclusivPP")) AndAlso r("BetragExclusivPP") > 0 Then
If r("BetragExclusivPP") < 150 Then
intZlr = r("AnzahlPP") - 1
Else
intZlr = r("AnzahlPP")
End If
Else
If (0 - r("BetragExclusivPP")) < 150 Then
intZlr = r("AnzahlPP") - 1
Else
intZlr = r("AnzahlPP") - 1
End If
End If
If intZlr > 0 Then
Dim steuersatz As Double = Math.round(r("Steuersatz %"), 2)
Dim SteuersatzString As String = steuersatz.ToString.Replace(",", ".")
' Die Abfrage liest in der Tabelle Rechnungsausgang,
' passend zu den durch die vorherige Abfrage bereitgestellten Parametern.
Dim sqlStringRechnungen As String = "Select DISTINCT
Rechnungsausgang.OffertenNr,
Rechnungsausgang.RK_ID,
Rechnungsausgang.SteuerpflichtigerGesamtbetrag,
Rechnungsausgang.SteuerfreierGesamtbetrag,
Rechnungsausgang.upsize_ts
FROM Rechnungsausgang
WHERE
Rechnungsausgang.Firma_ID = " & r("Firma_ID") & "
And Rechnungsausgang.Status = " & r("Status") & "
And Rechnungsausgang.Sammelrechnung = " & r("Sammelrechnung") & "
And Rechnungsausgang.UPPER(Sachbearbeiter) = '" & Sachbearbeiter & "'
And Rechnungsausgang.RechnungsKundenNr = " & r("RechnungsKundenNr") & "
And Rechnungsausgang.BelegartenNr = " & r("BelegartenNr") & "
And Rechnungsausgang.Währungscode = '" & r("Währungscode") & "'
And Rechnungsausgang.[Steuersatz %] = " & SteuersatzString & "
And Rechnungsausgang.Lastschrift = " & IIf(r("Lastschrift"), 1, 0) & "
AND cast(Rechnungsausgang.Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
ORDER by
Rechnungsausgang.OffertenNr"
Dim dtRechnungen As DataTable = (New SQL).loadDgvBySql(sqlStringRechnungen, "FMZOLL")
If dtRechnungen.Rows.Count > 0 Then
For Each re In dtRechnungen.Rows
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 440", "FMZOLL")
If dtREPOSANZ.Rows.Count > 0 Then
Dim stgesBetr = re("SteuerpflichtigerGesamtbetrag")
Dim stfregesBetr = re("SteuerfreierGesamtbetrag")
Dim RECHNUNG As New cRechnungsausgang(re("RK_ID"))
For Each row In dtREPOSANZ.Rows
intZlr = intZlr - row("Anzahl")
If Not IsDBNull(row("SteuerpflichtigerBetrag")) AndAlso IsNumeric(row("SteuerpflichtigerBetrag")) Then stgesBetr = stgesBetr - CDbl(row("SteuerpflichtigerBetrag"))
If Not IsDBNull(row("SteuerfreierBetrag")) AndAlso IsNumeric(row("SteuerfreierBetrag")) Then stfregesBetr = stfregesBetr - CDbl(row("SteuerfreierBetrag"))
If RECHNUNG.DELETE_POSITIONEN(RECHNUNG.RK_ID, row("LeistungsNr"), row("Steuerpflichtig"), row("LeistungsBez"), row("IndexZkteing")) Then
RECHNUNG.SteuerfreierGesamtbetrag = stfregesBetr
RECHNUNG.SteuerpflichtigerGesamtbetrag = stgesBetr
RECHNUNG.SAVE(False)
End If
If intZlr = 0 Then Exit For
Next
End If
Next
End If
End If
Next
End If
End Function
Private Function setRechnungstext(Sachbearbeiter As String, rechnungsdatum As Date, ByRef sammelRechnungen As DataTable)
Dim varText As String = ""
Dim varNettozahlungsziel As Integer = 0
Dim strFälligkeitsdatum As String
Dim strZahlbar As String
Dim ok As Boolean = False
Dim dtSelectedSammelrechnungen As DataTable = (New SQL).loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, [RK_ID], [BelegartenNr],cast([Vorkasse] as bit) as Vorkasse, [Nettozahlungsziel], [OffertenNr], [RechnungsLandKz], [Text]
FROM Rechnungsausgang
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
ORDER BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift], [RK_ID]", "FMZOLL")
If dtSelectedSammelrechnungen.Rows.Count > 0 Then
sammelRechnungen = dtSelectedSammelrechnungen
For Each rowRE In dtSelectedSammelrechnungen.Rows
Select Case rowRE("BelegartenNr")
Case 70 'RECHNUNG
If Not rowRE("Vorkasse") Then
If rowRE("Lastschrift") Then
varText = varText & "Der Rechnungsbetrag wurde durch erteilten Abbuchungsauftrag eingezogen." & vbCrLf
Else
If Not IsDBNull(rowRE("RechnungsKundenNr")) Then
'Zahlungsziel aus Kundenstamm.
Dim ZZ = (New SQL).getValueTxtBySql("SELECT Kunden.Zahlungsziel from Kunden WHERE Kunden.KundenNr=" & rowRE("RechnungsKundenNr") & " AND Kunden.Zahlungsziel Is Not Null", "FMZOLL")
If ZZ <> "" AndAlso IsNumeric(ZZ) Then
varNettozahlungsziel = ZZ
strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy")
End If
End If
'Zahlungsziel aus Offertenstamm.
If strFälligkeitsdatum = "" Then
If Not IsDBNull(rowRE("OffertenNr")) Then
Dim ZZOffert = (New SQL).getValueTxtBySql("SELECT Offertenstamm.Zahlungsziel FROM Offertenstamm WHERE Offertenstamm.OffertenNr = " & rowRE("OffertenNr") & " AND Offertenstamm.Zahlungsziel IS NOT NULL", "FMZOLL")
If ZZOffert <> "" AndAlso IsNumeric(ZZOffert) Then
varNettozahlungsziel = ZZOffert
strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy")
End If
End If
End If
'Zahlungsziel ermitteln.
If strFälligkeitsdatum = "" Then
If Not IsDBNull(rowRE("RK_ID")) Then
'Zahlungsziel bei Kreditaufwendungen.
Dim ZZRKID = (New SQL).getValueTxtBySql("Select Case [Preis], [Anzahl] From [RechnungsausgangPositionen] Where [RK_ID] = " & rowRE("RK_ID") & " And [LeistungsNr] = 750 And [BerechnungsartNr] = 9", "FMZOLL")
If ZZRKID <> "" Then
strZahlbar = "Zahlbar innerhalb 10 Tagen abzüglich Pos. 750; ab 10 Tagen netto fällig."
Else
varNettozahlungsziel = 25
strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy")
End If
End If
End If
'Fälligkeitstext in Landessprache
If strFälligkeitsdatum <> "" Then strZahlbar = "Rechnung zahlbar spätestens bis " & strFälligkeitsdatum & "!"
If Not IsDBNull(rowRE("RechnungsLandKz")) Then
Dim ZZRLandKZ = (New SQL).getValueTxtBySql("SELECT tblZahlungszieltexte.Text FROM tblZahlungszieltexte WHERE tblZahlungszieltexte.LandKz='" & rowRE("RechnungsLandKz") & "' AND tblZahlungszieltexte.Text Is Not Null", "FMZOLL")
If ZZRLandKZ <> "" Then
strZahlbar = ZZRLandKZ & " " & strFälligkeitsdatum & "!"
End If
End If
varText &= strZahlbar & vbCrLf
End If
End If
' Text bei Zoll oder EUSt drucken
Dim Zoll = (New SQL).getValueTxtBySql("Select LeistungsNr From dbo.RechnungsausgangPositionen Where RK_ID = " & rowRE("RK_ID") & " And LeistungsNr In (10, 60, 70)", "FMZOLL")
If Not IsDBNull(Zoll) AndAlso Zoll <> "" Then
varText = varText & "Alle Zollbelege bitte sofort auf Richtigkeit prüfen da Einspruch gemäß § 355 AO nur 1 Monat nach Datum des Zollbescheides möglich." & vbCrLf
End If
Case 71 'GUTSCHRIFT
If rowRE("Lastschrift") Then
varText = varText & "Der Gutschriftsbetrag wurde mit erteilten Abbuchungsauftrag verrechnet." & vbCrLf
End If
End Select
ok = (New SQL).doSQL("Update [Rechnungsausgang] Set [Text] = '" & varText & "', [Nettozahlungsziel] = " & varNettozahlungsziel & " WHERE [RK_ID] = " & rowRE("RK_ID"), "FMZOLL")
If Not ok Then MsgBox("Fehler") : Return False
varText = ""
varNettozahlungsziel = 0
strFälligkeitsdatum = ""
Next
End If
Return ok
End Function
Private Function Bankspesen(Sachbearbeiter As String, rechnungsdatum As Date)
Dim sqlBB = " Select Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift
From dbo.Rechnungsausgang
Where Status = 0
And Sammelrechnung = 6
And UPPER([Sachbearbeiter]) ='" & Sachbearbeiter & "'
AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
Group By Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift
Order By Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift"
Dim dtBB As DataTable = (New SQL).loadDgvBySql(sqlBB, "FMZOLL")
If dtBB.Rows.Count > 0 Then
For Each r In dtBB.Rows
'spSelectReDruSchnSumBS415
Dim steuersatz As Double = Math.round(r("Steuersatz %"), 2)
Dim SteuersatzString As String = steuersatz.ToString.Replace(",", ".")
Dim sum As DataTable = (New SQL).loadDgvBySql("SELECT ISNULL(SUM(dbo.RechnungsausgangPositionen.Preis * dbo.RechnungsausgangPositionen.Anzahl),0) AS [Summe von Preis]
FROM dbo.Rechnungsausgang INNER JOIN
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN
dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr
WHERE (dbo.Rechnungsausgang.Firma_ID = " & r("Firma_ID") & ")
AND (dbo.Rechnungsausgang.Status = " & r("Status") & ")
AND (dbo.Rechnungsausgang.Sammelrechnung = " & r("Sammelrechnung") & ")
AND (UPPER(dbo.Rechnungsausgang.[Sachbearbeiter]) = '" & r("Sachbearbeiter") & "')
AND (dbo.Rechnungsausgang.RechnungsKundenNr = " & r("RechnungsKundenNr") & ")
AND (dbo.Rechnungsausgang.BelegartenNr =" & r("BelegartenNr") & ")
AND (dbo.Rechnungsausgang.Währungscode = '" & r("Währungscode") & "')
AND (dbo.Rechnungsausgang.[Steuersatz %] =" & SteuersatzString & ")
AND (dbo.Rechnungsausgang.Lastschrift =" & IIf(r("Lastschrift"), 1, 0) & ")
AND (dbo.Leistungen.BS415 = 1)", "FMZOLL",)
If sum.Rows.Count > 0 Then
For Each rowsum In sum.Rows
Dim sumCurrenRow As Double = rowsum("Summe von Preis")
If sumCurrenRow <> 0 Then
Dim dtBankspesen As DataTable = (New SQL).loadDgvBySql("SELECT KundenNr, [Bankspesen %], [Bankspesen Mindestbetrag] FROM dbo.Kunden where KundenNr = " & r("RechnungsKundenNr"), "FMZOLL")
If dtBankspesen.Rows.Count > 0 Then
For Each rowBS In dtBankspesen.Rows
If rowBS("Bankspesen %") = 0 And rowBS("Bankspesen Mindestbetrag") = 0 Then
Else
Dim query As String = "SELECT DISTINCT OffertenNr, RK_ID, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, upsize_ts FROM Rechnungsausgang
WHERE (dbo.Rechnungsausgang.Firma_ID = " & r("Firma_ID") & ")
AND (Status = " & r("Status") & ")
AND (Sammelrechnung = " & r("Sammelrechnung") & ")
AND (UPPER([Sachbearbeiter]) = '" & r("Sachbearbeiter") & "')
AND (RechnungsKundenNr = " & r("RechnungsKundenNr") & ")
AND (BelegartenNr =" & r("BelegartenNr") & ")
AND (Währungscode = '" & r("Währungscode") & "')
AND ([Steuersatz %] =" & SteuersatzString & ")
AND (Lastschrift =" & IIf(r("Lastschrift"), 1, 0) & ")
ORDER BY OffertenNr"
Dim dtRechnung As DataTable = (New SQL).loadDgvBySql(query, "FMZOLL")
If dtRechnung.Rows.Count > 0 Then
For Each re In dtRechnung.Rows
Dim steuerpflichtigerGesamtbetrag As Double = CDbl(re("SteuerpflichtigerGesamtbetrag"))
Dim steuerfreiegerGesamtbetrag As Double = CDbl(re("SteuerfreierGesamtbetrag"))
Dim dt415 As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing],SteuerpflichtigerBetrag, SteuerfreierBetrag, upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 415", "FMZOLL")
If dt415.Rows.Count > 0 Then
For Each r415 In dt415.Rows
If Not IsDBNull(r415("SteuerpflichtigerBetrag")) AndAlso IsNumeric(r415("SteuerpflichtigerBetrag")) Then steuerpflichtigerGesamtbetrag = steuerpflichtigerGesamtbetrag - CDbl(r415("SteuerpflichtigerBetrag"))
If Not IsDBNull(r415("SteuerfreierBetrag")) AndAlso IsNumeric(r415("SteuerfreierBetrag")) Then steuerfreiegerGesamtbetrag = steuerfreiegerGesamtbetrag - CDbl(r415("SteuerfreierBetrag"))
Dim RECHNUNG As New cRechnungsausgang(re("RK_ID"))
If RECHNUNG.DELETE_POSITIONEN(RECHNUNG.RK_ID, r415("LeistungsNr"), r415("Steuerpflichtig"), r415("LeistungsBez"), r415("IndexZkteing")) Then
RECHNUNG.SteuerfreierGesamtbetrag = steuerfreiegerGesamtbetrag
RECHNUNG.SteuerpflichtigerGesamtbetrag = steuerpflichtigerGesamtbetrag
RECHNUNG.SAVE(False)
End If
Next
End If
Next
If sumCurrenRow > 0 Then
Dim RElastEntry As DataRow = dtRechnung.Rows(dtRechnung.Rows.Count - 1)
Dim NEWPOS As New cRechnungsausgangPositionen(RElastEntry("RK_ID"))
NEWPOS.Anzahl = 1
NEWPOS.LeistungsNr = 415
If steuersatz = 0 Then
NEWPOS.Steuerpflichtig = False
Else
Dim sql As New SQL
NEWPOS.Steuerpflichtig = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("Steuerpflichtig", "Leistungen", "LeistungsNr= 415", "FMZOLL")
End If
NEWPOS.LeistungsBez = "Überweisungs/Bankspesen"
Dim preis As Double = 0
If rowBS("Bankspesen %") > 0 Then
If sumCurrenRow > 0 Then
preis = Math.floor(sumCurrenRow * rowBS("Bankspesen %") + 0.5)
Else
preis = Math.floor(0 - sumCurrenRow * rowBS("Bankspesen %") + 0.5)
End If
Else
preis = 0
End If
If preis < rowBS("Bankspesen Mindestbetrag") Then
preis = rowBS("Bankspesen Mindestbetrag")
End If
If sumCurrenRow < 0 Then
preis = 0 - preis
End If
Dim RECHNUNG As New cRechnungsausgang(RElastEntry("RK_ID"))
If NEWPOS.Steuerpflichtig Then
NEWPOS.SteuerpflichtigerBetrag = preis
RECHNUNG.SteuerpflichtigerGesamtbetrag = RECHNUNG.SteuerpflichtigerGesamtbetrag + preis
Else
NEWPOS.SteuerfreierBetrag = preis
RECHNUNG.SteuerfreierGesamtbetrag = RECHNUNG.SteuerfreierGesamtbetrag + preis
End If
NEWPOS.Preis = preis
If NEWPOS.INSERT(RElastEntry("RK_ID")) Then RECHNUNG.SAVE(False)
End If
End If
End If
Next
End If
End If
Next
End If
Next
End If
End Function
Private Function setMautgesamtberichtInRechnung(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable)
Try
If dtSammelRechnugen.Rows.Count = 0 Then
MsgBox("Keine Rechnungen für die Anlage der Mautgesamtberichte gefunden!" & vbNewLine & "Vorgang wird abgebrochen.")
Return False
End If
If Directory.Exists(PathMautberichte) Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.Contains("_Maut.csv") Then
Dim FileCSV = New FileInfo(f)
If FileCSV.Name.Length > 10 Then
Dim KundenNr = FileCSV.Name.ToString.Substring(0, 6)
If IsNumeric(KundenNr) Then
Dim RK_ID As Integer = dtSammelRechnugen.AsEnumerable().Where(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = KundenNr).Select(Function(r) r.Field(Of Integer)("RK_ID")).FirstOrDefault()
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
AddAttachementToRE(FileCSV.FullName, KundenNr, RECHNUNG, rechnungsdatum)
End If
End If
ElseIf f.Contains("Maut.pdf") Then
Dim FilePDF = New FileInfo(f)
If FilePDF.Name.Length > 10 Then
Dim KundenNr = FilePDF.Name.ToString.Substring(0, 6)
If IsNumeric(KundenNr) Then
Dim RK_ID As Integer = dtSammelRechnugen.AsEnumerable().Where(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = CInt(KundenNr)).Select(Function(r) r.Field(Of Integer)("RK_ID")).FirstOrDefault()
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
AddAttachementToRE(FilePDF.FullName, KundenNr, RECHNUNG, rechnungsdatum)
End If
End If
End If
Next
End If
Catch ex As SystemException
End Try
End Function
Private Function AddAttachementToRE(pathFile As String, kdNr As Integer, RECHNUNG As cRechnungsausgang, rechnungsdatum As Date) As Boolean
If Not IO.File.Exists(pathFile) Then Return False
Dim fi As New System.IO.FileInfo(pathFile)
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "GESAMTBERICHT", rechnungsdatum.ToString("ddMMyyyy"), kdNr, "", fi.Name, kdNr)
If Not DS.uploadDataToDATENSERVER(pathFile, fi.Name, fi.Extension,,,, True) Then
MsgBox("Fehler beim Speichern: Datenserver! KDNR:" & kdNr)
Return False
End If
If CInt(DS.da_id) <= 0 Then
MsgBox("Keine DocId!")
Return False
End If
Dim da_id = DS.da_id
Dim destPath = DS.GET_TOP1_PATH
If RECHNUNG IsNot Nothing Then
RECHNUNG.ANHAENGE.Clear()
Dim ANH As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge
ANH.dsId = CInt(DS.da_id)
ANH.Bezeichnung = DS.da_name
RECHNUNG.ANHAENGE.Add(ANH)
Return RECHNUNG.SAVE_ANHAENGE(RECHNUNG.RK_ID, False)
Else
Return False
End If
End Function
Private Function setStatus4(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable) As Boolean
'strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit)
'Return (New SQL).doSQL("UPDATE [Rechnungsausgang] SET [Status] = 4 WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL")
Dim reIsSet As Boolean = False
If dtSammelRechnugen.Rows.Count > 0 Then
For Each re In dtSammelRechnugen.Rows
reIsSet = cFakturierung.doSAMMELRechnungsDruck(19, 6, rechnungsdatum, rechnungsdatum, "", False, False, re("RechnungsKundenNr"), 7, , , , Nothing, , ,,, ,, )
If Not reIsSet Then Return reIsSet
Next
End If
Return reIsSet
End Function
Private Sub Button16_Click(sender As Object, e As EventArgs) Handles btnContractdaten.Click
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim frm As New Form
Dim dgv As New DataGridView()
Dim dt As DataTable = SQL.loadDgvBySql("Select dbo.CLFBody.PKHistory,
dbo.CLFBody.PKFileName,
dbo.CLFBody.PKLine,
dbo.CLFBody.RecordType,
dbo.CLFBody.fileNumber,
dbo.CLFBody.cardNumber,
dbo.CLFBody.validTo,
dbo.CLFBody.OBUID,
dbo.CLFBody.vehicleLicensePlate,
dbo.CLFBody.nationality,
dbo.CLFBody.vehicleCategory,
dbo.CLFBody.emissionCategory,
dbo.CLFBody.status,
dbo.CLFBody.contractDate,
dbo.CLFBody.fileVersion,
dbo.CLFBody.engineCharacteristics,
dbo.CLFBody.CO2EmissionsClass,
dbo.CLFBody.contractType FROM dbo.CLF INNER JOIN dbo.CLFBody ON dbo.CLF.PKHistory = dbo.CLFBody.PKHistory AND dbo.CLF.PKFileName = dbo.CLFBody.PKFileName
", "ASFINAG")
dgv.DataSource = dt
If dgv IsNot Nothing Then
frm.Size = New Size(1400, 1000)
dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
dgv.Dock = DockStyle.Fill
dgv.Anchor = AnchorStyles.Left
dgv.Anchor = AnchorStyles.Top
dgv.ReadOnly = True
frm.Controls.Add(dgv)
frm.StartPosition = FormStartPosition.CenterScreen
frm.ShowDialog()
End If
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Private Sub Button19_Click(sender As Object, e As EventArgs) Handles bntGesamtsummen.Click
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT [cardnumber] as CardNumber
,[licenceplate]
,[turnoverdate]
,[contractPartner] as ProductCode
,[netAmount]
,[VATamount]
,[additionalData]
,[totalAmount],
Adressen.AdressenNr as KundenNr,
Adressen.[Name 1]
FROM tblAsfinagMaut
INNER JOIN [dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
INNER JOIN [dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
'DataGridView.DataSource = dt
If dt.Rows.Count = 0 Then
MsgBox("keine Daten vorhanden!")
Exit Sub
End If
Dim print As New frmPrintLayout
print.Text = "ASFINAG"
Dim rpt As New rptASFINAG_TransaktionenSumary
rpt.DataSource = dt
'If cbxProdukt.Checked Then
' rpt.GroupHeader2.DataField = "prod_descr"
'Else
' rpt.GroupHeader2.Visible = False
' rpt.GroupFooter2.Visible = False
'End If
Dim sum = 0
rpt.lblUeberschrift.Text = "ASFINAG Summenbericht " & CDate(dat_Sum_Bis.Value.ToShortDateString)
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
'Dim cnt As Integer = 0
rpt.lblDat.Text = Now.ToLongDateString
Dim sumNetto As Double = 0
Dim sumMWST As Double = 0
Dim sumBrutto As Double = 0
Dim sumperKdNrNetto As Double = 0
Dim sumperKdNrMWST As Double = 0
Dim sumperKdNrBrutto As Double = 0
AddHandler rpt.Detail.Format, Sub()
rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("CardNumber").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("ProductCode").Value, "")
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 2, "")
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 2, "")
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 2, "")
rpt.lblSumNet.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 2, "")
rpt.lblSumVat.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 2, "")
rpt.lblSumBrt.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 2, "")
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 4, 0)
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 4, 0)
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 4, 0)
End Sub
AddHandler rpt.ReportFooter1.Format, Sub()
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
rpt.lblSumMwst.Text = sumMWST.ToString("N2")
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
End Sub
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
End Sub
Private Function checkifTestfiles() As String
If cbxTestdaten.Checked Then
Return "TEPVGTTR"
Else
Return "LEPVGTTR"
End If
End Function
Private Sub TabPage5_Paint(sender As Object, e As PaintEventArgs) Handles TabPage5.Paint
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim letzteMaut = SQL.getValueTxtBySql("SELECT Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG")
If letzteMaut IsNot Nothing AndAlso IsDate(letzteMaut) Then
lblDatletzteMaut.Text = letzteMaut
Else
lblDatletzteMaut.Text = "-"
End If
End Sub
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles btnKartenpruefung.Click
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dtAsfinagKartenpruef As DataTable = SQL.loadDgvBySql("
SELECT cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr, (SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11))) AS Offerte_11
FROM dbo.tblAsfinagMaut
LEFT JOIN [dbo].[Kreditkarten] on cardnumber= Kreditkarten.KartenNr
GROUP BY cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr
HAVING cardnumber is null or (cardnumber is not null AND ((Kreditkarten.AdressenNr) Is Not Null) AND (((SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11)))) Is Null))
ORDER BY cardnumber", "FMZOLL")
If dtAsfinagKartenpruef.Rows.Count = 0 Then
MsgBox("Prüfung abgeschlossen" & vbNewLine & "Daten in Ordnung!")
Else
Dim frm As New Form
Dim dgv As New DataGridView()
dgv.DataSource = dtAsfinagKartenpruef
If dgv IsNot Nothing Then
frm.Size = New Size(1400, 1000)
dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
dgv.Dock = DockStyle.Fill
dgv.Anchor = AnchorStyles.Left
dgv.Anchor = AnchorStyles.Top
dgv.ReadOnly = True
frm.Controls.Add(dgv)
frm.StartPosition = FormStartPosition.CenterScreen
frm.ShowDialog()
End If
End If
Catch ex As System.Exception
End Try
End Sub
Private Sub Button20_Click(sender As Object, e As EventArgs) Handles btnMautbericht.Click
MsgBox("Funktion noch nicht implementiert!")
'Try
' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
' Dim frm As New Form
' Dim dgv As New DataGridView()
' Dim dt As DataTable = SQL.loadDgvBySql("SELECT dbo.CLFBody.PKHistory,
' dbo.CLFBody.PKFileName,
' dbo.CLFBody.PKLine,
' dbo.CLFBody.RecordType,
' dbo.CLFBody.fileNumber,
' dbo.CLFBody.cardNumber,
' dbo.CLFBody.validTo OBUID,
' dbo.CLFBody.vehicleLicensePlate,
' dbo.CLFBody.nationality,
' dbo.CLFBody.vehicleCategory,
' dbo.CLFBody.emissionCategory,
' dbo.CLFBody.status,
' dbo.CLFBody.contractDate,
' dbo.CLFBody.fileVersion,
' dbo.CLFBody.engineCharacteristics,
' dbo.CLFBody.CO2EmissionsClass,
' dbo.CLFBody.contractType FROM dbo.CLF INNER JOIN dbo.CLFBody ON dbo.CLF.PKHistory = dbo.CLFBody.PKHistory AND dbo.CLF.PKFileName = dbo.CLFBody.PKFileName
' ", "ASFINAG")
' dgv.DataSource = dt
' If dgv IsNot Nothing Then
' frm.Size = New Size(1400, 1000)
' dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
' dgv.Dock = DockStyle.Fill
' dgv.Anchor = AnchorStyles.Left
' dgv.Anchor = AnchorStyles.Top
' dgv.ReadOnly = True
' frm.Controls.Add(dgv)
' frm.StartPosition = FormStartPosition.CenterScreen
' frm.ShowDialog()
' End If
'Catch ex As System.Exception
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
'End Try
End Sub
Private Sub Button16_Click_1(sender As Object, e As EventArgs) Handles Button16.Click
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim frm As New Form
Dim dgv As New DataGridView()
Dim dt As DataTable = SQL.loadDgvBySql("SELECT
PKFileName,
FileCreationDate,
Abrechnungsdatum,
round(SUM(amountInclVAT) - SUM(VATAmount),2) AS Nettobetrag,
round(SUM(VATAmount),2) AS Umsatzsteuer,
VATRate AS 'USt %',
round(SUM(amountInclVAT),2) AS Bruttobetrag
FROM TTRBody
WHERE (PKHistory = 0) AND (Abrechnungsdatum = (SELECT Abrechnungsdatum FROM Abrechnungsdatum))
GROUP BY PKFileName, FileCreationDate, Abrechnungsdatum, VATRate
ORDER BY PKFileName", "ASFINAG")
If dt.Rows.Count = 0 Then
MsgBox("keine Daten vorhanden!")
Exit Sub
End If
dgv.DataSource = dt
If dgv IsNot Nothing Then
frm.Size = New Size(1400, 1000)
dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
dgv.Dock = DockStyle.Fill
dgv.Anchor = AnchorStyles.Left
dgv.Anchor = AnchorStyles.Top
dgv.ReadOnly = True
frm.Controls.Add(dgv)
frm.StartPosition = FormStartPosition.CenterScreen
frm.ShowDialog()
End If
'Dim print As New frmPrintLayout
'print.Text = "ASFINAG"
'Dim rpt As New rptASFINAG_TransaktionenSumary
'rpt.DataSource = dt
'Dim sum = 0
'rpt.lblUeberschrift.Text = "ASFINAG Transaktionssummen " & CDate(dat_Sum_Bis.Value.ToShortDateString)
'rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.Label10.Visible = False
'Label1.Text = "Dateiname"
'Label8.Text = "Erstellungsdatum"
''Dim cnt As Integer = 0
'rpt.lblDat.Text = Now.ToLongDateString
'Dim sumNetto As Double = 0
'Dim sumMWST As Double = 0
'Dim sumBrutto As Double = 0
'Dim sumperKdNrNetto As Double = 0
'Dim sumperKdNrMWST As Double = 0
'Dim sumperKdNrBrutto As Double = 0
'AddHandler rpt.Detail.Format, Sub()
' rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("PKFileName").Value, "")
' rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("FileCreationDate").Value, "")
' rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Abrechnungsdatum").Value, "")
' rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 2, "")
' rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Umsatzsteuer").Value, 2, "")
' rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Bruttobetrag").Value, 2, "")
' rpt.lblSumNet.Visible = False
' rpt.lblSumVat.Visible = False
' rpt.lblSumBrt.Visible = False
' sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 4, 0)
' sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Umsatzsteuer").Value, 4, 0)
' sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Bruttobetrag").Value, 4, 0)
' End Sub
'AddHandler rpt.ReportFooter1.Format, Sub()
' rpt.lblSumNetto.Text = sumNetto.ToString("N2")
' rpt.lblSumMwst.Text = sumMWST.ToString("N2")
' rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
' End Sub
'print.Viewer.LoadDocument(rpt)
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
'print.Show()
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
Private Sub Button17_Click_1(sender As Object, e As EventArgs) Handles Button17.Click
Me.Cursor = Cursors.WaitCursor
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
MsgBox("Funktion noch nicht umgesetzt")
Exit Sub
Try
Dim dir = "F:\FMZoll\Diesel\IDS\Import\Test" 'Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\"
If System.IO.Directory.Exists(dir) Then
For Each file As String In System.IO.Directory.GetFiles(dir) ' Ermittelt alle Dateien des Ordners
If System.IO.File.Exists(file) Then
Dim fi As FileInfo = New FileInfo(file)
If fi.Extension.ToLower = ".xls" Then
Dim filepath = file.Replace(".xls", ".txt")
System.IO.File.Move(file, filepath)
End If
End If
Next
Dim dialog As New OpenFileDialog()
dialog.InitialDirectory = dir
dialog.Filter = "CSV Files (*.csv)|*.csv"
If (dialog.ShowDialog() = DialogResult.OK) Then
Dim table As DataTable = convertToDT(dialog.FileName)
Dim cnt = 1
For Each r As DataRow In table.Rows
If cnt Mod 10 = 0 Then
txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count
Dim proz As Double = (cnt / table.Rows.Count) * 100
ProgressBar.Value = proz
lblProz.Text = proz.ToString("N2") & " %"
GroupBox7.Refresh()
My.Application.DoEvents()
End If
cnt += 1
Next
ProgressBar.Value = 100
txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count
lblProz.Text = "100.00 %"
End If
End If
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Me.Cursor = Cursors.Default
End Sub
Private Sub UsrCntlMSE_KonvertCSV1_Load(sender As Object, e As EventArgs) Handles UsrCntlMSE_KonvertCSV1.Load
End Sub
Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
If cbxMautbericht._value = "" Then Exit Sub
If cbxDateMautbericht._value = "" Then Exit Sub
Select Case cbxMautbericht._value
'nur intern
Case "Gesamtbericht_EXCEL"
Dim dtGesamtbericht As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], Adressen.Ordnungsbegriff AS [Customer name], tblMautbericht.[Net Amount], tblMautbericht.[VAT Amount], tblMautbericht.[Total Amount] From tblMautbericht INNER Join Adressen On tblMautbericht.[Customer No] = Adressen.AdressenNr Where cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'", "FMZOLL")
cProgramFunctions.genExcelFromDT_NEW(dtGesamtbericht, {"C1:C" & (dtGesamtbericht.Rows.Count + 1), "D1:D" & (dtGesamtbericht.Rows.Count + 1), "E1:E" & (dtGesamtbericht.Rows.Count + 1)},,,,, True)
'für Kunde an RE anhängen
Case "Gesamtbericht_CSV"
Dim dtBerichtkunden_CSV As DataTable = (New SQL).loadDgvBySql("SELECT [Customer No], [Licence Plate Number], [Transaction Country], [Transaction date], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal], tblMautbericht.[Net Amount], tblMautbericht.[VAT Amount], tblMautbericht.[Total Amount]
FROM Adressen
INNER JOIN tblMautbericht ON Adressen.AdressenNr = tblMautbericht.[Customer No]
WHERE Adressen.ExportMautberichtCSV=1 AND cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'
ORDER BY tblMautbericht.[Customer No], tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction Country], tblMautbericht.[Transaction date], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal]", "FMZOLL")
If dtBerichtkunden_CSV.Rows.Count > 0 Then
Dim displayView = New DataView(dtBerichtkunden_CSV, "", "Customer No", DataViewRowState.CurrentRows)
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "Customer No")
'wenn bereits CSV-Datei im Ordner dann löschen!
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.ToString.ToLower.EndsWith(".csv") Then File.Delete(f)
Next
End If
For Each csv As DataRow In distinctDT_CSV.Rows
Dim dt_CSV_selected = dtBerichtkunden_CSV.Select("[Customer No] ='" & csv.Item(0) & "'").CopyToDataTable
Dim fn As String = PathMautberichte & "\" & csv.Item("Customer No") & "_Maut.csv"
Dim outFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
Dim clmns As String = ""
For i = 0 To dt_CSV_selected.Columns.Count - 1
clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ", ") & ";"
Next
outFile.WriteLine(clmns)
For i = 0 To dt_CSV_selected.Rows.Count - 1
clmns = ""
For j = 0 To dt_CSV_selected.Columns.Count - 1
clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ", ") & ";"
Next
outFile.WriteLine(clmns)
Next
outFile.Close()
Next
MsgBox("CSV-Berichte wurden unter " & PathMautberichte & "erzeugt.")
Else
MsgBox("Es wurden keine Daten bereitgestellt")
End If
'für Kunde an RE anhängen (Tool Report to Verag Invoice aus FMZOLL)
Case "Lieferantenbericht_PDF"
Dim dtBerichtkunden_PDF As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], Adressen.Ordnungsbegriff AS [Customer name], tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction date], tblMautbericht.[Transaction Country], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal], Sum(tblMautbericht.[Net Amount]) AS [Net Amount], Sum(tblMautbericht.[VAT Amount]) AS [VAT Amount], Sum(tblMautbericht.[Total Amount]) AS [Total Amount]
FROM tblMautbericht INNER JOIN Adressen ON tblMautbericht.[Customer No] = Adressen.AdressenNr
WHERE cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'
GROUP BY tblMautbericht.[Customer No], Adressen.Ordnungsbegriff, tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction date], tblMautbericht.[Transaction Country], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal] ", "FMZOLL")
If dtBerichtkunden_PDF.Rows.Count = 0 Then
MsgBox("Es wurden keine Daten bereitgestellt")
Exit Sub
End If
Dim displayView = New DataView(dtBerichtkunden_PDF, "", "Customer No", DataViewRowState.CurrentRows)
Dim distinctDT_PDF As DataTable = displayView.ToTable(True, "Customer No")
'wenn bereits PDF-Datei im Ordner dann löschen!
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.ToString.ToLower.EndsWith(".pdf") Then File.Delete(f)
Next
End If
If distinctDT_PDF.Rows.Count > 1 Then
For Each pdf As DataRow In distinctDT_PDF.Rows
Dim dt_PDF_selected = dtBerichtkunden_PDF.Select("[Customer No] ='" & pdf.Item(0) & "'").CopyToDataTable
createPDFMautbericht(pdf.Item(0), dt_PDF_selected, cbxDateMautbericht._value, PathMautberichte)
Next
MsgBox("PDF-Berichte wurden unter " & PathMautberichte & "erzeugt.")
Else
MsgBox("Es wurden keine Daten bereitgestellt")
End If
End Select
End Sub
Private Function createPDFMautbericht(kdnr As Integer, dt As DataTable, anhangsdatum As Date, path As String) As String
Dim rpt As New rptPLOSE_Anhang
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
rpt.DataSource = dt
rpt.txtKunde.Text = kdnr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(kdnr).FullName
rpt.lblRgDatum.Text = anhangsdatum.ToShortDateString
rpt.GroupHeaderKz.DataField = "LicencePlateNumber"
rpt.txtNettoKzSum.Visible = False
rpt.txtNettoGesSum.Visible = False
rpt.txtNetto.Visible = False
rpt.txtNettoKatSum.Visible = False
rpt.lblNetto.Visible = False
rpt.txtMWSTKzSum.Visible = False
rpt.txtMWSTGEsSum.Visible = False
rpt.txtMWST.Visible = False
rpt.txtMWSTKatSum.Visible = False
rpt.lblMWST.Visible = False
'rpt.lblBrutto.Text = "Total Amount ( EUR )"
'rpt.Label4.Text = bis.ToShortDateString
'rpt.Label2.Text = "UTA-KundenNr:"
rpt.TextBox1.Text = kdnr
' rpt.Label1.Text = " UTA Fleet Management Service"
rpt.lblSummeKennzeichen.Visible = False
rpt.lblService.Visible = False
'rpt.lblSummeKennzeichen.Location = New PointF(rpt.lblSummeKennzeichen.Location.X + 4.5, rpt.lblSummeKennzeichen.Location.Y)
'rpt.lblSumKategorie.Location = New PointF(rpt.lblSumKategorie.Location.X + 4.5, rpt.lblSumKategorie.Location.Y)
'rpt.lblGessumme.Location = New PointF(rpt.lblGessumme.Location.X + 4.5, rpt.lblGessumme.Location.Y)
Dim sumNetto As Double = 0
Dim sumMWST As Double = 0
Dim sumBrutto As Double = 0
Dim sumNettoKat As Double = 0
Dim sumMWSTKat As Double = 0
Dim sumBruttoKat As Double = 0
Dim sumNettoGes As Double = 0
Dim sumMWSTGes As Double = 0
Dim sumBruttoGes As Double = 0
Dim cntKat = 0
Dim cnt = 0
rpt.GroupFooterKat.Visible = False
AddHandler rpt.Detail.Format, Sub()
rpt.txtKunde.Text = sql.isDbnullEmpty(rpt.Fields.Item("Customer No").Value, "")
rpt.txtKunde.Text &= " " & sql.isDbnullEmpty(rpt.Fields.Item("Customer name").Value, "")
rpt.txtProdukt.Text = sql.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
rpt.txtKartennummer.Text = sql.isDbnullEmpty(rpt.Fields.Item("Card number").Value, "")
rpt.txtEingang.Text = sql.isDbnullEmpty(rpt.Fields.Item("Entry Terminal").Value, "")
rpt.txtAusgang.Text = sql.isDbnullEmpty(rpt.Fields.Item("Exit Terminal").Value, "")
rpt.txtLand.Text = sql.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
rpt.txtDatum.Text = sql.isDbnullEmpty(rpt.Fields.Item("Transaction date").Value, "")
rpt.txtNetto.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Net Amount").Value, 2, "")
rpt.txtMWST.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("VAT Amount").Value, 2, "")
rpt.txtBrutto.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 2, "")
sumNetto += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
sumMWST += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
sumBrutto += sql.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 4, 0)
cnt += 1
End Sub
AddHandler rpt.GroupHeaderKz.Format, Sub()
rpt.txtKennzeichen.Text = sql.isDbnullEmpty(rpt.Fields.Item("Licence Plate Number").Value, "")
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
End Sub
AddHandler rpt.GroupHeaderKat.Format, Sub()
rpt.lblKategorie.Text = "MAUT REPORT"
End Sub
AddHandler rpt.GroupFooterKz.Format, Sub()
rpt.txtNettoKzSum.Text = sumNetto.ToString("N2")
rpt.txtMWSTKzSum.Text = sumMWST.ToString("N2")
rpt.txtBruttoKzSum.Text = sumBrutto.ToString("N2")
sumNettoGes += sumNetto
sumMWSTGes += sumMWST
sumBruttoGes += sumBrutto
sumNetto = 0
sumMWST = 0
sumBrutto = 0
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", sql.isDbnullEmpty(rpt.Fields.Item("Licence Plate Number").Value, ""))
End Sub
AddHandler rpt.GroupFooterKat.Format, Sub()
sumNettoKat += sumNetto
sumMWSTKat += sumMWST
sumBruttoKat += sumBrutto
sumNetto = 0
sumMWST = 0
sumBrutto = 0
rpt.txtNettoKatSum.Text = sumNettoKat.ToString("N2")
rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2")
rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2")
cntKat += 1
End Sub
AddHandler rpt.ReportFooter1.Format, Sub()
'sumNettoGes += sumNettoKat
'sumMWSTGes += sumMWSTKat
'sumBruttoGes += sumBruttoKat
sumNettoKat = 0
sumMWSTKat = 0
sumBruttoKat = 0
sumNetto = 0
sumMWST = 0
sumBrutto = 0
rpt.txtNettoGesSum.Text = sumNettoGes.ToString("N2")
rpt.txtMWSTGEsSum.Text = sumMWSTGes.ToString("N2")
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
'If cntKat <= 1 Then
' rpt.GroupFooterKat.Visible = False
'End If
End Sub
'print.Viewer.LoadDocument(rpt)
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
'print.Show()
Dim tmpPath = path & "\" & kdnr & "_Maut.pdf"
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
rpt.Run(False)
p.NeverEmbedFonts = ""
p.Export(rpt.Document, tmpPath)
rpt.Dispose()
Return tmpPath
End Function
End Class
Class cMDMAuswertung
Shared Sub genUeberfaelligeBestellungen(frm, von, bis, erstelltVon, Optional kdnr = -1, Optional sdlNr = -1)
frm.Cursor = Cursors.WaitCursor
Try
Dim print As New frmPrintLayout
print.Text = "Überfällige Bestellungen"
Dim rpt As New rptAuswertungUeberfaelligeBestellungen
rpt.von = von
rpt.bis = bis
rpt.kdnr = kdnr
rpt.SDLNr = sdlNr
rpt.erstelltVon = erstelltVon
rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
frm.Cursor = Cursors.Default
End Sub
Shared Sub genSDLrief(frm, kdnr, sdlNr, erstelltVon, archiviert)
If Not IsNumeric(sdlNr) Then
MsgBox("Bitte SDL Leistung auswählen!")
Exit Sub
End If
frm.Cursor = Cursors.WaitCursor
Dim print As New frmPrintLayout
print.Text = "SDL Brief"
Dim rpt As New rptSDLBrief
rpt.KdNr = kdnr
rpt.archiviert = archiviert
rpt.sdlNr = sdlNr
' rpt.erstelltVon = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
' print.RaisePrintEvent = True
print.Show()
frm.Cursor = Cursors.Default
End Sub
Shared Sub genLeereObu(frm As Control, Optional von As Date = Nothing, Optional bis As Date = Nothing)
frm.Cursor = Cursors.WaitCursor
Dim print As New frmPrintLayout
print.Text = "SDL Brief"
Dim rpt As New rptLeereOBU
If von = Nothing Then von = CDate("01.01.1900")
If bis = Nothing Then bis = Now
' If MyComboBox4._value <> "" Then rpt.sdlNr = MyComboBox4._value
rpt.sdlNr = 200 'nur AT
rpt.von = von
rpt.bis = bis
print.Viewer.LoadDocument(rpt)
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
print.Show()
frm.Cursor = Cursors.Default
End Sub
End Class
Class IDS_Transaktionen
Property BC_ID As Object = Nothing
Property BC_DESCR As Object = Nothing
Property CLUB_ID As Object = Nothing
Property COU_ISO_COD As Object = Nothing
Property COU_DESCR As Object = Nothing
Property CUST_COD As Object = Nothing
Property CUST_LEVEL As Object = Nothing
Property CUST_NAME1 As Object = Nothing
Property CARD_SER_NUM As Object = Nothing
Property SOU_ISO_COD As Object = Nothing
Property SOU_DESCR As Object = Nothing
Property TRS_NUM As Object = Nothing
Property TRS_VERS_NUM As Object = Nothing
Property OUT_COD As Object = Nothing
Property OUT_DESCR As Object = Nothing
Property OUT_GRP_COD As Object = Nothing
Property TRS_DATE As Object = Nothing
Property TOT_QTY As Object = Nothing
Property PROD_NUM As Object = Nothing
Property PROD_DESCR As Object = Nothing
Property SERVICE_PROD_NUM As Object = Nothing
Property SERVICE_PROD_DESCR As Object = Nothing
Property SOU_CURR As Object = Nothing
Property ORIG_LIST_PRICE As Object = Nothing
Property ORIG_REBATE As Object = Nothing
Property ORIG_PRICE As Object = Nothing
Property PLATTS_PRICE As Object = Nothing
Property SC_BC_RATE As Object = Nothing
Property SC_IV_BC_AMNT As Object = Nothing
Property COU_BENEFICIARY_CURR As Object = Nothing
Property CO_IV_BC_AMNT As Object = Nothing
Property EUR_IV_BC_AMNT As Object = Nothing
Property SC_CO_EXCHRATE As Object = Nothing
Property SC_EUR_EXCHRATE As Object = Nothing
Property BC_INVO_DATE As Object = Nothing
Property INVO_NUM As Object = Nothing
Property FIXED_OR_TOTAL As Object = Nothing
Property BC_TYPE As Object = Nothing
Property COU_BENEFICIARY As Object = Nothing
Property CUST_BENEFICIARY As Object = Nothing
Property LEVEL_BENEFICIARY As Object = Nothing
Property CUST_GRP_BENEFICIARY As Object = Nothing
Property Importiert As Object = Nothing
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_ID", BC_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_DESCR", BC_DESCR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CLUB_ID", CLUB_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_ISO_COD", COU_ISO_COD))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_DESCR", COU_DESCR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_COD", CUST_COD))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_LEVEL", CUST_LEVEL))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_NAME1", CUST_NAME1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CARD_SER_NUM", CARD_SER_NUM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SOU_ISO_COD", SOU_ISO_COD))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SOU_DESCR", SOU_DESCR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TRS_NUM", TRS_NUM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TRS_VERS_NUM", TRS_VERS_NUM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OUT_COD", OUT_COD))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OUT_DESCR", OUT_DESCR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OUT_GRP_COD", OUT_GRP_COD))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TRS_DATE", TRS_DATE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TOT_QTY", TOT_QTY))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PROD_NUM", PROD_NUM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PROD_DESCR", PROD_DESCR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SERVICE_PROD_NUM", SERVICE_PROD_NUM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SERVICE_PROD_DESCR", SERVICE_PROD_DESCR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SOU_CURR", SOU_CURR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ORIG_LIST_PRICE", ORIG_LIST_PRICE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ORIG_REBATE", ORIG_REBATE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ORIG_PRICE", ORIG_PRICE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLATTS_PRICE", PLATTS_PRICE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_BC_RATE", SC_BC_RATE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_IV_BC_AMNT", SC_IV_BC_AMNT))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_BENEFICIARY_CURR", COU_BENEFICIARY_CURR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CO_IV_BC_AMNT", CO_IV_BC_AMNT))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EUR_IV_BC_AMNT", EUR_IV_BC_AMNT))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_CO_EXCHRATE", SC_CO_EXCHRATE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_EUR_EXCHRATE", SC_EUR_EXCHRATE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_INVO_DATE", BC_INVO_DATE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("INVO_NUM", INVO_NUM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FIXED_OR_TOTAL", FIXED_OR_TOTAL))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_TYPE", BC_TYPE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_BENEFICIARY", COU_BENEFICIARY))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_BENEFICIARY", CUST_BENEFICIARY))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LEVEL_BENEFICIARY", LEVEL_BENEFICIARY))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_GRP_BENEFICIARY", CUST_GRP_BENEFICIARY))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Importiert", Importiert, , , True))
Return list
End Function
Public Function SAVE() As Boolean
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblIDS_Transaktionen WITH(updlock,serializable) WHERE TRS_NUM=@TRS_NUM ) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam And Not i.isonlyForLoad Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblIDS_Transaktionen (" & str & ") VALUES(" & values & ") ")
Catch ex As SqlException
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam And Not i.isonlyForLoad Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblIDS_Transaktionen] SET " & str & " WHERE TRS_NUM=@TRS_NUM")
Catch ex As SqlException
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
Return ""
End Function
End Class