예제 #1
0
파일: YZJsonHelper.cs 프로젝트: radtek/EMIP
    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);
    }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }