Files
SDL/VERAG_PROG_ALLGEMEIN/AVISO/cDatenbankAVISO.vb

3057 lines
153 KiB
VB.net

Imports System.Data
'Imports Gemeinsames
Imports VERAG_PROG_ALLGEMEIN.cMeineFunktionenAVISO
Imports VERAG_PROG_ALLGEMEIN.cGlobal
Imports System.Data.SqlClient
Imports System.Globalization
Imports System.Reflection
Public Class cSqlDb
Public Shared Function GetSDLConnectionString() As String
Return VERAG_PROG_ALLGEMEIN.SQL.GetSDLConnectionString()
End Function
Public Shared Function GetADMINConnectionString() As String
Return VERAG_PROG_ALLGEMEIN.SQL.GetADMINConnectionString
End Function
Public Shared Function GetFMZOLLConnectionString() As String
Return VERAG_PROG_ALLGEMEIN.SQL.GetFMZOLLConnectionString
End Function
Public Shared Function GetATLASConnectionString() As String
Return VERAG_PROG_ALLGEMEIN.SQL.GetATLASConnectionString
End Function
Public Shared Function GetEZOLLConnectionString() As String
Return VERAG_PROG_ALLGEMEIN.SQL.GetEZOLLConnectionString
End Function
Public Shared Function GetAVISOConnectionString() As String
Return VERAG_PROG_ALLGEMEIN.SQL.GetAVISOConnectionString
End Function
Public Shared Function GetNewOpenConnection(Optional pooling As Boolean = True) As SqlConnection
Dim cn As New SqlConnection()
'cn.ConnectionString = My.Resources.connStringSDL_DEV
' IMMER DIE AKTUELLE CONNECTION IN MY.SETTINGS ÄNDERN!!! --> WG. BINDING
cn.ConnectionString = GetSDLConnectionString() & CStr(IIf(pooling, "", ";pooling=false"))
cn.Open()
Return cn
End Function
Public Shared Function GetNewOpenConnectionLogin() As SqlConnection
Dim cn As New SqlConnection()
cn.ConnectionString = GetADMINConnectionString()
cn.Open()
Return cn
End Function
Public Shared Function GetNewOpenConnectionFMZOLL(Optional pooling As Boolean = True) As SqlConnection
Dim cn As New SqlConnection()
cn.ConnectionString = GetFMZOLLConnectionString() & CStr(If(pooling, "", ";pooling=false"))
cn.Open()
Return cn
End Function
Public Shared Function GetNewOpenConnectionATLAS() As SqlConnection
Dim cn As New SqlConnection()
cn.ConnectionString = GetATLASConnectionString()
cn.Open()
Return cn
End Function
Public Shared Function GetNewOpenConnectionEZOLL() As SqlConnection
Dim cn As New SqlConnection()
cn.ConnectionString = GetEZOLLConnectionString()
cn.Open()
Return cn
End Function
Public Shared Function GetNewOpenConnectionAVISO() As SqlConnection
Dim cn As New SqlConnection()
cn.ConnectionString = GetAVISOConnectionString()
cn.Open()
Return cn
End Function
Public Shared Function GetNewOpenConnectionFMZOLLREAL() As SqlConnection
Dim cn As New SqlConnection()
cn.ConnectionString = VERAG_PROG_ALLGEMEIN.My.MySettings.Default.FMZOLL_PRODConnectionString
cn.Open()
Return cn
End Function
Public Shared Function checkNullStr(ByVal o As Object) As String
If o IsNot Nothing And o IsNot DBNull.Value Then Return CStr(o)
Return ""
End Function
Public Shared Function checkNullInteger(ByVal o As Object) As Integer
If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o)
Return -1
End Function
Public Shared Function checkNullReturnValue(ByVal o As Object, ByVal returnValue As Object) As Object
If o IsNot Nothing And o IsNot DBNull.Value Then Return (o)
Return returnValue
End Function
Public Shared Function checkNullIntegerZero(ByVal o As Object) As Integer
If o IsNot Nothing And o IsNot DBNull.Value Then Return CInt(o)
Return 0
End Function
Public Shared Function checkNulDbl(ByVal o As Object) As Double
If o IsNot Nothing And o IsNot DBNull.Value Then Return CDbl(o)
Return -1
End Function
Public Shared Function checkNullBoolCheckState(ByVal o As Object) As Integer
If o IsNot Nothing And o IsNot DBNull.Value Then Return 2
Try
If CBool(o) = True Then Return 1
If CBool(o) = False Then Return 0
Catch ex As Exception
End Try
Return 2
End Function
Public Shared Function checkNullBool(ByVal o As Object) As Boolean
If o Is Nothing Or o Is DBNull.Value Then Return False
Try
Return CBool(o)
Catch ex As Exception
End Try
Return False
End Function
Public Shared Function checkNullDate(ByVal o As Object) As Date
If o IsNot Nothing And o IsNot DBNull.Value Then Return CDate(o)
Return Now
End Function
Public Shared Function checkNullDateNothing(ByVal o As Object) As Object
If o Is DBNull.Value Then
Return Nothing
Else
Return CDate(o)
End If
End Function
Public Shared Function setNullDate(ByVal o As String) As Object
Try
If IsDate(o) Then Return CDate(o)
Catch ex As Exception
End Try
Return DBNull.Value
End Function
Public Shared Function setNullInteger(ByVal o As Integer) As Object
Try
If IsNumeric(o) AndAlso o >= 0 Then Return CInt(o)
Catch ex As Exception
End Try
Return DBNull.Value
End Function
Public Shared Function setNullBoolean(ByVal o As Integer) As Object
Try
If o = 0 Then Return False
If o = 1 Then Return True
Catch ex As Exception
End Try
Return DBNull.Value
End Function
End Class
Public Class cDatenbankAVISO
Public Shared GlobalConnection As SqlConnection = Nothing
Public Shared GlobalConnectionFMZOLL As SqlConnection = Nothing
Public Shared Function GetNewOpenConnection(Optional newConn As Boolean = False) As SqlConnection
Try
If GlobalConnection Is Nothing Or newConn Then
GlobalConnection = New SqlConnection(cSqlDb.GetAVISOConnectionString)
End If
If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then
GlobalConnection.Open()
End If
Return GlobalConnection
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message & ex.StackTrace)
End Try
Return Nothing
End Function
Public Shared Function GetNewOpenConnectionFMZOLL(Optional newConn As Boolean = False) As SqlConnection
Try
If GlobalConnectionFMZOLL Is Nothing Or newConn Then
GlobalConnectionFMZOLL = New SqlConnection(cSqlDb.GetFMZOLLConnectionString)
End If
If GlobalConnectionFMZOLL.State = ConnectionState.Broken Or GlobalConnectionFMZOLL.State = ConnectionState.Closed Then
GlobalConnectionFMZOLL.Open()
End If
Return GlobalConnectionFMZOLL
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message)
End Try
Return Nothing
End Function
Public Shared Function GetNewOpenConnectionWithoutError(Optional newConn As Boolean = False) As SqlConnection
Try
If GlobalConnection Is Nothing Or newConn Then
GlobalConnection = New SqlConnection(cSqlDb.GetAVISOConnectionString)
End If
If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then
GlobalConnection.Open()
End If
Return GlobalConnection
Catch ex As Exception
' MsgBox("Problem" & vbCrLf & vbNewLine & vbCrLf & "Fehler: " & ex.Message)
End Try
Return Nothing
End Function
Public Shared Function GetNewOpenConnectionADMIN() As SqlConnection
Try
Dim conn As New SqlConnection(cSqlDb.GetADMINConnectionString)
conn.Open()
Return conn
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Es konnte keine Verbindung zur Datenbank aufgebaut werden!! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Es konnte keine Verbindung zur ADMIN-Datenbank aufgebaut werden." & vbCrLf & "connStr=" & cSqlDb.GetAVISOConnectionString & vbCrLf & "Fehler: " & ex.Message)
End Try
Return Nothing
End Function
Public Shared Function GetNewOpenConnection2() As SqlConnection
'Dim Start As Integer = My.Computer.Clock.TickCount
Const useGlobalConnection As Boolean = True
Try
If useGlobalConnection Then
If GlobalConnection Is Nothing Then
GlobalConnection = New SqlConnection
GlobalConnection.ConnectionString = cSqlDb.GetAVISOConnectionString
End If
If GlobalConnection.State = ConnectionState.Broken Or GlobalConnection.State = ConnectionState.Closed Then
GlobalConnection.Open()
End If
'cGlobal.hDauerOpen += My.Computer.Clock.TickCount - Start
Return GlobalConnection
Else
Dim conn As New SqlConnection
conn.ConnectionString = cSqlDb.GetAVISOConnectionString
conn.Open()
'cGlobal.hDauerOpen += 1
'cGlobal.hDauerOpen += My.Computer.Clock.TickCount - Start
Return (conn)
End If
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler bei Datenbank öffnen. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler bei Datenbank öffnen." & vbCrLf & "connStr=" & cSqlDb.GetAVISOConnectionString & vbCrLf & "Fehler: " & ex.Message)
Return Nothing
End Try
End Function
End Class
Public Class cMitarbeiterAVISO
Property MitarbeiterID As Integer
Property Mitarbeiter As String
Property Mitarbeitername As String
Property KW As String
' Property Sicherheitsstufe As Integer
Property Info As String
' Property Grenzstelle As String
' Property Abteilung As String = ""
Property StandartFiliale As Integer = -1
Property mit_FMZollPersID As Integer = -1
Property mit_username As String
End Class
Public Class cADMIN
' Public USRNAME As String
'Public USRID As String
'Public USERBER As String
Public cMitarbeiterAVISO As cMitarbeiterAVISO
' Private Property USERBER As Object
Public Function getAktuelleVersion(Optional progname As String = "AVISO_NEW") As String
Dim sql As String = "SELECT prog_aktuelleVersion FROM tblProgramme WHERE prog_codename=@codename"
Dim dr As SqlDataReader
Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@codename", progname)
dr = cmd.ExecuteReader()
Try
If dr.Read Then Return CStr(dr.Item("prog_aktuelleVersion"))
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler mit der Datenbankverbindung. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
Finally
dr.Close()
End Try
End Using
End Using
Return "0"
End Function
Public Function getPwdFromUsrname(ByVal user As String, ByVal firma As String) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql("SELECT mit_pwd FROM tblMitarbeiter where mit_username='" & user & "' COLLATE Latin1_General_CS_AS AND (mit_firma='" & firma & "' OR mit_firma='ALL' ) ", "ADMIN")
End Function
Public Function getPwdFromUsrId(ByVal userId As String) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql("SELECT mit_pwd FROM tblMitarbeiter where mit_id='" & userId & "' ", "ADMIN")
End Function
Public Function getUnameFromUsrId(ByVal userId As String) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql("SELECT mit_username FROM tblMitarbeiter where mit_id='" & userId & "' ", "ADMIN")
End Function
Public Function checkLogin(ByVal user As String, ByVal pwd As String, ByVal firma As String, Optional nlTmp As String = "", Optional switchCompany As Boolean = False) As Boolean
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = If(firma = "", "VERAG", firma)
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
'Dim sql As String = "SELECT mit_vname,mit_nname,mit_berechtigung FROM tblUser where mit_username=@mit_username COLLATE Latin1_General_CS_AS and mit_pwd=@mit_pwd COLLATE Latin1_General_CS_AS "
Dim sql As String = "SELECT mit_id,mit_vname,mit_nname,mit_niederlassung,mit_username,mit_pwd,mit_info,mit_abteilung,mit_standartFiliale,mit_FMZollPersID,mit_firmaFMZoll,mit_TESTonly,mit_abweichenderAnzeigename FROM " &
" tblMitarbeiter,tblBerProg where mit_username=@mit_username and mit_pwd=@mit_pwd COLLATE Latin1_General_CS_AS AND (mit_firma=@mit_firma OR mit_firma='ALL' ) AND bepr_programm=@bepr_programm AND bepr_userId=mit_id "
Dim dr As SqlDataReader
Try
Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@mit_username", user)
cmd.Parameters.AddWithValue("@mit_pwd", pwd)
cmd.Parameters.AddWithValue("@bepr_programm", "AVISO")
cmd.Parameters.AddWithValue("@mit_firma", firma)
dr = cmd.ExecuteReader()
cMitarbeiterAVISO = New cMitarbeiterAVISO
If dr.Read Then
cMitarbeiterAVISO.MitarbeiterID = CInt(dr.Item("mit_id"))
' cMitarbeiterAVISO.Grenzstelle = CStr(dr.Item("mit_niederlassung"))
' If cMitarbeiterAVISO.Grenzstelle = "Suben" Then cMitarbeiterAVISO.Grenzstelle = "SUB"
' If cMitarbeiterAVISO.Grenzstelle = "Waidhaus" Then cMitarbeiterAVISO.Grenzstelle = "WAI"
' If cMitarbeiterAVISO.Grenzstelle = "Nickelsdorf" Then cMitarbeiterAVISO.Grenzstelle = "NKD"
' If cMitarbeiterAVISO.Grenzstelle = "Salzburg" Then cMitarbeiterAVISO.Grenzstelle = "SBG"
' If cMitarbeiterAVISO.Grenzstelle = "" Then cMitarbeiterAVISO.Grenzstelle = "???"
cMitarbeiterAVISO.Mitarbeiter = If(CStr(dr.Item("mit_abweichenderAnzeigename")) <> "", CStr(dr.Item("mit_abweichenderAnzeigename")), CStr(dr.Item("mit_username")))
cMitarbeiterAVISO.Mitarbeitername = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname"))
cMitarbeiterAVISO.KW = CStr(dr.Item("mit_pwd"))
' cMitarbeiterAVISO.Sicherheitsstufe = CInt(dr.Item("ber_sicherheitsstufe"))
cMitarbeiterAVISO.Info = CStr(dr.Item("mit_info"))
' If dr.Item("mit_abteilung") IsNot DBNull.Value Then cMitarbeiterAVISO.Abteilung = CStr(dr.Item("mit_abteilung"))
cMitarbeiterAVISO.StandartFiliale = VarToInt2(dr.Item("mit_standartFiliale"))
cMitarbeiterAVISO.mit_FMZollPersID = VarToInt2(dr.Item("mit_FMZollPersID"))
cMitarbeiterAVISO.mit_username = VarToStr(dr.Item("mit_username"))
' VERAG_PROG_ALLGEMEIN.cAllgemein.USRBER = CInt(dr.Item("ber_sicherheitsstufe"))
VERAG_PROG_ALLGEMEIN.cAllgemein.NIEDERLASSUNG = CStr(dr.Item("mit_niederlassung"))
VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = CStr(dr.Item("mit_abteilung"))
VERAG_PROG_ALLGEMEIN.cAllgemein.USRID = CInt(dr.Item("mit_id"))
' VERAG_PROG_ALLGEMEIN.cAllgemein.USR_VNAME = CStr(dr.Item("mit_vname"))
' VERAG_PROG_ALLGEMEIN.cAllgemein.USR_NNAME = CStr(dr.Item("mit_nname"))
'VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname"))
VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = CStr(dr.Item("mit_username"))
If dr.Item("mit_firmaFMZoll") Is DBNull.Value Then
MsgBox("Benutzer muss einer Firma zugeordnet sein!")
Return False
End If
If dr.Item("mit_TESTonly") And Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
MsgBox("Benutzer ist nur für das Testsystem freigeschaltet!")
VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM = True 'umschalten auf das TESTSYSTEM
End If
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID = CInt(dr.Item("mit_firmaFMZoll"))
VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_NAME = getValueTxtBySql("SELECT Firma_Bez FROM tblFirma WHERE Firma_ID= " & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA_ID, "FMZOLL")
VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_BER()
VERAG_PROG_ALLGEMEIN.cAllgemein.LOAD_DATA(switchCompany, firma, nlTmp)
cGlobal.AktiverMitarbeiter = cMitarbeiterAVISO
Return True
End If
'USERBER = CStr(dr.Item("ber_sicherheitsstufe")) : USRNAME = CStr(dr.Item("mit_vname")) & " " & CStr(dr.Item("mit_nname")) : USRID = CStr(dr.Item("mit_id")) : Return True
End Using
End Using
dr.Close()
Catch ex As Exception
MsgBox("Fehler mit der Datenbankverbindung.", "Datenbankfehler")
Return False
End Try
Return False
End Function
Public Function getUstName_ByAD(Domain As String, User As String) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql("SELECT TOP 1 [mit_username] FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN")
End Function
Public Function getUstFirma_ByAD(Domain As String, User As String) As String
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql("SELECT TOP 1 case when mit_firma='ALL' then mit_FirmaHaupt else mit_firma END mit_firma FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN")
End Function
Public Function getUstId_ByAD(Domain As String, User As String) As Integer
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Return SQL.getValueTxtBySql("SELECT TOP 1 [mit_id] FROM [tblMitarbeiter] WHERE ([mit_AliasAD_Domain]='" & Domain & "' AND [mit_AliasAD_Username]='" & User & "') Or ([mit_AliasAD_Domain2]='" & Domain & "' AND [mit_AliasAD_Username2]='" & User & "' )", "ADMIN",,, "-1")
End Function
Public Function getBezById(id As Integer) As String
Dim sql As String = "SELECT Firma_Bez FROM tblFirma WHERE Firma_ID=@id "
Dim dr As SqlDataReader
Try
Using conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@id", id)
dr = cmd.ExecuteReader()
If dr.HasRows AndAlso dr.Read Then
Return CStr(dr.Item(0))
End If
End Using
End Using
dr.Close()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Fehler mit der Datenbankverbindung. " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
End Try
Return ""
End Function
Public Function loadCboBySql(ByVal sql As String, Optional conn_art As String = "AVISO", Optional newConn As Boolean = False, Optional conn As SqlConnection = Nothing) As List(Of Object)
Dim o As New List(Of Object)
Try
If conn Is Nothing Then
Select Case conn_art
Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection(newConn)
Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL(newConn)
End Select
End If
' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read
o.Add(dr.Item(0))
End While
dr.Close()
End Using
conn.Close()
' End Using
Return o 'While Schleife wird hier verlassen
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
End Try
Return Nothing
End Function
Public Function loadCboBySqlWithListItem(ByVal sql As String, Optional showValueInText As Boolean = True, Optional conn_art As String = "AVISO") As List(Of MyListItem)
Dim o As New List(Of MyListItem)
Try
Dim conn As New SqlConnection
Select Case conn_art
Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection()
Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL
End Select
Using cmd As New SqlCommand(sql, conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read
If showValueInText Then
o.Add(New MyListItem(CStr(dr.Item(0)) & vbTab & " - " & CStr(dr.Item(1)), CStr(dr.Item(0))))
Else
Try
o.Add(New MyListItem(CStr(dr.Item(1)), CStr(dr.Item(0))))
Catch ex As Exception
o.Add(New MyListItem(CStr(dr.Item(0)), CStr(dr.Item(0))))
End Try
End If
End While
dr.Close()
End Using
conn.Close()
Return o 'While Schleife wird hier verlassen
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
End Try
Return Nothing
End Function
Public Function getValueTxtBySql(ByVal sql As String, Optional conn_art As String = "AVISO") As String
Dim s As String = ""
Try
'MsgBox("1")
Dim conn As New SqlConnection
Select Case conn_art
Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection()
Case "ADMIN" : conn = cDatenbankAVISO.GetNewOpenConnectionADMIN()
Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL
End Select
Using cmd As New SqlCommand(sql, conn)
Dim dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
If Not dr.Item(0) Is DBNull.Value Then
s = CStr(dr.Item(0))
End If
End If
dr.Close()
End Using
conn.Close()
Return s
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
End Try
'MsgBox("3")
Return ""
End Function
Public Function doSQL(ByVal sql As String, Optional conn_art As String = "AVISO", Optional conn As SqlConnection = Nothing) As Boolean
If conn Is Nothing Then
Select Case conn_art
Case "AVISO" : conn = cDatenbankAVISO.GetNewOpenConnection()
Case "FMZOLL" : conn = cDatenbankAVISO.GetNewOpenConnectionFMZOLL
End Select
End If
Try
' MsgBox(sql)
Using cmd As New SqlCommand(sql, conn)
cmd.ExecuteNonQuery()
End Using
conn.Close()
Return True
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
End Try
Return False
End Function
End Class
Public Class cMitarbeiterAVISODAL
Public Function LesenMitarbeiter(hID As Integer, hKürzel As String) As cMitarbeiterAVISO
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
If hID > 0 Then
sql = String.Format("SELECT * FROM Mitarbeiter WHERE MitarbeiterID = {0}", hID)
Else
sql = String.Format("SELECT * FROM Mitarbeiter WHERE Mitarbeiter = '" & hKürzel.Trim & "'")
End If
Dim daten As cMitarbeiterAVISO = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cMitarbeiterAVISO
daten.MitarbeiterID = VarToInt(dr.Item("MitarbeiterID"))
daten.Mitarbeiter = VarToStr(dr.Item("Mitarbeiter"))
daten.Mitarbeitername = VarToStr(dr.Item("Mitarbeitername"))
daten.KW = VarToStr(dr.Item("KW"))
' daten.Sicherheitsstufe = VarToInt(dr.Item("Sicherheitsstufe"))
daten.Info = VarToStr(dr.Item("Info"))
' daten.Grenzstelle = VarToStr(dr.Item("Grenzstelle"))
End If
dr.Close()
End Using
End Using
conn.Close()
Return daten
End Function
Public Function Anzeigen_Mitarbeiter(hSQL As String) As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Mitarbeiter'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Function Anzeigen_cboMitarbeiter() As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
Dim sql = "SELECT MitarbeiterID, Mitarbeiter FROM Mitarbeiter ORDER BY Mitarbeiter"
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_cboMitarbeiter'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Sub SpeichernMitarbeiter(ByVal d As cMitarbeiterAVISO)
Dim hAuswahl As String
If d.MitarbeiterID = 0 Then
'Neuanlage
hAuswahl = "INSERT INTO Mitarbeiter " &
"(Mitarbeiter, Mitarbeitername, KW, Sicherheitsstufe, Info, Grenzstelle) VALUES (" &
"@Mitarbeiter, @Mitarbeitername, @KW, @Sicherheitsstufe, @Info, @Grenzstelle)"
Else
'Änderung
hAuswahl = String.Format(
"UPDATE Mitarbeiter SET Mitarbeiter = @Mitarbeiter, Mitarbeitername = @Mitarbeitername, KW=@KW, Sicherheitsstufe=@Sicherheitsstufe, Info=@Info, Grenzstelle=@Grenzstelle " &
"WHERE MitarbeiterID = @MitarbeiterID")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Mitarbeiter", d.Mitarbeiter)
cmd.Parameters.AddWithValue("@Mitarbeitername", d.Mitarbeitername)
cmd.Parameters.AddWithValue("@KW", d.KW)
' cmd.Parameters.AddWithValue("@Sicherheitsstufe", d.Sicherheitsstufe)
cmd.Parameters.AddWithValue("@Info", d.Info)
' cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle)
cmd.Parameters.AddWithValue("@MitarbeiterID", d.MitarbeiterID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden!" & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Mitarbeiterstamm")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenMitarbeiter(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Mitarbeiter WHERE MitarbeiterID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Mitarbeiter-Stammdaten können nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
End Class
Public Class cFirma
Property FirmaID As Integer
Property Firma As String
Property eMail As String
Property eMail2 As String
Property Info As String
Property Frächter As Boolean
Property Auftraggeber As Boolean
Property FMZollKdnr As String = ""
'Property Adresse As String
'Property Telefon As String
'Property Fax As String
'Property Ansprechpersonen As String
End Class
Public Class cFirmenDAL
Public Function LesenFirma(hID As Integer, hFirma As String, hSQL As String) As cFirma
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
If hID > 0 Then
sql = String.Format("SELECT * FROM Firmen WHERE FirmaID = {0}", hID)
ElseIf hFirma <> "" Then
sql = String.Format("SELECT * FROM Firmen WHERE Firma = '" & hFirma.Trim & "'")
Else
sql = hSQL
End If
Dim daten As cFirma = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cFirma()
daten.FirmaID = VarToInt(dr.Item("FirmaID"))
daten.Firma = VarToStr(dr.Item("Firma"))
daten.eMail = VarToStr(dr.Item("eMail"))
daten.eMail2 = VarToStr(dr.Item("eMail2"))
daten.Info = VarToStr(dr.Item("Info"))
daten.Frächter = VarToBool(dr.Item("Frächter"))
daten.Auftraggeber = VarToBool(dr.Item("Auftraggeber"))
'daten.FMZollKdnr = VarToStr(dr.Item("KundenNr"))
If Not dr.Item("KundenNr") Is DBNull.Value Then daten.FMZollKdnr = CStr(dr.Item("KundenNr"))
'daten.Ansprechpersonen = VarToStr(dr.Item("Ansprechpersonen"))
'daten.Adresse = VarToStr(dr.Item("Adresse"))
'daten.Telefon = VarToStr(dr.Item("Telefon"))
'daten.Fax = VarToStr(dr.Item("Fax"))
End If
dr.Close()
End Using
End Using
conn.Close()
Return daten
End Function
Public Function Anzeigen_Firmen(hSQL As String) As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Firmen'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Function Anzeigen_cboFirmen(hSQL As String) As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
If hSQL = "" Then hSQL = "SELECT FirmaID, Firma FROM Firmen ORDER BY Firma"
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_cboFirma'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Sub SpeichernFirma(ByVal d As cFirma)
Dim hAuswahl As String
If d.FirmaID = 0 Then
'Neuanlage
hAuswahl = "INSERT INTO Firmen " &
"(Firma, eMail, eMail2, Info, Frächter, Auftraggeber, KundenNr) VALUES (" &
"@Firma, @eMail, @eMail2, @Info, @Frächter, @Auftraggeber, @KundenNr)"
Else
'Änderung
hAuswahl = String.Format(
"UPDATE Firmen SET Firma = @Firma, eMail=@eMail, eMail2=@eMail2, Info=@Info, Frächter=@Frächter, Auftraggeber=@Auftraggeber, KundenNr=@KundenNr " &
"WHERE FirmaID = @FirmaID")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Firma", d.Firma)
cmd.Parameters.AddWithValue("@eMail", d.eMail)
cmd.Parameters.AddWithValue("@eMail2", d.eMail2)
cmd.Parameters.AddWithValue("@Info", d.Info)
cmd.Parameters.AddWithValue("@Frächter", d.Frächter)
cmd.Parameters.AddWithValue("@Auftraggeber", d.Auftraggeber)
cmd.Parameters.AddWithValue("@FirmaID", d.FirmaID)
If d.FMZollKdnr = "" Then
cmd.Parameters.AddWithValue("@KundenNr", DBNull.Value)
Else
cmd.Parameters.AddWithValue("@KundenNr", d.FMZollKdnr)
End If
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenFirma(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Firmen WHERE FirmaID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Firma-Stammdaten können nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
End Class
Public Class cQSAufträge
Property QS_auftragpos_id As Integer = -1
Property AvisoID As Integer = -1
Property QS_Abfertigungsart_ID As Integer = -1
Property QS_Abfertigungsart_Anzahl As Integer = 0
End Class
Public Class cAvisoVorpapier
Property vp_AvisoId As Integer
Property vp_Art As String = "T1"
Property vp_Nr As String = ""
End Class
Public Class cAviso
Property AvisoID As Integer
Property Datum As Date
Property LKW_Nr As String
Property Telefonisch As String
Property Änderungen As String
Property Info As String
Property Status As Integer
Property Auftraggeber As String
Property Auftraggeber_KdNr As String = ""
Property Frächter As String
Property Frächter_KdNr As String = ""
Property letzterMitarbeiter As String
Property LetzterMitarbeiterId As Object = Nothing
Property Ankunft As Date
Property Freigabe As Date
Property Vorbereitet As Date
Property Vorgeschrieben As Date
Property Dauer As Integer
Property AvisoEingang As Date
Property Grenzstelle As String
Property LKW_fertig As Boolean
Property Handling As Boolean = False
Property AvisoTVHinweis As String = ""
Property Sendungen_Gesamtanzahl As Integer = 0
Property Sammelakt As Boolean = False
Property Buero As String = ""
Property ImEx As String = ""
Property Abgeschlossen As Boolean = False
Property FIRMA As String = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
Property Durchgangszollstelle1 As Object = Nothing
Property Durchgangszollstelle2 As Object = Nothing
Property Durchgangszollstelle3 As Object = Nothing
Property Durchgangszollstelle4 As Object = Nothing
Property Durchgangszollstelle5 As Object = Nothing
Property Durchgangszollstelle6 As Object = Nothing
Property Ausgangszollstelle As Object = Nothing
Property Zollstelle As Object = Nothing
Property TransportTemperatur As Object = Nothing
Property Zugmaschine As Object = Nothing
Property FahrerHandy As Object = Nothing
Property LKW_Nationalitaet As Object = Nothing
Property DakosyRef As Object = Nothing
Property TeamId As Object = Nothing
Property Cluster As Object = Nothing
Property Freigabe_Info As String = ""
Property KdAuftragsNr_Avisierer As Object = Nothing
Property KdAuftragsNr_Frachtfuehrer As Object = Nothing
Property FreigabeFiliale As Object = Nothing
Property VoraussichtlichesEintreffen As Object = Nothing
Property VORSYSTEM As Object = Nothing
Property Warenort As Boolean = False
Property ZOLLDigitalEingereicht As Boolean = False
Property Transportmittelart As Object = Nothing
Property WeiterleitungTextTV As String = ""
Public VORPAPIERE As New List(Of cAvisoVorpapier)
Shared Function getAvisoById(hID, Optional hSQL = "") As cAviso
Dim AVISODAL As New cAvisoDAL
Return AVISODAL.LesenAviso(hID, hSQL)
End Function
Shared Function getFirmaByAvisoId(AvisoId) As String
Dim SQL As New SQL
Return SQL.getValueTxtBySql("SELECT TOP 1 Firma FROM AVISO WHERE AvisoId=" & AvisoId, "AVISO")
End Function
Shared Function getAVISO_List(Optional Standort = "SUB") As DataTable 'Optional FIRMA = "VERAG") As DataTable
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim sqlWhere = ""
Select Case Standort
Case "SUB" : sqlWhere = " AND ( FIRMA='VERAG' OR CLUSTER='FRONTOFFICE' ) AND ImEx IN ('IMPORT','') AND Grenzstelle = '" & Standort & "' "
Case "ATILLA" : sqlWhere = " AND ( FIRMA='ATILLA') "
Case "IMEX" : sqlWhere = " AND ( FIRMA='IMEX') "
Case "UNISPED" : sqlWhere = " AND ( FIRMA='UNISPED') "
Case Else : sqlWhere = " AND FIRMA='VERAG' AND ( Grenzstelle='" & Standort & "') "
End Select
' Standort = ""
Dim dt = SQL.loadDgvBySql("SELECT TOP 1000 AvisoID, Status, LKW_Nr, Auftraggeber, Frächter,VoraussichtlichesEintreffen, AvisoEingang, Ankunft, Dauer, Grenzstelle,letzterMitarbeiter, CASE WHEN [LKW_fertig] = 1 THEN 'OK' ELSE '' END AS [LKW_fertig], Datum, Vorbereitet, Vorgeschrieben, Freigabe, Telefonisch, Info,Handling,AvisoTVHinweis,DATEDIFF(DAY,getdate(),[VoraussichtlichesEintreffen]) TageBisEintreffen
FROM Aviso
WHERE 1=1 " & sqlWhere & " AND Status = 3 ORDER BY Ankunft ASC, AvisoEingang ASC, Datum ASC", "AVISO")
Return dt
End Function
'Shared Function getAviso_WEB(hID, Optional where = "") As cAviso
' sadf
' Dim AVISODAL As New cAvisoDAL
' Return AVISODAL.LesenAviso(hID, hSQL)
'End Function
Public Shared Function GET_KDLIST_WEB(ART As String, KundenNr As Integer, Optional Status() As Integer = Nothing, Optional von As Object = Nothing, Optional bis As Object = Nothing, Optional Absender As String = "", Optional Empfänger As String = "", Optional LKW_Nr As String = "", Optional KdAuftragsNr As String = "") As DataTable
Dim dt As New DataTable
Dim SQL As New SQL
Try
Dim sqlWHERE = ""
' sqlWHERE &= " AND KundenNr LIKE @KundenNr"
If LKW_Nr <> "" Then sqlWHERE &= " AND LKW_Nr LIKE @LKW_Nr"
If Empfänger <> "" Then sqlWHERE &= " AND Empfänger LIKE @Empfänger"
If Absender <> "" Then sqlWHERE &= " AND Absender LIKE @Absender"
If KdAuftragsNr <> "" Then sqlWHERE &= " AND KdAuftragsNr LIKE @KdAuftragsNr"
If von IsNot Nothing Then
If bis IsNot Nothing Then
sqlWHERE &= " AND AvisoEingang BETWEEN @AvisoEingang AND @AvisoEingangBIS"
Else
sqlWHERE &= " AND AvisoEingang >= @AvisoEingang"
End If
End If
'Alle Einträge in Status druchlaufen
Dim statusWhere = ""
If Status IsNot Nothing AndAlso Status.Count > 0 Then
statusWhere = " AND Status IN ("
For Each st In Status
statusWhere &= "'" & st & "',"
Next
statusWhere = statusWhere.Substring(0, statusWhere.Length - 1) ' Beistrich weg
statusWhere &= ") "
End If
'Art des Kunden
Dim sqlstr = ""
Select Case ART
Case "AVISIERER"
sqlstr = "SELECT TOP 1000 * FROM [AVISO]
WHERE (SELECT count(*) FROM tblSendungen where AvisoID=tblSnd_AvisoID AND (tblSnd_AuftraggeberKdNr=@KundenNr OR tblSnd_AvisiererKdNr=@KundenNr OR tblSnd_FrachtfuehrerKdNr=@KundenNr))>0
"
Case "EMPFAENGER"
sqlstr = "SELECT TOP 1000 * FROM [AVISO]
WHERE (SELECT count(*) FROM tblSendungen where AvisoID=tblSnd_AvisoID AND (tblSnd_EmpfaengerKdNr = @KundenNr OR tblSnd_AbsenderKdNr =@KundenNr OR tblSnd_AuftraggeberKdNr=@KundenNr OR tblSnd_AvisiererKdNr=@KundenNr ))>0 "
Case Else 'Default, alle KdNr-Felder
sqlstr = "SELECT TOP 1000 * FROM [AVISO]
WHERE (SELECT count(*) FROM tblSendungen where AvisoID=tblSnd_AvisoID AND ( tblSnd_AbsenderKdNr =@KundenNr OR tblSnd_EmpfaengerKdNr = @KundenNr OR tblSnd_AuftraggeberKdNr=@KundenNr OR tblSnd_AvisiererKdNr=@KundenNr OR tblSnd_FrachtfuehrerKdNr=@KundenNr ))>0 "
End Select
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KundenNr", KundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LKW_Nr", LKW_Nr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Empfänger", Empfänger))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Absender", Absender))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("KdAuftragsNr", KdAuftragsNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoEingang", von))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("AvisoEingangBIS", bis))
'list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Status", Status))
dt = SQL.loadDgvBySql_Param(sqlstr & sqlWHERE & statusWhere & " ORDER BY Status desc, Ankunft, Freigabe, Datum ", "AVISO",, list)
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 dt
End Function
Public Function getSENDUNG_LIST() As List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
Dim SENDUNG_LIST As New List(Of VERAG_PROG_ALLGEMEIN.cSendungen)
VERAG_PROG_ALLGEMEIN.cSendungen.LOAD_LIST(SENDUNG_LIST, -1, AvisoID) 'LÄDT alle SENDUNGSDATEN
Return SENDUNG_LIST
End Function
Sub UPDATE_FahrerHandy(FahrerHandy As String)
If AvisoID <= 0 Then Exit Sub
If If(FahrerHandy, "") = "" Then Exit Sub
Me.FahrerHandy = FahrerHandy
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
SQL.doSQL("UPDATE AVISO SET FahrerHandy='" & FahrerHandy & "' WHERE AvisoId=" & AvisoID, "AVISO")
End Sub
Sub UPDATE_FreigabeInfo(Freigabe_Info As String)
If AvisoID <= 0 Then Exit Sub
Me.Freigabe_Info = Freigabe_Info
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
SQL.doSQL("UPDATE AVISO SET Freigabe_Info='" & Freigabe_Info & "' WHERE AvisoId=" & AvisoID, "AVISO")
End Sub
Sub LOAD_Vorpapiere()
If AvisoID <= 0 Then Exit Sub
VORPAPIERE.Clear()
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim dt = SQL.loadDgvBySql("SELECT * FROM tblAvisoVorpapier WHERE vp_AvisoId='" & AvisoID & "'", "AVISO")
If dt IsNot Nothing Then
For Each r In dt.Rows
Dim VP As New cAvisoVorpapier
VP.vp_AvisoId = AvisoID
VP.vp_Nr = r("vp_Nr")
VP.vp_Art = r("vp_Art")
VORPAPIERE.Add(VP)
Next
End If
End Sub
End Class
Public Class cDruckAviso
Property Datum As String
Property Status As String
Property LetzterMitarbeiter As String
Property LKW_Nr As String
Property Fraechter As String
Property Auftraggeber As String
Property Ankunft As String
Property Freigabe As String
Property Dauer As String
Property Info As String
Property Aenderungen As String
Property Telefonisch As String
Property AvisoEingang As String
Property Grenzstelle As String
End Class
Public Class cAvisoDAL
Public Function LesenAviso(hID As Integer, hSQL As String) As cAviso
'Dim FIRMA = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
If hID > 0 Then
sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} ", hID)
'If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA <> "" Then
' sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ", hID)
'Else
' sql = String.Format("SELECT * FROM Aviso WHERE AvisoID = {0} ", hID)
'End If
Else
sql = hSQL
End If
Dim daten As cAviso = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cAviso()
daten.AvisoID = VarToInt(dr.Item("AvisoID"))
daten.Datum = CDate(VarToDate(dr.Item("Datum")))
daten.LKW_Nr = VarToStr(dr.Item("LKW_Nr"))
daten.Telefonisch = VarToStr(dr.Item("Telefonisch"))
daten.Änderungen = VarToStr(dr.Item("Änderungen"))
daten.Info = VarToStr(dr.Item("Info"))
daten.Status = VarToInt(dr.Item("Status"))
daten.Auftraggeber = VarToStr(dr.Item("Auftraggeber"))
daten.Auftraggeber_KdNr = CStr(VarToInt(dr.Item("Auftraggeber_KdNr")))
daten.Frächter_KdNr = CStr(VarToInt(dr.Item("Frächter_KdNr")))
daten.Frächter = VarToStr(dr.Item("Frächter"))
daten.letzterMitarbeiter = VarToStr(dr.Item("letzterMitarbeiter"))
daten.Ankunft = CDate(VarToDate(dr.Item("Ankunft")))
daten.Freigabe = CDate(VarToDate(dr.Item("Freigabe")))
daten.Vorbereitet = CDate(VarToDate(dr.Item("Vorbereitet")))
daten.Vorgeschrieben = CDate(VarToDate(dr.Item("Vorgeschrieben")))
daten.AvisoEingang = CDate(VarToDate(dr.Item("AvisoEingang")))
daten.Dauer = VarToInt(dr.Item("Dauer"))
daten.Grenzstelle = VarToStr(dr.Item("Grenzstelle"))
daten.LKW_fertig = VarToBool(dr.Item("LKW_fertig"))
daten.Handling = VarToBool(dr.Item("Handling"))
daten.AvisoTVHinweis = VarToStr(dr.Item("AvisoTVHinweis"))
daten.Sammelakt = VarToBool(dr.Item("Sammelakt"))
daten.Buero = VarToStr(dr.Item("Buero"))
daten.ImEx = VarToStr(dr.Item("ImEx"))
daten.Abgeschlossen = VarToBool(dr.Item("Abgeschlossen"))
daten.FIRMA = VarToStr(dr.Item("FIRMA"))
daten.Durchgangszollstelle1 = VarToStr(dr.Item("Durchgangszollstelle1"))
daten.Durchgangszollstelle2 = VarToStr(dr.Item("Durchgangszollstelle2"))
daten.Durchgangszollstelle3 = VarToStr(dr.Item("Durchgangszollstelle3"))
daten.Durchgangszollstelle4 = VarToStr(dr.Item("Durchgangszollstelle4"))
daten.Durchgangszollstelle5 = VarToStr(dr.Item("Durchgangszollstelle5"))
daten.Durchgangszollstelle6 = VarToStr(dr.Item("Durchgangszollstelle6"))
daten.Ausgangszollstelle = VarToStr(dr.Item("Ausgangszollstelle"))
daten.Zollstelle = VarToStr(dr.Item("Zollstelle"))
daten.TransportTemperatur = VarToStr(dr.Item("TransportTemperatur"))
daten.Zugmaschine = VarToStr(dr.Item("Zugmaschine"))
daten.FahrerHandy = VarToStr(dr.Item("FahrerHandy"))
daten.LKW_Nationalitaet = VarToStr(dr.Item("LKW_Nationalitaet"))
daten.DakosyRef = VarToStr(dr.Item("DakosyRef"))
daten.LetzterMitarbeiterId = If(dr.Item("letzterMitarbeiterid") Is DBNull.Value, Nothing, dr.Item("letzterMitarbeiterid"))
daten.TeamId = If(dr.Item("TeamId") Is DBNull.Value, Nothing, dr.Item("TeamId"))
daten.Cluster = If(dr.Item("Cluster") Is DBNull.Value, Nothing, dr.Item("Cluster"))
daten.Freigabe_Info = VarToStr(dr.Item("Freigabe_Info"))
daten.KdAuftragsNr_Frachtfuehrer = If(dr.Item("KdAuftragsNr_Frachtfuehrer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Frachtfuehrer"))
daten.KdAuftragsNr_Avisierer = If(dr.Item("KdAuftragsNr_Avisierer") Is DBNull.Value, Nothing, dr.Item("KdAuftragsNr_Avisierer"))
daten.FreigabeFiliale = If(dr.Item("FreigabeFiliale") Is DBNull.Value, Nothing, dr.Item("FreigabeFiliale"))
daten.VoraussichtlichesEintreffen = If(dr.Item("VoraussichtlichesEintreffen") Is DBNull.Value, Nothing, dr.Item("VoraussichtlichesEintreffen"))
daten.VORSYSTEM = If(dr.Item("VORSYSTEM") Is DBNull.Value, Nothing, dr.Item("VORSYSTEM"))
daten.Warenort = If(dr.Item("Warenort") Is DBNull.Value, Nothing, dr.Item("Warenort"))
daten.ZOLLDigitalEingereicht = If(dr.Item("ZOLLDigitalEingereicht") Is DBNull.Value, Nothing, dr.Item("ZOLLDigitalEingereicht"))
daten.Transportmittelart = If(dr.Item("Transportmittelart") Is DBNull.Value, Nothing, dr.Item("Transportmittelart"))
daten.WeiterleitungTextTV = VarToStr(dr.Item("WeiterleitungTextTV"))
End If
dr.Close()
End Using
End Using
conn.Close()
Return daten
End Function
Public Function Suche_LKW(LKW_Nr As String) As String
'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war
Suche_LKW = ""
Dim sql As String = "SELECT * FROM Aviso WHERE LKW_Nr = '" & LKW_Nr & "' AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' ORDER BY Datum DESC"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
'Hinweis erfolgt nur, wenn LKW in den letzten 4 Tagen gefahren ist
If CDate(VarToDate(dr.Item("Datum"))) > Now.AddDays(-4) Then
Suche_LKW = "Achtung: der LKW mit der Nr. " & LKW_Nr & " wurde bereits vor kurzem eingetragen - und zwar am " &
Format(CDate(VarToDate(dr.Item("Datum"))), "ddd, dd.MM.yyyy - HH:mm")
End If
End If
dr.Close()
End Using
End Using
conn.Close()
Return Suche_LKW
End Function
Public Function Suche_LKWStatus(LKW_Nr As String) As String
'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war
Suche_LKWStatus = ""
Dim firma = VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
If firma = "" Then firma = "VERAG"
If VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER <> "" Then
firma = " AND ( FIRMA='" & firma & "' OR CLUSTER='" & VERAG_PROG_ALLGEMEIN.cAllgemein.CLUSTER & "' ) "
Else
firma = " AND FIRMA='" & firma & "' "
End If
Dim sql As String = "SELECT * FROM Aviso WHERE LKW_Nr = '" & LKW_Nr & "' AND [Status] Not in (1,2) " & firma & " ORDER BY Datum DESC"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
Suche_LKWStatus = "Achtung: der LKW mit der Nr. " & LKW_Nr & " existiert bereits mit dem Status '" & cGlobal.getStatusText(VarToInt2(dr.Item("Status"))) & "', Eingetragen, am " &
Format(CDate(VarToDate(dr.Item("Datum"))), "ddd, dd.MM.yyyy - HH:mm")
End If
dr.Close()
End Using
End Using
conn.Close()
Return Suche_LKWStatus
End Function
Public Function getAvisoInfo(AvisoID As Integer) As String
Dim Info As String = ""
Dim sql As String = "SELECT Info FROM Aviso WHERE AvisoID = '" & AvisoID & "' "
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
If Not dr.Item("Info") Is DBNull.Value Then
Info = dr.Item("Info").ToString
End If
End If
dr.Close()
End Using
End Using
conn.Close()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle), "Problem in Function 'Suche_LKW'")
End Try
Return Info
End Function
Public Function VermerkExistsInAvisoByID(AvisoID As Integer, VermerkeCode As Integer) As Boolean
'hier wird nachgesehen, wann diese LKW-Nr zuletzt eingetragen war
Dim b As Boolean = False
Dim sql As String = "SELECT top 1 VermerkID FROM Vermerke WHERE AvisoID = '" & AvisoID & "' AND VermerkeCode = '" & VermerkeCode & "' "
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
b = True
End If
dr.Close()
End Using
End Using
conn.Close()
Return b
End Function
Public Function loadDataTableBySQL(hSQL As String, Optional timeout As Integer = 0) As DataTable
Try
Dim myTable = New DataTable()
Dim conn As SqlConnection = cSqlDb.GetNewOpenConnectionAVISO()
' Using conn As SqlConnection = cSqlDb.GetNewOpenConnection()
Using cmd As New SqlCommand(hSQL, conn)
If timeout > 0 Then cmd.CommandTimeout = timeout
Dim dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
conn.Close()
' End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message)
End Try
Return Nothing
End Function
Public Function loadDataTableBySQL_OLD(hSQL As String) As DataTable
' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) '= cDatenbank.GetNewOpenConnection()
SqlConnection.ClearPool(conn) ' Wenn Beim Drucken die Vorschau abgebrochen wird, tritt ansonsten ein Fehler auf.
Try
conn.Open()
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
conn.Close()
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Aviso'")
conn.Close()
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
' Environment.Exit(0)
End If
End Try
End Using
'End While
Return Nothing
End Function
Public Function getStandzeitInfo(maId As Integer, von As Integer, bis As Integer, Warnstufe As Integer) As DataTable
Dim hSQL As String = "SELECT AvisoID,[LKW_Nr], [Ankunft], StandzeitWarnstufe " &
" FROM Aviso INNERJOIN" &
" WHERE [Status] = 3 AND LetzterMitarbeiterId = " & maId & " " &
" AND DATEDIFF(MINUTE, Ankunft, getdate()) between " & von & " AND " & bis & " " &
" AND (StandzeitWarnstufe is null OR StandzeitWarnstufe < " & Warnstufe & ")"
Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString) '= cDatenbank.GetNewOpenConnection()
SqlConnection.ClearPool(conn) ' Wenn Beim Drucken die Vorschau abgebrochen wird, tritt ansonsten ein Fehler auf.
conn.Open()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
conn.Close()
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Aviso'")
conn.Close()
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Programm wird aufgrund eines kritischen Problems beendet." & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
End Using
Return Nothing
End Function
Public Sub UpdateWarnstufe(ByVal avisoID As Integer, ByVal Warnstufe As Integer)
Dim sql = "UPDATE Aviso SET [StandzeitWarnstufe]= @Warnstufe WHERE AvisoID = @AvisoID"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Warnstufe", Warnstufe)
cmd.Parameters.AddWithValue("@AvisoID", avisoID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler UpdateWarnstufe")
End Try
End Using
conn.Close()
End Sub
Public Sub UpdateAvisoTVHinweis(ByVal avisoID As Integer, ByVal AvisoTVHinweis As String)
Dim sql = "UPDATE Aviso SET [AvisoTVHinweis]= @AvisoTVHinweis WHERE AvisoID = @AvisoID"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoTVHinweis", AvisoTVHinweis)
cmd.Parameters.AddWithValue("@AvisoID", avisoID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler UpdateWarnstufe")
End Try
End Using
conn.Close()
End Sub
Public Sub addAenderung(AvisoID As Integer, Aenderung_Art As String, Aenderung_Text As String)
Dim hAuswahl As String = " INSERT INTO Aenderungen " &
" ([AvisoID], [Datum], [Mitarbeiter], [MitarbeiterId], [Aenderung_Art], [Aenderung_Text]) " &
" VALUES (@AvisoID, @Datum, @Mitarbeiter, @MitarbeiterId, @Aenderung_Art, @Aenderung_Text)"
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
cmd.Parameters.AddWithValue("@Datum", Now)
cmd.Parameters.AddWithValue("@Mitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter)
cmd.Parameters.AddWithValue("@MitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID)
cmd.Parameters.AddWithValue("@Aenderung_Art", Aenderung_Art)
cmd.Parameters.AddWithValue("@Aenderung_Text", Aenderung_Text)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Aenderungen")
End Try
End Using
conn.Close()
End Sub
Public Function SpeichernAviso(ByVal d As cAviso, Optional letzerMaIdAuto As Boolean = True) As Integer
Dim hAuswahl As String
Dim id As Integer = -1
If d.AvisoID <= 0 Then
'Neuanlage
hAuswahl = "INSERT INTO Aviso " &
"(Datum, LKW_Nr, Telefonisch, Änderungen, Info, Status, Auftraggeber, Frächter, letzterMitarbeiter, " &
"Vorbereitet,Vorgeschrieben, Ankunft, Freigabe, Dauer, AvisoEingang, Grenzstelle, LKW_fertig,letzterMitarbeiterId,Handling,Sendungen_Gesamtanzahl,Sammelakt,Frächter_KdNr,Auftraggeber_KdNr,AvisoTVHinweis,Buero,Imex,Abgeschlossen,FIRMA, " &
" Durchgangszollstelle1,Durchgangszollstelle2,Durchgangszollstelle3,Durchgangszollstelle4,Durchgangszollstelle5,Durchgangszollstelle6,Ausgangszollstelle,Zollstelle,TransportTemperatur,Zugmaschine,FahrerHandy,LKW_Nationalitaet,DakosyRef,TeamId,Cluster,Freigabe_Info,KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer,FreigabeFiliale,VoraussichtlichesEintreffen,Warenort,ZOLLDigitalEingereicht,Transportmittelart,WeiterleitungTextTV) VALUES (" &
"@Datum, @LKW_Nr, @Telefonisch, @Änderungen, @Info, @Status, @Auftraggeber, @Frächter, @letzterMitarbeiter, " &
"@Vorbereitet, @Vorgeschrieben, @Ankunft, @Freigabe, @Dauer, @AvisoEingang, @Grenzstelle, @LKW_fertig,@letzterMitarbeiterId,@Handling,@Sendungen_Gesamtanzahl,@Sammelakt,@Frächter_KdNr,@Auftraggeber_KdNr,@AvisoTVHinweis,@Buero,@Imex,@Abgeschlossen,@FIRMA," &
"@Durchgangszollstelle1,@Durchgangszollstelle2,@Durchgangszollstelle3,@Durchgangszollstelle4,@Durchgangszollstelle5,@Durchgangszollstelle6,@Ausgangszollstelle,@Zollstelle,@TransportTemperatur,@Zugmaschine,@FahrerHandy,@LKW_Nationalitaet,@DakosyRef,@TeamId,@Cluster,@Freigabe_Info,@KdAuftragsNr_Frachtfuehrer,@KdAuftragsNr_Avisierer,@FreigabeFiliale,@VoraussichtlichesEintreffen,@Warenort,@ZOLLDigitalEingereicht,@Transportmittelart,@WeiterleitungTextTV); SELECT CAST(scope_identity() AS int);"
Else
id = d.AvisoID
'Änderung
hAuswahl = String.Format(
"UPDATE Aviso SET Datum = @Datum, LKW_Nr = @LKW_Nr, Telefonisch=@Telefonisch, Änderungen=@Änderungen, Info=@Info, Status=@Status, Auftraggeber=@Auftraggeber, Frächter=@Frächter, " &
" letzterMitarbeiter = @letzterMitarbeiter, Vorbereitet=@Vorbereitet,Vorgeschrieben=@Vorgeschrieben, Ankunft = @Ankunft, Freigabe = @Freigabe, Dauer = @Dauer, AvisoEingang = @AvisoEingang, Grenzstelle=@Grenzstelle, LKW_fertig=@LKW_fertig, letzterMitarbeiterId=@letzterMitarbeiterId, Handling=@Handling,Sendungen_Gesamtanzahl=@Sendungen_Gesamtanzahl,Sammelakt=@Sammelakt,Frächter_KdNr=@Frächter_KdNr,Auftraggeber_KdNr=@Auftraggeber_KdNr,AvisoTVHinweis=@AvisoTVHinweis,Buero=@Buero,Imex=@Imex,Abgeschlossen=@Abgeschlossen, " &
" Durchgangszollstelle1=@Durchgangszollstelle1,Durchgangszollstelle2=@Durchgangszollstelle2,Durchgangszollstelle3=@Durchgangszollstelle3,Durchgangszollstelle4=@Durchgangszollstelle4,Durchgangszollstelle5=@Durchgangszollstelle5,Durchgangszollstelle6=@Durchgangszollstelle6,Ausgangszollstelle=@Ausgangszollstelle,Zollstelle=@Zollstelle,TransportTemperatur=@TransportTemperatur,Zugmaschine=@Zugmaschine,FahrerHandy=@FahrerHandy, LKW_Nationalitaet=@LKW_Nationalitaet, DakosyRef=@DakosyRef,TeamId=@TeamId,Cluster=@Cluster,Freigabe_Info=@Freigabe_Info,KdAuftragsNr_Frachtfuehrer =@KdAuftragsNr_Frachtfuehrer,KdAuftragsNr_Avisierer=@KdAuftragsNr_Avisierer , FreigabeFiliale=@FreigabeFiliale,VoraussichtlichesEintreffen=@VoraussichtlichesEintreffen,Warenort=@Warenort,ZOLLDigitalEingereicht=@ZOLLDigitalEingereicht,Transportmittelart=@Transportmittelart,WeiterleitungTextTV=@WeiterleitungTextTV,FIRMA=@FIRMA" &
" WHERE AvisoID = @AvisoID")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.Add("@Datum", SqlDbType.DateTime).Value = SQLNullDate(d.Datum)
' cmd.Parameters.AddWithValue("@Datum", SQLNullDate(d.Datum))
cmd.Parameters.AddWithValue("@LKW_Nr", d.LKW_Nr)
cmd.Parameters.AddWithValue("@Telefonisch", d.Telefonisch)
cmd.Parameters.AddWithValue("@Änderungen", d.Änderungen)
cmd.Parameters.AddWithValue("@Info", d.Info)
cmd.Parameters.AddWithValue("@Status", d.Status)
cmd.Parameters.AddWithValue("@Auftraggeber", d.Auftraggeber)
cmd.Parameters.AddWithValue("@Frächter", d.Frächter)
cmd.Parameters.AddWithValue("@letzterMitarbeiter", d.letzterMitarbeiter)
cmd.Parameters.Add("@Vorbereitet", SqlDbType.DateTime).Value = SQLNullDate(d.Vorbereitet)
cmd.Parameters.Add("@Vorgeschrieben", SqlDbType.DateTime).Value = SQLNullDate(d.Vorgeschrieben)
cmd.Parameters.Add("@Ankunft", SqlDbType.DateTime2).Value = SQLNullDate(d.Ankunft)
cmd.Parameters.Add("@Freigabe", SqlDbType.DateTime2).Value = SQLNullDate(d.Freigabe)
' cmd.Parameters.AddWithValue("@Vorbereitet", SQLNullDate(d.Vorbereitet))
' cmd.Parameters.AddWithValue("@Vorgeschrieben", SQLNullDate(d.Vorgeschrieben))
' cmd.Parameters.AddWithValue("@Ankunft", d.Ankunft)
' cmd.Parameters.AddWithValue("@Freigabe", d.Freigabe)
cmd.Parameters.AddWithValue("@Dauer", d.Dauer)
cmd.Parameters.Add("@AvisoEingang", SqlDbType.DateTime).Value = SQLNullDate(d.AvisoEingang)
' cmd.Parameters.AddWithValue("@AvisoEingang", SQLNullDate(d.AvisoEingang))
cmd.Parameters.AddWithValue("@Grenzstelle", d.Grenzstelle)
cmd.Parameters.AddWithValue("@LKW_fertig", d.LKW_fertig)
cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
cmd.Parameters.AddWithValue("@letzterMitarbeiterId", If(letzerMaIdAuto, cGlobal.AktiverMitarbeiter.MitarbeiterID, IIf(IsNumeric(d.LetzterMitarbeiterId), d.LetzterMitarbeiterId, DBNull.Value)))
cmd.Parameters.AddWithValue("@Handling", d.Handling)
cmd.Parameters.AddWithValue("@Sendungen_Gesamtanzahl", d.Sendungen_Gesamtanzahl)
cmd.Parameters.AddWithValue("@Sammelakt", d.Sammelakt)
cmd.Parameters.AddWithValue("@Auftraggeber_KdNr", IIf(IsNumeric(d.Auftraggeber_KdNr), d.Auftraggeber_KdNr, DBNull.Value))
cmd.Parameters.AddWithValue("@Frächter_KdNr", IIf(IsNumeric(d.Frächter_KdNr), d.Frächter_KdNr, DBNull.Value))
cmd.Parameters.AddWithValue("@AvisoTVHinweis", d.AvisoTVHinweis)
cmd.Parameters.AddWithValue("@Buero", If(d.Buero, ""))
cmd.Parameters.AddWithValue("@Imex", d.ImEx)
cmd.Parameters.AddWithValue("@Abgeschlossen", d.Abgeschlossen)
cmd.Parameters.AddWithValue("@FIRMA", d.FIRMA)
cmd.Parameters.AddWithValue("@Durchgangszollstelle1", If(d.Durchgangszollstelle1 Is Nothing, DBNull.Value, d.Durchgangszollstelle1))
cmd.Parameters.AddWithValue("@Durchgangszollstelle2", If(d.Durchgangszollstelle2 Is Nothing, DBNull.Value, d.Durchgangszollstelle2))
cmd.Parameters.AddWithValue("@Durchgangszollstelle3", If(d.Durchgangszollstelle3 Is Nothing, DBNull.Value, d.Durchgangszollstelle3))
cmd.Parameters.AddWithValue("@Durchgangszollstelle4", If(d.Durchgangszollstelle4 Is Nothing, DBNull.Value, d.Durchgangszollstelle4))
cmd.Parameters.AddWithValue("@Durchgangszollstelle5", If(d.Durchgangszollstelle5 Is Nothing, DBNull.Value, d.Durchgangszollstelle5))
cmd.Parameters.AddWithValue("@Durchgangszollstelle6", If(d.Durchgangszollstelle6 Is Nothing, DBNull.Value, d.Durchgangszollstelle6))
cmd.Parameters.AddWithValue("@Ausgangszollstelle", If(d.Ausgangszollstelle Is Nothing, DBNull.Value, d.Ausgangszollstelle))
cmd.Parameters.AddWithValue("@Zollstelle", If(d.Zollstelle Is Nothing, DBNull.Value, d.Zollstelle))
cmd.Parameters.AddWithValue("@TransportTemperatur", If(d.TransportTemperatur Is Nothing, DBNull.Value, d.TransportTemperatur))
cmd.Parameters.AddWithValue("@Zugmaschine", If(d.Zugmaschine Is Nothing, DBNull.Value, d.Zugmaschine))
cmd.Parameters.AddWithValue("@FahrerHandy", If(d.FahrerHandy Is Nothing, DBNull.Value, d.FahrerHandy))
cmd.Parameters.AddWithValue("@LKW_Nationalitaet", If(d.LKW_Nationalitaet Is Nothing, DBNull.Value, d.LKW_Nationalitaet))
cmd.Parameters.AddWithValue("@DakosyRef", If(d.DakosyRef Is Nothing, DBNull.Value, d.DakosyRef))
cmd.Parameters.AddWithValue("@TeamId", If(d.TeamId Is Nothing, DBNull.Value, d.TeamId))
cmd.Parameters.AddWithValue("@Cluster", If(d.Cluster Is Nothing, DBNull.Value, d.Cluster))
cmd.Parameters.AddWithValue("@Freigabe_Info", d.Freigabe_Info)
cmd.Parameters.AddWithValue("@KdAuftragsNr_Frachtfuehrer", If(d.KdAuftragsNr_Frachtfuehrer Is Nothing, DBNull.Value, d.KdAuftragsNr_Frachtfuehrer))
cmd.Parameters.AddWithValue("@KdAuftragsNr_Avisierer", If(d.KdAuftragsNr_Avisierer Is Nothing, DBNull.Value, d.KdAuftragsNr_Avisierer))
cmd.Parameters.AddWithValue("@FreigabeFiliale", If(d.FreigabeFiliale Is Nothing, DBNull.Value, d.FreigabeFiliale))
cmd.Parameters.AddWithValue("@VoraussichtlichesEintreffen", If(d.VoraussichtlichesEintreffen Is Nothing, DBNull.Value, d.VoraussichtlichesEintreffen))
cmd.Parameters.AddWithValue("@Warenort", d.Warenort)
cmd.Parameters.AddWithValue("@ZOLLDigitalEingereicht", d.ZOLLDigitalEingereicht)
cmd.Parameters.AddWithValue("@Transportmittelart", If(d.Transportmittelart, ""))
cmd.Parameters.AddWithValue("@WeiterleitungTextTV", d.WeiterleitungTextTV)
Try
If d.AvisoID <= 0 Then
id = (Convert.ToInt32(cmd.ExecuteScalar()))
' MsgBox(id)
Else
cmd.ExecuteNonQuery()
End If
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Aviso")
End Try
End Using
conn.Close()
Return id
End Function
Public Function SpeichernAvisoVorpapiere(ByVal AvisoId As Integer, VORPAPIERE As List(Of cAvisoVorpapier)) As Boolean
SpeichernAvisoVorpapiere = True
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
If SQL.doSQL("DELETE tblAvisoVorpapier WHERE [vp_AvisoId]='" & AvisoId & "'", "AVISO") Then
For Each VP In VORPAPIERE
If Not SQL.doSQL("INSERT INTO tblAvisoVorpapier (vp_AvisoId, vp_Art,vp_Nr) VALUES ('" & AvisoId & "','" & VP.vp_Art & "','" & VP.vp_Nr & "') ", "AVISO") Then SpeichernAvisoVorpapiere = False
Next
Else
SpeichernAvisoVorpapiere = True = False
End If
End Function
Public Function setQSAufträge(ByVal daten As List(Of cQSAufträge)) As Boolean
For Each d As cQSAufträge In daten
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Dim sql As String = " begin tran" &
" if exists (select * from tblQS_Auftragspositionen with (updlock,serializable) where QS_Abfertigungsart_ID = @QS_Abfertigungsart_ID AND AvisoID = @AvisoID) " &
" begin " &
" UPDATE tblQS_Auftragspositionen " &
" SET QS_Abfertigungsart_Anzahl=@QS_Abfertigungsart_Anzahl " &
" WHERE QS_Abfertigungsart_ID = @QS_Abfertigungsart_ID AND AvisoID = @AvisoID " &
" End " &
" Else " &
" begin " &
" INSERT INTO tblQS_Auftragspositionen " &
" ([AvisoID],[QS_Abfertigungsart_ID],[QS_Abfertigungsart_Anzahl]) " &
" VALUES(@AvisoID, @QS_Abfertigungsart_ID, @QS_Abfertigungsart_Anzahl) " &
" End " &
" commit tran "
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
cmd.Parameters.AddWithValue("@QS_Abfertigungsart_ID", d.QS_Abfertigungsart_ID)
cmd.Parameters.AddWithValue("@QS_Abfertigungsart_Anzahl", d.QS_Abfertigungsart_Anzahl)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR("Datensatz kann nicht gespeichert werden! " & ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
Return False
End Try
End Using
' conn.Close()
Next
Return True
End Function
Public Function insertSendungEmpty(ByVal AvisoID As Integer, ByVal PosUnterNr As Integer, ByVal FilialenNr As Integer, ByVal AbfertigungsNr As Object, ByVal UnterNr As Integer, ByVal tblSnd_Abfertigungsart_ID As Object, Optional tblSnd_AuftraggeberKdNr As Object = Nothing, Optional tblSnd_Auftraggeber As Object = Nothing, Optional tblSnd_Fremdspedition As Boolean = False, Optional ByRef sndId As Integer = -1) As Boolean
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Dim sql As String = " INSERT INTO tblSendungen " &
" ([tblSnd_PosUnterNr],[tblSnd_AvisoID],FilialenNr,AbfertigungsNr,UnterNr,tblSnd_Abfertigungsart_ID,tblSnd_AuftraggeberKdNr,tblSnd_Auftraggeber,tblSnd_Fremdspedition,tblSnd_QS_MA,LetzterMitarbeiterId,LetzterMitarbeiter) " &
" VALUES(@PosUnterNr,@AvisoID,@FilialenNr,@AbfertigungsNr,@UnterNr,@tblSnd_Abfertigungsart_ID,@tblSnd_AuftraggeberKdNr,@tblSnd_Auftraggeber,@tblSnd_Fremdspedition,@tblSnd_QS_MA,@LetzterMitarbeiterId,@LetzterMitarbeiter) "
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
cmd.Parameters.AddWithValue("@PosUnterNr", PosUnterNr)
cmd.Parameters.AddWithValue("@FilialenNr", FilialenNr)
cmd.Parameters.AddWithValue("@AbfertigungsNr", AbfertigungsNr)
cmd.Parameters.AddWithValue("@UnterNr", UnterNr)
cmd.Parameters.AddWithValue("@tblSnd_Abfertigungsart_ID", IIf(tblSnd_Abfertigungsart_ID Is Nothing, DBNull.Value, tblSnd_Abfertigungsart_ID))
cmd.Parameters.AddWithValue("@tblSnd_AuftraggeberKdNr", IIf(tblSnd_AuftraggeberKdNr Is Nothing, DBNull.Value, tblSnd_AuftraggeberKdNr))
cmd.Parameters.AddWithValue("@tblSnd_Auftraggeber", IIf(tblSnd_Auftraggeber Is Nothing, DBNull.Value, tblSnd_Auftraggeber))
cmd.Parameters.AddWithValue("@tblSnd_Fremdspedition", tblSnd_Fremdspedition)
If VERAG_PROG_ALLGEMEIN.cAllgemein.ABTEILUNG = "QS" Then
cmd.Parameters.AddWithValue("@tblSnd_QS_MA", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
Else
cmd.Parameters.AddWithValue("@tblSnd_QS_MA", DBNull.Value)
End If
cmd.Parameters.AddWithValue("@LetzterMitarbeiter", VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME)
cmd.Parameters.AddWithValue("@LetzterMitarbeiterId", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
Try
cmd.ExecuteNonQuery()
If sndId <= 0 Then
Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
sndId = CInt(newcmd.ExecuteScalar)
End If
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
Return False
End Try
End Using
Return True
End Function
Public Function reIndexSendungen(ByVal AvisoID As Integer) As Boolean
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Dim sql As String = " DECLARE @counter int " &
" SET @counter = 0 " &
" UPDATE AVISO_new.dbo.tblSendungen " &
" SET @counter = tblSnd_PosUnterNr = @counter + 1 " &
" WHERE tblSnd_AvisoID = @AvisoID "
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Programm")
Return False
End Try
End Using
Return True
End Function
Public Sub LöschenAviso(ByVal hID As Integer)
Exit Sub
' LöschenAviso_Vermerke(hID)
' LöschenAviso_Aenderungen(hID)
LöschenAviso_Aviso(hID)
End Sub
Public Sub LöschenAviso_Vermerke(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Vermerke WHERE AvisoID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Vermerke-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenAviso_Aenderungen(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Aenderungen WHERE AvisoID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Aenderungen-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenAviso_Aviso(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Aviso WHERE AvisoID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Aviso-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
Public Function LeseAvisoFürDruck(hSQL As String, hIntern As Boolean) As List(Of cDruckAviso)
Dim datenListe As List(Of cDruckAviso) = New List(Of cDruckAviso)
Dim datensatz As cDruckAviso
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If (dr.HasRows) Then
While dr.Read()
datensatz = New cDruckAviso()
datensatz.Datum = Format(CDate(dr.Item("Datum")), "dd.MM.yyyy")
Select Case VarToInt(dr.Item("Status"))
Case cGlobal.Status_Erfasst
datensatz.Status = "erfasst"
Case cGlobal.Status_Ankunft
datensatz.Status = "Ankunft"
Case cGlobal.Status_Freigegeben
datensatz.Status = "freigegeben"
Case cGlobal.Status_NichtEingetroffen
datensatz.Status = "LKW n.e."
Case Else
datensatz.Status = "unbekannt"
End Select
datensatz.LetzterMitarbeiter = dr.Item("LetzterMitarbeiter").ToString
datensatz.LKW_Nr = dr.Item("LKW_Nr").ToString
datensatz.Fraechter = dr.Item("Frächter").ToString
datensatz.Auftraggeber = dr.Item("Auftraggeber").ToString
datensatz.Grenzstelle = dr.Item("Grenzstelle").ToString
datensatz.Telefonisch = VarToStr(dr.Item("Telefonisch"))
If CDate(VarToDate(dr.Item("Ankunft"))) = LeerDatum Then
datensatz.Ankunft = ""
Else
datensatz.Ankunft = Format(CDate(dr.Item("Ankunft")), "dd.MM. HH:mm")
End If
If CDate(VarToDate(dr.Item("Freigabe"))) = LeerDatum Then
datensatz.Freigabe = ""
Else
datensatz.Freigabe = Format(CDate(dr.Item("Freigabe")), "dd.MM. HH:mm")
End If
If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then
datensatz.Freigabe = ""
Else
datensatz.Freigabe = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm")
End If
If VarToInt(dr.Item("Dauer")) = 0 Then
datensatz.Dauer = ""
Else
datensatz.Dauer = Minuten_auf_Text(VarToInt(dr.Item("Dauer")))
End If
If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then
datensatz.AvisoEingang = ""
Else
datensatz.AvisoEingang = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm")
End If
datensatz.Grenzstelle = dr.Item("Grenzstelle").ToString
'je nach Listenauswahl werden manche Felder unterschiedlich befüllt
If hIntern Then
datensatz.Aenderungen = dr.Item("Änderungen").ToString
datensatz.Info = dr.Item("Info").ToString
Else
'das Feld 'Änderungen' wird hier "mißbraucht" (schnelle Lösung)
If CDate(VarToDate(dr.Item("AvisoEingang"))) = LeerDatum Then
datensatz.Aenderungen = ""
Else
datensatz.Aenderungen = Format(CDate(dr.Item("AvisoEingang")), "dd.MM. HH:mm")
End If
'ins Infofeld kommen die Vermerke
Dim hVermerke As New cVermerkeDAL
datensatz.Info = hVermerke.Vermerke_einlesen(VarToInt(dr.Item("AvisoID")))
End If
datenListe.Add(datensatz)
End While
End If
dr.Close()
End Using
End Using
conn.Close()
Return datenListe
End Function
Public Function Check_Nicht_eingetroffen(hSQL As String) As Integer
'Hier werden alle als Urlaub gekennzeichneten Tage zusammengezählt
Check_Nicht_eingetroffen = 0
Dim sql As String = hSQL
Dim AvisoDAL As New cAvisoDAL
Using conn As New SqlConnection(cSqlDb.GetAVISOConnectionString)
Try
SqlConnection.ClearPool(conn)
conn.Open()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Dim av As New cAviso
av = AvisoDAL.LesenAviso(VarToInt(dr.Item("AvisoID")), "")
av.Änderungen = "automatisch auf 'LKW nicht eingetroffen' gestellt am " & Format(Now, "dd.MM.yyyy HH:mm") & ", da bereits länger als 10 Tage offen" & vbCrLf & av.Änderungen
av.letzterMitarbeiter = "Automatik"
av.Status = cGlobal.Status_NichtEingetroffen
Dim tmpid = AvisoDAL.SpeichernAviso(av)
AvisoDAL.addAenderung(tmpid, "automatisch auf 'LKW nicht eingetroffen' gestellt", "automatisch auf 'LKW nicht eingetroffen' gestellt am " & Format(Now, "dd.MM.yyyy HH:mm") & ", da bereits länger als 10 Tage offen")
Check_Nicht_eingetroffen += 1
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Function Check_Nicht_eingetroffen:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation)
Check_Nicht_eingetroffen = 0
Exit Try
Finally
conn.Close()
End Try
End Using
Return Check_Nicht_eingetroffen
End Function
Public Function Anzahl_Aviso_ermitteln(hSQL As String) As Integer
'Hier werden alle als Urlaub gekennzeichneten Tage zusammengezählt
Anzahl_Aviso_ermitteln = 0
Dim sql As String = hSQL
Dim daten As cAviso = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
Try
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Anzahl_Aviso_ermitteln += 1
End While
dr.Close()
End Using
End Using
conn.Close()
Catch ex As Exception
'MsgBox("Fehler in der Function Anzahl_Aviso_ermitteln:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation)
Return 0
Exit Try
End Try
Return Anzahl_Aviso_ermitteln
End Function
End Class
Public Class cVermerk
Property VermerkID As Integer
Property AvisoID As Integer
Property SendungID As Integer = -1
Property VermerkArt As String = "A"
Property Datum As Date
Property Mitarbeiter As String
Property MitarbeiterId As Integer
Property Hinweis_Vermerk As String
Property VermerkCodeId As Integer
Property VorauskasseId As Object = Nothing
Property Beschreibung As String = ""
Property SMSId As Integer
Property SMSStatus As Integer
End Class
Public Class cVermerkeDAL
Public Function LesenVermerk(hID As Integer, hSQL As String) As cVermerk
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
If hID > 0 Then
sql = String.Format("SELECT * FROM Vermerke WHERE VermerkID = {0}", hID)
Else
sql = hSQL
End If
Dim daten As cVermerk = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cVermerk()
daten.VermerkID = VarToInt(dr.Item("VermerkID"))
daten.AvisoID = VarToInt(dr.Item("AvisoID"))
daten.Datum = CDate(VarToDate(dr.Item("Datum")))
daten.Hinweis_Vermerk = VarToStr(dr.Item("Hinweis_Vermerk"))
daten.Mitarbeiter = VarToStr(dr.Item("Mitarbeiter"))
daten.VermerkCodeId = VarToInt(dr.Item("VermerkeCode"))
daten.SendungID = VarToInt(dr.Item("SendungID"))
daten.VermerkArt = VarToStr(dr.Item("VermerkArt"))
daten.VorauskasseId = VarToInt(dr.Item("VorauskasseId"))
daten.SMSId = VarToInt(dr.Item("SMSId"))
daten.SMSStatus = VarToInt(dr.Item("SMSstatus"))
End If
dr.Close()
End Using
End Using
conn.Close()
Return daten
End Function
Public Function Anzeigen_Vermerke(hSQL As String) As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Vermerke'")
' If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
' MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
' Environment.Exit(0)
' End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Function loadTableMyAviso(maId As Integer) As DataTable
' While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Try
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
Dim sql As String = " SELECT AvisoID, [Status],CASE WHEN LetzterMitarbeiterId=@maId then '0' ELSE '1' END as [statVorb], LKW_Nr, Dauer, Datum, AvisoEingang, Ankunft, Grenzstelle, Freigabe, LetzterMitarbeiterId AS maId, CASE WHEN LetzterMitarbeiterId=@maId then '0' ELSE '1' END as Vorbereitung,LetzterMitarbeiter,CASE WHEN [LKW_fertig] = 1 THEN 'OK' ELSE '' END AS [LKW_fertig],AvisoTVHinweis " &
" FROM Aviso " &
" WHERE ( Status IN (0, 3, 4, 5) OR ( Status = 1 AND [Abgeschlossen] = 0 )) " &
" AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND (LetzterMitarbeiterId=@maId OR " &
" AVISOid IN ( SELECT distinct(tblSnd_AvisoID) FROM [tblSendungen] WHERE tblSnd_inbearbeitung=1 AND tblSnd_Bearbeitung_MaId=@maId) ) " &
"ORDER BY case " &
" when [Status] =3 then 0 " &
" when [Status] =1 then 1 " &
" when [Status] =99 then 2 " &
" when [Status] =4 then 3 " &
" when [Status] =5 then 4 " &
" when [Status] =0 then 5 " &
" END, Ankunft "
Using cmd As New SqlCommand(sql, conn)
'Using dr As SqlDataReader = cmd.ExecuteReader()
Dim adapter As New SqlDataAdapter(cmd)
'cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@maId", maId)
'Add parameters, e.g.
adapter.ContinueUpdateOnError = True
'Get the data.
adapter.Fill(myTable)
'dr.Close()
' End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Vermerke'")
' If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
'MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
' Environment.Exit(0)
'End If
End Try
conn.Close()
' End While
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Vermerke'")
End Try
Return Nothing
End Function
Public Function loadTableMyAvisoOLD(maId As Integer) As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
' command As New SqlCommand("sproc name here", connection),
' adapter As New SqlDataAdapter(command)
Using cmd As New SqlCommand("spmyaviso2", conn)
'Using dr As SqlDataReader = cmd.ExecuteReader()
Dim adapter As New SqlDataAdapter(cmd)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@maId", maId)
'Add parameters, e.g.
adapter.ContinueUpdateOnError = True
'Get the data.
adapter.Fill(myTable)
'dr.Close()
' End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Vermerke'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Function SpeichernVermerk(ByVal d As cVermerk) As Integer
SpeichernVermerk = -1
Dim hAuswahl As String
If d.VermerkID = 0 Then
'Neuanlage
hAuswahl = "INSERT INTO Vermerke " &
"(AvisoID,VermerkArt,SendungID, Datum, Mitarbeiter, Hinweis_Vermerk, VermerkeCode,MitarbeiterId,Beschreibung,VorauskasseId,SMSId,SMSStatus) VALUES (@AvisoID,@VermerkArt, @SendungID, @Datum, @Mitarbeiter, @Hinweis_Vermerk, @VermerkeCode,@MitarbeiterId,@Beschreibung,@VorauskasseId,@SMSId,@SMSStatus)"
Else
'Änderung
hAuswahl = String.Format(
"UPDATE Vermerke SET AvisoID = @AvisoID, VermerkArt=@VermerkArt,SendungID=@SendungID,Datum = @Datum, Mitarbeiter = @Mitarbeiter, Hinweis_Vermerk = @Hinweis_Vermerk, VermerkeCode = @VermerkeCode, MitarbeiterId=@MitarbeiterId, Beschreibung=@Beschreibung,VorauskasseId=@VorauskasseId WHERE VermerkID = @VermerkID,SMSId=@SMSId,SMSStatus=@SMSStatus")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", d.AvisoID)
cmd.Parameters.Add("@Datum", SqlDbType.DateTime).Value = SQLNullDate(d.Datum)
cmd.Parameters.AddWithValue("@Mitarbeiter", d.Mitarbeiter)
cmd.Parameters.AddWithValue("@Hinweis_Vermerk", d.Hinweis_Vermerk)
cmd.Parameters.AddWithValue("@VermerkID", d.VermerkID)
cmd.Parameters.AddWithValue("@VermerkeCode", d.VermerkCodeId)
cmd.Parameters.AddWithValue("@MitarbeiterId", d.MitarbeiterId)
cmd.Parameters.AddWithValue("@Beschreibung", d.Beschreibung)
cmd.Parameters.AddWithValue("@VermerkArt", d.VermerkArt)
cmd.Parameters.AddWithValue("@SendungID", If(d.SendungID > 0, d.SendungID, DBNull.Value))
cmd.Parameters.AddWithValue("@VorauskasseId", If(d.VorauskasseId IsNot Nothing, d.VorauskasseId, DBNull.Value))
cmd.Parameters.AddWithValue("@SMSId", d.SMSId)
cmd.Parameters.AddWithValue("@SMSStatus", d.SMSStatus)
Try
cmd.ExecuteNonQuery()
Dim newcmd As New SqlCommand("SELECT @@IDENTITY", conn)
SpeichernVermerk = CInt(newcmd.ExecuteScalar)
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Using
conn.Close()
End Function
Public Function SpeichernVermerkIDAufgehoben(VermerkID, VermerkIDAufgehoben) As Boolean
Dim SQLstr As String = " UPDATE Vermerke SET VermerkIDAufgehoben = @VermerkIDAufgehoben WHERE VermerkID = @VermerkID"
'MsgBox("UPDATE Vermerke SET VermerkIDAufgehoben = " & VermerkIDAufgehoben & " WHERE VermerkID = " & VermerkID & "")
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(SQLstr, conn)
cmd.Parameters.AddWithValue("@VermerkID", VermerkID)
cmd.Parameters.AddWithValue("@VermerkIDAufgehoben", VermerkIDAufgehoben)
Try
cmd.ExecuteNonQuery()
Return True
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Using
conn.Close()
Return False
End Function
Public Sub UpdateLKW(ByVal avisoID As Integer, ByVal LKW_fertig As Boolean)
Dim sql = "UPDATE Aviso Set [LKW_fertig]= @LKW_fertig WHERE AvisoID = @AvisoID"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@LKW_fertig", LKW_fertig)
cmd.Parameters.AddWithValue("@AvisoID", avisoID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Using
conn.Close()
End Sub
Public Sub UpdateSendungVorbereitet(ByVal AvisoID As Integer, ByVal sendungsId As Integer, ByVal MaId As Integer, ByVal inBearbeitung As Boolean)
Dim sql = "UPDATE tblSendungen Set tblSnd_inBearbeitung= @inBearbeitung, tblSnd_Bearbeitung_MaId = @MaId WHERE tblSnd_SendungID = @sendungsId"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@inBearbeitung", inBearbeitung)
cmd.Parameters.AddWithValue("@MaId", MaId)
cmd.Parameters.AddWithValue("@sendungsId", sendungsId)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Using
conn.Close()
'SetInBearbeitungAVISO(AvisoID)
End Sub
Public Sub SetInBearbeitungAVISO(ByVal AvisoID As Integer)
Dim sql = "UPDATE Aviso SET inBearbeitung= (SELECT CASE WHEN count([tblSnd_inBearbeitung])>0 Then '1' ELSE '0' END FROM [tblSendungen] where [tblSnd_AvisoID]=@AvisoID) WHERE AvisoID = @AvisoID "
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@AvisoID", AvisoID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Using
conn.Close()
End Sub
Public Sub UpdateGrenzstelle(ByVal avisoID As Integer, ByVal Grenzstelle As String)
Dim sql = "UPDATE Aviso SET [Grenzstelle]= @Grenzstelle WHERE AvisoID = @AvisoID AND Status <> " & cGlobal.Status_Ankunft & ""
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Grenzstelle", Grenzstelle)
cmd.Parameters.AddWithValue("@AvisoID", avisoID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, "Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenVermerk(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Vermerke WHERE VermerkID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Vermerk kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
Public Sub toggleHervorheben(ByVal hID As Integer)
Dim sql = String.Format("UPDATE Vermerke SET Hervorheben=Hervorheben-1 WHERE VermerkID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Hervorheben kann nicht gesetzt werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Hervorheben")
End Try
End Using
conn.Close()
End Sub
Public Function Vermerke_einlesen(hAvisoID As Integer) As String
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim x As String = ""
Dim Anz As Long = 0
Dim sql As String = "SELECT * FROM Vermerke WHERE AvisoID = " & hAvisoID & " ORDER BY Datum"
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
x += Format(CDate(dr.Item("Datum")), "dd.MM. HH:mm") & vbTab &
VarToStr(dr.Item("Hinweis_Vermerk")) & vbCrLf
Anz += 1
End While
dr.Close()
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Function Vermerke_einlesen:" & vbCrLf & vbCrLf & ex.Message & vbCrLf & vbCrLf & "Der Vorgang wird abgebrochen!", MsgBoxStyle.Exclamation)
Anz = 0
Exit Try
End Try
conn.Close()
If Anz = 0 Then x = "keine Vermerke vorhanden"
Return x
End Function
Public Function Druckinfo(hSQL As String) As String
'Hier werden alle Sonderkorrektur-Einträge des Tages in einem Textfile zusammengefasst (als Info für Druck)
Druckinfo = ""
Dim Anz As Integer = 0
Dim daten As cVermerk = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
While dr.Read()
Anz += 1
Druckinfo += Format(CDate(dr.Item("Datum")), "dd.MM. HH:mm") & " " &
VarToStr(dr.Item("Hinweis_Vermerk")) & vbCrLf
End While
dr.Close()
If Anz = 0 Then Druckinfo = "" 'wenn nichts gefunden, dann Druckzeile leer lassen
End Using
End Using
Catch ex As Exception
Druckinfo = "Es ist ein Fehler beim Lesen der Vermerke aufgetreten."
Exit Try
End Try
conn.Close()
Return Druckinfo
End Function
End Class
Public Class cAvisoTV
Property TVID As Long = 0
Property FixeZeile1 As String
Property FixeZeile2 As String
Property FixeZeile3 As String
Property Standort As String
Property Art As String
End Class
Public Class cAvisoTVDAL
Public Function LesenAvisoTV(hID As Integer, wherehSQL As String, Standort As String, Special As String) As cAvisoTV
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
sql = "SELECT * FROM AvisoTV WHERE 1=1 "
If hID > 0 Then
sql &= String.Format(" AND TVID = {0}", hID)
Else
sql &= wherehSQL
End If
If Standort <> "" Then
sql &= " AND Standort='" & Standort & "'"
End If
If Standort <> "" Then
sql &= " AND (Special is null or Special='" & Special & "') "
End If
sql &= " ORDER BY Special desc,TVID "
'MsgBox(sql)
Dim daten As cAvisoTV = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnectionWithoutError()
Try
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cAvisoTV()
daten.TVID = VarToInt(dr.Item("TVID"))
daten.FixeZeile1 = VarToStr(dr.Item("FixeZeile1"))
daten.FixeZeile2 = VarToStr(dr.Item("FixeZeile2"))
daten.FixeZeile3 = VarToStr(dr.Item("FixeZeile3"))
daten.Standort = VarToStr(dr.Item("Standort"))
daten.Art = VarToStr(dr.Item("Art"))
End If
dr.Close()
End Using
End Using
Return daten
Catch ex As Exception
Return Nothing
End Try
conn.Close()
End Function
Public Sub SpeichernAvisoTV(ByVal d As cAvisoTV)
Dim hAuswahl As String
If d.TVID = 0 Then
'Neuanlage
hAuswahl = "INSERT INTO AvisoTV " &
"(FixeZeile1, FixeZeile2, FixeZeile3,Standort,Art) VALUES (@FixeZeile1, @FixeZeile2, @FixeZeile3, @Standort, @Art)"
Else
'Änderung
hAuswahl = String.Format(
"UPDATE AvisoTV SET FixeZeile1=@FixeZeile1, FixeZeile2=@FixeZeile2, FixeZeile3=@FixeZeile3 , Standort=@Standort , Art=@Art WHERE TVID = @TVID")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@FixeZeile1", d.FixeZeile1)
cmd.Parameters.AddWithValue("@FixeZeile2", d.FixeZeile2)
cmd.Parameters.AddWithValue("@FixeZeile3", d.FixeZeile3)
cmd.Parameters.AddWithValue("@Standort", d.Standort)
cmd.Parameters.AddWithValue("@Art", d.Art)
cmd.Parameters.AddWithValue("@TVID", d.TVID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern AvisoTV")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenAvisoTV(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM AvisoTV WHERE TVID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("AvisoTV-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
End Class
Public Class cOption
Property OptionID As Long
Property eMail_Ankunft_Betreff As String
Property eMail_Ankunft_Text As String
Property eMail_Freigabe_Betreff As String
Property eMail_Freigabe_Text As String
Property eMail_Status_Text As String
Property eMail_Status_Betreff As String
End Class
Public Class cOptionenDAL
Public Function LesenOptionen(hID As Integer, hSQL As String) As cOption
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
If hID > 0 Then
sql = String.Format("SELECT * FROM Optionen WHERE OptionID = {0}", hID)
Else
sql = hSQL
End If
Dim daten As cOption = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cOption()
daten.OptionID = VarToInt(dr.Item("OptionID"))
daten.eMail_Ankunft_Betreff = VarToStr(dr.Item("eMail_Ankunft_Betreff"))
daten.eMail_Ankunft_Text = VarToStr(dr.Item("eMail_Ankunft_Text"))
daten.eMail_Freigabe_Betreff = VarToStr(dr.Item("eMail_Freigabe_Betreff"))
daten.eMail_Freigabe_Text = VarToStr(dr.Item("eMail_Freigabe_Text"))
daten.eMail_Status_Betreff = VarToStr(dr.Item("eMail_Status_Betreff"))
daten.eMail_Status_Text = VarToStr(dr.Item("eMail_Status_Text"))
End If
dr.Close()
End Using
End Using
conn.Close()
Return daten
End Function
Public Function setAVISOFromPcName() As Integer
Dim zeilen As Integer = 0
Dim sql = String.Format(
" UPDATE Aviso SET LetzterMitarbeiter = @LetzterMitarbeiter, LetzterMitarbeiterId = @LetzterMitarbeiterId " &
" WHERE Status IN (" & cGlobal.Status_Ankunft & ") AND LetzterMitarbeiter like '%/" & cAllgemein.USRNAME.ToString & "' " &
" AND LetzterMitarbeiterId NOT LIKE @LetzterMitarbeiterId")
' MsgBox(sql)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
' cmd.Parameters.AddWithValue("@LetzterMitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter & "/" & cAllgemein.USRNAME.ToString)
cmd.Parameters.AddWithValue("@LetzterMitarbeiter", cGlobal.AktiverMitarbeiter.Mitarbeiter)
cmd.Parameters.AddWithValue("@LetzterMitarbeiterId", cGlobal.AktiverMitarbeiter.MitarbeiterID)
Try
zeilen = cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler bei setAVISOFromPcName")
End Try
End Using
conn.Close()
Return zeilen
End Function
Public Sub SpeichernOptionen(ByVal d As cOption)
Dim hAuswahl As String
If d.OptionID = 0 Then
'Neuanlage
hAuswahl = "INSERT INTO Optionen " &
"(eMail_Ankunft_Betreff, eMail_Ankunft_Text, eMail_Freigabe_Betreff, eMail_Freigabe_Text) VALUES (@eMail_Ankunft_Betreff, @eMail_Ankunft_Text, @eMail_Freigabe_Betreff, @eMail_Freigabe_Text)"
Else
'Änderung
hAuswahl = String.Format(
"UPDATE Optionen SET eMail_Ankunft_Betreff=@eMail_Ankunft_Betreff, eMail_Ankunft_Text=@eMail_Ankunft_Text, eMail_Freigabe_Betreff=@eMail_Freigabe_Betreff, eMail_Freigabe_Text=@eMail_Freigabe_Text WHERE OptionID = @OptionID")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@eMail_Ankunft_Betreff", d.eMail_Ankunft_Betreff)
cmd.Parameters.AddWithValue("@eMail_Ankunft_Text", d.eMail_Ankunft_Text)
cmd.Parameters.AddWithValue("@eMail_Freigabe_Betreff", d.eMail_Freigabe_Betreff)
cmd.Parameters.AddWithValue("@eMail_Freigabe_Text", d.eMail_Freigabe_Text)
cmd.Parameters.AddWithValue("@OptionID", d.OptionID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Optionen können nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Optionen")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenOptionen(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Optionen WHERE TVID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Optionen-Eintrag kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
End Class
Public Class cStandort
Property StandortID As Integer
Property Standort As String
Property Standort_Text As String
Property Info As String
Property eMail_Ankunft_Betreff As String
Property eMail_Ankunft_Text As String
Property eMail_Freigabe_Betreff As String
Property eMail_Freigabe_Text As String
Property eMail_Zollbeleg_Betreff As String
Property eMail_Zollbeleg_Text As String
Property eMail_Status_Betreff As String
Property eMail_Status_Text As String
End Class
Public Class cStandorteDAL
Public Function LesenStandort(hID As Integer, hStandort As String, hSQL As String) As cStandort
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
Dim sql As String
If hID > 0 Then
sql = String.Format("SELECT * FROM Standorte WHERE StandortID = {0}", hID)
ElseIf hStandort <> "" Then
sql = String.Format("SELECT * FROM Standorte WHERE Standort = '" & hStandort.Trim & "' and FIRMA ='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "'")
Else
sql = hSQL
End If
Dim daten As cStandort = Nothing
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
daten = New cStandort()
daten.StandortID = VarToInt(dr.Item("StandortID"))
daten.Standort = VarToStr(dr.Item("Standort"))
daten.Standort_Text = VarToStr(dr.Item("Standort_Text"))
daten.Info = VarToStr(dr.Item("Info"))
daten.eMail_Ankunft_Betreff = VarToStr(dr.Item("eMail_Ankunft_Betreff"))
daten.eMail_Ankunft_Text = VarToStr(dr.Item("eMail_Ankunft_Text"))
daten.eMail_Freigabe_Betreff = VarToStr(dr.Item("eMail_Freigabe_Betreff"))
daten.eMail_Freigabe_Text = VarToStr(dr.Item("eMail_Freigabe_Text"))
daten.eMail_Zollbeleg_Betreff = VarToStr(dr.Item("eMail_Zollbeleg_Betreff"))
daten.eMail_Zollbeleg_Text = VarToStr(dr.Item("eMail_Zollbeleg_Text"))
daten.eMail_Status_Betreff = VarToStr(dr.Item("eMail_Status_Betreff"))
daten.eMail_Status_Text = VarToStr(dr.Item("eMail_Status_Text"))
End If
dr.Close()
End Using
End Using
conn.Close()
Return daten
End Function
Public Function Anzeigen_Standorte(hSQL As String) As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_Standorte'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Function Anzeigen_cboStandorte() As DataTable
While True 'Endlosschleife; wird verlassen durch Return oder Application.Exit()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
Dim sql As String
sql = "SELECT StandortID, Standort FROM Standorte ORDER BY Standort"
Using cmd As New SqlCommand(sql, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'Anzeigen_cboStandort'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
End While
Return Nothing
End Function
Public Sub SpeichernStandort(ByVal d As cStandort)
Dim hAuswahl As String
If d.StandortID = 0 Then
'Neuanlage
hAuswahl = "INSERT INTO Standorte " &
"(Standort, Standort_Text, Info, eMail_Ankunft_Betreff, eMail_Ankunft_Text, eMail_Freigabe_Betreff, eMail_Freigabe_Text,eMail_Zollbeleg_Betreff,eMail_Zollbeleg_Text,eMail_Status_Betreff,eMail_Status_Text) VALUES (" &
"@Standort, @Standort_Text, @Info, @eMail_Ankunft_Betreff, @eMail_Ankunft_Text, @eMail_Freigabe_Betreff, @eMail_Freigabe_Text,@eMail_Zollbeleg_Betreff,@eMail_Zollbeleg_Text,@eMail_Status_Betreff,@eMail_Status_Text)"
Else
'Änderung
hAuswahl = String.Format(
"UPDATE Standorte SET Standort = @Standort, Standort_Text=@Standort_Text, Info=@Info, eMail_Ankunft_Betreff=@eMail_Ankunft_Betreff, eMail_Ankunft_Text=@eMail_Ankunft_Text, eMail_Freigabe_Betreff=@eMail_Freigabe_Betreff, eMail_Freigabe_Text=@eMail_Freigabe_Text , eMail_Zollbeleg_Betreff=@eMail_Zollbeleg_Betreff , eMail_Zollbeleg_Text=@eMail_Zollbeleg_Text,eMail_Status_Betreff=@eMail_Status_Betreff,eMail_Status_Text=@eMail_Status_Text " &
"WHERE StandortID = @StandortID")
End If
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Standort", d.Standort)
cmd.Parameters.AddWithValue("@Standort_Text", d.Standort_Text)
cmd.Parameters.AddWithValue("@Info", d.Info)
cmd.Parameters.AddWithValue("@eMail_Ankunft_Betreff", d.eMail_Ankunft_Betreff)
cmd.Parameters.AddWithValue("@eMail_Ankunft_Text", d.eMail_Ankunft_Text)
cmd.Parameters.AddWithValue("@eMail_Freigabe_Betreff", d.eMail_Freigabe_Betreff)
cmd.Parameters.AddWithValue("@eMail_Freigabe_Text", d.eMail_Freigabe_Text)
cmd.Parameters.AddWithValue("@eMail_Zollbeleg_Betreff", d.eMail_Zollbeleg_Betreff)
cmd.Parameters.AddWithValue("@eMail_Zollbeleg_Text", d.eMail_Zollbeleg_Text)
cmd.Parameters.AddWithValue("@eMail_Status_Betreff", d.eMail_Status_Betreff)
cmd.Parameters.AddWithValue("@eMail_Status_Text", d.eMail_Status_Text)
cmd.Parameters.AddWithValue("@StandortID", d.StandortID)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Standort")
End Try
End Using
conn.Close()
End Sub
Public Sub LöschenStandort(ByVal hID As Integer)
Dim sql = String.Format("DELETE FROM Standorte WHERE StandortID = {0}", hID)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Standort kann nicht gelöscht werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
End Try
End Using
conn.Close()
End Sub
End Class
Public Class Statistik
Public Function getKunden(hSQL As String) As DataTable
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Try
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'getKunden'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
' End While
Return Nothing
End Function
Public Function getAVG(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String) As Long
If DauerVon = "" Then DauerBis = "0"
If DauerBis = "" Then DauerBis = "999999"
Dim sql As String = "SELECT avg(Dauer) " &
" FROM Aviso WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' "
' Dim sql As String = "SELECT * " &
' " FROM Aviso"
' MsgBox(sql)
' Dim daten As New List(Of cEntry)
Dim dr As SqlDataReader
'Using conn As SqlConnection = cDatenbank.GetNewOpenConnection()
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
' MsgBox(conn.ConnectionString)
Using cmd As New SqlCommand(sql, conn)
dr = cmd.ExecuteReader()
Try
Dim cnt As Integer = 0
If dr.Read Then
If Not dr.GetValue(0) Is DBNull.Value Then
Return CLng(dr.GetValue(0))
End If
End If
conn.Close()
Return 0
Catch ex As Exception
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
Finally
dr.Close()
End Try
'end Using
End Using
Return -1
End Function
Public Function getAVGMa(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String) As List(Of listMaAVG)
If DauerVon = "" Then DauerBis = "0"
If DauerBis = "" Then DauerBis = "999999"
Dim sql As String = "SELECT LetzterMitarbeiterId,avg(Dauer) as avg,mit_nname + ' ' + mit_vname as name, count([LetzterMitarbeiterId]) as count " &
" FROM Aviso INNER JOIN ADMIN.dbo.tblMitarbeiter ON mit_id=LetzterMitarbeiterId WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' GROUP BY LetzterMitarbeiterId,mit_nname,mit_vname"
Dim dr As SqlDataReader
Dim ll As New List(Of listMaAVG)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
dr = cmd.ExecuteReader()
Try
Dim cnt As Integer = 0
If dr.HasRows Then
While dr.Read
If Not dr.Item("LetzterMitarbeiterId") Is DBNull.Value Then
Dim l As New listMaAVG
l.mit_id = CInt(dr.Item("LetzterMitarbeiterId"))
l.mit_name = CStr(dr.Item("name"))
l.mit_avg = CInt(dr.Item("avg"))
l.mit_count = CInt(dr.Item("count"))
ll.Add(l)
End If
End While
Return ll
End If
conn.Close()
Catch ex As Exception
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
Finally
dr.Close()
End Try
'end Using
End Using
Return Nothing
End Function
End Class
Public Class StatDB
Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, i As Integer, firma As String, CLUSTER As String) As Integer
Dim lkws As Integer = 0
Try
Dim cn As New SqlConnection()
' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;"
' cn.Open()
cn = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis " & If(firma <> "", " AND Firma='" & firma & "' ", "") & If(CLUSTER <> "", " AND CLUSTER='" & CLUSTER & "' ", "") & " ", cn)
'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND
Dim VonStr = ""
Dim BisStr = ""
If i = 6 Then
VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00"
Else
VonStr = datTmp.ToString("yyyy-MM-dd ") & i & ":00:00"
End If
If i = 22 Then
BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59"
Else
BisStr = datTmp.ToString("yyyy-MM-dd ") & i & ":59:59"
End If
cmd.Parameters.AddWithValue("@DatVon", VonStr)
cmd.Parameters.AddWithValue("@DatBis", BisStr)
' MsgBox(VonStr)
Dim dr = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
lkws = CInt(dr.Item(0))
End If
dr.Close()
cn.Close()
End Using
Return lkws
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return 0
End Function
Public Function getAnzahlLkwAnkunft(art As String, ByVal datTmp As Date, firma As String) As Integer
Dim lkws As Integer = 0
Try
Dim cn As New SqlConnection()
' cn.ConnectionString = "Data Source=BUCHHALTUNG\SQLEXPRESS;Initial Catalog=AVISO;Integrated Security=false;User ID=sa;Password=BmWr501956;"
' cn.Open()
cn = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand("SELECT COUNT(*) FROM [Aviso] where " & art & " between @DatVon and @DatBis AND Firma='" & If(firma <> "", firma, VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA) & "' ", cn)
'DATEADD(dd, 0, DATEDIFF(dd, 0, [Ankunft]))=DATEADD(dd, 0, DATEDIFF(dd, 0, [Freigabe])) AND
Dim VonStr = ""
Dim BisStr = ""
VonStr = datTmp.ToString("yyyy-MM-dd ") & "00:00:00"
BisStr = datTmp.ToString("yyyy-MM-dd ") & "23:59:59"
cmd.Parameters.AddWithValue("@DatVon", VonStr)
cmd.Parameters.AddWithValue("@DatBis", BisStr)
' MsgBox(VonStr)
Dim dr = cmd.ExecuteReader()
If dr.HasRows Then
dr.Read()
lkws = CInt(dr.Item(0))
End If
dr.Close()
cn.Close()
End Using
Return lkws
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return 0
End Function
Public Function getAnzahlLkwDauer(ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, ByVal DauerEinschrVon As String, ByVal DauerEinschrBis As String, Optional where As String = "") As Integer
Dim sql As String = "SELECT count(*) as count " &
" FROM Aviso WHERE ( Datum BETWEEN '" & datumVon.ToShortDateString & "' AND '" & datumBis.ToShortDateString & "') AND ( Dauer BETWEEN '" & DauerVon & "' AND '" & DauerBis & "') AND ( Dauer BETWEEN '" & DauerEinschrVon & "' AND '" & DauerEinschrBis & "') AND Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' " & where
Dim dr As SqlDataReader
'MsgBox(sql)
Dim anz As Integer = 0
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
dr = cmd.ExecuteReader()
Try
Dim cnt As Integer = 0
If dr.HasRows Then
dr.Read()
anz = CInt(dr.Item(0))
End If
conn.Close()
Return anz
Catch ex As Exception
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
Finally
dr.Close()
End Try
'end Using
End Using
Return 0
End Function
Public Function getAnzahlAvisoProbleme(ByVal kdNr As String, ByVal datumVon As DateTime, ByVal datumBis As DateTime, ByVal DauerVon As String, ByVal DauerBis As String, Optional where As String = "") As List(Of listStatAvisoProleme)
'ZWEICHFACE SELECT, um Doppelte Einträge mit selber AvisoId zu umgehen
Dim sql As String = " SELECT VermerkeCode,[Bezeichnung], count(*) as anzahlVermerk " &
" FROM " &
" (SELECT aviso.avisoid, VermerkeCode,[Bezeichnung] " &
" FROM [AVISO].[dbo].[Vermerke] " &
" INNER JOIN [Aviso] ON [Vermerke].[AvisoID]=[AVISO].[AvisoID] " &
" INNER JOIN [AVISO].[dbo].[VermerkeCodes] ON VermerkeCode=VermerkCodeId " &
" where AVISO.Firma='" & VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA & "' AND /*([Auftraggeber_KdNr] = @kdNr) " &
" AND */ ( Aviso.Datum BETWEEN @datumVon AND @datumBis) AND ( Aviso.Dauer BETWEEN @DauerVon AND @DauerBis ) " & where &
" group by aviso.avisoid,VermerkeCode,[Bezeichnung] " &
" ) AS tbl " &
" WHERE VermerkeCode IN (1,3,5,7,9,11,13,15,16,25) " &
" group by VermerkeCode,[Bezeichnung] " &
" ORDER BY anzahlVermerk DESC "
Dim dr As SqlDataReader
Dim data As New List(Of listStatAvisoProleme)
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@kdNr", kdNr)
cmd.Parameters.AddWithValue("@datumVon", datumVon.ToShortDateString)
cmd.Parameters.AddWithValue("@datumBis", datumBis.ToShortDateString)
cmd.Parameters.AddWithValue("@DauerVon", DauerVon)
cmd.Parameters.AddWithValue("@DauerBis", DauerBis)
'cmd.Parameters.AddWithValue("@DauerEinschrVon", DauerEinschrVon)
'cmd.Parameters.AddWithValue("@DauerEinschrBis", DauerEinschrBis)
dr = cmd.ExecuteReader()
Try
Dim cnt As Integer = 0
While dr.Read()
Dim d As New listStatAvisoProleme
d.VermerkeCode = CInt(dr.Item("VermerkeCode"))
d.Bezeichnung = CStr(dr.Item("Bezeichnung"))
d.AnzahlVermerke = CInt(dr.Item("anzahlVermerk"))
data.Add(d)
End While
conn.Close()
Catch ex As Exception
MsgBox(System.Reflection.MethodInfo.GetCurrentMethod.Name & ": Fehler mit der Datenbankverbindung:" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Datenbankfehler")
Finally
dr.Close()
End Try
'end Using
End Using
Return data
End Function
End Class
Public Class adminfunc
Public Function getDatatable(connstr As String, hSQL As String) As DataTable
Dim conn As SqlConnection = Nothing
Try
conn = New SqlConnection(connstr)
conn.Open()
Dim myTable = New DataTable()
'Dim sql As String
'sql = hSQL
Using cmd As New SqlCommand(hSQL, conn)
Using dr As SqlDataReader = cmd.ExecuteReader()
myTable.Load(dr)
dr.Close()
End Using
End Using
Return myTable 'While Schleife wird hier verlassen
Catch ex As Exception
Dim antwort As MsgBoxResult = MsgBox(ex.Message, CType(MsgBoxStyle.RetryCancel + MsgBoxStyle.Exclamation, MsgBoxStyle),
"Problem in Function 'getKunden'")
If antwort <> MsgBoxResult.Retry Then
'Programm wird beendet
MsgBox("Programm wird aufgrund eines kritischen Problems beendet.", vbInformation)
Environment.Exit(0)
End If
End Try
conn.Close()
' End While
Return Nothing
End Function
Public Sub setAuftraggber(ByVal Auftraggeber As String, ByVal Auftraggeber_KdNr As String)
Dim hAuswahl As String
hAuswahl = String.Format(
"UPDATE Aviso SET [Auftraggeber_KdNr] = @Auftraggeber_KdNr " &
"WHERE [Auftraggeber] = @Auftraggeber")
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Auftraggeber", Auftraggeber)
cmd.Parameters.AddWithValue("@Auftraggeber_KdNr", Auftraggeber_KdNr)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
End Try
End Using
conn.Close()
End Sub
Public Sub setFirmenKdNr(ByVal Firma As String, ByVal KundenNr As String)
Dim sql = "UPDATE Firmen SET KundenNr = @KundenNr " &
"WHERE [Firma] like @Firma "
' MsgBox("UPDATE Firmen SET KundenNr = '" & KundenNr & "' " &
' "WHERE [Firma] like '" & Firma & "' ")
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Firma", Firma)
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
End Try
End Using
conn.Close()
End Sub
Public Sub setFraechter(ByVal Frächter As String, ByVal Frächter_KdNr As String)
Dim hAuswahl As String
hAuswahl = String.Format(
"UPDATE Aviso SET [Frächter_KdNr] = @Frächter_KdNr " &
"WHERE [Frächter] = @Frächter")
Dim sql = hAuswahl
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
Using cmd As New SqlCommand(sql, conn)
cmd.Parameters.AddWithValue("@Frächter", Frächter)
cmd.Parameters.AddWithValue("@Frächter_KdNr", Frächter_KdNr)
Try
cmd.ExecuteNonQuery()
Catch ex As SqlException
MsgBox("Datensatz kann nicht gespeichert werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Speichern Firma")
End Try
End Using
conn.Close()
End Sub
End Class