This commit is contained in:
2022-03-19 22:52:06 +01:00
parent 9b001e5803
commit d9204781cf
139 changed files with 19394 additions and 3352 deletions

View File

@@ -567,6 +567,7 @@ Public Class SQL
Case "VERAG" : conn = GetNewOpenConnectionFMZOLL()
Case "SCANCANON" : conn = GetNewOpenConnectionSCANCANON()
Case "WEB" : conn = GetNewOpenConnectionWEB()
Case "FIBU", "SYSKA" : conn = GetNewOpenConnectionSYSKA()
End Select
End If
@@ -851,7 +852,8 @@ Public Class SQL
dt.Load(dr)
If dt.Rows.Count > 1 Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
' MsgBox("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Die EORI-Nr. " & eori & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
End If
End If
s = dt.Rows(0).Item(0)
@@ -1102,7 +1104,8 @@ Public Class SQL
dt.Load(dr)
If dt.Rows.Count > 1 Then
If VERAG_PROG_ALLGEMEIN.cAllgemein.ERR_OP_GLOBAL = VERAG_PROG_ALLGEMEIN.ERROR_OP.SHOW Then
MsgBox("Die Zollnummer " & ZollNr & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
' MsgBox("Die Zollnummer " & ZollNr & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", vbCritical)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Die Zollnummer " & ZollNr & " ist in " & dt.Rows.Count & " Kundenstammsätzen eingetragen.", "", System.Reflection.MethodInfo.GetCurrentMethod.Name)
End If
End If
s = dt.Rows(0).Item(0)

View File

@@ -0,0 +1,289 @@
Imports System.Data.SqlClient
Imports System.Reflection
Public Enum cAPI_Status
[NEW] = 0 ' Neu, noch nicht verarbeitet
OK = 1 ' Erfolg! :)
ERR = 90 ' Fehlversuch :(
ERR_FINAL = 99 'Hier sollte kein Verarbeitungs-Versuch mehr gestartet werden
End Enum
Public Enum cAPI_ART
UNDEFINED = -1
AVISO_OUT_STATUSMAIL = 1
AVISO_OUT_BELEGMAIL = 2
'Public Const AVISO_MAIL_OUT_AVM = 5
'Public Const AVISO_MAIL_OUT_ABD = 6
'Public Const AVISO_MAIL_OUT_ZNV = 7
'Public Const AVISO_MAIL_OUT_AVM = 8
'Public Const AVISO_MAIL_OUT_AVM = 9
'Public Const AVISO_IN_NCTS = 10
'Public Const AVISO_IN_EZA = 11
VERAG_OUT_NCTS = 10
VERAG_OUT_EZA = 11
End Enum
Public Class cAPI_Type
Public Const UNDEFINED = Nothing
Public Const MAIL = "MAIL"
Public Const FTP = "FTP"
Public Const REST = "REST"
End Class
Public Class cAPI_INOUT
Public Const UNDEFINED = Nothing
Public Const [IN] = "IN"
Public Const OUT = "OUT"
End Class
Public Class cAPI
Property api_id As Integer
Property api_apiArt As cAPI_ART = -1
Property api_apiUArt As Object = Nothing
Property api_apiInfo As Object = Nothing
Property api_apiZollStatus As Object = Nothing
Property api_apiVersion As String = "1.0.0.0"
Property api_InOut As String = cAPI_INOUT.UNDEFINED
Property api_datetime As DateTime = Now
Property api_status As cAPI_Status = cAPI_Status.[NEW]
Property api_fehlversuch As Integer = 0
Property api_progId As Integer = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID
Property api_progName As String = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME
Property api_progVersion As String = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION
Property api_Testsystem As Boolean = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
Property api_Type As String = cAPI_Type.UNDEFINED
Property api_EMailFrom As Object = Nothing
Property api_EMail As Object = Nothing
Property api_EMailCC As Object = Nothing
Property api_EMailBCC As Object = Nothing
Property api_EMailSubject As Object = Nothing
Property api_EMailText As Object = Nothing
Property api_EMailAttCnt As Object = Nothing
Property api_filepathSource As Object = Nothing
Property api_filepathDestination As Object = Nothing
Property api_Firma As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Property api_MaId As String = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
Property api_Username As String = If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, "AUTO")
Property api_Partnersystem As Object = Nothing
Property api_Vorsystem As Object = Nothing
Property api_KundenNr As Object = Nothing
Property api_AvisoId As Object = Nothing
Property api_SendungsId As Object = Nothing
Property api_FilialenNr As Object = Nothing
Property api_AbfertigungsNr As Object = Nothing
Property api_BezugsNr As Object = Nothing
Property api_Zollbelegnummer As Object = Nothing
Property api_finTstmp As Object = Nothing
Property api_errTstmp As Object = Nothing
Property api_errStack As Object = Nothing
Property api_errMessage As Object = Nothing
Property api_errMethodName As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
api_progId = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGID
api_progName = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGNAME
api_progVersion = VERAG_PROG_ALLGEMEIN.cAllgemein.PROGVERSION
api_Testsystem = VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM
api_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
api_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
api_Username = If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, "AUTO")
End Sub
Sub New(api_id)
Me.api_id = api_id
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("api_id", api_id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiArt", api_apiArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiUArt", api_apiUArt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiInfo", api_apiInfo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiZollStatus", api_apiZollStatus))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_apiVersion", api_apiVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_InOut", api_InOut))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_datetime", api_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_status", api_status))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_fehlversuch", api_fehlversuch))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_progId", api_progId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_progName", api_progName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_progVersion", api_progVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Testsystem", api_Testsystem))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Type", api_Type)) 'MAIL; FTP; REST
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailFrom", api_EMailFrom))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMail", api_EMail))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailCC", api_EMailCC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailBCC", api_EMailBCC))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailSubject", api_EMailSubject))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailText", api_EMailText))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_EMailAttCnt", api_EMailAttCnt))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_filepathSource", api_filepathSource))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_filepathDestination", api_filepathDestination))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Firma", api_Firma))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_MaId", api_MaId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Partnersystem", api_Partnersystem))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Vorsystem", api_Vorsystem))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_KundenNr", api_KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_AvisoId", api_AvisoId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_SendungsId", api_SendungsId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_FilialenNr", api_FilialenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_AbfertigungsNr", api_AbfertigungsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_BezugsNr", api_BezugsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_Zollbelegnummer", api_Zollbelegnummer))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_finTstmp", api_finTstmp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errTstmp", api_errTstmp))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errStack", api_errStack))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errMessage", api_errMessage))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("api_errMethodName", api_errMethodName))
Return list
End Function
Public Shared Function INSERT_API(api_InOut As String, api_Type As String, api_apiArt As cAPI_ART, Optional api_apiUArt As Object = Nothing,
Optional api_Partnersystem As Object = Nothing, Optional api_Vorsystem As Object = Nothing, Optional api_KundenNr As Object = Nothing,
Optional api_AvisoId As Object = Nothing, Optional api_SendungsId As Object = Nothing, Optional api_FilialenNr As Object = Nothing,
Optional api_AbfertigungsNr As Object = Nothing, Optional api_BezugsNr As Object = Nothing, Optional api_Zollbelegnummer As Object = Nothing) As cAPI
Dim API As New cAPI()
API.api_apiArt = api_apiArt
API.api_apiUArt = api_apiUArt
API.api_InOut = api_InOut
API.api_status = cAPI_Status.[NEW]
API.api_Type = api_Type
API.api_Partnersystem = api_Partnersystem
API.api_Vorsystem = api_Vorsystem
API.api_KundenNr = api_KundenNr
API.api_AvisoId = api_AvisoId
API.api_SendungsId = api_SendungsId
API.api_FilialenNr = api_FilialenNr
API.api_AbfertigungsNr = api_AbfertigungsNr
API.api_BezugsNr = api_BezugsNr
API.api_Zollbelegnummer = api_Zollbelegnummer
API.SAVE()
Return API
End Function
Public Sub UPDTAE_ERR(Optional api_errStack = Nothing, Optional api_errMessage = Nothing, Optional api_errMethodName = Nothing)
Me.api_status = cAPI_Status.ERR
Me.api_errTstmp = Now
Me.api_errStack = If(api_errStack, Me.api_errStack)
Me.api_errMessage = If(api_errMessage, Me.api_errMessage)
Me.api_errMethodName = If(api_errMethodName, Me.api_errMethodName)
Me.api_fehlversuch += 1
Me.SAVE()
End Sub
Public Sub UPDTAE_OK(Optional api_status = 1, Optional api_filepathDestination = Nothing)
Me.api_status = cAPI_Status.OK
Me.api_finTstmp = Now
Me.api_filepathDestination = If(api_filepathDestination, Me.api_filepathDestination)
Me.api_EMail = If(api_EMail, Me.api_EMail)
Me.api_EMailCC = If(api_EMailCC, Me.api_EMailCC)
Me.api_EMailBCC = If(api_EMailBCC, Me.api_EMailBCC)
Me.api_EMailSubject = If(api_EMailSubject, Me.api_EMailSubject)
Me.api_EMailText = If(api_EMailText, Me.api_EMailText)
Me.api_EMailAttCnt = If(api_EMailAttCnt, Me.api_EMailAttCnt)
Me.SAVE()
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 tblAPI WHERE api_id=@api_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
api_id = SQL.doSQLVarListID(api_id, sqlstr, "ADMIN", , list)
hasEntry = api_id > 0
Return api_id > 0
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM tblAPI WHERE api_id=@api_id ", conn)
cmd.Parameters.AddWithValue("@api_id", api_id)
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
hasEntry = True
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 [tblAPI] SET " & str & " WHERE api_id=@api_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
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 tblAPI (" & 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

View File

@@ -25,6 +25,10 @@ Public Class cAvisoBenachrichtigungen
Property ab_Cluster As Object = Nothing
Property ab_collAnhId As Object = Nothing
Property ab_Vermerk As Object = Nothing
Property ab_ReminderVermerkID As Object = Nothing
Property ab_ReminderVermerkCode As Object = Nothing
Shared SQL As New SQL
@@ -43,9 +47,11 @@ Public Class cAvisoBenachrichtigungen
LOAD()
End Sub
Public Shared Function INSERT_BENACHRICHTIGUNG(ab_AvisoID As Integer, ab_SendungID As Object, ab_BenachrichtigungCode As Integer, Optional ab_TO_Art As Object = Nothing, Optional ab_TO_Code As Object = Nothing, Optional ab_Beschreibung As String = "", Optional ab_Prioritaet As Integer = 0, Optional ab_collAnhId As String = "", Optional ab_Vermerk As String = "") As Boolean
Public Shared Function INSERT_BENACHRICHTIGUNG(ab_AvisoID As Integer, ab_SendungID As Object, ab_BenachrichtigungCode As Integer, Optional ab_TO_Art As Object = Nothing, Optional ab_TO_Code As Object = Nothing, Optional ab_Beschreibung As String = "", Optional ab_Prioritaet As Integer = 0, Optional ab_collAnhId As String = "", Optional ab_Vermerk As String = "", Optional [ab_ReminderVermerkID] As Object = Nothing, Optional [ab_ReminderVermerkCode] As Object = Nothing, Optional FirmaTmp As Object = Nothing) As Boolean
Dim AB As New cAvisoBenachrichtigungen
AB.ab_AvisoID = ab_AvisoID
If ab_SendungID IsNot Nothing AndAlso ab_SendungID > 0 Then
AB.ab_SendungID = ab_SendungID
@@ -66,8 +72,11 @@ Public Class cAvisoBenachrichtigungen
AB.ab_Prioritaet = ab_Prioritaet
AB.ab_Mitarbeiter = If(VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, "AUTO")
AB.ab_MitarbeiterId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
AB.ab_ReminderVermerkID = ab_ReminderVermerkID
AB.ab_ReminderVermerkCode = ab_ReminderVermerkCode
AB.ab_Firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
AB.ab_Firma = If(FirmaTmp, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA)
AB.ab_Cluster = VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER
AB.ab_Vermerk = ab_Vermerk
AB.ab_collAnhId = ab_collAnhId
@@ -126,6 +135,9 @@ Public Class cAvisoBenachrichtigungen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Cluster", ab_Cluster))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_collAnhId", ab_collAnhId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_Vermerk", ab_Vermerk))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_ReminderVermerkCode", ab_ReminderVermerkCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ab_ReminderVermerkID", ab_ReminderVermerkID))
Return list
End Function

View File

@@ -0,0 +1,190 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cBesuchsbericht
Property bb_Id As Object = Nothing
Property bb_DatumErfassung As Date = Now
Property bb_DatumBesuch As Object = Nothing
Property bb_Sachbearbeiter As Object = Nothing
Property bb_SachbearbeiterId As Integer
Property bb_Teilnehmer As Object = Nothing
Property bb_Kontaktart As Object = Nothing
Property bb_Firma As Object = Nothing
Property bb_Kunde As Object = Nothing
Property bb_KundenNr As Object = Nothing
Property bb_Geschaeftsfuehrer As Object = Nothing
Property bb_Umsatz As Object = Nothing
Property bb_Anpsprechpartner As Object = Nothing
Property bb_Telefon As Object = Nothing
Property bb_Mail As Object = Nothing
Property bb_FuhrparkEigentum As Object = Nothing
Property bb_FuhrparkLeasing As Object = Nothing
Property bb_LKW_Plane As Boolean = False
Property bb_LKW_Kuehltranporte As Boolean = False
Property bb_LKW_Sonsertransporte As Boolean = False
Property bb_LKW_Sprinter As Boolean = False
Property bb_LKW_SiloTank As Boolean = False
Property bb_Auftraggeber As Object = Nothing
Property bb_Route As Object = Nothing
Property bb_DerzeitigerLieferant As Object = Nothing
Property bb_Zufrieden As Object = Nothing
Property bb_ZufriedenNEIN As Object = Nothing
Property bb_Garantie As Object = Nothing
Property bb_Interesse_Zollabfertigung As Boolean = False
Property bb_Interesse_Brexit As Boolean = False
Property bb_Interesse_Parkplatz As Boolean = False
Property bb_Interesse_LagerUmschlag As Boolean = False
Property bb_Interesse_Rola As Boolean = False
Property bb_Interesse_YesMoney As Boolean = False
Property bb_Interesse_Ferry As Boolean = False
Property bb_Vermerk As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
bb_Garantie = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
End Sub
Sub New(bb_Id)
Me.bb_Id = bb_Id
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("bb_Id", bb_Id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Firma", bb_Firma)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_DatumErfassung", bb_DatumErfassung)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_DatumBesuch", bb_DatumBesuch)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Sachbearbeiter", bb_Sachbearbeiter)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_SachbearbeiterId", bb_SachbearbeiterId)) 'Integer
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Teilnehmer", bb_Teilnehmer)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Kontaktart", bb_Kontaktart)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Kunde", bb_Kunde)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_KundenNr", bb_KundenNr)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Geschaeftsfuehrer", bb_Geschaeftsfuehrer)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Umsatz", bb_Umsatz)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Anpsprechpartner", bb_Anpsprechpartner)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Telefon", bb_Telefon)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Mail", bb_Mail)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_FuhrparkEigentum", bb_FuhrparkEigentum)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_FuhrparkLeasing", bb_FuhrparkLeasing)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_LKW_Plane", bb_LKW_Plane)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_LKW_Kuehltranporte", bb_LKW_Kuehltranporte)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_LKW_Sonsertransporte", bb_LKW_Sonsertransporte)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_LKW_Sprinter", bb_LKW_Sprinter)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_LKW_SiloTank", bb_LKW_SiloTank)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Auftraggeber", bb_Auftraggeber)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Route", bb_Route)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_DerzeitigerLieferant", bb_DerzeitigerLieferant)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Zufrieden", bb_Zufrieden)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_ZufriedenNEIN", bb_ZufriedenNEIN)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Garantie", bb_Garantie)) 'Object = Nothing
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_Zollabfertigung", bb_Interesse_Zollabfertigung)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_Brexit", bb_Interesse_Brexit)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_Parkplatz", bb_Interesse_Parkplatz)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_LagerUmschlag", bb_Interesse_LagerUmschlag)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_Rola", bb_Interesse_Rola)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_YesMoney", bb_Interesse_YesMoney)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Interesse_Ferry", bb_Interesse_Ferry)) 'Boolean = False
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("bb_Vermerk", bb_Vermerk)) 'Object = Nothing
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 tblBesuchsberichte WHERE bb_Id=@bb_Id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
bb_Id = SQL.doSQLVarListID(bb_Id, sqlstr, "FMZOLL", , list)
Return (bb_Id > 0)
End Function
Public Shared Function DELETE(bb_Id As Integer) As Boolean
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.doSQL("DELETE FROM tblBesuchsberichte WHERE bb_Id=" & bb_Id)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblBesuchsberichte WHERE bb_Id=@bb_Id ", conn)
cmd.Parameters.AddWithValue("@bb_Id", bb_Id)
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
hasEntry = True
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 [tblBesuchsberichte] SET " & str & " WHERE bb_Id=@bb_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
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 tblBesuchsberichte (" & 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

View File

@@ -0,0 +1,23 @@
Public Class cChilkat_Helper
Public Shared Sub UnlockCilkat()
Dim glob As Chilkat.[Global] = New Chilkat.[Global]()
Dim success As Boolean = glob.UnlockBundle("VERAGS.CB1122022_JJ6kgS2zoR0g")
If success <> True Then
Debug.WriteLine(glob.LastErrorText)
Return
End If
Dim status As Integer = glob.UnlockStatus
If status = 2 Then
Debug.WriteLine("Unlocked using purchased unlock code.")
Else
Debug.WriteLine("Unlocked in trial mode.")
End If
Debug.WriteLine(glob.LastErrorText)
End Sub
End Class

View File

@@ -113,7 +113,7 @@ Public Class cEmailBenachrichtigung
End Function
Shared Sub eMails_einlesen(Kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList)
Shared Sub eMails_einlesen(Kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, ByRef Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList)
'ART:
'1=Ankunft
'2=Freigabe
@@ -140,11 +140,11 @@ Public Class cEmailBenachrichtigung
'Dim Emails As String
For Each i In Kdnr_Mails.LIST
If i.eb_bcc Then
If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existingWOKdNr(i.eb_EMail, Emails_list_sent.LIST) Then Emails_BCC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
ElseIf i.eb_cc Then
If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existingWOKdNr(i.eb_EMail, Emails_list_sent.LIST) Then Emails_CC_list.LIST.Add(i) ' &= i.eb_EMail & ";"
Else
If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existing(Kdnr, i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";"
If Not existing(Kdnr, i.eb_EMail, Emails_BCC_list.LIST, Emails_CC_list.LIST, Emails_list.LIST) And Not existingWOKdNr(i.eb_EMail, Emails_list_sent.LIST) Then Emails_list.LIST.Add(i) ' &= i.eb_EMail & ";"
End If
Next
'For Each i In Fraechter_Mails.LIST
@@ -184,7 +184,7 @@ Public Class cEmailBenachrichtigung
End Select
End Function
Shared Sub eMails_einlesenOLD(hFrächter_kdnr As String, hAuftraggeber_kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList)
Shared Sub eMails_einlesenOLD(hFrächter_kdnr As String, hAuftraggeber_kdnr As String, art As Integer, ByRef Emails As String, ByRef Emails_CC As String, ByRef Emails_BCC As String, ByRef Emails_list_sent As VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigungList)
'ART:
'1=Ankunft
'2=Freigabe
@@ -258,5 +258,23 @@ Public Class cEmailBenachrichtigung
End If
Return False
End Function
Shared Function existingWOKdNr(Email As String, Emails_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung), Optional ListEmails_CC_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung) = Nothing, Optional ListEmails_BCC_list As List(Of VERAG_PROG_ALLGEMEIN.cEmailBenachrichtigung) = Nothing) As Boolean
If Emails_list IsNot Nothing Then
For Each i In Emails_list
If i.eb_EMail = Email Then Return True
Next
End If
If ListEmails_CC_list IsNot Nothing Then
For Each i In ListEmails_CC_list
If i.eb_EMail = Email Then Return True
Next
End If
If ListEmails_BCC_list IsNot Nothing Then
For Each i In ListEmails_BCC_list
If i.eb_EMail = Email Then Return True
Next
End If
Return False
End Function
End Class

