⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clslistemployee.cls

📁 金算盘软件代码
💻 CLS
📖 第 1 页 / 共 2 页
字号:
                    Set frmPersonTax = Nothing
                Else
                    ShowMsg 0, "该个人所得税不存在,不能进行修改!", _
                            vbExclamation + MB_TASKMODAL, "个人所得税率"
                    mfrmEmployee.ToolRefresh
                End If
            End If
        Case 3
            If lngID > 0 Then
                If CheckIDUsed("PersonTaxType", "lngPersonTaxTypeID", lngID) Then
                    frmTax.EditCard lngID, vbModal
                    Set frmTax = Nothing
                Else
                    ShowMsg 0, "该扣税标准不存在,不能进行修改!", _
                            vbExclamation + MB_TASKMODAL, "扣税标准卡片"
                    mfrmEmployee.ToolRefresh
                End If
            End If
    End Select
    mfrmEmployee.MousePointer = vbDefault
    mfrmEmployee.Enabled = True
End Sub

Private Sub mfrmEmployee_oListInActive()
Dim blnYes As Boolean
Dim strCode As String
Dim lngID As Long
Dim blnRemark As Boolean
 

    
lngID = mfrmEmployee.ListID
If lngID = 0 Then Exit Sub
With mfrmEmployee.sstPages
        blnRemark = ListIsInActive(.Tab, lngID, strCode)
        If IsLevelWCode(Choose(.Tab + 1, "部门编码", "职员编码")) And Trim(strCode) <> "" Then
            If blnRemark And IsLowerCode(.Tab, strCode) Then
                intResponse = ShowMsg(mfrmEmployee.hwnd, "是否取消所有下级的停用标记", vbYesNo, mfrmEmployee.mTitle)
                blnYes = IIf(intResponse = 6, True, False)
            End If
        End If
        If UpdateIsActive(.Tab, strCode, Not blnRemark, blnYes) Then
            mfrmEmployee.ToolRefresh
            If .Tab = 0 Then gclsSys.SendMessage CStr(mfrmEmployee.hwnd), Message.msgDepartment
            If .Tab = 1 Then gclsSys.SendMessage CStr(mfrmEmployee.hwnd), Message.msgEmployee
        End If
    End With
End Sub

Private Sub mfrmEmployee_ListInActive(blnLevel As Boolean, blnSuceess As Boolean)
    Dim blnYes As Boolean
Dim strCode As String
Dim lngID As Long
Dim blnRemark As Boolean

blnLevel = False
blnSuceess = False
lngID = mfrmEmployee.ListID
If lngID = 0 Then Exit Sub
With mfrmEmployee.sstPages
        blnRemark = ListIsInActive(.Tab, lngID, strCode)
        blnLevel = IsLevelWCode(Choose(.Tab + 1, "部门编码", "职员编码"))
        If blnLevel And Trim(strCode) <> "" Then
            If blnRemark And IsLowerCode(.Tab, strCode) Then
                intResponse = ShowMsg(mfrmEmployee.hwnd, "是否取消所有下级的停用标记", vbYesNo, mfrmEmployee.mTitle)
                blnYes = IIf(intResponse = 6, True, False)
            End If
        End If
        If UpdateIsActive(.Tab, strCode, Not blnRemark, blnYes) Then
            blnSuceess = True
            If blnLevel Then mfrmEmployee.ToolRefresh
            If .Tab = 0 Then gclsSys.SendMessage CStr(mfrmEmployee.hwnd), Message.msgDepartment
            If .Tab = 1 Then gclsSys.SendMessage CStr(mfrmEmployee.hwnd), Message.msgEmployee
        End If
    End With
End Sub

Private Sub mfrmEmployee_ListNew()
    mfrmEmployee.MousePointer = vbHourglass
    Select Case mfrmEmployee.sstPages.Tab
        Case 0
             frmDepartmentCard.AddCard , vbModal
            Set frmDepartmentCard = Nothing
        Case 1
            frmEmployeeCard.AddCard , vbModal
            Set frmEmployeeCard = Nothing
        Case 2
            frmPersonTax.AddCard vbModal
            Set frmPersonTax = Nothing
        Case 3
            frmTax.AddCard
            Set frmTax = Nothing
    End Select
    mfrmEmployee.MousePointer = vbDefault
End Sub

