USTV Anpassungen, Fatkurierung-Fix: doppelte RgNr Vergabe

This commit is contained in:
2022-10-11 22:17:22 +02:00
parent 9944bfc50a
commit c60b1ef498
11 changed files with 2097 additions and 726 deletions

View File

@@ -54,6 +54,8 @@ Public Class cUSTVAntrag
Property UStVAn_ErstattungsbetragEUR As Object = Nothing ' MONEY Default ((0)) NULL,
Property UStVAn_Sachbearbeiter As Object = Nothing ' NVARCHAR(15) NULL,
Property UStVAn_Zeitstempel As Object = Nothing ' DATETIME Default (getdate()) NULL,
Property UStVAn_Status As Object = Nothing
Property UStVAn_StatusText As Object = Nothing
Property POSITIONEN As New List(Of cUStVPositionen) '= Nothing
@@ -118,6 +120,8 @@ Public Class cUSTVAntrag
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_ErstattungsbetragEUR", UStVAn_ErstattungsbetragEUR)) ' MONEY Default ((0)) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Sachbearbeiter", UStVAn_Sachbearbeiter)) ' NVARCHAR(15) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Zeitstempel", UStVAn_Zeitstempel)) ' DATETIME Default (getdate()) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_Status", UStVAn_Status)) ' DATETIME Default (getdate()) NULL,
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("UStVAn_StatusText", UStVAn_StatusText)) ' DATETIME Default (getdate()) NULL,
Return list
@@ -270,8 +274,76 @@ Public Class cUStVPositionen
Dim SQL As New SQL
Sub New()
Sub New(UStVAn_ID, UStVPo_ID)
Me.UStVAn_ID = UStVAn_ID
Me.UStVPo_ID = UStVPo_ID
LOAD(UStVAn_ID, UStVPo_ID)
End Sub
Sub New()
End Sub
Public Sub LOAD(UStVAn_ID, UStVPo_ID)
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM [tblUStVPositionen] WHERE UStVAn_ID=@UStVAn_ID AND UStVPo_ID=@UStVPo_ID ", conn)
cmd.Parameters.AddWithValue("@UStVAn_ID", UStVAn_ID)
cmd.Parameters.AddWithValue("@UStVPo_ID", UStVPo_ID)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
'Dim l As New cOfferte
For Each i In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(i.Scalarvariable)
If dr.Item(i.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(i.Text))
End If
Next
End If
dr.Close()
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
End Sub
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblUStVPositionen WHERE UStVAn_ID=@UStVAn_ID AND UStVPo_ID=@UStVPo_ID) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Function getUpdateCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
Return (" UPDATE [tblUStVPositionen] SET " & str & " WHERE UStVAn_ID=@UStVAn_ID AND UStVPo_ID=@UStVPo_ID")
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 ""
End Function