示例#1
0
        /// <summary>
        /// 归还任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbnRestore_Click(object sender, EventArgs e)
        {
            try
            {
                String       l_strWorkItemID   = (sender as LinkButton).CommandName;
                String       l_strTemplateName = (sender as LinkButton).CommandArgument;
                AgilePointWF ag = new AgilePointWF();

                WorkflowService l_objWorkFlowService = ag.GetAPI();

                FSWFManualWorkItem l_objManaulWorkItem = ag.GetWorkItem(l_strWorkItemID);
                if (l_objManaulWorkItem.Status == ProcessConstString.StepStatus.STATUS_ASSIGNED && String.Compare(CurrentUserInfo.UserName, l_objManaulWorkItem.UserID, true) == 0)
                {
                    l_objWorkFlowService.UndoAssignWorkItem(l_strWorkItemID);
                    System.Threading.Thread.Sleep(500);

                    String l_strTableName = TableName.GetWorkItemsTableName(l_strTemplateName);
                    String sql            = String.Format(";UPDATE {0} SET D_StepStatus='{1}' WHERE CommonID ='{2}'", l_strTableName, ProcessConstString.StepStatus.STATUS_NEW, l_objManaulWorkItem.PoolID);
                    int    ret            = FounderSoftware.Framework.Business.Entity.RunNoQuery(sql);
                    if (ret > 0)
                    {
                        LoadTaskList();
                    }
                }
                else
                {
                    IMessage im = new WebFormMessage(Page, String.Format("这个任务已经被'{0}'接收了。", l_objManaulWorkItem.UserID));
                    im.Show();
                    LoadTaskList();
                }
            }
            catch (Exception ex)
            {
                IMessage im = new WebFormMessage(Page, ex.ToString());
                im.Show();
            }
        }
