亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? modulemain.bas

?? 考勤機管理軟件,用于統計某段時間某個部門或者某個員工在某段內遲到與早退次數.
?? BAS
?? 第 1 頁 / 共 4 頁
字號:
                        ClassIDInfo(UBound(ClassIDInfo)).AddClass = False
                        ClassIDInfo(UBound(ClassIDInfo)).ClassID = OnClassInfo(i).ClassID
                    End If
                
                End If
                
'                ReDim Preserve ClassIDInfo(UBound(ClassIDInfo) + 1)
            End If
        
        End If
    Next

End Function

'==================用員工編號得出排班班次
Public Function GetSetClassID(ByVal Code As String, ByVal sDate As String)
    
    ReDim ClassIDInfo(1)
    blnClassIDInfo = True
    Dim j As Long
    Dim i As Long
    Dim X As Long
    Dim upBound As Long
    Dim lDate As Long
    lDate = Val(Mid(sDate, 1, 4)) * 600 + Val(Mid(sDate, 5, 2)) * 50 + Val(Mid(sDate, 7, 2))
    
    If blnSetClassInfo = True Then

        
    '    Dim iClassID As Long
    

        upBound = UBound(SetClassInfo)
        For i = 1 To upBound
        
            If SetClassInfo(i).CardID = Code Then
            
                
                
                If SetClassInfo(i).AddClass = True Then
                    If UBound(ClassIDInfo) = 1 Then
                         
                        If ClassIDInfo(UBound(ClassIDInfo)).ClassID = 0 Then
                            Call GetOnClassID(Code, sDate)
                        End If
    '                    ReDim Preserve ClassIDInfo(UBound(ClassIDInfo) + 1)
    '                    j = j + 1
                    End If
                   
                End If
                
                
            
                If lDate >= SetClassInfo(i).BeginDate And lDate <= SetClassInfo(i).EndDate Then
                
                    If ClassIDInfo(UBound(ClassIDInfo)).ClassID <> 0 Then ReDim Preserve ClassIDInfo(UBound(ClassIDInfo) + 1)
                    
                    If SetClassInfo(i).TimeMode = 0 Then
                    
                        ClassIDInfo(UBound(ClassIDInfo)).AddClass = SetClassInfo(i).AddClass
                        ClassIDInfo(UBound(ClassIDInfo)).ClassID = SetClassInfo(i).ClassID
                        
                    ElseIf SetClassInfo(i).TimeMode = 1 Then
                    
                        Dim dtm As Date
                        Dim iWeek As Integer
                        
                        dtm = CDate(Mid(sDate, 1, 4) & "-" & Mid(sDate, 5, 2) & "-" & Mid(sDate, 7, 2))
                        iWeek = Weekday(dtm)
                        
                        If iWeek = 1 Then iWeek = 7 Else iWeek = iWeek - 1
                               
                        If iWeek >= SetClassInfo(i).BeginTime And iWeek <= SetClassInfo(i).EndTime Then
                            ClassIDInfo(UBound(ClassIDInfo)).AddClass = SetClassInfo(i).AddClass
                            ClassIDInfo(UBound(ClassIDInfo)).ClassID = SetClassInfo(i).ClassID
                        End If
                    
                    ElseIf SetClassInfo(i).TimeMode = 2 Then
                    
                        Dim lDay As Long
                        lDay = Right(sDate, 2)
        
                        If (lDay >= SetClassInfo(i).BeginTime) And (lDay <= SetClassInfo(i).EndTime) Then
                            ClassIDInfo(UBound(ClassIDInfo)).AddClass = SetClassInfo(i).AddClass
                            ClassIDInfo(UBound(ClassIDInfo)).ClassID = SetClassInfo(i).ClassID
                        End If
                    
                    End If
                    
    '                ReDim Preserve ClassIDInfo(UBound(ClassIDInfo) + 1)
                End If
                
            End If
            
        Next
    
    End If
    
    If UBound(ClassIDInfo) = 1 Then
        If ClassIDInfo(1).ClassID = 0 Then
            Call GetOnClassID(Code, sDate)
'            ClassIDInfo(1).AddClass = False
'            ClassIDInfo(1).ClassID = GetClassID(Code)
        End If
    End If
     
End Function





