public ActionResult EditFormContent(int id) { var instance = FlowInstanceManager.GetDbRecord(id); ViewBag.formInstID = FormManager.GetFormInstanceOfFlowInstance(id); return(View(instance)); }
public ActionResult FlowInstanceList(Guid?id) { var instances = id == null?FlowInstanceManager.GetAllRecords() : FlowInstanceManager.Query(x => x.WorkflowID == id); instances = instances.OrderByDescending(x => x.StartTime).ToList(); return(View(instances)); }
public ActionResult ShowByFlowInst(int id, FormCollection collection, bool partial = false, bool showButton = true) { int formInstID = FormManager.GetFormInstanceOfFlowInstance(id); var formInst = FormInstanceManager.GetDbRecord(formInstID); var form = FormManager.GetDbRecord(formInst.FormID); var flowInst = FlowInstanceManager.GetDbRecord(formInst.FlowInstanceID); var layoutID = LayoutManager.GetLayoutOfFlowNode(flowInst.CurrentNodeID); var markup = layoutID == null ? form.Layout : LayoutManager.GetDbRecord(layoutID.Value).Markup; var data = System.Web.Helpers.Json.Decode <Dictionary <string, string> >(formInst.Data); data = data == null ? new Dictionary <string, string>() : data; collection.AllKeys.ForEach(x => data[x] = collection[x]); FormInstanceManager.UpdateDbRecord(formInstID, record => { record.Data = System.Web.Helpers.Json.Encode(data); }); TongJi.Web.Notifications.Notification.EnqueueMessage("表单数据已保存。"); ViewBag.partial = partial; ViewBag.showButton = showButton; ViewBag.Form = form; ViewBag.markup = markup; ViewBag.formInstID = formInstID; return(View("Show", data)); }
public ActionResult NewFlowInst(Guid id, string name, string number, string comment) { if (string.IsNullOrEmpty(name)) { ModelState.AddModelError("name", "实例名称不可为空。"); } if (id == Guid.Empty) { ModelState.AddModelError("id", "请选择项目流程。"); } if (ModelState.IsValid) { var flowID = id; var instID = WorkflowManager.NewInstance(flowID, name, number, comment); var formID = FormManager.GetMainFormOfWorkflow(flowID); if (formID != null) { FormManager.NewInstance(formID.Value, string.Empty, instID); } FlowInstanceManager.GoOn(instID, WebSecurity.CurrentUserName); TongJi.Web.Notifications.Notification.EnqueueMessage("新建流程已成功。"); return(RedirectToAction("FlowStepJump", new { id = instID })); } ViewBag.FlowList = WorkflowManager.GetFlowList(); return(View()); }
public ActionResult FlowTracking(int id) { var inst = FlowInstanceManager.GetDbRecord(id); var list = FlowInstanceManager.TrackBack(id); ViewBag.inst = inst; return(View(list)); }
public ActionResult SetCurrentNode(int id) { var instance = FlowInstanceManager.GetDbRecord(id); var flowId = instance.WorkflowID; var nodes = WorkflowManager.GetNodeList(flowId); var dict = nodes.ToDictionary(x => x.ID, x => x.NodeName); ViewBag.nodes = dict; return(View(instance)); }
public ActionResult FlowChart(int id) { var inst = FlowInstanceManager.GetDbRecord(id); var node = FlowNodeManager.GetDbRecord(inst.CurrentNodeID); ViewBag.id = id; ViewBag.nodeName = node.Name; ViewBag.instName = inst.Name; return(View()); }
public ActionResult PersonAction(string user) { if (string.IsNullOrEmpty(user)) { user = WebSecurity.CurrentUserName; } var list = FlowInstanceManager.UserAction(user); return(View(list)); }
public ActionResult StepJump(int id) { var inst = FlowInstanceManager.GetDbRecord(id); var node = FlowNodeManager.GetDbRecord(inst.CurrentNodeID); switch (node.Name) { case "窗口接件": return(RedirectToAction("Step1", new { id = id })); case "审核申请材料": return(RedirectToAction("Step2", new { id = id })); case "补正材料": return(RedirectToAction("Step3", new { id = id })); case "出具不予受理决定书": return(RedirectToAction("Step4", new { id = id })); case "审核是否符合地块控制": return(RedirectToAction("Step5", new { id = id })); case "准备申请单元控制": return(RedirectToAction("Step6", new { id = id })); case "输出规划条件": return(RedirectToAction("Step7", new { id = id })); case "科长审批": return(RedirectToAction("Step8", new { id = id })); case "会审": return(RedirectToAction("Step9", new { id = id })); case "局长审批": return(RedirectToAction("Step10", new { id = id })); case "整理规划条件": return(RedirectToAction("Step11", new { id = id })); case "窗口出具准予行政许可决定书与规划条件": return(RedirectToAction("Step12", new { id = id })); case "出具不予行政许可决定书": return(RedirectToAction("Step13", new { id = id })); case "出具受理通知书": return(RedirectToAction("Step14", new { id = id })); default: return(RedirectToAction("FlowEnd", new { id = id })); } }
public ActionResult FlowGoBack(int id, string returnUrl) { FlowInstanceManager.GoBack(id, WebSecurity.CurrentUserName); TongJi.Web.Notifications.Notification.EnqueueMessage("流程已经回退到上一步。您没有权限进一步回退,详情请咨询管理员。"); if (string.IsNullOrEmpty(returnUrl)) { return(null); } else { return(Redirect(returnUrl)); } }
public ActionResult FlowGoOn(int id, string to, string returnUrl, bool isFinish = false) { FlowInstanceManager.GoOn(id, WebSecurity.CurrentUserName, to); if (isFinish) { FlowInstanceManager.GoOn(id, WebSecurity.CurrentUserName, ""); } TongJi.Web.Notifications.Notification.EnqueueMessage("操作已成功。"); if (string.IsNullOrEmpty(returnUrl)) { return(null); } else { return(Redirect(returnUrl)); } }
public ActionResult ShowByFlowInst(int id, bool partial = false, bool showButton = true) { int formInstID = FormManager.GetFormInstanceOfFlowInstance(id); var formInst = FormInstanceManager.GetDbRecord(formInstID); var form = FormManager.GetDbRecord(formInst.FormID); var flowInst = FlowInstanceManager.GetDbRecord(formInst.FlowInstanceID); var layoutID = LayoutManager.GetLayoutOfFlowNode(flowInst.CurrentNodeID); var markup = layoutID == null ? form.Layout : LayoutManager.GetDbRecord(layoutID.Value).Markup; ViewBag.partial = partial; ViewBag.showButton = showButton; ViewBag.Form = form; ViewBag.markup = markup; ViewBag.formInstID = formInstID; var data = System.Web.Helpers.Json.Decode <Dictionary <string, string> >(formInst.Data); return(View("Show", data)); }
public ActionResult FlowStep(int id) { var inst = FlowInstanceManager.GetDbRecord(id); var flow = WorkflowManager.GetDbRecord(inst.WorkflowID); var node = FlowNodeManager.GetDbRecord(inst.CurrentNodeID); bool allowed = FlowNodeManager.IsUserAllowed(inst.CurrentNodeID, WebSecurity.CurrentUserName); bool completed = inst.Completed; int formInstID = FormManager.GetFormInstanceOfFlowInstance(id); var layoutID = LayoutManager.GetLayoutOfFlowNode(inst.CurrentNodeID); ViewBag.inst = inst; ViewBag.flow = flow; ViewBag.node = node; ViewBag.allowed = allowed; ViewBag.completed = completed; ViewBag.formInstID = formInstID; ViewBag.hasLayout = layoutID != null; return(View()); }
public async Task <IActionResult> InstanceRepost(int data) { var instance = await FlowInstanceManager.GetByIdFromCacheAsync(data); switch (instance.FormType) { case FormType.Html: ViewBag.FormContent = instance.FormContent; ViewBag.FormData = instance.FormData; return(View("HtmlRepost")); case FormType.Designer: return(View("DesignerRepost")); case FormType.Spread: return(View("SpreadRepost")); } return(View()); }
public ActionResult FlowStepJump(int id) { var inst = FlowInstanceManager.GetDbRecord(id); bool allowed = FlowNodeManager.IsUserAllowed(inst.CurrentNodeID, WebSecurity.CurrentUserName); if (!allowed) { return(RedirectToAction("TodoList", "Workflow")); } //if (inst.WorkflowID == Guid.Parse(UPlanWeb.Models.UPlanDb.WorkflowID_Project)) //{ // return RedirectToAction("StepJump", "ProjectFlow", new { id = id }); //} //else if (inst.WorkflowID == Guid.Parse(UPlanWeb.Models.UPlanDb.WorkflowID_UnitMutate)) //{ // return RedirectToAction("Page", "UnitMutateFlow", new { id = id }); //} return(RedirectToAction("StepJump", string.Format("Flow{0}", inst.WorkflowID.ToString().Replace("-", "_")), new { id = id })); //return RedirectToAction("FlowStep", new { id = id }); }
/// <summary> /// 流程实例的表单查看 /// </summary> /// <param name="data"></param> /// <returns></returns> public async Task <IActionResult> InstanceView(int data, string mode) { var user = await UserManager.GetByIdAsync(AbpSession.UserId.Value); ViewBag.IsCenter = user.IsCenterUser; var instance = await FlowInstanceManager.GetAll().Include(o => o.FlowForm).IgnoreQueryFilters().Where(o => o.Id == data).FirstOrDefaultAsync(); if (instance == null) { return(Error(L("此单据已不存在"))); } var flowSheet = await FlowSheetManager.GetByInstanceId(data); var defaultForms = Configuration.Modules.Core().DefaultForms; var defaultForm = defaultForms.FirstOrDefault(o => o.FormKey == instance.FlowForm.FormKey); switch (instance.FormType) { case FormType.Html: //ViewBag.FormContent = instance.FormContent; ViewBag.FormContent = string.IsNullOrEmpty(instance.FlowForm.FormContent) ? defaultForm?.FormContent : instance.FlowForm.FormContent; ViewBag.FormData = instance.FormData; ViewBag.Mode = mode; ViewBag.SheetId = flowSheet.Id; ViewBag.UpdateTime = instance.LastModificationTime?.ToString("yyyy-MM-dd HH:mm:ss"); ViewBag.OrderStatus = flowSheet?.OrderStatus; return(View("HtmlView")); case FormType.Designer: return(View("DesignerView")); case FormType.Spread: return(View("SpreadView")); } return(View()); }
/// <summary> /// 流程实例的表单查看 /// </summary> /// <param name="data"></param> /// <returns></returns> public async Task <IActionResult> InstanceView(int data) { var instance = await FlowInstanceManager.GetAll().IgnoreQueryFilters().Where(o => o.Id == data).FirstOrDefaultAsync(); if (instance == null) { return(Error(L("此单据已不存在"))); } switch (instance.FormType) { case FormType.Html: ViewBag.FormContent = instance.FormContent; ViewBag.FormData = instance.FormData; return(View("HtmlView")); case FormType.Designer: return(View("DesignerView")); case FormType.Spread: return(View("SpreadView")); } return(View()); }
public ActionResult SetCurrentNode(int id, Guid nodeId) { FlowInstanceManager.SetCurrentNode(id, nodeId); return(RedirectToAction("FlowInstanceList")); }
public ActionResult GetInstJson(int id) { var data = FlowInstanceManager.GetJsonObject(id); return(Json(data, JsonRequestBehavior.AllowGet)); }