public void AddForm(FormComponentValue form) { if (FormComponentValues == null) { FormComponentValues = new List <FormComponentValue>(); } FormComponentValues.Add(form); }
/// <summary> /// 获取单个审批实例 /// </summary> /// <param name="accessToken">accessToken</param> /// <param name="process_instance_id">审批实例id</param> /// <returns></returns> public static Processinstance GetListIds(string accessToken, string process_instance_id) { try { DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/get"); OapiProcessinstanceGetRequest request = new OapiProcessinstanceGetRequest(); request.ProcessInstanceId = process_instance_id; OapiProcessinstanceGetResponse response = client.Execute(request, accessToken); if (response.Errcode == 0) { Processinstance processinstance = new Processinstance(); processinstance.Title = response.ProcessInstance.Title; processinstance.CreateTime = response.ProcessInstance.CreateTime; processinstance.FinishTime = response.ProcessInstance.FinishTime; processinstance.OriginatorUserId = response.ProcessInstance.OriginatorUserid; processinstance.OriginatorDeptId = Convert.ToInt32(response.ProcessInstance.OriginatorDeptId); processinstance.Status = response.ProcessInstance.Status; processinstance.CcUserids = response.ProcessInstance.CcUserids; processinstance.Result = response.ProcessInstance.Result; processinstance.BizAction = response.ProcessInstance.BizAction; processinstance.BusinessId = response.ProcessInstance.BusinessId; processinstance.OriginatorDeptName = response.ProcessInstance.OriginatorDeptName; processinstance.FormComponentValues = new List <FormComponentValue>(); foreach (OapiProcessinstanceGetResponse.FormComponentValueVoDomain item in response.ProcessInstance.FormComponentValues) { FormComponentValue form = new FormComponentValue(); form.Name = item.Name; form.Value = item.Value; form.ExtValue = item.ExtValue; processinstance.FormComponentValues.Add(form); } foreach (OapiProcessinstanceGetResponse.OperationRecordsVoDomain item in response.ProcessInstance.OperationRecords) { OperationRecord model = new OperationRecord(); model.UserId = item.Userid; model.Date = Convert.ToDateTime(item.Date);; model.OperationType = item.OperationType; model.OperationResult = item.OperationResult; model.Remark = item.Remark; processinstance.OperationRecords.Add(model); } foreach (OapiProcessinstanceGetResponse.TaskTopVoDomain item in response.ProcessInstance.Tasks) { Task model = new Task(); model.UserId = item.Userid; model.TaskStatus = item.TaskStatus; model.TaskResult = item.TaskResult; model.CreateTime = Convert.ToDateTime(item.CreateTime); model.FinishTime = Convert.ToDateTime(item.FinishTime); processinstance.Tasks.Add(model); } return(processinstance); } else { throw new Exception(response.Errcode.ToString()); } } catch (Exception ex) { throw new Exception(ex.Message); } }