Foxtable(狐表)用户栏目专家坐堂 → [求助]关于按钮调用启动扫码


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

主题:[求助]关于按钮调用启动扫码

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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/9/17 18:55:00 [只看该作者]

谢谢蓝老师,我现在只有一台硬件,我看看能不能申请一台硬件,快递过去帮完善测试看看
(现在手动按键也能用,只是效率没那么高)
谢谢老师!

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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/9/18 18:36:00 [只看该作者]

谢谢蓝老师,平板集成扫描头窗口按钮启动扫描录入已经结合第三方硬件技术员一起实现了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小时数计算.foxdb



另外有一个关于时间周期计算的需求(有多个地方用到),现在已基本实现粗犷式天数计算,实际需要更细的统计需求,现上传附件,请老师帮看看完善一下,谢谢!

1.周期天数需要显示1位精度小数(比如:48.2)(每天出勤按11小时,08:00---12:00 ; 13:30---15:30 ; 16:30--21:30 为初步标准算,其它间隔时间要减掉)

2.实际天数需要显示1位精度小数(比如:41.2)(每天出勤按11小时,08:00---12:00 ; 13:30---15:30 ; 16:30--21:30 为初步标准算,其它间隔时间要减掉)

3.实际小时数要显示1位精度小数 (每天出勤按11小时,08:00---12:00 ; 13:30---15:30 ; 16:30--21:30 为初步标准算,其它间隔时间要减掉)

4.录入启动时间及重置启动时间和完成时间报错

图片点击可在新窗口打开查看此主题相关图片如下:提示.jpg
图片点击可在新窗口打开查看


请老师帮看看完善一下,怎么实现细化统计,谢谢!


谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110334 积分:561518 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/9/19 14:45:00 [只看该作者]

周期天数和实际天数有啥区别?

Select Case e.DataCol.Name
    Case "启动时间","完成时间"
        Dim dr10 As DataRow = e.DataRow
        If dr10.IsNull("启动时间") OrElse dr10.IsNull("完成时间") Then
            dr10("周期天数")= Nothing
            dr10("实际天数")= Nothing
            dr10("实际小时数")= Nothing
            dr10("其中星期天天数")= Nothing
        Else
            Dim t11 As String = "08:00"
            Dim t12 As String = "12:00"
            
            Dim t21 As String = "13:30"
            Dim t22 As String = "15:30"
            
            Dim t31 As String = "16:30"
            Dim t32 As String = "21:30"
            
            Dim h As Double = 0
            Dim d3 As Date = dr10("启动时间")
            Dim d4 As Date = dr10("完成时间")
            
            Dim d1 As Date = d3.Date
            Dim d2 As Date = d4.Date
            
Dim cnt As Integer
Do While d1 < d2
    h += 11
    d1 = d1.AddDays(1)

    If d1.DayOfWeek = 0 Then cnt +=1
Loop
            Output.Show(h)
            d1 = d3.Date
            d2 = d4.Date
            
            If d3 > d1 Then
                Dim t1 As String = Format(d3,"HH:mm")
                If t1 >= t11 Then
                    If t1 >= t11 AndAlso t1 <= t12 Then
                        Dim tp As TimeSpan = d3 - d1.AddHours(8)
                        h -= tp.TotalHours
                    ElseIf t1 >= t21 AndAlso t1 <= t22 Then
                        Dim tp As TimeSpan = d3 - d1.AddHours(13).AddMinutes(30)
                        h -= (tp.TotalHours + 4)
                    ElseIf t1 >= t31 AndAlso t1 <= t32 Then
                        Dim tp As TimeSpan = d3 - d1.AddHours(16).AddMinutes(30)
                        h -= (tp.TotalHours + 6)
                    ElseIf t1 > t12 AndAlso t1 < t21 Then
                        h -= 4
                    ElseIf t1 > t22 AndAlso t1 < t31 Then
                        h -= 6
                    Else
                        h-= 11
                    End If
                End If
            End If
            Output.Show(h)
            
            If d4 > d2 Then
                Dim t1 As String = Format(d4,"HH:mm")
                Output.Show(t1)
                If t1 >= t11 Then
                    If t1 >= t11 AndAlso t1 <= t12 Then
                        Dim tp As TimeSpan = d4 - d2.AddHours(8)
                        h += tp.TotalHours
                    ElseIf t1 >= t21 AndAlso t1 <= t22 Then
                        Dim tp As TimeSpan = d4 - d2.AddHours(13).AddMinutes(30)
                        h += (tp.TotalHours + 4)
                    ElseIf t1 >= t31 AndAlso t1 <= t32 Then
                        Dim tp As TimeSpan = d4 - d2.AddHours(16).AddMinutes(30)
                        h += (tp.TotalHours + 6)
                    ElseIf t1 > t12 AndAlso t1 < t21 Then
                        h += 4
                    ElseIf t1 > t22 AndAlso t1 < t31 Then
                        h += 6
                    Else
                        h += 11
                    End If
                End If
            End If
            Output.Show(h)
            dr10("实际小时数") = Round2(h,1)
            dr10("实际天数") = Round2(h/11,1)
            
            dr10("周期天数") = Round2((d4-d3).TotalDays,1)
            dr10("其中星期天天数")= cnt
        End If
End Select


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


加好友 发短信
等级:二尾狐 帖子:550 积分:5021 威望:0 精华:0 注册:2017/4/20 11:08:00
  发帖心情 Post By:2019/9/20 10:09:00 [只看该作者]

谢谢蓝老师,时段统计方法移植可用。
(周期天数和实际天数有啥区别?是指在实际内部操作时,有不同定义,一般情况下:周期天数是指的开始到结束的总跨度天数,实际天数是指要减去正常的周末休息+减去特殊未出勤时间)

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