div. Änderungen, etc.

This commit is contained in:
2026-09-11 16:10:18 +02:00
parent 438bd8ef15
commit e38010fd79
5 changed files with 70 additions and 36 deletions

View File

@@ -1847,7 +1847,7 @@ Public Class cZOLL_IMPORT
End If End If
' Qualitäts-CRN --> Tabelle zsAnmGdsItemDocCerts lesen. ' 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 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") If Not IsNull(DTzsAnmGdsQ.Rows(0).Item("DRef")) Then SPEDITIONSBUCH.QKN = DTzsAnmGdsQ.Rows(0).Item("DRef")
End If End If

View File

@@ -434,7 +434,7 @@ Public Class cPLOSE_Inv_Data
End If End If
If dt IsNot Nothing Then 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 = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
dt_missingInvoices = dt dt_missingInvoices = dt
Return dt.Rows.Count Return dt.Rows.Count
@@ -443,7 +443,7 @@ Public Class cPLOSE_Inv_Data
If getDetailsInDatatable Then 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") dt_missingInvoices = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
Return dt_missingInvoices.Rows.Count Return dt_missingInvoices.Rows.Count

View File

@@ -1,4 +1,5 @@
Imports System.IO Imports System.Globalization
Imports System.IO
Imports System.Net Imports System.Net
Imports System.Text Imports System.Text
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
@@ -854,7 +855,7 @@ Public Class frmMDMNachrichtenVerarbeitung
End If End If
If currentRow.Length > 24 AndAlso currentRow(0) <> "839160" Then 'KDNR <> VERAG --> Die Kosten bleiben uns 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_Dateiname = fi.Name
PLOSE.plose_RechnungsNr = plose_RechnungsNr PLOSE.plose_RechnungsNr = plose_RechnungsNr
@@ -903,15 +904,24 @@ Public Class frmMDMNachrichtenVerarbeitung
PLOSE.plose_Preis = CDbl(SQL.isNullReturnValue(currentRow(26), 0).replace(".", ",")) PLOSE.plose_Preis = CDbl(SQL.isNullReturnValue(currentRow(26), 0).replace(".", ","))
PLOSE.Einheitsrabatt = SQL.isleernothing(0) 'gibts nicht mehr?? in neuer Datei! 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!!! Dim wertMitMwst As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(29), 0))
PLOSE.plose_BruttobetragTransaktion = CDbl(SQL.isNullReturnValue(currentRow(29), 0).replace(".", ",")) Dim wertOhneMwst As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(27), 0))
PLOSE.plose_NettobetragWaehrungAbbuchung = CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ",")) PLOSE.plose_NettobetragTransaktion = wertOhneMwst
PLOSE.plose_MWSTBetragWaehrungAbbuchung = CDbl(CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ",")) - CDbl(SQL.isNullReturnValue(currentRow(31), 0).replace(".", ","))) 'selbst ausrechnen!!! PLOSE.plose_MWSTBetrag = Math.Round(wertMitMwst - wertOhneMwst, 2) ' selbst ausrechnen!!! (MwSt-Betrag = Differenz zwischen Spalte 29 und Spalte 27)
PLOSE.plose_BruttobetragWaehrungAbbuchung = CDbl(SQL.isNullReturnValue(currentRow(32), 0).replace(".", ",")) PLOSE.plose_BruttobetragTransaktion = wertMitMwst
PLOSE.plose_WaehrungLandDiesntleistung = SQL.isleernothing(currentRow(25))
PLOSE.plose_WaehrungAbbuchung = SQL.isleernothing(currentRow(30)) Dim wertAbbuchung As Double = ParseInvariantDouble(SQL.isNullReturnValue(currentRow(32), 0))
PLOSE.plose_ProduktCode = SQL.isleernothing(currentRow(21)) 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_ProduktbeschreibungShort = SQL.isleernothing(currentRow(22))
PLOSE.plose_KlassenidentifikationEURO = SQL.isleernothing(currentRow(39)) PLOSE.plose_KlassenidentifikationEURO = SQL.isleernothing(currentRow(39))
PLOSE.plose_Fahrzeugklasse = SQL.isleernothing(currentRow(40)) PLOSE.plose_Fahrzeugklasse = SQL.isleernothing(currentRow(40))
@@ -929,19 +939,19 @@ Public Class frmMDMNachrichtenVerarbeitung
End If End If
If If(PLOSE.plose_SupplierRechnungsNr, "").contains("-SFC-") Then ' SOFICO If If(PLOSE.plose_SupplierRechnungsNr, "").contains("-SFC-") Then ' SOFICO
PLOSE.plose_LieferantCode = "90" PLOSE.plose_LieferantCode = "90"
PLOSE.plose_Lieferant = SQL.DLookup("pl_Bezeichnung", "tblPLOSE_Lieferant", " [pl_LieferantCode]='" & PLOSE.plose_LieferantCode & "' ", "FMZOLL", "") 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 End If
''''''''''''
If PLOSE.SAVE() Then
savedTrans += 1
End If
counTrans += 1
End If
cnt += 1 cnt += 1
@@ -991,6 +1001,25 @@ Public Class frmMDMNachrichtenVerarbeitung
End Try End Try
End Function 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 Function readPLOSE_Header(d As String) As String
Try Try

