You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
467 lines
19 KiB
467 lines
19 KiB
Imports System
|
|
Imports System.Data
|
|
Imports System.Data.SqlTypes
|
|
Imports System.Data.SqlClient
|
|
Imports DevComponents
|
|
Imports DropDownControls
|
|
|
|
Public Class clsMassnahmeplan
|
|
Inherits DB.clsMassnahmeplan
|
|
|
|
#Region "Deklarationen"
|
|
Public daten As New DataTable
|
|
Public Neuer_Datensatz As Boolean = False
|
|
Public Mitarbeiterdaten As New DataTable
|
|
|
|
Public Zeitpunkt As New DataTable
|
|
Public Periodizitaet As New DataTable
|
|
Public Prioritaet As New DataTable
|
|
Public VerantwortungISI As New DataTable
|
|
Public Verantwortung As New DataTable
|
|
Dim stammdaten As New DB.clsStammdaten
|
|
Dim SpaltenTitel As New Utils.Tabellenspalte
|
|
|
|
Dim Definition_Massnahmeplan As New DataTable
|
|
Dim clsDefinition_Massnahmeplan As New DB.clsDefinition_massnahmeplan
|
|
Public Terminierung As New DataTable
|
|
|
|
|
|
Dim mMutierer As String
|
|
Property MutiererText() As String
|
|
Get
|
|
Return mMutierer
|
|
End Get
|
|
Set(ByVal value As String)
|
|
mMutierer = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Sub New()
|
|
MyBase.New()
|
|
Zeitpunkt = stammdaten.Get_Stammdaten("Zeitpunkt", "Beschreibung")
|
|
Periodizitaet = stammdaten.Get_Stammdaten("Periodizitaet", "Bezeichnung")
|
|
Prioritaet = stammdaten.Get_Stammdaten("Prioritaet", "Bezeichnung")
|
|
VerantwortungISI = stammdaten.Get_Stammdaten("VerantwortungIsi", "Bezeichnung")
|
|
Verantwortung = stammdaten.Get_Stammdaten("Verantwortung", "Bezeichnung")
|
|
Terminierung = stammdaten.Get_Stammdaten("Terminierung", "Bezeichnung")
|
|
End Sub
|
|
|
|
|
|
|
|
Public Overloads Sub dispose()
|
|
MyBase.Dispose()
|
|
Try
|
|
Me.Zeitpunkt.Dispose()
|
|
Me.Periodizitaet.Dispose()
|
|
Me.Prioritaet.Dispose()
|
|
Me.VerantwortungISI.Dispose()
|
|
Me.Verantwortung.Dispose()
|
|
Me.stammdaten = Nothing
|
|
Me.Definition_Massnahmeplan.Dispose()
|
|
|
|
|
|
Catch
|
|
End Try
|
|
End Sub
|
|
|
|
''' <summary>
|
|
''' Mutierer auslesen
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Get_Mutierer(ByVal nr As Integer) As String
|
|
Try
|
|
Dim ma As New DB.clsMitarbeiter
|
|
Dim dt As New DataTable
|
|
Dim Retvalue As String
|
|
ma.cpMainConnectionProvider = Globals.conn
|
|
ma.iMitarbeiternr = New SqlInt32(CType(nr, Int32))
|
|
dt = ma.SelectOne()
|
|
If dt.Rows.Count = 0 Then
|
|
Retvalue = ("{" + nr.ToString + "}")
|
|
Else
|
|
Retvalue = ma.sName.ToString + " " + ma.sVorname.ToString + ", " + ma.sTgnummer.ToString
|
|
End If
|
|
ma.Dispose()
|
|
dt.Dispose()
|
|
Return Retvalue
|
|
Catch
|
|
Return ""
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
Public Function Get_Data(ByVal Nr As Integer)
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iMassnahmeplanNr = New SqlInt32(CType(Nr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.daten = Me.SelectOne()
|
|
Globals.conn.CloseConnection(True)
|
|
Try
|
|
Me.MutiererText = Get_Mutierer(Me.iMutierer.Value)
|
|
Catch ex As Exception
|
|
Me.MutiererText = ""
|
|
|
|
End Try
|
|
|
|
End Function
|
|
|
|
Public Function Save_Data() As Integer
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Globals.conn.OpenConnection()
|
|
Me.Update()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
|
|
Public Function Create_Copy(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Data(Basenr)
|
|
End If
|
|
Dim db As New DB.clsMyKey_Tabelle
|
|
db.cpMainConnectionProvider = Globals.conn
|
|
Dim newkey = db.get_dbkey("Massnahmeplan")
|
|
db.Dispose()
|
|
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.iMassnahmeplanNr = New SqlInt32(CType(newkey, Int32))
|
|
Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Insert()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = True
|
|
Return newkey
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Löschen eines Datensatzes erstellen.
|
|
''' </summary>
|
|
''' <param name="Basenr">Ursprungs-Person: Ist dieser Wert nicht 0, werden die Daten mit BaseNr zuerst gelesen</param>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Delete_Data(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Data(Basenr)
|
|
End If
|
|
If bAktiv.Value = False Then Exit Function
|
|
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Me.bAktiv = New SqlBoolean(CType(False, Boolean))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32))
|
|
Globals.conn.OpenConnection()
|
|
Me.Update()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
|
|
Public Overloads Function Delete(Optional ByVal Basenr As Integer = 0) As Integer
|
|
If Basenr <> 0 Then
|
|
Get_Data(Basenr)
|
|
End If
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Globals.conn.OpenConnection()
|
|
MyBase.Delete()
|
|
Globals.conn.CloseConnection(True)
|
|
Me.Neuer_Datensatz = False
|
|
End Function
|
|
|
|
''' <summary>
|
|
''' Neue Person einfügen
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
''' <remarks></remarks>
|
|
Public Function Add_New() As Integer
|
|
Dim db As New DB.clsMyKey_Tabelle
|
|
db.cpMainConnectionProvider = Globals.conn
|
|
Dim newkey = db.get_dbkey("massnahmeplan")
|
|
db.Dispose()
|
|
Me.iMassnahmeplanNr = New SqlInt32(CType(newkey, Int32))
|
|
Me.daGueltig_Bis = New SqlDateTime(CType("31.12.2099", DateTime))
|
|
Me.iPrioritaetNr = New SqlInt32(CType(0, Int32))
|
|
Me.iPeriodizitaetNr = New SqlInt32(CType(0, Int32))
|
|
Me.iZeitpunktNr = New SqlInt32(CType(0, Int32))
|
|
Me.sBeschreibung = New SqlString(CType("", String))
|
|
Me.sPruefgegenstand = New SqlString(CType("", String))
|
|
Me.sHilfsmittel = New SqlString(CType("", String))
|
|
Me.sMassnahmen = New SqlString(CType("", String))
|
|
Me.iVerantwortungISINr = New SqlInt32(CType(0, Int32))
|
|
Me.sBeschreibung = New SqlString(CType("", String))
|
|
Me.bAktiv = New SqlBoolean(CType(True, Boolean))
|
|
Me.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
Me.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr, Int32))
|
|
Me.daErstmals_am = New SqlDateTime(CType(DateAdd(DateInterval.Day, 1, Now), DateTime))
|
|
Me.iTerminierungID = New SqlInt32(CType(0, Int32))
|
|
Me.cpMainConnectionProvider = Globals.conn
|
|
Try
|
|
Globals.conn.OpenConnection()
|
|
Me.Insert()
|
|
Globals.conn.CloseConnection(True)
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
Me.Neuer_Datensatz = True
|
|
Return Me.iMassnahmeplanNr.Value
|
|
End Function
|
|
|
|
Public Function Get_massnahmeplan(ByRef c1daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal Key As Integer)
|
|
Try
|
|
Dim ds As New DataSet
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Dim sqlcmd As New SqlCommand
|
|
|
|
sqlcmd.CommandText = "sp_get_massnahmenplan"
|
|
sqlcmd.Parameters.Add(New SqlParameter("@key", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Key))
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(ds, "Datatable1")
|
|
c1daten.DataSource = Nothing
|
|
c1daten.DataSource = ds.Tables(0)
|
|
c1daten.DataMember = ds.Tables(0).TableName
|
|
|
|
SpaltenTitel.Spaltentitel_aktualisieren(c1daten, "massnahmeplan", ds.Tables(0))
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
|
|
End Function
|
|
|
|
|
|
Public Function Get_Eintraege(ByRef c1daten As C1.Win.C1TrueDBGrid.C1TrueDBGrid, ByVal Key As Integer, Optional Searchstring As String = "")
|
|
Try
|
|
Dim ds As New DataSet
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Dim sqlcmd As New SqlCommand
|
|
|
|
sqlcmd.CommandText = "sp_get_massnahmeplan"
|
|
sqlcmd.Parameters.Add(New SqlParameter("@key", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Key))
|
|
sqlcmd.Parameters.Add(New SqlParameter("@Searchstring", SqlDbType.VarChar, 255, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Searchstring))
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(ds, "Datatable1")
|
|
c1daten.DataSource = Nothing
|
|
c1daten.DataSource = ds.Tables(0)
|
|
c1daten.DataMember = ds.Tables(0).TableName
|
|
|
|
SpaltenTitel.Spaltentitel_aktualisieren(c1daten, "massnahmeplan", ds.Tables(0))
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End Function
|
|
|
|
Public Function Get_Definition_Massnahmeplan(ByVal Key As Integer, ByRef cb As CheckedListBox)
|
|
Me.Definition_Massnahmeplan.Rows.Clear()
|
|
Try
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Dim sqlcmd As New SqlCommand
|
|
|
|
sqlcmd.CommandText = "sp_get_definition_Massnahmeplan"
|
|
sqlcmd.Parameters.Add(New SqlParameter("@massnahmeplannr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Key))
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(Me.Definition_Massnahmeplan)
|
|
|
|
For Each r As DataRow In Definition_Massnahmeplan.Rows
|
|
cb.Items.Add(r.Item("Bezeichnung"), True)
|
|
Next
|
|
'cb.DataSource = Definition_massnahmeplan
|
|
'cb.ValueMember = "Definition_massnahmeplanNr"
|
|
'cb.DisplayMember = "Bezeichnung"
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End Function
|
|
|
|
Public Function Add_new_Zuordnung(ByVal massnahmeplannr As Integer, DefinitionNr As Integer, nodetext As String, ByRef chkcb As CheckedListBox)
|
|
For Each r As DataRow In Me.Definition_Massnahmeplan.Rows
|
|
If r.Item(1) = DefinitionNr Then
|
|
MsgBox("Die Beziehung zu '" + nodetext + "' ist bereits vorhanden", vbExclamation)
|
|
Exit Function
|
|
End If
|
|
Next
|
|
Dim dr As DataRow = Me.Definition_Massnahmeplan.NewRow
|
|
dr.Item(1) = DefinitionNr
|
|
dr.Item(2) = massnahmeplannr
|
|
dr.Item(3) = "31.12.2099"
|
|
dr.Item(4) = True
|
|
dr.Item(5) = Now
|
|
dr.Item(6) = Now
|
|
dr.Item(7) = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
dr.Item(8) = nodetext
|
|
Me.Definition_Massnahmeplan.Rows.Add(dr)
|
|
chkcb.Items.Add(nodetext + " | " + dr.Item(3).ToString, True)
|
|
|
|
End Function
|
|
|
|
Public Function Get_Definition_massnahmeplan(ByVal Key As Integer, ByRef tree As AdvTree.AdvTree)
|
|
Me.Definition_Massnahmeplan.Rows.Clear()
|
|
Try
|
|
Dim connection As New SqlConnection()
|
|
Dim da As New SqlDataAdapter("", connection)
|
|
Dim sqlcmd As New SqlCommand
|
|
|
|
sqlcmd.CommandText = "sp_get_definition_massnahmeplan"
|
|
sqlcmd.Parameters.Add(New SqlParameter("@massnahmeplannr", SqlDbType.Int, 4, ParameterDirection.Input, True, 10, 0, "", DataRowVersion.Proposed, Key))
|
|
sqlcmd.CommandType = CommandType.StoredProcedure
|
|
sqlcmd.Connection = connection
|
|
Try
|
|
connection.ConnectionString = Globals.sConnectionString
|
|
connection.Open()
|
|
da.SelectCommand = sqlcmd
|
|
da.Fill(Me.Definition_Massnahmeplan)
|
|
Set_Zuordnungnodes(Definition_Massnahmeplan, tree)
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
Finally
|
|
connection.Close()
|
|
da.Dispose()
|
|
sqlcmd.Dispose()
|
|
End Try
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
End Function
|
|
Public Function Add_new_Zuordnung(ByVal Massnahmeplannr As Integer, DefinitionNr As Integer, nodetext As String, ByRef tree As AdvTree.AdvTree)
|
|
For Each r As DataRow In Me.Definition_Massnahmeplan.Rows
|
|
If r.Item(1) = DefinitionNr And (r(4) = True Or r(3) < Now) Then
|
|
MsgBox("Die Beziehung zu '" + nodetext + "' ist bereits vorhanden", vbExclamation)
|
|
Exit Function
|
|
End If
|
|
Next
|
|
Dim dr As DataRow = Me.Definition_Massnahmeplan.NewRow
|
|
dr.Item(0) = Format(Now, "ddhhmmss")
|
|
dr.Item(1) = DefinitionNr
|
|
dr.Item(2) = Massnahmeplannr
|
|
dr.Item(3) = "31.12.2099"
|
|
dr.Item(4) = True
|
|
dr.Item(5) = Now
|
|
dr.Item(6) = Now
|
|
dr.Item(7) = Globals.clsmitarbeiter.iMitarbeiternr.Value
|
|
dr.Item(8) = nodetext
|
|
Me.Definition_Massnahmeplan.Rows.Add(dr)
|
|
|
|
Set_Zuordnungnodes(Definition_Massnahmeplan, tree)
|
|
End Function
|
|
|
|
Sub Set_Zuordnungnodes(data As DataTable, ByRef tree As AdvTree.AdvTree)
|
|
tree.Nodes.Clear()
|
|
For Each r As DataRow In data.Rows
|
|
Dim tn As New AdvTree.Node
|
|
tn.Tag = r(0)
|
|
tn.Text = r(8)
|
|
tree.Nodes.Add(tn)
|
|
Dim tn1 As New AdvTree.Node
|
|
tn1.Text = r(3)
|
|
tn1.Tag = r(4)
|
|
tn.Nodes.Add(tn1)
|
|
tn.ImageIndex = 0
|
|
If r(3) < "31.12.2099" And r(3) > Now Then tn.ImageIndex = 3
|
|
If r(3) < Now Then tn.ImageIndex = 2
|
|
If r(4) = False Then tn.ImageIndex = 1
|
|
|
|
Next
|
|
|
|
End Sub
|
|
|
|
Public Sub Update_Zuordnung(ByVal ID As Integer, Aktiv As Boolean, gueltig As DateTime)
|
|
For Each r As DataRow In Me.Definition_Massnahmeplan.Rows
|
|
If r.Item(0) = ID Then
|
|
r(4) = Aktiv
|
|
r(3) = gueltig
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Public Function Save_Definition_massnahmeplan(ByRef tree As AdvTree.AdvTree)
|
|
|
|
clsDefinition_Massnahmeplan.sConnectionString = Globals.sConnectionString
|
|
For Each n As AdvTree.Node In tree.Nodes
|
|
For Each r As DataRow In Definition_Massnahmeplan.Rows
|
|
If r(0) = n.Tag Then
|
|
If r(0) > 100000 Then
|
|
clsDefinition_Massnahmeplan.iDefinitionNr = New SqlInt32(CType(r(1), Int32))
|
|
clsDefinition_Massnahmeplan.imassnahmeplanNr = New SqlInt32(CType(r(2), Int32))
|
|
clsDefinition_Massnahmeplan.daGueltig_Bis = New SqlDateTime(CType(r(3), DateTime))
|
|
clsDefinition_Massnahmeplan.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
clsDefinition_Massnahmeplan.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
clsDefinition_Massnahmeplan.bAktiv = New SqlBoolean(CType(True, Boolean))
|
|
clsDefinition_Massnahmeplan.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
conn.OpenConnection()
|
|
clsDefinition_Massnahmeplan.Insert()
|
|
conn.CloseConnection(True)
|
|
Else
|
|
clsDefinition_Massnahmeplan.iDefinition_massnahmeplanNr = New SqlInt32(CType(r(0), Int32))
|
|
clsDefinition_Massnahmeplan.cpMainConnectionProvider = Globals.conn
|
|
clsDefinition_Massnahmeplan.SelectOne()
|
|
Dim tn1 As New AdvTree.Node
|
|
tn1 = n.Nodes(0)
|
|
If tn1.Tag <> clsDefinition_Massnahmeplan.bAktiv.Value Or tn1.Text <> clsDefinition_Massnahmeplan.daGueltig_Bis.Value Then
|
|
clsDefinition_Massnahmeplan.iDefinition_massnahmeplanNr = New SqlInt32(CType(r(0), Int32))
|
|
clsDefinition_Massnahmeplan.cpMainConnectionProvider = Globals.conn
|
|
clsDefinition_Massnahmeplan.SelectOne()
|
|
clsDefinition_Massnahmeplan.iDefinitionNr = New SqlInt32(CType(r(1), Int32))
|
|
clsDefinition_Massnahmeplan.imassnahmeplanNr = New SqlInt32(CType(r(2), Int32))
|
|
clsDefinition_Massnahmeplan.daGueltig_Bis = New SqlDateTime(CType(r(3), DateTime))
|
|
clsDefinition_Massnahmeplan.daErstellt_am = New SqlDateTime(CType(Now, DateTime))
|
|
clsDefinition_Massnahmeplan.daMutiert_am = New SqlDateTime(CType(Now, DateTime))
|
|
clsDefinition_Massnahmeplan.bAktiv = New SqlBoolean(CType(tn1.Tag, Boolean))
|
|
clsDefinition_Massnahmeplan.iMutierer = New SqlInt32(CType(Globals.clsmitarbeiter.iMitarbeiternr.Value, Int32))
|
|
conn.OpenConnection()
|
|
clsDefinition_Massnahmeplan.Update()
|
|
conn.CloseConnection(True)
|
|
End If
|
|
|
|
|
|
End If
|
|
End If
|
|
|
|
Next
|
|
Next
|
|
|
|
End Function
|
|
|
|
End Class
|