Foxtable(狐表)用户栏目专家坐堂 → [求助] 计划管理 交叉执行


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

主题:[求助] 计划管理 交叉执行

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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助] 计划管理 交叉执行  发帖心情 Post By:2020/10/19 9:45:00 [只看该作者]

老师,我的计划管理有两个计划,一个是下企业微信打卡数据,一个是下载审批数据,连接到单位数据库没问题,连接到阿里云服务器上数据库后
下载打卡数据时通过msgbox 显示是审批数据,是不是我的注册码有问题?谢谢!


Dim st As New Date(1970,1,1,8,0,0)
Dim t1 As Integer = CInt((Date.Today.AddDays(-7)  - st).TotalSeconds()) '时间戳开始时间
Dim t2 As Integer = CInt((Date.Now - st).TotalSeconds()) '时间戳结束时间
Dim ur As String = "https://qyapi.weixin.qq.com/cgi-bin/checkin/getcheckindata?access_token={0}"
Dim hc As New HttpClient(CExp(ur,Functions.Execute("打卡GetQYAccessToken"),1))
Dim jo As New JObject
jo("opencheckindatatype") = 3 ' 是 打卡类型.1:上下班打卡;2:外出打卡;3:全部打卡
jo("starttime") = t1
jo("endtime") = t2

Dim ja As New Jarray '定义数组
Dim dds As List(of DataRow) = DataTables("Users").Select("userid is not null")
For Each dd As DataRow In dds
    ja.Add(CStr(dd("userid")))
Next
jo("useridlist") =ja
hc.Content = jo.Tostring()
jo = JObject.Parse(hc.GetData)

If jo("checkindata") IsNot Nothing Then
    ja = jo("checkindata")
msgbox(jo("checkindata"))
    For i As Integer = 0 To ja.Count - 1

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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2020/10/19 10:37:00 [只看该作者]

你的执行条件是:
If jo("checkindata") IsNot Nothing Then

既然既然执行了,说明jo的checkindata有数据

jo的数据来自:
jo = JObject.Parse(hc.GetData)

hc提交的内容来自:
hc.Content = jo.Tostring()

jo的数据来自:
jo("useridlist") =ja

ja的数据来自数据表:
Dim ja As New Jarray '定义数组
Dim dds As List(of DataRow) = DataTables("Users").Select("userid is not null")
For Each dd As DataRow In dds
    ja.Add(CStr(dd("userid")))
Next

说明你的结果和数据标的内容有关系,阿里云的数据和你公司的数据不一样而已,所以一点不奇怪啊。

自己设计的东西,其中的逻辑关系自己最清楚啊。

比较一下两次合成的ja有啥不同:
Messagebox.show(ja.Tostring)


[此贴子已经被作者于2020/10/19 10:38:03编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2020/10/19 10:55:00 [只看该作者]

老师,是有数据,但是显示是审批的数据,我只是两个数据库的位置不同而已啊,一个在本地,一个是阿里云的云服务器,都是在我的同一台电脑上运行的,获取数据的条件和环境是一样的啊。

[此贴子已经被作者于2020/10/19 10:57:54编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1093 积分:6682 威望:0 精华:0 注册:2013/7/1 9:05:00
  发帖心情 Post By:2020/10/19 11:22:00 [只看该作者]

2楼回复足够清楚了。

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


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

这样测试,看返回什么数据

……
Dim ja As New Jarray '定义数组
Dim dds As List(of DataRow) = DataTables("Users").Select("userid is not null")
For Each dd As DataRow In dds
    ja.Add(CStr(dd("userid")))
Next
jo("useridlist") =ja
hc.Content = jo.Tostring()
dim res as string = hc.GetData
msgbox("checkindata = " & res)
jo = JObject.Parse(res)

If jo("checkindata") IsNot Nothing Then
msgbox("checkindata = " & jo("checkindata"))

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


加好友 发短信
等级:七尾狐 帖子:1636 积分:14489 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2020/10/20 7:53:00 [只看该作者]

谢谢蓝老师,出现了 301023 的错误码,微信后台不允许一次提交超过100人数据下载。现在可以正常下载打卡数据了。

 回到顶部