MDM abrechnung, etc.

This commit is contained in:
2025-01-22 11:23:00 +01:00
parent a1ee39be7a
commit 5c83a1649a
7 changed files with 256 additions and 120 deletions

View File

@@ -85,15 +85,17 @@ Public Class usrCntlMDMAuswertungen
PathMautberichte = (New SQL).getValueTxtBySql("SELECT TOP 1 [Param_value] FROM [tblPartnersystem_Paramter] WHERE Param_system='GESAMTMAUT' AND [Param_name]='ANLAGE_PFAD' AND Param_testsystem = " & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, 1, 0), "FMZOLL")
Dim count = 0
Dim countCSV = 0
Dim countPDF = 0
If Directory.Exists(PathMautberichte) Then
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.ToString.ToLower.EndsWith("_maut.csv") Or f.ToString.ToLower.EndsWith("_maut.pdf") Then count += 1
If f.ToString.ToLower.EndsWith("_maut.csv") Then countCSV += 1
If f.ToString.ToLower.EndsWith("_maut.pdf") Then countPDF += 1
Next
End If
End If
lblAnzahlMautberichte.Text = count & "x Mautberichte"
lblAnzahlMautberichte.Text = countCSV + countPDF & "x Mautberichte (" & countCSV & "x CSV " & countPDF & "x PDF )"
End Sub
@@ -1147,7 +1149,7 @@ Public Class usrCntlMDMAuswertungen
End If
'Druckinformationen
If Not setStatus4(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) Then
If Not setStatus2(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) Then
MsgBox("Fehler beim Setzen der Druckinformationen")
Else
MsgBox("Erledigt.")
@@ -1683,12 +1685,10 @@ Public Class usrCntlMDMAuswertungen
End Function
Private Function setStatus4(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable) As Boolean
Private Function setStatus2(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable) As Boolean
Dim cnt = 0
'strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit)
'Return (New SQL).doSQL("UPDATE [Rechnungsausgang] SET [Status] = 4 WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL")
Dim reIsSet As Boolean = False
If dtSammelRechnugen.Rows.Count > 0 Then
For Each re In dtSammelRechnugen.Rows
@@ -2254,6 +2254,10 @@ Public Class usrCntlMDMAuswertungen
If distinctDT_PDF.Rows.Count > 1 Then
For Each pdf As DataRow In distinctDT_PDF.Rows
'If pdf.Item(0) = 401026 Then
' MsgBox("Test")
'End If
Dim dt_PDF_selected = dtBerichtkunden_PDF.Select("[Customer No] ='" & pdf.Item(0) & "'").CopyToDataTable
createPDFMautbericht(pdf.Item(0), dt_PDF_selected, cbxDateMautbericht._value, PathMautberichte)
@@ -2271,15 +2275,17 @@ Public Class usrCntlMDMAuswertungen
End Select
Dim count = 0
Dim countCSV = 0
Dim countPDF = 0
If Directory.Exists(PathMautberichte) Then
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
For Each f In Directory.GetFiles(PathMautberichte)
If f.ToString.ToLower.EndsWith("_maut.csv") Or f.ToString.ToLower.EndsWith("_maut.pdf") Then count += 1
If f.ToString.ToLower.EndsWith("_maut.csv") Then countCSV += 1
If f.ToString.ToLower.EndsWith("_maut.pdf") Then countPDF += 1
Next
End If
End If
lblAnzahlMautberichte.Text = count & "x Mautberichte"
lblAnzahlMautberichte.Text = countCSV + countPDF & "x Mautberichte (" & countCSV & "x CSV " & countPDF & "x PDF )"
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -2300,7 +2306,7 @@ Public Class usrCntlMDMAuswertungen
rpt.txtKunde.Text = kdnr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(kdnr).FullName
rpt.lblRgDatum.Text = anhangsdatum.ToShortDateString
rpt.GroupHeaderKz.DataField = "LicencePlateNumber"
rpt.GroupHeaderKz.DataField = "Licence Plate Number"
rpt.txtNettoKzSum.Visible = False
@@ -2451,7 +2457,7 @@ Public Class usrCntlMDMAuswertungen
Dim Sachbearbeiter = cboSachbearbeiter._value
Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text)
Dim rechnungsstatus As Integer = 2
If rechnungsdatum > Today() Then
MsgBox("Rechnungsdatum liegt in der Zukunft, nicht möglich")
Exit Sub
@@ -2488,7 +2494,7 @@ Public Class usrCntlMDMAuswertungen
Dim SQLString = "SELECT [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status]
FROM Rechnungsausgang
WHERE [Status] = 2 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND RechnungsKundenNr = " & kdnr, "") & "
WHERE [Status] = " & rechnungsstatus & " AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null " & IIf(kdnr > 0, " AND RechnungsKundenNr = " & kdnr, "") & "
group by [Firma_ID], RechnungsNr,Buchungsjahr,DruckDatumZeit,[Status]
ORDER BY [Firma_ID], [Status], RechnungsNr"
@@ -2534,9 +2540,94 @@ Public Class usrCntlMDMAuswertungen
lblPloseAnh_Proz.Text = "100.00 %"
Process.Start(pathPDF)
If cbxRechnungsjournaldrucken.Checked Then
Dim dtRechnungsjournal As DataTable = (New SQL).loadDgvBySql("SELECT
Rechnungsausgang.Währungscode,
Rechnungsausgang.RechnungsLandKz,
Rechnungsausgang.RechnungsNr,
Rechnungsausgang.RechnungsDatum,
MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale,
MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr,
MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
MAX(Rechnungsausgang.Abfertigungsdatum) AS Abfertigungsdatum,
SUM(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerGesamtbetrag,
SUM(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierGesamtbetrag,
MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %],
Rechnungsausgang.Status,
Rechnungsausgang.DruckDatumZeit,
Rechnungsausgang.Sachbearbeiter
FROM
Rechnungsausgang
INNER JOIN
Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr
INNER JOIN
RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
WHERE
[Status] = " & rechnungsstatus & " AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null
GROUP BY
Rechnungsausgang.Buchungsjahr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.RechnungsLandKz,
Rechnungsausgang.RechnungsNr,
Rechnungsausgang.RechnungsDatum,
Rechnungsausgang.Status,
Rechnungsausgang.DruckDatumZeit,
Rechnungsausgang.Sachbearbeiter
ORDER BY
Rechnungsausgang.Buchungsjahr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.RechnungsLandKz,
Rechnungsausgang.RechnungsNr", "FMZOLL")
cProgramFunctions.genExcelFromDT_NEW(dtRechnungsjournal, {"J1:J" & (dtRechnungsjournal.Rows.Count + 1), "K1:K" & (dtRechnungsjournal.Rows.Count + 1), "L1:L" & (dtRechnungsjournal.Rows.Count + 1)},, "RECHNUNGSJOURNAL VOM" & rechnungsdatum.ToShortDateString,,, True)
End If
If cbxAbfVerbotdrucken.Checked Then
Dim dtEbfertigungsverbot As DataTable = (New SQL).loadDgvBySql("SELECT
Rechnungsausgang.Buchungsjahr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.RechnungsNr,
Rechnungsausgang.RechnungsDatum,
MIN(Rechnungsausgang.KundenNrZentrale) AS KundenNrZentrale,
MIN(Rechnungsausgang.RechnungsKundenNr) AS RechnungsKundenNr,
MIN(Rechnungsausgang.[RechnungsName 1]) AS [RechnungsName 1],
MAX(Rechnungsausgang.Abfertigungsdatum) AS Abfertigungsdatum,
SUM(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS SteuerpflichtigerGesamtbetrag,
SUM(RechnungsausgangPositionen.SteuerfreierBetrag) AS SteuerfreierGesamtbetrag,
MIN(Rechnungsausgang.[Steuersatz %]) AS [Steuersatz %],
Rechnungsausgang.Status,
Rechnungsausgang.DruckDatumZeit,
Rechnungsausgang.Sachbearbeiter
FROM
Rechnungsausgang
INNER JOIN
Filialen ON Rechnungsausgang.FilialenNr = Filialen.FilialenNr
INNER JOIN
Kunden ON Rechnungsausgang.RechnungsKundenNr = Kunden.KundenNr
INNER JOIN
RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
WHERE
Kunden.Abfertigungsverbot = 1 AND [Status] = " & rechnungsstatus & " AND Rechnungsausgang.[Sammelrechnung] = 6 AND UPPER(Rechnungsausgang.[Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "' and RechnungsNr is not null
GROUP BY
Rechnungsausgang.Buchungsjahr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.RechnungsNr,
Rechnungsausgang.RechnungsDatum,
Rechnungsausgang.Status,
Rechnungsausgang.DruckDatumZeit,
Rechnungsausgang.Sachbearbeiter
ORDER BY
Rechnungsausgang.Buchungsjahr,
Rechnungsausgang.Währungscode,
Rechnungsausgang.RechnungsNr;", "FMZOLL")
cProgramFunctions.genExcelFromDT_NEW(dtEbfertigungsverbot, {"I1:I" & (dtEbfertigungsverbot.Rows.Count + 1), "J1:J" & (dtEbfertigungsverbot.Rows.Count + 1), "K1:K" & (dtEbfertigungsverbot.Rows.Count + 1)},, "RECHNUNGEN VOM " & rechnungsdatum.ToShortDateString & " MIT ABFERTIGUNGSVERBOT",,, True)
End If
Else
MsgBox("Datei von " & rechnungsdatum.ToShortDateString & " konnte nicht erstellt werden!")
MsgBox("Datei von " & rechnungsdatum.ToShortDateString & " konnte nicht erstellt werden!")
End If