Beispiel #1
0
 public void AddForm(FormComponentValue form)
 {
     if (FormComponentValues == null)
     {
         FormComponentValues = new List <FormComponentValue>();
     }
     FormComponentValues.Add(form);
 }
Beispiel #2
0
        /// <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);
            }
        }