コード例 #1
0
        public ActionResult InstanceManage()
        {
            RoadFlow.Platform.WorkFlowTask workFlowTask = new RoadFlow.Platform.WorkFlowTask();
            RoadFlow.Platform.WorkFlow     workFlow     = new RoadFlow.Platform.WorkFlow();
            string            text             = base.Request.QueryString["flowid1"];
            string            str              = base.Request.QueryString["groupid"];
            WorkFlowInstalled workFlowRunModel = workFlow.GetWorkFlowRunModel(text);
            IOrderedEnumerable <RoadFlow.Data.Model.WorkFlowTask> orderedEnumerable = from p in workFlowTask.GetTaskList(text.ToGuid(), str.ToGuid())
                                                                                      orderby p.Sort
                                                                                      select p;
            JsonData jsonData = new JsonData();

            foreach (RoadFlow.Data.Model.WorkFlowTask item in orderedEnumerable)
            {
                StringBuilder stringBuilder = new StringBuilder();
                stringBuilder.Append("<a style=\"background:url(" + base.Url.Content("~/Images/ico/permission.gif") + ") no-repeat left center; padding-left:18px;\" href=\"javascript:void(0);\" onclick=\"cngStatus('" + item.ID + "');\">状态</a>");
                if (item.Status.In(0, 1))
                {
                    stringBuilder.Append("<a style=\"background:url(" + base.Url.Content("~/Images/ico/arrow_medium_lower_left.png") + ") no-repeat left center; padding-left:16px;\" href=\"javascript:void(0);\" onclick=\"designate('" + item.ID + "');\">指派</a>");
                    stringBuilder.Append("<a style=\"background:url(" + base.Url.Content("~/Images/ico/arrow_medium_lower_right.png") + ") no-repeat left center; padding-left:16px;\" href=\"javascript:void(0);\" onclick=\"goTo('" + item.ID + "');\">跳转</a>");
                }
                JsonData jsonData2 = new JsonData();
                jsonData2["id"]             = item.ID.ToString();
                jsonData2["StepID"]         = workFlow.GetStepName(item.StepID, workFlowRunModel);
                jsonData2["SenderName"]     = item.SenderName;
                jsonData2["ReceiveTime"]    = item.ReceiveTime.ToDateTimeStringS();
                jsonData2["ReceiveName"]    = item.ReceiveName;
                jsonData2["CompletedTime1"] = (item.CompletedTime1.HasValue ? item.CompletedTime1.Value.ToDateTimeStringS() : "");
                jsonData2["Status"]         = workFlowTask.GetStatusTitle(item.Status);
                jsonData2["Comment"]        = item.Comment;
                jsonData2["Opation"]        = stringBuilder.ToString();
                jsonData.Add(jsonData2);
            }
            base.ViewBag.list = jsonData.ToJson();
            return(View());
        }
コード例 #2
0
        public string QueryInstanceList()
        {
            RoadFlow.Platform.WorkFlowTask workFlowTask = new RoadFlow.Platform.WorkFlowTask();
            RoadFlow.Platform.WorkFlow     workFlow     = new RoadFlow.Platform.WorkFlow();
            string str    = base.Request.Form["Title"];
            string flowid = base.Request.Form["FlowID"];
            string text   = base.Request.Form["SenderID"];
            string date   = base.Request.Form["Date1"];
            string date2  = base.Request.Form["Date2"];
            string str2   = base.Request.Form["Status"];
            string text2  = base.Request.Form["sidx"];
            string text3  = base.Request.Form["sord"];
            string typeID = base.Request.Form["typeid"];
            string text4  = base.Request.Form["appid"];
            Dictionary <Guid, string> instanceManageFlowIDList = workFlow.GetInstanceManageFlowIDList(RoadFlow.Platform.Users.CurrentUserID, typeID);
            List <Guid> list = new List <Guid>();

            foreach (KeyValuePair <Guid, string> item in from p in instanceManageFlowIDList
                     orderby p.Value
                     select p)
            {
                list.Add(item.Key);
            }
            Guid[]    flowID     = list.ToArray();
            int       pageSize   = RoadFlow.Utility.Tools.GetPageSize();
            int       pageNumber = RoadFlow.Utility.Tools.GetPageNumber();
            string    order      = (text2.IsNullOrEmpty() ? "SenderTime" : text2) + " " + (text3.IsNullOrEmpty() ? "asc" : text3);
            long      count;
            DataTable instances = workFlowTask.GetInstances1(flowID, new Guid[0], text.IsNullOrEmpty() ? new Guid[0] : new Guid[1]
            {
                text.Replace("u_", "").ToGuid()
            }, out count, pageSize, pageNumber, str.Trim1(), flowid, date, date2, str2.ToInt(), order);
            JsonData jsonData = new JsonData();

            foreach (DataRow row in instances.Rows)
            {
                RoadFlow.Data.Model.WorkFlowTask lastTask = workFlowTask.GetLastTask(row["FlowID"].ToString().ToGuid(), row["GroupID"].ToString().ToGuid());
                if (lastTask != null)
                {
                    string        flowName;
                    string        stepName      = workFlow.GetStepName(lastTask.StepID, lastTask.FlowID, out flowName);
                    string        text5         = string.Format("flowid={0}&stepid={1}&instanceid={2}&taskid={3}&groupid={4}&appid={5}&display=1", lastTask.FlowID, lastTask.StepID, lastTask.InstanceID, lastTask.ID, lastTask.GroupID, text4);
                    StringBuilder stringBuilder = new StringBuilder();
                    stringBuilder.Append("<a style=\"margin-right:5px; background:url(" + base.Url.Content("~/Images/ico/mouse.png") + ") no-repeat left center; padding-left:18px;\" href=\"javascript:void(0);\" onclick=\"manage('" + lastTask.FlowID.ToString() + "','" + lastTask.GroupID.ToString() + "');\">管理</a>");
                    if (lastTask.Status.In(-1, 0, 1))
                    {
                        stringBuilder.Append("<a style=\"background:url(" + base.Url.Content("~/Images/ico/trash.gif") + ") no-repeat left center; padding-left:18px;\" href=\"javascript:void(0);\" onclick=\"delete1('" + lastTask.FlowID.ToString() + "','" + lastTask.GroupID.ToString() + "');\">删除</a>");
                    }
                    JsonData jsonData2 = new JsonData();
                    jsonData2["id"]          = lastTask.ID.ToString();
                    jsonData2["Title"]       = "<a href=\"javascript:void(0);\" onclick=\"openTask('/WorkFlowRun/Index?" + text5 + "','" + lastTask.Title.RemoveHTML().UrlEncode() + "','" + lastTask.ID + "');return false;\" class=\"blue\">" + lastTask.Title.HtmlEncode() + "</a>";
                    jsonData2["FlowName"]    = flowName;
                    jsonData2["StepName"]    = stepName;
                    jsonData2["ReceiveName"] = lastTask.ReceiveName;
                    jsonData2["ReceiveTime"] = lastTask.ReceiveTime.ToDateTimeStringS();
                    jsonData2["StatusTitle"] = lastTask.Status;
                    jsonData2["Opation"]     = stringBuilder.ToString();
                    jsonData.Add(jsonData2);
                }
            }
            return("{\"userdata\":{\"total\":" + count + ",\"pagesize\":" + pageSize + ",\"pagenumber\":" + pageNumber + "},\"rows\":" + jsonData.ToJson() + "}");
        }