using Infrastructure; using OpenAuth.App; using OpenAuth.App.SSO; using OpenAuth.Domain; using OpenAuth.Mvc.Controllers; using System; using System.Web.Mvc; namespace OpenAuth.Mvc.Areas.FlowManage.Controllers { /// /// 通用申请流程处理 /// 李玉宝新增于2016-09-08 19:21:59 /// public class FlowInstancesController : BaseController { private WFProcessInstanceService _app; public FlowInstancesController() { _app = AutofacExt.GetFromFac(); } #region 视图 public ActionResult Index() { return View(); } /// /// 进度查看 /// /// [HttpGet] public ActionResult ProcessLookForm() { return View(); } /// /// 审核流程 /// /// [HttpGet] public ActionResult VerificationForm() { return View(); } /// /// 创建流程实例视图 /// /// [HttpGet] public ActionResult FlowProcessNewForm() { return View(); } /// /// 流程监控 /// /// [HttpGet] public ActionResult MonitoringIndex() { return View(); } /// /// 流程指派 /// /// [HttpGet] public ActionResult DesignationIndex() { return View(); } /// /// 流程进度查看 /// /// \ [HttpGet] public ActionResult ProcessLookFrom() { return View(); } /// /// 流程指派 /// /// [HttpGet] public ActionResult ProcessDesignate() { return View(); } #endregion 视图 #region 提交数据 /// /// 创建流程实例 /// /// 流程模板信息Id /// 表单数据 /// 0发起,3草稿 /// [HttpPost] public string CreateProcess(Guid wfSchemeInfoId, string wfProcessInstanceJson, string frmData) { WFProcessInstance wfProcessInstanceEntity = wfProcessInstanceJson.ToObject(); wfProcessInstanceEntity.Id = Guid.Empty; _app.CreateInstance(Guid.NewGuid(), wfSchemeInfoId, wfProcessInstanceEntity, frmData); return Result.ToJson(); } /// /// 审核流程 /// /// 工作流实例主键Id /// 审核数据 /// [HttpPost] public string VerificationProcess(Guid processId, string verificationData) { _app.VerificationProcess(processId, verificationData); return Result.ToJson(); } /// /// 删除申请 /// public string Delete(Guid[] ids) { try { foreach (var id in ids) { _app.DeleteProcess(id); } return Result.ToJson(); } catch (Exception e) { Result.Status = false; Result.Message = e.Message; return Result.ToJson(); } } #endregion 提交数据 #region 获取数据(公用) /// /// 获取进程模板Json /// /// /// [HttpGet] public ActionResult GetProcessSchemeJson(Guid keyValue) { var data = _app.GetProcessSchemeEntity(keyValue); return Content(data.ToJson()); } /// /// 已办流程进度查看,根据当前访问人的权限查看表单内容 /// /// /// [HttpGet] public ActionResult GetProcessSchemeEntityByUserId(Guid keyValue) { var data = _app.GetProcessSchemeByUserId(keyValue); return Content(data.ToJson()); } /// /// 已办流程进度查看,根据当前节点的权限查看表单内容 /// /// /// /// [HttpGet] public ActionResult GetProcessSchemeEntityByNodeId(Guid keyValue, string nodeId) { var data = _app.GetProcessSchemeEntityByNodeId(keyValue, nodeId); return Content(data.ToJson()); } /// /// 获取进程信息 /// /// /// [HttpGet] public ActionResult GetProcessInfoJson(Guid keyValue) { var processInstance = _app.GetProcessInstanceEntity(keyValue); var processScheme = _app.GetProcessSchemeEntity(processInstance.ProcessSchemeId); var JsonData = new { processInstance = processInstance, processScheme = processScheme }; return Content(JsonData.ToJson()); } /// /// 获取进程实例 /// /// /// [HttpGet] public ActionResult GetProcessInstanceJson(Guid keyValue) { var processInstance = _app.GetProcessInstanceEntity(keyValue); return Content(processInstance.ToJson()); } public string Load(string type, int pageCurrent = 1, int pageSize = 30) { return JsonHelper.Instance.Serialize(_app.Load(AuthUtil.GetCurrentUser().User.Id.ToString(), type, pageCurrent, pageSize)); } #endregion 获取数据(公用) } }