Files
SDL/VERAG_PROG_ALLGEMEIN/Classes/cMDMFunctionsAllgemein.vb
2024-10-29 11:39:01 +01:00

639 lines
37 KiB
VB.net

Imports javax.validation.constraints
Public Class cMDMFunctionsAllgemein
Shared Function Update_UStVASummenNeuBerechnen(KundenNr As Integer) As Boolean
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If KundenNr < 0 Then Return False
Dim dtKundenAntrage As DataTable = SQL.loadDgvBySql("SELECT tblUStVAntrag.UStVAn_ID, tblUStVAntrag.UStVAn_KuNr FROM tblUStVAntrag where UStVAn_KuNr = " & KundenNr & "ORDER BY tblUStVAntrag.UStVAn_ID", "FMZOLL")
If dtKundenAntrage.Rows.Count < 1 Then Return False
Dim updated = False
For Each r As DataRow In dtKundenAntrage.Rows
Dim sqltext = "UPDATE tblUStVAntrag
SET
UStVAn_USteuerbetrag = COALESCE(
(SELECT SUM(UStVPo_USteuerbetrag)
FROM tblUStVPositionen
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0),
UStVAn_Erstattungsbetrag = COALESCE(
(SELECT SUM(UStVEr_USteuerbetrag)
FROM tblUStVErstattung
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0),
UStVAn_USteuerbetragEUR = COALESCE(
(SELECT SUM(UStVPo_USteuerbetragEUR)
FROM tblUStVPositionen
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0),
UStVAn_ErstattungsbetragEUR = COALESCE(
(SELECT SUM(UStVEr_USteuerbetragEUR)
FROM tblUStVErstattung
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0)
WHERE
UStVAn_ID =" & r.Item("UStVAn_ID")
updated = SQL.doSQL(sqltext, "FMZOLL")
If Not updated Then Return updated
Next
Return updated
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
Return False
End Try
End Function
Shared Function Update_UStVASummenNeuBerechnen() As Boolean
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sqltext = "UPDATE tblUStVAntrag
SET
UStVAn_USteuerbetrag = COALESCE(
(SELECT SUM(UStVPo_USteuerbetrag)
FROM tblUStVPositionen
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0),
UStVAn_Erstattungsbetrag = COALESCE(
(SELECT SUM(UStVEr_USteuerbetrag)
FROM tblUStVErstattung
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0),
UStVAn_USteuerbetragEUR = COALESCE(
(SELECT SUM(UStVPo_USteuerbetragEUR)
FROM tblUStVPositionen
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0),
UStVAn_ErstattungsbetragEUR = COALESCE(
(SELECT SUM(UStVEr_USteuerbetragEUR)
FROM tblUStVErstattung
WHERE UStVAn_ID = tblUStVAntrag.UStVAn_ID), 0)"
Return SQL.doSQL(sqltext, "FMZOLL")
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
Return False
End Try
End Function
Shared Function UStVAKunden_SummenNeuBerechnen(Optional KundenNr As Integer = 0) As Boolean
Try
Dim sumChangedPLOSEOK As Boolean = True
Dim sumChangedPLOSE As Boolean = True
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim sqlWhere = ""
If KundenNr > 0 Then
sqlWhere = " = " & KundenNr
Else
sqlWhere = "in (SELECT DISTINCT tblSteuernummern.AdressenNr AS UStVAn_KuNr
FROM tblSteuernummern
where AdressenNr is not null)"
End If
'alle Kunden, die eine SteuerNr hinterlegt haben inkl. deren hinterlegte Summen!
Dim sqlKunden = "SELECT Kunden.KundenNr as KundenNr, Kunden.UStV_SummeUmsatzsteuerbetragEUR, Kunden.UStV_SummeErstattungsbetragEUR, Kunden.UStV_Summe3470BetragEUR, Kunden.UStV_SummeVZBetragEUR, Kunden.UStV_SummeVorschaubetragEUR_VERAG, Kunden.UStV_SummeVorschaubetragEUR_IDS, Kunden.UStV_SummeVorschaubetragEUR_IT, Kunden.UStV_SummeVorschaubetragEUR_MSE, Kunden.UStV_SummeVorschaubetragEUR_UTA, Kunden.UStV_SummeVorschaubetragEUR, kde_UStV_SummeVorschaubetragEUR_PLOSE as UStV_SummeVorschaubetragEUR_PLOSE
FROM Kunden
left JOIN [tblKundenErweitert] on [kde_KundenNr] = Kunden.KundenNr
WHERE Kunden.KundenNr " & sqlWhere &
"order by Kunden.KundenNr"
Dim dtKunden As DataTable = sql.loadDgvBySql(sqlKunden, "FMZOLL")
If dtKunden.Rows.Count > 0 Then
For Each r As DataRow In dtKunden.Rows
'Neuberechnung der Steuerbeträge aus den Anträgen
Dim sqlSummeBilden = "SELECT
tblUStVAntrag.UStVAn_KuNr,
SUM(tblUStVAntrag.UStVAn_USteuerbetragEUR) As UStVKu_SummeUmsatzsteuer,
SUM(tblUStVAntrag.UStVAn_ErstattungsbetragEUR) As UStVKu_SummeErstattung,
SUM(ISNULL(tblUStVAntrag.UStVAn_3470, 0)) As UStVKu_SummeKonto3470,
SUM(
CASE
WHEN (ISNULL(tblUStVAntrag.UStVAn_VZBetrag, 0) - ISNULL(tblUStVAntrag.UStVAn_RZBetragVZ, 0)) > tblUStVAntrag.UStVAn_ErstattungsbetragEUR
THEN (ISNULL(tblUStVAntrag.UStVAn_VZBetrag, 0) - ISNULL(tblUStVAntrag.UStVAn_RZBetragVZ, 0)) - tblUStVAntrag.UStVAn_ErstattungsbetragEUR
Else 0
End
) AS UStVKu_SummeVorauszahlung
From tblUStVAntrag
Where tblUStVAntrag.UStVAn_KuNr = " & r.Item("KundenNr") &
" Group By tblUStVAntrag.UStVAn_KuNr"
Dim dtKundenSummen As DataTable = sql.loadDgvBySql(sqlSummeBilden, "FMZOLL")
Dim curUStV_SummeVorschaubetragEUR As Double
Dim curUStV_SummeVorschaubetragEUR_VERAG As Double
Dim curUStV_SummeVorschaubetragEUR_IDS As Double
Dim curUStV_SummeVorschaubetragEUR_IT As Double
Dim curUStV_SummeVorschaubetragEUR_MSE As Double
Dim curUStV_SummeVorschaubetragEUR_UTA As Double
Dim curUStV_SummeVorschaubetragEUR_PLOSE As Double
Dim curUStV_SummeUmsatzsteuerbetragEUR As Double
Dim curUStV_SummeErstattungsbetragEUR As Double
Dim curUStV_Summe3470BetragEUR As Double
Dim curUStV_SummeVZBetragEUR As Double
Dim invoiceDate = If(Date.Now > New Date(Date.Now.Year, 6, 30), New Date(Date.Now.Year, 1, 1), New Date(Date.Now.Year - 1, 1, 1))
'Neuberechnung der Vorschausummen (also alle noch nicht verrechneten Transaktionen)
curUStV_SummeVorschaubetragEUR_VERAG = UStVKunden_Summen_lesen_Vorschau_VERAG(r.Item("KundenNr"), invoiceDate)
curUStV_SummeVorschaubetragEUR_IDS = UStVKunden_Summen_lesen_Vorschau_IDS(r.Item("KundenNr"), invoiceDate)
curUStV_SummeVorschaubetragEUR_IT = UStVKunden_Summen_lesen_Vorschau_IT(r.Item("KundenNr"), invoiceDate)
curUStV_SummeVorschaubetragEUR_MSE = UStVKunden_Summen_lesen_Vorschau_MSE(r.Item("KundenNr"), invoiceDate)
curUStV_SummeVorschaubetragEUR_UTA = UStVKunden_Summen_lesen_Vorschau_UTA(r.Item("KundenNr"), invoiceDate)
curUStV_SummeVorschaubetragEUR_PLOSE = UStVKunden_Summen_lesen_Vorschau_PLOSE(r.Item("KundenNr"), invoiceDate)
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_VERAG
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_IDS
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_IT
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_MSE
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_UTA
curUStV_SummeVorschaubetragEUR += curUStV_SummeVorschaubetragEUR_PLOSE
Dim displayViewKundenSummen = New DataView(dtKundenSummen, "", "UStVAn_KuNr", DataViewRowState.CurrentRows)
Dim KundenDTSummenNeuBerechnet As DataTable = displayViewKundenSummen.ToTable(False)
If KundenDTSummenNeuBerechnet.Rows.Count = 1 Then
curUStV_SummeUmsatzsteuerbetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeUmsatzsteuer").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeUmsatzsteuer").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeUmsatzsteuer").ToString), 0)
curUStV_SummeErstattungsbetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeErstattung").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeErstattung").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeErstattung").ToString), 0)
curUStV_Summe3470BetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeKonto3470").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeKonto3470").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeKonto3470").ToString), 0)
curUStV_SummeVZBetragEUR = IIf(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeVorauszahlung").ToString <> "" AndAlso IsNumeric(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeVorauszahlung").ToString), CDbl(KundenDTSummenNeuBerechnet.Rows(0).Item("UStVKu_SummeVorauszahlung").ToString), 0)
End If
Dim sumChanged As Boolean = False
Dim sumChangedOK As Boolean = False
If Not (
Math.Round(CDbl(r.Item("UStV_SummeUmsatzsteuerbetragEUR")), 2) = curUStV_SummeUmsatzsteuerbetragEUR And
Math.Round(CDbl(r.Item("UStV_SummeErstattungsbetragEUR")), 2) = curUStV_SummeErstattungsbetragEUR And
Math.Round(CDbl(r.Item("UStV_Summe3470BetragEUR")), 2) = curUStV_Summe3470BetragEUR And
Math.Round(CDbl(r.Item("UStV_SummeVZBetragEUR")), 2) = curUStV_SummeVZBetragEUR And
Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_VERAG")), 2) = curUStV_SummeVorschaubetragEUR_VERAG And
Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_IDS")), 2) = curUStV_SummeVorschaubetragEUR_IDS And
Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_IT")), 2) = curUStV_SummeVorschaubetragEUR_IT And
Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_MSE")), 2) = curUStV_SummeVorschaubetragEUR_MSE And
Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_UTA")), 2) = curUStV_SummeVorschaubetragEUR_UTA And
Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR")), 2) = curUStV_SummeVorschaubetragEUR) Then
sumChanged = True
sumChangedOK = False
End If
If IsDBNull(r.Item("UStV_SummeVorschaubetragEUR_PLOSE")) Then
sumChangedPLOSE = True
sumChangedPLOSEOK = False
ElseIf Not Math.Round(CDbl(r.Item("UStV_SummeVorschaubetragEUR_PLOSE")), 2) = curUStV_SummeVorschaubetragEUR_PLOSE Then
sumChangedPLOSE = True
sumChangedPLOSEOK = False
End If
If sumChanged Then
'updateSummen
sumChangedOK = sql.doSQL("Update Kunden set Kunden.UStV_SummeUmsatzsteuerbetragEUR = " & curUStV_SummeUmsatzsteuerbetragEUR.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeErstattungsbetragEUR = " & curUStV_SummeErstattungsbetragEUR.ToString.Replace(",", ".") & ",
Kunden.UStV_Summe3470BetragEUR = " & curUStV_Summe3470BetragEUR.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVZBetragEUR = " & curUStV_SummeVZBetragEUR.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVorschaubetragEUR_VERAG = " & curUStV_SummeVorschaubetragEUR_VERAG.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVorschaubetragEUR_IDS = " & curUStV_SummeVorschaubetragEUR_IDS.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVorschaubetragEUR_IT = " & curUStV_SummeVorschaubetragEUR_IT.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVorschaubetragEUR_MSE = " & curUStV_SummeVorschaubetragEUR_MSE.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVorschaubetragEUR_UTA = " & curUStV_SummeVorschaubetragEUR_UTA.ToString.Replace(",", ".") & ",
Kunden.UStV_SummeVorschaubetragEUR = " & curUStV_SummeVorschaubetragEUR.ToString.Replace(",", ".") &
" WHERE Kunden.KundenNr = " & r.Item("KundenNr"), "FMZOLL")
End If
If sumChangedPLOSE Then
If IsDBNull(r.Item("UStV_SummeVorschaubetragEUR_PLOSE")) Then
Dim kndErw As New cKundenErweitert(r.Item("KundenNr"))
kndErw.kde_UStV_SummeVorschaubetragEUR_PLOSE = curUStV_SummeVorschaubetragEUR_PLOSE
sumChangedPLOSEOK = kndErw.SAVE
Else
sumChangedPLOSEOK = sql.doSQL("Update tblKundenErweitert set kde_UStV_SummeVorschaubetragEUR_PLOSE = " & curUStV_SummeVorschaubetragEUR_PLOSE.ToString.Replace(",", ".") & " WHERE kde_KundenNr = " & r.Item("KundenNr"), "FMZOLL")
End If
End If
Next
End If
Return sumChangedPLOSEOK And sumChangedPLOSEOK
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
Return False
End Try
End Function
Shared Function UStVKunden_Summen_lesen_Vorschau_VERAG(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
'Return 0
' Public Function UStVKunden_Summen_lesen_Vorschau_VERAG(ByRef varUStVAn_KuNr As Variant) As Currency
' Dim qdf As DAO.QueryDef
' Dim rst As DAO.Recordset
' Dim strParameter As String
' Dim dtmRechnungsdatum As Date
'2420 On Error GoTo PROC_Error
'2430 UStVKunden_Summen_lesen_Vorschau_VERAG = 0
'2440 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1))
'2450 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum)
'2460 Set qdf = dbs.CreateQueryDef("")
'2470 With qdf
'2480 .Connect = AktuelleVerbindungszeichenfolge(0)
'2490 .ReturnsRecords = True
'2500 .SQL = "EXEC [dbo].[spUStVVorschau_VERAG_Summe] " & strParameter
'2510 Set rst = qdf.OpenRecordset()
'2520 End With
'2530 If Not rst.EOF Then
'2540 UStVKunden_Summen_lesen_Vorschau_VERAG = rst![Vorschaubetrag]
'2550 End If
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim summeAlteSchnittstelle As Double
Dim sqlFMZollDaten = "SELECT dbo.tblTrdinInvoice.RechnungsKundenNr AS AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblTrdinInvoice.SteuerbetragLokal) As Vorschaubetrag From dbo.tblTrdinInvoice
INNER Join dbo.tblSteuernummern ON dbo.tblTrdinInvoice.RechnungsKundenNr = dbo.tblSteuernummern.AdressenNr
Where (dbo.tblTrdinInvoice.RechnungsKundenNr = " & varUStVAn_KuNr & ") And (dbo.tblTrdinInvoice.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') And (dbo.tblTrdinInvoice.UStVAn_ID Is NULL) And (dbo.tblSteuernummern.LandNr = 38) And (dbo.tblSteuernummern.UStV = 1)
GROUP BY dbo.tblTrdinInvoice.RechnungsKundenNr, dbo.tblSteuernummern.LandNr"
Dim dtIT As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL")
For Each r As DataRow In dtIT.Rows
Dim UST_org = CDbl(r.Item("Vorschaubetrag"))
If UST_org <> 0 Then
summeAlteSchnittstelle += UST_org
End If
Next
Return summeAlteSchnittstelle
End Function
Shared Function UStVKunden_Summen_lesen_Vorschau_IDS(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
'1300 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1))
'1310 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum)
'1320 Set qdf = dbs.CreateQueryDef("")
'1330 With qdf
'1340 .Connect = AktuelleVerbindungszeichenfolge(0)
'1350 .ReturnsRecords = True
'1360 .SQL = "EXEC [dbo].[spUStVVorschau_IDS_Summe] " & strParameter
'1370 Set rst = qdf.OpenRecordset()
'1380 End With
'1390 Do Until rst.EOF
'1400 UStVKunden_Summen_lesen_Vorschau_IDS = UStVKunden_Summen_lesen_Vorschau_IDS + rst![Vorschaubetrag]
'1410 rst.MoveNext
'1420 Loop
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim summeAlteSchnittstelle As Double
Dim sqlFMZollDaten = "SELECT dbo.tblDieselArchiv.KdNrVERAG AS AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblDieselArchiv.[VAT Amount]) AS Vorschaubetrag
FROM dbo.tblDieselArchiv INNER JOIN
dbo.tblSteuernummern ON dbo.tblDieselArchiv.KdNrVERAG = dbo.tblSteuernummern.AdressenNr INNER JOIN
dbo.tbl_IDS_Länder ON dbo.tblSteuernummern.LandNr = dbo.tbl_IDS_Länder.LandNr AND dbo.tblDieselArchiv.[Outlet Country Code] = dbo.tbl_IDS_Länder.OutletCountryCode
WHERE (dbo.tblDieselArchiv.KdNrVERAG = " & varUStVAn_KuNr & " ) AND (dbo.tblDieselArchiv.[Year Month Day] >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblDieselArchiv.UStVAn_ID IS NULL) AND
(dbo.tblSteuernummern.UStV = 1)
GROUP BY dbo.tblDieselArchiv.KdNrVERAG, dbo.tblSteuernummern.LandNr
ORDER BY dbo.tblDieselArchiv.KdNrVERAG, dbo.tblSteuernummern.LandNr"
Dim dtIT As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL")
For Each r As DataRow In dtIT.Rows
Dim UST_org = CDbl(r.Item("Vorschaubetrag"))
If UST_org <> 0 Then
summeAlteSchnittstelle += UST_org
End If
Next
Return summeAlteSchnittstelle
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.MAIL)
Return 0
End Try
End Function
Shared Function UStVKunden_Summen_lesen_Vorschau_PLOSE(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
'1300 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1))
'1310 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum)
'1320 Set qdf = dbs.CreateQueryDef("")
'1330 With qdf
'1340 .Connect = AktuelleVerbindungszeichenfolge(0)
'1350 .ReturnsRecords = True
'1360 .SQL = "EXEC [dbo].[spUStVVorschau_IDS_Summe] " & strParameter
'1370 Set rst = qdf.OpenRecordset()
'1380 End With
'1390 Do Until rst.EOF
'1400 UStVKunden_Summen_lesen_Vorschau_IDS = UStVKunden_Summen_lesen_Vorschau_IDS + rst![Vorschaubetrag]
'1410 rst.MoveNext
'1420 Loop
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim summeSchnittstelle As Double
Dim sqlPLOSE = "select plose_POLSEKundennummer, sum([plose_MWSTBetragWaehrungAbbuchung])[plose_MWSTBetragWaehrungAbbuchung] FROM [tblPLOSE_Details] INNER JOIN Adressen on PLOSEKundenNr=plose_POLSEKundennummer
WHERE plose_Archiv <> 1 AND plose_Fakturiert = 1 AND plose_LieferantCode IN (0,1,7) AND cast(plose_RechnungsDatum as date) >= '" & invoiceDate.ToShortDateString & "' and AdressenNr = " & varUStVAn_KuNr & "
group by plose_POLSEKundennummer"
Dim dtPLOSE As DataTable = sql.loadDgvBySql(sqlPLOSE, "FMZOLL")
For Each r As DataRow In dtPLOSE.Rows
Dim UST_org = CDbl(r.Item("plose_MWSTBetragWaehrungAbbuchung"))
If UST_org <> 0 Then
summeSchnittstelle += UST_org
End If
Next
Return summeSchnittstelle
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG)
Return 0
End Try
End Function
Shared Function UStVKunden_Summen_lesen_Vorschau_IT(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
' Dim qdf As DAO.QueryDef
' Dim rst As DAO.Recordset
' Dim strParameter As String
' Dim dtmRechnungsdatum As Date
'1550 On Error GoTo PROC_Error
'1560 UStVKunden_Summen_lesen_Vorschau_IT = 0
'1570 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1))
'1580 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum)
'1590 Set qdf = dbs.CreateQueryDef("")
'1600 With qdf
'1610 .Connect = AktuelleVerbindungszeichenfolge(0)
'1620 .ReturnsRecords = True
'1630 .SQL = "EXEC [dbo].[spUStVVorschau_IT_Summe] " & strParameter
'1640 Set rst = qdf.OpenRecordset()
'1650 End With
'1660 Do Until rst.EOF
'1670 UStVKunden_Summen_lesen_Vorschau_IT = UStVKunden_Summen_lesen_Vorschau_IT + rst![Vorschaubetrag]
'1680 rst.MoveNext
'1690 Loop
'PROC_Exit:
'1700 On Error Resume Next
'1710 If Not rst Is Nothing Then
'1720 rst.Close
'1730 Set rst = Nothing
'1740 End If
'1750 If Not qdf Is Nothing Then
'1760 qdf.Close0v
'1770 Set qdf = Nothing
'1780 End If
Try
Dim summechnittstelle As Double
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim sqlITSumme = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMautITArchiv.Verrechnungsdatum AS Rechnungsdatum,
dbo.tblMautITArchiv.Code_Adressat_des_Kontoauszugs AS Rechnungsnummer,
SUM(CAST(ROUND((dbo.tblMautITArchiv.Betrag_mit_Preisnachlass_oder_Preisnachlass - dbo.tblMautITArchiv.Nicht_mehrwertsteuerpflichtiger_Betrag) / 1.22 * 0.22, 2) AS money))
AS Vorschaubetrag
FROM dbo.tblSteuernummern INNER JOIN
dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN
dbo.tblMautITArchiv ON dbo.Adressen.[TELEPASS-Kd-Nr] = dbo.tblMautITArchiv.Code_Adressat_des_Kontoauszugs
WHERE (dbo.tblMautITArchiv.UStVAn_ID IS NULL) AND (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.LandNr = 5) AND (dbo.tblSteuernummern.UStV = 1)
AND (dbo.tblMautITArchiv.Verrechnungsdatum >= '" & invoiceDate.ToShortDateString & "')
GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMautITArchiv.Verrechnungsdatum, dbo.tblMautITArchiv.Code_Adressat_des_Kontoauszugs"
Dim dtIT As DataTable = sql.loadDgvBySql(sqlITSumme, "FMZOLL")
For Each r As DataRow In dtIT.Rows
Dim UST_org = CDbl(r.Item("Vorschaubetrag"))
If UST_org <> 0 Then
Dim WaehrungsCode As String = r.Item("Währungscode")
summechnittstelle += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(UST_org, WaehrungsCode, "EUR")
End If
Next
Return summechnittstelle
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG)
Return 0
End Try
End Function
Shared Function UStVKunden_Summen_lesen_Vorschau_MSE(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
'Return 0
' dtmRechnungsdatum = IIf(Date > DateSerial(Year(Of Date), 6, 30), DateSerial(Year(Of Date), 1, 1), DateSerial(Year(Of Date)() - 1, 1, 1))
'1850 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum)
'1860 Set qdf = dbs.CreateQueryDef("")
'1870 With qdf
'1880 .Connect = AktuelleVerbindungszeichenfolge(0)
'1890 .ReturnsRecords = True
'1900 .SQL = "EXEC [dbo].[spUStVVorschau_MSE_Summe] " & strParameter
'1910 Set rst = qdf.OpenRecordset()
'1920 End With
'1930 Do Until rst.EOF
'1940 curUmrechnungskurs = Nz(fktEurokurs(rst![Währungscode], rst![RechnungsDatum]), 0)
'1950 If curUmrechnungskurs = 0 Then
'1960 curVorschaubetragEUR = 0
'1970 Else
'1980 curVorschaubetragEUR = Int(rst![Vorschaubetrag] / curUmrechnungskurs * 100 + 0.5) / 100
'1990 End If
'2000 UStVKunden_Summen_lesen_Vorschau_MSE = UStVKunden_Summen_lesen_Vorschau_MSE + curVorschaubetragEUR
'2010 rst.MoveNext
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim summeNeueSchnittstelle As Double
Dim summeAlteSchnittstelle As Double
Dim sqlFMZollDatenALT = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date] AS Rechnungsdatum, SUM(dbo.tblMSETransactionsArchiv.[Original VAT Amount]) AS Vorschaubetrag, dbo.tblMSETransactionsArchiv.[Original Currency] AS Währungscode
FROM dbo.tblSteuernummern INNER JOIN
dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN
dbo.tblMSETransactionsArchiv ON dbo.Adressen.MSEKundenNr = dbo.tblMSETransactionsArchiv.[Customer ID] INNER JOIN
dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND
dbo.tblMSETransactionsArchiv.[Transaction Country] = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz
WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblMSETransactionsArchiv.[Invoice Date] >= '" & invoiceDate.ToShortDateString & "') AND
(dbo.tblMSETransactionsArchiv.[Original VAT Amount] <> 0) AND (dbo.tblMSETransactionsArchiv.UStVAn_ID IS NULL)
GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date], dbo.tblMSETransactionsArchiv.[Original Currency]
ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, dbo.tblMSETransactionsArchiv.[Invoice Date], dbo.tblMSETransactionsArchiv.[Original Currency] "
Dim dtMSEAlt As DataTable = sql.loadDgvBySql(sqlFMZollDatenALT, "FMZOLL")
For Each r As DataRow In dtMSEAlt.Rows
Dim UST_org = CDbl(r.Item("Vorschaubetrag"))
If UST_org <> 0 Then
Dim WaehrungsCode As String = r.Item("Währungscode")
summeAlteSchnittstelle += VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(UST_org, WaehrungsCode, "EUR")
End If
Next
Dim sqlFMZollDatenNEU = "select * from ( select cust.[customer_id],bills.invoice_date, bills.invoice_number, bills.specification_page_name, trans.transaction_country, trans.original_currency ,sum(USteuer_EUR) as UST_EUR, sum(original_vat_amount) as UST
FROM [VERAG].[dbo].[tblMSESettlements] as bills
left join [VERAG].[dbo].[tblMSETransactions] as trans on bills.[transaction_id] = trans.[transaction_id]
left join [VERAG].[dbo].[tblMSECustomers] as cust on cust.partner_customer_number = trans.partner_haulier_id
left join [VERAG].[dbo].[tblMSEInvoices] as inv on inv.invoice_id = bills.invoice_number
where bills.invoice_date >= '" & invoiceDate.ToShortDateString & "' and inv.archiv <> 1 and trans.charged = 1 and cust.[partner_customer_number] = " & varUStVAn_KuNr & "
group by bills.invoice_date, bills.invoice_number, cust.[customer_id], bills.specification_page_name, trans.transaction_country,trans.original_currency) as temp"
Dim dtMSENeut As DataTable = sql.loadDgvBySql(sqlFMZollDatenNEU, "FMZOLL")
For Each r As DataRow In dtMSENeut.Rows
Dim UST_org = CDbl(r.Item("UST_EUR"))
If UST_org <> 0 Then
summeNeueSchnittstelle += UST_org
End If
Next
Return summeAlteSchnittstelle + summeNeueSchnittstelle
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG)
Return 0
End Try
End Function
Shared Function UStVKunden_Summen_lesen_Vorschau_UTA(varUStVAn_KuNr As Integer, invoiceDate As Date) As Double
'Return 0
' Dim qdf As DAO.QueryDef
' Dim rst As DAO.Recordset
' Dim strParameter As String
' Dim dtmRechnungsdatum As Date
'2150 On Error GoTo PROC_Error
'2160 UStVKunden_Summen_lesen_Vorschau_UTA = 0
'2170 dtmRechnungsdatum = IIf(Date > DateSerial(Year(Date), 6, 30), DateSerial(Year(Date), 1, 1), DateSerial(Year(Date) - 1, 1, 1))
'2180 strParameter = ParameterBereitstellen(varUStVAn_KuNr, dtmRechnungsdatum)
'2190 Set qdf = dbs.CreateQueryDef("")
'2200 With qdf
'2210 .Connect = AktuelleVerbindungszeichenfolge(0)
'2220 .ReturnsRecords = True
'2230 .SQL = "EXEC [dbo].[spUStVVorschau_UTA_Summe] " & strParameter
'2240 Set rst = qdf.OpenRecordset()
'2250 End With
'2260 Do Until rst.EOF
' 'Der Vorschaubetrag wird durch das Feld dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung bereitgestellt und ist EUR.
'2270 UStVKunden_Summen_lesen_Vorschau_UTA = UStVKunden_Summen_lesen_Vorschau_UTA + rst![Vorschaubetrag]
'2280 rst.MoveNext
'2290 Loop
'PROC_Exit:
'2300 On Error Resume Next
'2310 If Not rst Is Nothing Then
'2320 rst.Close
'2330 Set rst = Nothing
'2340 End If
'2350 If Not qdf Is Nothing Then
'2360 qdf.Close
'2370 Set qdf = Nothing
'2380 End If
'2390 Exit Function
'PROC_Error:
'2400 ErrNotify Err, "basUStV", "UStVKunden_Summen_lesen_Vorschau_UTA", eNormalError
'2410 Resume PROC_Exit
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim summeAlteSchnittstelle As Double
Dim summeNeueSchnittstelle As Double
Dim sqlFMZollDaten = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Vorschaubetrag
FROM dbo.tblSteuernummern INNER JOIN
dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN
dbo.tblUTAArchiv ON dbo.Adressen.UTAKundenNr = dbo.tblUTAArchiv.Kundennummer INNER JOIN
dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND
dbo.tblUTAArchiv.Lieferland = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3
WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblUTAArchiv.UStVAn_ID IS NULL) AND
(dbo.tblUTAArchiv.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAArchiv.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0)
GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr
ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr"
Dim dtUTAAlt As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL")
For Each r As DataRow In dtUTAAlt.Rows
Dim UST_org = CDbl(r.Item("Vorschaubetrag"))
If UST_org <> 0 Then
summeAlteSchnittstelle += UST_org
End If
Next
Dim sqlNeueSchnittstelle = "SELECT dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr, SUM(dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung) AS Vorschaubetrag
FROM dbo.tblSteuernummern INNER JOIN
dbo.Adressen ON dbo.tblSteuernummern.AdressenNr = dbo.Adressen.AdressenNr INNER JOIN
dbo.tblUTAImportNew ON dbo.Adressen.UTAKundenNr = dbo.tblUTAImportNew.Kundennummer INNER JOIN
dbo.[Länderverzeichnis für die Außenhandelsstatistik] ON dbo.tblSteuernummern.LandNr = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandNr AND
dbo.tblUTAImportNew.Lieferland = dbo.[Länderverzeichnis für die Außenhandelsstatistik].LandKz_ISO_3
WHERE (dbo.tblSteuernummern.AdressenNr = " & varUStVAn_KuNr & ") AND (dbo.tblSteuernummern.UStV = 1) AND (dbo.tblUTAImportNew.archiv IS NULL) AND
(dbo.tblUTAImportNew.Rechnungsdatum >= '" & invoiceDate.ToShortDateString & "') AND (dbo.tblUTAImportNew.Gesamtbetrag_Umsatzsteuer_in_Darstellwährung <> 0)
GROUP BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr
ORDER BY dbo.tblSteuernummern.AdressenNr, dbo.tblSteuernummern.LandNr"
Dim dtUTANeut As DataTable = sql.loadDgvBySql(sqlFMZollDaten, "FMZOLL")
For Each r As DataRow In dtUTANeut.Rows
Dim UST_org = CDbl(r.Item("Vorschaubetrag"))
If UST_org <> 0 Then
summeNeueSchnittstelle += UST_org
End If
Next
If Math.Round(summeAlteSchnittstelle, 2) = Math.Round(summeNeueSchnittstelle, 2) Then
Return summeNeueSchnittstelle
End If
Return summeAlteSchnittstelle + summeNeueSchnittstelle
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name, VERAG_PROG_ALLGEMEIN.ERROR_OP.LOG)
Return 0
End Try
End Function
End Class