//详情数据 public DetailModel GetDetail(string id) { var workflow = Workflow.Core.Workflow.CreateWorkflow(context, id); WorkflowContent content = WorkflowInstUtil.CreateContent(workflow.WorkflowRow); //得到上一个人工步骤 var workflowInst = context.WF_WORKFLOW_INST.FirstOrDefault <WF_WORKFLOW_INST>(n => n.WI_ID == id); var stepInst = workflowInst == null ? null : context.WF_STEP_INST.OrderByDescending(m => m.SI_INDEX).FirstOrDefault <WF_STEP_INST>(m => m.SI_WI_ID == id && m.SI_CURRENT_STEP == workflowInst.WI_LAST_MANUAL); return(new DetailModel { WorkflowInstId = workflow.WorkflowId, Title = string.Format(ObjectUtil.SysCulture, "{0}-{1}-{2}", workflow.Config.DisplayName, workflow.WorkflowRow.WI_NAME, workflow.CurrentStep.Config.DisplayName), TabControlActions = workflow.Config.ControlActions.Where(a => a.ShowKind == ShowKind.Tab).OrderBy(a => a.Order).ToList(), TileControlActions = workflow.Config.ControlActions.Where(a => a.ShowKind == ShowKind.Tile).OrderBy(a => a.Order).ToList(), MapModel = GetMapModel(workflow), ReceiveTime = stepInst == null ? null : stepInst.SI_RECEIVE_DATE, ProcessTime = stepInst == null ? null : stepInst.SI_PROCESS_DATE, WorkflowContent = content.SaveString() }); }
public string WorkflowProcess(string wid, DataSet PostDataSet) { Workflow.Core.Workflow wf = Workflow.Core.Workflow.CreateWorkflow(context, wid); WorkflowConfig.ConnString = PlugAreaRegistration.CONN; ManualStepConfig config = wf.CurrentStep.Config as ManualStepConfig; AtawDebug.AssertNotNull(config, "调用时机有误,当前的步骤必须是人工步骤,现在不是", this); WorkflowContent content = WorkflowInstUtil.CreateContent(wf.WorkflowRow); if (!string.IsNullOrEmpty(config.Process.UIOperation.RegName)) { UIProcessor processor = AtawIocContext.Current.FetchInstance <UIProcessor>( config.Process.UIOperation.PlugIn); processor.Config = config; processor.Source = context; processor.Content = content; processor.UIData = PostDataSet; processor.Execute(wf.WorkflowRow); WorkflowInstUtil.ManualSendWorkflow(wf.WorkflowRow, GlobalVariable.UserId, processor); } else { wf.WorkflowRow.WI_PROCESS_ID = GlobalVariable.UserId.ToString(); wf.WorkflowRow.WI_PROCESS_DATE = context.Now; wf.WorkflowRow.WI_STATUS = (int)StepState.ProcessNotSend; } //context.Submit(); wf.UpdateState(ManualPNSState.Instance); string url = wf.GetWorkflowUrl(); JsResponseResult <string> res = new JsResponseResult <string>() { ActionType = JsActionType.Url, Content = url }; return(res.ToJSON()); }
/// <summary> /// Construcor /// </summary> public Workflow() : base() { ContentType = ContentType.Workflow; Metadata = new WorkflowMetadata(); Content = new WorkflowContent(); }
public void DoAction(string userId, DataAccess.WF_WORKFLOW_INST mainRow, WorkflowContent content, IUnitOfData source) { // throw new NotImplementedException(); }
public ActionResult StepContent(string contentXml) { WorkflowContent content = XmlUtil.ReadFromString <WorkflowContent>(contentXml); return(View()); }