示例#2
0
        /// <summary>
        /// 获取任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbnRetrieve_Click(object sender, EventArgs e)
        {
            try
            {
                String l_strWorkItemID   = (sender as LinkButton).CommandName;
                String l_strTemplateName = (sender as LinkButton).CommandArgument;

                AgilePointWF ag = new AgilePointWF();

                WorkflowService l_objWorkFlowService = ag.GetAPI();

                FSWFManualWorkItem l_objManaulWorkItem = ag.GetWorkItem(l_strWorkItemID);

                if (l_objManaulWorkItem.Status == ProcessConstString.StepStatus.STATUS_NEW)
                {
                    l_objWorkFlowService.AssignWorkItem(l_strWorkItemID);
                    System.Threading.Thread.Sleep(500);

                    String    sqlAP                 = String.Format("SELECT WORK_ITEM_ID FROM WF_MANUAL_WORKITEMS WHERE POOL_ID='{0}'", l_objManaulWorkItem.PoolID);
                    DataTable l_dtbDataTable        = SQLHelper.GetDataTable2(sqlAP);
                    String    l_strOthersWorkItemID = String.Empty;
                    String    l_strOwnWorkItemID    = String.Empty;
                    for (int i = 0; i < l_dtbDataTable.Rows.Count; i++)
                    {
                        if (i != 0)
                        {
                            l_strOthersWorkItemID += ",";
                        }
                        l_strOthersWorkItemID += "'" + l_dtbDataTable.Rows[i]["WORK_ITEM_ID"].ToString() + "'";

                        if (l_objManaulWorkItem.WorkItemID != l_dtbDataTable.Rows[i]["WORK_ITEM_ID"].ToString())
                        {
                            if (l_strOwnWorkItemID != "")
                            {
                                l_strOwnWorkItemID += ",";
                            }
                            l_strOwnWorkItemID += "'" + l_dtbDataTable.Rows[i]["WORK_ITEM_ID"].ToString() + "'";
                        }
                    }

                    //获得表名
                    String l_strTableName = TableName.GetWorkItemsTableName(l_strTemplateName);

                    String l_strExpression = String.Format("UPDATE {0} SET Is_Common=1 WHERE WorkItemID IN ({2})", l_strTableName, l_objManaulWorkItem.PoolID, l_strOthersWorkItemID);

                    if (l_strOwnWorkItemID != "")
                    {
                        l_strExpression += String.Format(";UPDATE {0} SET D_StepStatus='{1}' WHERE WorkItemID in ({2})", l_strTableName, ProcessConstString.StepStatus.STATUS_REMOVED, l_strOwnWorkItemID);
                    }
                    l_strExpression += String.Format(";UPDATE {0} SET D_StepStatus='{1}' WHERE WorkItemID ='{2}'", l_strTableName, ProcessConstString.StepStatus.STATUS_ASSIGNED, l_objManaulWorkItem.WorkItemID);

                    int ret = FounderSoftware.Framework.Business.Entity.RunNoQuery(l_strExpression);
                    if (ret > 0)
                    {
                        LoadTaskList();
                    }
                }
                else
                {
                    IMessage im = new WebFormMessage(Page, String.Format("这个任务已经被'{0}'接收了。", l_objManaulWorkItem.UserID));
                    im.Show();

                    LoadTaskList();
                }
            }
            catch (Exception ex)
            {
                IMessage im = new WebFormMessage(Page, ex.ToString());
                im.Show();
            }
        }
        /// <summary>
        /// 撤销流程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void gvProgramFileList_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string strID = gvProgramFileList.DataKeys[e.RowIndex].Value.ToString();
            bool bFlag = false;
            foreach (string strRole in CurrentUserInfo.RoleName)
            {
                if (strRole == "OA系统管理员" || strRole == "OU系统管理员" || strRole.Contains("管理员") || strRole == ConstString.RoleName.QUALITY_MEMBER)
                {
                    bFlag = true;
                }
            }
            if (!bFlag)
            {
                IMessage ms = new WebFormMessage(Page, "只有\'OA系统管理员\'、\'OU系统管理员\'、\'管理员\'、\'质保人员\'可以撤销流程。");
                ms.Show();
                return;
            }
            try
            {
                B_ProgramFileInfo pfEntity = new B_ProgramFileInfo();
                pfEntity.ID = int.Parse(strID);
                string strProcessID = pfEntity.ProcessID;
                //if (pfEntity.ApplyStyle == ConstString.ProgramFile.PROGRAM_CREATE)
                //{
                //    pfEntity.ProcessID = null;
                //    pfEntity.Year = null;
                //    //pfEntity.ApplyStyle = null;
                //    //pfEntity.ArchiveState = null;
                //    //pfEntity.Edition = null;

                //    if (pfEntity.Save() == false)
                //    {
                //        IMessage ms = new WebFormMessage(Page, pfEntity.ErrMsgs[0].ToString());
                //        ms.Show();
                //        return;
                //    }

                //}//创建
                //else
                //{
                //    if (pfEntity.Delete() == false)
                //    {
                //        IMessage ms = new WebFormMessage(Page, pfEntity.ErrMsgs[0].ToString());
                //        ms.Show();
                //        return;
                //    }

                //}//升版、注销

                if (pfEntity.Delete() == false)
                {
                    IMessage ms = new WebFormMessage(Page, pfEntity.ErrMsgs[0].ToString());
                    ms.Show();
                    return;
                }
                GetSearchList(true);
                //取消流程
                AgilePointWF ag = new AgilePointWF();
                WorkflowService api = ag.GetAPI();
                api.CancelProcInst(strProcessID);
                IMessage msg = new WebFormMessage(Page, "撤销成功。");
                msg.Show();
            }
            catch (Exception ex)
            {
                IMessage ms = new WebFormMessage(Page, ex.Message.Length > 300 ? ex.Message.Substring(0, 300) : ex.Message);
                ms.Show();
            }
        }
        /// <summary>
        /// 获取任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbnRetrieve_Click(object sender, EventArgs e)
        {
            try
            {
                String l_strWorkItemID = (sender as LinkButton).CommandName;
                String l_strTemplateName = (sender as LinkButton).CommandArgument;

                AgilePointWF ag = new AgilePointWF();

                WorkflowService l_objWorkFlowService = ag.GetAPI();

                FSWFManualWorkItem l_objManaulWorkItem = ag.GetWorkItem(l_strWorkItemID);

                if (l_objManaulWorkItem.Status == ProcessConstString.StepStatus.STATUS_NEW)
                {
                    l_objWorkFlowService.AssignWorkItem(l_strWorkItemID);
                    System.Threading.Thread.Sleep(500);

                    String sqlAP = String.Format("SELECT WORK_ITEM_ID FROM WF_MANUAL_WORKITEMS WHERE POOL_ID='{0}'", l_objManaulWorkItem.PoolID);
                    DataTable l_dtbDataTable = SQLHelper.GetDataTable2(sqlAP);
                    String l_strOthersWorkItemID = String.Empty;
                    String l_strOwnWorkItemID = String.Empty;
                    for (int i = 0; i < l_dtbDataTable.Rows.Count; i++)
                    {
                        if (i != 0)
                        {
                            l_strOthersWorkItemID += ",";
                        }
                        l_strOthersWorkItemID += "'" + l_dtbDataTable.Rows[i]["WORK_ITEM_ID"].ToString() + "'";

                        if (l_objManaulWorkItem.WorkItemID != l_dtbDataTable.Rows[i]["WORK_ITEM_ID"].ToString())
                        {
                            if (l_strOwnWorkItemID != "")
                            {
                                l_strOwnWorkItemID += ",";
                            }
                            l_strOwnWorkItemID += "'" + l_dtbDataTable.Rows[i]["WORK_ITEM_ID"].ToString() + "'";
                        }
                    }

                    //获得表名
                    String l_strTableName = TableName.GetWorkItemsTableName(l_strTemplateName);

                    String l_strExpression = String.Format("UPDATE {0} SET Is_Common=1 WHERE WorkItemID IN ({2})", l_strTableName, l_objManaulWorkItem.PoolID, l_strOthersWorkItemID);

                    if (l_strOwnWorkItemID != "")
                    {
                        l_strExpression += String.Format(";UPDATE {0} SET D_StepStatus='{1}' WHERE WorkItemID in ({2})", l_strTableName, ProcessConstString.StepStatus.STATUS_REMOVED, l_strOwnWorkItemID);
                    }
                    l_strExpression += String.Format(";UPDATE {0} SET D_StepStatus='{1}' WHERE WorkItemID ='{2}'", l_strTableName, ProcessConstString.StepStatus.STATUS_ASSIGNED, l_objManaulWorkItem.WorkItemID);

                    int ret = FounderSoftware.Framework.Business.Entity.RunNoQuery(l_strExpression);
                    if (ret > 0)
                    {
                        LoadTaskList();
                    }
                }
                else
                {
                    IMessage im = new WebFormMessage(Page, String.Format("这个任务已经被'{0}'接收了。", l_objManaulWorkItem.UserID));
                    im.Show();

                    LoadTaskList();
                }
            }
            catch (Exception ex)
            {
                IMessage im = new WebFormMessage(Page, ex.ToString());
                im.Show();
            }
        }
        /// <summary>
        /// 归还任务
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lbnRestore_Click(object sender, EventArgs e)
        {
            try
            {
                String l_strWorkItemID = (sender as LinkButton).CommandName;
                String l_strTemplateName = (sender as LinkButton).CommandArgument;
                AgilePointWF ag = new AgilePointWF();

                WorkflowService l_objWorkFlowService = ag.GetAPI();

                FSWFManualWorkItem l_objManaulWorkItem = ag.GetWorkItem(l_strWorkItemID);
                if (l_objManaulWorkItem.Status == ProcessConstString.StepStatus.STATUS_ASSIGNED && String.Compare(CurrentUserInfo.UserName, l_objManaulWorkItem.UserID, true) == 0)
                {
                    l_objWorkFlowService.UndoAssignWorkItem(l_strWorkItemID);
                    System.Threading.Thread.Sleep(500);

                    String l_strTableName = TableName.GetWorkItemsTableName(l_strTemplateName);
                    String sql = String.Format(";UPDATE {0} SET D_StepStatus='{1}' WHERE CommonID ='{2}'", l_strTableName, ProcessConstString.StepStatus.STATUS_NEW, l_objManaulWorkItem.PoolID);
                    int ret = FounderSoftware.Framework.Business.Entity.RunNoQuery(sql);
                    if (ret > 0)
                    {
                        LoadTaskList();
                    }
                }
                else
                {
                    IMessage im = new WebFormMessage(Page, String.Format("这个任务已经被'{0}'接收了。", l_objManaulWorkItem.UserID));
                    im.Show();
                    LoadTaskList();
                }
            }
            catch (Exception ex)
            {
                IMessage im = new WebFormMessage(Page, ex.ToString());
                im.Show();
            }
        }
