ustva, fakturierung, etc.

This commit is contained in:
2025-02-26 16:32:15 +01:00
parent 99c1cd11a5
commit 55295180fd
3 changed files with 93 additions and 10 deletions

View File

@@ -5,6 +5,8 @@ Public Class usrcntlFakturierung
Dim FMZOLL_SQL As New FMZOLL_SQL
Dim PathMautberichte = ""
Dim countCSV As Integer = 0
Dim countPDF As Integer = 0
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnFakturierung.Click
Me.Cursor = Cursors.WaitCursor
@@ -605,7 +607,7 @@ Public Class usrcntlFakturierung
Private Function Bankspesen(Sachbearbeiter As String, rechnungsdatum As Date, Optional kdNr As Integer = -1)
Dim isSet As Boolean = False
Dim isSet As Boolean = True
Dim sqlBB = " Select Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift
From dbo.Rechnungsausgang
@@ -1234,7 +1236,7 @@ Public Class usrcntlFakturierung
Dim dt_PDF_selected = dtBerichtkunden_PDF.Select("[Customer No] ='" & pdf.Item(0) & "'").CopyToDataTable
Dim dtLaender As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], tblMautbericht.[Transaction Country], sum(tblMautbericht.[Net Amount]) as Netto, sum(tblMautbericht.[VAT Amount]) as MWST, sum(tblMautbericht.[Total Amount]) as Brutto
FROM tblMautbericht WHERE [Customer No] ='" & pdf.Item(0) & "'
FROM tblMautbericht WHERE [Customer No] ='" & pdf.Item(0) & "' AND Billingdate = '" & cbxDateMautbericht._value & "'
GROUP BY [Customer No], [Transaction Country]
ORDER BY tblMautbericht.[Customer No], tblMautbericht.[Transaction Country]", "FMZOLL")
@@ -1584,8 +1586,75 @@ Public Class usrcntlFakturierung
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf')", "FMZOLL",, 0)
MsgBox("Anzahl CSV-Anhänge: " & rechnungenMitGesamtmautanhantCSV & vbNewLine & "Anzahl PDF-Anhänge: " & rechnungenMitGesamtmautanhantPDF)
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
If Not Directory.GetFiles(PathMautberichte).Count = (countCSV + countPDF) Then Exit Sub
End If
Dim sqlCSV = "SELECT VermittlerKundenNr FROM Rechnungsausgang
inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.csv') order by VermittlerKundenNr "
Dim sqlPDF = "SELECT VermittlerKundenNr FROM Rechnungsausgang
inner join RechnungsausgangAnhaenge on Rechnungsausgang.RK_ID = RechnungsausgangAnhaenge.RK_ID
WHERE ([Status] = 0 or [Status] = 2 or [Status] = 4) AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
and (RechnungsausgangAnhaenge.Bezeichnung like '%Maut.pdf') order by VermittlerKundenNr "
Dim dtVorhandeneCSV As DataTable = (New SQL).loadDgvBySql(sqlCSV, "FMZOLL")
Dim dtVorhandenePDF As DataTable = (New SQL).loadDgvBySql(sqlPDF, "FMZOLL")
Dim dtMissing As New DataTable()
dtMissing.Columns.Add("name", GetType(String))
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.ToString.ToLower.EndsWith(".pdf") Then
Dim fileInfo As New FileInfo(f.ToString)
Dim KdNr As Integer = CInt(fileInfo.Name.ToString.Substring(0, 6))
If Not CheckValue(dtVorhandenePDF, Function(x) x("VermittlerKundenNr") = KdNr) Then
dtMissing.Rows.Add(fileInfo.Name)
End If
End If
If f.ToString.ToLower.EndsWith(".csv") Then
Dim fileInfo As New FileInfo(f.ToString)
Dim KdNr As Integer = CInt(fileInfo.Name.ToString.Substring(0, 6))
If Not CheckValue(dtVorhandeneCSV, Function(x) x("VermittlerKundenNr") = KdNr) Then
dtMissing.Rows.Add(fileInfo.Name)
End If
End If
Next
If dtMissing.Rows.Count > 0 Then
Dim b = New System.Text.StringBuilder()
For Each resultRow In dtMissing.Rows
b.Append(resultRow(0) & vbNewLine)
Next
MsgBox("Folgende Anhänge wurden NICHT an die Rechnung angehängt:" & vbNewLine & b.ToString)
End If
End If
End Sub
Private Sub dtRechnungsdatum_ValueChanged(sender As Object, e As EventArgs) Handles dtRechnungsdatum.ValueChanged
@@ -1797,4 +1866,12 @@ Public Class usrcntlFakturierung
End Sub
Shared Function CheckValue(myTable As DataTable, checkFunc As Func(Of DataRow, Boolean)) As Boolean
For Each row As DataRow In myTable.Rows
If checkFunc(row) Then Return True
Next
Return False
End Function
End Class