From 3b16e3db2e36e6f46e7e347fde65f22c9b200190 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Mon, 24 Mar 2025 16:47:21 +0100 Subject: [PATCH] ustva nummerierung, ustcnlFakt. --- SDL/USTV/frmMDM_USTVAntrag.vb | 81 +++++++++++++++++++++++--- SDL/seriendruck/usrCntlFakturierung.vb | 2 +- 2 files changed, 73 insertions(+), 10 deletions(-) diff --git a/SDL/USTV/frmMDM_USTVAntrag.vb b/SDL/USTV/frmMDM_USTVAntrag.vb index a61aced5..5f9050b9 100644 --- a/SDL/USTV/frmMDM_USTVAntrag.vb +++ b/SDL/USTV/frmMDM_USTVAntrag.vb @@ -1643,7 +1643,7 @@ Public Class frmMDM_USTVAntrag Dim pdf As String = "" - pdf = getPDF(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_SchnittstellenNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReDat").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value) + pdf = getPDF(dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_SchnittstellenNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReNr").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_ReDat").Value, dgvUSTVPositionen.Rows(e.RowIndex).Cells("UStVPo_daId").Value, False) If IO.File.Exists(pdf) Then @@ -1787,18 +1787,21 @@ Public Class frmMDM_USTVAntrag Dim list As New List(Of String) If dgvUSTVPositionen.SelectedRows.Count > 0 Then + Dim nummerierung As Boolean = False + nummerierung = MsgBox("Soll eine Nummerierung auf den PDF Dokumenten angegeben werden?", vbYesNoCancel) + For Each row As DataGridViewRow In dgvUSTVPositionen.SelectedRows.Cast(Of DataGridViewRow)().OrderBy(Function(dgvr) dgvr.Index) - Dim pdf As String = "" - pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value) + Dim pdf As String = "" + pdf = getPDF(row.Cells("UStVPo_SchnittstellenNr").Value, row.Cells("UStVPo_ReNr").Value, row.Cells("UStVPo_ReDat").Value, row.Cells("UStVPo_daId").Value, IIf(nummerierung, row.Cells("UStVPo_ID").Value, -1)) If pdf <> "" Then list.Add(pdf) - Next - End If + Next + End If - If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub + If list.Count = 0 Then Me.Cursor = Cursors.Default : Exit Sub If list.Count > 1 Then Dim pathPDF = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("RG_" & Now.ToString("ddMMyyyyHHmmss") & ".pdf", ".pdf", False, False) @@ -1840,7 +1843,7 @@ Public Class frmMDM_USTVAntrag End Sub - Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId) As String + Private Function getPDF(schnittstellenNr, ReNr, ReDat, daId, nummierung) As String Dim schnnittstellenNr = schnittstellenNr @@ -1855,6 +1858,17 @@ Public Class frmMDM_USTVAntrag If dsID < 0 Then Return "" + 'Anschfrift nummerierung: + Dim x = 200 + Dim y = 10 + Dim width = 300 + Dim height = 10 + Dim mSize = 10 + Dim mFont = "" + + + + Select Case schnnittstellenNr Case 1 If dsID > 0 Then @@ -1862,7 +1876,27 @@ Public Class frmMDM_USTVAntrag Dim path As String cFakturierung.doRechnungsDruck_SRorER(dsID,, False, 4, path) - Return path + If nummierung > 0 Then + + Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path) + + Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager + Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues) + + For page As Integer = 1 To pdfReader.NumberOfPages + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page)) + Next + + pdfReader.Close() + + Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(path, listTowrite, , , , ,) + Return PdfTmp + + Else + Return path + End If + + End If Case 8 @@ -1914,6 +1948,11 @@ Public Class frmMDM_USTVAntrag End If + If nummierung > 0 Then + Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues) + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page)) + End If + Next srcDoc.Close() @@ -1930,7 +1969,31 @@ Public Class frmMDM_USTVAntrag If dsID > 0 Then Me.Cursor = Cursors.WaitCursor Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID) - Return DS.GET_TOP1_PATH + If nummierung > 0 Then + + Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(DS.GET_TOP1_PATH) + + Dim fm As New VERAG_PROG_ALLGEMEIN.cFormularManager + Dim listTowrite As New List(Of VERAG_PROG_ALLGEMEIN.cPDFWriteValues) + + For page As Integer = 1 To pdfReader.NumberOfPages + listTowrite.Add(New VERAG_PROG_ALLGEMEIN.cPDFWriteValues(nummierung, x, y, width, height, mFont, mSize, , itextsharp.text.Element.ALIGN_LEFT, page)) + Next + + pdfReader.Close() + + Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,) + Return PdfTmp + + Else + + + + Return DS.GET_TOP1_PATH + End If + + + End If End Select diff --git a/SDL/seriendruck/usrCntlFakturierung.vb b/SDL/seriendruck/usrCntlFakturierung.vb index f9f974b5..83e5e4b7 100644 --- a/SDL/seriendruck/usrCntlFakturierung.vb +++ b/SDL/seriendruck/usrCntlFakturierung.vb @@ -1579,7 +1579,7 @@ Public Class usrcntlFakturierung End If - Dim sqlCSV = "SELECT VermittlerKundenNr FROM Rechnungsausgang + 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 "