Asfinag_Rechnungsverarbeitung
This commit is contained in:
@@ -108,7 +108,10 @@ Public Class frmMDMDatenverarbetiung
|
||||
datum = SQL.getValueTxtBySql("select top (1) Abrechnungsdatum from Abrechnungsdatum", "ASFINAG")
|
||||
End If
|
||||
|
||||
genRGAtt_ASFINAG(abrechnungsDatum, datum)
|
||||
|
||||
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")
|
||||
|
||||
genRGAtt_ASFINAG(abrechnungsDatum, datum, inputKdNr)
|
||||
initDgv_ASFINAG(cbxASFINAGAbgerechnet.Checked, cbxBelegeerstellt.Checked)
|
||||
|
||||
End Select
|
||||
@@ -755,17 +758,22 @@ Public Class frmMDMDatenverarbetiung
|
||||
End Function
|
||||
|
||||
|
||||
Function genRGAtt_ASFINAG(belegerstellungsdatum As DateTime, abrechnungsdatum As Date) As Boolean
|
||||
Function genRGAtt_ASFINAG(belegerstellungsdatum As DateTime, abrechnungsdatum As Date, inputKdNr As String) As Boolean
|
||||
|
||||
If cbxASFINAGAbgerechnet.Checked = True Then
|
||||
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 Group by KundenNr, cardnumber ", "FMZOLL")
|
||||
|
||||
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 Daten!")
|
||||
MsgBox("Keine Abrechnungsdaten vorhanden" & IIf(inputKdNr <> "", " für KundenNr: " & inputKdNr, "!"))
|
||||
Return False
|
||||
End If
|
||||
|
||||
@@ -774,12 +782,12 @@ Public Class frmMDMDatenverarbetiung
|
||||
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 (Adressen.Rechnungsdruck)<>2", "FMZOLL")
|
||||
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
|
||||
WHERE Adressen.ASFINAGExportCSV = 1 " & sqlWhere & "
|
||||
ORDER BY Adressen.AdressenNr, Maut.cardnumber, Maut.licenceplate, Maut.turnoverdate", "FMZOLL")
|
||||
|
||||
Dim cnt = 0
|
||||
@@ -787,12 +795,19 @@ Public Class frmMDMDatenverarbetiung
|
||||
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("Es wurden " & MyDatagridview1.Rows.Count & " Transaktionen von " & dt_Main.Rows.Count & " Kunden gefunden " & vbNewLine & " Möchten Sie die Anhänge erstellen?", vbYesNoCancel) Then
|
||||
Dim dir = "C:\Users\d.breimaier\Desktop\Asfinag\Mautberichte" '"F:\FMZoll\Maut\AT\Anlagen\SDL"
|
||||
If vbYes = MsgBox(Info & vbNewLine & "Möchten Sie die Rechnungen + Anhänge erstellen?", vbYesNoCancel) Then
|
||||
Dim dir = "F:\FMZoll\Maut\AT\Anlagen" '"C:\Users\d.breimaier\Desktop\Asfinag\Mautberichte"
|
||||
|
||||
If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
|
||||
Directory.CreateDirectory(dir)
|
||||
'If Directory.Exists(dir) Then dir &= "_" & Now.ToShortTimeString.Replace(":", "")
|
||||
'Directory.CreateDirectory(dir)
|
||||
|
||||
If dt_Main_PDF IsNot Nothing AndAlso dt_Main_PDF.Rows.Count > 0 Then
|
||||
|
||||
@@ -835,6 +850,7 @@ Public Class frmMDMDatenverarbetiung
|
||||
clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ",") & ";"
|
||||
Next
|
||||
outFile.WriteLine(clmns)
|
||||
|
||||
Next
|
||||
outFile.Close()
|
||||
Next
|
||||
@@ -850,10 +866,20 @@ Public Class frmMDMDatenverarbetiung
|
||||
|
||||
If verarbOK Then
|
||||
|
||||
SQL.doSQL("UPDATE dbo.TTRBody SET belegerstellungsdatum = '" & belegerstellungsdatum & "' WHERE (PKHistory = 0) AND (PKFileName LIKE N'" & checkifTestfiles() & ".%') AND (FileCreationDate <= '" & belegerstellungsdatum & "') AND (abrechnungsdatum = '" & abrechnungsdatum & "')", "ASFINAG")
|
||||
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") & "", "FMZOLL")
|
||||
SQL.doSQL("UPDATE [tblAsfinagMaut] SET receiptCreated = 1 WHERE cardnumber = " & r.Item("cardnumber") & " AND receiptCreated = 0", "FMZOLL")
|
||||
Next
|
||||
End If
|
||||
|
||||
@@ -1457,7 +1483,6 @@ Public Class frmMDMDatenverarbetiung
|
||||
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)
|
||||
rpt.lblLand.Text = "AT"
|
||||
|
||||
Dim sumNetto As Double = 0
|
||||
Dim sumMWST As Double = 0
|
||||
@@ -1479,6 +1504,7 @@ Public Class frmMDMDatenverarbetiung
|
||||
' 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, "")
|
||||
@@ -2605,8 +2631,8 @@ Public Class frmMDMDatenverarbetiung
|
||||
Private Function setFakturiert_ASFINAG() As Boolean
|
||||
'Abrechnungsdatum setzen
|
||||
|
||||
If cbxASFINAGAbgerechnet.Checked = False Then
|
||||
cbxASFINAGAbgerechnet.Checked = True
|
||||
If cbxASFINAGAbgerechnet.Checked = True Then
|
||||
cbxASFINAGAbgerechnet.Checked = False
|
||||
End If
|
||||
|
||||
If MyDatagridview1.Rows.Count = 0 Then
|
||||
@@ -2659,8 +2685,8 @@ Public Class frmMDMDatenverarbetiung
|
||||
|
||||
|
||||
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles bntDatumzuruecksetzen.Click
|
||||
If cbxASFINAGAbgerechnet.Checked = True Then
|
||||
cbxASFINAGAbgerechnet.Checked = False
|
||||
If cbxASFINAGAbgerechnet.Checked = False Then
|
||||
cbxASFINAGAbgerechnet.Checked = True
|
||||
End If
|
||||
|
||||
If MyDatagridview1.Rows.Count = 0 Then
|
||||
@@ -2675,7 +2701,7 @@ Public Class frmMDMDatenverarbetiung
|
||||
If SQL.doSQL("DELETE FROM tblAsfinagMaut", "FMZOLL") Then
|
||||
MsgBox("Abrechnungsdatum zurückgesetzt!")
|
||||
End If
|
||||
cbxASFINAGAbgerechnet.Checked = True
|
||||
cbxASFINAGAbgerechnet.Checked = False
|
||||
|
||||
'initDgv_ASFINAG(cbxASFINAGNichtAbgerechnet.Checked)
|
||||
End If
|
||||
|
||||
Reference in New Issue
Block a user