'=================建立臨時班次,排序,并且獲得刷卡次數,===
Public Function GetClassCount() As Long
    Dim ClassIDCount As Long
    Dim ClassIDRow As Long
    
    Dim ClassCount As Long
    Dim ClassRow As Long
    g_GetTimeCount = 0
    g_AddClass = 0
    g_Memo = ""
    
    If blnClassIDInfo = False Then Exit Function
    ClassIDCount = UBound(ClassIDInfo)
    If blnClassInfo = False Then Exit Function
    ClassCount = UBound(ClassInfo)
    
    ReDim tmpClassInfo(1)
    blntmpClassInfo = True
    
    If ClassIDCount = 1 Then
        If ClassIDInfo(1).ClassID = 0 Then
            GetClassCount = 0
            Exit Function
        End If
    End If
    
    
    For ClassIDRow = 1 To ClassIDCount
        For ClassRow = 1 To ClassCount
            If ClassInfo(ClassRow).ClassID = ClassIDInfo(ClassIDRow).ClassID Then
                
                If tmpClassInfo(UBound(tmpClassInfo)).bTime <> 0 Then ReDim Preserve tmpClassInfo(UBound(tmpClassInfo) + 1)
                
                If ClassIDInfo(ClassIDRow).AddClass = True Then
                    g_AddClass = g_AddClass + 1
                End If
                
                tmpClassInfo(UBound(tmpClassInfo)).AddClass = ClassIDInfo(ClassIDRow).AddClass
                tmpClassInfo(UBound(tmpClassInfo)).ClassID = ClassIDInfo(ClassIDRow).ClassID
                tmpClassInfo(UBound(tmpClassInfo)).bTime = ClassInfo(ClassRow).InTime
                tmpClassInfo(UBound(tmpClassInfo)).eTime = ClassInfo(ClassRow).OutTime
                
'                ReDim Preserve tmpClassInfo(UBound(tmpClassInfo) + 1)
                
            End If
        Next
        
'        MsgBox ClassIDInfo(ClassIDRow).ClassID
    Next
    
    
    Dim tmpClassCount As Long
    Dim tmpClassIndex As Long
    Dim tmpClassNext As Long
    
    Dim tmpbtime As Long
    Dim tmpetime As Long
    Dim tmpClassID As Long
    Dim tmpbln As Boolean
    g_Memo = "加班:"
    
    If blntmpClassInfo = False Then Exit Function
    tmpClassCount = UBound(tmpClassInfo)
    
    For tmpClassIndex = 1 To tmpClassCount - 1
        For tmpClassNext = tmpClassIndex + 1 To tmpClassCount

            If tmpClassInfo(tmpClassIndex).bTime > tmpClassInfo(tmpClassNext).bTime Then
            


                tmpbln = tmpClassInfo(tmpClassIndex).AddClass
                tmpbtime = tmpClassInfo(tmpClassIndex).bTime
                tmpetime = tmpClassInfo(tmpClassIndex).eTime
                tmpClassID = tmpClassInfo(tmpClassIndex).ClassID
                
                tmpClassInfo(tmpClassIndex).AddClass = tmpClassInfo(tmpClassNext).AddClass
                tmpClassInfo(tmpClassIndex).bTime = tmpClassInfo(tmpClassNext).bTime
                tmpClassInfo(tmpClassIndex).eTime = tmpClassInfo(tmpClassNext).eTime
                tmpClassInfo(tmpClassIndex).ClassID = tmpClassInfo(tmpClassNext).ClassID
                
                tmpClassInfo(tmpClassNext).ClassID = tmpClassID
                tmpClassInfo(tmpClassNext).AddClass = tmpbln
                tmpClassInfo(tmpClassNext).bTime = tmpbtime
                tmpClassInfo(tmpClassNext).eTime = tmpetime

            End If

        Next
    Next
    
    For tmpClassIndex = 1 To tmpClassCount
        
        If tmpClassIndex + 1 <= tmpClassCount Then
            If tmpClassInfo(tmpClassIndex + 1).bTime <= tmpClassInfo(tmpClassIndex).eTime Then
                g_Memo = "時間段設置有沖突!"
                GetClassCount = -1
                Exit Function
            End If
        End If
        
        If tmpClassInfo(tmpClassIndex).AddClass = True Then
            g_Memo = g_Memo & "時間段" & tmpClassIndex & ","
        End If
    Next
    
    If g_Memo = "加班:" Then g_Memo = "" Else g_Memo = Left(g_Memo, Len(g_Memo) - 1)
    
    
    g_GetTimeCount = tmpClassCount
    GetClassCount = (tmpClassCount) * 2