View File

@@ -0,0 +1,649 @@

Imports System.Data.SqlClient
Imports System.Reflection
Public Class cGVMS
Property gvms_id As Integer
Property gvms_datetime As DateTime = Now
Property gvms_firma As String
Property gvms_notification_id As Object = Nothing
Property gvms_notification_boxid As Object = Nothing
Property gvms_status As Object = Nothing
Property gvms_GMR As Object = Nothing
Property gvms_gmr_creationDate As Object = Nothing
Property gvms_gmr_statusVersion As Object = Nothing
Property gvms_routeId As Integer = -1
Property gvms_direction As String
Property gvms_vehicleRegNum As String
Property gvms_trailorRegNum As Object = Nothing
Property gvms_isUnaccompanied As Object = Nothing
Property gvms_empty As Object = Nothing
Property gvms_emptyisOwn As Object = Nothing
Property gvms_SS As Object = Nothing
Property gvms_locateDateTimeOfDeparture As Object = Nothing
Public GVMS_POSITIONEN As New List(Of cGVMS_POS)
Public hasEntry As Boolean = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(gvms_id)
Me.gvms_id = gvms_id
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("gvms_id", gvms_id,, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_datetime", gvms_datetime))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_firma", gvms_firma))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_notification_id", gvms_notification_id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_notification_boxid", gvms_notification_boxid))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_status", gvms_status))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_GMR", gvms_GMR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_gmr_creationDate", gvms_gmr_creationDate))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_gmr_statusVersion", gvms_gmr_statusVersion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_routeId", gvms_routeId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_direction", gvms_direction))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_vehicleRegNum", gvms_vehicleRegNum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_trailorRegNum", gvms_trailorRegNum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_isUnaccompanied", gvms_isUnaccompanied))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_empty", gvms_empty))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_emptyisOwn", gvms_emptyisOwn))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_SS", gvms_SS))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_locateDateTimeOfDeparture", gvms_locateDateTimeOfDeparture))
Return list
End Function
Public Function SAVE(Optional saveAll = True) As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblGVMS WHERE gvms_id=@gvms_id) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Me.gvms_id = SQL.doSQLVarListID(gvms_id, sqlstr, "FMZOLL", , list)
If gvms_id > 0 And saveAll Then
SAVE_POSITIONEN()
End If
Return (gvms_id > 0)
End Function
Public Function SAVE_POSITIONEN() As Boolean
'Zuserst alle OffertenPos von dem Offert löschen
If DELETE_Warenpositionen() Then 'And DELETE_WarenpositionUnterlagen() Then
'jetzt die Standartofferten einfügen
For Each p In GVMS_POSITIONEN
p.gvmsPos_gvmsId = gvms_id
p.INSERT()
Next
Else
Return False
End If
Return True
End Function
Function DELETE_Warenpositionen() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
Dim sqlstr = " DELETE FROM [tblGVMS_Pos] WHERE gvmsPos_gvmsId=" & Me.gvms_id & " "
' MsgBox(sqlstr)
Return SQL.doSQL(sqlstr, "FMZOLL")
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblGVMS WHERE gvms_id=@gvms_id ", conn)
cmd.Parameters.AddWithValue("@gvms_id", gvms_id)
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
hasEntry = True
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 Shared Function LOAD_ByNotification(gvms_notification_boxid, gvms_notification_id) As cGVMS
Try
Dim GVMS As New cGVMS
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblGVMS WHERE gvms_notification_boxid=@gvms_notification_boxid AND gvms_notification_id=@gvms_notification_id ", conn)
cmd.Parameters.AddWithValue("@gvms_notification_id", gvms_notification_id)
cmd.Parameters.AddWithValue("@gvms_notification_boxid", gvms_notification_boxid)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In GVMS.getParameterList()
Dim propInfo As PropertyInfo = GVMS.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(GVMS, Nothing)
Else
propInfo.SetValue(GVMS, dr.Item(li.Text))
End If
Next
GVMS.hasEntry = True
dr.Close()
Return GVMS
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
Return Nothing
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 [tblGVMS] SET " & str & " WHERE gvms_id=@gvms_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
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 tblGVMS (" & 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
Public Class cGVMS_POS
Property gvmsPos_id As Integer
Property gvmsPos_gvmsId As Integer
Property gvms_art As String
Property gvms_RefNum As String
Property gvms_SS As Object = Nothing
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Sub New()
' Me.nctsWpUl_nctsWPId = nctsWpUl_nctsWPId
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("gvmsPos_id", gvmsPos_id, , True, True))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvmsPos_gvmsId", gvmsPos_gvmsId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_art", gvms_art))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_RefNum", gvms_RefNum))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("gvms_SS", gvms_SS))
Return list
End Function
Public Function INSERT() As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
gvmsPos_id = SQL.doSQLVarListID(gvmsPos_id, getInsertCmd(), "FMZOLL", , list)
Return gvmsPos_id > 0
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 tblGVMS_Pos (" & 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
Public Class cGVMS_POS_DecArt
Public Shared EIDR As String = "EIDR"
Public Shared EXPORT As String = "EXPORT"
Public Shared IMPORT As String = "IMPORT"
Public Shared TAD As String = "TAD"
Public Shared TSAD As String = "TSAD"
Public Shared ATA As String = "ATA"
Public Shared TIR As String = "TIR"
Public Shared ORAL As String = "ORAL"
Public Shared INDIRECT As String = "INDIRECT"
End Class
Public Class cGVMS_Carriers
Property carrierId As Integer
Property carrierName As Object = Nothing
Property countryCode As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(carrierId)
Me.carrierId = carrierId
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("carrierId", carrierId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("carrierName", carrierName))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("countryCode", countryCode))
Return list
End Function
Shared Function DELETE_ALL() As Boolean
Dim SQL As New SQL
Return SQL.doSQL(" DELETE FROM tblGVMS_Carriers", "FMZOLL")
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 tblGVMS_Carriers WHERE carrierId=@carrierId) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblGVMS_Carriers WHERE carrierId=@carrierId ", conn)
cmd.Parameters.AddWithValue("@carrierId", carrierId)
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
hasEntry = True
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 [tblGVMS_Carriers] SET " & str & " WHERE carrierId=@carrierId ")
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 tblGVMS_Carriers (" & 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
Public Class cGVMS_Routes
Property routeId As Integer
Property routeDirection As String
Property routeEffectiveFrom As Object = Nothing
Property departurePortId As Object = Nothing
Property arrivalPortId As Object = Nothing
Property carrierId As Object = Nothing
Property routeEffectiveTo As Object = Nothing
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(routeId)
Me.routeId = routeId
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("routeId", routeId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("routeDirection", routeDirection))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("routeEffectiveFrom", routeEffectiveFrom))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("departurePortId", departurePortId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("arrivalPortId", arrivalPortId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("carrierId", carrierId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("routeEffectiveTo", routeEffectiveTo))
Return list
End Function
Shared Function DELETE_ALL() As Boolean
Dim SQL As New SQL
Return SQL.doSQL(" DELETE FROM tblGVMS_Routes", "FMZOLL")
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 tblGVMS_Routes WHERE routeId=@routeId) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblGVMS_Routes WHERE routeId=@routeId ", conn)
cmd.Parameters.AddWithValue("@routeId", routeId)
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
hasEntry = True
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 [tblGVMS_Routes] SET " & str & " WHERE routeId=@routeId ")
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 tblGVMS_Routes (" & 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
Public Class cGVMS_Ports
Property portId As Integer
Property portDescription As String
Property portRegion As Object = Nothing
Property portEffectiveFrom As Object = Nothing
Property chiefPortCode As Object = Nothing
Property cdsPortCode As Object = Nothing
Property officeOfTransitCustomsOfficeCode As Object = Nothing
Property portEffectiveTo As Object = Nothing
Property portCountryCode As Object = Nothing
Property isOperatingArrivedExportsProcess As Boolean
Public hasEntry = False
Dim SQL As New SQL
Sub New()
End Sub
Sub New(portId)
Me.portId = portId
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("portId", portId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("portDescription", portDescription))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("portRegion", portRegion))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("portEffectiveFrom", portEffectiveFrom))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chiefPortCode", chiefPortCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("cdsPortCode", cdsPortCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("officeOfTransitCustomsOfficeCode", officeOfTransitCustomsOfficeCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("portEffectiveTo", portEffectiveTo))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("portCountryCode", portCountryCode))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("isOperatingArrivedExportsProcess", isOperatingArrivedExportsProcess))
Return list
End Function
Shared Function DELETE_ALL() As Boolean
Dim SQL As New SQL
Return SQL.doSQL(" DELETE FROM tblGVMS_Ports", "FMZOLL")
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 tblGVMS_Ports WHERE portId=@portId) " &
" BEGIN " & getUpdateCmd() & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD()
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblGVMS_Ports WHERE portId=@portId ", conn)
cmd.Parameters.AddWithValue("@portId", portId)
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
hasEntry = True
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 [tblGVMS_Ports] SET " & str & " WHERE portId=@portId ")
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 tblGVMS_Ports (" & 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

View File

@@ -37,6 +37,7 @@ Public Class cKundenErweitert
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 Email_AVM As Boolean = False
@@ -105,6 +106,7 @@ Public Class cKundenErweitert
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("Email_AVM", Email_AVM))

