📄 employee.vb
字号:
Imports System
Imports System.Data
Imports System.Text
Imports CommonDB
Imports CommonSystem
Public Class Employee
Inherits Person
#Region "Members"
Public sInnerNumber As String
Public HireDate As String
Public Status As String
Public FireDate As String
Public WorkEmail As String
Public WorkPhone As String
Public WorkAge As String
Public BankAccount As String
Public Photo As String
Protected iDepartmentId As Integer
Protected iBusinessId As Integer
Protected iLevelId As Integer
Private m_iId As Integer
#End Region
#Region "Properties"
Public Property Department() As Department
Get
If iDepartmentId = 0 Then
Department = New Department
Else
Department = New Department(CStr(DbBase.DataInterface().Execute4Object("select number from department where id = " & iDepartmentId)))
End If
End Get
Set(ByVal Value As Department)
If Value Is Nothing Or Value.Name = "" Then
iDepartmentId = 0
Else
iDepartmentId = DbBase.DataInterface().Execute4Object("select id from department where number = '" & Value.Number & "'")
End If
End Set
End Property
Public Property Bussiness() As String
Get
If iBusinessId = 0 Then
Bussiness = ""
Else
Bussiness = CStr(DbBase.DataInterface().Execute4Object("select name from bussiness where id =" & iBusinessId))
End If
End Get
Set(ByVal Value As String)
If Value = "" Then
iBusinessId = 0
Else
iBusinessId = DbBase.DataInterface().Execute4Value("select id from bussiness where name = '" & Value & "'")
End If
End Set
End Property
Public Property EmployeeLevel() As String
Get
If iLevelId = 0 Then
EmployeeLevel = ""
Else
EmployeeLevel = CStr(DbBase.DataInterface().Execute4Object("select role from payroll_level where level =" & iLevelId))
End If
End Get
Set(ByVal Value As String)
If Value = "" Then
iLevelId = 0
Else
iLevelId = DbBase.DataInterface().Execute4Value("select level from payroll_level where role = '" & Value & "'")
End If
End Set
End Property
Public Property Number() As String
Get
Number = Me.Department.Number & sInnerNumber
End Get
Set(ByVal Value As String)
If Value.Length = 5 Then
sInnerNumber = Microsoft.VisualBasic.Right(Value, 3)
ElseIf Value.Length = 3 Then
sInnerNumber = Value
Else
sInnerNumber = ""
End If
End Set
End Property
Public ReadOnly Property Id() As Integer
Get
Return m_iId
End Get
End Property
#End Region
#Region "Constructions"
Public Sub New()
m_iId = 0
End Sub
Public Sub New(ByVal iId As Integer)
Dim dsPerson As DataSet
dsPerson = DbBase.DataInterface().Execute4DS("select * from employee where id = " & iId)
If dsPerson.Tables(0).Rows.Count = 0 Then
Throw New Exception("Employee of id " & iId & " doesn't exists when new Employee!")
Else
'initialize Person
m_iId = dsPerson.Tables(0).Rows(0).Item("id")
Name = dsPerson.Tables(0).Rows(0).Item("name")
Sex = dsPerson.Tables(0).Rows(0).Item("sex")
IDCard = dsPerson.Tables(0).Rows(0).Item("idcard")
Birthday = dsPerson.Tables(0).Rows(0).Item("birthday")
NativePlace = dsPerson.Tables(0).Rows(0).Item("native_place")
HomePhone = dsPerson.Tables(0).Rows(0).Item("home_phone")
Address = dsPerson.Tables(0).Rows(0).Item("address")
Postalcode = dsPerson.Tables(0).Rows(0).Item("postalcode")
PersonalEmail = dsPerson.Tables(0).Rows(0).Item("personal_email")
Intro = dsPerson.Tables(0).Rows(0).Item("intro")
Marry = dsPerson.Tables(0).Rows(0).Item("marry")
Mobile = dsPerson.Tables(0).Rows(0).Item("mobile")
iNationId = dsPerson.Tables(0).Rows(0).Item("nation_id")
iEducationId = dsPerson.Tables(0).Rows(0).Item("education_id")
iPostId = dsPerson.Tables(0).Rows(0).Item("post_id")
'initialize Employee
sInnerNumber = dsPerson.Tables(0).Rows(0).Item("inner_number")
Status = dsPerson.Tables(0).Rows(0).Item("status")
HireDate = dsPerson.Tables(0).Rows(0).Item("hire_date")
FireDate = dsPerson.Tables(0).Rows(0).Item("fire_date")
WorkEmail = dsPerson.Tables(0).Rows(0).Item("work_email")
WorkPhone = dsPerson.Tables(0).Rows(0).Item("work_phone")
BankAccount = dsPerson.Tables(0).Rows(0).Item("bank_account")
WorkAge = dsPerson.Tables(0).Rows(0).Item("work_age")
iDepartmentId = dsPerson.Tables(0).Rows(0).Item("department_id")
iBusinessId = dsPerson.Tables(0).Rows(0).Item("business_id")
iLevelId = dsPerson.Tables(0).Rows(0).Item("employee_level")
End If
End Sub
Public Sub New(ByVal sNumber As String)
Me.New(DbBase.DataInterface().Execute4Value("select id from v_employee where number = '" & sNumber & "'"))
End Sub
#End Region
#Region "Opertaions"
Public Function Hire() As Boolean
Dim sbSql As StringBuilder = New StringBuilder
sbSql.Append("insert into employee (name,sex,birthday,nation_id,idcard,marry,education_id,home_phone,mobile,post_id,address,postalcode,native_place,photo,intro,personal_email,inner_number,department_id,hire_date,fire_date,business_id,bank_account,status,employee_level,work_email,work_phone,work_age) values (")
sbSql.Append("'" & Me.Name & "',")
sbSql.Append("'" & Me.Sex & "',")
sbSql.Append("'" & Me.Birthday & "',")
sbSql.Append("" & Me.iNationId & ",")
sbSql.Append("'" & Me.IDCard & "',")
sbSql.Append("'" & Me.Marry & "',")
sbSql.Append("" & Me.iEducationId & ",")
sbSql.Append("'" & Me.HomePhone & "',")
sbSql.Append("'" & Me.Mobile & "',")
sbSql.Append("" & Me.iPostId & ",")
sbSql.Append("'" & Me.Address & "',")
sbSql.Append("'" & Me.Postalcode & "',")
sbSql.Append("'" & Me.NativePlace & "',")
sbSql.Append("'" & Me.Photo & "',")
sbSql.Append("'" & Me.Intro & "',")
sbSql.Append("'" & Me.PersonalEmail & "',")
sbSql.Append("'" & Me.sInnerNumber & "',")
sbSql.Append("" & Me.iDepartmentId & ",")
sbSql.Append("'" & Me.HireDate & "',")
sbSql.Append("'" & Me.FireDate & "',")
sbSql.Append("" & Me.iBusinessId & ",")
sbSql.Append("'" & Me.BankAccount & "',")
sbSql.Append("'" & Me.Status & "',")
sbSql.Append("" & Me.iLevelId & ",")
sbSql.Append("'" & Me.WorkEmail & "',")
sbSql.Append("'" & Me.WorkPhone & "',")
sbSql.Append("'" & Me.WorkAge & "')")
'MessageBox.Show(sbSql.ToString)
If DbBase.DataInterface().ExecuteSql(sbSql.ToString) = 0 Then
Return True
Else
Return False
End If
End Function
Public Function Fire(ByVal sDate As String) As Boolean
Dim sSql As String
sSql = "update employee set inner_number = '000', status = '解聘', fire_date = '" & Me.FireDate & "' where id = '" & Me.m_iId & "'"
If DbBase.DataInterface().ExecuteSql(sSql) = 0 Then
Return True
Else
Return False
End If
End Function
Public Function Retire() As Boolean
Dim sSql As String
sSql = "update employee set status = '退休',inner_number = '000' where id = '" & Me.m_iId & "'"
If DbBase.DataInterface().ExecuteSql(sSql) = 0 Then
Return True
Else
Return False
End If
End Function
Public Function Transfer(ByVal oDepartment As Department) As Boolean
Dim sSql As String
sSql = "update employee set department_id = '" & oDepartment.DepartmentId & "',inner_number = '" & Me.sInnerNumber & "' where id = '" & Me.m_iId & "'"
If DbBase.DataInterface().ExecuteSql(sSql) = 0 Then
Return True
Else
Return False
End If
End Function
Public Function Update() As Object
Dim sbSql As StringBuilder = New StringBuilder
sbSql.Append("update employee set ")
sbSql.Append("name = '" & Me.Name & "',")
sbSql.Append("sex = '" & Me.Sex & "',")
sbSql.Append("birthday = '" & Me.Birthday & "',")
sbSql.Append("nation_id = " & Me.iNationId & ",")
sbSql.Append("idcard = '" & Me.IDCard & "',")
sbSql.Append("marry = '" & Me.Marry & "',")
sbSql.Append("education_id = " & Me.iEducationId & ",")
sbSql.Append("home_phone = '" & Me.HomePhone & "',")
sbSql.Append("mobile = '" & Me.Mobile & "',")
sbSql.Append("post_id = " & Me.iPostId & ",")
sbSql.Append("address = '" & Me.Address & "',")
sbSql.Append("postalcode = '" & Me.Postalcode & "',")
sbSql.Append("native_place = '" & Me.NativePlace & "',")
sbSql.Append("photo = '" & Me.Photo & "',")
sbSql.Append("intro = '" & Me.Intro & "',")
sbSql.Append("personal_email = '" & Me.PersonalEmail & "',")
sbSql.Append("inner_number = '" & Me.sInnerNumber & "',")
sbSql.Append("department_id = " & Me.iDepartmentId & ",")
sbSql.Append("hire_date = '" & Me.HireDate & "',")
sbSql.Append("fire_date = '" & Me.FireDate & "',")
sbSql.Append("business_id = " & Me.iBusinessId & ",")
sbSql.Append("bank_account = '" & Me.BankAccount & "',")
sbSql.Append("status = '" & Me.Status & "',")
sbSql.Append("employee_level = '" & Me.iLevelId & "',")
sbSql.Append("work_email = '" & Me.WorkEmail & "',")
sbSql.Append("work_phone = '" & Me.WorkPhone & "',")
sbSql.Append("work_age = '" & Me.WorkAge & "'")
sbSql.Append(" where id = " & Me.m_iId)
'MessageBox.Show(sbSql.ToString)
If DbBase.DataInterface().ExecuteSql(sbSql.ToString) = 0 Then
Return True
Else
Return False
End If
End Function
#End Region
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -