Asfinag, Mitarbeiter, UID-Prüfung, Rechnugssuche, Fiskalkunde, Kundenübersicht, div. Auswertungen für Asfinag

This commit is contained in:
2023-12-01 15:27:11 +01:00
parent ebf43c0366
commit 8f394d11fd
23 changed files with 1228 additions and 237 deletions

View File

@@ -2,6 +2,8 @@
Imports System.IO
Imports com.sun.jdi
Imports DAKOSY_Worker.NichtAbschliessendeFestsetzung
Imports sun.nio.cs.ext
Imports VERAG_PROG_ALLGEMEIN
Public Class frmMDMDatenverarbetiung
@@ -11,6 +13,7 @@ Public Class frmMDMDatenverarbetiung
' 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
@@ -71,8 +74,8 @@ Public Class frmMDMDatenverarbetiung
btnDatenLaden.Text = "Daten laden"
Case "UTA" : initDgv_UTA()
btnDatenLaden.Text = "Daten laden"
Case "ASFINAG" : initDgv_ASFINAG(Not cbxNichtabgerechnet.Checked)
btnDatenLaden.Text = "Mautdaten laden"
Case "ASFINAG" : initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked)
btnDatenLaden.Text = "Mautdaten einlesen"
End Select
End Sub
@@ -92,6 +95,7 @@ Public Class frmMDMDatenverarbetiung
'End If
End If
Case "ASFINAG"
MsgBox("Funktion nicht implementiert")
End Select
End Sub
@@ -197,14 +201,15 @@ Public Class frmMDMDatenverarbetiung
Dim displayFilter = False
Dim sqlstr As String = ""
If datum = Nothing Then Exit Sub
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
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_Abrechnungsdaten.Value.ToShortDateString & "')
WHERE (dbo.TTRBody.PKHistory = 0) AND (dbo.TTRBody.PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (TTRBody.abrechnungsdatum = '" & datum.ToShortDateString & "')
ORDER BY dbo.TTRBody.CardNumber"
@@ -230,7 +235,7 @@ Public Class frmMDMDatenverarbetiung
Dim sum = 0
rpt.lblUeberschrift.Text = "ASFINAG Summenbericht " & CDate(Datum_Abrechnungsdaten.Value.ToShortDateString)
rpt.lblUeberschrift.Text = "ASFINAG Summenbericht " & CDate(datum.ToShortDateString)
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
@@ -457,8 +462,8 @@ Public Class frmMDMDatenverarbetiung
Sub initDgv_ASFINAG(abgerechnet As Boolean)
dat_Sum_Von.Value = CDate(SQL.getValueTxtBySql("SELECT Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
Dim sqlString = "AND (TTRBody.abrechnungsdatum " & IIf(abgerechnet, "= '" & Datum_Abrechnungsdaten.Value.ToShortDateString & "')", "is null)")
'datum = CDate(SQL.getValueTxtBySql("SELECT Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
Dim sqlString = "AND (TTRBody.abrechnungsdatum " & IIf(abgerechnet, "is not null)", "is null)")
With MyDatagridview1
.Columns.Clear()
'MsgBox(.sql)
@@ -1711,21 +1716,24 @@ Public Class frmMDMDatenverarbetiung
pruefData_ASFINAG = True
Try
Dim SQLAbrechnungsparameter = ""
If MsgBox("Prüfung auf Inkonsistenz der Kartennummern mit Abrechnungsdatum vom " & Datum_Abrechnungsdaten.Value.ToShortDateString & " ?", vbYesNoCancel) = MsgBoxResult.Ok Then
SQLAbrechnungsparameter = " AND (TTRBody.abrechnungsdatum = '" & Datum_Abrechnungsdaten.Value.ToShortDateString & "') "
End If
' 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 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")
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
@@ -2008,38 +2016,79 @@ Public Class frmMDMDatenverarbetiung
initLieferant("ASFINAG", sender)
End Sub
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
If CDate(Datum_Abrechnungsdaten.Value) <= Today.AddDays(1) Then
If MsgBox("Möchten Sie das Abrechnungsdatum auf " & Datum_Abrechnungsdaten.Value.ToShortDateString & " setzen?", vbYesNoCancel) = MsgBoxResult.Yes Then
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles bntDatumsetzen.Click
'Abrechnungsdatum setzen
'SQL.doSQL("DELETE * from tblAsfinagMaut", "FMZOLL")
SQL.doSQL("Update Abrechnungsdatum SET Abrechnungsdatum = '" & Datum_Abrechnungsdaten.Value.ToShortDateString & "'", "ASFINAG")
If SQL.doSQL("UPDATE dbo.TTRBody SET Abrechnungsdatum = '" & Datum_Abrechnungsdaten.Value.ToShortDateString & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <= '" & Datum_Abrechnungsdaten.Value.ToShortDateString & "') AND (abrechnungsdatum IS NULL)", "ASFINAG") Then MsgBox("Abrechnungsdatum gesetzt!")
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM tblAsfinagMaut", "FMZOLL")
initDgv_ASFINAG(Not cbxNichtabgerechnet.Checked)
End If
Else
MsgBox("Datum muss kleiner/gleich Tagesdatum sein")
If cbxASFINAGNichtAbgerechnet.Checked = False Then
cbxASFINAGNichtAbgerechnet.Checked = True
End If
If MyDatagridview1.Rows.Count = 0 Then
MsgBox("keine Daten zum abrechnen vorhanden!")
Exit Sub
End If
Dim f As New frmDatumsabfrage()
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
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)", "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.abrechnungsdatum, dbo.tblWarenarten.WarenartDE, dbo.CLFArchiv.vehicleLicensePlate, dbo.TTRBody.InfoField, dbo.TTRBody.ProductCode, dbo.TTRBody.Town
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!")
Exit Sub
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("abrechnungsdatum")
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.SAVE()
Next
MsgBox("Abrechnungsdatum gesetzt!")
End If
End If
cbxASFINAGNichtAbgerechnet.Checked = False
'initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked)
End If
End Sub
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
If CDate(Datum_Abrechnungsdaten.Value) <= Today.AddDays(1) Then
If MsgBox("Möchten Sie das Abrechnungsdatum vom " & Datum_Abrechnungsdaten.Value.ToShortDateString & "zurücksetzen?", vbYesNoCancel) = MsgBoxResult.Ok Then
If SQL.doSQL("UPDATE dbo.TTRBody SET Abrechnungsdatum = 'NULL' WHERE Abrechnungsdatum = '" & Datum_Abrechnungsdaten.Value.ToShortDateString & "' AND (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%')", "ASFINAG") Then MsgBox("Abrechnungsdatum zurückgesetzt!")
End If
Else
MsgBox("Datum muss kleiner/gleich Tagesdatum sein")
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles bntDatumzuruecksetzen.Click
If cbxASFINAGNichtAbgerechnet.Checked = True Then
cbxASFINAGNichtAbgerechnet.Checked = False
End If
End Sub
Private Sub Datum_Abrechnungsdaten_ValueChanged(sender As Object, e As EventArgs) Handles Datum_Abrechnungsdaten.ValueChanged
If Datum_Abrechnungsdaten IsNot Nothing Then
cbxNichtabgerechnet.Checked = False
If MyDatagridview1.Rows.Count = 0 Then
MsgBox("keine Daten zum zurücksetzen vorhanden!")
Exit Sub
End If
Dim datum = CDate(SQL.getValueTxtBySql("Select Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG"))
If MsgBox("Möchten Sie das Abrechnungsdatum vom " & datum.ToShortDateString & " zurücksetzen?", vbYesNoCancel) = MsgBoxResult.Yes Then
If SQL.doSQL("UPDATE dbo.TTRBody Set Abrechnungsdatum = NULL WHERE Abrechnungsdatum = '" & datum & "' AND (PKHistory = 0) AND (PKFileName LIKE '%" & checkifTestfiles() & ".%')", "ASFINAG") Then
MsgBox("Abrechnungsdatum zurückgesetzt!")
cbxASFINAGNichtAbgerechnet.Checked = True
'initDgv_ASFINAG(cbxASFINAGNichtAbgerechnet.Checked)
End If
End If
End Sub
Private Function checkifTestfiles() As String
@@ -2054,5 +2103,7 @@ Public Class frmMDMDatenverarbetiung
End Function
Private Sub cbxASFINAGNichtAbgerechnet_CheckedChanged(sender As Object, e As EventArgs) Handles cbxASFINAGNichtAbgerechnet.CheckedChanged
If Me.LIEFERANT = "ASFINAG" Then initDgv_ASFINAG(Not cbxASFINAGNichtAbgerechnet.Checked)
End Sub
End Class