View File

@@ -657,6 +657,12 @@ Public Class cMessenger
End Function
Public Function DELETE_MESSAGE() As Boolean
chatMg_type = "DEL_" & chatMg_type
Me.DELETE_STATUS() 'Alle Statuseinträge löschen
Return SAVE(False)
End Function
Public Function DELETE([chatMgSt_MaId]) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
Dim sqlstr = " DELETE FROM tblMessenger_ChatMessages WHERE [chatMg_id]=" & Me.chatMg_id & " "
Return SQL.doSQL(sqlstr, "ADMIN")
@@ -703,6 +709,16 @@ Public Class cMessenger
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End Sub
Public Sub DELETE_STATUS()
Try
If SQL.doSQL("DELETE FROM tblMessenger_ChatMessageStatus WHERE chatMgSt_chatMsgId='" & Me.chatMg_id & "'", "ADMIN") Then
Me.CHAT_MESSAGES_STATUS_LIST.Clear()
End If
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
End Class

View File

@@ -77,7 +77,7 @@ Public Class cRechnungsausgang
Property Text As Object = Nothing
Property SteuerpflichtigerGesamtbetrag As Decimal = 0
Property SteuerfreierGesamtbetrag As Decimal = 0
Property Status As Object = 0
Property Status As Integer = 0
Property DruckDatumZeit As Object = Nothing
Property Abfertigungskosten As Object = Nothing
Property Vorkosten As Object = Nothing

