This commit is contained in:
2026-01-08 17:15:49 +01:00
parent 9b53783b0d
commit 4da7d188d1
12 changed files with 138 additions and 51 deletions

View File

@@ -173,7 +173,18 @@ Public Class cAufschubKonten
Return SQL.doSQL("Update [tblBrgAufschubKonten] Set brgakto_gs_aktSaldo = CAST(REPLACE('" & brgakto_gs_aktSaldo & "' ,',','.')AS decimal(18,2)) WHERE brgakto_gs_standort = '" & brgakto_gs_standort & "'", "ADMIN")
End Function
Public Function CalcSaldo(Optional dtDate As DataTable = Nothing) As String
Public Function CalcSaldo(Optional dtDate As DataTable = Nothing, Optional Stichtag As Date? = Nothing) As String
Dim StichtagSQLGesamtsicherheit = ""
Dim StichtagSQLGesamtsicherheitsPositionen = ""
If Stichtag.HasValue Then
StichtagSQLGesamtsicherheitsPositionen = " And cast(gsp_datum as Date) <= '" & Stichtag.Value.ToShortDateString & "'"
StichtagSQLGesamtsicherheit = " AND cast(gs_datum as Date) <= '" & Stichtag.Value.ToShortDateString & "'"
End If
Dim SaldoString As String =
"select
@@ -184,24 +195,35 @@ Public Class cAufschubKonten
when gs_art = 'Close' then gs_sicherheitsbetrag
end)
as SicherheitsSaldoGS from [tblGesamtsicherheit] Where gs_standort = '" & brgakto_gs_standort & "')+
as SicherheitsSaldoGS from [tblGesamtsicherheit] Where gs_standort = '" & brgakto_gs_standort & "'" & StichtagSQLGesamtsicherheit & ")+
(select SUM(
case
when gsp_art = 'Open' then (gsp_sicherheitsbetrag * -1)
when gsp_art = 'Close' then gsp_sicherheitsbetrag
end)
as SicherheitsSaldoPositionen from [tblGesamtsicherheitsPositionen] Where gsp_gsid IN (select gs_gsId from [tblGesamtsicherheit] where gs_standort = '" & brgakto_gs_standort & "' And ISNULL(gs_ReferenzAenderung,0) = 0 ))"
as SicherheitsSaldoPositionen from [tblGesamtsicherheitsPositionen] Where gsp_gsid IN (select gs_gsId from [tblGesamtsicherheit] where gs_standort = '" & brgakto_gs_standort & "'" & StichtagSQLGesamtsicherheit & " And ISNULL(gs_ReferenzAenderung,0) = 0 )" & StichtagSQLGesamtsicherheitsPositionen & ")"
Dim dt As New DataTable
Dim mrn As Double = 0
dt = SQL.loadDgvBySql(SaldoString, "AVISO", 100, True)
If dt.Rows(0).Item(0).ToString.Length > 0 Then
mrn = dt.Rows(0).Item(0)
End If
Dim mrn As Double = 0
dt = SQL.loadDgvBySql(SaldoString, "AVISO", 100, True)
If dt.Rows(0).Item(0).ToString.Length > 0 Then
mrn = dt.Rows(0).Item(0)
End If
If Stichtag.HasValue Then
brgakto_gs_aktSaldo = getReferenzbetrag(Stichtag.Value) 'aktueller Referenzbetrag + Verwahrungsausgänge - Verwahrungseingänge zum Stichtag!!! -> nicht updaten, nur INFO!!!!
brgakto_gs_aktSaldo += mrn
MsgBox("Saldo zum Stichtag " & Stichtag.Value & ":" & vbNewLine & brgakto_gs_aktSaldo.ToString("N2"))
Else
brgakto_gs_aktSaldo = getReferenzbetrag(Today) 'aktueller Referenzbetrag + Verwahrungsausgänge - Verwahrungseingänge....
brgakto_gs_aktSaldo += mrn
updateSaldo()
End If
brgakto_gs_aktSaldo = getReferenzbetrag(Today) + mrn
updateSaldo()
Return brgakto_gs_aktSaldo
@@ -211,7 +233,7 @@ Public Class cAufschubKonten
Try
Return SQL.getValueTxtBySql("select TOP (1) brgarefb_refbetrag from [tblBrgAufschubReferenzberaege] where [brgarefb_gsid]='" & brgakto_id & "' and brgarefb_gs_aktiv = 1 And [brgarefb_gueltig_ab] <= '" & nowDate & "' order by [brgarefb_gueltig_ab] desc", "ADMIN",,,,)
Return SQL.getValueTxtBySql("select TOP (1) brgarefb_refbetrag from [tblBrgAufschubReferenzberaege] where [brgarefb_gsid]='" & brgakto_id & "' and brgarefb_gs_aktiv = 1 And cast([brgarefb_gueltig_ab] as Date) <= '" & nowDate & "' order by [brgarefb_gueltig_ab] desc", "ADMIN",,,,)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)