View File

@@ -4,6 +4,7 @@ Imports System.Text
Imports System.Text.RegularExpressions Imports System.Text.RegularExpressions
Imports System.Web Imports System.Web
Imports System.Xml Imports System.Xml
Imports com.sun.org.apache.bcel.internal.generic
Imports Renci.SshNet Imports Renci.SshNet
Imports Renci.SshNet.Sftp Imports Renci.SshNet.Sftp
Imports VERAG_PROG_ALLGEMEIN 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) Dim parsedDate As DateTime = DateTime.ParseExact(invoiceDate, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture)
invoiceDate = parsedDate.ToString("dd.MM.yyyy") 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") 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 ' 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") & "\") ' frmStartOptions.moveFile_DateBack(d, zielpfad & "Invoice_PDF\" & Now.Year & "\" & Now.ToString("yyyyMMdd") & "\")
' cntDatenEingelesen += 1 ' cntDatenEingelesen += 1
' End If ' End If
End If End If
Catch ex As System.Exception Catch ex As System.Exception

View File

@@ -7667,7 +7667,7 @@ repeatRequest:
If dtRechnnungsdaten.Rows.Count > 0 Then If dtRechnnungsdaten.Rows.Count > 0 Then
dt_falscheEintraege.Columns.Add("daid", GetType(Integer)) 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", GetType(Integer))
dt_falscheEintraege.Columns.Add("pos_new", GetType(Integer)) dt_falscheEintraege.Columns.Add("pos_new", GetType(Integer))
dt_falscheEintraege.Columns.Add("posAfterDaId", GetType(Integer)) dt_falscheEintraege.Columns.Add("posAfterDaId", GetType(Integer))
@@ -7690,7 +7690,7 @@ repeatRequest:
If Not cUSTVA.hasEntry Then If Not cUSTVA.hasEntry Then
Dim ROW As DataRow = dt_falscheEintraege.NewRow Dim ROW As DataRow = dt_falscheEintraege.NewRow
ROW("id") = ID ROW("ustva_id") = ID
ROW("pos") = -1 ROW("pos") = -1
ROW("daid") = r.Item("da_id") ROW("daid") = r.Item("da_id")
@@ -7716,7 +7716,7 @@ repeatRequest:
ElseIf Not cUSTVA_POS.hasEntry Then ElseIf Not cUSTVA_POS.hasEntry Then
Dim ROW As DataRow = dt_falscheEintraege.NewRow Dim ROW As DataRow = dt_falscheEintraege.NewRow
ROW("id") = ID ROW("ustva_id") = ID
ROW("pos") = POS ROW("pos") = POS
ROW("daid") = r.Item("da_id") ROW("daid") = r.Item("da_id")
@@ -7747,7 +7747,7 @@ repeatRequest:
If cUSTVA_POS.UStVPo_Zeitstempel > CDate(r.Item("da_date")) Then If cUSTVA_POS.UStVPo_Zeitstempel > CDate(r.Item("da_date")) Then
Dim ROW As DataRow = dt_falscheEintraege.NewRow Dim ROW As DataRow = dt_falscheEintraege.NewRow
ROW("id") = ID ROW("ustva_id") = ID
ROW("pos") = POS ROW("pos") = POS
ROW("daid") = r.Item("da_id") ROW("daid") = r.Item("da_id")
ROW("posAfterDaId") = 1 ROW("posAfterDaId") = 1
@@ -8646,10 +8646,12 @@ repeatRequest:
Dim bestellung As New cEssensbestellung(row("KW"), row("ID")) Dim bestellung As New cEssensbestellung(row("KW"), row("ID"))
bestellung.eb_gesendet = True bestellung.eb_gesendet = True
bestellung.eb_gesendet_am = Now bestellung.eb_gesendet_am = Now
bestellung.eb_gesendetVon = "AUTO"
If IsDBNull(bestellung.eb_gesendetFirst_am) Then bestellung.eb_gesendetFirst_am = Now()
bestellung.SAVE() bestellung.SAVE()
End If End If
End If End If
Next Next