View File

@@ -42,17 +42,17 @@ Public Class cRechnungsnummern
BisRechnungsNr = Now.ToString("yy") & "599999"
Case 21 ' UNISPED AT
VonRechnungsNr = Now.ToString("yy") & "7000000"
BisRechnungsNr = Now.ToString("yy") & "7999999"
VonRechnungsNr = "7000000"
BisRechnungsNr = "7999999"
Case 22 ' UNISPED DE
VonRechnungsNr = Now.ToString("yy") & "9000000"
BisRechnungsNr = Now.ToString("yy") & "9999999"
VonRechnungsNr = "9000000"
BisRechnungsNr = "9999999"
Case 23 ' UNISPED Zollservice
VonRechnungsNr = Now.ToString("yy") & "5000000"
BisRechnungsNr = Now.ToString("yy") & "5999999"
VonRechnungsNr = "5000000"
BisRechnungsNr = "5999999"
Case 26 ' VERAG-UNISPED
VonRechnungsNr = Now.ToString("yy") & "0000001"
BisRechnungsNr = Now.ToString("yy") & "9999999"
VonRechnungsNr = "0000001"
BisRechnungsNr = "9999999"
End Select
LfdRechnungsNr = VonRechnungsNr
'-------------------------------------
@@ -75,9 +75,11 @@ Public Class cRechnungsnummern
Public Function CHECK_RGNR() As Integer ' Prüfung, ob RgNr schon vergeben wurde --> dann +1, bis freie Nr.
Dim increased = False
While SQL.DLookup("count(*)", "Rechnungsausgang", " RechnungsNr='" & LfdRechnungsNr & "' and Firma_ID='" & SpeditionsbuchNr & "' ", "FMZOLL", 0) > 0
System.Threading.Thread.Sleep(200) ' nur, um abzuwarten falls parallel eine Nr vergeben wird
While SQL.DLookup("count(*)", "Rechnungsausgang", " RechnungsNr='" & LfdRechnungsNr & "' and Firma_ID='" & SpeditionsbuchNr & "' and Buchungsjahr='" & Buchungsjahr & "' ", "FMZOLL", 0) > 0
LfdRechnungsNr += 1
increased = True
System.Threading.Thread.Sleep(100) ' nur, um abzuwarten falls parallel eine Nr vergeben wird
End While
If increased Then SAVE()
Return LfdRechnungsNr

