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


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

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

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/7/17 17:48:00 [显示全部帖子]

一个时段,的班次,李四如果选了,同一个班次下拉窗口就不出现李四的名字怎么改呢?

图片点击可在新窗口打开查看此主题相关图片如下:557.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/7/17 17:48:53编辑过]

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/7/17 19:49:00 [显示全部帖子]

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


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



红色代码只能请全天的假,                      但不能分班次的请假。
蓝色代码可以实现每日几个班次的请假。         但不可以实现当日上午张三被选中后,当日上午的其他派单行下拉里没有,张三。


希望实现:1、每个班次请假可以分开请假。(如、全天,或只请上午,下午)
              2、如:上午这个班次有3个订单,张三被选后,其他其他2个派单,工号里没有张三。
           这两个代码可以合成一个吗?
我笨,如果表述不清楚,我可以做个例子。感谢老师帮助。


[此贴子已经被作者于2018/7/17 20:35:24编辑过]

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


加好友 发短信
等级:二尾狐 帖子:500 积分:5397 威望:0 精华:0 注册:2009/2/5 13:09:00
  发帖心情 Post By:2018/7/17 21:51:00 [显示全部帖子]


再次感谢!

只选全天,不生效。要把其他三个班次都选了才行。   选全天,应该相当于,选了其他班次。还是有问题?

[此贴子已经被作者于2018/7/17 21:51:32编辑过]

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


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

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




 回到顶部
帅哥哟,离线,有人找我吗?
manyifuwu
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
manyifuwu
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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