div. Änderungen, Gesamtsicherheiten, etc.
This commit is contained in:
@@ -245,6 +245,107 @@ Public Class cAufschubKonten
|
||||
Return brgakto_gs_aktSaldo
|
||||
End Function
|
||||
|
||||
Public Function CalcSaldo_new(Optional dtDate As DataTable = Nothing, Optional Stichtag As Date? = Nothing, Optional showMessage As Boolean = False) As String
|
||||
|
||||
Dim datumBis As Date =
|
||||
If(Stichtag.HasValue, Stichtag.Value.Date, Today.Date)
|
||||
|
||||
Dim datumBisSql As String =
|
||||
datumBis.ToString("yyyy-MM-dd")
|
||||
|
||||
Dim standort As String =
|
||||
brgakto_gs_standort.Replace("'", "''")
|
||||
|
||||
|
||||
Dim saldoSql As String = "DECLARE @Stichtag date = '" & datumBisSql & "'; Declare @Standort varchar(100) = '" & standort & "'; " & "DECLARE @Referenzbetrag decimal(18,2);
|
||||
/* Referenzbetrag vor dem Stichtag */
|
||||
SELECT TOP (1)
|
||||
@Referenzbetrag = r.brgarefb_refbetrag
|
||||
FROM [ADMIN].[dbo].[tblBrgAufschubKonten] AS k
|
||||
INNER JOIN [ADMIN].[dbo].[tblBrgAufschubReferenzberaege] AS r
|
||||
ON r.brgarefb_gsid = k.brgakto_id
|
||||
WHERE k.brgakto_gs_standort = @Standort
|
||||
AND ISNULL(r.brgarefb_gs_aktiv, 1) = 1
|
||||
AND r.brgarefb_gueltig_ab < @Stichtag
|
||||
AND (
|
||||
r.brgarefb_gueltig_bis IS NULL
|
||||
OR r.brgarefb_gueltig_bis >= @Stichtag
|
||||
)
|
||||
ORDER BY
|
||||
r.brgarefb_gueltig_ab DESC,
|
||||
r.brgarefb_id DESC;
|
||||
|
||||
|
||||
/* Bewegungen vor dem Stichtag */
|
||||
SELECT
|
||||
ISNULL(@Referenzbetrag, 0)
|
||||
+ ISNULL(SUM(Betrag), 0) AS GesamtSicherheitsSaldo
|
||||
FROM
|
||||
(
|
||||
/* Eingänge vor dem Stichtag */
|
||||
SELECT
|
||||
ISNULL(gs.gs_sicherheitsbetrag, 0) * -1 AS Betrag
|
||||
FROM dbo.tblGesamtsicherheit AS gs
|
||||
WHERE gs.gs_standort = @Standort
|
||||
AND gs.gs_datum < @Stichtag
|
||||
AND ISNULL(gs.gs_ReferenzAenderung, 0) = 0
|
||||
|
||||
UNION ALL
|
||||
|
||||
/* Ausgänge vor dem Stichtag */
|
||||
SELECT
|
||||
ISNULL(gsp.gsp_sicherheitsbetrag, 0) AS Betrag
|
||||
FROM dbo.tblGesamtsicherheitsPositionen AS gsp
|
||||
WHERE gsp.gsp_datum < @Stichtag
|
||||
AND EXISTS
|
||||
(
|
||||
SELECT 1
|
||||
FROM dbo.tblGesamtsicherheit AS gs
|
||||
WHERE gs.gs_gsId = gsp.gsp_gsId
|
||||
AND gs.gs_standort = @Standort
|
||||
AND gs.gs_datum < @Stichtag
|
||||
AND ISNULL(gs.gs_ReferenzAenderung, 0) = 0
|
||||
)
|
||||
) AS Bewegungen;"
|
||||
|
||||
|
||||
Dim dt As DataTable =
|
||||
SQL.loadDgvBySql(saldoSql, "AVISO", 100, True)
|
||||
|
||||
Dim saldo As Decimal = 0D
|
||||
|
||||
If dt IsNot Nothing AndAlso
|
||||
dt.Rows.Count > 0 AndAlso
|
||||
Not IsDBNull(dt.Rows(0).Item("GesamtSicherheitsSaldo")) Then
|
||||
|
||||
saldo = Convert.ToDecimal(
|
||||
dt.Rows(0).Item("GesamtSicherheitsSaldo")
|
||||
)
|
||||
End If
|
||||
|
||||
|
||||
brgakto_gs_aktSaldo = CDbl(saldo)
|
||||
|
||||
|
||||
If showMessage Then
|
||||
MsgBox(
|
||||
"Saldo zum Stichtag " &
|
||||
datumBis.ToShortDateString() &
|
||||
":" & vbNewLine &
|
||||
brgakto_gs_aktSaldo.ToString("N2")
|
||||
)
|
||||
End If
|
||||
|
||||
|
||||
If Not Stichtag.HasValue Then
|
||||
updateSaldo()
|
||||
End If
|
||||
|
||||
|
||||
Return brgakto_gs_aktSaldo.ToString()
|
||||
|
||||
End Function
|
||||
|
||||
Public Function getReferenzbetrag(nowDate As Date) As Double
|
||||
|
||||
Try
|
||||
|
||||
@@ -3,6 +3,7 @@ Imports System.Data.SqlClient
|
||||
Imports System.IO
|
||||
Imports System.Net
|
||||
Imports System.Reflection
|
||||
Imports System.Windows.Forms
|
||||
|
||||
Public Class cIDS
|
||||
|
||||
@@ -757,6 +758,77 @@ Public Class cIDS
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
|
||||
Function genIDSMautberichtDatatByKdNr(KdNr As String, rechnungsdatum As Date, art As String, Gruppierung_nach_Ort As Boolean) As DataTable
|
||||
|
||||
|
||||
Dim dt As New DataTable
|
||||
|
||||
Dim displayFilter = False
|
||||
Dim sqlstr As String = ""
|
||||
|
||||
Dim sqljoin_nachOrt As String = ""
|
||||
Dim sqlgroup_nachOrt = ""
|
||||
Dim sqlselect_nachOrt = ""
|
||||
If Gruppierung_nach_Ort Then
|
||||
sqljoin_nachOrt = "INNER JOIN tbl_IDS_Stationen ON tblIDSTransactionsNew.OutletCountryCode = tbl_IDS_Stationen.OutletCountryCode and tblIDSTransactionsNew.OutletCode = tbl_IDS_Stationen.OutletCode and tbl_IDS_Stationen.[OutletCountryCode]=740543"
|
||||
sqlgroup_nachOrt = ",tbl_IDS_Stationen.OutletOrt"
|
||||
sqlselect_nachOrt = "tbl_IDS_Stationen.OutletOrt,"
|
||||
End If
|
||||
|
||||
|
||||
Select Case art
|
||||
Case "IDS" 'Offert17
|
||||
|
||||
sqlstr = "SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], tblIDSTransactionsNew.[OutletCountry], tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
|
||||
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
|
||||
Sum(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag],
|
||||
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
|
||||
FROM((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte On tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode ) INNER JOIN Adressen On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
||||
Where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & rechnungsdatum.ToShortDateString & "' AND tblIDSTransactionsNew.[OutletCountryCode]<>740543 AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & "
|
||||
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], tblIDSTransactionsNew.[OutletCountry], tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz"
|
||||
|
||||
|
||||
|
||||
Case "IDS_AT" 'Offert21
|
||||
|
||||
sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 And 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END AS OutletCountry, tbl_IDS_Produkte.ProductDescription," & sqlselect_nachOrt & " tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
|
||||
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
|
||||
Sum(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag],
|
||||
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
|
||||
FROM tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode INNER JOIN tbl_IDS_Produkte On tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode " & sqljoin_nachOrt & " INNER JOIN Adressen On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
|
||||
Where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & rechnungsdatum.ToShortDateString & "' And tblIDSTransactionsNew.[OutletCountryCode]=740543 AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & "
|
||||
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz" & sqlgroup_nachOrt
|
||||
|
||||
End Select
|
||||
|
||||
|
||||
dt = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
||||
|
||||
Return dt
|
||||
|
||||
|
||||
|
||||
End Function
|
||||
|
||||
Public Function getCurrentInvoicedate(kdNr As String) As String
|
||||
|
||||
Dim datum As String = ""
|
||||
|
||||
If kdNr <> "" AndAlso IsNumeric(kdNr) Then
|
||||
Dim rechnungsdatum As String = SQL.getValueTxtBySql(" select top(1) cast(tblIDSTransactionsNew.YearMonthDay As Date) from tblIDSTransactionsNew Where tblIDSTransactionsNew.KdNrVERAG = " & kdNr & " order by tblIDSTransactionsNew.YearMonthDay desc", "FMZOLL")
|
||||
If rechnungsdatum <> "" AndAlso IsDate(rechnungsdatum) Then
|
||||
datum = rechnungsdatum
|
||||
End If
|
||||
End If
|
||||
|
||||
Return datum
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
|
||||
Public Class Paramter
|
||||
|
||||
Shared apiSettingsloaded As Boolean = False
|
||||
|
||||
Reference in New Issue
Block a user