View File

@@ -5,6 +5,8 @@ Imports System.Data.SqlClient
Imports System.Reflection
Public Class cSMS
Dim API_USER_AUTHORIZATION = "040b08e268d340179d922f867816b8a6"
Property sms_id As Integer
Property sms_Datum As Date = Now
Property sms_Firma As Object = Nothing
@@ -32,6 +34,12 @@ Public Class cSMS
Property sms_Delivered As Object = Nothing
Property sms_Failure As Object = Nothing
Property sms_art as string= "SMS"
Property whatsApp_status As Object = Nothing
Property whatsApp_gatewayId As Object = Nothing
Property whatsApp_error As Object = Nothing
Property whatsApp_errorCode As Object = Nothing
Dim ESENDEX_USER As String = "al@verag.ag"
Dim ESENDEX_PWD As String = "Developer#2"
@@ -78,6 +86,11 @@ Public Class cSMS
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_Failure", sms_Failure))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("sms_art", sms_art))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("whatsApp_status", whatsApp_status))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("whatsApp_gatewayId", whatsApp_gatewayId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("whatsApp_error", whatsApp_error))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("whatsApp_errorCode", whatsApp_errorCode))
Return list
End Function
@@ -88,10 +101,10 @@ Public Class cSMS
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblSMS WITH(updlock,serializable) WHERE sms_id=@sms_id) " &
" BEGIN " & getUpdateCmd() & " END " &
Dim sqlstr = " BEGIN TRAN If EXISTS(Select * FROM tblSMS With(updlock, serializable) WHERE sms_id=@sms_id) " &
" BEGIN " & getUpdateCmd() & " End " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" BEGIN " & getInsertCmd() & " End " &
" commit tran "
sms_id = SQL.doSQLVarListID(sms_id, sqlstr, "FMZOLL", , list)
@@ -102,7 +115,7 @@ Public Class cSMS
Public Sub LOAD()
Try
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("SELECT * FROM tblSMS WHERE sms_id=@sms_id ", conn)
Using cmd As New SqlCommand("Select * FROM tblSMS WHERE sms_id=@sms_id ", conn)
cmd.Parameters.AddWithValue("@sms_id", sms_id)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
@@ -214,6 +227,178 @@ Public Class cSMS
End Try
End Function
Function sendWhatsApp(Originator As String) As Boolean
Try
VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat()
Dim API_STRING = "https://connect.esendex.com"
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
Debug.WriteLine("ConnectFailReason: " & rest.ConnectFailReason)
Debug.WriteLine(rest.LastErrorText)
Return False
End If
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", API_USER_AUTHORIZATION)
'rest.AddHeader("Accept", "application/vnd.hmrc.1.0+json")
'Dim sbRequestBody As New Chilkat.StringBuilder
'json.EmitSb(sbRequestBody)
Me.sms_art = "WHATSAPP"
Dim absenderFirma As String = Me.sms_Firma
Dim HandyNr As String = Me.sms_Handynummer
If HandyNr.ToString.StartsWith("00") Then HandyNr = "+" & HandyNr.Substring(2)
If Originator = "" Then Originator = absenderFirma
If Originator.Length > 11 Then Originator = Originator.Substring(0, 11)
Dim json As New Chilkat.JsonObject
Dim successJsonLoad As Boolean = json.Load("
{
""accountReference"": """ & Me.sms_Account & """,
""channels"": [
""WhatsApp""
],
""metadata"":{
""key"": ""value""
},
""recipient"": {
""address"": {
""msisdn"": """ & HandyNr & """
}
},
""content"": {
""body"": {
""text"": {
""value"": """ & Me.sms_Nachricht & """
}
}
},
""channelSettings"": {
""sms"": {
""originator"": """ & Originator & """,
""characterSet"": ""GSM""
}
},
""expiry"": ""30""
}")
If (successJsonLoad <> True) Then
MsgBox(json.LastErrorText)
Return False
End If
Dim sbRequestBody As New Chilkat.StringBuilder
json.EmitSb(sbRequestBody)
' MsgBox(sbRequestBody.ToString)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("POST", "/richcontent/v3/send", sbRequestBody, sbResponseBody)
If (success <> True) Then
Debug.WriteLine(rest.LastErrorText)
Return False
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
Me.whatsApp_status = respStatusCode ' 202 = OK - Gesendet
If (respStatusCode <> 202) Then
MsgBox(sbResponseBody.GetAsString())
Return False
End If
Dim jsonResp = New Chilkat.JsonObject()
jsonResp.LoadSb(sbResponseBody)
Dim gatewayId = jsonResp.StringOf("gatewayId")
Dim Resp_error = jsonResp.StringOf("error")
Dim Resp_errorCode = jsonResp.StringOf("errorCode")
Me.whatsApp_gatewayId = gatewayId
If Resp_error <> "" Then Me.whatsApp_error = Resp_error
If Resp_errorCode <> "" Then Me.whatsApp_errorCode = Resp_errorCode
' MsgBox(gatewayId)
If Not Me.SAVE() Then
MsgBox("Fehler: SMS Daten wurden nicht gespeichert!")
End If
Return True
'productTitle = json.StringOf("product.title");
'productBody_html = json.StringOf("product.body_html");
'productVendor = json.StringOf("product.vendor");
'productProduct_type = json.StringOf("product.product_type");
'productCreated_at = json.StringOf("product.created_at");
'productHandle = json.StringOf("product.handle");
'productUpdated_at = json.StringOf("product.updated_at");
'productPublished_at = json.IsNullOf("product.published_at");
'productTemplate_suffix = json.IsNullOf("product.template_suffix");
'productPublished_scope = json.StringOf("product.published_scope");
'productTags = json.StringOf("product.tags");
'productImage = json.IsNullOf("product.image");
'i = 0;
'count_i = json.SizeOfArray("product.variants");
'while (i < count_i) {
' json.I = i;
' id = json.IntOf("product.variants[i].id");
' product_id = json.IntOf("product.variants[i].product_id");
' title = json.StringOf("product.variants[i].title");
' price = json.StringOf("product.variants[i].price");
' sku = json.StringOf("product.variants[i].sku");
' position = json.IntOf("product.variants[i].position");
' grams = json.IntOf("product.variants[i].grams");
' inventory_policy = json.StringOf("product.variants[i].inventory_policy");
' compare_at_price = json.IsNullOf("product.variants[i].compare_at_price");
' fulfillment_service = json.StringOf("product.variants[i].fulfillment_service");
' inventory_management = json.IsNullOf("product.variants[i].inventory_management");
' option1 = json.StringOf("product.variants[i].option1");
' option2 = json.IsNullOf("product.variants[i].option2");
' option3 = json.IsNullOf("product.variants[i].option3");
' created_at = json.StringOf("product.variants[i].created_at");
' updated_at = json.StringOf("product.variants[i].updated_at");
' taxable = json.BoolOf("product.variants[i].taxable");
' barcode = json.IsNullOf("product.variants[i].barcode");
' image_id = json.IsNullOf("product.variants[i].image_id");
' inventory_quantity = json.IntOf("product.variants[i].inventory_quantity");
' weight = json.IntOf("product.variants[i].weight");
' weight_unit = json.StringOf("product.variants[i].weight_unit");
' old_inventory_quantity = json.IntOf("product.variants[i].old_inventory_quantity");
' requires_shipping = json.BoolOf("product.variants[i].requires_shipping");
' i = i + 1;
'}
Return True
Catch ex As Exception
MsgBox("Fehler beim Senden der WhatsApp-SMS!" & vbNewLine & ex.Message & ex.StackTrace)
Return False
End Try
End Function
Function checkSMSStatus(Optional silent = False, Optional insertVermerkAviso = True) As String
Try
@@ -279,11 +464,152 @@ Public Class cSMS
End Function
Function checkWhatsAppStatus(Optional silent = False, Optional insertVermerkAviso = True) As String
Try
Select Case Me.sms_Status
Case MessageStatus.Submitted, MessageStatus.Sent, MessageStatus.Scheduled, MessageStatus.Connecting, -1
'Weiter...
Case Else
' Bereits finaler Status, keine Abfrage nötig
Return Me.sms_Status
End Select
If If(Me.whatsApp_gatewayId, "") = "" Then
If Not silent Then MsgBox("Keine MessageId gefunden!")
Return Me.sms_Status ' Keine MsgId
End If
Dim API_STRING = "https://connect.esendex.com"
Dim rest As New Chilkat.Rest
Dim success As Boolean
Dim bTls As Boolean = True
Dim port As Integer = 443
Dim bAutoReconnect As Boolean = True
success = rest.Connect(API_STRING, port, bTls, bAutoReconnect)
If (success <> True) Then
If Not silent Then MsgBox("ConnectFailReason: " & rest.ConnectFailReason & vbNewLine & rest.LastErrorText)
Return Me.sms_Status
End If
rest.AddHeader("Content-Type", "application/json")
rest.AddHeader("Authorization", API_USER_AUTHORIZATION)
Dim sbRequestBody As New Chilkat.StringBuilder
' MsgBox(sbRequestBody.ToString)
Dim sbResponseBody As New Chilkat.StringBuilder
success = rest.FullRequestSb("GET", "/richcontent/v3/accounts/" & Me.sms_Account & "/messages/" & Me.whatsApp_gatewayId, sbRequestBody, sbResponseBody)
If (success <> True) Then
If Not silent Then MsgBox(rest.LastErrorText)
Return Me.sms_Status
End If
Dim respStatusCode As Integer = rest.ResponseStatusCode
Me.whatsApp_status = respStatusCode ' 200 Abfrage hat funktioniert
' MsgBox(respStatusCode)
If (respStatusCode <> 200) Then
'Fehler --> --> FALLBACK SMS!!!
If DateDiff(DateInterval.Minute, Me.sms_Datum, Now) > 10 Then
Me.FALLBACK_SMS
End If
' MsgBox(sbResponseBody.GetAsString())
If Not silent Then MsgBox("Error: " & respStatusCode)
Return Me.sms_Status
End If
Dim jsonResp = New Chilkat.JsonObject()
jsonResp.LoadSb(sbResponseBody)
' MsgBox(sbResponseBody.ToString)
Dim allowVermerk = True
Dim lastUpdatedUtc = jsonResp.StringOf("lastUpdatedUtc")
Dim StatusResp = jsonResp.StringOf("status")
Select Case StatusResp
Case "Submitted"
Me.sms_Status = MessageStatus.Submitted
If DateDiff(DateInterval.Minute, Me.sms_Datum, Now) > 10 Then
'--> FALLBACK SMS!!!
allowVermerk = False
Me.FALLBACK_SMS()
End If
Case "Delivered"
Me.sms_Status = MessageStatus.Delivered
Me.sms_Delivered = lastUpdatedUtc
Case "Failed"
Me.sms_Status = MessageStatus.Failed
Dim reason = jsonResp.StringOf("reason")
Me.sms_Failure = reason
'--> FALLBACK SMS!!!
allowVermerk = False
FALLBACK_SMS()
End Select
Me.SAVE()
If allowVermerk Then
Try
If Me.sms_AvisoId IsNot Nothing AndAlso IsNumeric(Me.sms_AvisoId) Then
Select Case StatusResp
Case "Failed"
'Keine Übermittlung.
Dim MaId As Integer = SQL.DLookup("LetzterMitarbeiterId", "Aviso", "AvisoId='" & Me.sms_AvisoId & "' ", "AVISO", -1)
If MaId > 0 Then
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(Me.sms_AvisoId, Nothing, 3, "B", MaId, "*WhatsApp Fehler*", 0, "", "Fehler bei der WhatsApp Übermittlung: " & If(Me.sms_Failure, ""))
End If
End Select
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End If
Return Me.sms_Status
Catch ex As Exception
If Not silent Then MsgBox("Fehler beim Prüfen des SMS Status!" & vbNewLine & ex.Message & ex.StackTrace)
End Try
Return ""
End Function
Shared Function SEND_StatusSMS(AVISOId As Integer) As Boolean
Dim AVISO = cAviso.getAvisoById(AVISOId, "")
Return SEND_StatusSMS(AVISO)
End Function
Sub FALLBACK_SMS()
'--> FALLBACK SMS!!!
Me.sms_art = "SMS"
Me.sms_Status = -1
Me.sendSMS()
Me.SAVE()
End Sub
Shared Function SEND_StatusSMS(AVISO As cAviso) As Boolean
If If(AVISO.FahrerHandy, "") <> "" AndAlso IsNumeric(AVISO.FahrerHandy.trim) Then
@@ -339,3 +665,4 @@ Public Class cSMS
End Class

View File

@@ -28,6 +28,7 @@ Public Class cSendungen
Property tblSnd_Bearbeitung_MaId As Integer = Nothing
Property tblSnd_aufschub As String = Nothing
Property tblSnd_anzahlHandling As Object = Nothing
Property tblSnd_anzahlHandlingPos As Object = Nothing
Property tblSnd_anzahlPOS As Object = Nothing
' Property tblSnd_bar As Object = Nothing
' Property tblSnd_barBeleg As Object = Nothing
@@ -205,7 +206,7 @@ Public Class cSendungen
If allowchangeCurrIndex Then CURRENT_INDEX = IIf(SENDUNG_LIST.Count > 0, 0, -1)
End Sub
Public Sub New(tblSnd_AvisoID, currentHisId, Optional FilialenNr = Nothing, Optional AbfertigungsNr = Nothing, Optional UnterNr = Nothing, Optional tblSnd_anzahlHandling = Nothing)
Public Sub New(tblSnd_AvisoID, currentHisId, Optional FilialenNr = Nothing, Optional AbfertigungsNr = Nothing, Optional UnterNr = Nothing, Optional tblSnd_anzahlHandling = Nothing, Optional tblSnd_anzahlHandlingPos = Nothing)
Me.tblSnd_SendungID = -1
Me.tblSnd_AvisoID = tblSnd_AvisoID
Me.tblSnd_PosUnterNr = currentHisId
@@ -233,6 +234,7 @@ Public Class cSendungen
If AbfertigungsNr IsNot Nothing Then Me.AbfertigungsNr = AbfertigungsNr
If UnterNr IsNot Nothing Then Me.UnterNr = UnterNr
If tblSnd_anzahlHandling IsNot Nothing Then Me.tblSnd_anzahlHandling = tblSnd_anzahlHandling
If tblSnd_anzahlHandlingPos IsNot Nothing Then Me.tblSnd_anzahlHandlingPos = tblSnd_anzahlHandlingPos
End Sub
@@ -242,11 +244,11 @@ Public Class cSendungen
Public Function SAVE() As Boolean 'obj As Object, tablename As String, where As String) As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
Public Function SAVE(Optional saveStatus = True) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList(saveStatus)
'WITH(updlock,serializable)
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM [tblSendungen] WHERE tblSnd_SendungID=@tblSnd_SendungID) " &
" BEGIN " & getUpdateCmd() & " END " &
" BEGIN " & getUpdateCmd(saveStatus) & " END " &
" Else " &
" BEGIN " & getInsertCmd() & " END " &
" commit tran "
@@ -341,6 +343,7 @@ Public Class cSendungen
Me.tblSnd_Bearbeitung_MaId = SQL.checkNullReturnValue(dr.Item("tblSnd_Bearbeitung_MaId"), Nothing)
Me.tblSnd_aufschub = SQL.checkNullReturnValue(dr.Item("tblSnd_aufschub"), Nothing)
Me.tblSnd_anzahlHandling = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlHandling"), Nothing)
Me.tblSnd_anzahlHandlingPos = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlHandlingPos"), Nothing)
Me.tblSnd_anzahlPOS = SQL.checkNullReturnValue(dr.Item("tblSnd_anzahlPOS"), Nothing)
' Me.tblSnd_bar = SQL.checkNullReturnValue(dr.Item("tblSnd_bar"), Nothing)
' Me.tblSnd_barBeleg = SQL.checkNullReturnValue(dr.Item("tblSnd_barBeleg"), Nothing)
@@ -530,7 +533,7 @@ Public Class cSendungen
End Sub
Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Function getParameterList(Optional saveStatus = True) As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_SendungID", tblSnd_SendungID, , True)) 'UPDATE INSERT ISPRIMARY!
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_PosUnterNr", tblSnd_PosUnterNr))
@@ -558,6 +561,7 @@ Public Class cSendungen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Bearbeitung_MaId", tblSnd_Bearbeitung_MaId))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_aufschub", tblSnd_aufschub))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlHandling", tblSnd_anzahlHandling))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlHandlingPos", tblSnd_anzahlHandlingPos))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_anzahlPOS", tblSnd_anzahlPOS))
' list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_bar", tblSnd_bar))
@@ -594,11 +598,7 @@ Public Class cSendungen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Warenwert", tblSnd_Warenwert))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_WarenwertWaehrung", tblSnd_WarenwertWaehrung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_QS_MA", tblSnd_QS_MA,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Status", tblSnd_Status,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorbereitet", tblSnd_Vorbereitet,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorgeschrieben", tblSnd_Vorgeschrieben,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_VG_MA", tblSnd_VG_MA,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzterMitarbeiter", LetzterMitarbeiter,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LetzterMitarbeiterId", LetzterMitarbeiterId,,, Not saveSachbearbeiter))
@@ -615,8 +615,6 @@ Public Class cSendungen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_FilialeAbklaerung", tblSnd_FilialeAbklaerung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VORSYSTEM", VORSYSTEM))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("VORSYSTEM_Id", VORSYSTEM_Id))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR", tblSnd_AbklaerungTR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR_MA", tblSnd_AbklaerungTR_MA))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATB_Nr", tblSnd_ATB_Nr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_ATB_T1", tblSnd_ATB_T1))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier", tblSnd_Vorpapier))
@@ -626,22 +624,45 @@ Public Class cSendungen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3", tblSnd_Vorpapier3))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorpapier3_Pos", tblSnd_Vorpapier3_Pos))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Frachtkosten", tblSnd_Frachtkosten))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbfertigungTR", tblSnd_AbfertigungTR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbfertigungTR_MA", tblSnd_AbfertigungTR_MA))
'If saveStatus Then --> in getUpdateCmd
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Status", tblSnd_Status,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_QS_MA", tblSnd_QS_MA,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorbereitet", tblSnd_Vorbereitet,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_Vorgeschrieben", tblSnd_Vorgeschrieben,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_VG_MA", tblSnd_VG_MA,,, Not saveSachbearbeiter))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR", tblSnd_AbklaerungTR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbklaerungTR_MA", tblSnd_AbklaerungTR_MA))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbfertigungTR", tblSnd_AbfertigungTR))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("tblSnd_AbfertigungTR_MA", tblSnd_AbfertigungTR_MA))
'End If
Return list
End Function
Public Function getUpdateCmd() As String
Public Function getUpdateCmd(Optional saveStatus = True) 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 And Not i.isonlyForLoad Then
str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & ","
Dim jump = False
If Not saveStatus Then
If i.Text = "tblSnd_Status" Then jump = True
If i.Text = "tblSnd_QS_MA" Then jump = True
If i.Text = "tblSnd_Vorbereitet" Then jump = True
If i.Text = "tblSnd_Vorgeschrieben" Then jump = True
If i.Text = "tblSnd_VG_MA" Then jump = True
If i.Text = "tblSnd_AbklaerungTR" Then jump = True
If i.Text = "tblSnd_AbklaerungTR_MA" Then jump = True
If i.Text = "tblSnd_AbfertigungTR" Then jump = True
If i.Text = "tblSnd_AbfertigungTR_MA" Then jump = True
End If
If Not jump Then str &= "[" & i.Text & "] = @" & i.Text.Replace("-", "").Replace(" ", "") & ","
End If
Next
str = str.Substring(0, str.Length - 1) 'wg. ','

