Foxtable(狐表)用户栏目专家坐堂 → 请假


  共有3182人关注过本帖树形打印复制链接

主题:请假

帅哥哟,离线,有人找我吗?
Liangcai
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2014/3/10 20:29:00 [只看该作者]

If e.DataRow.IsNull("开始日期") And  e.DataRow.IsNull("结束日期") Then
    e.DataRow("请假天数")=Nothing
Else
    Dim d1 As Date = e.DataRow("开始日期")
    Dim d2 As Date = e.DataRow("结束日期")
    If d1>d2
        e.DataRow("请假天数") = 0
    Else
        Dim cnt As Integer = (d2-d1).TotalDays
        For i As Integer = 1 To cnt
            Dim d3 As Date = d1.adddays(i)
            If d3.DayOfWeek = 0 OrElse d3.DayOfWeek = 6 Then '

                cnt = cnt - 1
            End If
         End If
        Next
       e.DataRow("请假天数") = cnt
    End If
End If

法定节假日,节假日调休 不知怎样写进去


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/3/10 20:31:00 [只看该作者]

计算请假天数还是有难度的,我帮楼主写一下:

 

 

If e.DataCol.name="请假天数" Then
    If e.DataRow.IsNull("开始日期") = False AndAlso e.DataRow.IsNull("请假天数")=False Then
        Dim i As Integer=1
        Dim d As Date=e.DataRow("开始日期")
        Do While i<e.DataRow("请假天数")
            d=d.adddays(1)
            If DataTables("法定假期").Find("日期=#" & d & "#") Is Nothing Then
                If DataTables("节假日调休").Find("日期=#" & d & "#") Is Nothing Then
                    If d.DayOfWeek  <> 0 AndAlso d.DayOfWeek <> 6 Then
                        i=i+1
                    End If
                End If
            End If
        Loop
        e.DataRow("结束日期") = d
    End If
ElseIf e.DataCol.name = "结束日期" Then
    If e.DataRow.IsNull("开始日期") = False AndAlso e.DataRow.IsNull("结束日期")=False Then
        Dim cnt As Integer = (e.DataRow("结束日期") - e.DataRow("开始日期")).Totaldays
        Dim dys As Integer = 0
        For i As Integer = 0 To cnt
            Dim d As Date= e.DataRow("开始日期").Adddays(i)
            If DataTables("法定假期").Find("日期=#" & d & "#") Is Nothing Then
                If DataTables("节假日调休").Find("日期=#" & d & "#") Is Nothing Then
                    If d.DayOfWeek  <> 0 AndAlso d.DayOfWeek <> 6 Then
                        dys=dys+1
                    End If
                End If
            End If
        Next
        e.DataRow("请假天数") = dys
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
Liangcai
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:300 积分:2541 威望:0 精华:0 注册:2011/9/24 13:30:00
  发帖心情 Post By:2014/3/10 20:58:00 [只看该作者]

谢谢甜老师

 


 回到顶部
总数 13 上一页 1 2