Files
SDL/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb
2025-07-20 21:16:01 +02:00

287 lines
17 KiB
VB.net

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cKundenErweitert
Property kde_KundenNr As Integer
Property kde_FirmenwortlautFiskal As Object = Nothing
Property kde_VerwendetAuftragsNr As Boolean = False
Property kde_FixeAuftragsNr As Object = Nothing
Property kde_qsTeamId As Object = Nothing
Property kde_qsTeamMAId As Object = Nothing
Property kde_qsTeamMAName As Object = Nothing
Property kde_qsTeamName As Object = Nothing
Property kde_TeamId As Object = Nothing
Property kde_TeamMAId As Object = Nothing
'Property kde_Hoechstkredit As Object = Nothing
Property kde_Versicherung_Deckungsstopp As Boolean = False
Property kde_Versicherung_DeckungsstoppDatum As Object = Nothing
Property kde_Versicherung_Uebergeben As Boolean = False
Property kde_Versicherung_UebergebenAm As Object = Nothing
Property kde_Versicherung_AnerkennungVersicherungsfall As Boolean = False
Property kde_Versicherung_AnerkennungVersicherungsfallAm As Object = Nothing
Property kde_Versicherung_AnerkennungVersicherungsfallAb As Object = Nothing
Property kde_txtVersicherungDeckungsquote As Object = Nothing
Property kde_txtVersicherungNichtVersicherbar As Object = Nothing
Property kde_Versicherung_GemeldeterBetrag As Object = Nothing
Property kde_txtVersicherungEHNr As Object = Nothing
Property kde_Leihgeld_Provision As Object = Nothing
Property kde_Leihgeld_ProvisionPreisstaffel As Object = Nothing
Property kde_Leihgeld_ProvisionAuftraggeber As Object = Nothing
Property EmailFreigabeSendungsListe As Boolean = False
Property EmailFreigabe_SteuerbescheidPDF As Boolean = False
Property EmailFreigabe_SteuerbescheidPDF_Bedingung As Integer
Property EmailFreigabe_Art As String = "FG" ' STB/VBD/.. bei Freigabe ; BLG --> wenn Beleg da ist.
Property EmailFreigabe_Export_Art As String = "FG" ' STB/VBD/.. bei Freigabe ; BLG --> wenn Beleg da ist.
Property EmailFreigabe_VBDPDF As Boolean = False
Property EmailFreigabe_ABDPDF As Boolean = False
Property EmailFreigabeBeleg_Sendungsunterlagen As Boolean = False
Property Email_AVM As Boolean = False
Property Depot_Kunde As Boolean = False
Property FiBuSchnittstelleLG As Boolean = False
Property Zahlungsziel2 As Object = Nothing
Property Zahlungsziel3 As Object = Nothing
Property EmailAnkunft_Export As Boolean = False
Property EmailFreigabe_Export As Boolean = False
Property kde_BonitaetsStufe As Object = Nothing
Property kde_CreditSaveBonitaetsklasse As Object = Nothing
Property kde_CreditSaveBonitaetsIndex As Object = Nothing
Property kde_CreditSaveBonitaetsScore As Object = Nothing
Property kde_CreditSaveId As String = ""
Property kde_CreditSaveNo As String = ""
Property kde_Inkasso_Uebergeben As Boolean = False
Property kde_Inkasso_UebergebenAm As Object = Nothing
Property kde_Inkasso_GemeldeterBetrag As Object = Nothing
Property AutoFakturierung As Boolean = False
Property Veranlagungskunde As Boolean = False
Property Anmerkungen_Warnhinweis As Object = Nothing
Property kde_VERAG_INTERFACE_ID As Object = Nothing
Property kde_BesonderheitenNeu As Boolean = True
Property kde_InfoAuftragsNr As Object = Nothing
Property kde_KundeFremdspedition As Boolean = False
Property kde_verzolltBei As Object = Nothing
Property kde_KundeFremdspeditionExport As Boolean = False
Property kde_verzolltBeiExport As Object = Nothing
Property kde_API_Tradeshift As Boolean = False
Property kde_FakturierungSR_Details As Boolean = False
Property kde_Fakturierung_Sprache As Object = Nothing
Property kde_TOBB_KundenNr As Object = Nothing
Property kde_UIDMehrfachverwendung As Boolean = False
Property kde_Abrechnung_SendungsdatenAusSTB As Boolean = False
Property kde_EORIgeprueftAm As Object = Nothing
Property kde_AdressZusatz As Object = Nothing
Property kde_abweichendesZZVL As Object = Nothing
Property kde_HRNr As Object = Nothing
Property kde_Kapital As Object = Nothing
Property kde_KapitalWaehrung As Object = Nothing
Property kde_GruendungsDatum As Object = Nothing
Property kde_WechselBetrag As Object = Nothing
Property kde_WechselGueltigBis As Object = Nothing
Property kde_WechselErhaltenAm As Object = Nothing
Property kde_BankgarantielErhaltenAm As Object = Nothing
Property kde_WechselBlanko As Boolean = False
Property kde_UStV_SummeVorschaubetragEUR_PLOSE As Object = Nothing
Property kde_keineMWSt As Boolean = False
Property kde_MWStAbrechnung As String = "Q"
Property kde_AnmerkungVZ As Object = Nothing
Property kde_VZ As Boolean = False
Property kde_AnmerkungFR As Object = Nothing
Property kde_FR As Boolean = False
Property kde_AnmerkungAntrag As Object = Nothing
Property kde_Erstattungsart As Object = Nothing
Dim SQL As New SQL
Sub New(KundenNr)
Me.kde_KundenNr = KundenNr
LOAD()
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundenNr", kde_KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FirmenwortlautFiskal", kde_FirmenwortlautFiskal))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VerwendetAuftragsNr", kde_VerwendetAuftragsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FixeAuftragsNr", kde_FixeAuftragsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamId", kde_qsTeamId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamMAId", kde_qsTeamMAId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamMAName", kde_qsTeamMAName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_qsTeamName", kde_qsTeamName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TeamId", kde_TeamId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TeamMAId", kde_TeamMAId))
' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Hoechstkredit", kde_Hoechstkredit))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_Deckungsstopp", kde_Versicherung_Deckungsstopp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_DeckungsstoppDatum", kde_Versicherung_DeckungsstoppDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_Uebergeben", kde_Versicherung_Uebergeben))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_UebergebenAm", kde_Versicherung_UebergebenAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfall", kde_Versicherung_AnerkennungVersicherungsfall))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfallAm", kde_Versicherung_AnerkennungVersicherungsfallAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_AnerkennungVersicherungsfallAb", kde_Versicherung_AnerkennungVersicherungsfallAb))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungDeckungsquote", kde_txtVersicherungDeckungsquote))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungNichtVersicherbar", kde_txtVersicherungNichtVersicherbar))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Versicherung_GemeldeterBetrag", kde_Versicherung_GemeldeterBetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_txtVersicherungEHNr", kde_txtVersicherungEHNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_Provision", kde_Leihgeld_Provision))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_ProvisionPreisstaffel", kde_Leihgeld_ProvisionPreisstaffel))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Leihgeld_ProvisionAuftraggeber", kde_Leihgeld_ProvisionAuftraggeber))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabeSendungsListe", EmailFreigabeSendungsListe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_SteuerbescheidPDF", EmailFreigabe_SteuerbescheidPDF))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_SteuerbescheidPDF_Bedingung", EmailFreigabe_SteuerbescheidPDF_Bedingung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Art", EmailFreigabe_Art))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Export_Art", EmailFreigabe_Export_Art))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_VBDPDF", EmailFreigabe_VBDPDF))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_ABDPDF", EmailFreigabe_ABDPDF))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabeBeleg_Sendungsunterlagen", EmailFreigabeBeleg_Sendungsunterlagen))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Email_AVM", Email_AVM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Depot_Kunde", Depot_Kunde))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelleLG", FiBuSchnittstelleLG))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel2", Zahlungsziel2))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Zahlungsziel3", Zahlungsziel3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailAnkunft_Export", EmailAnkunft_Export))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Export", EmailFreigabe_Export))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BonitaetsStufe", kde_BonitaetsStufe))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_Uebergeben", kde_Inkasso_Uebergeben))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_UebergebenAm", kde_Inkasso_UebergebenAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Inkasso_GemeldeterBetrag", kde_Inkasso_GemeldeterBetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AutoFakturierung", AutoFakturierung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Veranlagungskunde", Veranlagungskunde))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Anmerkungen_Warnhinweis", Anmerkungen_Warnhinweis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VERAG_INTERFACE_ID", kde_VERAG_INTERFACE_ID))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BesonderheitenNeu", kde_BesonderheitenNeu))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_InfoAuftragsNr", kde_InfoAuftragsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundeFremdspedition", kde_KundeFremdspedition))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_verzolltBei", kde_verzolltBei))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KundeFremdspeditionExport", kde_KundeFremdspeditionExport))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_verzolltBeiExport", kde_verzolltBeiExport))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_API_Tradeshift", kde_API_Tradeshift))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FakturierungSR_Details", kde_FakturierungSR_Details))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Fakturierung_Sprache", kde_Fakturierung_Sprache))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_TOBB_KundenNr", kde_TOBB_KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveBonitaetsklasse", kde_CreditSaveBonitaetsklasse))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveBonitaetsIndex", kde_CreditSaveBonitaetsIndex))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveBonitaetsScore", kde_CreditSaveBonitaetsScore))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveId", kde_CreditSaveId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Abrechnung_SendungsdatenAusSTB", kde_Abrechnung_SendungsdatenAusSTB))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_CreditSaveNo", kde_CreditSaveNo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_UIDMehrfachverwendung", kde_UIDMehrfachverwendung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_EORIgeprueftAm", kde_EORIgeprueftAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_AdressZusatz", kde_AdressZusatz))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_abweichendesZZVL", kde_abweichendesZZVL))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_HRNr", kde_HRNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Kapital", kde_Kapital))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_KapitalWaehrung", kde_KapitalWaehrung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_GruendungsDatum", kde_GruendungsDatum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_WechselBetrag", kde_WechselBetrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_WechselGueltigBis", kde_WechselGueltigBis))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_WechselErhaltenAm", kde_WechselErhaltenAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_BankgarantielErhaltenAm", kde_BankgarantielErhaltenAm))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_WechselBlanko", kde_WechselBlanko))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_UStV_SummeVorschaubetragEUR_PLOSE", kde_UStV_SummeVorschaubetragEUR_PLOSE))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_keineMWSt", kde_keineMWSt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_MWStAbrechnung", kde_MWStAbrechnung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_AnmerkungVZ", kde_AnmerkungVZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_VZ", kde_VZ))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_AnmerkungAntrag", kde_AnmerkungAntrag))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_AnmerkungFR", kde_AnmerkungFR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_FR", kde_FR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kde_Erstattungsart", kde_Erstattungsart))
Return list
End Function
Public Function SAVE() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblKundenErweitert WHERE kde_KundenNr=@kde_KundenNr) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblKundenErweitert WHERE kde_KundenNr=@kde_KundenNr ", conn)
cmd.Parameters.AddWithValue("@kde_KundenNr", kde_KundenNr)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.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 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 [tblKundenErweitert] SET " & str & " WHERE kde_KundenNr=@kde_KundenNr ")
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
Public Function getInsertCmd() As String
Try
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim str As String = ""
Dim values As String = ""
For Each i In list
If Not i.isPrimaryParam Then
str &= "[" & i.Text & "],"
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblKundenErweitert (" & str & ") VALUES(" & values & ") ")
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
End Class