Private Sub mfrmEmployee_ListShowAll()
    With mfrmEmployee
        If .chkShowall = 0 Then
            Select Case .sstPages.Tab
                Case 0
                     .ShowAll(.sstPages.Tab) = " Department.blnIsInActive=0"
                Case 1
                    .ShowAll(.sstPages.Tab) = " Employee.blnIsInActive=0"
            End Select
        Else
             .ShowAll(.sstPages.Tab) = ""
'            Select Case .sstPages.Tab
'                Case 0
'                     .ShowAll(.sstPages.Tab) = ""
'                Case 1
'                    .ShowAll(.sstPages.Tab) = ""
'            End Select
        End If
        .ToolRefresh
    End With
End Sub

Private Sub mfrmEmployee_ListUsed()
    Dim lngID As Long
    
    lngID = mfrmEmployee.ListID
    Select Case mfrmEmployee.sstPages.Tab
        Case 0
            UseCode Message.msgDepartment, lngID
        Case 1
            UseCode Message.msgEmployee, lngID
        Case 2
            UseCode Message.msgPersonTax, lngID
        Case 3
            UseCode Message.msgTaxType, lngID
    End Select
    mfrmEmployee.ZOrder 1
End Sub

Private Function UpdateIsActive(ByVal intTab As Integer, ByVal strCode As String, ByVal blnIsInActive As Boolean, ByVal blnYes As Boolean) As Boolean
    Dim strSql As String
    Dim strSuSql As String
    Select Case intTab
        Case 0
             If blnIsInActive Then
                    strSql = "UPDATE Department SET blnIsInActive = " & IIf(blnIsInActive, 1, 0) & " WHERE strDepartmentCode = '" & strCode & "' Or strDepartmentCode like '" & strCode & "-%'"
             Else
                If blnYes Then
                    strSuSql = "UPDATE Department SET blnIsInActive = " & IIf(blnIsInActive, 1, 0) & " WHERE strDepartmentCode='" & strCode & "' Or strDepartmentCode like '" & strCode & "-%'"
                End If
                strSql = "UPDATE Department SET blnIsInActive = " & IIf(blnIsInActive, 1, 0) & " WHERE strDepartmentCode  in  ('" & strCode
                Do Until CodePrefix(strCode) = ""
                    strCode = CodePrefix(strCode)
                    strSql = strSql & "','" & strCode
                Loop
                strSql = strSql & "')"
            End If
        Case 1
            strSql = "UPDATE Employee SET blnIsInActive = " & IIf(blnIsInActive, 1, 0) & " WHERE strEmployeeCode = '" & strCode & "'"
    End Select
   
    If blnYes Then
        If Not gclsBase.ExecSQL(strSuSql) Then
            UpdateIsActive = False
            Exit Function
        End If
    End If
    UpdateIsActive = gclsBase.ExecSQL(strSql)
End Function

Private Function ListIsInActive(ByVal intTab As Integer, ByVal lngID As Long, strCode As String) As Boolean
    Dim recTmp As rdoResultset
    Dim strSql As String
    Select Case intTab
        Case 0
            strSql = "Select blnIsInActive,strDepartmentCode as Code from Department Where lngDepartmentID=" & lngID
        Case 1
            strSql = "Select blnIsInActive,strEmployeeCode  as Code  from Employee Where lngEmployeeID=" & lngID
    End Select
    Set recTmp = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If Not recTmp.EOF Then
        ListIsInActive = IIf(recTmp!blnIsInActive = 1, True, False)
        strCode = recTmp!Code
    End If
End Function
Private Function IsLowerCode(ByVal intTab As Integer, ByVal strCode As String) As Boolean
    Dim strSql As String
    Dim tmp As rdoResultset
    Select Case intTab
        Case 0
            strSql = "select blnIsInActive from Department where blnIsInActive=1 and strDepartmentcode like '" & strCode & "-%'"
    End Select
    Set tmp = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    If tmp.RowCount <> 0 Then
        IsLowerCode = True
    Else
        IsLowerCode = False
    End If
End Function

Public Function ShowEachList(ByVal lngID As Long, Optional intTab As Integer = 0) As Boolean
    strWhere = Choose(intTab + 1, "Department.lngDepartmentID=", "Employee.lngEmployeeID=", "PersonTax.lngPersonTaxID=", "PersonTaxType.lngPersonTaxTypeID=") & lngID
    ShowEachList = mfrmEmployee.Showlist(lngID, intTab, strWhere)
End Function


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -