Mailversand, Abrechnung, Kundenblatt, MDMEinarbeitung, etc.

This commit is contained in:
2025-10-08 09:28:13 +02:00
parent 8d1829625e
commit 3a02ac894a
14 changed files with 242 additions and 108 deletions

View File

@@ -1,11 +1,11 @@

Imports com.sun.xml.internal.rngom
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports System.IO
Imports System.Windows.Forms
Public Class cMDMFunctionsAllgemein
Public Shared ploseAlteLogikSchnittstelle As Boolean = False
@@ -993,14 +993,43 @@ Public Class cMDMFunctionsAllgemein
If dsID > 0 Then
'Me.Cursor = Cursors.WaitCursor
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER(dsID)
Dim PathList As New List(Of String)
Dim zielPfadZusammenfassung As String
Dim merged As Boolean = False
If DS.DATA_LIST.coll_daId > 0 Then
For Each L As cDatenarchiv_Collection In DS.DATA_LIST.LIST
If L.coll_pfad <> "" Then PathList.Add(L.coll_pfad)
Next
Else
Dim PathTemp As String = DS.GET_TOP1_PATH
If PathTemp <> "" Then PathList.Add(PathTemp)
End If
If PathList.Count > 1 Then
zielPfadZusammenfassung = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("Merged_" & DS.da_KundenNr & ".pdf", ".pdf",, False, "Zusammenfassung")
Dim fm_new As New VERAG_PROG_ALLGEMEIN.cFormularManager
fm_new.mergePDFs(PathList, zielPfadZusammenfassung)
merged = True
End If
Dim Path As String = IIf(zielPfadZusammenfassung <> "" AndAlso merged, zielPfadZusammenfassung, If(PathList.Any(), PathList.First(), ""))
If nummierung > 0 Then
'wenn PDF nicht beschreibbar, dann mittels Stamp!
If PDFisProtected Then
If Path = "" Then Return Path
Dim tempPathNew = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(DS.da_name & "_modified", ".pdf", True, False, "USTVA")
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(Path)
PdfReader.unethicalreading = True
Dim fs = New FileStream(tempPathNew, FileMode.Create, FileAccess.Write, FileShare.None)
@@ -1013,7 +1042,7 @@ Public Class cMDMFunctionsAllgemein
canvas.BeginText()
'The origin (0,0) is at the bottom-left corner of the page and represent coordinates in points!!!!!
Dim _height = pdfReader.GetPageSizeWithRotation(page).GetTop(25) 'oberer Rand
Dim _height = pdfReader.GetPageSizeWithRotation(page).GetTop(20) 'oberer Rand
Dim _width = pdfReader.GetPageSizeWithRotation(page).GetRight(0) / 2 'Mitte
'Workaround!
@@ -1035,8 +1064,9 @@ Public Class cMDMFunctionsAllgemein
Else
If Path = "" Then Return Path
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(DS.GET_TOP1_PATH)
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)
@@ -1047,7 +1077,7 @@ Public Class cMDMFunctionsAllgemein
pdfReader.Close()
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(DS.GET_TOP1_PATH, listTowrite, , , , ,)
Dim PdfTmp = fm.fillPDFVorhandenesLokalesPDF_Path(IIf(zielPfadZusammenfassung <> "" AndAlso merged, zielPfadZusammenfassung, PathList.First), listTowrite, , , , ,)
Return PdfTmp
End If
@@ -1055,7 +1085,7 @@ Public Class cMDMFunctionsAllgemein
Else
Return DS.GET_TOP1_PATH
Return Path
End If
@@ -1083,25 +1113,25 @@ Public Class cMDMFunctionsAllgemein
LEFT JOIN [tblUStVLeistender] as leist
ON ([tblUStVPositionen].[UStVPo_LeistenderId] > 0
AND leist.[UStV_LeistenderId] = [tblUStVPositionen].[UStVPo_LeistenderId])
OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0
AND leist.[UStV_Leistender] = [tblUStVPositionen].[UStVPo_Leistender])
OR ([tblUStVPositionen].[UStVPo_LeistenderId] <= 0
AND leist.[UStV_Leistender]= [tblUStVPositionen].[UStVPo_Leistender])
where UStVAn_ID=" & USTV_ANTRAG.UStVAn_ID & sqlWHere & " ORDER BY UStVPo_ID"
Dim dtNew As DataTable = sql.loadDgvBySql(StringSQL, "FMZOLL")
Dim dtNew As DataTable = sql.loadDgvBySql(StringSQL, " FMZOLL")
If dtNew IsNot Nothing AndAlso dtNew.Rows.Count > 0 Then
If type = "excel" Then
If type = " excel" Then
Dim sumVAT As Double = 0
For Each row In dtNew.Rows
If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then sumVAT += CDbl(row("Amount of tax refund"))
If Not IsDBNull(row("Amount of tax refund")) AndAlso IsNumeric(row("Amount of tax refund")) Then row("Amount of tax refund") = CDbl(row("Amount of tax refund"))
If Not IsDBNull(row("Name of supplier")) AndAlso row("Name of supplier") <> "" AndAlso Not IsDBNull(row("VAT")) AndAlso row("VAT") <> "" Then
If Not IsDBNull(row(" Amount of tax refund")) AndAlso IsNumeric(row(" Amount of tax refund")) Then sumVAT += CDbl(row(" Amount of tax refund"))
If Not IsDBNull(row(" Amount of tax refund")) AndAlso IsNumeric(row(" Amount of tax refund")) Then row(" Amount of tax refund") = CDbl(row(" Amount of tax refund"))
If Not IsDBNull(row(" Name of supplier")) AndAlso row(" Name of supplier") <> "" AndAlso Not IsDBNull(row("VAT")) AndAlso row("VAT") <> "" Then
row("Name of supplier") = row("Name of supplier").ToString.Replace(" " & row("VAT").ToString.Substring(0, 2), "")
End If
Next