View File

@@ -50,6 +50,11 @@ Public Class cTrdInvoice
LOAD()
End Sub
Sub New(Rechnungsdatum, Rechnungsnummer, Buchungsjahr)
Me.Rechnungsnummer = Buchungsjahr.ToString.Substring(2, 2) & Rechnungsnummer
Me.Rechnungsdatum = Rechnungsdatum
LOAD()
End Sub
Public 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("Rechnungsdatum", Rechnungsdatum))
@@ -324,7 +329,7 @@ Class TrdInvoice_FUNCTIONS
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Shared Function TrdinSchreiben(Optional Firma As Integer = -1) As Boolean 'Lädt die Daten aus der Tabelle Rechnungsausgang/RechnungsausgangPositionen in die Tabelle trdInvoice/trdProduct
Shared Function TrdinSchreiben(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1) As Boolean 'Lädt die Daten aus der Tabelle Rechnungsausgang/RechnungsausgangPositionen in die Tabelle trdInvoice/trdProduct
Try
Dim LOKALWÄHRUNG = "EUR"
@@ -332,10 +337,17 @@ Class TrdInvoice_FUNCTIONS
Dim WährungsdifferenzSteuerpflichtigerBetrag As Double
Dim WährungsdifferenzSteuerfreierBetrag As Integer
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma), "FMZOLL", 9800)
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdInvoice(Firma, Buchungsjahr), "FMZOLL", 9800)
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
For Each ROW In dt.Rows
Dim TRD_INVOICE As New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"))
Dim TRD_INVOICE As VERAG_PROG_ALLGEMEIN.cTrdInvoice
If Buchungsjahr > 2000 Then
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"), Buchungsjahr) 'nur UNISPED!!!!
Else
TRD_INVOICE = New VERAG_PROG_ALLGEMEIN.cTrdInvoice(ROW("RK_RechnungsDatum"), ROW("RK_RechnungsNr"))
End If
If TRD_INVOICE.hasEntry Then
' MsgBox("RG-Nr. bereits vorhanden!")
Else
@@ -360,9 +372,9 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.SteuerbetragFremd = ROW("RK_Steuerbetrag")
TRD_INVOICE.RechnungsbetragFremd = ROW("RK_Rechnungsbetrag")
TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("[RK_SteuerpflichtigerBetrag]"), ROW("[RK_Währungscode]"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("[RK_SteuerfreierBetrag]"), ROW("[RK_Währungscode]"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("[RK_SteuersatzProzent]") * 100) / 100
TRD_INVOICE.SteuerpflichtigerBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerpflichtigerBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerfreierBetragLokal = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(ROW("RK_SteuerfreierBetrag"), ROW("RK_Währungscode"), LOKALWÄHRUNG)
TRD_INVOICE.SteuerbetragLokal = CDbl(TRD_INVOICE.SteuerpflichtigerBetragLokal * ROW("RK_SteuersatzProzent") * 100) / 100
TRD_INVOICE.RechnungsbetragLokal = TRD_INVOICE.SteuerpflichtigerBetragLokal + TRD_INVOICE.SteuerfreierBetragLokal + TRD_INVOICE.SteuerbetragLokal
' Basis zur Feststellung von Rundungsdifferenzen schaffen.
@@ -401,9 +413,11 @@ Class TrdInvoice_FUNCTIONS
TRD_INVOICE.UStVAn_ID = Nothing
If TRD_INVOICE.SAVE Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag) Then
If TrdinSchreibenProduct(TRD_INVOICE.Rechnungsdatum, ROW("RK_RechnungsNr"), TRD_INVOICE.Rechnungsnummer, RK_Währungscode, ROW("RK_RechnungsLandKz"), ROW("RK_Buchungstext"), TRD_INVOICE.Firma_ID, lngSatzzähler, WährungsdifferenzSteuerpflichtigerBetrag, WährungsdifferenzSteuerfreierBetrag, Buchungsjahr) Then
'UPDATE rechnugnsausgang
SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & TRD_INVOICE.Rechnungsnummer & " ", "FMZOLL")
Dim firmaTmpsql = If(Firma > 0, " AND Firma_ID= '" & Firma & "' ", "")
Dim buchungsjahrTmpsql = If(Buchungsjahr > 0, " AND Buchungsjahr= '" & Buchungsjahr & "' ", "")
SQL.doSQL("UPDATE [Rechnungsausgang] SET [Trdin] = 1 WHERE convert(date,[RechnungsDatum] ,104) = '" & TRD_INVOICE.Rechnungsdatum.ToShortDateString & "' AND RechnungsNr = " & ROW("RK_RechnungsNr") & firmaTmpsql & buchungsjahrTmpsql, "FMZOLL")
End If
End If
End If
@@ -425,18 +439,18 @@ Class TrdInvoice_FUNCTIONS
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag) As Boolean
Shared Function TrdinSchreibenProduct(RechnungsDatum, RK_RechnungsNr, TRD_RechnungsNr, RK_Währungscode, RK_RechnungsLandKz, RK_Buchungstext, RK_Firma_ID, ByRef lngSatzzähler, ByRef WährungsdifferenzSteuerpflichtigerBetrag, ByRef WährungsdifferenzSteuerfreierBetrag, Buchungsjahr) As Boolean
Try
Dim LOKALWÄHRUNG = "EUR"
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr), "FMZOLL")
Dim dt As DataTable = SQL.loadDgvBySql(getSQLString_SELECTForTrdProduct(RechnungsDatum, RK_RechnungsNr, RK_Firma_ID, Buchungsjahr), "FMZOLL")
If dt IsNot Nothing AndAlso dt.Rows.Count > 0 Then
For Each ROW In dt.Rows
Dim TRD_PRODUCT As New VERAG_PROG_ALLGEMEIN.cTrdProduct()
TRD_PRODUCT.Rechnungsdatum = RechnungsDatum
TRD_PRODUCT.Rechnungsnummer = RK_RechnungsNr
TRD_PRODUCT.Rechnungsnummer = TRD_RechnungsNr
If RK_Währungscode = LOKALWÄHRUNG Then
@@ -475,7 +489,7 @@ Class TrdInvoice_FUNCTIONS
TRD_PRODUCT.Belegdaten = ROW("RP_Belegdaten")
TRD_PRODUCT.Sachkonto = getSachkonto(RK_Firma_ID, ROW("RP_LeistungsNr"), RK_RechnungsLandKz, ROW("RP_Steuerpflichtig"), ROW("AufschubkontoNr"))
TRD_PRODUCT.Buchungstext = RK_Buchungstext
TRD_PRODUCT.SAVE()
@@ -586,7 +600,7 @@ Class TrdInvoice_FUNCTIONS
getSachkonto = CInt(getSachkonto)
End Function
Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1)
Shared Function getSQLString_SELECTForTrdInvoice(Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
getSQLString_SELECTForTrdInvoice = "SELECT Rechnungsausgang.RechnungsDatum AS RK_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RK_RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum) AS RK_Abfertigungsdatum, min(Rechnungsausgang.FilialenNr) AS RK_FilialenNr,
min(Rechnungsausgang.AbfertigungsNr) AS RK_AbfertigungsNr, min(Rechnungsausgang.UnterNr) AS RK_UnterNr, min(Rechnungsausgang.BelegartenNr) AS RK_BelegartenNr,
(min(cast([FilialenNr] as varchar(4))) + '/' + min(cast([AbfertigungsNr] as varchar(8))) + '/' + min(cast([UnterNr] as varchar(2)))) AS RK_Buchungstext,
@@ -599,19 +613,19 @@ Class TrdInvoice_FUNCTIONS
Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)+Sum(RechnungsausgangPositionen.SteuerfreierBetrag)+((Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag)*min(Rechnungsausgang.[Steuersatz %])*100)/100) AS RK_Rechnungsbetrag,
Count(1) AS RK_Satzzähler
FROM Rechnungsausgang INNER JOIN RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & "
WHERE (((Rechnungsausgang.RechnungsDatum) Is Not Null) AND ((Rechnungsausgang.RechnungsNr) Is Not Null) AND ((Rechnungsausgang.Trdin)=0)) " & If(Firma > 0, " and Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Buchungsjahr=" & Buchungsjahr, "") & "
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, min(Rechnungsausgang.Abfertigungsdatum), min(Rechnungsausgang.FilialenNr), min(Rechnungsausgang.AbfertigungsNr), min(Rechnungsausgang.UnterNr);"
End Function
Shared Function getSQLString_SELECTForTrdProduct(RechnungsDatum As Date, RechnungsNr As Integer)
Shared Function getSQLString_SELECTForTrdProduct(RechnungsDatum As Date, RechnungsNr As Integer, Optional Firma As Integer = -1, Optional Buchungsjahr As Integer = -1)
getSQLString_SELECTForTrdProduct = "SELECT Rechnungsausgang.RechnungsDatum AS RP_RechnungsDatum, Rechnungsausgang.RechnungsNr AS RP_RechnungsNr, RechnungsausgangPositionen.LeistungsNr AS RP_LeistungsNr, RechnungsausgangPositionen.LeistungsBez AS RP_LeistungsBez,
RechnungsausgangPositionen.Steuerpflichtig AS RP_Steuerpflichtig, Sum(RechnungsausgangPositionen.SteuerpflichtigerBetrag) AS RP_SteuerpflichtigerBetrag, Sum(RechnungsausgangPositionen.SteuerfreierBetrag) AS RP_SteuerfreierBetrag,
min(RechnungsausgangPositionen.Belegdaten) AS RP_Belegdaten, Count(1) AS RP_Satzzähler, min(AufschubkontoNr) as AufschubkontoNr
FROM RechnungsausgangPositionen INNER JOIN Rechnungsausgang ON RechnungsausgangPositionen.RK_ID = Rechnungsausgang.RK_ID
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig
HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & "))
GROUP BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig " & If(Firma > 0, " ,Rechnungsausgang.Firma_ID ", "") & If(Buchungsjahr > 0, " ,Rechnungsausgang.Buchungsjahr ", "") & "
HAVING (((Rechnungsausgang.RechnungsDatum)='" & RechnungsDatum.ToShortDateString & "') AND ((Rechnungsausgang.RechnungsNr)=" & RechnungsNr & ")) " & If(Firma > 0, " and Rechnungsausgang.Firma_ID=" & Firma, "") & If(Buchungsjahr > 0, " and Rechnungsausgang.Buchungsjahr=" & Buchungsjahr, "") & "
ORDER BY Rechnungsausgang.RechnungsDatum, Rechnungsausgang.RechnungsNr, RechnungsausgangPositionen.LeistungsNr, RechnungsausgangPositionen.LeistungsBez, RechnungsausgangPositionen.Steuerpflichtig;"
End Function
End Class

