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

📄 +

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
            Dyymctbl.Show 1
        Case "yl"                                            '预 览
            Call bbyl(True)
        Case "dy"                                            '打 印
            Call bbyl(False)
        Case "zj"                                            '增 加
            '判断用户是否有此功能执行权限,如有则写上机日志(进入)
            If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
                Exit Sub
            End If
            
            Call AddEmp
        Case "cx"                                            '查 询
             Squery
        Case "all"                                           '全 选
            With CzxsGrid
                If .Rows > .FixedRows Then
                    .Row = .FixedRows
                    .RowSel = .Rows - 1
                End If
            End With
        Case "stop"                                          '停 发
            Call StopH(1)
        Case "resume"                                        '恢 复
            Call StopH(0)
        Case "sc"                                            '删 除
            '判断用户是否有此功能执行权限,如有则写上机日志(进入)
            If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
                Exit Sub
            End If
            Call DelEmp
        Case "bank"                                          '银 行
            '判断用户是否有此功能执行权限,如有则写上机日志(进入)
            If Not Security_Log(Str_RightBank, Xtczybm, 1, True) Then
                Exit Sub
            End If
            BankChoice
        Case "sx"                                            '刷 新
            Sql = "select p.EmpId,r.DeptCode,DeptName,EmpNO,EmpName,haltFlag,p.BankCode,BankName,p.Accounts from " & _
                  " gy_department d inner join rs_BasicInfo r on d.deptcode=r.deptcode " & _
                  " inner join pm_sortEmp p on p.empid=r.empid left join pm_Bank b on  " & _
                  " p.BankCode=b.BankCode " & _
                  " where sortid='" & SortId & "' and p.EmpId in ( select EmpID from Rs_BasicInfo r inner join PM_OpeDept p on r.DeptCode=p.DeptCode " & _
                  " and Czybm='" & Xtczybm & "') order by r.DeptCode,EmpNo"
            Call Cxnrtcwg(Sql)
        Case "bz"                                            '帮 助
            Call F1bz
        Case "fh"                                            '退 出
            Unload Me
    End Select
    '解 锁
    Valilock = False
    Changelock = False
End Sub
Private Sub BankChoice()
    Dim SqlT As String
    With CzxsGrid
        If .Rows = .FixedRows Then
            Exit Sub
        End If
    End With
    SqlT = SqlCon
    With Class_FrmBank
        .Show 1
        If .OpeStatus = "cancel" Then
            Exit Sub
        End If
        '判断银行账号是否有重复的。
        With CzxsGrid
            If .Row <= .RowSel Then
                For i = .Row To .RowSel
                    If BankA(i) = False Then
                        Exit Sub
                    End If
                Next
            Else
                For i = .RowSel To .Row
                    If BankA(i) = False Then
                        Exit Sub
                    End If
                Next
            End If
            
        End With
        
        If ImgCbo_Sort.ComboItems.Count > 1 Then
            With Pub_FrmSortChoice
                .Show 1
                If .OpeStatus = "cancel" Then
                    Exit Sub
                End If
                .SortId = SortId
                Sql = ""
                If LCase(Trim(Class_FrmBank.BankCode)) = "c" Then
                    '清空银行
                    BankCode = ""
                    For i = 1 To .cSort.Count
                        Sql = Sql & " update Pm_SortEmp set BankCode='" & _
                              BankCode & "',Accounts='' where sortid='" & _
                               .cSort.Item(i) & "' and EmpId in " & SqlT
                    Next
                Else
                    BankCode = Class_FrmBank.BankCode
                    For i = 1 To .cSort.Count
                        Sql = Sql & " update Pm_SortEmp set BankCode='" & _
                            BankCode & "' where sortid='" & _
                            .cSort.Item(i) & "' and EmpId in " & SqlT
                    Next
                End If
            End With
        Else
            If LCase(Trim(Class_FrmBank.BankCode)) = "c" Then
                Sql = " update Pm_SortEmp set BankCode='' " & _
                      ",Accounts=''  where sortid='" & _
                      SortId & "' and EmpId in  " & SqlT
            Else
                Sql = " update Pm_SortEmp set BankCode='" & _
                      Class_FrmBank.BankCode & "' where sortid='" & _
                      SortId & "' and EmpId in " & SqlT
            End If
        End If
        
    End With
    On Error GoTo Err1
    With Cw_DataEnvi.DataConnect
        .BeginTrans
        .Execute Sql
        .CommitTrans
    End With
    With CzxsGrid
        If .Row <= .RowSel Then
            Call bankB(i, .Row, .RowSel)
        Else
            Call bankB(i, .RowSel, .Row)
        End If
    End With
    Exit Sub
Err1:
    Cw_DataEnvi.DataConnect.RollbackTrans
End Sub
Private Sub bankB(i As Long, row1 As Long, row2 As Long)
    With CzxsGrid
        If LCase(Trim(Class_FrmBank.BankCode)) = "c" Then
            For i = row1 To row2
                .TextMatrix(i, 1) = ""
                .TextMatrix(i, Sydz("006", GridStr(), Szzls)) = ""
                .TextMatrix(i, Sydz("007", GridStr(), Szzls)) = ""
            Next
        Else
            For i = row1 To row2
                .TextMatrix(i, 1) = Class_FrmBank.BankCode
                .TextMatrix(i, Sydz("006", GridStr(), Szzls)) = Class_FrmBank.BankName
            Next
        End If
    End With
