Änderungen Rechnungsnummernveragbe, Fiskalkunden, Creditsafe-API Fehlerausgabe verbessert, Gesamtsicherheitem (Feature für Refrerenzbetragänderungen)

This commit is contained in:
2023-07-05 13:48:53 +02:00
parent 08c6039246
commit 3926ec909f
7 changed files with 86 additions and 20 deletions

View File

@@ -29,6 +29,7 @@ Public Class cAufschubKonten
Sub New(brgakto_gs_standort As String)
Me.brgakto_gs_standort = brgakto_gs_standort
LOADStandort()
brgakto_betrag = getReferenzbetrag(Today)
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
@@ -172,7 +173,8 @@ 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() As String
Public Function CalcSaldo(Optional dtDate As DataTable = Nothing) As String
Dim SaldoString As String =
"select
@@ -189,18 +191,32 @@ Public Class cAufschubKonten
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 & "' ))"
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 ))"
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
brgakto_gs_aktSaldo = brgakto_betrag + mrn
brgakto_gs_aktSaldo = getReferenzbetrag(Today) + mrn
updateSaldo()
Return brgakto_gs_aktSaldo
End Function
Public Function getReferenzbetrag(nowDate As Date) As Double
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",,,,)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Function
End Class

View File

@@ -4,8 +4,6 @@ Imports System.Data.SqlClient
Public Class cRechnungsnummern
Property SpeditionsbuchNr As String = "" 'FIRMA!
Property Buchungsjahr As String = ""
Property VonRechnungsNr As Integer = -1
Property BisRechnungsNr As Integer = -1
Property LfdRechnungsNr As Integer = 0
@@ -58,9 +56,9 @@ Public Class cRechnungsnummern
LfdRechnungsNr = VonRechnungsNr
'-------------------------------------
LOADANDUPDATE(SpeditionsbuchNr, Buchungsjahr, LfdRechnungsNr, VonRechnungsNr, BisRechnungsNr)
'LOAD(SpeditionsbuchNr, Buchungsjahr)
LOAD(SpeditionsbuchNr, Buchungsjahr)
End Sub
@@ -108,7 +106,7 @@ Public Class cRechnungsnummern
Dim RG_NR As New VERAG_PROG_ALLGEMEIN.cRechnungsnummern(SpeditionsbuchNr, Buchungsjahr)
aktuelleRechnungsnummer = RG_NR.LfdRechnungsNr ' --> Die in der DB gespeicherte RgNr wird verwendet
CHECK_RGNR_NEW = RG_NR.LfdRechnungsNr ' --> Die in der DB gespeicherte RgNr wird verwendet
RG_NR.INCREASE_RGNR() ' ..... und gelcih wieder hcoh zählen
'RG_NR.INCREASE_RGNR() ' ..... und gelcih wieder hcoh zählen
System.Threading.Thread.Sleep(50) ' nur, um abzuwarten falls parallel eine Nr vergeben wird
End While
@@ -162,6 +160,42 @@ Public Class cRechnungsnummern
' Return Nothing
End Sub
Public Sub LOADANDUPDATE(ByVal SpeditionsbuchNr As String, ByVal Buchungsjahr As String, ByRef LfdRechnungsNr As Integer, ByVal VonRechnungsNr As String, ByVal BisRechnungsNr As String)
Try
Using conn As SqlConnection = cSqlDb.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand(
"BEGIN TRAN IF EXISTS (SELECT * FROM Rechnungsnummern WITH(updlock,serializable) WHERE [SpeditionsbuchNr]=@SpeditionsbuchNr AND Buchungsjahr=@Buchungsjahr)
BEGIN
UPDATE dbo.Rechnungsnummern SET LfdRechnungsNr= (SELECT [LfdRechnungsNr] as newNr FROM dbo.Rechnungsnummern WHERE [SpeditionsbuchNr]=@Speditionsbuchnr AND Buchungsjahr=@Buchungsjahr) + 1 WHERE [SpeditionsbuchNr]=@Speditionsbuchnr AND Buchungsjahr=@Buchungsjahr
SELECT [LfdRechnungsNr] FROM dbo.Rechnungsnummern WHERE [SpeditionsbuchNr]=@Speditionsbuchnr AND Buchungsjahr=@Buchungsjahr
END;
else
BEGIN
INSERT INTO [Rechnungsnummern](SpeditionsbuchNr,[Buchungsjahr],[VonRechnungsNr],[BisRechnungsNr],[LfdRechnungsNr])
OUTPUT @LfdRechnungsNr AS [LfdRechnungsNr]
VALUES (@SpeditionsbuchNr, @Buchungsjahr,@VonRechnungsNr,@BisRechnungsNr,@LfdRechnungsNr)
END
COMMIT TRAN", conn)
cmd.Parameters.AddWithValue("@SpeditionsbuchNr", SpeditionsbuchNr)
cmd.Parameters.AddWithValue("@Buchungsjahr", Buchungsjahr)
cmd.Parameters.AddWithValue("@LfdRechnungsNr", LfdRechnungsNr)
cmd.Parameters.AddWithValue("@VonRechnungsNr", VonRechnungsNr)
cmd.Parameters.AddWithValue("@BisRechnungsNr", BisRechnungsNr)
Dim dr = cmd.ExecuteScalar()
LfdRechnungsNr = dr
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
' Return Nothing
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.MyListItem2)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.MyListItem2)