End Function

'===========利用時間,得到應當插入的位置
Public Function GetTimePos(ByVal Time As String) As Long
    

    Dim MidTime As Integer
    Dim iTime  As Integer
    iTime = Val(Mid(Time, 1, 2)) * 60 + Val(Mid(Time, 3, 4))

    Dim i As Integer
    Dim j As Integer
    Dim X As Integer
    Dim tmpClassCount As Integer
    
    
    If blntmpClassInfo = False Then Exit Function
    tmpClassCount = UBound(tmpClassInfo)
    For i = 1 To tmpClassCount
    
'        If tmpClassInfo(i).AddClass = True Then
'            g_Memo = g_Memo & "時間段" & i & ","
'        End If
        If tmpClassInfo(i).bTime <= tmpClassInfo(i - 1).eTime Then
            GetTimePos = -1
            Exit Function
        End If
    

        If X <> 0 Then
            j = j + 1
            MidTime = (tmpClassInfo(i).bTime - tmpClassInfo(X).eTime) / 2 + tmpClassInfo(X).eTime
            X = 0
        End If

        If iTime < MidTime Then
            GetTimePos = j
            Exit Function
        End If

        If X = 0 Then
            j = j + 1

            MidTime = (tmpClassInfo(i).eTime - tmpClassInfo(i).bTime) / 2 + tmpClassInfo(i).bTime
            X = i
        End If

        If iTime < MidTime Then
            GetTimePos = j
            Exit Function
        End If

    Next

    GetTimePos = (tmpClassCount) * 2

End Function

' ==========判斷是否遲到或曠工========正常返回0,遲到早退返回1,曠工返回2
Public Function GetTimeState(ByVal Time As String, ByVal TimePos As Long, ByVal Late As Long, ByVal Absent As Long) As Integer
    
    
    If blntmpClassInfo = False Then Exit Function
    
    Dim iTime  As Integer
    iTime = Val(Mid(Time, 1, 2)) * 60 + Val(Mid(Time, 3, 4))

    Dim upBound As Long
    upBound = UBound(tmpClassInfo)

    Dim i As Integer
    Dim j As Integer
    Dim iTimePos As Integer
    g_LateTime = 0
    For i = 1 To upBound

        j = j + 1

        If TimePos Mod 2 = 1 Then
            iTimePos = (TimePos + 1) / 2
            If j = iTimePos Then
                g_LateTime = iTime - tmpClassInfo(i).bTime

                If (tmpClassInfo(i).bTime + Absent) < (iTime) Then
                    GetTimeState = 2
                    Exit Function
                End If

                If (tmpClassInfo(i).bTime + Late) < (iTime) Then
                    GetTimeState = 1
                    Exit Function
                End If

            End If
        End If

        If TimePos Mod 2 = 0 Then
            iTimePos = TimePos / 2
            If j = iTimePos Then
                g_LateTime = iTime - tmpClassInfo(i).eTime

                If (tmpClassInfo(i).eTime - Absent) > (iTime) Then
                    GetTimeState = 2
                    Exit Function
                End If

                If (tmpClassInfo(i).eTime - Late) > (iTime) Then
                    GetTimeState = 1
                    Exit Function
                End If

            End If
        End If

    Next
    GetTimeState = 0
    
End Function


'========用班次編號得出班次名稱
Public Function GetClassName(ByVal ClassID As Long) As String
    If blnClassInfo = False Then Exit Function
    Dim upBound As Long
    upBound = UBound(ClassInfo)
    
    Dim i As Integer
    For i = 1 To upBound
        If ClassInfo(i).ClassID = ClassID Then
            GetClassName = ClassInfo(i).ClassName
            Exit Function
        End If
    Next
    
    GetClassName = ""
    
End Function

