예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            B_HSEdit    l_BusReceiveEdit  = null;
            B_Circulate l_BusCirculate    = null;
            DataTable   l_dtbCirculate    = null;
            DataTable   l_dtbProcessSteps = null;
            String      l_strRegisterID   = null;

            B_LetterReceive l_objWorkItem = null;

            WFBaseProcessInstance l_objProcessInstance = null;

            if (!Page.IsPostBack)
            {
                this.ucAttachment.UCIsEditable = false;

                PreviousPageUrl     = Request.UrlReferrer.ToString();
                l_strRegisterID     = Request.QueryString[ConstString.QueryString.REGISTER_ID];
                l_BusReceiveEdit    = new B_HSEdit();
                l_BusReceiveEdit.ID = Convert.ToInt32(l_strRegisterID);

                if (l_BusReceiveEdit == null)
                {
                    ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "当前的ID或者无效,或者已经被删除!");
                    return;
                }

                this.ucAttachment.UCTemplateName = l_BusReceiveEdit.ProcessName;

                PopulateField(l_BusReceiveEdit);

                if (String.IsNullOrEmpty(l_BusReceiveEdit.ProcessID))
                {
                    divPrompt.Visible = true;
                    return;
                }
                l_objProcessInstance = FS.OA.Framework.WorkFlow.WFFactory.GetWF(FS.OA.Framework.WorkFlow.WFType.AgilePoint).GetAPI().GetProcInst(l_BusReceiveEdit.ProcessID);

                if (l_objProcessInstance != null)
                {
                    m_strProcessTemplate = l_objProcessInstance.DefName;

                    String l_strCirculateTableName = FS.ADIM.OA.BLL.Common.TableName.GetCirculateTableName(l_objProcessInstance.DefName);
                    l_BusCirculate          = new B_Circulate(l_strCirculateTableName);
                    l_dtbCirculate          = l_BusCirculate.GetCirculatesByID(l_strCirculateTableName, l_BusReceiveEdit.ProcessID, 0);
                    gdvCirculate.DataSource = l_dtbCirculate;
                    gdvCirculate.DataBind();

                    l_objWorkItem = new B_LetterReceive();

                    l_dtbProcessSteps = l_objWorkItem.GetStepsByProcessID(l_BusReceiveEdit.ProcessID, TableName.WorkItemsTableName.T_OA_HS_WorkItems + ((l_objProcessInstance.Status == ProcessConstString.ProcessStatus.STATUS_COMPLETED || l_objProcessInstance.Status == ProcessConstString.ProcessStatus.STATUS_CANCELED) ? "_BAK" : ""));

                    DataView l_dtvDataView = new DataView(l_dtbProcessSteps);
                    l_dtvDataView.RowFilter = "D_StepStatus = 'Completed'";

                    rptProcessDetail.DataSource = l_dtvDataView;
                    rptProcessDetail.DataBind();
                }
            }
        }
        /// <summary>
        /// 修改按钮处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnModify_Click(object sender, EventArgs e)
        {
            B_HSEdit l_BusReceiveEdit = null;

            if (String.IsNullOrEmpty(txtDocumentNo.Text.TrimEnd()))
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbExclamation, "请先选择一条收文记录!");
                return;
            }

            if (!VerifyEditField())
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "表单验证失败");
                return;
            }

            l_BusReceiveEdit    = new B_HSEdit();
            l_BusReceiveEdit.ID = Convert.ToInt32(txtRegisterID.Text);

            if (l_BusReceiveEdit.CreateDate == DateTime.MinValue)
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "当前收文登记信息已经被删除,不能做修改动作!");
                return;
            }

            PopulateEntity(l_BusReceiveEdit);

            if (l_BusReceiveEdit.Save())
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbInformation, "保存成功");
                PopulateEditField(l_BusReceiveEdit);
                LoadRegisterList();
            }
        }
 /// <summary>
 /// 详细信息按钮处理
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void btnDetail_Click(object sender, EventArgs e)
 {
     if (String.IsNullOrEmpty(txtDocumentNo.Text.TrimEnd()))
     {
         ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbExclamation, "请先选择一条收文记录!");
         return;
     }
     Response.Redirect("Container.aspx?ClassName=FS.ADIM.OA.WebUI.WorkFlow.Receive.ReDetail.PG_HSReDetail&" + ConstString.QueryString.REGISTER_ID + "=" + Convert.ToString(txtRegisterID.Text), true);
 }
        protected void btnQuery_Click(object sender, EventArgs e)
        {
            if (!VerifyQueryField())
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "表单验证失败");
                return;
            }

            LoadRegisterList();
        }
        /// <summary>
        /// 查询按钮的处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnQuery_Click(object sender, EventArgs e)
        {
            B_ReceiveEdit l_BusReceiveEdit = null;

            if (!VerifyQueryField())
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "表单验证失败");
                return;
            }

            l_BusReceiveEdit = new B_ReceiveEdit();

            l_BusReceiveEdit.ProcessName = ProcessTemplate;

            //收文号-从
            l_BusReceiveEdit.ReceiveNoFrom = txtQueryDocNoFrom.Text.TrimEnd();

            //收文号-到
            l_BusReceiveEdit.ReceiveNoTo = txtQueryDocNoTo.Text.TrimEnd();

            //文件标题
            l_BusReceiveEdit.DocumentTitle = txtQueryDocTitle.Text.TrimEnd();

            //收文日期-从
            if (ValidateUtility.IsDateTime(txtQueryRecDateFrom.Text.TrimEnd()))
            {
                l_BusReceiveEdit.ReceiveDateFrom = txtQueryRecDateFrom.ValDate;
            }

            //收文日期-到
            if (ValidateUtility.IsDateTime(txtQueryRecDateTo.Text.TrimEnd()))
            {
                l_BusReceiveEdit.ReceiveDateTo = txtQueryRecDateTo.ValDate;
            }

            //来文单位
            l_BusReceiveEdit.ReceiveUnit = txtQueryRecUnit.Text.TrimEnd();

            //收文年份
            l_BusReceiveEdit.ReceiveYear = ddlQueryRecYear.Text.TrimEnd();

            //状态
            if (ddlQueryStatus.SelectedItem != null)
            {
                l_BusReceiveEdit.Status = ddlQueryStatus.SelectedItem.Text;
            }
            l_BusReceiveEdit.Start = this.gdvList.PageIndex * this.gdvList.PageSize;
            l_BusReceiveEdit.End   = this.gdvList.PageIndex * this.gdvList.PageSize + this.gdvList.PageSize;
            l_BusReceiveEdit.Sort  = null;

            this.gdvList.DataSource  = l_BusReceiveEdit.QueryRegisterInfo(l_BusReceiveEdit);
            this.gdvList.RecordCount = l_BusReceiveEdit.RowCount;
            this.gdvList.DataBind();
        }
        //private string TID
        //{
        //    get
        //    {
        //        if (ViewState["id"] == null)
        //        {
        //            if (Request.QueryString[ConstString.QueryString.REGISTER_ID] != null)
        //            {
        //                ViewState["id"] = Request.QueryString[ConstString.QueryString.REGISTER_ID].ToString();
        //            }
        //            else
        //            {
        //                ViewState["id"] = "";
        //            }
        //        }
        //        return ViewState["id"].ToString();
        //    }
        //}

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                ProcessTemplate = Request.QueryString[ConstString.QueryString.TEMPLATE_NAME];
                PreviousPageUrl = Request.UrlReferrer.ToString();
                if (String.IsNullOrEmpty(ProcessTemplate))
                {
                    ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "没有指定收文流程模版!", "Container.aspx?ClassName=FS.ADIM.OA.WebUI.WorkflowMenu.ToDoTask.PG_WaitHandle");
                    return;
                }

                //收文年份默认加载前后十年,并且默认选择当前年份
                int l_intYear = DateTime.Now.Year;
                for (int i = l_intYear - 10; i < l_intYear + 10; i++)
                {
                    ddlQueryRecYear.Items.Add(i.ToString());
                }

                this.ucCompanyQuery.UCNameControl = this.txtQueryRecUnit.ClientID;
            }
        }
        /// <summary>
        /// 新增按钮处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAddNew_Click(object sender, EventArgs e)
        {
            B_HSEdit l_BusReceiveEdit = null;

            //表单的合法性验证
            if (!VerifyEditField())
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbCritical, "表单验证失败");
                return;
            }

            l_BusReceiveEdit = new B_HSEdit();
            PopulateEntity(l_BusReceiveEdit);
            l_BusReceiveEdit.DocumentNo = B_ReceiveID.GenerateReceiveNo(DateTime.Now.Year.ToString(), TemplateName);

            if (l_BusReceiveEdit.Save())
            {
                JScript.ShowMsgBox(Page, "新增成功", false);
                PopulateEditField(l_BusReceiveEdit);
                LoadRegisterList();
            }
        }
        /// <summary>
        /// 启动流程按钮处理
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnLaunch_Click(object sender, EventArgs e)
        {
            B_HSEdit l_BusReceiveEdit = null;

            if (String.IsNullOrEmpty(txtDocumentNo.Text.TrimEnd()))
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbExclamation, "请先选择一条收文记录!");
                return;
            }

            l_BusReceiveEdit = new B_HSEdit();

            l_BusReceiveEdit.ID = Convert.ToInt32(txtRegisterID.Text);

            if (!String.IsNullOrEmpty(l_BusReceiveEdit.ProcessID))
            {
                ValidateUtility.ShowMsgBox(this.Page, FS.ADIM.OA.BLL.Common.Utility.MessageType.VbExclamation, "当前选择的收文登记记录已经启动!");
                return;
            }

            String l_strSuffix = ConstString.QueryString.REGISTER_ID + "=" + Convert.ToString(txtRegisterID.Text);

            Response.Redirect("Container.aspx?ClassName=FS.ADIM.OA.WebUI.WorkFlow.Receive.PG_LetterReceived&TemplateName=" + Server.UrlEncode(ProcessConstString.TemplateName.LETTER_RECEIVE) + "&" + l_strSuffix, true);
        }