Files
SDL/SDL/mdm/frmMDMDatenverarbetiung.vb
2023-12-19 15:15:10 +01:00

2898 lines
143 KiB
VB.net

Imports System.Data.OleDb
Imports System.DirectoryServices.ActiveDirectory
Imports System.IO
Imports com.sun.jdi
Imports com.sun.net.httpserver.Authenticator
Imports DAKOSY_Worker.NichtAbschliessendeFestsetzung
Imports sun.nio.cs.ext
Imports VERAG_PROG_ALLGEMEIN
Public Class frmMDMDatenverarbetiung
Public LIEFERANT = ""
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
' Dim ProduktCode_NOT_IN = "SELECT plp_ProductCode FROM [tblPLOSE_Produktbeschreibung] WHERE [plp_einarbeiten]=0 "
Dim ProduktCode_NOT_IN = "'9020'"
Dim datum As Date = Nothing
Private Sub frmPloseDatenverarbetiung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Top = 0
Me.Height = My.Computer.Screen.WorkingArea.Height
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs)
End Sub
Private Sub pnl_Paint(sender As Object, e As PaintEventArgs) Handles pnl.Paint
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Select Case LIEFERANT
Case "PLOSE" : genSummenbericht_PLOSE()
Case "ASFINAG" : genSummenbericht_ASFINAG()
Case Else : MsgBox("Nicht verfügbar!")
End Select
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
MyDatagridview1.ClearSelection()
Button3.BackColor = Color.White
Button3.ForeColor = Color.Black
Dim pruef As Boolean = False
Select Case LIEFERANT
Case "PLOSE" : pruef = pruefData_PLOSE()
Case "ASFINAG" : pruef = pruefData_ASFINAG()
Case Else : MsgBox("Nicht verfügbar!") : Exit Sub
End Select
cbx.Checked = pruef
If pruef Then
Button3.BackColor = Color.Green
Button3.ForeColor = Color.White
Else
Button3.BackColor = Color.Red
Button3.ForeColor = Color.White
End If
End Sub
Private Sub btnDatenLaden_Click(sender As Object, e As EventArgs) Handles btnDatenLaden.Click
init()
End Sub
Sub init()
txtAnzahl.Text = ""
txtPruefsummeNetto.Text = ""
Select Case LIEFERANT
Case "PLOSE" : initDgv_PLOSE()
btnDatenLaden.Text = "Daten laden"
Case "UTA" : initDgv_UTA()
btnDatenLaden.Text = "Daten laden"
Case "ASFINAG" : initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
btnDatenLaden.Text = "Daten laden"
End Select
End Sub
Private Sub btnREerstellen_Click_1(sender As Object, e As EventArgs) Handles btnREerstellen.Click
Dim errorTmp = False
Select Case LIEFERANT
Case "PLOSE"
If genRGAtt_PLOSE() Then
If MautD_Befuellen() Then
setFakturiertPLOSE()
End If
End If
Case "UTA"
If genRGAtt_UTA() Then
'If MautD_Befuellen() Then
' setFakturiertUTA()
'End If
End If
Case "ASFINAG"
Dim abrechnungsDatum As DateTime = Now()
If datum = Nothing Then
datum = SQL.getValueTxtBySql("select top (1) Abrechnungsdatum from Abrechnungsdatum", "ASFINAG")
End If
Dim inputKdNr = "" 'InputBox("Wenn einzelner Kunde abgerechnet werde soll, bitte KdNr eingeben" & vbNewLine & "Wenn keine KdNr angegeben wird, dann werden alle Kunden abgerechnet:", "Asfinag abrechen")
If genRGAtt_ASFINAG(abrechnungsDatum, datum, inputKdNr) Then
MautD_Befuellen(inputKdNr)
End If
initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
End Select
End Sub
Sub genSummenbericht_PLOSE()
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT count(*) Anzahl ,plose_ProduktCode"
sqlstr &= ",max(plose_Produktbeschreibung) as plose_Produktbeschreibung"
sqlstr &= ",sum(plose_Menge) as plose_Menge"
sqlstr &= ",sum(plose_Preis) as plose_Preis"
sqlstr &= ",sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung"
sqlstr &= ",sum(plose_MWSTBetragWaehrungAbbuchung) as plose_MWSTBetragWaehrungAbbuchung"
sqlstr &= ",sum(plose_BruttobetragWaehrungAbbuchung) as plose_BruttobetragWaehrungAbbuchung "
sqlstr &= " FROM tblPLOSE_Details"
sqlstr &= " WHERE 1=1 "
sqlstr &= " AND plose_DatumTransaktion between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "' "
sqlstr &= " AND plose_Fakturiert =0 "
sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & ") "
sqlstr &= " group by plose_ProduktCode"
sqlstr &= " order by plose_ProduktCode"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
'DataGridView.DataSource = dt
Dim print As New frmPrintLayout
print.Text = "PLOSE"
Dim rpt As New rptPLOSE_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 = "PLOSE Summenbericht " & dat_Sum_Von.Text & " bis " & dat_Sum_Bis.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 sumPreis As Double = 0
Dim sumNetto As Double = 0
Dim sumMWST As Double = 0
Dim sumBrutto As Double = 0
Dim sumMenge As Double = 0
AddHandler rpt.Detail.Format, Sub()
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
rpt.lblAnzahl.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Anzahl").Value, "")
rpt.lblProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
rpt.lblMenge.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Menge").Value, 0, "")
' rpt.lblPreis.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Preis").Value, 2, "")
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 2, "")
sumMenge += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Menge").Value, 4, 0)
' sumPreis += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_Preis").Value, 4, 0)
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 4, 0)
End Sub
AddHandler rpt.ReportFooter1.Format, Sub()
rpt.lblSumMenge.Text = sumMenge.ToString("N0")
'rpt.lblSumPreis.Text = sumPreis.ToString("N2")
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
Sub genSummenbericht_ASFINAG()
Dim displayFilter = False
Dim sqlstr As String = ""
If datum = Nothing Then
datum = SQL.getValueTxtBySql("select top (1) Abrechnungsdatum from Abrechnungsdatum", "ASFINAG")
End If
'umschreiben, damit er die Daten nicht aus TTRBody sondern tblMautAsfinag holt....
' sqlstr &= " SELECT dbo.TTRBody.CardNumber,Adressen.AdressenNr AS KundenNr,Adressen.[Name 1], dbo.CLFArchiv.vehicleLicensePlate,dbo.TTRBody.DeliveryDate, 'ASFINAG ' + ISNULL(dbo.tblWarenarten.WarenartDE, dbo.tblWarenarten.ProductCode) as ProductCode,dbo.TTRBody.amountInclVAT - dbo.TTRBody.VATAmount as Netamount,dbo.TTRBody.VATAmount,dbo.TTRBody.amountInclVAT
' FROM dbo.CLFArchiv RIGHT OUTER JOIN
' dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.InfoField LEFT OUTER JOIN
' dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode
'INNER JOIN [VERAG].[dbo].Kreditkarten ON dbo.TTRBody.CardNumber = Kreditkarten.KartenNr
'INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
' WHERE (dbo.TTRBody.PKHistory = 0) AND (dbo.TTRBody.PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (TTRBody.abrechnungsdatum = '" & datum.ToShortDateString & "')
' ORDER BY dbo.TTRBody.CardNumber"
' sqlstr &= "select [cardnumber] as CardNumber
',Adressen.AdressenNr AS KundenNr
',Adressen.[Name 1]
' ,[licenceplate] as vehicleLicensePlate
' ,[turnoverdate] as DeliveryDate
' ,[contractPartner] as ProductCode
' ,[netAmount]
' ,[VATamount]
' ,[additionalData]
' ,[totalAmount] as amountInclVAT
'FROM [VERAG].[dbo].[tblAsfinagMaut]
'INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
'INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr"
sqlstr &= "select [cardnumber] as CardNumber
,Adressen.AdressenNr AS KundenNr
,Adressen.[Name 1]
,[contractPartner] as ProductCode
,sum([netAmount]) as Netamount
,sum([VATamount]) as VATAmount
,sum([totalAmount]) as amountInclVAT
FROM [VERAG].[dbo].[tblAsfinagMaut]
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
group by Adressen.AdressenNr,Adressen.[Name 1], contractPartner,CardNumber
order by Adressen.AdressenNr"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
'DataGridView.DataSource = dt
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(datum.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("amountInclVAT").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("amountInclVAT").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("amountInclVAT").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
Sub initDgv_PLOSE()
With MyDatagridview1
.Columns.Clear()
.SET_SQL(" SELECT plose_POLSEKundennummer, count(*) Anzahl,plose_ProduktCode,max(plose_Produktbeschreibung) as plose_Produktbeschreibung, sum(plose_Menge) as plose_Menge,sum(plose_Preis) as plose_Preis,sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung,sum(plose_MWSTBetragWaehrungAbbuchung) as plose_MWSTBetragWaehrungAbbuchung,sum(plose_BruttobetragWaehrungAbbuchung) as plose_BruttobetragWaehrungAbbuchung
FROM tblPLOSE_Details
WHERE 1 = 1
And plose_DatumTransaktion between '" & dat_Sum_Von.Value & "' and '" & dat_Sum_Bis.Value & "'
AND plose_Fakturiert=0
AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & ")
group by plose_POLSEKundennummer,plose_ProduktCode
order by plose_POLSEKundennummer,plose_ProduktCode", "FMZOLL")
.LOAD()
'TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
If .Columns.Count > 0 Then
.Columns("plose_POLSEKundennummer").HeaderText = "PLOSE KdNr"
.Columns("plose_ProduktCode").HeaderText = "ProduktCode"
.Columns("plose_Produktbeschreibung").HeaderText = "Beschreibung"
.Columns("plose_Produktbeschreibung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("plose_Menge").HeaderText = "Menge"
.Columns("plose_Preis").HeaderText = "Preis"
.Columns("plose_NettobetragWaehrungAbbuchung").HeaderText = "Netto"
.Columns("plose_MWSTBetragWaehrungAbbuchung").HeaderText = "MWST"
.Columns("plose_BruttobetragWaehrungAbbuchung").HeaderText = "Brutto"
'.Columns("VERAGLeistungsNr").ReadOnly = False
'.Columns("VERAGKdNr").ReadOnly = False
'For Each r As DataGridViewColumn In .Columns
' If r.Name = "VERAGLeistungsNr" Or r.Name = "VERAGKdNr" Then
' r.ReadOnly = False
' Else
' r.ReadOnly = True
' End If
'Next
Dim c As New DataGridViewTextBoxColumn
c.Name = "VERAGKdNr"
c.HeaderText = "VERAG KdNr"
c.Width = 100
.Columns.Insert(1, c)
c = New DataGridViewTextBoxColumn
c.Name = "VERAGLeistungsNr"
c.HeaderText = "VERAG/PLOSE LeistungsNr."
c.Width = 100
.Columns.Insert(2, c)
c = New DataGridViewTextBoxColumn
c.Name = "KundeOffertenNr"
c.HeaderText = "Kunde OffertenNr."
c.Width = 100
.Columns.Insert(3, c)
c = New DataGridViewTextBoxColumn
c.Name = "KundeLeistungsNr"
c.HeaderText = "Kunde LeistungsNr."
c.Width = 100
.Columns.Insert(4, c)
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
End If
Dim sumBto As Double = 0
Dim sumNto As Double = 0
For Each r As DataGridViewRow In .Rows
sumBto += If(IsNumeric(r.Cells("plose_BruttobetragWaehrungAbbuchung").Value), CDbl(r.Cells("plose_BruttobetragWaehrungAbbuchung").Value), 0)
sumNto += If(IsNumeric(r.Cells("plose_NettobetragWaehrungAbbuchung").Value), CDbl(r.Cells("plose_NettobetragWaehrungAbbuchung").Value), 0)
Next
txtAnzahl.Text = .Rows.Count
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
.ClearSelection()
End With
End Sub
Sub initDgv_UTA()
With MyDatagridview1
.Columns.Clear()
Exit Sub
'MsgBox(.sql)
.SET_SQL(" SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort,Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImport.Fakturierwarenart
FROM tblUTAFakturierwarenarten
INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer)
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
group by Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart,tblUTAImport.Fakturierwarenart", "FMZOLL")
.LOAD()
'MsgBox(.GET_SQL())
If .Columns.Count > 0 Then
'.Columns("plose_POLSEKundennummer").HeaderText = "PLOSE KdNr"
'.Columns("plose_ProduktCode").HeaderText = "ProduktCode"
'.Columns("plose_Produktbeschreibung").HeaderText = "Beschreibung"
'.Columns("plose_Produktbeschreibung").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
'.Columns("plose_Menge").HeaderText = "Menge"
'.Columns("plose_Preis").HeaderText = "Preis"
'.Columns("plose_NettobetragWaehrungAbbuchung").HeaderText = "Netto"
'.Columns("plose_MWSTBetragWaehrungAbbuchung").HeaderText = "MWST"
'.Columns("plose_BruttobetragWaehrungAbbuchung").HeaderText = "Brutto"
'.Columns("VERAGLeistungsNr").ReadOnly = False
'.Columns("VERAGKdNr").ReadOnly = False
'For Each r As DataGridViewColumn In .Columns
' If r.Name = "VERAGLeistungsNr" Or r.Name = "VERAGKdNr" Then
' r.ReadOnly = False
' Else
' r.ReadOnly = True
' End If
'Next
'Dim c As New DataGridViewTextBoxColumn
'c.Name = "VERAGKdNr"
'c.HeaderText = "VERAG KdNr"
'c.Width = 100
'.Columns.Insert(1, c)
'c = New DataGridViewTextBoxColumn
'c.Name = "VERAGLeistungsNr"
'c.HeaderText = "VERAG/PLOSE LeistungsNr."
'c.Width = 100
'.Columns.Insert(2, c)
'c = New DataGridViewTextBoxColumn
'c.Name = "KundeOffertenNr"
'c.HeaderText = "Kunde OffertenNr."
'c.Width = 100
'.Columns.Insert(3, c)
'c = New DataGridViewTextBoxColumn
'c.Name = "KundeLeistungsNr"
'c.HeaderText = "Kunde LeistungsNr."
'c.Width = 100
'.Columns.Insert(4, c)
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
End If
'Dim sumBto As Double = 0
'Dim sumNto As Double = 0
'For Each r As DataGridViewRow In .Rows
' sumBto += If(IsNumeric(r.Cells("plose_BruttobetragWaehrungAbbuchung").Value), CDbl(r.Cells("plose_BruttobetragWaehrungAbbuchung").Value), 0)
' sumNto += If(IsNumeric(r.Cells("plose_NettobetragWaehrungAbbuchung").Value), CDbl(r.Cells("plose_NettobetragWaehrungAbbuchung").Value), 0)
'Next
'txtAnzahl.Text = .Rows.Count
'txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
'txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
.ClearSelection()
End With
End Sub
Sub initDgv_ASFINAG(abgerechnet As Boolean, belegeErstellt As Boolean)
'datum = CDate(SQL.getValueTxtBySql("SELECT Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
Dim sqlString = " AND (TTRBody.abrechnungsdatum " & IIf(abgerechnet, "is not null)", "is null)")
sqlString &= " AND (TTRBody.belegerstellungsdatum " & IIf(belegeErstellt, "is not null)", "is null)")
With MyDatagridview1
.Columns.Clear()
'MsgBox(.sql)
.SET_SQL(" SELECT dbo.TTRBody.OBUID,dbo.TTRBody.CardNumber,dbo.TTRBody.receiptNumber,dbo.TTRBody.VATAmount,dbo.TTRBody.amountInclVAT,dbo.TTRBody.abrechnungsdatum,dbo.TTRBody.belegerstellungsdatum, dbo.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate
FROM dbo.CLFArchiv
RIGHT OUTER JOIN dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.OBUID
LEFT OUTER JOIN dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode
WHERE (dbo.TTRBody.PKHistory = 0) AND (dbo.TTRBody.PKFileName LIKE N'" & checkifTestfiles() & ".%')" & sqlString & "
ORDER BY dbo.TTRBody.CardNumber, dbo.TTRBody.FileCreationDate, dbo.TTRBody.PKHistory, dbo.TTRBody.PKFileName, dbo.TTRBody.PKLine", "ASFINAG")
.LOAD()
'MsgBox(.GET_SQL())
If .Columns.Count > 0 Then
.Columns("WarenartDE").HeaderText = "Warenart"
.Columns("vehicleLicensePlate").HeaderText = "LKW-KZ"
.Columns("OBUID").HeaderText = "OBUID"
.Columns("OBUID").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
.Columns("CardNumber").HeaderText = "Kartennummer"
.Columns("abrechnungsdatum").HeaderText = "Abrechnungsdatum"
.Columns("belegerstellungsdatum").HeaderText = "Belegerstellung am"
.Columns("receiptNumber").HeaderText = "Rechnungsnummer"
.Columns("VATAmount").HeaderText = "MWST"
.Columns("amountInclVAT").HeaderText = "Brutto"
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
End If
Dim sumBto As Double = 0
Dim sumNto As Double = 0
For Each r As DataGridViewRow In .Rows
sumBto += If(IsNumeric(r.Cells("amountInclVAT").Value), CDbl(r.Cells("amountInclVAT").Value), 0)
sumNto += If(IsNumeric(r.Cells("amountInclVAT").Value AndAlso r.Cells("VATAmount").Value), CDbl(r.Cells("amountInclVAT").Value) - r.Cells("VATAmount").Value, 0)
Next
txtAnzahl.Text = .Rows.Count
txtPruefsummeNetto.Text = CDbl(sumNto).ToString("C2")
txtPruefsummeBrutto.Text = CDbl(sumBto).ToString("C2")
.ClearSelection()
End With
End Sub
Private Sub btn_Click(sender As Object, e As EventArgs) Handles btn.Click
initLieferant("PLOSE", sender)
End Sub
Sub initLieferant(l As String, btn As Button)
MyDatagridview1.DataSource = Nothing
Me.LIEFERANT = l
Panel3.Controls.Clear()
For Each c As Button In FlowLayoutPanel.Controls
If c Is btn Then
c.BackColor = Color.Wheat
Else
c.BackColor = Color.FloralWhite
End If
Next
cbxASFINAGAbgerechnet.Visible = False
cbxBelegeerstellt.Visible = False
cbxTestdaten.Visible = False
Select Case Me.LIEFERANT
Case "PLOSE"
Panel4.Visible = True
pnlAsfinag.Visible = False
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_PLOSE(Me)
Panel3.Controls.Add(c)
c.Dock = DockStyle.Fill
Case "UTA"
Panel4.Visible = False
pnlAsfinag.Visible = False
'Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_UTA(Me)
'Panel3.Controls.Add(c)
'c.Dock = DockStyle.Fill
Case "ASFINAG"
cbxASFINAGAbgerechnet.Visible = True
cbxBelegeerstellt.Visible = True
cbxTestdaten.Visible = True
Panel4.Visible = False
pnlAsfinag.Visible = True
Exit Sub
End Select
init()
End Sub
Function genRGAtt_PLOSE() As Boolean
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("SELECT [AdressenNr],PLOSEKundenNr FROM tblPLOSE_Details INNER JOIN Adressen ON plose_POLSEKundennummer=PLOSEKundenNr where plose_Fakturiert = 0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' group by [AdressenNr],PLOSEKundenNr ", "FMZOLL")
'MsgBox("Keine Daten!""SELECT [AdressenNr],PLOSEKundenNr FROM tblPLOSE_Details INNER JOIN Adressen ON plose_POLSEKundennummer=PLOSEKundenNr where AND plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' group by [AdressenNr],PLOSEKundenNr ")
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
MsgBox("Keine Daten!")
Return False
End If
Dim cnt = 0
If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
Dim dir = "F:\FMZoll\Maut\PLOSE\" & Now.ToShortDateString
If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
Directory.CreateDirectory(dir)
For Each R_PLOSE In dt_Main.Rows
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
Dim verarbOK = True
If Not genPLOSE_SPEDBUCH_ByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, SPEDBUCH) Then verarbOK = False
If Not genPLOSE_RECHNUNG_BySPEDBUCH(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False
' ANHÄNGE WERDEN NCIHT BENÖTIGT::genPLOSEAttachmentByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, dir)
If verarbOK Then
'UPDATE Fakturiert
SQL.doSQL("UPDATE tblPLOSE_Details SET plose_FakturiertDatum=GETDATE() WHERE plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' AND plose_POLSEKundennummer='" & R_PLOSE("PLOSEKundenNr") & "' ", "FMZOLL")
End If
If True Then 'cnt Mod 10 = 0 Then
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
pbPloseAnh_Proz.Value = proz
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
'GroupBox12.Refresh()
My.Application.DoEvents()
End If
cnt += 1
Next
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren:
'Dim dirAnhang = "F:\FMZoll\Maut\PLOSE\Anlagen\"
'If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
' For Each f In Directory.GetFiles(dirAnhang)
' File.Delete(f)
' Next
'End If
'If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
'For Each f In Directory.GetFiles(dir)
' File.Copy(f, dirAnhang & (New FileInfo(f)).Name)
'Next
'IN FMZOLL / DB MautD einfügen --> Mautbericht
'genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
pbPloseAnh_Proz.Value = 100
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
lblPloseAnh_Proz.Text = "100.00 %"
Return True
End If
Return False
End Function
Function genRGAtt_UTA() As Boolean
Dim top = ""
'top = " TOP 20 "
Dim SQLStr = " SELECT " & top & " Kundennummer AS [Customer ID], KundenNr AS [Customer Nr], UTAExportCSV,Rechnungsdruck
FROM tblUTAFakturierwarenarten
INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer)
INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr)
INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
group by Kundennummer, KundenNr, UTAExportCSV,Rechnungsdruck
"
'Dim SQLStr = " SELECT TOP 3 [Customer ID],[Customer Nr], UTAExportCSV,Rechnungsdruck , sum( Gesamtbetrag_Brutto_in_Darstellwährung )
' FROM(
' SELECT Kundennummer AS [Customer ID], KundenNr AS [Customer Nr], UTAExportCSV,Rechnungsdruck , ( Gesamtbetrag_Brutto_in_Darstellwährung )
' FROM tblUTAImport
' INNER JOIN Adressen ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer
' INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr
' INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)
' INNER JOIN tblUTAFakturierwarenarten ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
' ) as T1 /*WHERE Gesamtbetrag_Brutto_in_Darstellwährung <>0*/
' group by [Customer ID],[Customer Nr], UTAExportCSV,Rechnungsdruck
' "
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param(SQLStr, "FMZOLL", 1200)
'MsgBox("Keine Daten!""SELECT [AdressenNr],PLOSEKundenNr FROM tblPLOSE_Details INNER JOIN Adressen ON plose_POLSEKundennummer=PLOSEKundenNr where AND plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' group by [AdressenNr],PLOSEKundenNr ")
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
MsgBox("Keine Daten!")
Return False
End If
Dim cnt = 0
If vbYes = MsgBox("Es wurden Daten von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
Dim dir = "F:\FMZoll\Maut\UTA\Archiv\" & Now.ToShortDateString
If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
Directory.CreateDirectory(dir)
For Each R_PLOSE In dt_Main.Rows
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
Dim verarbOK = True
' If Not genUTA_SPEDBUCH_ByKdNr(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, SPEDBUCH) Then verarbOK = False
' If Not genUTA_RECHNUNG_BySPEDBUCH(R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False
genUTAAttachmentByKdNr(R_PLOSE("Customer Nr"), R_PLOSE("Customer ID"), dir, datPloseAnhang.Value) 'R_PLOSE("AdressenNr"), R_PLOSE("PLOSEKundenNr"), dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString, dir)
If verarbOK Then
'UPDATE Fakturiert
' SQL.doSQL("UPDATE tblPLOSE_Details SET plose_FakturiertDatum=GETDATE() WHERE plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' AND plose_POLSEKundennummer='" & R_PLOSE("PLOSEKundenNr") & "' ", "FMZOLL")
End If
If True Then 'cnt Mod 10 = 0 Then
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
pbPloseAnh_Proz.Value = proz
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
'GroupBox12.Refresh()
My.Application.DoEvents()
End If
cnt += 1
Next
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren
Dim dirAnhang = "F:\FMZoll\Maut\UTA\Anlagen\"
If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
For Each f In Directory.GetFiles(dirAnhang)
File.Delete(f)
Next
End If
If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
For Each f In Directory.GetFiles(dir)
File.Copy(f, dirAnhang & (New FileInfo(f)).Name)
Next
'IN FMZOLL / DB MautD einfügen --> Mautbericht
'genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
pbPloseAnh_Proz.Value = 100
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
lblPloseAnh_Proz.Text = "100.00 %"
Return True
End If
Return False
End Function
Function genRGAtt_ASFINAG(belegerstellungsdatum As DateTime, abrechnungsdatum As Date, inputKdNr As String) As Boolean
If cbxASFINAGAbgerechnet.Checked = False Then
MsgBox("Bitte abgerechnete Daten auswählen!")
Return False
End If
Dim sqlWhere As String = ""
If inputKdNr <> "" Then
sqlWhere &= " AND Adressen.AdressenNr=" & inputKdNr
End If
Dim dt_Main As DataTable = SQL.loadDgvBySql_Param("SELECT KundenNr, cardnumber FROM (SELECT Kreditkarten.KartenNr AS Kartennummer, Adressen.AdressenNr AS KundenNr FROM Adressen INNER JOIN Kreditkarten ON Adressen.AdressenNr = Kreditkarten.AdressenNr) as KUK INNER JOIN [tblAsfinagMaut] as Maut ON KUK.Kartennummer = Maut.cardnumber INNER JOIN Adressen ON KUK.KundenNr = Adressen.AdressenNr where Maut.receiptCreated = 0" & sqlWhere & "Group by KundenNr, cardnumber ", "FMZOLL")
If dt_Main Is Nothing OrElse dt_Main.Rows.Count = 0 Then
MsgBox("Keine Abrechnungsdaten vorhanden" & IIf(inputKdNr <> "", " für KundenNr: " & inputKdNr, "!"))
Return False
End If
Dim dt_Main_PDF As DataTable = SQL.loadDgvBySql_Param("SELECT Maut.cardnumber, Maut.licenceplate, Maut.turnoverdate, Maut.contractPartner, Maut.netAmount, Maut.VATamount, Maut.totalAmount, Maut.[additionalData],Maut.receiptNumber, KUK.KundenNr, KUK.[Name 1] FROM (
SELECT Kreditkarten.KartenNr AS Kartennummer, Adressen.AdressenNr AS KundenNr, Adressen.[Name 1]
FROM Adressen INNER JOIN Kreditkarten ON Adressen.AdressenNr = Kreditkarten.AdressenNr) as KUK
INNER JOIN [tblAsfinagMaut] as Maut ON KUK.Kartennummer = Maut.cardnumber
INNER JOIN Adressen ON KUK.KundenNr = Adressen.AdressenNr
WHERE 1 = 1" & sqlWhere, "FMZOLL")
Dim dt_Main_CSV As DataTable = SQL.loadDgvBySql_Param("SELECT Adressen.AdressenNr, Maut.*
FROM Adressen INNER JOIN (Kreditkarten INNER JOIN tblAsfinagMaut as Maut ON Kreditkarten.KartenNr = Maut.cardnumber) ON Adressen.AdressenNr = Kreditkarten.AdressenNr
WHERE Adressen.ASFINAGExportCSV = 1 " & sqlWhere & "
ORDER BY Adressen.AdressenNr, Maut.cardnumber, Maut.licenceplate, Maut.turnoverdate", "FMZOLL")
Dim cnt = 0
Dim displayViewKunden = New DataView(dt_Main, "", "KundenNr", DataViewRowState.CurrentRows)
Dim distinctDT_distKunden As DataTable = displayViewKunden.ToTable(True, "KundenNr")
Dim Info As String = ""
If inputKdNr = "" Then
Info = "Es wurden " & MyDatagridview1.Rows.Count & " Transaktionen von " & dt_Main.Rows.Count & " Kunden gefunden"
Else
Dim countTrans = SQL.getValueTxtBySql("SELECT count(cardnumber) FROM (SELECT Kreditkarten.KartenNr AS Kartennummer, Adressen.AdressenNr AS KundenNr FROM Adressen INNER JOIN Kreditkarten ON Adressen.AdressenNr = Kreditkarten.AdressenNr) as KUK INNER JOIN [tblAsfinagMaut] as Maut ON KUK.Kartennummer = Maut.cardnumber INNER JOIN Adressen ON KUK.KundenNr = Adressen.AdressenNr where Maut.receiptCreated = 0" & sqlWhere, "FMZOLL")
Info = "Es wurden " & countTrans & " Transaktionen von " & dt_Main.Rows.Count & " Kunden gefunden "
End If
If vbYes = MsgBox(Info & vbNewLine & "Möchten Sie die Rechnungen + Anhänge erstellen?", vbYesNoCancel) Then
Dim dir = "F:\FMZoll\Maut\AT\Anlagen" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "\Test", "") '"C:\Users\d.breimaier\Desktop\Asfinag\Mautberichte"
If Not Directory.Exists(dir) Then
Directory.CreateDirectory(dir)
End If
If dt_Main_PDF IsNot Nothing AndAlso dt_Main_PDF.Rows.Count > 0 Then
Dim displayView = New DataView(dt_Main_PDF, "", "KundenNr", DataViewRowState.CurrentRows)
Dim distinctDT_PDF As DataTable = displayView.ToTable(True, "KundenNr")
For Each pdf As DataRow In distinctDT_PDF.Rows
Dim dt_PDF_selected = dt_Main_PDF.Select("KundenNr ='" & pdf.Item(0) & "'").CopyToDataTable
genASFINAGAttachmentByKdNr(pdf.Item(0), dt_PDF_selected, dir & "\" & pdf.Item(0) & "_Maut_AT.pdf")
Next
End If
If dt_Main_CSV IsNot Nothing AndAlso dt_Main_CSV.Rows.Count > 0 Then
Dim displayView = New DataView(dt_Main_CSV, "", "AdressenNr", DataViewRowState.CurrentRows)
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "AdressenNr")
For Each csv As DataRow In distinctDT_CSV.Rows
Dim dt_CSV_selected = dt_Main_CSV.Select("AdressenNr ='" & csv.Item(0) & "'").CopyToDataTable
Dim fn As String = dir & "\" & csv.Item(0) & "_Maut_AT.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
End If
For Each R_ASFINAG In distinctDT_distKunden.Rows
Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing
Dim verarbOK = True
If Not genASFINAG_SPEDBUCH_ByKdNr(R_ASFINAG("KundenNr"), SPEDBUCH) Then verarbOK = False
If Not genASFINAG_RECHNUNG_BySPEDBUCH(R_ASFINAG("KundenNr"), SPEDBUCH, dat_Sum_Von.Value, dat_Sum_Bis.Value) Then verarbOK = False
If verarbOK Then
If inputKdNr <> "" Then
Dim result As DataRow() = dt_Main.Select("KundenNr ='" & R_ASFINAG("KundenNr") & "'")
For Each row As DataRow In result
SQL.doSQL("UPDATE dbo.TTRBody SET belegerstellungsdatum = '" & belegerstellungsdatum & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <='" & belegerstellungsdatum & "') AND (abrechnungsdatum = '" & abrechnungsdatum & "') And belegerstellungsdatum is null And CardNumber = " & row.Item("cardnumber") & "", "ASFINAG")
Next
Else
SQL.doSQL("UPDATE dbo.TTRBody SET belegerstellungsdatum = '" & belegerstellungsdatum & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <='" & belegerstellungsdatum & "') AND (abrechnungsdatum = '" & abrechnungsdatum & "') And belegerstellungsdatum is null", "ASFINAG")
End If
Dim results As DataRow() = dt_Main.Select("KundenNr ='" & R_ASFINAG("KundenNr") & "'")
For Each r As DataRow In results
SQL.doSQL("UPDATE [tblAsfinagMaut] SET receiptCreated = 1 WHERE cardnumber = " & r.Item("cardnumber") & " AND receiptCreated = 0", "FMZOLL")
Next
End If
If True Then 'cnt Mod 10 = 0 Then
txtPloseAnh_Einarbeitung.Text = cnt & " / " & dt_Main.Rows.Count
Dim proz As Double = (cnt / dt_Main.Rows.Count) * 100
pbPloseAnh_Proz.Value = proz
lblPloseAnh_Proz.Text = proz.ToString("N2") & " %"
'GroupBox12.Refresh()
My.Application.DoEvents()
End If
cnt += 1
Next
' ANHÄNGE WERDEN NCIHT BENÖTIGT::
'Alle Alangen im foglenden VZ löschen und die aktuellen kopieren:
'Dim dirAnhang = "F:\FMZoll\Maut\PLOSE\Anlagen\"
'If Directory.Exists(dirAnhang) Then 'Directory.Delete(dirAnhang, True)
' For Each f In Directory.GetFiles(dirAnhang)
' File.Delete(f)
' Next
'End If
'If Not Directory.Exists(dirAnhang) Then Directory.CreateDirectory(dirAnhang)
Dim dirCSV = "F:\FMZoll\Maut\Anlagen\" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "Test\", "")
If Not Directory.Exists(dirCSV) Then
Directory.CreateDirectory(dirCSV)
End If
For Each f In Directory.GetFiles(dir)
If f.EndsWith(".csv") Then File.Copy(f, dirCSV & (New FileInfo(f)).Name, True)
Next
pbPloseAnh_Proz.Value = 100
txtPloseAnh_Einarbeitung.Text = dt_Main.Rows.Count & " / " & dt_Main.Rows.Count
lblPloseAnh_Proz.Text = "100.00 %"
Return True
End If
Return False
End Function
Function genPLOSEInsertMautD(von As Date, bis As Date) As Boolean
Try
pic.Visible = False
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT 'PLOSE',AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,isnull([tblPLOSE_Produktbeschreibung].plp_Description_EN,plose_Produktbeschreibung) as plose_Produktbeschreibung ,isnull(plose_NummerKarteGeraet,plose_Kontonummer) as plose_NummerKarteGeraet ,plose_BeschreibungEinfahrt,plose_BeschreibungAusfahrt,plose_NettobetragWaehrungAbbuchung,(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,plose_BruttobetragWaehrungAbbuchung "
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr and plp_LeistungsNr is not null "
sqlstr &= " WHERE 1=1 "
sqlstr &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land NOT IN ('AT','DE') "
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
sqlstr &= " order by plp_Land, plose_DatumTransaktion"
' sqlstr &= " group by plose_ProduktCode"
' MsgBox(sqlstr)
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim sqlstrAT As String = ""
sqlstrAT &= " SELECT 'PLOSE',AdressenNr,plose_Kennzeichen,plose_DatumTransaktion,plp_Land,'' as plose_Produktbeschreibung ,plose_NummerKarteGeraet as plose_NummerKarteGeraet ,'' as plose_BeschreibungEinfahrt,'' as plose_BeschreibungAusfahrt,sum(plose_NettobetragWaehrungAbbuchung) as plose_NettobetragWaehrungAbbuchung,sum(plose_BruttobetragWaehrungAbbuchung-plose_NettobetragWaehrungAbbuchung) as Steuer,sum(plose_BruttobetragWaehrungAbbuchung ) as plose_BruttobetragWaehrungAbbuchung "
sqlstrAT &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr and plp_LeistungsNr is not null "
sqlstrAT &= " WHERE 1=1 "
sqlstrAT &= " AND plose_Fakturiert=0 AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) AND plp_Land IN ('AT','DE') "
sqlstrAT &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
sqlstrAT &= " group by plp_Land, AdressenNr, plose_Kennzeichen,plose_DatumTransaktion,plose_NummerKarteGeraet"
sqlstrAT &= " order by plp_Land"
' sqlstr &= " group by plose_ProduktCode"
' MsgBox(sqlstr)
Dim dtAT As DataTable = SQL.loadDgvBySql_Param(sqlstrAT, "FMZOLL")
'AT ---> Gruppiert
If dtAT IsNot Nothing AndAlso dtAT.Rows.Count > 0 Then
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
dt = dtAT
Else
For Each r In dtAT.Rows
dt.Rows.Add({r(0), r(1), r(2), r(3), r(4), r(5), r(6), r(7), r(8), r(9), r(10), r(11)})
Next
End If
End If
Dim connectionString = ""
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accd"
Else
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
End If
Dim con As New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand
Dim var1 As String
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
Dim reader As OleDbDataReader = Nothing
If dt IsNot Nothing Then
con.Open()
For Each r In dt.Rows
Try
'Zeitstempel
Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Entry Terminal],[Exit Terminal],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10,@P11,@P12) "
' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
Using Command As New OleDbCommand(SQLQuery, con)
'Command.Parameters.AddWithValue("@P1", r(0).ToString)
'Command.Parameters.AddWithValue("@P2", CInt(r(1)))
'Command.Parameters.AddWithValue("@P3", r(2).ToString)
'Command.Parameters.AddWithValue("@P4", CDate(r(3)))
'Command.Parameters.AddWithValue("@P5", r(4).ToString)
'Command.Parameters.AddWithValue("@P6", r(5).ToString)
'Command.Parameters.AddWithValue("@P7", r(6).ToString)
'Command.Parameters.AddWithValue("@P8", r(7).ToString)
'Command.Parameters.AddWithValue("@P9", r(8).ToString)
'Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
'Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
'Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
' .Parameters.AddWithValue("@P13", r(12))
Command.Parameters.AddWithValue("@P1", r(0))
Command.Parameters.AddWithValue("@P2", r(1))
Command.Parameters.AddWithValue("@P3", r(2))
Command.Parameters.AddWithValue("@P4", r(3))
Command.Parameters.AddWithValue("@P5", r(4))
Command.Parameters.AddWithValue("@P6", r(5))
Command.Parameters.AddWithValue("@P7", r(6))
Command.Parameters.AddWithValue("@P8", r(7))
Command.Parameters.AddWithValue("@P9", r(8))
Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
Command.Parameters.AddWithValue("@P11", CDbl(r(10)))
Command.Parameters.AddWithValue("@P12", CDbl(r(11)))
Command.ExecuteNonQuery()
Command.Dispose()
End Using
'cmd = New OleDbCommand(SQLQuery, con)
'With cmd
' .Parameters.AddWithValue("@P1", r(0))
' .Parameters.AddWithValue("@P2", r(1))
' .Parameters.AddWithValue("@P3", r(2))
' .Parameters.AddWithValue("@P4", r(3))
' .Parameters.AddWithValue("@P5", r(4))
' .Parameters.AddWithValue("@P6", r(5))
' .Parameters.AddWithValue("@P7", r(6))
' .Parameters.AddWithValue("@P8", r(7))
' .Parameters.AddWithValue("@P9", r(8))
' .Parameters.AddWithValue("@P10", r(9))
' .Parameters.AddWithValue("@P11", r(10))
' .Parameters.AddWithValue("@P12", r(11))
' ' .Parameters.AddWithValue("@P13", r(12))
' cmd.Dispose()
' .ExecuteNonQuery()
'End With
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
Finally
If reader IsNot Nothing Then reader.Close()
End Try
Next
con.Close()
End If
pic.Visible = True
Return True
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function genASFINAGInsertMautAT(kdNr) As Boolean
Try
pic.Visible = False
Dim displayFilter = False
Dim sqlstr As String = ""
Dim sqlWhere As String = ""
If kdNr <> "" Then
sqlWhere &= " AND Adressen.AdressenNr=" & kdNr
End If
sqlstr = " select
'AT'
,Adressen.AdressenNr
,licenceplate
,turnoverdate
,'AT'
,contractPartner as ProductCode
,[cardnumber] as CardNumber
,[netAmount] as Netamount
,[VATamount] as VATAmount
,[totalAmount] as totalAmount
FROM [VERAG].[dbo].[tblAsfinagMaut]
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
WHERE 1 = 1 " & sqlWhere & "
order by Adressen.AdressenNr"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim sqlstrAT As String = ""
sqlstrAT &= "select 'AT'
,Adressen.AdressenNr
,licenceplate
,turnoverdate
,'AT' as land
,'' as ProductCode
,[cardnumber] as CardNumber
,sum([netAmount]) as Netamount
,sum([VATamount]) as VATAmount
,sum([totalAmount]) as totalAmount
FROM [VERAG].[dbo].[tblAsfinagMaut]
INNER JOIN [VERAG].[dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
INNER JOIN [VERAG].[dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr
WHERE 1 = 1 " & sqlWhere & "
group by Adressen.AdressenNr, licenceplate,turnoverdate,CardNumber
order by Adressen.AdressenNr"
Dim dtAT As DataTable = SQL.loadDgvBySql_Param(sqlstrAT, "FMZOLL")
'AT ---> Gruppiert
If dtAT IsNot Nothing AndAlso dtAT.Rows.Count > 0 Then
If dt Is Nothing OrElse dt.Rows.Count = 0 Then
dt = dtAT
Else
For Each r In dtAT.Rows
dt.Rows.Add({r(0), r(1), r(2), r(3), r(4), r(5), r(6), r(7), r(8), r(9)})
Next
End If
End If
Dim connectionString = ""
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
Else
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
End If
Dim con As New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand
Dim var1 As String
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
Dim reader As OleDbDataReader = Nothing
If dt IsNot Nothing Then
con.Open()
For Each r In dt.Rows
Try
'Zeitstempel
Dim SQLQuery = "INSERT INTO tblMautbericht (Datenquelle,[Customer No],[Licence Plate Number],[Transaction Date],[Transaction Country],[Product description],[Card Number],[Nett Amount],[VAT Amount],[Total Amount]) VALUES (@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9,@P10) "
' "SELECT * FROM DBParent WHERE P_ID = " & UniqeID & ";"
Using Command As New OleDbCommand(SQLQuery, con)
Command.Parameters.AddWithValue("@P1", r(0))
Command.Parameters.AddWithValue("@P2", r(1))
Command.Parameters.AddWithValue("@P3", r(2))
Command.Parameters.AddWithValue("@P4", r(3))
Command.Parameters.AddWithValue("@P5", r(4))
Command.Parameters.AddWithValue("@P6", r(5))
Command.Parameters.AddWithValue("@P7", r(6))
Command.Parameters.AddWithValue("@P8", CDbl(r(7)))
Command.Parameters.AddWithValue("@P9", CDbl(r(8)))
Command.Parameters.AddWithValue("@P10", CDbl(r(9)))
Command.ExecuteNonQuery()
Command.Dispose()
End Using
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
Finally
If reader IsNot Nothing Then reader.Close()
End Try
Next
con.Close()
End If
pic.Visible = True
Return True
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function deleteMautD(Datenquelle As String) As Boolean
Try
Dim connectionString = ""
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD_Test.accdb"
Else
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
End If
Dim con As New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand
Dim var1 As String
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
Dim reader As OleDbDataReader = Nothing
Try
con.Open()
'Zeitstempel
Dim SQLQuery = "DELETE FROM tblMautbericht WHERE Datenquelle='" & Datenquelle & "' "
Using Command As New OleDbCommand(SQLQuery, con)
Command.ExecuteNonQuery()
Command.Dispose()
End Using
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
Finally
If reader IsNot Nothing Then reader.Close()
End Try
con.Close()
Return True
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function genPLOSEAttachmentByKdNr(KdNr As String, PLOSEKundenNr As String, von As Date, bis As Date, dir As String)
Try
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= " SELECT AdressenNr,tblPLOSE_Details.*,tblPLOSE_Produktbeschreibung.* "
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode INNER JOIN Adressen on plose_POLSEKundennummer=PLOSEKundenNr "
sqlstr &= " WHERE 1=1 "
sqlstr &= " AND plose_Fakturiert=0 "
sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) "
sqlstr &= " AND AdressenNr = '" & KdNr & "' "
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
' sqlstr &= " group by plose_ProduktCode"
sqlstr &= " order by plp_Land, plose_DatumTransaktion"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim rpt As New rptPLOSE_Anhang
rpt.DataSource = dt
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
rpt.GroupHeaderKz.DataField = "plose_Kennzeichen" 'Gruppierung
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()
' If cnt = 0 Then
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_POLSEKundennummer").Value, "") & " " & SQL.isDbnullEmpty(rpt.Fields.Item("plose_Firmenname").Value, "")
' End If
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
Select Case "DE"
Case "DE" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Description_DE").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
Case "IT" : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Description_IT").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
Case Else : rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Description_EN").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
End Select
rpt.txtKartennummer.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_NummerKarteGeraet").Value, "")
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_BeschreibungEinfahrt").Value, "")
rpt.txtAusgang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_BeschreibungAusfahrt").Value, "")
rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plp_Land").Value, "")
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_DatumTransaktion").Value, "")
rpt.txtNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
rpt.txtMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
rpt.txtBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 2, "")
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_BruttobetragWaehrungAbbuchung").Value, 4, 0)
cnt += 1
End Sub
AddHandler rpt.GroupHeaderKz.Format, Sub()
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("plose_Kennzeichen").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")
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", SQL.isDbnullEmpty(rpt.Fields.Item("plose_Kennzeichen").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
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 = dir & "\" & KdNr & "_VERAG_Report.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
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return ""
End Function
Function genUTAAttachmentByKdNr(KdNr As String, UTAKdNr As String, dir As String, bis As Date) ', PLOSEKundenNr As String, von As Date, bis As Date, dir As String)
Try
Dim displayFilter = False
Dim sqlstr As String = ""
sqlstr &= "
SELECT qryUTA_Fakturierungspositionen.KundenNr AS [Customer Nr], qryUTA_Fakturierungspositionen.Kundennummer AS [Customer ID], qryUTA_Fakturierungspositionen.[Name 1] AS [Customer name],
cast([Belegdatum] + ' ' + dbo.timeserial(Left([Lieferzeit],2) , right(Left([Lieferzeit],4),2) , Right([Lieferzeit],2)) as datetime) AS [Transaction Date],
qryUTA_Fakturierungspositionen.Lieferzeit AS [Transaction Time], qryUTA_Fakturierungspositionen.Lieferland AS [Transaction Country], qryUTA_Fakturierungspositionen.Warenart AS [Product description], qryUTA_Fakturierungspositionen.Fakturierwarenart AS [Product Description ID], qryUTA_Fakturierungspositionen.Kartentyp AS [Card Type], qryUTA_Fakturierungspositionen.Kartennummer AS [Card number],
isnull([KFZ_Kennzeichen_komprimiert],isnull([KFZ_Kennzeichen],isnull([Prägetext_i_d_R_KFZ_Kennzeichen],''))) AS LicencePlateNumber, qryUTA_Fakturierungspositionen.Autobahnauffahrt AS [Entry Terminal/Direction], qryUTA_Fakturierungspositionen.Autobahnausfahrt AS [Exit Terminal Description], qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung AS [Transaction Amount ( EUR )]
FROM
(SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.LandKz, Adressen.Ort, Adressen.UTAExportCSV, Adressen.Rechnungsdruck, Offertenpositionen.KundenNr, Offertenpositionen.OffertenNr, Offertenpositionen.LeistungsNr, Offertenpositionen.LeistungsBez, tblUTAFakturierwarenarten.Warenart, tblUTAImport.*
FROM tblUTAFakturierwarenarten INNER JOIN (((Adressen INNER JOIN tblUTAImport ON Adressen.UTAKundenNr = tblUTAImport.Kundennummer) INNER JOIN Offertenpositionen ON Adressen.AdressenNr = Offertenpositionen.KundenNr) INNER JOIN tblUTALeistungen ON (tblUTALeistungen.VERAG_LeistungsNr = Offertenpositionen.LeistungsNr) AND (tblUTALeistungen.VERAG_OffertenNr = Offertenpositionen.OffertenNr) AND (tblUTAImport.Lieferland = tblUTALeistungen.Lieferland) AND (tblUTAImport.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart)) ON tblUTAFakturierwarenarten.Fakturierwarenart = tblUTALeistungen.Fakturierwarenart
WHERE Offertenpositionen.KundenNr='" & KdNr & "'
) as qryUTA_Fakturierungspositionen
WHERE (((qryUTA_Fakturierungspositionen.Gesamtbetrag_Brutto_in_Darstellwährung)<>0))
order by LicencePlateNumber, [Card Type]
"
' sqlstr &= " group by plose_ProduktCode"
' sqlstr &= " order by plp_Land, plose_DatumTransaktion"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
If dt Is DBNull.Value Then Return ""
If dt.Rows.Count = 0 Then Return ""
Dim rpt As New rptPLOSE_Anhang
rpt.DataSource = dt
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
rpt.GroupHeaderKz.DataField = "LicencePlateNumber" 'Gruppierung
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 = UTAKdNr
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()
' If cnt = 0 Then
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Customer ID").Value, "")
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Customer name").Value, "")
' End If
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
Select Case "DE"
Case "DE" : 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, "")
Case "IT" : 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, "")
Case Else : 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, "")
End Select
rpt.txtKartennummer.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Card number").Value, "")
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Entry Terminal/Direction").Value, "")
rpt.txtAusgang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Exit Terminal Description").Value, "")
rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Date").Value, "")
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Card Type").Value, "")
rpt.txtNetto.Text = "" 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 2, "")
rpt.txtMWST.Text = "" 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 2, "")
rpt.txtBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Transaction Amount ( EUR )").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("Transaction Amount ( EUR )").Value, 4, 0)
cnt += 1
End Sub
AddHandler rpt.GroupHeaderKz.Format, Sub()
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("LicencePlateNumber").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("LicencePlateNumber").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 = dir & "\" & KdNr & "_Maut_UTA.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
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return ""
End Function
Function genASFINAGAttachmentByKdNr(KdNr As Integer, dt As DataTable, tmpPath As String)
Try
If dt Is DBNull.Value Then Return ""
If dt.Rows.Count = 0 Then Return ""
Dim rpt As New rptASFINAG_Anhang
rpt.DataSource = dt
rpt.txtKunde.Text = KdNr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr).FullName
rpt.lblRgDatum.Text = datPloseAnhang.Value.ToShortDateString
rpt.GroupHeaderKz.DataField = "licenceplate" 'Gruppierung
'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 = UTAKdNr
rpt.Label1.Text = " ASFINAG"
' 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()
' If cnt = 0 Then
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
rpt.txtLand.Text = "AT"
' End If
' rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
rpt.txtProdukt.Text = SQL.isDbnullEmpty(rpt.Fields.Item("contractPartner").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("cardnumber").Value, "")
rpt.txtAusgang.Text = "" 'SQL.isDbnullEmpty(rpt.Fields.Item("Exit Terminal Description").Value, "")
'rpt.txtLand.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
rpt.txtDatum.Text = SQL.isDbnullEmpty(rpt.Fields.Item("turnoverdate").Value, "")
rpt.txtEingang.Text = SQL.isDbnullEmpty(rpt.Fields.Item("receiptNumber").Value, "")
rpt.txtNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 2, "")
rpt.txtMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 2, "")
rpt.txtBrutto.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)
cnt += 1
End Sub
AddHandler rpt.GroupHeaderKz.Format, Sub()
rpt.txtKennzeichen.Text = SQL.isDbnullEmpty(rpt.Fields.Item("licenceplate").Value, "")
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
End Sub
AddHandler rpt.GroupHeaderKat.Format, Sub()
rpt.lblKategorie.Text = "MAUTGEBÜHR"
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("licenceplate").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 p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
rpt.Run(False)
p.NeverEmbedFonts = ""
p.Export(rpt.Document, tmpPath)
rpt.Dispose()
Return tmpPath
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return ""
End Function
Function genPLOSE_SPEDBUCH_ByKdNr(KdNr As String, PLOSEKundenNr As String, von As Date, bis As Date, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch)
Try
'Dim displayFilter = False
'Dim sqlstr As String = ""
'sqlstr &= " SELECT * "
'sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode "
'sqlstr &= " WHERE 1=1 "
'sqlstr &= " AND plose_Fakturiert=0 "
'sqlstr &= " AND plose_POLSEKundennummer = '" & KdNr & "' "
'sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
'' sqlstr &= " group by plose_ProduktCode"
'sqlstr &= " order by plp_Land, plose_DatumTransaktion"
'Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
Dim OffertenNr = 80
Dim Abfertigungsart = 10
SPEDBUCH.FilialenNr = 4824
SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year)
SPEDBUCH.NewUNTER_NR()
SPEDBUCH.Vermittler = AD.Ordnungsbegriff
SPEDBUCH.VermittlerKundenNr = KdNr
SPEDBUCH.VermittlerOffertenNr = OffertenNr
SPEDBUCH.Abfertigungsdatum = datPloseAnhang.Value.ToShortDateString
SPEDBUCH.Abfertigungsart = Abfertigungsart
SPEDBUCH.Bar = 0
SPEDBUCH.Fakturiert = 1
SPEDBUCH.AnzahlSonstiges = 1
SPEDBUCH.Abfertigungsanzahl = 1
SPEDBUCH.AvisUhrzeit = Nothing
SPEDBUCH.Umrechnungskurs = Nothing
SPEDBUCH.veoerz_basbtg = Nothing
SPEDBUCH.Sicherheitsbetrag = Nothing
SPEDBUCH.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
Return SPEDBUCH.SAVE
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function genASFINAG_SPEDBUCH_ByKdNr(KdNr As String, ByRef SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch)
Try
'MsgBox("Funktion noch nicht vollständig implementiert!")
'Exit Function
'Dim displayFilter = False
'Dim sqlstr As String = ""
'sqlstr &= " SELECT * "
'sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode "
'sqlstr &= " WHERE 1=1 "
'sqlstr &= " AND plose_Fakturiert=0 "
'sqlstr &= " AND plose_POLSEKundennummer = '" & KdNr & "' "
'sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
'' sqlstr &= " group by plose_ProduktCode"
'sqlstr &= " order by plp_Land, plose_DatumTransaktion"
'Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(KdNr)
SPEDBUCH = New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch
Dim OffertenNr = 11
Dim Abfertigungsart = 10
SPEDBUCH.FilialenNr = 4814
SPEDBUCH.AbfertigungsNr = VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(SPEDBUCH.FilialenNr, Now.Year)
SPEDBUCH.NewUNTER_NR()
SPEDBUCH.Vermittler = AD.Ordnungsbegriff
SPEDBUCH.VermittlerKundenNr = KdNr
SPEDBUCH.VermittlerOffertenNr = OffertenNr
SPEDBUCH.Abfertigungsdatum = datPloseAnhang.Value.ToShortDateString
SPEDBUCH.Abfertigungsart = Abfertigungsart
SPEDBUCH.Bar = 0
SPEDBUCH.Fakturiert = 1
SPEDBUCH.AnzahlSonstiges = 1
SPEDBUCH.Abfertigungsanzahl = 1
SPEDBUCH.AvisUhrzeit = Nothing
SPEDBUCH.Umrechnungskurs = Nothing
SPEDBUCH.veoerz_basbtg = Nothing
SPEDBUCH.Sicherheitsbetrag = Nothing
SPEDBUCH.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
Return SPEDBUCH.SAVE
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function genPLOSE_RECHNUNG_BySPEDBUCH(KdNr As String, PLOSEKundenNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, von As Date, bis As Date)
Try
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr)
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr)
Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang
Dim OffertenNr = 80
Dim Abfertigungsart = 10
RG.FilialenNr = SPEDBUCH.FilialenNr
RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr
RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr
RG.UnterNr = RG.getMaxRGUnterNr()
RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value) 'If(Now.Month = 1, Now.Year - 1, Now.Year)
RG.FilialenNr = SPEDBUCH.FilialenNr
RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum
RG.Sammelrechnung = 6 'MAUT/DIESEL
RG.BelegartenKz = "AR"
RG.BelegartenNr = 70
RG.BelegartenBez = "Rechnung"
RG.Vorzeichen = "+"
RG.VermittlerKundenNr = AD.AdressenNr
RG.VermittlerLandKz = AD.LandKz
RG.VermittlerName_1 = AD.Name_1
RG.VermittlerName_2 = AD.Name_2
RG.VermittlerOffertenNr = OffertenNr
RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
RG.VermittlerStraße = AD.Straße
RG.Rechnung_an = 3
RG.OffertenNr = OffertenNr
RG.KundenNrZentrale = KD.KundenNrZentrale
RG.RechnungsKundenNr = AD.AdressenNr
RG.RechnungsLandKz = AD.LandKz
RG.RechnungsName_1 = AD.Name_1
RG.RechnungsName_2 = AD.Name_2
RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
RG.RechnungsStraße = AD.Straße
RG.RechnungsUstIdKz = AD.UstIdKz
RG.RechnungsUstIdNr = AD.UstIdNr
RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft
RG.Lastschrift = KD.Lastschrift
RG.Kunden_SVS = KD.SVS
RG.Steuerschlüssel = KD.Steuerschlüssel
RG.Vorkasse = KD.Vorkasse
RG.Vorlageprovision_Proz = KD.Vorlageprovision
RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen
RG.RechnungSprache = "DE"
RG.Anlage_1 = ""
RG.Anlage_2 = ""
RG.Anlage_3 = ""
RG.Anlage_4 = ""
RG.Anlage_5 = ""
RG.Anlage_6 = ""
RG.Text = ""
RG.EMailRechnungstext = Nothing ' ""
RG.Firma_ID = 15
RG.Nettozahlungsziel = KD.Zahlungsziel
RG.SteuerpflichtigerGesamtbetrag = 0
RG.SteuerfreierGesamtbetrag = 0
RG.Status = 0
RG.[Vorkosten] = 0
RG.[Erlös] = 0
RG.[Buchungsjahr] = 0
RG.[Währungscode] = "EUR"
RG.ReErfZeitstempel = Now
RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum)
Dim sqlstr As String = ""
sqlstr &= " SELECT [plp_LeistungsNr],sum([plose_NettobetragWaehrungAbbuchung]) as plose_NettobetragWaehrungAbbuchung,sum([plose_MWSTBetragWaehrungAbbuchung]) as [plose_MWSTBetragWaehrungAbbuchung],sum([plose_BruttobetragWaehrungAbbuchung]) as [plose_BruttobetragWaehrungAbbuchung] "
sqlstr &= " FROM tblPLOSE_Details INNER JOIN [tblPLOSE_Produktbeschreibung] on plose_ProduktCode=plp_ProductCode "
sqlstr &= " WHERE 1=1 "
sqlstr &= " AND plose_Fakturiert=0 "
sqlstr &= " AND plose_ProduktCode NOT IN (" & ProduktCode_NOT_IN & " ) "
sqlstr &= " AND plose_POLSEKundennummer = '" & PLOSEKundenNr & "' "
sqlstr &= " AND plp_LeistungsNr is not null "
sqlstr &= " AND plose_DatumTransaktion between '" & von.ToShortDateString & "' and '" & bis.ToShortDateString & "' "
sqlstr &= " group by [plp_LeistungsNr]"
sqlstr &= " order by plp_LeistungsNr"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
For Each r In dt.Rows
Dim BLNr = r("plp_LeistungsNr")
'Dim BProz = r("plose_BruttobetragWaehrungAbbuchung")
Dim NettoBetrag As Double = r("plose_NettobetragWaehrungAbbuchung")
Dim BruttoBetrag As Double = r("plose_BruttobetragWaehrungAbbuchung")
Dim LeistungsNr As Integer = r("plp_LeistungsNr")
Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
allPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
'Rückvergütung Consortio !!
If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!!
rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
End If
Next
Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL")
If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then
RG.Steuersatz_Proz = dtSt.Rows(0)(0)
End If
cFakturierung.setGesamtBetraege(RG)
RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim
' Call usrCntlFaktAbrechnung.przSVSRVS(RG) ' SVS/RVS errechnen
' Call przSKR() ' SKR errechnen
'Call usrCntlFaktAbrechnung.przVL(RG) ' Vorlageprovision errechnen
'Call usrCntlFaktAbrechnung.przKapitalbereitstellung(RG) 'Kapitalbereitstellung errechnen
' boolFehler = fktBGeb(RECHNUNG.[RK_ID], RECHNUNG.Steuersatz_Proz, RECHNUNG.[Sammelrechnung], RECHNUNG.[BelegartenNr]) ' Bearbeitungsgebühr errechnen
' Call usrCntlFaktAbrechnung.przKA(RG) ' Kreditaufwendungen errechnen
Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen
Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen
Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen
If RG.SAVE Then
' FAKTURIERT eintragen
'For Each r In dt.Rows
' SQL.doSQL("UPDATE [tblPLOSE_Details]SET plose_Fakturiert=1, plose_FakturiertDatum='" & datPloseAnhang.Value & "' where plose_Id='" & r("plose_id") & "'", "FMZOLL")
'Next
Return True
Else
Return False
End If
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return ""
End Function
Function genASFINAG_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, von As Date, bis As Date)
Try
'MsgBox("Funktion noch nicht vollständig implementiert!")
'Exit Function
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr)
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr)
Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang
Dim OffertenNr = 11
Dim Abfertigungsart = 10
RG.FilialenNr = SPEDBUCH.FilialenNr
RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr
RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr
RG.UnterNr = RG.getMaxRGUnterNr()
RG.Buchungsjahr = cRKSV.getGJ(datPloseAnhang.Value) 'If(Now.Month = 1, Now.Year - 1, Now.Year)
RG.FilialenNr = SPEDBUCH.FilialenNr
RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum
RG.Sammelrechnung = 6 'MAUT/DIESEL
RG.BelegartenKz = "AR"
RG.BelegartenNr = 70
RG.BelegartenBez = "Rechnung"
RG.Vorzeichen = "+"
RG.VermittlerKundenNr = AD.AdressenNr
RG.VermittlerLandKz = AD.LandKz
RG.VermittlerName_1 = AD.Name_1
RG.VermittlerName_2 = AD.Name_2
RG.VermittlerOffertenNr = OffertenNr
RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
RG.VermittlerStraße = AD.Straße
RG.Rechnung_an = 3
RG.OffertenNr = OffertenNr
RG.KundenNrZentrale = KD.KundenNrZentrale
RG.RechnungsKundenNr = AD.AdressenNr
RG.RechnungsLandKz = AD.LandKz
RG.RechnungsName_1 = AD.Name_1
RG.RechnungsName_2 = AD.Name_2
RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, ""))
RG.RechnungsStraße = AD.Straße
RG.RechnungsUstIdKz = AD.UstIdKz
RG.RechnungsUstIdNr = AD.UstIdNr
RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft
RG.Lastschrift = KD.Lastschrift
RG.Kunden_SVS = KD.SVS
RG.Steuerschlüssel = KD.Steuerschlüssel
RG.Vorkasse = KD.Vorkasse
RG.Vorlageprovision_Proz = KD.Vorlageprovision
RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen
RG.RechnungSprache = "DE"
RG.Anlage_1 = "Email Anhang"
RG.Anlage_2 = ""
RG.Anlage_3 = ""
RG.Anlage_4 = ""
RG.Anlage_5 = ""
RG.Anlage_6 = ""
RG.Text = ""
RG.EMailRechnungstext = Nothing ' ""
RG.Firma_ID = 15
RG.Nettozahlungsziel = KD.Zahlungsziel
RG.SteuerpflichtigerGesamtbetrag = 0
RG.SteuerfreierGesamtbetrag = 0
RG.Status = 9 '<= Status während der Erfassung über die Maut/Diesel-Schnittstelle - Nach Abschluss der Datenübernahme Änderung auf 0
RG.[Vorkosten] = 0
RG.[Erlös] = 0
RG.[Buchungsjahr] = 0
RG.[Währungscode] = "EUR"
RG.ReErfZeitstempel = Now
RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
RG.Buchungsjahr = cRKSV.getGJ(RG.RechnungsDatum)
Dim sqlstr As String = "SELECT '135' as leistungsNr, [contractPartner] as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount <> 0 Group by [contractPartner]
UNION
SELECT '153' as leistungsNr, [contractPartner] as ProductCode, sum([netAmount]) as netamount ,sum([VATamount]) as Vatamount ,sum([totalAmount]) as amountInclVAT FROM Kreditkarten INNER JOIN tblAsfinagMaut ON Kreditkarten.KartenNr = tblAsfinagMaut.cardnumber Where Kreditkarten.AdressenNr= '" & KD.KundenNr & "' and tblAsfinagMaut.VATamount = 0 Group by [contractPartner]"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
For Each r In dt.Rows
Dim NettoBetrag As Double = r("netamount")
Dim BruttoBetrag As Double = r("amountInclVAT")
Dim LeistungsNr As Integer = r("leistungsNr")
Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True)
allPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag) 'kann generisch verwendet werden
'Rückvergütung Consortio !!
'If r("plp_LeistungsNr") = "190" Then '(PRODUCTCODE=301; VERAG-LEISTUNGSNR=190!!
' rabattPlosePos(RG, OFFERTE, LeistungsNr, NettoBetrag, BruttoBetrag)
'End If
Next
Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL")
If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then
RG.Steuersatz_Proz = dtSt.Rows(0)(0)
End If
cFakturierung.setGesamtBetraege(RG)
RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim
' Call usrCntlFaktAbrechnung.przSVSRVS(RG) ' SVS/RVS errechnen
' Call przSKR() ' SKR errechnen
'Call usrCntlFaktAbrechnung.przVL(RG) ' Vorlageprovision errechnen
'Call usrCntlFaktAbrechnung.przKapitalbereitstellung(RG) 'Kapitalbereitstellung errechnen
' boolFehler = fktBGeb(RECHNUNG.[RK_ID], RECHNUNG.Steuersatz_Proz, RECHNUNG.[Sammelrechnung], RECHNUNG.[BelegartenNr]) ' Bearbeitungsgebühr errechnen
' Call usrCntlFaktAbrechnung.przKA(RG) ' Kreditaufwendungen errechnen
Call usrCntlFaktAbrechnung.przFixeTaxe(RG) ' Fixe Taxe errechnen
Call usrCntlFaktAbrechnung.przPP(RG) ' Porto/Papiere errechnen
Call usrCntlFaktAbrechnung.przBS415(RG) ' Bankspesen errechnen
If RG.SAVE Then
' FAKTURIERT eintragen
'For Each r In dt.Rows
' SQL.doSQL("UPDATE [tblPLOSE_Details]SET plose_Fakturiert=1, plose_FakturiertDatum='" & datPloseAnhang.Value & "' where plose_Id='" & r("plose_id") & "'", "FMZOLL")
'Next
Return True
Else
Return False
End If
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return ""
'################################ Code von FMZOLL #########################################################
' Do Until rstOffPos.EOF
' 'Offertenposition als Rechnungsposition übernehmen.
'4630 With rstRP
'4640 .AddNew
'4650 !RK_ID = rstRK!RK_ID
'4660 !LeistungsNr = rstOffPos!LeistungsNr
'4670 If rstRK![Steuersatz %] = 0 Then ' keine Steuerpflicht
'4680 ![steuerpflichtig] = False
'4690 Else ' LeistungsNr bestimmt Steuerpflicht
'4700 ![steuerpflichtig] = DLookup("[Steuerpflichtig]", "Leistungen", "[LeistungsNr]=" & ![LeistungsNr])
'4710 End If
'4720 !LeistungsBez = rstOffPos!LeistungsBez
'4730 !BerechnungsartNr = rstOffPos!BerechnungsartNr
'4740 !Preis = fktEuro(rstOffPos!Preis, rstKu!Währungscode, rstRK!Währungscode)
'4750 !Anzahl = rstOffPos!Anzahl
'4760 !BGebLeistungsNr = rstOffPos!BGebLeistungsNr
'4770 !BGebProzent = rstOffPos!BGebProzent
'4780 !BGebMinBetrag = rstOffPos!BGebMinBetrag
'4790 If Not IsNull(![Preis]) Then
'4800 ![Preisbindung] = True
'4810 Else
'4820 ![Preisbindung] = False
'4830 Select Case rstRK!OffertenNr
' Case 11 'LKW Maut AT
'4840 Select Case !LeistungsNr
' Case 135 ' Mautberechnung für Österreich steuerpflichtig
'4850 !Anzahl = 1
'4860 !Preis = DSum("[Nettobetrag]", "qryMautbetrag_AT_Stpfl", "[Kundennummer]=" & rstRK![RechnungsKundenNr])
'4870 Case 153 ' Mautberechnung für Österreich steuerfrei
'4880 !Anzahl = 1
'4890 !Preis = DSum("[Nettobetrag]", "qryMautbetrag_AT_Stfrei", "[Kundennummer]=" & rstRK![RechnungsKundenNr])
'4900 End Select
' .
' .
' .
' .
' If IsNull(![Preis]) Or ![Preis] = 0 Or IsNull(![Anzahl]) Or ![Anzahl] = 0 Then
' .Delete
' .
' .
' .
' .
'################################ Code von FMZOLL #########################################################
End Function
Function allPlosePos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double)
Try
For Each o In OFFERTE.POSITIONEN
If o.LeistungsNr = LeistungsNr Then
Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr)
POS.LeistungsNr = o.LeistungsNr
POS.LeistungsBez = o.LeistungsBez
POS.BerechnungsartNr = o.BerechnungsartNr
'POS.Preis = BruttoBetrag
POS.Anzahl = 1
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
POS.BGebBgl = NettoBetrag
If POS.Steuerpflichtig Then
POS.SteuerpflichtigerBetrag = NettoBetrag
POS.Preis = NettoBetrag
Else
POS.SteuerfreierBetrag = BruttoBetrag
POS.Preis = BruttoBetrag
End If
POS.BGebLeistungsNr = o.BGebLeistungsNr
POS.BGebProzent = o.BGebProzent
POS.BGebMinBetrag = o.BGebMinBetrag
RG.POSITIONEN.Add(POS)
If (If(POS.BGebLeistungsNr, 0) > 0) AndAlso (If(POS.BGebProzent, 0) > 0) AndAlso (If(POS.BGebBgl, 0) > 0) Then
allPlosePosBGeb(RG, OFFERTE, POS.BGebLeistungsNr, POS.BGebBgl, POS.BGebProzent)
End If
Return True
End If
Next
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function rabattPlosePos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double)
Try
Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(LeistungsNr)
POS.LeistungsNr = LEISTUNG.LeistungsNr
POS.LeistungsBez = "Rabatt " & LEISTUNG.LeistungsBez
POS.BerechnungsartNr = LEISTUNG.BerechnungsartNr
'POS.Preis = BruttoBetrag
POS.Anzahl = 1
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
' POS.BGebBgl = NettoBetrag* -1
If POS.Steuerpflichtig Then
POS.SteuerpflichtigerBetrag = NettoBetrag * -1
POS.Preis = NettoBetrag
Else
POS.SteuerfreierBetrag = BruttoBetrag * -1
POS.Preis = BruttoBetrag * -1
End If
RG.POSITIONEN.Add(POS)
Return True
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Function allPlosePosBGeb(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, BGebLeistungsNr As Integer, BGebBgl As Double, BGebProzent As Double)
Try
Dim Betrag As Double = Math.Round(BGebBgl * BGebProzent, 1)
For Each o In OFFERTE.POSITIONEN
If o.LeistungsNr = BGebLeistungsNr Then
'Falls schon vorhanden...
Dim POS = RG.POSITIONEN.Find(Function(x) x.LeistungsNr = BGebLeistungsNr) 'And x.BerechnungsartNr = 9)
If POS Is Nothing Then
POS = New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen()
POS.Preis = 0
POS.SteuerpflichtigerBetrag = 0
POS.SteuerfreierBetrag = 0
Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr)
POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig
POS.LeistungsNr = o.LeistungsNr
POS.LeistungsBez = o.LeistungsBez
POS.BerechnungsartNr = o.BerechnungsartNr
POS.Anzahl = 1
' POS.BGebLeistungsNr = BGebLeistungsNr
RG.POSITIONEN.Add(POS)
End If
POS.Preis += Betrag
If POS.Steuerpflichtig Then
POS.SteuerpflichtigerBetrag += Betrag
Else
POS.SteuerfreierBetrag += Betrag
End If
' RG.POSITIONEN.Add(POS)
Return True
End If
Next
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Private Sub dat_Sum_Von_ValueChanged(sender As Object, e As EventArgs) Handles dat_Sum_Von.ValueChanged, dat_Sum_Bis.ValueChanged
init()
End Sub
Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbx.CheckedChanged
Panel2.Enabled = cbx.Checked
End Sub
Function pruefData_PLOSE() As Boolean
pruefData_PLOSE = True
Try
Dim VERAGKdNr_DT As DataTable = SQL.loadDgvBySql("SELECT AdressenNr,PLOSEKundenNr FROM Adressen WHERE PLOSEKundenNr is not null", "FMZOLL")
Dim VERAGLeistungsNr_DT = SQL.loadDgvBySql("SELECT [plp_LeistungsNr],plp_ProductCode FROM [tblPLOSE_Produktbeschreibung] where plp_ProductCode is not null and plp_Firma IN ('PSS','PU') ", "FMZOLL")
'Dim OffertenNr_DT = SQL.loadDgvBySql("SELECT KundenNr,OffertenNr FROM [Offerten] where OffertenNr = 80 ", "FMZOLL")
' Dim KundeLeistungsNr_DT = SQL.loadDgvBySql("SELECT [LeistungsNr],KundenNr FROM [Offertenpositionen] where OffertenNr = 80", "FMZOLL")
Dim VERAGKdNr = -1
Dim VERAGLeistungsNr = -1
Dim found = False
Dim results As DataRow()
Dim cnt = 0
For Each r As DataGridViewRow In MyDatagridview1.Rows
'KUNDEN-NR / PLOSE KD-NR
results = VERAGKdNr_DT.Select("PLOSEKundenNr = '" & r.Cells("plose_POLSEKundennummer").Value & "'")
If results.Length > 0 Then
'Gefunden!
r.Cells("VERAGKdNr").Value = results(0)("PLOSEKundenNr")
r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
VERAGKdNr = results(0)("AdressenNr")
found = True
Else
r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
pruefData_PLOSE = False
End If
'KUNDEN-NR / PLOSE KD-NR
'Default -> Nicht gefunden
'r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
'found = False
'For Each k In VERAGKdNr_DT.Rows
' If r.Cells("plose_POLSEKundennummer").Value = k("PLOSEKundenNr") Then
' 'Gefunden!
' r.Cells("VERAGKdNr").Value = k("PLOSEKundenNr")
' r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
' VERAGKdNr = k("AdressenNr")
' found = True
' Exit For
' End If
'Next
'If Not found Then pruefData_PLOSE = False
'VERAG/PLOSE LEISTUNG
results = VERAGLeistungsNr_DT.Select("plp_ProductCode = '" & r.Cells("plose_ProduktCode").Value & "' AND plp_LeistungsNr is not null")
If results.Length > 0 Then
'Gefunden!
VERAGLeistungsNr = results(0)("plp_LeistungsNr")
r.Cells("VERAGLeistungsNr").Value = results(0)("plp_LeistungsNr")
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.MintCream
found = True
Else
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.PapayaWhip
pruefData_PLOSE = False
End If
'VERAG OFFERT 80
'Default -> Nicht gefunden
Dim OffertenNr_DT = SQL.loadDgvBySql("SELECT KundenNr,OffertenNr FROM [Offerten] where OffertenNr = 80 AND KundenNr = '" & VERAGKdNr & "'", "FMZOLL")
results = OffertenNr_DT.Select("KundenNr = '" & VERAGKdNr & "'")
If results.Length > 0 Then
'Gefunden!
r.Cells("KundeOffertenNr").Value = results(0)("OffertenNr")
r.Cells("KundeOffertenNr").Style.BackColor = Color.MintCream
Else
pruefData_PLOSE = False
r.Cells("KundeOffertenNr").Style.BackColor = Color.PapayaWhip
End If
'VERAG LEISTUNGS-NR
'Default -> Nicht gefunden
Dim KundeLeistungsNr_DT = SQL.loadDgvBySql("SELECT [LeistungsNr],KundenNr FROM [Offertenpositionen] where OffertenNr = 80 AND KundenNr = '" & VERAGKdNr & "' AND LeistungsNr = '" & VERAGLeistungsNr & "'", "FMZOLL")
results = KundeLeistungsNr_DT.Select("KundenNr = '" & VERAGKdNr & "' AND LeistungsNr = '" & VERAGLeistungsNr & "'")
If results.Length > 0 Then
'Gefunden!
r.Cells("KundeLeistungsNr").Value = VERAGLeistungsNr
r.Cells("KundeLeistungsNr").Style.BackColor = Color.MintCream
Else
r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
pruefData_PLOSE = False
End If
If cnt Mod 5 = 0 Then
lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %"
lblProzPruef.Refresh()
Me.Refresh()
End If
cnt += 1
Next
lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %" '100
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
pruefData_PLOSE = False
End Try
End Function
Function pruefData_ASFINAG() As Boolean
pruefData_ASFINAG = True
Try
' Dim dtAsfinagKartenpruef As DataTable = SQL.loadDgvBySql("
' SELECT dbo.TTRBody.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.CLFArchiv
' RIGHT OUTER JOIN dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.InfoField
'LEFT OUTER JOIN dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode
' LEFT JOIN [VERAG].[dbo].[Kreditkarten] on dbo.TTRBody.CardNumber = Kreditkarten.KartenNr
' WHERE (dbo.TTRBody.PKHistory = 0) AND (dbo.TTRBody.PKFileName LIKE N'" & checkifTestfiles() & ".%')" & SQLAbrechnungsparameter &
' "GROUP BY dbo.TTRBody.CardNumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr
' HAVING dbo.TTRBody.CardNumber is null or (dbo.TTRBody.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 dbo.TTRBody.CardNumber", "ASFINAG")
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")
Dim VERAGKdNr = -1
Dim VERAGLeistungsNr = -1
Dim found = False
Dim results As DataRow()
Dim cnt = 0
For Each r As DataGridViewRow In MyDatagridview1.Rows
'KUNDEN-NR / PLOSE KD-NR
'results = dtAsfinagKartenpruef.Select("PLOSEKundenNr = '" & r.Cells("plose_POLSEKundennummer").Value & "'")
'If results.Length > 0 Then
' 'Gefunden!
' 'r.Cells("VERAGKdNr").Value = results(0)("PLOSEKundenNr")
' 'r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
' VERAGKdNr = results(0)("AdressenNr")
' found = True
'Else
' r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
' pruefData_ASFINAG = False
'End If
'KUNDEN-NR / PLOSE KD-NR
'Default -> Nicht gefunden
'r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
'found = False
'For Each k In VERAGKdNr_DT.Rows
' If r.Cells("plose_POLSEKundennummer").Value = k("PLOSEKundenNr") Then
' 'Gefunden!
' r.Cells("VERAGKdNr").Value = k("PLOSEKundenNr")
' r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
' VERAGKdNr = k("AdressenNr")
' found = True
' Exit For
' End If
'Next
'If Not found Then pruefData_PLOSE = False
'VERAG/PLOSE LEISTUNG
'results = VERAGLeistungsNr_DT.Select("plp_ProductCode = '" & r.Cells("plose_ProduktCode").Value & "' AND plp_LeistungsNr is not null")
'If results.Length > 0 Then
' 'Gefunden!
' VERAGLeistungsNr = results(0)("plp_LeistungsNr")
' r.Cells("VERAGLeistungsNr").Value = results(0)("plp_LeistungsNr")
' r.Cells("VERAGLeistungsNr").Style.BackColor = Color.MintCream
' found = True
'Else
' r.Cells("VERAGLeistungsNr").Style.BackColor = Color.PapayaWhip
' pruefData_ASFINAG = False
'End If
''VERAG OFFERT 80
''Default -> Nicht gefunden
'Dim OffertenNr_DT = SQL.loadDgvBySql("SELECT KundenNr,OffertenNr FROM [Offerten] where OffertenNr = 80 AND KundenNr = '" & VERAGKdNr & "'", "FMZOLL")
'results = OffertenNr_DT.Select("KundenNr = '" & VERAGKdNr & "'")
'If results.Length > 0 Then
' 'Gefunden!
' r.Cells("KundeOffertenNr").Value = results(0)("OffertenNr")
' r.Cells("KundeOffertenNr").Style.BackColor = Color.MintCream
'Else
' pruefData_ASFINAG = False
' r.Cells("KundeOffertenNr").Style.BackColor = Color.PapayaWhip
'End If
''VERAG LEISTUNGS-NR
''Default -> Nicht gefunden
'Dim KundeLeistungsNr_DT = SQL.loadDgvBySql("SELECT [LeistungsNr],KundenNr FROM [Offertenpositionen] where OffertenNr = 80 AND KundenNr = '" & VERAGKdNr & "' AND LeistungsNr = '" & VERAGLeistungsNr & "'", "FMZOLL")
'results = KundeLeistungsNr_DT.Select("KundenNr = '" & VERAGKdNr & "' AND LeistungsNr = '" & VERAGLeistungsNr & "'")
'If results.Length > 0 Then
' 'Gefunden!
' r.Cells("KundeLeistungsNr").Value = VERAGLeistungsNr
' r.Cells("KundeLeistungsNr").Style.BackColor = Color.MintCream
'Else
' r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
' pruefData_ASFINAG = False
'End If
'If cnt Mod 5 = 0 Then
' lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %"
' lblProzPruef.Refresh()
' Me.Refresh()
'End If
cnt += 1
Next
MyDatagridview1.ClearSelection()
MyDatagridview1.DataSource = dtAsfinagKartenpruef
Dim count = MyDatagridview1.Rows.Count()
If count > 0 Then
lblProzPruef.Text = CInt(cnt / count * 100) & " %" '100
Else
cbxASFINAGAbgerechnet.Checked = True
End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
pruefData_ASFINAG = False
End Try
End Function
Function pruefData_PLOSE_old() As Boolean
pruefData_PLOSE_old = True
Try
Dim cnt = 0
For Each r As DataGridViewRow In MyDatagridview1.Rows
Dim VERAGKdNr = SQL.getValueTxtBySql("SELECT TOP 1 AdressenNr FROM Adressen WHERE PLOSEKundenNr='" & r.Cells("plose_POLSEKundennummer").Value & "'", "FMZOLL")
If VERAGKdNr <> "" Then
r.Cells("VERAGKdNr").Value = VERAGKdNr
r.Cells("VERAGKdNr").Style.BackColor = Color.MintCream
Else
pruefData_PLOSE_old = False
r.Cells("VERAGKdNr").Style.BackColor = Color.PapayaWhip
End If
Dim VERAGLeistungsNr = SQL.getValueTxtBySql("SELECT TOP (1) [plp_LeistungsNr] FROM [tblPLOSE_Produktbeschreibung] where plp_ProductCode='" & r.Cells("plose_ProduktCode").Value & "' and plp_Firma IN ('PSS','PU') ", "FMZOLL")
If VERAGLeistungsNr <> "" Then
r.Cells("VERAGLeistungsNr").Value = VERAGLeistungsNr
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.MintCream
Else
pruefData_PLOSE_old = False
r.Cells("VERAGLeistungsNr").Style.BackColor = Color.PapayaWhip
End If
Dim OffertenNr = SQL.getValueTxtBySql("SELECT TOP 1 OffertenNr FROM [Offerten] where KundenNr='" & VERAGKdNr & "' AND OffertenNr = 80 ", "FMZOLL")
If OffertenNr <> "" Then
r.Cells("KundeOffertenNr").Value = OffertenNr
r.Cells("KundeOffertenNr").Style.BackColor = Color.MintCream
Else
pruefData_PLOSE_old = False
r.Cells("KundeOffertenNr").Style.BackColor = Color.PapayaWhip
End If
If VERAGLeistungsNr <> "" Then
Dim KundeLeistungsNr = SQL.getValueTxtBySql("SELECT TOP 1 [LeistungsNr] FROM [Offertenpositionen] where LeistungsNr='" & VERAGLeistungsNr & "' and KundenNr='" & VERAGKdNr & "' AND OffertenNr = 80", "FMZOLL")
If KundeLeistungsNr <> "" Then
r.Cells("KundeLeistungsNr").Value = VERAGLeistungsNr
r.Cells("KundeLeistungsNr").Style.BackColor = Color.MintCream
Else
pruefData_PLOSE_old = False
r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
End If
Else
pruefData_PLOSE_old = False
r.Cells("KundeLeistungsNr").Style.BackColor = Color.PapayaWhip
End If
If cnt Mod 5 = 0 Then
lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %"
lblProzPruef.Refresh()
Me.Refresh()
End If
cnt += 1
Next
lblProzPruef.Text = CInt(cnt / MyDatagridview1.Rows.Count() * 100) & " %" '100
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
pruefData_PLOSE_old = False
End Try
End Function
Private Sub MyDatagridview1_SelectionChanged(sender As Object, e As EventArgs) Handles MyDatagridview1.SelectionChanged
If MyDatagridview1.SelectedRows.Count > 0 Then
If MyDatagridview1.Columns("VERAGKdNr") IsNot Nothing Then
If MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value <> "" Then
btnKunde.Enabled = True
Else
btnKunde.Enabled = False
End If
End If
End If
End Sub
Private Sub btnKunde_Click(sender As Object, e As EventArgs) Handles btnKunde.Click
If MyDatagridview1.SelectedRows.Count > 0 Then
If MyDatagridview1.Columns("VERAGKdNr") IsNot Nothing Then
If MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value <> "" Then
cProgramFunctions.openKundenblatt(MyDatagridview1.SelectedRows(0).Cells("VERAGKdNr").Value, Me.FindForm)
End If
End If
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausgeführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then
MautD_Befuellen()
End If
End Sub
Function MautD_Befuellen(Optional kdNr = "") As Boolean
Select Case LIEFERANT
Case "PLOSE" : deleteMautD("PLOSE") : Return genPLOSEInsertMautD(dat_Sum_Von.Value.ToShortDateString, dat_Sum_Bis.Value.ToShortDateString)
Case "ASFINAG" : deleteMautD("AT") : Return genASFINAGInsertMautAT(kdNr)
End Select
Return False
End Function
Sub setFakturiertPLOSE()
PictureBox1.Visible = False
If SQL.doSQL("UPDATE tblPLOSE_Details SET plose_Fakturiert=1 WHERE plose_Fakturiert = 0 AND plose_DatumTransaktion between '" & dat_Sum_Von.Value.ToShortDateString & "' and '" & dat_Sum_Bis.Value.ToShortDateString & "' ", "FMZOLL") Then
PictureBox1.Visible = True
End If
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausgeführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then
Select Case LIEFERANT
Case "PLOSE" : setFakturiertPLOSE()
End Select
End If
End Sub
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Try
Dim connectionString = ""
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\DEVELOPER\f\FMZoll\MautD.accdb"
Else
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\FMZOLL.verag.ost.dmn\f\FMZoll\MautD.accdb"
End If
Dim con As New OleDbConnection(connectionString)
Dim cmd As New OleDbCommand
Dim var1 As String
Dim adapter As OleDbDataAdapter = New OleDbDataAdapter()
Dim reader As OleDbDataReader = Nothing
Dim ergebnis = ""
con.Open()
Try
'Zeitstempel
Dim SQLQuery = "SELECT COUNT(*) FROM tblMautbericht "
Using Command As New OleDbCommand(SQLQuery, con)
ergebnis = Command.ExecuteScalar
Command.Dispose()
End Using
Catch ex2 As System.Exception
MsgBox("err: " & ex2.Message & ex2.StackTrace)
Finally
If reader IsNot Nothing Then reader.Close()
End Try
con.Close()
MsgBox("Ergebnis: " & ergebnis)
Catch ex As System.Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
End Sub
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
initLieferant("UTA", sender)
End Sub
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
initLieferant("ASFINAG", sender)
End Sub
Private Function setFakturiert_ASFINAG() As Boolean
'Abrechnungsdatum setzen
If cbxASFINAGAbgerechnet.Checked = True Then
cbxASFINAGAbgerechnet.Checked = False
End If
If MyDatagridview1.Rows.Count = 0 Then
MsgBox("Keine Daten zum Abrechnen vorhanden!")
Return False
End If
Dim f As New frmDatumsabfrage()
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
datum = f.Datum
SQL.doSQL("DELETE FROM tblAsfinagMaut", "FMZOLL")
If SQL.doSQL("Update Abrechnungsdatum SET Abrechnungsdatum = '" & f.Datum.ToShortDateString & "'", "ASFINAG") Then
If SQL.doSQL("UPDATE dbo.TTRBody SET Abrechnungsdatum = '" & f.Datum.ToShortDateString & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <= '" & f.Datum.ToShortDateString & "') AND abrechnungsdatum IS NULL AND belegerstellungsdatum IS NULL", "ASFINAG") Then
Dim dt As DataTable = SQL.loadDgvBySql("Select dbo.TTRBody.OBUID, dbo.TTRBody.CardNumber, dbo.TTRBody.receiptNumber, dbo.TTRBody.VATAmount, dbo.TTRBody.amountInclVAT, dbo.TTRBody.DeliveryDate,dbo.TTRBody.abrechnungsdatum,dbo.TTRBody.belegerstellungsdatum, dbo.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate, dbo.TTRBody.InfoField, dbo.TTRBody.ProductCode, dbo.TTRBody.Town, dbo.TTRBody.PKFileName
From dbo.CLFArchiv
RIGHT OUTER Join dbo.TTRBody ON dbo.CLFArchiv.OBUID = dbo.TTRBody.OBUID
LEFT OUTER Join dbo.tblWarenarten ON dbo.TTRBody.ProductCode = dbo.tblWarenarten.ProductCode
Where (dbo.TTRBody.PKHistory = 0) And (dbo.TTRBody.PKFileName Like N'" & checkifTestfiles() & ".%') AND TTRBody.abrechnungsdatum = '" & f.Datum.ToShortDateString & "'
Order By dbo.TTRBody.CardNumber, dbo.TTRBody.FileCreationDate, dbo.TTRBody.PKHistory, dbo.TTRBody.PKFileName, dbo.TTRBody.PKLine", "ASFINAG")
If dt.Rows.Count = 0 Then
MsgBox("Es wurden keine Daten in tblAsfinagMaut geschrieben!")
Return False
End If
For Each row As DataRow In dt.Rows
Dim maut As New cAsfinagMaut()
maut.cardnumber = row.Item("CardNumber")
maut.licenceplate = IIf(Not IsDBNull(row.Item("vehicleLicensePlate")), row.Item("vehicleLicensePlate"), row.Item("InfoField"))
maut.turnoverdate = row.Item("DeliveryDate")
maut.contractPartner = "ASFINAG " & IIf(Not IsDBNull(row.Item("WarenartDE")), row.Item("WarenartDE"), "Product Code " & row.Item("ProductCode"))
maut.netAmount = CDbl(row.Item("amountInclVAT")) - CDbl(row.Item("VATAmount"))
maut.VATamount = CDbl(row.Item("VATAmount"))
maut.totalAmount = CDbl(row.Item("amountInclVAT"))
maut.additionalData = row.Item("Town") 'wird nicht mehr verwendet????
maut.receiptnumber = row.Item("receiptNumber")
maut.receiptCreated = IIf(IsDBNull(row.Item("belegerstellungsdatum")), False, True)
maut.SAVE()
Next
Dim pruefSumTTR = SQL.getValueTxtBySql("select sum(checksumAmounntInclVAT) from [ASFINAG].[dbo].[TTRTrailer] where PKHistory = 0 and [TTRTrailer].PKFileName in (select distinct([TTRBody].PKFileName) as Test from [ASFINAG].[dbo].[TTRBody] where (TTRBody.PKHistory = 0) And (TTRBody.PKFileName Like N'" & checkifTestfiles() & ".%') AND TTRBody.abrechnungsdatum = '" & f.Datum.ToShortDateString & "')", "FMZOLL")
If pruefSumTTR IsNot Nothing AndAlso IsNumeric(pruefSumTTR) Then
txtTTRSum.Text = CDbl(pruefSumTTR).ToString("C2")
lblTTRSum.Visible = True
txtTTRSum.Visible = True
Else
lblTTRSum.Visible = False
txtTTRSum.Visible = False
End If
MsgBox("Abrechnungsdatum gesetzt!")
End If
End If
cbxASFINAGAbgerechnet.Checked = True
'initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked)
End If
End Function
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles bntDatumzuruecksetzen.Click
If cbxASFINAGAbgerechnet.Checked = False Then
cbxASFINAGAbgerechnet.Checked = True
End If
If MyDatagridview1.Rows.Count = 0 Then
MsgBox("keine Daten zum zurücksetzen vorhanden!")
Exit Sub
End If
Dim datumDel = CDate(SQL.getValueTxtBySql("Select Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
If MsgBox("Möchten Sie das Abrechnungsdatum vom " & datumDel.ToShortDateString & " zurücksetzen?" & vbNewLine & "Nur für Transaktionen möglich, zu denen es noch keine Rechnung erstellt wurde!", vbYesNoCancel) = MsgBoxResult.Yes Then
If SQL.doSQL("UPDATE dbo.TTRBody Set Abrechnungsdatum = NULL WHERE Abrechnungsdatum = '" & datumDel & "' AND (PKHistory = 0) AND (PKFileName LIKE '%" & checkifTestfiles() & ".%') AND belegerstellungsdatum IS NULL", "ASFINAG") Then
If SQL.doSQL("DELETE FROM tblAsfinagMaut", "FMZOLL") Then
MsgBox("Abrechnungsdatum zurückgesetzt!")
End If
cbxASFINAGAbgerechnet.Checked = False
'initDgv_ASFINAG(cbxASFINAGNichtAbgerechnet.Checked)
End If
End If
End Sub
Private Function checkifTestfiles() As String
If cbxTestdaten.Checked Then
Return "TEPVGTTR"
Else
Return "LEPVGTTR"
End If
End Function
Private Sub cbxASFINAGabgerechnet_CheckedChanged(sender As Object, e As EventArgs) Handles cbxASFINAGAbgerechnet.CheckedChanged
If Me.LIEFERANT = "ASFINAG" Then
If Not cbxASFINAGAbgerechnet.Checked Then cbxBelegeerstellt.Checked = False
initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
End If
End Sub
Private Sub bntDatumsetzen_Click(sender As Object, e As EventArgs) Handles bntDatumsetzen.Click
setFakturiert_ASFINAG()
End Sub
Private Sub cbxBelegeerstellt_CheckedChanged(sender As Object, e As EventArgs) Handles cbxBelegeerstellt.CheckedChanged
If cbxBelegeerstellt.Checked Then
btnREerstellen.Enabled = False
bntDatumsetzen.Enabled = False
bntDatumzuruecksetzen.Enabled = False
Else
btnREerstellen.Enabled = True
bntDatumsetzen.Enabled = True
bntDatumzuruecksetzen.Enabled = True
End If
End Sub
End Class