'========用員工編號得出員工名稱
Public Function GetEmployeeName(ByVal Code As String) As String
    If blnEmployeeInfo = False Then Exit Function
    Dim upBound As Long
    upBound = UBound(EmployeeInfo)
    
    Dim i As Integer
    For i = 1 To upBound
        If EmployeeInfo(i).CardID = Code Then
            GetEmployeeName = EmployeeInfo(i).EmployeeName
            Exit Function
        End If
    Next
    
    GetEmployeeName = ""
    
End Function

'=============用日期,員工號,得出第一條時間
Public Function FindFristTime(ByVal InDate As String, ByVal InCode As String) As Integer
    If blnInDataInfo = False Then Exit Function
    Dim upBound As Long
    upBound = UBound(InDataInfo)
    
    Dim i As Integer
    For i = 1 To upBound
        If InDataInfo(i).InDate = InDate And InDataInfo(i).InCode = InCode Then
            FindFristTime = i
            Exit Function
        End If
    Next
    
    FindFristTime = 0
    
End Function

'========用員工編號得出相應排班下一條信息
Public Function FindNextTime(ByVal InDate As String, ByVal InCode As String, ByVal Index As Integer) As Integer
    If blnInDataInfo = False Then Exit Function
    Dim upBound As Long
    upBound = UBound(InDataInfo)
    
    Dim i As Integer
    For i = Index + 1 To upBound
        If InDataInfo(i).InDate = InDate And InDataInfo(i).InCode = InCode Then
            FindNextTime = i
            Exit Function
        End If
    Next
    
    FindNextTime = 0

End Function