示例#6
0
        /// <summary>
        /// 撤销流程
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void gvProgramFileList_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            string strID = gvProgramFileList.DataKeys[e.RowIndex].Value.ToString();
            bool   bFlag = false;

            foreach (string strRole in CurrentUserInfo.RoleName)
            {
                if (strRole == "OA系统管理员" || strRole == "OU系统管理员" || strRole.Contains("管理员") || strRole == ConstString.RoleName.QUALITY_MEMBER)
                {
                    bFlag = true;
                }
            }
            if (!bFlag)
            {
                IMessage ms = new WebFormMessage(Page, "只有\'OA系统管理员\'、\'OU系统管理员\'、\'管理员\'、\'质保人员\'可以撤销流程。");
                ms.Show();
                return;
            }
            try
            {
                B_ProgramFileInfo pfEntity = new B_ProgramFileInfo();
                pfEntity.ID = int.Parse(strID);
                string strProcessID = pfEntity.ProcessID;
                //if (pfEntity.ApplyStyle == ConstString.ProgramFile.PROGRAM_CREATE)
                //{
                //    pfEntity.ProcessID = null;
                //    pfEntity.Year = null;
                //    //pfEntity.ApplyStyle = null;
                //    //pfEntity.ArchiveState = null;
                //    //pfEntity.Edition = null;

                //    if (pfEntity.Save() == false)
                //    {
                //        IMessage ms = new WebFormMessage(Page, pfEntity.ErrMsgs[0].ToString());
                //        ms.Show();
                //        return;
                //    }

                //}//创建
                //else
                //{
                //    if (pfEntity.Delete() == false)
                //    {
                //        IMessage ms = new WebFormMessage(Page, pfEntity.ErrMsgs[0].ToString());
                //        ms.Show();
                //        return;
                //    }

                //}//升版、注销

                if (pfEntity.Delete() == false)
                {
                    IMessage ms = new WebFormMessage(Page, pfEntity.ErrMsgs[0].ToString());
                    ms.Show();
                    return;
                }
                GetSearchList(true);
                //取消流程
                AgilePointWF    ag  = new AgilePointWF();
                WorkflowService api = ag.GetAPI();
                api.CancelProcInst(strProcessID);
                IMessage msg = new WebFormMessage(Page, "撤销成功。");
                msg.Show();
            }
            catch (Exception ex)
            {
                IMessage ms = new WebFormMessage(Page, ex.Message.Length > 300 ? ex.Message.Substring(0, 300) : ex.Message);
                ms.Show();
            }
        }
        /// <summary>
        /// 提交按钮处理事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void SubmitBtn_Click(object sender, EventArgs e)
        {
            try
            {
                //提交动作
                string strActionName = ((Button)sender).Text.Trim();
                base.SubAction = strActionName;

                string strErrMsg = string.Empty;
                string strMessage = string.Empty;
                string strErrMessage = string.Empty;

                #region 传阅
                if (strActionName == ProcessConstString.SubmitAction.ProgramFile.ACTION_CIRCULATE)
                {
                    if (string.IsNullOrEmpty(hfCirculateUserID.Value) && string.IsNullOrEmpty(hfCirculateDeptID.Value))
                    {
                        JScript.Alert(ConstString.PromptInfo.ACTION_CHECK_CIRCULATE, true);
                        return;
                    }
                    try
                    {
                        base.Circulate(hfCirculateDeptID.Value, "0", string.Empty, hfCirculateUserID.Value, "1", true, string.Empty, false);

                        string strDay = OAConfig.GetConfig("传阅有效期", "天数");
                        int day = string.IsNullOrEmpty(strDay) ? -1 : int.Parse(strDay);
                        wfCirculateDate.Text = DateTime.Now.AddDays(day).ToString();
                        if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_QG)
                        {
                            QualityCheck();
                        }//质保审查
                        else if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_AUDIT)
                        {
                            AuditCheck();
                        }//审核
                        JScript.Alert(ConstString.PromptInfo.ACTION_CIRCULATE_SUC, true);
                        return;
                    }
                    catch (Exception ex)
                    {
                        JScript.Alert(ex.ToString(), true);
                        return;
                    }
                }
                #endregion

                #region 添加多条意见
                //添加意见按钮事件
                if (strActionName == ProcessConstString.SubmitAction.ProgramFile.ACTION_ADD_COMMENT)
                {
                    this.pnlComment.Visible = true;
                    this.btnCancel.Visible = true;
                    this.btnConfirm.Visible = true;
                    this.btnAdd.Visible = false;
                    return;
                }
                //确定按钮事件
                if (strActionName == ProcessConstString.SubmitAction.ProgramFile.ACTION_CONFIRM)
                {
                    if (string.IsNullOrEmpty(txtInfo2.Text.Trim()))
                    {
                        JScript.Alert(ConstString.PromptInfo.ACTION_CHECK_ADD_COMMENT, true);
                        return;
                    }
                    if (txtInfo2.Text.Trim().Length > 500)
                    {
                        JScript.Alert(ConstString.PromptInfo.ACTION_CHECK_CONTENT_LEN500, true);
                        return;
                    }
                    if (string.IsNullOrEmpty(hfEditIndex.Value))
                    {
                        CYiJian objYj = new CYiJian();

                        objYj.Content = SysString.InputText(txtInfo2.Text.Trim());
                        objYj.FinishTime = DateTime.Now.ToString();
                        objYj.ID = base.IdentityID.ToString();
                        objYj.ViewName = base.StepName;

                        /*开始    流程代理         */
                        if (OAConfig.GetConfig(ConstString.Config.Section.Start_WORKFLOW_AGENT, ConstString.Config.Key.IS_START) == "1" && wfReceiveUserID.Text != CurrentUserInfo.UserName)
                        {
                            objYj.UserName = wfReceiveUserName.Text;
                            objYj.UserID = wfReceiveUserID.Text;
                        }
                        else
                        {
                            objYj.UserName = CurrentUserInfo.DisplayName;
                            objYj.UserID = CurrentUserInfo.UserName;
                        }
                        /*结束              */
                        objYj.DeptID = base.StepName == ProcessConstString.StepName.ProgramFile.STEP_DEPTSIGN ? B_PF.GetDeptIDByUserID(ucBuMenHuiQian.UCGetHQList(), objYj.UserID) : string.Empty;

                        YiJianInfoList.Add(objYj);
                        txtInfo2.Text = string.Empty;
                        trYiJianHead.Visible = YiJianInfoList.Count > 0 ? true : false; ;

                        rptComment.DataSource = YiJianInfoList;
                        rptComment.DataBind();
                    }//添加意见
                    else
                    {
                        int index = int.Parse(hfEditIndex.Value);
                        Label lblContent = rptComment.Items[index].FindControl("lblContent") as Label;
                        lblContent.Text = SysString.InputText(txtInfo2.Text);
                        YiJianInfoList[index].Content = lblContent.Text;

                        this.pnlComment.Visible = false;
                        this.btnCancel.Visible = false;
                        btnConfirm.Visible = false;
                        this.btnAdd.Visible = true;
                        txtInfo2.Text = string.Empty;
                        hfEditIndex.Value = string.Empty;
                    }//修改意见
                    return;
                }
                //取消按钮事件
                if (strActionName == ProcessConstString.SubmitAction.ProgramFile.ACTION_CANCLE)
                {
                    this.pnlComment.Visible = false;
                    this.btnCancel.Visible = false;
                    this.btnConfirm.Visible = false;
                    this.btnAdd.Visible = true;
                    txtInfo2.Text = string.Empty;
                    hfEditIndex.Value = string.Empty;
                    return;
                }
                #endregion

                #region 处理落实情况
                //编写节点 处理 质保、部门会签、领导会签、批准意见
                if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_WRITE && pnlDealSign.Visible == true)
                {
                    B_PF bllProFile = new B_PF();

                    List<M_ProgramFile.DeptSign> deptSignList = B_PF.GetDeptSignList(rptDept, ucBuMenHuiQian.UCGetHQList());//部门会签意见
                    List<M_ProgramFile.LeaderSign> leaderSignList = B_PF.GetLeaderSignList(rptLeader, ucLDHuiQian.UCGetHQList());//领导会签
                    List<M_ProgramFile.QualityCheck> qualityCheckList = B_PF.GetQualityCheckList(rptQG);//质保审查
                    List<M_ProgramFile.PiZhun> piZhunList = B_PF.GetPiZhunList(rptPiZhun);//批准意见
                    List<B_PF> entityList = B_PF.GetpfEntityList(deptSignList, leaderSignList, qualityCheckList, piZhunList);
                    if (!bllProFile.EnTransSave(entityList))
                    {
                        JScript.Alert(ConstString.PromptInfo.ACTION_SUBMIT_DEAL_FAIL, true);
                        return;
                    }//更新当前提交的意见落实情况

                }
                //质保审查节点 处理批准意见
                if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_QG)
                {
                    List<M_ProgramFile.PiZhun> piZhunList = B_PF.GetPiZhunList(rptPiZhun);//批准意见
                    if (piZhunList.Count > 0)
                    {
                        B_PF.UpdateApproveDealCondition(piZhunList);
                    }
                }

                #endregion

                //保存
                if (strActionName == ProcessConstString.SubmitAction.ACTION_SAVE_DRAFT)
                {
                    B_PF bllProFile = ControlToEntity(true) as B_PF;

                    //用于提示信息
                    bllProFile.IsFormSave = true;

                    bllProFile.SubmitAction = strActionName;
                    if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_ASSIST_SIGN)
                    {
                        ReturnInfo l_objReturnInfo = FormSubmitForProFile(true, strActionName, string.Empty, FSWFStatus.Assigned.ToString(), bllProFile as EntityBase);
                        if (!l_objReturnInfo.IsSucess)
                        {
                            return;
                        }
                        JScript.Alert(ConstString.PromptInfo.ACTION_SAVE_SUC, true);
                    }
                    else
                    {
                        base.FormSubmit(true, strActionName, null, bllProFile as EntityBase);
                    }
                }
                else
                {
                    B_PF bllProFile = ControlToEntity(false) as B_PF;
                    bllProFile.IsFormSave = false;
                    bllProFile.SubmitAction = strActionName;
                    //撤销
                    if (strActionName == ProcessConstString.SubmitAction.ACTION_CANCEL)
                    {
                        base.FormCancel(bllProFile as EntityBase);
                    }
                    else
                    {
                        //验证及提示
                        bllProFile.GetSubmitMessage(base.StepName, strActionName, bllProFile, ref strErrMessage, ref strMessage);
                        if (!string.IsNullOrEmpty(strErrMessage))
                        {
                            JScript.Alert(strErrMessage, true);
                            return;
                        }

                        //表单验证
                        strErrMsg = bllProFile.SeverCheck(StepName, bllProFile);

                        if (!string.IsNullOrEmpty(strErrMsg))
                        {
                            JScript.Alert(strErrMsg, true);
                            return;
                        }
                        else
                        {
                            #region 分发节点 点击分发完成按钮 执行分发
                            if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_SEND &&
                                base.SubAction == ProcessConstString.SubmitAction.ProgramFile.ACTION_SEND_COMPLETE)
                            {
                                if (string.IsNullOrEmpty(hfSendDeptID.Value) && string.IsNullOrEmpty(hfSendUserID.Value))
                                {
                                    JScript.Alert(ConstString.PromptInfo.ACTION_CHECK_SEND, true);
                                    return;
                                }
                                try
                                {
                                    base.Circulate(hfSendDeptID.Value, "0", string.Empty, hfSendUserID.Value, "1", true, string.Empty, false);
                                }
                                catch (Exception ex)
                                {
                                    JScript.Alert(ex.ToString(), true);
                                    return;
                                }
                            }
                            #endregion

                            #region 分发节点 点击归档按钮 执行归档
                            if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_SEND &&
                               base.SubAction == ProcessConstString.SubmitAction.ProgramFile.ACTION_ARCHIVE)
                            {
                                bllProFile.ProgramType1 = B_ProgramFileInfo.GetProTypeName(bllProFile.ProgramFileID);
                                bllProFile.ProgramType2 = B_ProgramFileInfo.GetProSubTypeName(bllProFile.ProgramFileID);
                                string strDeptName = OADept.GetDeptByDeptID(bllProFile.SendDeptID).Name;
                                string strRes = string.Empty;
                                try//renjinquan改
                                {
                                    string strArchiveResult = Devolve(bllProFile, strDeptName, CurrentUserInfo.DisplayName, out strRes);
                                    base.Devolved(base.ProcessID, base.TemplateName);
                                    JScript.Alert("归档成功!\\n流水号:" + strRes, true);
                                }
                                catch (Exception ex)
                                {
                                    base.WriteLog(ex.Message);
                                    JScript.Alert("归档失败!请查看配置是否正确!", true);
                                }
                                //Regex.IsMatch(strArchiveResult, @"^\d+$") ? ConstString.PromptInfo.ACTION_ARCHIVE_SUC : strArchiveResult, true);
                                return;
                            }
                            #endregion

                            #region 程序发起、分发节点 更新程序文件信息
                            if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_WRITE)
                            {
                                ReturnInfo retInfo = B_ProgramFileInfo.GetUpdateMsg(bllProFile, ConstString.ProgramFile.PROGRAM_UNFINISHED);
                                if (retInfo.IsSucess == false)
                                {
                                    JScript.Alert(retInfo.ErrMessage, true);
                                    return;
                                }

                            }
                            if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_SEND &&
                                base.SubAction == ProcessConstString.SubmitAction.ProgramFile.ACTION_SEND_COMPLETE)
                            {
                                ReturnInfo retInfo = new ReturnInfo();
                                if (bllProFile.ApplyStyle == ConstString.ProgramFile.PROGRAM_DELETE)
                                {
                                    B_ProgramFileInfo bllFileInfo = new B_ProgramFileInfo();
                                    retInfo = bllFileInfo.IsLogout(bllProFile, ConstString.ProgramFile.PROGRAM_LOGOUT);
                                }//已注销
                                else
                                {
                                    retInfo = B_ProgramFileInfo.GetUpdateMsg(bllProFile, ConstString.ProgramFile.PROGRAM_ARCHIVED);
                                }//已归档
                                if (retInfo.IsSucess == false)
                                {
                                    JScript.Alert(retInfo.ErrMessage, true);
                                    return;
                                }
                            }

                            #endregion

                            Hashtable nValues = new Hashtable();

                            #region 协助会签
                            if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_DEPTSIGN)
                            {
                                if (strActionName == ProcessConstString.SubmitAction.ProgramFile.ACTION_ASSIGN)
                                {
                                    nValues = bllProFile.GetProcNameValue(base.StepName, strActionName, bllProFile);
                                    string strSubProcInstID = GetCreateSubProcessID(ProcessConstString.TemplateName.PROGRAM_FILE_ASSIGN_SIGN, nValues);
                                    bllProFile.ChildProcessID = strSubProcInstID;
                                    ReturnInfo l_objReturnInfo = FormSubmitForProFile(false, strActionName, string.Empty, FSWFStatus.Assigned.ToString(), bllProFile as EntityBase);
                                    if (!l_objReturnInfo.IsSucess)
                                    {
                                        return;
                                    }
                                    this.ShowMsgBox(this.Page, MsgType.VbInformation, strMessage, base.EntryAction);
                                    return;
                                }//交办
                                if (!string.IsNullOrEmpty(bllProFile.ChildProcessID) && strActionName == ProcessConstString.SubmitAction.ACTION_SUBMIT)
                                {
                                    AgilePointWF ag = new AgilePointWF();
                                    WorkflowService api = ag.GetAPI();
                                    WFEvent wfEvnet = api.CancelProcInst(bllProFile.ChildProcessID);
                                    if (wfEvnet.Error != null)
                                    {
                                        JScript.Alert(wfEvnet.Error, true);
                                        return;
                                    }
                                    bllProFile.ChildProcessID = string.Empty;
                                }//存在交办子流程 继续提交 撤销子流程
                            }
                            if (base.StepName == ProcessConstString.StepName.ProgramFile.STEP_ASSIST_SIGN)
                            {
                                if (strActionName == ProcessConstString.SubmitAction.ACTION_COMPLETE)
                                {
                                    ReturnInfo l_objReturnInfo = FormSubmitForProFile(false, strActionName, bllProFile.ParentTBID, FSWFStatus.Completed.ToString(), bllProFile as EntityBase);
                                    if (!l_objReturnInfo.IsSucess)
                                    {
                                        return;
                                    }
                                }
                                this.ShowMsgBox(this.Page, MsgType.VbInformation, strMessage, base.EntryAction);
                                return;
                            }

                            #endregion

                            //调用工作流
                            nValues = bllProFile.GetProcNameValue(base.StepName, strActionName, bllProFile);
                            base.FormSubmit(false, strActionName, nValues, bllProFile as EntityBase);
                        }
                    }
                }

                //流程节点结束提示
                if (!string.IsNullOrEmpty(strMessage))
                {
                    JScript.Alert(strMessage, true);
                }
            }
            catch (Exception ex)
            {
                JScript.Alert(ex.Message, true);
            }
        }