FaktMail, MDM-Vollmachten, MDM-Auswertung

This commit is contained in:
2025-01-14 18:21:58 +01:00
parent 8616ce1735
commit 481ab094de
17 changed files with 989 additions and 147 deletions

View File

@@ -5,13 +5,13 @@ Imports System.Windows.Documents
Imports com.sun.org.apache.xml.internal.resolver
Imports com.sun.tools.internal.ws.wsdl.framework
Imports DocumentFormat.OpenXml.Office2010.Drawing.Charts
Imports iTextSharp.text.pdf
Imports iTextSharp.text.pdf.parser
Imports itextsharp.text.pdf
Imports itextsharp.text.pdf.parser
Imports java.text.Normalizer
Imports jdk.nashorn.internal.objects.annotations
'Imports DocumentFormat.OpenXml.Drawing.Charts
Imports Microsoft.Office.Interop
Imports Org.BouncyCastle.Pqc.Crypto
Imports org.BouncyCastle.Pqc.Crypto
Imports sun.swing
Imports VERAG_PROG_ALLGEMEIN
@@ -610,13 +610,13 @@ Public Class frmMDM_USTVAntrag
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
USTV_POS.UStVPo_Zeitstempel = Now()
USTV_POS.UStVPo_daId = ANTRAG.plose_daId
' Berechnungen
If Not MWSTSummenAusBeleg Then
USTV_POS.UStVPo_USteuerbetragEUR = ANTRAG.plose_MWSTBetragWaehrungAbbuchung 'VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ANTRAG.plose_MWSTBetragWaehrungAbbuchung, USTV_ANTRAG.UStVAn_Währungscode, "EUR")
'USTV_POS.UStVPo_Umrechnungskurs = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuroKurs(ANTRAG.plose_WaehrungAbbuchung, ANTRAG.plose_RechnungsDatum)
USTV_POS.UStVPo_USteuerbetragEUR = ANTRAG.plose_MWSTBetragWaehrungAbbuchung
USTV_POS.UStVPo_Umrechnungskurs = ANTRAG.plose_MWSTBetrag / ANTRAG.plose_MWSTBetragWaehrungAbbuchung
USTV_POS.UStVPo_USteuerbetrag = ANTRAG.plose_MWSTBetrag
' MsgBox(ANTRAG.plose_Lieferant & " - " & ANTRAG.plose_RechnungsDatum & " - " & ANTRAG.plose_RechnungsNr & " :::::::::: " & CDbl(ANTRAG.plose_MWSTBetrag).ToString("C2"))
Else
'TODO - hier Umrechnungslogik von FRMDW und EUR und EUR/FRMDWR für Belegsebene
Dim umrechKurs As Double = 1
@@ -642,12 +642,12 @@ Public Class frmMDM_USTVAntrag
End If
If (UST_org > 0 AndAlso UST_org <> UST_EUR) Then
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
End If
If UST_org > 0 Then
If UST_org <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = UST_org
@@ -657,12 +657,15 @@ Public Class frmMDM_USTVAntrag
End If
USTV_POS.INSERT()
If USTV_POS.INSERT() Then
MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID, USTV_POS.UStVPo_ReNr, True)
End If
End If
Next
'Einträge als archivert setzen ' vormals wichtig
MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID)
'MDM_Worker.cPLOSE.UPDATE_ARCHIV(USTV_ANTRAG.UStVAn_ReDatVon, USTV_ANTRAG.UStVAn_ReDatBis, USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_ID)
End If
Return True
@@ -773,6 +776,7 @@ Public Class frmMDM_USTVAntrag
Shared Function loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
Try
Dim bytSchnittstellenNr = 7
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
@@ -816,7 +820,7 @@ Public Class frmMDM_USTVAntrag
End If
If CDbl(r.Item("rmc_betragMWST")) > 0 Then
If CDbl(r.Item("rmc_betragMWST")) <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2)
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
@@ -874,7 +878,7 @@ Public Class frmMDM_USTVAntrag
Dim UST_EUR = CDbl(r.Item("UST_EUR"))
Dim UST_org = CDbl(r.Item("UST"))
If (UST_EUR > 0 AndAlso UST_org > 0 AndAlso UST_org <> UST_EUR) Then
If (UST_EUR <> 0 AndAlso UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
'umrechKurs = UST_org / UST_EUR
@@ -882,7 +886,7 @@ Public Class frmMDM_USTVAntrag
End If
If UST_org > 0 Then
If UST_org <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR 'Math.Round((UST_org / umrechKurs), 2)
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = UST_org
@@ -943,14 +947,14 @@ Public Class frmMDM_USTVAntrag
Dim UST_EUR = CDbl(r.Item("Umsatzsteuerbetrag_in_Darstellwährung")) 'ist immer EUR
If (UST_org > 0 AndAlso UST_org <> UST_EUR) Then
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
End If
If UST_org > 0 Then
If UST_org <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = UST_org
@@ -1016,12 +1020,12 @@ Public Class frmMDM_USTVAntrag
UST_org = Math.Round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
End If
If (UST_org > 0 AndAlso UST_org <> UST_EUR) Then
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
End If
If UST_org > 0 Then
If UST_org <> 0 Then
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
USTV_POS.UStVPo_USteuerbetrag = UST_org
@@ -1311,7 +1315,7 @@ Public Class frmMDM_USTVAntrag
From [tblPLOSE_Details] INNER Join Adressen On PLOSEKundenNr=plose_POLSEKundennummer
INNER Join [tblPLOSE_Produktbeschreibung] ON [plp_ProductCode]=[plose_ProduktCode]
WHERE cast(plose_RechnungsDatum As Date) = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat & "' And AdressenNr=" & USTV_ANTRAG.UStVAn_KuNr & " AND plose_RechnungsNr = '" & UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr & "'
And plose_LieferantCode IN (0,1,7) "
And plose_LieferantCode IN (0,1,7,9) "
If Not test Then updated = SQL.doSQL(sqlText, "FMZOLL")
@@ -1521,11 +1525,11 @@ Public Class frmMDM_USTVAntrag
Try
Dim fi As New System.IO.DirectoryInfo(path_src)
Dim pdfReader As iTextSharp.text.pdf.PdfReader = New iTextSharp.text.pdf.PdfReader(path_src)
Dim pdfReader As itextsharp.text.pdf.PdfReader = New itextsharp.text.pdf.PdfReader(path_src)
Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi.Name, fi.Extension,, True, "IDS-Rechnungen")
Dim srcDoc As New iTextSharp.text.Document()
Dim PdfCopyProvider As New iTextSharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create))
Dim srcDoc As New itextsharp.text.Document()
Dim PdfCopyProvider As New itextsharp.text.pdf.PdfCopy(srcDoc, New FileStream(TMP_Path_New, System.IO.FileMode.Create))
PdfCopyProvider.SetFullCompression()
srcDoc.Open()
PdfReader.unethicalreading = True
@@ -1536,7 +1540,7 @@ Public Class frmMDM_USTVAntrag
Dim strategy As ITextExtractionStrategy = New SimpleTextExtractionStrategy()
Dim currentpagetext As String = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy)
Dim searchtext As String = ReNr
Dim impPage As iTextSharp.text.pdf.PdfImportedPage = Nothing
Dim impPage As itextsharp.text.pdf.PdfImportedPage = Nothing
If (currentpagetext.Contains(searchtext)) Then
@@ -1549,7 +1553,7 @@ Public Class frmMDM_USTVAntrag
impPage = PdfCopyProvider.GetImportedPage(pdfReader, page)
' ----- Ermitteln der Seitenauflösung und setzen für die neue Seite
PdfCopyProvider.SetPageSize(New iTextSharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page)))
PdfCopyProvider.SetPageSize(New itextsharp.text.Rectangle(0.0F, 0.0F, impPage.Width, impPage.Height, pdfReader.GetPageRotation(page)))
' ----- PDF Seite in das neue Dokument einfügen
If impPage IsNot Nothing Then PdfCopyProvider.AddPage(impPage)
Catch ex As Exception