3857 lines
199 KiB
VB.net
3857 lines
199 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
|
|
Imports System.Web.UI.WebControls.WebParts
|
|
Imports System.Windows.Forms
|
|
|
|
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 CreateNewOpenConnection() As SqlConnection
|
|
Dim conn As New SqlConnection(cSqlDb.GetAVISOConnectionString())
|
|
conn.Open()
|
|
Return conn
|
|
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, Optional bepr_programm As String = "AVISO") 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, case WHEN isnull(mit_abweichenderAnzeigename,'')='' THEN mit_username ELSE mit_abweichenderAnzeigename END mit_usernameDisplay,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", bepr_programm)
|
|
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 = CStr(dr.Item("mit_usernameDisplay"))
|
|
'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"))
|
|
' VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME = CStr(dr.Item("mit_usernameDisplay"))
|
|
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
|
|
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)
|
|
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 = ""
|
|
Property VerwahrungStatus As Integer
|
|
Property VerwahrungStatusDate As Object = Nothing
|
|
|
|
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
|
|
|
|
If sql = "" Then Return Nothing 'weder ID noch hSQL
|
|
|
|
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"))
|
|
daten.VerwahrungStatus = VarToInt(dr.Item("VerwahrungStatus"))
|
|
daten.VerwahrungStatusDate = If(dr.Item("VerwahrungStatusDate") Is DBNull.Value, Nothing, dr.Item("VerwahrungStatusDate"))
|
|
|
|
|
|
|
|
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,VerwahrungStatus,VerwahrungStatusDate) 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,@VerwahrungStatus,@VerwahrungStatusDate); 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,VerwahrungStatus=@VerwahrungStatus,VerwahrungStatusDate=@VerwahrungStatusDate,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)
|
|
cmd.Parameters.AddWithValue("@VerwahrungStatus", d.VerwahrungStatus)
|
|
|
|
cmd.Parameters.AddWithValue("@VerwahrungStatusDate", If(d.VerwahrungStatusDate Is Nothing, DBNull.Value, d.VerwahrungStatusDate))
|
|
|
|
Try
|
|
If d.AvisoID <= 0 Then
|
|
id = (Convert.ToInt32(cmd.ExecuteScalar()))
|
|
' MsgBox(id)
|
|
Else
|
|
Return id
|
|
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")
|
|
|
|
VERAG_PROG_ALLGEMEIN.cAvisoBenachrichtigungen.INSERT_BENACHRICHTIGUNG(av.AvisoID, -1, 3, "B", av.LetzterMitarbeiterId, "automatisch auf 'LKW nicht eingetroffen gesetzt", 0,, "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
|
|
Property Geloescht As Boolean
|
|
Property AAS_Warnstufe As Boolean
|
|
Property HintergrundVermerk As Boolean
|
|
|
|
|
|
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"))
|
|
daten.Geloescht = VarToBool(dr.Item("Geloescht"))
|
|
daten.AAS_Warnstufe = VarToBool(dr.Item("AAS_Warnstufe"))
|
|
daten.HintergrundVermerk = VarToBool(dr.Item("HintergrundVermerk"))
|
|
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
|
|
|
|
|
|
Shared Function insertSendungsVermerk(SendungID As Integer, AvisoID As Integer, Text As String, VermerkCodeId As Integer, Optional Beschreibung As String = "", Optional VorauskasseId As Object = Nothing, Optional addAuto As Boolean = False) As Integer
|
|
'Daten zuweisen und speichern
|
|
Dim myVermerk As New cVermerk
|
|
myVermerk.VermerkID = 0
|
|
myVermerk.AvisoID = AvisoID
|
|
myVermerk.Datum = Now
|
|
myVermerk.Mitarbeiter = cGlobal.AktiverMitarbeiter.Mitarbeiter & If(addAuto, " (AUTO)", "")
|
|
myVermerk.MitarbeiterId = cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
myVermerk.Hinweis_Vermerk = Text
|
|
myVermerk.VermerkCodeId = VermerkCodeId
|
|
'myVermerk.her = VermerkCodeId
|
|
myVermerk.SendungID = SendungID
|
|
If VorauskasseId IsNot Nothing AndAlso VorauskasseId IsNot DBNull.Value Then myVermerk.VorauskasseId = VorauskasseId
|
|
myVermerk.VermerkArt = "S"
|
|
Dim VermerkeDAL As New cVermerkeDAL
|
|
|
|
insertSendungsVermerk = VermerkeDAL.SpeichernVermerk(myVermerk)
|
|
|
|
If myVermerk.VermerkCodeId = 18 Then
|
|
VermerkeDAL.UpdateLKW(myVermerk.AvisoID, False)
|
|
|
|
End If
|
|
|
|
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,Geloescht,AAS_Warnstufe,HintergrundVermerk) VALUES (@AvisoID,@VermerkArt, @SendungID, @Datum, @Mitarbeiter, @Hinweis_Vermerk, @VermerkeCode,@MitarbeiterId,@Beschreibung,@VorauskasseId,@SMSId,@SMSStatus,@Geloescht,@AAS_Warnstufe,@HintergrundVermerk)"
|
|
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,Geloescht=@Geloescht,AAS_Warnstufe=@AAS_Warnstufe,HintergrundVermerk=@HintergrundVermerk")
|
|
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)
|
|
cmd.Parameters.AddWithValue("@Geloescht", d.Geloescht)
|
|
cmd.Parameters.AddWithValue("@AAS_Warnstufe", d.AAS_Warnstufe)
|
|
cmd.Parameters.AddWithValue("@HintergrundVermerk", d.HintergrundVermerk)
|
|
|
|
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"
|
|
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()
|
|
SpeichernVermerkID_AAS_Aufgehoben(VermerkID)
|
|
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 Function SpeichernVermerkID_AAS_Aufgehoben(VermerkID) As Boolean
|
|
Dim SQLstr As String = " UPDATE [tblAvisoBenachrichtigungen] SET ab_Status = 1 , ab_Bestaetigt_MaId = @ab_Bestaetigt_MaId , ab_Bestaetigt_Datum=GETDATE() WHERE ab_VermerkID=@ab_VermerkID AND ab_Status = 0 "
|
|
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
|
|
Using cmd As New SqlCommand(SQLstr, conn)
|
|
cmd.Parameters.AddWithValue("@ab_Bestaetigt_MaId", VERAG_PROG_ALLGEMEIN.cAllgemein.USRID)
|
|
cmd.Parameters.AddWithValue("@ab_VermerkID", VermerkID)
|
|
|
|
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 Shared Function increaseWarnstufe(VermerkID) As Boolean
|
|
|
|
Dim SQLstr As String = " UPDATE Vermerke SET AAS_Warnstufe = (AAS_Warnstufe+1) WHERE VermerkID = @VermerkID"
|
|
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
|
|
Using cmd As New SqlCommand(SQLstr, conn)
|
|
cmd.Parameters.AddWithValue("@VermerkID", VermerkID)
|
|
|
|
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 togglegeloescht(ByVal hID As Integer, ByVal VermerkText As String, AvisoID As Integer)
|
|
Dim sql = String.Format("UPDATE Vermerke SET Geloescht=Geloescht-1 WHERE VermerkID = {0}", hID)
|
|
|
|
Dim conn As SqlConnection = cDatenbankAVISO.GetNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
Try
|
|
cmd.ExecuteNonQuery()
|
|
|
|
'Vermerkzuweisung aufheben, falls vorhanden
|
|
Dim VERAG_SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
VERAG_SQL.doSQL("UPDATE [Vermerke] SET VermerkIDAufgehoben = null where VermerkIDAufgehoben = '" & hID & "'", "AVISO")
|
|
|
|
|
|
Dim cAvisoDAL As New cAvisoDAL
|
|
cAvisoDAL.addAenderung(AvisoID, "Vermerk gelöscht/nicht gelöscht markiert", "Vermerk '" & VermerkText & "' wurde als gelöscht/nicht gelöscht markiert. VermerkID: '" & hID & "'")
|
|
|
|
|
|
|
|
Catch ex As SqlException
|
|
MsgBox("Gelöscht kann nicht gesetzt werden!" & vbCrLf & vbCrLf & ex.Message, vbExclamation, "Fehler beim Löschen")
|
|
End Try
|
|
End Using
|
|
conn.Close()
|
|
|
|
End Sub
|
|
|
|
|
|
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, ByVal VermerkText As String, AvisoID 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()
|
|
|
|
'Vermerkzuweisung aufheben, falls vorhanden
|
|
Dim VERAG_SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
|
VERAG_SQL.doSQL("UPDATE [Vermerke] SET VermerkIDAufgehoben = null where VermerkIDAufgehoben = '" & hID & "'", "AVISO")
|
|
|
|
Dim cAvisoDAL As New cAvisoDAL
|
|
cAvisoDAL.addAenderung(AvisoID, "Vermerk endgültig gelöscht", "Vermerk '" & VermerkText & "' wurde endgültig gelöscht. VermerkID: '" & hID & "'")
|
|
|
|
''
|
|
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 Shared 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 Shared Sub DeleteSNDVermerkCode(ByVal SendungID As Integer, VermerkeCode As Integer)
|
|
Dim sql = "DELETE Vermerke WHERE VermerkeCode = '" & VermerkeCode & "' and SendungID= '" & SendungID & "'"
|
|
|
|
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 cAvisoTvNew
|
|
Public Property TvTextBezeichnungID As Integer
|
|
Public Property TvTextBezeichnung As String
|
|
Public Property FixeZeile1RTF As String
|
|
Public Property FixeZeile1HTML As String
|
|
Public Property FixeZeile2RTF As String
|
|
Public Property FixeZeile2HTML As String
|
|
Public Property FixeZeile3HTML As String
|
|
Public Property FixeZeile3RTF As String
|
|
Public Property StandortID As Integer
|
|
Public Property Standort As String
|
|
Public Property Prio As Integer
|
|
Public Property StartDate As Date?
|
|
Public Property EndDate As Date?
|
|
Public Property StartTime As TimeSpan?
|
|
Public Property EndTime As TimeSpan?
|
|
Public Property IsRecurring As Boolean?
|
|
Public Property IsMonday As Boolean?
|
|
Public Property IsTuesday As Boolean?
|
|
Public Property IsWednesday As Boolean?
|
|
Public Property IsThursday As Boolean?
|
|
Public Property IsFriday As Boolean?
|
|
Public Property IsSaturday As Boolean?
|
|
Public Property IsSunday As Boolean?
|
|
Public Property IsActive As Boolean
|
|
|
|
|
|
End Class
|
|
|
|
Public Class cTvTextBezeichnung
|
|
Public Property TvTextBezeichnungID As Integer
|
|
Public Property TvTextBezeichnung As String
|
|
End Class
|
|
|
|
Public Class cTvSettings
|
|
Public Property TVSettingID As Integer
|
|
Public Property StandortID As Integer
|
|
Public Property KachelWidthInPercent As Double?
|
|
Public Property KachelHeightInPercent As Double?
|
|
Public Property KachelFontSizeLkwNummer As Double?
|
|
Public Property KachelFontSizeDateTime As Double?
|
|
Public Property KachelRowGapInPercent As Double?
|
|
Public Property SeitenwechselInSek As Integer?
|
|
Public Property TextBalkenHeightInPercent As Double?
|
|
Public Property TextFlaggeLeft As Double?
|
|
Public Property TextFlaggeBottom As Double?
|
|
Public Property SelectedLogoValue As String
|
|
Public Property Reload As Byte?
|
|
|
|
|
|
End Class
|
|
|
|
|
|
Public Class cAvisoTvNewDAL
|
|
|
|
''' <summary>
|
|
''' Holt die StandortID basierend auf dem Standortnamen.
|
|
''' </summary>
|
|
''' <param name="standort">Der Name des Standorts.</param>
|
|
''' <returns>Die zugehörige StandortID oder 0, wenn nicht gefunden.</returns>
|
|
Public Function GetStandortID(standort As String) As Integer
|
|
Dim standortID As Integer = 0
|
|
Dim sql As String = "SELECT StandortID FROM StandorteTV WHERE StandortBezeichnung = @StandortBezeichnung"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
cmd.Parameters.AddWithValue("@StandortBezeichnung", standort)
|
|
Dim result As Object = cmd.ExecuteScalar()
|
|
If result IsNot Nothing AndAlso Not IsDBNull(result) Then
|
|
standortID = Convert.ToInt32(result)
|
|
End If
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Abrufen der StandortID: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Abrufen der StandortID: " & ex.Message, ex)
|
|
End Try
|
|
|
|
Return standortID
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Speichert die TV-Einstellungen in der Datenbank.
|
|
''' </summary>
|
|
''' <param name="settings">Die TV-Einstellungen, die gespeichert werden sollen.</param>
|
|
Public Sub SaveTvSettings(settings As cTvSettings)
|
|
Dim sqlCheck As String = "SELECT COUNT(*) FROM AvisoTvSettings WHERE StandortID = @StandortID"
|
|
Dim sqlUpdate As String = "UPDATE AvisoTvSettings SET
|
|
KachelWidthInPercent = @KachelWidthInPercent,
|
|
KachelHeightInPercent = @KachelHeightInPercent,
|
|
KachelFontSizeLkwNummer = @KachelFontSizeLkwNummer,
|
|
KachelFontSizeDateTime = @KachelFontSizeDateTime,
|
|
KachelRowGapInPercent = @KachelRowGapInPercent,
|
|
SeitenwechselInSek = @SeitenwechselInSek,
|
|
TextBalkenHeightInPercent = @TextBalkenHeightInPercent,
|
|
FlaggeLeft = @FlaggeLeft,
|
|
FlaggeBottom = @FlaggeBottom,
|
|
Logo = @Logo,
|
|
Reload = @Reload
|
|
WHERE StandortID = @StandortID"
|
|
Dim sqlInsert As String = "INSERT INTO AvisoTvSettings
|
|
(StandortID, KachelWidthInPercent, KachelHeightInPercent,KachelRowGapInPercent,
|
|
KachelFontSizeLkwNummer, KachelFontSizeDateTime,
|
|
SeitenwechselInSek, TextBalkenHeightInPercent,FlaggeLeft,FlaggeBottom,Logo)
|
|
VALUES
|
|
(@StandortID, @KachelWidthInPercent, @KachelHeightInPercent,@KachelRowGapInPercent,
|
|
@KachelFontSizeLkwNummer, @KachelFontSizeDateTime,
|
|
@SeitenwechselInSek, @TextBalkenHeightInPercent,@FlaggeLeft,@FlaggeBottom,@Logo)"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
' Überprüfen, ob bereits Einstellungen für den Standort existieren
|
|
Dim recordExists As Boolean
|
|
Using cmdCheck As New SqlCommand(sqlCheck, conn)
|
|
cmdCheck.Parameters.AddWithValue("@StandortID", settings.StandortID)
|
|
recordExists = Convert.ToInt32(cmdCheck.ExecuteScalar()) > 0
|
|
End Using
|
|
|
|
' Wähle Update oder Insert basierend auf der Existenz
|
|
Dim sql As String = If(recordExists, sqlUpdate, sqlInsert)
|
|
|
|
Using cmdSave As New SqlCommand(sql, conn)
|
|
cmdSave.Parameters.AddWithValue("@StandortID", settings.StandortID)
|
|
cmdSave.Parameters.AddWithValue("@KachelWidthInPercent", settings.KachelWidthInPercent)
|
|
cmdSave.Parameters.AddWithValue("@KachelHeightInPercent", settings.KachelHeightInPercent)
|
|
cmdSave.Parameters.AddWithValue("@KachelRowGapInPercent", settings.KachelRowGapInPercent)
|
|
cmdSave.Parameters.AddWithValue("@KachelFontSizeLkwNummer", settings.KachelFontSizeLkwNummer)
|
|
cmdSave.Parameters.AddWithValue("@KachelFontSizeDateTime", settings.KachelFontSizeDateTime)
|
|
cmdSave.Parameters.AddWithValue("@SeitenwechselInSek", settings.SeitenwechselInSek)
|
|
cmdSave.Parameters.AddWithValue("@TextBalkenHeightInPercent", settings.TextBalkenHeightInPercent)
|
|
cmdSave.Parameters.AddWithValue("@FlaggeLeft", settings.TextFlaggeLeft)
|
|
cmdSave.Parameters.AddWithValue("@FlaggeBottom", settings.TextFlaggeBottom)
|
|
cmdSave.Parameters.AddWithValue("@Logo", settings.SelectedLogoValue)
|
|
cmdSave.Parameters.AddWithValue("@Reload", settings.Reload)
|
|
cmdSave.ExecuteNonQuery()
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Speichern der TV-Einstellungen: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Speichern der TV-Einstellungen: " & ex.Message, ex)
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Lädt die TV-Einstellungen basierend auf der StandortID.
|
|
''' </summary>
|
|
''' <param name="standortID">Die StandortID, für die die Einstellungen geladen werden sollen.</param>
|
|
''' <returns>Eine Liste der entsprechenden TV-Einstellungen.</returns>
|
|
Public Function GetTvSettingsByStandort(standortID As Integer) As List(Of cTvSettings)
|
|
Dim SettingsList As New List(Of cTvSettings)()
|
|
Dim sql As String = "SELECT * FROM AvisoTvSettings WHERE StandortID = @StandortID"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
cmd.Parameters.AddWithValue("@StandortID", standortID)
|
|
|
|
Using dr As SqlDataReader = cmd.ExecuteReader()
|
|
While dr.Read()
|
|
Dim settings As New cTvSettings() With {
|
|
.TVSettingID = Convert.ToInt32(dr("TvSettingID")),
|
|
.StandortID = Convert.ToInt32(dr("StandortID")),
|
|
.KachelWidthInPercent = If(IsDBNull(dr("KachelWidthInPercent")), 0, Convert.ToDouble(dr("KachelWidthInPercent"))),
|
|
.KachelHeightInPercent = If(IsDBNull(dr("KachelHeightInPercent")), 0, Convert.ToDouble(dr("KachelHeightInPercent"))),
|
|
.KachelRowGapInPercent = If(IsDBNull(dr("KachelRowGapInPercent")), 0, Convert.ToDouble(dr("KachelRowGapInPercent"))),
|
|
.KachelFontSizeLkwNummer = If(IsDBNull(dr("KachelFontSizeLkwNummer")), 0, Convert.ToDouble(dr("KachelFontSizeLkwNummer"))),
|
|
.KachelFontSizeDateTime = If(IsDBNull(dr("KachelFontSizeDateTime")), 0, Convert.ToDouble(dr("KachelFontSizeDateTime"))),
|
|
.SeitenwechselInSek = If(IsDBNull(dr("SeitenwechselInSek")), 0, Convert.ToInt32(dr("SeitenwechselInSek"))),
|
|
.TextBalkenHeightInPercent = If(IsDBNull(dr("TextBalkenHeightInPercent")), 0, Convert.ToDouble(dr("TextBalkenHeightInPercent"))),
|
|
.TextFlaggeBottom = If(IsDBNull(dr("FlaggeBottom")), 0, Convert.ToDouble(dr("FlaggeBottom"))),
|
|
.TextFlaggeLeft = If(IsDBNull(dr("FlaggeLeft")), 0, Convert.ToDouble(dr("FlaggeLeft"))),
|
|
.SelectedLogoValue = If(IsDBNull(dr("Logo")), "", Convert.ToString(dr("Logo")))
|
|
}
|
|
|
|
SettingsList.Add(settings)
|
|
End While
|
|
End Using
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Laden der TV-Einstellungen: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Laden der TV-Einstellungen: " & ex.Message, ex)
|
|
End Try
|
|
|
|
Return SettingsList
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Lädt alle TV-Textbezeichnungen aus der Datenbank.
|
|
''' </summary>
|
|
''' <returns>Eine Liste aller TV-Textbezeichnungen.</returns>
|
|
Public Function LadenAlleTvTextBezeichnungen() As List(Of cTvTextBezeichnung)
|
|
Dim bezeichnungen As New List(Of cTvTextBezeichnung)()
|
|
Dim sql As String = "
|
|
SELECT TvTextBezeichnungID, TvTextBezeichnung
|
|
FROM AvisoTvNew
|
|
ORDER BY TvTextBezeichnung
|
|
"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
Using dr As SqlDataReader = cmd.ExecuteReader()
|
|
While dr.Read()
|
|
Dim bezeichnung As New cTvTextBezeichnung() With {
|
|
.TvTextBezeichnungID = Convert.ToInt32(dr("TvTextBezeichnungID")),
|
|
.TvTextBezeichnung = Convert.ToString(dr("TvTextBezeichnung"))
|
|
}
|
|
bezeichnungen.Add(bezeichnung)
|
|
End While
|
|
End Using
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Laden der TvTextBezeichnungen: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Laden der TvTextBezeichnungen: " & ex.Message, ex)
|
|
End Try
|
|
|
|
Return bezeichnungen
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Überprüft, ob eine TV-Textbezeichnung bereits vorhanden ist.
|
|
''' </summary>
|
|
''' <param name="tvTextBezeichnung">Die TV-Textbezeichnung, die überprüft werden soll.</param>
|
|
''' <returns>True, wenn die Bezeichnung vorhanden ist; andernfalls False.</returns>
|
|
Public Function IstTvTextBezeichnungVorhanden(tvTextBezeichnung As String) As Boolean
|
|
Dim vorhanden As Boolean = False
|
|
Dim sql As String = "SELECT COUNT(*) FROM AvisoTvNew WHERE TvTextBezeichnung = @TvTextBezeichnung"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
cmd.Parameters.AddWithValue("@TvTextBezeichnung", tvTextBezeichnung)
|
|
Dim count As Integer = Convert.ToInt32(cmd.ExecuteScalar())
|
|
If count > 0 Then
|
|
vorhanden = True
|
|
End If
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Überprüfen der TvTextBezeichnung: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Überprüfen der TvTextBezeichnung: " & ex.Message, ex)
|
|
End Try
|
|
|
|
Return vorhanden
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Liest AvisoTvNew-Einträge basierend auf den angegebenen Kriterien.
|
|
''' </summary>
|
|
''' <param name="tvid">Die TV-TextbezeichnungID.</param>
|
|
''' <param name="bezeichnung">Die Bezeichnung.</param>
|
|
''' <param name="StandortBezeichnung">Der Standort.</param>
|
|
''' <param name="liste">Die Liste, in die die Ergebnisse eingefügt werden.</param>
|
|
Public Sub LesenAvisoTvNew(tvid As Integer, bezeichnung As String, StandortBezeichnung As String, ByRef liste As List(Of cAvisoTvNew))
|
|
Dim sql As String = "SELECT
|
|
stv.TvTextBezeichnungID,
|
|
stv.StandortID,
|
|
stv.Prio,
|
|
a.TvTextBezeichnung,
|
|
s.Standort,
|
|
a.FixeZeile1RTF,
|
|
a.FixeZeile2RTF,
|
|
a.FixeZeile3RTF,
|
|
a.StartDate,
|
|
a.EndDate,
|
|
a.StartTime,
|
|
a.EndTime,
|
|
a.IsRecurring,
|
|
a.IsMonday,
|
|
a.IsTuesday,
|
|
a.IsWednesday,
|
|
a.IsThursday,
|
|
a.IsFriday,
|
|
a.IsSaturday,
|
|
a.IsSunday,
|
|
a.IsActive
|
|
FROM AvisoTvNew a
|
|
JOIN StandortTvBezeichnung stv ON a.TvTextBezeichnungID = stv.TvTextBezeichnungID
|
|
JOIN StandorteTV s ON stv.StandortID = s.StandortID
|
|
WHERE 1=1"
|
|
|
|
If tvid <> 0 Then
|
|
sql &= " AND a.TvTextBezeichnungID = @TvTextBezeichnungID"
|
|
End If
|
|
|
|
If Not String.IsNullOrWhiteSpace(bezeichnung) Then
|
|
sql &= " AND a.TVTextBezeichnung LIKE @TVTextBezeichnung"
|
|
End If
|
|
|
|
If Not String.IsNullOrWhiteSpace(StandortBezeichnung) Then
|
|
sql &= " AND s.Standortbezeichnung = @StandortBezeichnung"
|
|
End If
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
If tvid <> 0 Then
|
|
cmd.Parameters.AddWithValue("@TvTextBezeichnungID", tvid)
|
|
End If
|
|
|
|
If Not String.IsNullOrWhiteSpace(bezeichnung) Then
|
|
cmd.Parameters.AddWithValue("@TVTextBezeichnung", "%" & bezeichnung & "%")
|
|
End If
|
|
|
|
If Not String.IsNullOrWhiteSpace(StandortBezeichnung) Then
|
|
cmd.Parameters.AddWithValue("@StandortBezeichnung", StandortBezeichnung)
|
|
End If
|
|
|
|
Using dr As SqlDataReader = cmd.ExecuteReader()
|
|
While dr.Read()
|
|
Dim aviso As New cAvisoTvNew() With {
|
|
.TvTextBezeichnungID = Convert.ToInt32(dr("TvTextBezeichnungID")),
|
|
.StandortID = Convert.ToInt32(dr("StandortID")),
|
|
.TvTextBezeichnung = Convert.ToString(dr("TVTextBezeichnung")),
|
|
.Standort = Convert.ToString(dr("Standort")),
|
|
.FixeZeile1RTF = If(IsDBNull(dr("FixeZeile1RTF")), Nothing, Convert.ToString(dr("FixeZeile1RTF"))),
|
|
.FixeZeile2RTF = If(IsDBNull(dr("FixeZeile2RTF")), Nothing, Convert.ToString(dr("FixeZeile2RTF"))),
|
|
.FixeZeile3RTF = If(IsDBNull(dr("FixeZeile3RTF")), Nothing, Convert.ToString(dr("FixeZeile3RTF"))),
|
|
.Prio = If(IsDBNull(dr("Prio")), Nothing, Convert.ToInt32(dr("Prio"))),
|
|
.StartDate = If(IsDBNull(dr("StartDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("StartDate"))),
|
|
.EndDate = If(IsDBNull(dr("EndDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("EndDate"))),
|
|
.StartTime = If(IsDBNull(dr("StartTime")), CType(Nothing, TimeSpan?), CType(dr("StartTime"), TimeSpan)),
|
|
.EndTime = If(IsDBNull(dr("EndTime")), CType(Nothing, TimeSpan?), CType(dr("EndTime"), TimeSpan)),
|
|
.IsRecurring = If(IsDBNull(dr("IsRecurring")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsRecurring"))),
|
|
.IsMonday = If(IsDBNull(dr("IsMonday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsMonday"))),
|
|
.IsTuesday = If(IsDBNull(dr("IsTuesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsTuesday"))),
|
|
.IsWednesday = If(IsDBNull(dr("IsWednesday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsWednesday"))),
|
|
.IsThursday = If(IsDBNull(dr("IsThursday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsThursday"))),
|
|
.IsFriday = If(IsDBNull(dr("IsFriday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsFriday"))),
|
|
.IsSaturday = If(IsDBNull(dr("IsSaturday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSaturday"))),
|
|
.IsSunday = If(IsDBNull(dr("IsSunday")), CType(Nothing, Boolean?), Convert.ToBoolean(dr("IsSunday"))),
|
|
.IsActive = Convert.ToBoolean(dr("IsActive"))
|
|
}
|
|
liste.Add(aviso)
|
|
End While
|
|
End Using
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Lesen der Daten: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Lesen der Daten: " & ex.Message, ex)
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Liest alle AvisoTvNew-Einträge aus der Datenbank.
|
|
''' </summary>
|
|
''' <param name="liste">Die Liste, in die die Ergebnisse eingefügt werden.</param>
|
|
Public Sub LesenAlleAvisoTvNew(ByRef liste As List(Of cAvisoTvNew))
|
|
' Basis-SQL-Abfrage ohne Filter
|
|
Dim sql As String = "SELECT
|
|
a.TvTextBezeichnungID,
|
|
a.TvTextBezeichnung,
|
|
a.FixeZeile1RTF,
|
|
a.FixeZeile2RTF,
|
|
a.FixeZeile3RTF,
|
|
a.Prio,
|
|
a.StartDate,
|
|
a.EndDate,
|
|
a.StartTime,
|
|
a.EndTime,
|
|
a.IsRecurring,
|
|
a.IsMonday,
|
|
a.IsTuesday,
|
|
a.IsWednesday,
|
|
a.IsThursday,
|
|
a.IsFriday,
|
|
a.IsSaturday,
|
|
a.IsSunday,
|
|
a.IsActive
|
|
FROM AvisoTvNew a"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
Using dr As SqlDataReader = cmd.ExecuteReader()
|
|
While dr.Read()
|
|
Dim aviso As New cAvisoTvNew() With {
|
|
.TvTextBezeichnungID = If(IsDBNull(dr("TvTextBezeichnungID")), 0, Convert.ToInt32(dr("TvTextBezeichnungID"))),
|
|
.TvTextBezeichnung = If(IsDBNull(dr("TvTextBezeichnung")), String.Empty, dr("TvTextBezeichnung").ToString()),
|
|
.FixeZeile1RTF = If(IsDBNull(dr("FixeZeile1RTF")), Nothing, dr("FixeZeile1RTF").ToString()),
|
|
.FixeZeile2RTF = If(IsDBNull(dr("FixeZeile2RTF")), Nothing, dr("FixeZeile2RTF").ToString()),
|
|
.FixeZeile3RTF = If(IsDBNull(dr("FixeZeile3RTF")), Nothing, dr("FixeZeile3RTF").ToString()),
|
|
.Prio = If(IsDBNull(dr("Prio")), 0, Convert.ToInt32(dr("Prio"))),
|
|
.StartDate = If(IsDBNull(dr("StartDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("StartDate"))),
|
|
.EndDate = If(IsDBNull(dr("EndDate")), CType(Nothing, Date?), Convert.ToDateTime(dr("EndDate"))),
|
|
.StartTime = If(IsDBNull(dr("StartTime")), CType(Nothing, TimeSpan?), CType(dr("StartTime"), TimeSpan)),
|
|
.EndTime = If(IsDBNull(dr("EndTime")), CType(Nothing, TimeSpan?), CType(dr("EndTime"), TimeSpan)),
|
|
.IsRecurring = If(IsDBNull(dr("IsRecurring")), False, Convert.ToBoolean(dr("IsRecurring"))),
|
|
.IsMonday = If(IsDBNull(dr("IsMonday")), False, Convert.ToBoolean(dr("IsMonday"))),
|
|
.IsTuesday = If(IsDBNull(dr("IsTuesday")), False, Convert.ToBoolean(dr("IsTuesday"))),
|
|
.IsWednesday = If(IsDBNull(dr("IsWednesday")), False, Convert.ToBoolean(dr("IsWednesday"))),
|
|
.IsThursday = If(IsDBNull(dr("IsThursday")), False, Convert.ToBoolean(dr("IsThursday"))),
|
|
.IsFriday = If(IsDBNull(dr("IsFriday")), False, Convert.ToBoolean(dr("IsFriday"))),
|
|
.IsSaturday = If(IsDBNull(dr("IsSaturday")), False, Convert.ToBoolean(dr("IsSaturday"))),
|
|
.IsSunday = If(IsDBNull(dr("IsSunday")), False, Convert.ToBoolean(dr("IsSunday"))),
|
|
.IsActive = If(IsDBNull(dr("IsActive")), False, Convert.ToBoolean(dr("IsActive")))
|
|
}
|
|
|
|
liste.Add(aviso)
|
|
End While
|
|
End Using
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception($"SQL Fehler beim Lesen der Daten: {ex.Message}", ex)
|
|
Catch ex As Exception
|
|
Throw New Exception($"Allgemeiner Fehler beim Lesen der Daten: {ex.Message}", ex)
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Speichert einen AvisoTvNew-Eintrag in der Datenbank.
|
|
''' </summary>
|
|
''' <param name="aviso">Der AvisoTvNew-Eintrag, der gespeichert werden soll.</param>
|
|
Public Sub SpeichernAvisoTvNew(aviso As cAvisoTvNew)
|
|
Dim sqlInsert As String
|
|
Dim sqlUpdate As String
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using transaction As SqlTransaction = conn.BeginTransaction()
|
|
Try
|
|
If aviso.TvTextBezeichnungID = 0 Then
|
|
' Neuanlage
|
|
sqlInsert = "INSERT INTO AvisoTvNew (
|
|
TvTextBezeichnung,
|
|
FixeZeile1RTF,
|
|
FixeZeile1HTML,
|
|
FixeZeile2RTF,
|
|
FixeZeile2HTML,
|
|
FixeZeile3RTF,
|
|
FixeZeile3HTML,
|
|
StartDate,
|
|
EndDate,
|
|
StartTime,
|
|
EndTime,
|
|
IsRecurring,
|
|
IsMonday,
|
|
IsTuesday,
|
|
IsWednesday,
|
|
IsThursday,
|
|
IsFriday,
|
|
IsSaturday,
|
|
IsSunday,
|
|
Prio,
|
|
IsActive
|
|
) VALUES (
|
|
@TvTextBezeichnung,
|
|
@FixeZeile1RTF,
|
|
@FixeZeile1HTML,
|
|
@FixeZeile2RTF,
|
|
@FixeZeile2HTML,
|
|
@FixeZeile3RTF,
|
|
@FixeZeile3HTML,
|
|
@StartDate,
|
|
@EndDate,
|
|
@StartTime,
|
|
@EndTime,
|
|
@IsRecurring,
|
|
@IsMonday,
|
|
@IsTuesday,
|
|
@IsWednesday,
|
|
@IsThursday,
|
|
@IsFriday,
|
|
@IsSaturday,
|
|
@IsSunday,
|
|
@Prio,
|
|
@IsActive
|
|
);
|
|
SELECT CAST(scope_identity() AS int);"
|
|
|
|
Using cmd As New SqlCommand(sqlInsert, conn, transaction)
|
|
cmd.Parameters.AddWithValue("@TvTextBezeichnung", aviso.TvTextBezeichnung)
|
|
cmd.Parameters.AddWithValue("@FixeZeile1RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1RTF), CType(Nothing, String), aviso.FixeZeile1RTF))
|
|
cmd.Parameters.AddWithValue("@FixeZeile1HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1HTML), CType(Nothing, String), aviso.FixeZeile1HTML))
|
|
cmd.Parameters.AddWithValue("@FixeZeile2RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2RTF), DBNull.Value, aviso.FixeZeile2RTF))
|
|
cmd.Parameters.AddWithValue("@FixeZeile2HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2HTML), DBNull.Value, aviso.FixeZeile2HTML))
|
|
cmd.Parameters.AddWithValue("@FixeZeile3RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3RTF), DBNull.Value, aviso.FixeZeile3RTF))
|
|
cmd.Parameters.AddWithValue("@FixeZeile3HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3HTML), DBNull.Value, aviso.FixeZeile3HTML))
|
|
cmd.Parameters.AddWithValue("@StartDate", If(aviso.StartDate.HasValue, CType(aviso.StartDate.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@EndDate", If(aviso.EndDate.HasValue, CType(aviso.EndDate.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@StartTime", If(aviso.StartTime.HasValue, CType(aviso.StartTime.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@EndTime", If(aviso.EndTime.HasValue, CType(aviso.EndTime.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@Prio", aviso.Prio)
|
|
cmd.Parameters.AddWithValue("@IsRecurring", aviso.IsRecurring)
|
|
cmd.Parameters.AddWithValue("@IsMonday", aviso.IsMonday)
|
|
cmd.Parameters.AddWithValue("@IsTuesday", aviso.IsTuesday)
|
|
cmd.Parameters.AddWithValue("@IsWednesday", aviso.IsWednesday)
|
|
cmd.Parameters.AddWithValue("@IsThursday", aviso.IsThursday)
|
|
cmd.Parameters.AddWithValue("@IsFriday", aviso.IsFriday)
|
|
cmd.Parameters.AddWithValue("@IsSaturday", aviso.IsSaturday)
|
|
cmd.Parameters.AddWithValue("@IsSunday", aviso.IsSunday)
|
|
cmd.Parameters.AddWithValue("@IsActive", aviso.IsActive)
|
|
|
|
Dim result As Object = cmd.ExecuteScalar()
|
|
If result Is Nothing OrElse IsDBNull(result) Then
|
|
Throw New Exception("Das INSERT hat keine ID zurückgegeben.")
|
|
End If
|
|
aviso.TvTextBezeichnungID = Convert.ToInt32(result)
|
|
End Using
|
|
Else
|
|
' Aktualisierung
|
|
sqlUpdate = "UPDATE AvisoTvNew SET
|
|
FixeZeile1RTF = @FixeZeile1RTF,
|
|
FixeZeile1HTML = @FixeZeile1HTML,
|
|
FixeZeile2RTF = @FixeZeile2RTF,
|
|
FixeZeile2HTML = @FixeZeile2HTML,
|
|
FixeZeile3RTF = @FixeZeile3RTF,
|
|
FixeZeile3HTML = @FixeZeile3HTML,
|
|
StartDate = @StartDate,
|
|
EndDate = @EndDate,
|
|
StartTime = @StartTime,
|
|
EndTime = @EndTime,
|
|
IsRecurring = @IsRecurring,
|
|
IsMonday = @IsMonday,
|
|
IsTuesday = @IsTuesday,
|
|
IsWednesday = @IsWednesday,
|
|
IsThursday = @IsThursday,
|
|
IsFriday = @IsFriday,
|
|
IsSaturday = @IsSaturday,
|
|
IsSunday = @IsSunday,
|
|
IsActive = @IsActive,
|
|
Prio = @Prio
|
|
WHERE TvTextBezeichnungID = @TvTextBezeichnungID"
|
|
|
|
Using cmd As New SqlCommand(sqlUpdate, conn, transaction)
|
|
cmd.Parameters.AddWithValue("@FixeZeile1RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1RTF), CType(Nothing, String), aviso.FixeZeile1RTF))
|
|
cmd.Parameters.AddWithValue("@FixeZeile1HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile1HTML), CType(Nothing, String), aviso.FixeZeile1HTML))
|
|
cmd.Parameters.AddWithValue("@FixeZeile2RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2RTF), DBNull.Value, aviso.FixeZeile2RTF))
|
|
cmd.Parameters.AddWithValue("@FixeZeile2HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile2HTML), DBNull.Value, aviso.FixeZeile2HTML))
|
|
cmd.Parameters.AddWithValue("@FixeZeile3RTF", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3RTF), DBNull.Value, aviso.FixeZeile3RTF))
|
|
cmd.Parameters.AddWithValue("@FixeZeile3HTML", If(String.IsNullOrWhiteSpace(aviso.FixeZeile3HTML), DBNull.Value, aviso.FixeZeile3HTML))
|
|
cmd.Parameters.AddWithValue("@StartDate", If(aviso.StartDate.HasValue, CType(aviso.StartDate.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@EndDate", If(aviso.EndDate.HasValue, CType(aviso.EndDate.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@StartTime", If(aviso.StartTime.HasValue, CType(aviso.StartTime.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@EndTime", If(aviso.EndTime.HasValue, CType(aviso.EndTime.Value, Object), DBNull.Value))
|
|
cmd.Parameters.AddWithValue("@IsRecurring", aviso.IsRecurring)
|
|
cmd.Parameters.AddWithValue("@IsMonday", aviso.IsMonday)
|
|
cmd.Parameters.AddWithValue("@IsTuesday", aviso.IsTuesday)
|
|
cmd.Parameters.AddWithValue("@IsWednesday", aviso.IsWednesday)
|
|
cmd.Parameters.AddWithValue("@IsThursday", aviso.IsThursday)
|
|
cmd.Parameters.AddWithValue("@IsFriday", aviso.IsFriday)
|
|
cmd.Parameters.AddWithValue("@IsSaturday", aviso.IsSaturday)
|
|
cmd.Parameters.AddWithValue("@IsSunday", aviso.IsSunday)
|
|
cmd.Parameters.AddWithValue("@IsActive", aviso.IsActive)
|
|
cmd.Parameters.AddWithValue("@Prio", aviso.Prio)
|
|
cmd.Parameters.AddWithValue("@TvTextBezeichnungID", aviso.TvTextBezeichnungID)
|
|
|
|
cmd.ExecuteNonQuery()
|
|
End Using
|
|
End If
|
|
|
|
' Einfügen oder Aktualisieren in die StandortTvBezeichnung-Tabelle
|
|
Dim sqlLink As String = "
|
|
IF EXISTS (
|
|
SELECT 1
|
|
FROM StandortTvBezeichnung
|
|
WHERE StandortID = @StandortID
|
|
AND TvTextBezeichnungID = @TvTextBezeichnungID
|
|
)
|
|
BEGIN
|
|
UPDATE StandortTvBezeichnung
|
|
SET
|
|
Prio = @Prio
|
|
WHERE StandortID = @StandortID
|
|
AND TvTextBezeichnungID = @TvTextBezeichnungID
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
INSERT INTO StandortTvBezeichnung (StandortID, TvTextBezeichnungID)
|
|
VALUES (@StandortID, @TvTextBezeichnungID)
|
|
END
|
|
"
|
|
|
|
Using cmdLink As New SqlCommand(sqlLink, conn, transaction)
|
|
cmdLink.Parameters.AddWithValue("@StandortID", aviso.StandortID)
|
|
cmdLink.Parameters.AddWithValue("@Prio", aviso.Prio)
|
|
cmdLink.Parameters.AddWithValue("@TvTextBezeichnungID", aviso.TvTextBezeichnungID)
|
|
|
|
cmdLink.ExecuteNonQuery()
|
|
End Using
|
|
|
|
' Transaktion committen
|
|
transaction.Commit()
|
|
Catch ex As Exception
|
|
' Fehler: Transaktion zurückrollen
|
|
Try
|
|
transaction.Rollback()
|
|
Catch rollbackEx As Exception
|
|
Throw New Exception("Fehler beim Zurückrollen der Transaktion: " & rollbackEx.Message, rollbackEx)
|
|
End Try
|
|
Throw
|
|
End Try
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("SQL Fehler beim Speichern des Eintrags: " & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Allgemeiner Fehler beim Speichern des Eintrags: " & ex.Message, ex)
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Setzt einen AvisoTvNew-Eintrag auf inaktiv.
|
|
''' </summary>
|
|
''' <param name="hID">Die ID des Eintrags, der inaktiv gesetzt werden soll.</param>
|
|
Public Sub SetzeAufInaktiv(ByVal hID As Integer)
|
|
Dim sql As String = "UPDATE AvisoTvNew SET IsActive = 0 WHERE TVID = @TVID"
|
|
|
|
Try
|
|
Using conn As SqlConnection = cDatenbankAVISO.CreateNewOpenConnection()
|
|
Using cmd As New SqlCommand(sql, conn)
|
|
cmd.Parameters.AddWithValue("@TVID", hID)
|
|
Dim rowsAffected As Integer = cmd.ExecuteNonQuery()
|
|
If rowsAffected = 0 Then
|
|
Throw New Exception("Der Datensatz konnte nicht auf inaktiv gesetzt werden. Möglicherweise existiert er nicht mehr.")
|
|
End If
|
|
End Using
|
|
End Using
|
|
Catch ex As SqlException
|
|
Throw New Exception("AvisoTvNew-Eintrag kann nicht auf inaktiv gesetzt werden! " & vbCrLf & ex.Message, ex)
|
|
Catch ex As Exception
|
|
Throw New Exception("Fehler beim Setzen auf inaktiv: " & ex.Message, ex)
|
|
End Try
|
|
End Sub
|
|
|
|
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
|
|
Property Special As String
|
|
End Class
|
|
|
|
Public Class cAvisoTVDAL
|
|
|
|
Public Function LesenAvisoTV(hID As Integer, wherehSQL As String, Standort As String, Special As String, Optional ByRef list As List(Of cAvisoTV) = Nothing) As cAvisoTV
|
|
'falls ID mitgegeben, dann diese laden, ansonsten den anderen Wert suchen
|
|
Dim sql As String
|
|
If list IsNot Nothing Then list.Clear()
|
|
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 Special <> "" Then
|
|
sql &= " AND (Special is null or Special='" & Special & "' or Special='" & Now.ToShortDateString & "') "
|
|
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"))
|
|
daten.Special = VarToStr(dr.Item("Special"))
|
|
|
|
For Each ds In dr
|
|
Dim avisoTv = New cAvisoTV()
|
|
avisoTv.TVID = VarToInt(ds.Item("TVID"))
|
|
avisoTv.FixeZeile1 = VarToStr(ds.Item("FixeZeile1"))
|
|
avisoTv.FixeZeile2 = VarToStr(ds.Item("FixeZeile2"))
|
|
avisoTv.FixeZeile3 = VarToStr(ds.Item("FixeZeile3"))
|
|
avisoTv.Standort = VarToStr(ds.Item("Standort"))
|
|
avisoTv.Art = VarToStr(ds.Item("Art"))
|
|
avisoTv.Special = VarToStr(ds.Item("Special"))
|
|
If list IsNot Nothing Then list.Add(avisoTv)
|
|
Next
|
|
|
|
|
|
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 |