Compare commits

..

2 Commits

Author SHA1 Message Date
c1c1bf413f origInvoice 2025-11-18 17:06:58 +01:00
c92dcc855d OrigInvoice cRKSV, Kundebarb, etc. 2025-11-18 17:06:30 +01:00
2 changed files with 1067 additions and 842 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -7,6 +7,8 @@ Imports System.Text
Imports System.Threading Imports System.Threading
Imports System.Xml Imports System.Xml
Imports com.sun.crypto.provider Imports com.sun.crypto.provider
Imports com.sun.org.apache.bcel.internal.generic
Imports com.sun.xml.internal.rngom
Imports MDM_Worker Imports MDM_Worker
Imports Renci.SshNet Imports Renci.SshNet
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
@@ -6897,4 +6899,157 @@ repeatRequest:
Private Sub LinkLabel54_LinkClicked_1(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lblPlosefoppelteIMporte.LinkClicked Private Sub LinkLabel54_LinkClicked_1(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lblPlosefoppelteIMporte.LinkClicked
cPLOSE_Inv_Data.checkImport() cPLOSE_Inv_Data.checkImport()
End Sub End Sub
Private Sub lbl_setBackToCustomerIDS_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles lbl_setBackToCustomerIDS.LinkClicked, lblBackToCustomer_MSE.LinkClicked, lblBackToCustomer_PLOSE.LinkClicked, lblBackToCustomer_UTA.LinkClicked, lblBackToCustomer_RMC.LinkClicked
Dim dtkeineMWST As DataTable = (New SQL).loadDgvBySql("select Land, Erstattungsland, Lieferant from tblKeineMWSTErstattung", "FMZOLL")
Dim dtKundeMWST As DataTable = (New SQL).loadDgvBySql("select * from tblKundenMWST", "FMZOLL")
Dim Lieferant As String = ""
Select Case sender.Name
Case "lbl_setBackToCustomerIDS" : Lieferant = "IDS"
Case "lblBackToCustomer_MSE" : Lieferant = "MSE"
Case "lblBackToCustomer_PLOSE" : Lieferant = "PLOSE"
Case "lblBackToCustomer_UTA" : Lieferant = "UTA"
Case "lblBackToCustomer_RMC" : Lieferant = "RMC"
End Select
Dim sql_query = ""
Select Case Lieferant
Case "IDS"
sql_query = " select Adressen.AdressenNr as KundenNr, invoice_id, LandKz as KundenLandKz, VATAmount as MWST, Country as RELandKz FROM tblIDSInvoicesNewSplittedByCountry
inner join [VERAG].[dbo].[tbl_IDS_Kunden] on tblIDSInvoicesNewSplittedByCountry.CustomerCode = tbl_IDS_Kunden.CustomerCode
inner join Adressen on Adressen.AdressenNr = KdNrVERAG
WHERE tblIDSInvoicesNewSplittedByCountry.[CustomerCode] in (SELECT distinct([CustomerCode]) FROM [VERAG].[dbo].[tbl_IDS_Kunden]
WHERE 1 = 1 AND isnull([tbl_IDS_Kunden].KdNrAlt, 0) = 0) AND tblIDSInvoicesNewSplittedByCountry.InvToCustomer is null"
Case "MSE"
sql_query = " select partner_customer_number as KundenNr,invoice_id,LandKz as KundenLandKz, total_vat_amount_euro as MWST, country as RELandKz FROM tblMSEInvoices
inner join tblMSECustomers on customer_id = [customer_number]
inner join Adressen on Adressen.AdressenNr = partner_customer_number
where tblMSEInvoices.InvToCustomer is null and Year()"
Case "PLOSE"
sql_query = " select Adressen.AdressenNr as KundenNr, [plInv_Id] as invoice_id,LandKz as KundenLandKz ,[plInv_MWSTBetrag] as MWST, [plInv_SupplierCountry] as RELandKz FROM tblPLOSE_Inv_Data
inner join Adressen on Adressen.PLOSEKundenNr = plInv_PLOSEKundennummer
where plInv_InvToCustomer is null"
Case "UTA"
sql_query = " select Adressen.AdressenNr as KundenNr,[Rechnungsnummer_pro_Lieferland] as invoice_id,LandKz as KundenLandKz, SUM(Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) as MWSt,[Lieferland_ISO2] as RELandKz FROM [VERAG].[dbo].[tblUTAImportNew]
inner join adressen on Kundennummer = UTAKundenNr
where InvToCustomer is null
group by Adressen.AdressenNr,[Rechnungsnummer_pro_Lieferland],LandKz,[Lieferland_ISO2]"
Case "RMC"
sql_query = " select Adressen.AdressenNr as KundenNr,rmc_id as invoice_id,LandKz as KundenLandKz,[rmc_betragMWST] as MWST,rmc_landKZ as RELandKz
FROM [VERAG].[dbo].[tblRMCImport]
inner join Adressen on Adressen.WölflKundenNr = rmc_kdNr
where InvToCustomer is null"
End Select
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dtnichtGesetzteInvToCustomer As DataTable = SQL.loadDgvBySql(sql_query, "FMZOLL")
For Each r In dtnichtGesetzteInvToCustomer.Rows
'checks!
'ORIGINAL-RECHNUNG setzen:
If Not IsDBNull(r.Item("MWST")) AndAlso IsNumeric(r.Item("MWST")) AndAlso CDbl(r.Item("MWST")) = 0 Then
'wenn die Rechnung die MWST-SUMME 0 aufweist!!!
UpdateLieferantInvToCustomer(Lieferant, r.Item("invoice_id"))
Continue For
Else
If Not IsDBNull(r.Item("KundenNr")) AndAlso Not IsDBNull(r.Item("KundenLandKz")) Then
Dim kdnr As Integer = r.Item("KundenNr")
Dim LandKz = r.Item("KundenLandKz")
Dim landKZiso2 = ""
If LandKz.Length = 2 Then
landKZiso2 = LandKz
ElseIf LandKz.Length = 3 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO3Land(LandKz)
ElseIf LandKz.Length = 1 Then
landKZiso2 = VERAG_PROG_ALLGEMEIN.cProgramFunctions.getISO2LandFromISO1Land(LandKz)
End If
If landKZiso2 = r.Item("RELandKz") Then
'wenn die Rechnung in dem Land in dem er ansässig ist ausgestellt wurde (rumän. Kunde Rechnung ausgestellt in Rumänien = z.B. IDS in RO getankt…)
UpdateLieferantInvToCustomer(Lieferant, r.Item("invoice_id"))
Continue For
End If
If landKZiso2 <> "" AndAlso dtkeineMWST.Rows.Count > 0 Then
'Rechnungen der Länder in denen der Kunde keine MWST erstattet bekommt
Dim rows_keineMWST() As DataRow = dtkeineMWST.Select("Land = '" & landKZiso2 & "' AND Erstattungsland= '" & r.Item("RELandKz") & "'" & IIf(Lieferant <> "IDS", " AND Lieferant <> 'IDS'", ""))
If rows_keineMWST.Length > 0 Then
UpdateLieferantInvToCustomer(Lieferant, r.Item("invoice_id"))
Continue For
End If
End If
'Rechnungen der Länder, in denen der Kunde selber MWST beantragt
If landKZiso2 <> "" AndAlso dtKundeMWST.Rows.Count > 0 Then
Dim rows_KundeMWST() As DataRow = dtKundeMWST.Select("LandKz = '" & r.Item("RELandKz") & "' AND KdNr =" & kdnr)
If rows_KundeMWST.Length > 0 Then
UpdateLieferantInvToCustomer(Lieferant, r.Item("invoice_id"))
Continue For
End If
End If
End If
End If
Next
Select Case Lieferant
Case "IDS" : SQL.doSQL("update tblIDSInvoicesNewSplittedByCountry set InvToCustomer = 0 where InvToCustomer is null", "FMZOLL")
Case "MSE" : SQL.doSQL("update tblMSEInvoices set InvToCustomer = 0 where InvToCustomer is null", "FMZOLL")
Case "PLOSE" : SQL.doSQL("update tblPLOSE_Inv_Data set plInv_InvToCustomer = 0 where plInv_InvToCustomer is null", "FMZOLL")
Case "UTA" : SQL.doSQL("update tblUTAImportNew set InvToCustomer = 0 where InvToCustomer is null", "FMZOLL")
Case "RMC" : SQL.doSQL("update tblRMCImport set InvToCustomer = 0 where InvToCustomer is null", "FMZOLL")
End Select
End Sub
Private Sub UpdateLieferantInvToCustomer(Lieferant As String, InvoiceID As String)
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Select Case Lieferant
Case "IDS" : SQL.doSQL("update tblIDSInvoicesNewSplittedByCountry set InvToCustomer = 1 where invoice_id = '" & InvoiceID & "'", "FMZOLL")
Case "MSE" : SQL.doSQL("update tblMSEInvoices set InvToCustomer = 1 where invoice_id = '" & InvoiceID & "'", "FMZOLL")
Case "PLOSE" : SQL.doSQL("update tblPLOSE_Inv_Data set plInv_InvToCustomer = 1 where plInv_Id = '" & InvoiceID & "'", "FMZOLL")
Case "UTA" : SQL.doSQL("update tblUTAImportNew set InvToCustomer = 1 where [Rechnungsnummer_pro_Lieferland] = '" & InvoiceID & "'", "FMZOLL")
Case "RMC" : SQL.doSQL("update tblRMCImport set InvToCustomer = 1 where rmc_id = '" & InvoiceID & "'", "FMZOLL")
End Select
End Sub
End Class End Class