End Sub
Private Function BankA(i As Long) As Boolean
    With CzxsGrid
        If Trim(.TextMatrix(i, Sydz("007", GridStr(), Szzls))) <> "" Then
            If Rsc.State = 1 Then Rsc.Close
            Sql = " select p.*,EmpNO,EmpName,SortName from PM_SortEmp p inner join rs_BasicInfo r " & _
                " on p.EmpID=r.EmpID inner join PM_sort s on p.Sortid=S.sortid " & _
                "where BankCode='" & _
                Class_FrmBank.BankCode & "' and Accounts='" & _
                .TextMatrix(i, Sydz("007", GridStr(), Szzls)) & _
                "' and p.EmpID <>" & .TextMatrix(i, 0)
            Set Rsc = Cw_DataEnvi.DataConnect.Execute(Sql)
            If Not Rsc.EOF Then
                Call Xtxxts("将" & Trim(.TextMatrix(i, Sydz("006", GridStr(), Szzls))) & _
                            "换成" & Trim(Class_FrmBank.BankName) & "时," & Chr(10) & _
                            Chr(13) & Trim(.TextMatrix(i, Sydz("003", GridStr(), Szzls))) & _
                           "号" & Trim(.TextMatrix(i, Sydz("004", GridStr(), Szzls))) & _
                           "与" & Trim(Rsc!EmpNo) & "号" & _
                           Trim(Rsc!EmpName) & "的银行账号重复," & Chr(10) & Chr(13) & _
                           "请先将该行的银行名称清空,再改写银行!" & _
                           "请在各个工资类别中查看。", 0, 1)
                BankA = False
                Exit Function
            End If
        End If
    End With
    BankA = True
End Function
Private Sub StopH(StopH As String)
    '判断用户是否有此功能执行权限,如有则写上机日志(进入)
    If Not Security_Log(Str_RightEdit, Xtczybm, 1, True) Then
        Exit Sub
    End If
    
    '1 停发 0 恢复
    Dim Sqlstr As String
    With CzxsGrid
        If .Rows = .FixedRows Or .Row <= .FixedRows - 1 Then
            Exit Sub
        End If
        
        Sql = SqlCon
        Sqlstr = ""
        If ImgCbo_Sort.ComboItems.Count > 1 Then
            With Pub_FrmSortChoice
                .Show 1
                If .OpeStatus = "cancel" Then
                    Exit Sub
                Else
                    For i = 1 To .cSort.Count
                       Sqlstr = Sqlstr & " update PM_SortEmp set haltFlag=" & StopH & "  where  sortid ='" & _
                           .cSort.Item(i) & "' and EmpId in " & Sql
                    Next
                End If
            End With
        Else
            Sqlstr = " update PM_SortEmp set haltFlag=" & StopH & " where  sortid ='" & _
                     SortId & "' and EmpId in " & Sql
        End If
    End With
    On Error GoTo Err1
    With Cw_DataEnvi.DataConnect
        .BeginTrans
        .Execute Sqlstr
        .CommitTrans
        With CzxsGrid
            If .Row <= .RowSel Then
                For i = .Row To .RowSel
                    .TextMatrix(i, Sydz("005", GridStr(), Szzls)) = StopH
                Next
            Else
                For i = .Row To .RowSel Step -1
                    .TextMatrix(i, Sydz("005", GridStr(), Szzls)) = StopH
                Next
            End If
        End With
    End With
    
    Exit Sub
Err1:
    Cw_DataEnvi.DataConnect.RollbackTrans
    
End Sub
Private Function SqlCon() As String
    With CzxsGrid
        Sql = "("
        If .Row <= .RowSel Then
            For i = .Row To .RowSel
                Sql = Sql & Val(.TextMatrix(i, 0)) & ","
            Next
        Else
            For i = .RowSel To .Row
                Sql = Sql & Val(.TextMatrix(i, 0)) & ","
            Next
        End If
        If Trim(Sql) <> "(" Then
            Sql = Left(Trim(Sql), Len(Trim(Sql)) - 1) & ")"
        Else
            Sql = ""
        End If
        SqlCon = Sql
    End With
End Function
Private Sub DelEmp()
    '删除
    Dim Sqlstr As String
    Dim Yhanswer As Integer
    With CzxsGrid
        If .Rows = .FixedRows Then
            Exit Sub
        End If
    End With
    Sql = SqlCon
    Tsxx = "请确认是否删除所选记录?"
    Yhanswer = Xtxxts(Tsxx, 2, 2)
    
    If Yhanswer = 2 Then
        Exit Sub
    End If
    
    With CzxsGrid
        Sqlstr = ""
        If ImgCbo_Sort.ComboItems.Count > 1 Then
            With Pub_FrmSortChoice
                .Show 1
                If .OpeStatus = "cancel" Then
                    Exit Sub
                Else
                    For i = 1 To .cSort.Count
                       Sqlstr = Sqlstr & " delete PM_SortEmp where  sortid ='" & _
                           .cSort.Item(i) & "' and EmpId in " & Sql
                    Next
                End If
            End With
        Else
            Sqlstr = " delete PM_SortEmp where  sortid ='" & _
                     SortId & "' and EmpId in " & Sql
        End If
    End With
    On Error GoTo Err1
    With Cw_DataEnvi.DataConnect
        .BeginTrans
        .Execute Sqlstr
        .CommitTrans
        With CzxsGrid
            If .Row <= .RowSel Then
                For i = .Row To .RowSel
                    .RemoveItem (.Row)
                Next
            Else
                For i = .RowSel To .Row
                    .RemoveItem (.RowSel)
                Next

⌨️ 快捷键说明

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