Foxtable(狐表)用户栏目专家坐堂 → [求助] 自动扣除时间计算


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

主题:[求助] 自动扣除时间计算

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


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

 添加两行啊。

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 15:01:00 [只看该作者]

刚刚试了不行,我再试试啊

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


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

 呃,不可能不行。我测试都可以。

 

20:30-23:59

 

00:00-08:00


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 16:03:00 [只看该作者]

啊,原来是把生产的开始时间和结束时间分2段输入啊


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


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

以下是引用wangyinming在2015-2-5 16:03:00的发言:
啊,原来是把生产的开始时间和结束时间分2段输入啊

 

把休息时间分两段


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 16:18:00 [只看该作者]

还是不对啊,您看看哪里错了,我添加的休息时间段如下:
开始时间  结束时间
00:00    01:00(不会扣除)
05:30    06:30(同天会扣除)
12:00    13:00
17:30    18:30

生产时间输入
20:30  ~  08:00    12小时
不会扣除




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


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

Select Case e.DataCol.name
    Case "生产开始时间","生产结束时间"
        Dim dr3 As DataRow = e.DataRow
        If dr3.IsNull("生产开始时间") Or dr3.IsNull("生产结束时间") Then
            dr3("开动时间") = Nothing
        Else
            Dim d1 As Date = dr3("生产结束时间")
            Dim d2 As Date = dr3("生产开始时间")
            Dim tp1, tp2 As TimeSpan
            If d1 < d2 Then
                d1 = d1.AddDays(1)
            End If
            Dim time As Double
            tp1 = d1 - d2
            time = tp1.TotalSeconds
            For Each dr As DataRow In DataTables("休息表").Select("")
                Dim d3 As Date = dr("开始时间")
                Dim d4 As Date = dr("结束时间")
                Dim d1s, d1e As Date
                If d4 > d2 Then
                    d1s = new Date(d2.Year, d2.Month, d2.day, d3.Hour, d3.Minute, 0)
                    d1e = new Date(d2.Year, d2.Month, d2.day, d4.Hour, d4.Minute, 0)
                Else
                    d1s = new Date(d1.Year, d1.Month, d1.day, d3.Hour, d3.Minute, 0)
                    d1e = new Date(d1.Year, d1.Month, d1.day, d4.Hour, d4.Minute, 0)
                End If
                If d1 > d1e Then
                    If d2 < d1e AndAlso d2 >= d1s Then
                        tp2 = d1e - d2
                        time = time - tp2.TotalSeconds
                    Else If d2 < d1s Then
                        tp2 = d1e - d1s
                        time = time - tp2.TotalSeconds
                    End If
                Else If d1 > d1s Then
                    If d2 < d1s Then
                        tp2 = d1 - d1s
                        time = time - tp2.TotalSeconds
                    Else
                        time = 0
                    End If
                End If
               
            Next
            dr3("开动时间") = time/60/60
           
        End If
End Select

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 17:21:00 [只看该作者]

谢谢甜老师~~~~

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