public SmartworkBpmsProcessinstanceListResponse Get(string process_code, long start_time, long end_time, long size, long cursor, string userid_list) { IDingTalkClient client = new DefaultDingTalkClient("https://eco.taobao.com/router/rest"); SmartworkBpmsProcessinstanceListRequest req = new SmartworkBpmsProcessinstanceListRequest(); req.ProcessCode = process_code; req.StartTime = start_time; req.EndTime = end_time; req.Size = size; req.Cursor = cursor; req.UseridList = userid_list; SmartworkBpmsProcessinstanceListResponse rsp = client.Execute(req, RequestHelper.GetAccessToken()); if (!rsp.Result.Success) { throw new ApiException(ApiCodeEnum.Error, rsp.Result.ErrorMsg); } return(rsp); }
//获取审批数据 public static void GetProcessInstanceList(string processCode, DateTime startTime, DateTime endTime, int cursor, int size, string corpid, string corpsecret) { try { GetToken(corpid, corpsecret); DateTime dt = new DateTime(1970, 1, 1, 8, 0, 0); TimeSpan startTimespan = startTime - dt; TimeSpan endTimespan = endTime - dt; IDingTalkClient client = new DefaultDingTalkClient(ProcessInstanceURI, Constants.FORMAT_JSON); SmartworkBpmsProcessinstanceListRequest request = new SmartworkBpmsProcessinstanceListRequest { ProcessCode = processCode, StartTime = (long)startTimespan.TotalMilliseconds, EndTime = (long)endTimespan.TotalMilliseconds, Cursor = cursor, Size = size }; SmartworkBpmsProcessinstanceListResponse response = client.Execute(request, _Token); string content = response.Body; byte[] outBlock = Encoding.UTF8.GetBytes(content); using (FileStream fs = new FileStream(GetDataPath(string.Format(@"ProcessInstance{0}.json", DateTime.Now.ToString("yyyyMMddHHmmssfff"))), FileMode.Create)) { fs.Write(outBlock, 0, outBlock.Length); } } catch (Exception ex) { using (FileStream fs = new FileStream(Path.Combine(ErrorFloder, "error.log"), FileMode.Append)) { Message msg = new Message(ex.Message); fs.Write(msg.bMsg, 0, msg.Length); } } }