public static JObject GetTaskStateJObject(BPMConnection cn, TaskState state, int taskid) { JObject rv = new JObject(); rv["State"] = state.ToString().ToLower(); if (state == TaskState.Running) { JArray children = new JArray(); rv.Add(YZJsonProperty.children, children); BPMStepCollection steps = BPMTask.GetUnFinishedHumanSteps(cn, taskid); foreach (BPMProcStep step in steps) { JObject item = new JObject(); item["StepName"] = step.StepDisplayName; item["Share"] = step.Share; item["RecipientAccount"] = step.RecipientAccount; item["RecipientDisplayName"] = step.RecipientFullName; children.Add(item); } } return(rv); }
public virtual JObject GetTaskProcessingSteps(HttpContext context) { YZRequest request = new YZRequest(context); int taskid = request.GetInt32("TaskID"); JObject rv = new JObject(); //获得数据 BPMStepCollection steps = null; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); steps = BPMTask.GetUnFinishedHumanSteps(cn, taskid); //将数据转化为Json集合 rv[YZJsonProperty.total] = steps.Count; JArray children = new JArray(); rv[YZJsonProperty.children] = children; foreach (BPMProcStep step in steps) { children.Add(this.Serialize(cn, step)); } } //输出数据 rv[YZJsonProperty.success] = true; return(rv); }
public virtual JArray GetRemindTarget(HttpContext context) { YZRequest request = new YZRequest(context); int taskid = request.GetInt32("TaskID"); JArray rv = new JArray(); //获得数据 BPMStepCollection steps = null; using (BPMConnection cn = new BPMConnection()) { cn.WebOpen(); steps = BPMTask.GetUnFinishedHumanSteps(cn, taskid); foreach (BPMProcStep step in steps) { if (step.Share && String.IsNullOrEmpty(step.OwnerAccount)) { UserCollection users = BPMProcStep.GetShareUsers(cn, step.StepID); foreach (User user in users) { JObject jStep = new JObject(); rv.Add(jStep); jStep["StepID"] = step.StepID; jStep["Share"] = true; jStep["NodeDisplayName"] = step.StepDisplayName; jStep["Account"] = user.Account; jStep["ShortName"] = user.ShortName; jStep["ElapsedMinutes"] = (DateTime.Now - step.ReceiveAt).TotalMinutes; } } else { JObject jStep = new JObject(); rv.Add(jStep); jStep["StepID"] = step.StepID; jStep["Share"] = false; jStep["NodeDisplayName"] = step.StepDisplayName; jStep["Account"] = step.RecipientAccount; jStep["ShortName"] = step.RecipientDisplayName; jStep["ElapsedMinutes"] = (DateTime.Now - step.ReceiveAt).TotalMinutes; } } } return(rv); }