338 lines
13 KiB
VB.net
338 lines
13 KiB
VB.net
Imports System.Windows.Forms
|
|
|
|
Public Class cMeineFunktionenAVISO
|
|
'Diese Klasse beinhaltet alle meine Funktionen, die in allen Projekten verwendet werden können
|
|
Public Shared Function grayoutForm() As Form
|
|
Dim f As New frmGrayOut
|
|
f.Show()
|
|
Return f
|
|
End Function
|
|
|
|
Public Const LeerDatum As Date = #12/30/1899# 'wird als leerer Datumswert verwendet, da sonst Probleme bei Null/Date
|
|
|
|
Public Shared Function SQLDatum(dat As Date) As String
|
|
'Datum für SQLAbfrage umwandeln (31.01.1998 --> #1/31/1998#)
|
|
SQLDatum = ""
|
|
If Not IsDate(dat) Then Exit Function
|
|
SQLDatum = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " 00:00:00'"
|
|
'SQLDatum = dat.ToString
|
|
End Function
|
|
|
|
Public Shared Function SQLDatumZeit(dat As Date) As String
|
|
'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
|
|
SQLDatumZeit = ""
|
|
|
|
If Not IsDate(dat) Then Exit Function
|
|
SQLDatumZeit = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
|
|
DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & "'"
|
|
End Function
|
|
|
|
Public Shared Function SQLDatumZeitSekunden(dat As Date) As String
|
|
'Datum inklusive Zeit für SQLAbfrage umwandeln (31.01.1998 10:15 Uhr --> #1/31/1998 10:15:00#)
|
|
SQLDatumZeitSekunden = ""
|
|
If Not IsDate(dat) Then Exit Function
|
|
SQLDatumZeitSekunden = "'" & DateAndTime.Day(dat) & "." & DateAndTime.Month(dat) & "." & DateAndTime.Year(dat) & " " &
|
|
DateAndTime.Hour(dat) & ":" & DateAndTime.Minute(dat) & ":" & DateAndTime.Second(dat) & "'"
|
|
End Function
|
|
|
|
Public Shared Function SQLNullDate(d As Date) As Object
|
|
'Wenn Datum 00.00.0000, dann wird dbnull zurückgegeben
|
|
If d = New Date Then : SQLNullDate = DBNull.Value
|
|
Else : SQLNullDate = d : End If
|
|
End Function
|
|
|
|
Public Shared Function GetProgrammIcon() As Drawing.Icon
|
|
Return My.Resources.Aviso
|
|
End Function
|
|
|
|
Public Shared Function VarToInt(ByVal wert As Object) As Integer
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value Then
|
|
Return 0
|
|
Else
|
|
Return CInt(wert)
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return 0
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function VarToInt2(ByVal wert As Object) As Integer
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value OrElse Not IsNumeric(wert) Then
|
|
Return -1
|
|
Else
|
|
Return CInt(wert)
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return -1
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function VarToLng(ByVal wert As Object) As Long
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value Then
|
|
Return 0
|
|
Else
|
|
Return CLng(wert)
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return 0
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function VarToDbl(ByVal wert As Object) As Double
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value Then
|
|
Return 0
|
|
Else
|
|
Return CDbl(wert)
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return 0
|
|
End Try
|
|
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 VarToBool(ByVal wert As Object) As Boolean
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value Then
|
|
Return False
|
|
Else
|
|
Return CBool(wert)
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return False
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function VarToStr(ByVal wert As Object) As String
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value Then
|
|
Return ""
|
|
Else
|
|
Return Trim(DirectCast(wert, String))
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return ""
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function VarToDate(ByVal wert As Object) As Nullable(Of DateTime)
|
|
Try
|
|
If wert Is Nothing OrElse wert Is DBNull.Value Then
|
|
Return LeerDatum 'Nothing
|
|
Else
|
|
Return DirectCast(wert, DateTime)
|
|
End If
|
|
Catch generatedExceptionName As Exception
|
|
Return Nothing
|
|
End Try
|
|
End Function
|
|
|
|
Public Shared Function IstGleich(i As Integer, ParamArray list As Integer()) As Boolean
|
|
'prüft, ob ein Wert in einer Liste enthalten ist - z.B. i = 5 or 7 or 11 or 29
|
|
For x As Integer = 0 To list.Length - 1
|
|
If list(x) = i Then
|
|
Return True
|
|
End If
|
|
On Error Resume Next
|
|
Next
|
|
Return False
|
|
End Function
|
|
|
|
Public Shared Function Minuten_auf_Text(hMinuten As Long) As String
|
|
|
|
If hMinuten <= 0 Then Return ""
|
|
|
|
Dim hStunden As Long
|
|
Dim hMinus As Boolean
|
|
Dim hMin As Long
|
|
|
|
Minuten_auf_Text = ""
|
|
hMin = hMinuten
|
|
|
|
If hMin = 0 Then
|
|
Minuten_auf_Text = "0:00"
|
|
Exit Function
|
|
End If
|
|
|
|
If hMin < 0 Then
|
|
hMinus = True
|
|
hMin = hMin * -1
|
|
End If
|
|
|
|
hStunden = CLng(Fix(hMin / 60))
|
|
hMin = hMin - (hStunden * 60)
|
|
If hMinus Then Minuten_auf_Text = "-" 'Minus wird nur bei Stunden angezeigt
|
|
Minuten_auf_Text = Minuten_auf_Text & hStunden & ":" & Format(hMin, "00")
|
|
End Function
|
|
|
|
Public Shared Function ZeitInMinuten(hDat As Date) As Long
|
|
ZeitInMinuten = 0
|
|
If Not IsDate(hDat) Then Exit Function
|
|
ZeitInMinuten = Hour(hDat) * 60 + Minute(hDat)
|
|
End Function
|
|
|
|
Public Shared Function GetNewMaxPosNr(ByVal FilialeNr As Integer, Optional Year As Integer = -1) As Integer
|
|
Return VERAG_PROG_ALLGEMEIN.cAllgemein.getMaxPosNrIncrement(FilialeNr, CInt(IIf(Year > 0, Year, Now.Year)))
|
|
End Function
|
|
|
|
Public Shared Function LKWFertig(AvisoID, Optional newLKWOK = Nothing) As Boolean
|
|
|
|
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
|
|
Dim VermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
If newLKWOK Is Nothing Then
|
|
newLKWOK = Not Aviso.LKW_fertig
|
|
Else
|
|
If newLKWOK = Aviso.LKW_fertig Then Return True 'Wenn schon OK ist
|
|
End If
|
|
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
|
|
'Taste LKW ist fertig
|
|
If Aviso.Status <> VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
MsgBox("Es kann nur ein LKW mit Status ANKUNFT auf 'FERTIG/nicht FERTIG' gesetzt werden.", vbInformation)
|
|
Return False
|
|
End If
|
|
Dim aendArt As String = ""
|
|
Dim aendText As String = ""
|
|
|
|
'Status ist Ankunft - LKW wird je nach Eintrag auf Fertig/nicht fertig gesetzt
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
Dim hVermerk As New cVermerk 'bei Fertig zusätzlich einen Vermerk setzen
|
|
hVermerk.AvisoID = Aviso.AvisoID
|
|
hVermerk.Datum = Now
|
|
hVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
hVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
|
|
If newLKWOK Then
|
|
Aviso.LKW_fertig = True
|
|
Aviso.Änderungen = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
hVermerk.Hinweis_Vermerk = "LKW ist fertig!"
|
|
hVermerk.VermerkCodeId = 26
|
|
VermerkeDAL.SpeichernVermerk(hVermerk)
|
|
aendArt = "LKW ist fertig - gesetzt"
|
|
aendText = "LKW ist fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
|
|
Else
|
|
Aviso.LKW_fertig = False
|
|
Aviso.Änderungen = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
hVermerk.Hinweis_Vermerk = "LKW ist nicht fertig."
|
|
hVermerk.VermerkCodeId = 27
|
|
VermerkeDAL.SpeichernVermerk(hVermerk)
|
|
aendArt = "LKW ist nicht fertig - gesetzt"
|
|
aendText = "LKW ist nicht fertig - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
|
|
End If
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, aendArt, aendText)
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
Public Shared Function VerwahrungOK(AvisoID) As Boolean
|
|
|
|
Dim AvisoDAL As New VERAG_PROG_ALLGEMEIN.cAvisoDAL
|
|
Dim VermerkeDAL As New VERAG_PROG_ALLGEMEIN.cVermerkeDAL
|
|
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("VERIMEX", "AVISO") Then
|
|
MsgBox("Keine Berechtigung!")
|
|
Return False
|
|
End If
|
|
|
|
'falls keine Auswahl bzw. kein Datensatz, dann nichts machen
|
|
If AvisoID <= 0 Then
|
|
MsgBox("Kein Aviso ausgewählt!")
|
|
Return False
|
|
End If
|
|
|
|
'jetzt ausgewählten Datensatz einlesen
|
|
Dim Aviso As New cAviso
|
|
Aviso = AvisoDAL.LesenAviso(AvisoID, "")
|
|
If Aviso Is Nothing Then Return False
|
|
If Aviso.Abgeschlossen Then MsgBox("Der Akt wurde bereits abgeschlossen.", vbInformation) : Return False
|
|
|
|
|
|
Dim newLKWOK = False
|
|
If Aviso.VerwahrungStatus = 0 Then
|
|
Aviso.VerwahrungStatus = 1
|
|
Aviso.VerwahrungStatusDate = Now
|
|
newLKWOK = True
|
|
Else
|
|
Aviso.VerwahrungStatus = 0
|
|
Aviso.VerwahrungStatusDate = Nothing
|
|
newLKWOK = False
|
|
End If
|
|
|
|
|
|
|
|
Dim msg As String
|
|
Dim antwort As MsgBoxResult
|
|
|
|
|
|
'Taste LKW ist fertig
|
|
If Aviso.Status <> VERAG_PROG_ALLGEMEIN.cGlobal.Status_Ankunft Then
|
|
MsgBox("Es kann nur ein LKW mit Status ANKUNFT auf 'VERWAHRUNG OK/N-OK' gesetzt werden.", vbInformation)
|
|
Return False
|
|
End If
|
|
Dim aendArt As String = ""
|
|
Dim aendText As String = ""
|
|
|
|
'Status ist Ankunft - LKW wird je nach Eintrag auf Fertig/nicht fertig gesetzt
|
|
Aviso.letzterMitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
Aviso.TeamId = VERAG_PROG_ALLGEMEIN.cAllgemein.MITARBEITER.mit_teamId
|
|
Dim hVermerk As New cVermerk 'bei Fertig zusätzlich einen Vermerk setzen
|
|
hVermerk.AvisoID = Aviso.AvisoID
|
|
hVermerk.Datum = Now
|
|
hVermerk.Mitarbeiter = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter
|
|
hVermerk.MitarbeiterId = VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.MitarbeiterID
|
|
|
|
If newLKWOK Then
|
|
' Aviso.LKW_fertig = True
|
|
Aviso.Änderungen = "Verwahrung kontrolliert - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
hVermerk.Hinweis_Vermerk = "Verwahrung kontrolliert"
|
|
hVermerk.VermerkCodeId = 116
|
|
VermerkeDAL.SpeichernVermerk(hVermerk)
|
|
aendArt = "Verwahrung kontrolliert - gesetzt"
|
|
aendText = "Verwahrung kontrolliert - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
|
|
Else
|
|
' Aviso.LKW_fertig = False
|
|
Aviso.Änderungen = "Verwahrung NICHT kontrolliert - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm") & vbCrLf & Trim(VarToStr(Aviso.Änderungen))
|
|
hVermerk.Hinweis_Vermerk = "Verwahrung NICHT kontrolliert"
|
|
hVermerk.VermerkCodeId = 117
|
|
VermerkeDAL.SpeichernVermerk(hVermerk)
|
|
aendArt = "Verwahrung Kontrolle NICHT kontrolliert - gesetzt"
|
|
aendText = "Verwahrung Kontrolle NICHT kontrolliert - gesetzt von " & VERAG_PROG_ALLGEMEIN.cGlobal.AktiverMitarbeiter.Mitarbeiter & " am " & Format(Now, "dd.MM.yyyy HH:mm")
|
|
End If
|
|
Dim tmpid = AvisoDAL.SpeichernAviso(Aviso)
|
|
AvisoDAL.addAenderung(tmpid, aendArt, aendText)
|
|
|
|
Return (tmpid > 0)
|
|
End Function
|
|
|
|
|
|
End Class
|