From e38010fd79a6f433639fbf5cb3cec0a800e3b205 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Fri, 11 Sep 2026 16:10:18 +0200 Subject: [PATCH] =?UTF-8?q?div.=20=C3=84nderungen,=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DAKOSY_Worker/cZOLL_IMPORT.vb | 2 +- MDM_Worker/cPLOSE_Inv_Data.vb | 4 +- .../frmMDMNachrichtenVerarbeitung.vb | 73 +++++++++++++------ .../frmNachrichtenVerarbeitung_MDM_divers.vb | 13 ++-- initATLASAufschubkonten/frmStartOptions.vb | 14 ++-- 5 files changed, 70 insertions(+), 36 deletions(-) diff --git a/DAKOSY_Worker/cZOLL_IMPORT.vb b/DAKOSY_Worker/cZOLL_IMPORT.vb index fde7ffc..19f2510 100644 --- a/DAKOSY_Worker/cZOLL_IMPORT.vb +++ b/DAKOSY_Worker/cZOLL_IMPORT.vb @@ -1847,7 +1847,7 @@ Public Class cZOLL_IMPORT End If ' Qualitäts-CRN --> Tabelle zsAnmGdsItemDocCerts lesen. - Dim DTzsAnmGdsQ As DataTable = KDSQL.loadDgvBySql("Select distinct(DRef) DRef FROM [zsAnmGdsItemDocCerts] WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & " AND DocCd IN ('N002' ,'7246') )", EZOLL_SQL) + Dim DTzsAnmGdsQ As DataTable = KDSQL.loadDgvBySql("Select distinct(DRef) DRef FROM [zsAnmGdsItemDocCerts] WHERE (LizenzNr = '" & DR_zsAnmRefs.Item("LizenzNr") & "') And (OperatorID = " & DR_zsAnmRefs.Item("OperatorID") & ") And (VorgangID = '" & DR_zsAnmRefs.Item("VorgangID") & "') And (AnmID = " & DR_zsAnmRefs.Item("AnmID") & " AND DocCd IN ('N002' ,'7246', '7240') )", EZOLL_SQL) If DTzsAnmGdsQ IsNot Nothing AndAlso DTzsAnmGdsQ.Rows().Count > 0 Then If Not IsNull(DTzsAnmGdsQ.Rows(0).Item("DRef")) Then SPEDITIONSBUCH.QKN = DTzsAnmGdsQ.Rows(0).Item("DRef") End If diff --git a/MDM_Worker/cPLOSE_Inv_Data.vb b/MDM_Worker/cPLOSE_Inv_Data.vb index cc612f9..196d854 100644 --- a/MDM_Worker/cPLOSE_Inv_Data.vb +++ b/MDM_Worker/cPLOSE_Inv_Data.vb @@ -434,7 +434,7 @@ Public Class cPLOSE_Inv_Data End If If dt IsNot Nothing Then - Dim SQLstr = "Select [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" + Dim SQLstr = "Select plInv_SupplierCountry as Land, [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierCountry,plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL") dt_missingInvoices = dt Return dt.Rows.Count @@ -443,7 +443,7 @@ Public Class cPLOSE_Inv_Data If getDetailsInDatatable Then - Dim SQLstr = "Select [plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" + Dim SQLstr = "Select plInv_SupplierCountry as Land ,[plInv_SupplierRechnungsNr] As RechnungsNr,plInv_SupplierRechnungsDatum As Rechnungsdatum,Adressen.AdressenNr,Adressen.[Name 1] As Kunde, kde_keineMWSt As keineMWST from [tblPLOSE_Inv_Data] INNER JOIN Adressen On [plInv_PLOSEKundennummer]=Adressen.PLOSEKundenNr INNER JOIN tblKundenErweitert On AdressenNr = kde_KundenNr where [plInv_daId] Is null and Left([plInv_SupplierRechnungsNr],2) <> 'NO' " & sqlTime & sqlAdressenNr & " group by plInv_SupplierCountry,plInv_SupplierRechnungsNr, Adressen.AdressenNr, Adressen.[Name 1], plInv_SupplierRechnungsDatum, kde_keineMWSt" dt_missingInvoices = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL") Return dt_missingInvoices.Rows.Count diff --git a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb index e16ac41..b52b30a 100644 --- a/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb +++ b/initATLASAufschubkonten/frmMDMNachrichtenVerarbeitung.vb @@ -1,4 +1,5 @@ -Imports System.IO +Imports System.Globalization +Imports System.IO Imports System.Net Imports System.Text Imports System.Text.RegularExpressions @@ -854,7 +855,7 @@ Public Class frmMDMNachrichtenVerarbeitung End If If currentRow.Length > 24 AndAlso currentRow(0) <> "839160" Then 'KDNR <> VERAG --> Die Kosten bleiben uns - Dim PLOSE As New MDM_Worker.cPLOSE + Dim PLOSE As New MDM_Worker.cPLOSE PLOSE.plose_Dateiname = fi.Name PLOSE.plose_RechnungsNr = plose_RechnungsNr @@ -903,15 +904,24 @@ Public Class frmMDMNachrichtenVerarbeitung PLOSE.plose_Preis = CDbl(SQL.isNullReturnValue(currentRow(26), 0).replace(".", ",")) PLOSE.Einheitsrabatt = SQL.isleernothing(0) 'gibts nicht mehr?? in neuer Datei! - PLOSE.plose_NettobetragTransaktion = CDbl(SQL.isNullReturnValue(currentRow(27), 0).replace(".", ",")) - PLOSE.plose_MWSTBetrag = CDbl(CDbl(SQL.isNullReturnValue(currentRow(29), 0).replace(".", ",")) - CDbl(SQL.isNullReturnValue(currentRow(27), 0).replace(".", ","))) 'selbst ausrechnen!!! - PLOSE.plose_BruttobetragTransaktion = CDbl(SQL.isNullReturnValue(currentRow(29), 0).replace(".", ",")) - PLOSE.plose_NettobetragWaehrungAbbuchung = CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ",")) - PLOSE.plose_MWSTBetragWaehrungAbbuchung = CDbl(CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ",")) - CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ","))) 'selbst ausrechnen!!! - PLOSE.plose_BruttobetragWaehrungAbbuchung = CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ",")) - PLOSE.plose_WaehrungLandDiesntleistung = SQL.isleernothing(currentRow(25)) - PLOSE.plose_WaehrungAbbuchung = SQL.isleernothing(currentRow(30)) - PLOSE.plose_ProduktCode = SQL.isleernothing(currentRow(21)) + + Dim wertMitMwst As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(29), 0)) + Dim wertOhneMwst As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(27), 0)) + PLOSE.plose_NettobetragTransaktion = wertOhneMwst + PLOSE.plose_MWSTBetrag = Math.Round(wertMitMwst - wertOhneMwst, 2) ' selbst ausrechnen!!! (MwSt-Betrag = Differenz zwischen Spalte 29 und Spalte 27) + PLOSE.plose_BruttobetragTransaktion = wertMitMwst + + Dim wertAbbuchung As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(32), 0)) + Dim wertBasis As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(31), 0)) + + PLOSE.plose_NettobetragWaehrungAbbuchung = wertBasis + PLOSE.plose_MWSTBetragWaehrungAbbuchung = Math.Round(wertAbbuchung - wertBasis, 2) + + 'PLOSE.plose_MWSTBetragWaehrungAbbuchung = Math.Round(CDbl(CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ",")) - CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ","))), 2) 'selbst ausrechnen!!! + PLOSE.plose_BruttobetragWaehrungAbbuchung = wertAbbuchung + PLOSE.plose_WaehrungLandDiesntleistung = SQL.isleernothing(currentRow(25)) + PLOSE.plose_WaehrungAbbuchung = SQL.isleernothing(currentRow(30)) + PLOSE.plose_ProduktCode = SQL.isleernothing(currentRow(21)) 'PLOSE.plose_ProduktbeschreibungShort = SQL.isleernothing(currentRow(22)) PLOSE.plose_KlassenidentifikationEURO = SQL.isleernothing(currentRow(39)) PLOSE.plose_Fahrzeugklasse = SQL.isleernothing(currentRow(40)) @@ -929,19 +939,19 @@ Public Class frmMDMNachrichtenVerarbeitung End If If If(PLOSE.plose_SupplierRechnungsNr, "").contains("-SFC-") Then ' SOFICO - PLOSE.plose_LieferantCode = "90" - PLOSE.plose_Lieferant = SQL.DLookup("pl_Bezeichnung", "tblPLOSE_Lieferant", " [pl_LieferantCode]='" & PLOSE.plose_LieferantCode & "' ", "FMZOLL", "") - End If - - '''''''''''' - If PLOSE.SAVE() Then - savedTrans += 1 - End If - - counTrans += 1 - + PLOSE.plose_LieferantCode = "90" + PLOSE.plose_Lieferant = SQL.DLookup("pl_Bezeichnung", "tblPLOSE_Lieferant", " [pl_LieferantCode]='" & PLOSE.plose_LieferantCode & "' ", "FMZOLL", "") End If + '''''''''''' + If PLOSE.SAVE() Then + savedTrans += 1 + End If + + counTrans += 1 + + End If + cnt += 1 @@ -991,6 +1001,25 @@ Public Class frmMDMNachrichtenVerarbeitung End Try End Function + Private Function ParseInvariantDouble(value As Object) As Double + If value Is Nothing OrElse value Is DBNull.Value Then + Return 0 + End If + + Dim strValue As String = value.ToString().Trim() + + If String.IsNullOrEmpty(strValue) Then + Return 0 + End If + + Dim result As Double + If Double.TryParse(strValue, NumberStyles.Any, CultureInfo.InvariantCulture, result) Then + Return result + Else + Return 0 + End If + End Function + Function readPLOSE_Header(d As String) As String Try diff --git a/initATLASAufschubkonten/frmNachrichtenVerarbeitung_MDM_divers.vb b/initATLASAufschubkonten/frmNachrichtenVerarbeitung_MDM_divers.vb index a72416a..8a280a6 100644 --- a/initATLASAufschubkonten/frmNachrichtenVerarbeitung_MDM_divers.vb +++ b/initATLASAufschubkonten/frmNachrichtenVerarbeitung_MDM_divers.vb @@ -4,6 +4,7 @@ Imports System.Text Imports System.Text.RegularExpressions Imports System.Web Imports System.Xml +Imports com.sun.org.apache.bcel.internal.generic Imports Renci.SshNet Imports Renci.SshNet.Sftp Imports VERAG_PROG_ALLGEMEIN @@ -921,14 +922,16 @@ Public Class frmNachrichtenVerarbeitung_MDM_divers Dim parsedDate As DateTime = DateTime.ParseExact(invoiceDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture) invoiceDate = parsedDate.ToString("dd.MM.yyyy") + + SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "', daIdgesetztDatum = getdate() where [Rechnungsnummer_pro_Lieferland] = '" & invoiceNr & "' AND cast(Rechnungsdatum as Date) = '" & invoiceDate & "' AND Kundennummer =" & Kundenummer & " and Lieferland_ISO2 ='" & Rechnungsland & "' and daId is null", "FMZOLL") - ' If SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "' where [Rechnungsnummer_pro_Lieferland] = '" & invoiceNr & "' AND cast(Rechnungsdatum as Date) = '" & invoiceDate & "' AND Kundennummer =" & Kundenummer & " and Abrechnungsnummer =" & r.Item("Abrechnungsnummer") & " and daId is null ", "FMZOLL") Then - ' frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") - ' cntDatenEingelesen += 1 - ' End If - End If + ' If SQL.doSQL("Update [tblUTAImportNew] SET [daId]='" & DS.da_id & "' where [Rechnungsnummer_pro_Lieferland] = '" & invoiceNr & "' AND cast(Rechnungsdatum as Date) = '" & invoiceDate & "' AND Kundennummer =" & Kundenummer & " and Abrechnungsnummer =" & r.Item("Abrechnungsnummer") & " and daId is null ", "FMZOLL") Then + ' frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\") + ' cntDatenEingelesen += 1 + ' End If + End If Catch ex As System.Exception diff --git a/initATLASAufschubkonten/frmStartOptions.vb b/initATLASAufschubkonten/frmStartOptions.vb index 5a3c7cd..ee6c923 100644 --- a/initATLASAufschubkonten/frmStartOptions.vb +++ b/initATLASAufschubkonten/frmStartOptions.vb @@ -7667,7 +7667,7 @@ repeatRequest: If dtRechnnungsdaten.Rows.Count > 0 Then dt_falscheEintraege.Columns.Add("daid", GetType(Integer)) - dt_falscheEintraege.Columns.Add("id", GetType(Integer)) + dt_falscheEintraege.Columns.Add("ustva_id", GetType(Integer)) dt_falscheEintraege.Columns.Add("pos", GetType(Integer)) dt_falscheEintraege.Columns.Add("pos_new", GetType(Integer)) dt_falscheEintraege.Columns.Add("posAfterDaId", GetType(Integer)) @@ -7690,7 +7690,7 @@ repeatRequest: If Not cUSTVA.hasEntry Then Dim ROW As DataRow = dt_falscheEintraege.NewRow - ROW("id") = ID + ROW("ustva_id") = ID ROW("pos") = -1 ROW("daid") = r.Item("da_id") @@ -7716,7 +7716,7 @@ repeatRequest: ElseIf Not cUSTVA_POS.hasEntry Then Dim ROW As DataRow = dt_falscheEintraege.NewRow - ROW("id") = ID + ROW("ustva_id") = ID ROW("pos") = POS ROW("daid") = r.Item("da_id") @@ -7747,7 +7747,7 @@ repeatRequest: If cUSTVA_POS.UStVPo_Zeitstempel > CDate(r.Item("da_date")) Then Dim ROW As DataRow = dt_falscheEintraege.NewRow - ROW("id") = ID + ROW("ustva_id") = ID ROW("pos") = POS ROW("daid") = r.Item("da_id") ROW("posAfterDaId") = 1 @@ -8646,10 +8646,12 @@ repeatRequest: Dim bestellung As New cEssensbestellung(row("KW"), row("ID")) bestellung.eb_gesendet = True bestellung.eb_gesendet_am = Now + bestellung.eb_gesendetVon = "AUTO" + If IsDBNull(bestellung.eb_gesendetFirst_am) Then bestellung.eb_gesendetFirst_am = Now() bestellung.SAVE() - End If + End If - End If + End If Next