View File

@@ -135,7 +135,7 @@ Public Class cUIDPruefung
dt = SQL.loadDgvBySql("SELECT " & Top & " [AdressenNr] as KdNr,[Ordnungsbegriff] as Firma,UstIdGeprüft as [letzte Prüfung],Adressen.UstIdKz,Adressen.UstIdnr " &
" From [Adressen] inner Join kunden On KundenNr=AdressenNr inner join Filialen on Filialen.FilialenNr=Kunden.FilialenNr " &
" where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR (Adressen.UstIdKz is not null and Adressen.UstIdNr is not null)) " &
" where (UstIdGeprüft <= '" & datum.ToShortDateString & "' OR UstIdGeprüft is null) and (Adressen.UstIdKz is not null and Adressen.UstIdNr is not null) " &
" And Auswahl='A' " & where & " ORDER BY Ordnungsbegriff", "FMZOLL")
If dt IsNot Nothing Then
@@ -148,18 +148,58 @@ Public Class cUIDPruefung
Dim c As New DataColumn
c.ColumnName = "Ergebnis"
dt.Columns.Add(c)
For Each r As DataRow In dt.Rows
Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
Else
r("Ergebnis") = "UNGÜLTIG"
'------------------------------------------------
'ENTWEDER ÜBER EU-KOMISSION ODER FINANZONLINE::::
Dim ART = "FINANZONLINE"
'------------------------------------------------
Select Case ART
Case "EUROPE"
For Each r As DataRow In dt.Rows
Dim UID_TMP = doUIDPruefung(r("KdNr"),, SaveErgInAdressen, showErr)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
Else
r("Ergebnis") = "UNGÜLTIG"
End If
Else
r("Ergebnis") = "ERROR"
End If
Next
Case "FINANZONLINE"
Dim FO As New VERAG_PROG_ALLGEMEIN.cFinanzOnlineWebService
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG"
FO.initValues()
If FO.Call_Web_Service_MethodUID_Login_NEU2020() = 0 Then
For Each r As DataRow In dt.Rows
Dim UID_TMP = FO.Call_Web_Service_MethodUID_Abfrage_NEU2020(r("KdNr"),, SaveErgInAdressen, showErr)
If UID_TMP IsNot Nothing Then
If UID_TMP.uid_valid Then
r("Ergebnis") = "OK"
Else
r("Ergebnis") = "UNGÜLTIG"
End If
Else
r("Ergebnis") = "ERROR"
End If
Next
FO.Call_Web_Service_MethodUID_Logout_NEU2020()
End If
Else
r("Ergebnis") = "ERROR"
End If
Next
End Select
'------------------------------------------------
End If
Return dt