/// <summary> /// 发起流程(POC) /// </summary> /// <param name="action"></param> /// <param name="flowName"></param> /// <returns></returns> public bool StartProcess(ProcessAction action, string flowName, ref int ProcInstID) { if (SaveData(action)) { string fullName = flowName; ProcInstID = -1; //added by lee ProcControl.GetDataFields(); //取得datafields ProcControl.GetXmlFields(); //取得xmlfields if (WorkflowHelper.StartProcess(fullName, FormID, DataFields, XmlFields, ref ProcInstID)) { return(true); } else { return(false); } } else { return(false); } }
/// <summary> /// 发起流程 /// </summary> /// <param name="action"></param> /// <param name="flowName"></param> /// <returns></returns> public bool StartProcess(ProcessAction action, string flowName, string requestor, ref int ProcInstID) { if (SaveData(action)) { ProcControl.GetDataFields(); string approveXml = ProcControl.GetApproveXml(); string fullName = flowName; ProcInstID = -1;//added by lee //取得审批链Xml WS.K2.K2WS ws = new WS.K2.K2WS(); string pid = ws.StartProcess(fullName, requestor, FormID, approveXml, string.Empty, string.Empty); if (StringHelper.isNumeric(pid)) { ProcInstID = Int32.Parse(pid); return(true); } else { return(false); } } else { return(false); } }
/// <summary> /// start process /// </summary> /// <param name="action">process action</param> /// <returns></returns> public bool StartProcess(ProcessAction action) { if (SaveData(action)) { ProcControl.GetDataFields(); string fullName = "SohuBPMFlow\\OAF"; //SqlHelper.ExecuteScalar(Database.MerckHRWorkFlow, "GetWorkflowFullName", new SqlParameter[] { new SqlParameter("@intWorkflowID", WorkflowID) }).ToString(); int ProcInstID = -1; //added by lee //if (WorkflowHelper.StartProcess(MUID, Password, fullName, ClaimID, DataFields))//FBA to AD //if (WorkflowHelper.StartProcess(fullName, ClaimID, DataFields)) if (WorkflowHelper.StartProcess(fullName, FormID, DataFields, ref ProcInstID)) { //流程启动成功,得到K2返回的 ProcessInstance ID,通过FormID来更改这个表单的ProcessID UpdateProcInstID(ProcInstID, FormID);//edit by lee 2011-5-31 return(ProcessLog(ProcessAction.Submit.ToString())); } else { return(false); } } else { return(false); } }
public bool StartProcess(ProcessAction action, string flowName) { if (SaveData(action)) { ProcControl.GetDataFields(); string fullName = ""; if (WorkflowID == 3) { fullName = flowName; } else { fullName = "SohuBPMFlow\\TAF"; }//SqlHelper.ExecuteScalar(Database.MerckHRWorkFlow, "GetWorkflowFullName", new SqlParameter[] { new SqlParameter("@intWorkflowID", WorkflowID) }).ToString(); int ProcInstID = -1;//added by lee if (WorkflowHelper.StartProcess(fullName, FormID, DataFields, ref ProcInstID)) { //流程启动成功,得到K2返回的 ProcessInstance ID,通过FormID来更改这个表单的ProcessID if (WorkflowID != 3) { return(UpdateProcInstID(ProcInstID, FormID, "TAF"));//edit by lee 2011-5-31 } else { return(true);//edit by lee } // return ProcessLog(ProcessAction.Submit.ToString()); } else { return(false); } } else { return(false); } }
/// <summary> /// 初始化ProcessLog操作者 /// </summary> //private Biz.Biz_ProcessLog processlogOP = new Biz.Biz_ProcessLog(); #endregion #region page methods #region save data public bool SaveData(ProcessAction action) { bool result = false; #region save form data if (ProcControl.EnabledModify || action == ProcessAction.Confirm || ProcControl.IsEnableEditPage) { if (action == ProcessAction.Reject || action == ProcessAction.Cancel) { result = true; } else if (ProcControl.SaveData(action)) { if (action == ProcessAction.Rework) { IsReWorkPage = true; } if (action == ProcessAction.Rework) { ProcControl.UpdateDataFields(); //FBA to AD //result = WorkflowHelper.UpdateDataFields(MUID, Password, ProcessSN, DataFields); result = WorkflowHelper.UpdateDataFields(ProcessSN, DataFields); } else { result = true; } } else { result = false; } } else if (action == ProcessAction.Approve || action == ProcessAction.Reject || action == ProcessAction.ApproveSave || IsHRSubmitPage) { //姚骁然修改(因为当审批人选择拒绝时,所作修改均无效) if (WorkflowID != 3) { ProcControl.SaveData(action); if (IsHRSubmitPage) { ActivityName = "HR C&B";//Test by lee } } result = true; } else if (IsOnBoardSubmitPage) { result = true; } else { ProcControl.UpdateDataFields(); //FBA to AD //WorkflowHelper.UpdateDataFields(MUID, Password, ProcessSN, DataFields); WorkflowHelper.UpdateDataFields(ProcessSN, DataFields); result = true; } #endregion if (action == ProcessAction.SubmitHRBP || action == ProcessAction.SaveHRDraft || action == ProcessAction.SubmitHRBPDraft || action == ProcessAction.Reject || action == ProcessAction.Submit || action == ProcessAction.SubmitDraft || action == ProcessAction.Cancel || action == ProcessAction.Rework || action == ProcessAction.SaveDraft || action == ProcessAction.SubmitHRCB) { UpdateProcessStatus(GetProcessStatus(action).ToString()); } //HR BP在员工录入时虽然没有启动流程,但是此时需要计入操作历史记录中 if (action == ProcessAction.SubmitHRBP || action == ProcessAction.SubmitHRBPDraft) { if (WorkflowID == 2 && IsStartPage == true) { ProcessLog(ProcessAction.SubmitHRCB.ToString(), "HRBP"); ProcessLog(ProcessAction.SubmitHRBP.ToString(), "HRBP"); } else { ProcessLog(ProcessAction.SubmitHRBP.ToString(), "HRBP"); } } if (action == ProcessAction.SubmitHRCB) { ProcessLog(ProcessAction.SubmitHRCB.ToString(), "HRBP"); } //判断是否是自定义流程 if (WorkflowID == 3) { //自定义流程提交处理 if (action == ProcessAction.SubmitCF) //提交 { ProcControl.SaveData(action); //UpdateProcessStatus(GetProcessStatus(action).ToString(), FormID, "CustomFlow"); ProcessLog(ProcessAction.SubmitCF.ToString(), "提交"); } if (action == ProcessAction.Rework) //重提交 { ProcControl.SaveData(action); ProcessLog(ProcessAction.SubmitCF.ToString(), "重提交"); } if ((action == ProcessAction.SaveDraft || action == ProcessAction.Save) && IsHRSubmitPage != true) //保存 { ProcControl.SaveData(action); } if (action == ProcessAction.Approve) //审批 { ProcControl.SaveData(action); ProcControl.UpdateDataFields(); WorkflowHelper.UpdateDataFields(ProcessSN, DataFields); } if (action == ProcessAction.ApproveSave) //审批保存 { ProcControl.SaveData(action); //还要保存审批记录 } if (action == ProcessAction.Reject) //拒绝 { } if (action == ProcessAction.SubmitDraft) //从草稿箱提交 { ProcControl.SaveData(action); ProcessLog(action.ToString(), "提交"); } if (action == ProcessAction.StartCounter) { ProcControl.SaveData(action); } } return(result); }