Foxtable(狐表)用户栏目专家坐堂 → [求助]现在只能请全天,希望能细分请假每个班次。谢谢


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

主题:[求助]现在只能请全天,希望能细分请假每个班次。谢谢

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


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

If e.Col.name = "员工" Then '如果选择的主表是订单表
    If e.Row.Isnull("日期") Then
        e.Col.Combolist = DataTables("员工情况").GetComboListString("姓名")
    Else
        Dim str As String
        Dim str2 As String
        If e.Row("时段") = Nothing Then
            str2 = e.Table.DataTable.GetComboListString("员工", "日期 = '" & e.Row("日期") & "' and _Identify <> " & e.Row("_Identify"))
            str = DataTables("员工情况").GetComboListString("请假人", "请假日期 = '" & e.Row("日期") & "'")
        Else
            str2 = e.Table.DataTable.GetComboListString("员工", "日期 = '" & e.Row("日期") & "' and (时段 = '" & e.Row("时段") & "' or 时段 = '全天' or 时段 is null) And _Identify <> " & e.Row("_Identify"))
            str = DataTables("员工情况").GetComboListString("请假人", "请假日期 = '" & e.Row("日期") & "' and (',' + 时段 + ',' like '%," & e.Row("时段") & ",%' or 时段 like '%全天%')")
        End If
        e.Col.Combolist = DataTables("员工情况").GetComboListString("姓名", "姓名 not in ('" & str.replace("|", "','") & "', '" & str2.replace(",", "','").replace("|", "','") & "') ")
    End If
End If

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/7/18 10:50:00 [只看该作者]

感谢!非常感谢!老师的帮助。




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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/7/18 10:54:00 [只看该作者]

If e.Col.name = "员工" Then '如果选择的主表是订单表
    If e.Row.Isnull("日期") Then
        e.Col.Combolist = DataTables("员工情况").GetComboListString("姓名")
    Else
        Dim str As String
        Dim str2 As String
        If e.Row("时段") = Nothing Then
            str2 = e.Table.DataTable.GetComboListString("员工", "日期 = '" & e.Row("日期") & "' and _Identify <> " & e.Row("_Identify"))
            str = DataTables("员工情况").GetComboListString("请假人", "请假日期 = '" & e.Row("日期") & "'")
        Else
            str2 = e.Table.DataTable.GetComboListString("员工", "日期 = '" & e.Row("日期") & "' and (时段 = '" & e.Row("时段") & "' or 时段 = '全天' or 时段 is null) And _Identify <> " & e.Row("_Identify"))
            str = DataTables("员工情况").GetComboListString("请假人", "请假日期 = '" & e.Row("日期") & "' and (',' + 时段 + ',' like '%," & e.Row("时段") & ",%' or 时段 like '%全天%')")
        End If
        e.Col.Combolist = DataTables("员工情况").GetComboListString("姓名", "姓名 not in ('" & str.replace("|", "','") & "', '" & str2.replace(",", "','").replace("|", "','") & "') ")
    End If
End If


这段代码基本实现我想要的。   

最后还有点问题:  全天选了后,上午下午晚上这三个班次不能选了,但张三选了上午的时段,全天能还是能选张三。希望 :、选了上午、下午、晚上其中任意一个班次,全天里张三也不能选。
谢谢!
[此贴子已经被作者于2018/7/18 10:56:22编辑过]

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


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

If e.Row("时段") = Nothing Then

 

改成

 

If e.Row("时段") = Nothing orElse e.Row("时段") = "全天" Then


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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2023/7/24 13:49:00 [只看该作者]

If e.Col.name = "工号" Then '如果选择的主表是订单表
    If e.Row.Isnull("截止日期") Then
        e.Col.Combolist = DataTables("招聘信息").GetComboListString("招聘姓名")
    Else
        Dim str As String
        Dim str2 As String
        If e.Row("时段") = Nothing OrElse e.Row("时段") = "全天" Then
            str2 = e.Table.DataTable.GetComboListString("工号", "截止日期 = '" & e.Row("截止日期") & "' and _Identify <> " & e.Row("_Identify"))
            str = DataTables("请假").GetComboListString("请假人", "请假日期 = '" & e.Row("截止日期") & "'")
        Else
            str2 = e.Table.DataTable.GetComboListString("工号", "截止日期 = '" & e.Row("截止日期") & "' and (时段 = '" & e.Row("时段") & "' or 时段 = '全天' or 时段 is null) And _Identify <> " & e.Row("_Identify"))
            str = DataTables("请假").GetComboListString("请假人", "请假日期 = '" & e.Row("截止日期") & "' and (',' + 时段 + ',' like '%," & e.Row("时段") & ",%' or 时段 like '%全天%')")
        End If
        e.Col.Combolist = DataTables("招聘信息").GetComboListString("招聘姓名", "招聘姓名 not in ('" & str.replace("|", "','") & "', '" & str2.replace(",", "','").replace("|", "','") & "') ")
    End If
End If


老师:这段代码在加载出来截止日期的订单时可以生效的。如果没有加载出来订单,在新增订单上,”工号“还是会显示已派单的人员。
   希望实现  动态表  ,只是新增加一行。在没有加载全“截止日期”的情况下,只显示,后台判断还没有请假或没有安排的人员。谢谢!
[此贴子已经被作者于2023/7/24 13:49:38编辑过]

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


加好友 发短信
等级:超级版主 帖子:105932 积分:538729 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/7/24 13:58:00 [只看该作者]


 回到顶部
总数 26 上一页 1 2 3