Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        /// <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);
            }
        }
Exemple #3
0
        /// <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);
            }
        }
Exemple #4
0
        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);
            }
        }
Exemple #5
0
        /// <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);
        }