'=========用員工編號得出默認班次
Public Function GetClassID(ByVal Code As String) As Long
    If blnEmployeeInfo = False Then Exit Function
    Dim upBound As Long
    upBound = UBound(EmployeeInfo)
    
    Dim i As Integer
    For i = 1 To upBound
        If EmployeeInfo(i).CardID = Code Then
            GetClassID = EmployeeInfo(i).OnClassID
            Exit Function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品美女久久久久久久| 亚洲自拍偷拍欧美| 亚洲精品高清在线观看| 老汉av免费一区二区三区| a美女胸又www黄视频久久| 日韩丝袜情趣美女图片| 亚洲精品免费一二三区| 国产一区二区三区久久久| 欧美无砖砖区免费| 中文字幕日韩av资源站| 激情伊人五月天久久综合| 欧美日本在线观看| 亚洲精品成人精品456| 国产91高潮流白浆在线麻豆| 欧美一区午夜精品| 亚洲综合在线免费观看| gogo大胆日本视频一区| 久久久美女艺术照精彩视频福利播放| 午夜不卡在线视频| 97精品久久久午夜一区二区三区 | 欧美视频你懂的| 国产精品国产三级国产专播品爱网 | 亚洲视频图片小说| 国产91丝袜在线播放九色| 日韩欧美精品在线| 免费一级欧美片在线观看| 欧美专区在线观看一区| 亚洲男人的天堂在线aⅴ视频| 成人一二三区视频| 欧美国产日韩在线观看| 国产白丝网站精品污在线入口| 日韩亚洲电影在线| 日韩不卡一二三区| 欧美精品久久天天躁| 亚洲午夜三级在线| 在线观看成人小视频| 亚洲资源中文字幕| 欧美人动与zoxxxx乱| 亚洲成人免费视频| 欧美性高清videossexo| 视频一区国产视频| 日韩三级伦理片妻子的秘密按摩| 蜜桃av一区二区三区电影| 日韩一级片网址| 国内精品写真在线观看| 久久网站最新地址| 成人黄色av电影| 一区二区三区在线免费视频| 欧美优质美女网站| 日韩不卡一区二区三区| 精品av久久707| 国产成人综合网站| 亚洲区小说区图片区qvod| 色狠狠av一区二区三区| 日日夜夜精品视频免费| 欧美不卡在线视频| 不卡区在线中文字幕| 亚洲在线观看免费| 日韩免费观看高清完整版| 国产精品综合在线视频| 亚洲精品亚洲人成人网在线播放| 欧美性色黄大片手机版| 精品一区二区av| 17c精品麻豆一区二区免费| 777欧美精品| 粉嫩av一区二区三区在线播放| **欧美大码日韩| 日韩一二三四区| 99久久99久久精品国产片果冻| 亚洲成人av一区二区| 日韩欧美国产麻豆| 91免费版在线看| 精品系列免费在线观看| 一区二区三区**美女毛片| 精品欧美一区二区久久| 色偷偷久久人人79超碰人人澡| 一本一道久久a久久精品综合蜜臀| 亚洲国产综合人成综合网站| 精品久久久久久亚洲综合网 | 国产日韩欧美制服另类| 欧美丝袜丝nylons| 国产精品一区二区在线看| 亚洲一区二区精品3399| 欧美激情一区在线| 欧美一级黄色录像| 色视频一区二区| 国产成人午夜视频| 91女厕偷拍女厕偷拍高清| 久久精品国产久精国产爱| 亚洲欧洲日韩av| 精品国产伦一区二区三区观看方式| 色成年激情久久综合| 国产一区二区三区四区五区入口| 亚洲二区在线视频| 中文字幕在线不卡| 国产日韩精品久久久| 日韩欧美中文字幕公布| 欧美日韩国产小视频在线观看| 99久久久久免费精品国产 | 久久这里只有精品6| 欧美午夜一区二区三区| 成人黄色小视频| 丰满少妇在线播放bd日韩电影| 奇米888四色在线精品| 亚洲成在人线在线播放| 日韩毛片高清在线播放| 国产午夜精品久久久久久久 | 国产精品资源网| 日韩电影免费一区| 日韩成人精品在线观看| 日韩av一区二| 视频一区在线视频| 亚洲国产另类精品专区| 亚洲一区中文在线| 亚洲午夜一二三区视频| 亚洲五月六月丁香激情| 亚洲色图视频网| 国产精品不卡视频| 成人欧美一区二区三区黑人麻豆| 欧美激情在线一区二区三区| 国产欧美一区二区精品性色| 国产日本亚洲高清| 国产精品丝袜91| 亚洲色图20p| 亚洲香肠在线观看| 午夜欧美在线一二页| 午夜精品福利一区二区蜜股av | 自拍视频在线观看一区二区| 国产精品久久久久久久午夜片| 亚洲欧洲日韩av| 亚洲第一会所有码转帖| 日韩av中文字幕一区二区三区| 极品美女销魂一区二区三区| 国产一区二区三区四区五区入口 | 久久99精品国产91久久来源| 精品一区二区三区免费| 国产91在线观看丝袜| 色婷婷综合五月| 欧美日韩大陆一区二区| 欧美成人性战久久| 欧美韩国一区二区| 一级精品视频在线观看宜春院| 亚洲成a人v欧美综合天堂| 理论片日本一区| av一区二区三区四区| 欧美三级视频在线播放| 日韩欧美色电影| 亚洲国产精品二十页| 亚洲自拍另类综合| 九九久久精品视频| 色综合天天综合给合国产| 欧美日韩视频第一区| 精品盗摄一区二区三区| 自拍偷拍国产精品| 精品写真视频在线观看| 色婷婷亚洲一区二区三区| 777精品伊人久久久久大香线蕉| 精品国产在天天线2019| 亚洲欧美激情小说另类| 美国三级日本三级久久99| 91香蕉视频黄| 精品久久一区二区三区| 亚洲一区二区视频在线| 国产成人av一区二区| 欧美视频自拍偷拍| 国产精品色噜噜| 日本女优在线视频一区二区| 成人午夜在线免费| 日韩欧美国产系列| 亚洲国产婷婷综合在线精品| 成人动漫av在线| 日韩久久免费av| 有码一区二区三区| 国产精品1024久久| 日韩欧美中文字幕公布| 玉米视频成人免费看| 成人av免费在线| 久久精品人人做| 理论电影国产精品| 欧美精品欧美精品系列| 亚洲激情图片一区| 91一区二区在线| 久久久噜噜噜久久中文字幕色伊伊 | 国产一区二区精品久久91| 欧美日韩一区二区在线观看视频 | 亚洲成人在线观看视频| 99久久er热在这里只有精品15| 久久久久国产一区二区三区四区| 亚洲成人777| 欧美综合天天夜夜久久| 亚洲视频一区二区在线观看| 国产成人精品免费| 欧美激情在线免费观看| 国产成人精品亚洲日本在线桃色| 欧美大片在线观看一区二区| 开心九九激情九九欧美日韩精美视频电影 | 欧美性色综合网| 亚洲一区成人在线| 欧美熟乱第一页| 日韩激情一二三区|