protected void btnExport_Click(object sender, EventArgs e)
 {
     if (!checkSearchConditionValid())
     {
         return;
     }
     else
     {
         string       queryExpession = getSearchCondition();
         int          stuffID        = ((AuthorizationDS.StuffUserRow)Session["StuffUser"]).StuffUserId;
         int          positionID     = ((AuthorizationDS.PositionRow)Session["Position"]).PositionId;
         int          limit          = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ExportCountLimit"]);
         FormQueryBLL bll            = new FormQueryBLL();
         int          count          = bll.QueryFormMaterialViewCountByRight(queryExpession, stuffID, positionID);
         if (count > limit)
         {
             PageUtility.ShowModelDlg(this.Page, "导出记录数不得超过" + limit + "条,请缩小查询条件");
             return;
         }
         try {
             Session.Timeout = 30;
             string fileID  = Guid.NewGuid().ToString();
             string outFile = Server.MapPath(@"~/" + saveFilePath) + @"\" + fileID + ".xls";
             System.Diagnostics.Debug.WriteLine("outFile := " + outFile);
             this.ExportDataGrid.DataSource = new FormMaterialViewForExportByRightTableAdapter().GetData(queryExpession, stuffID, positionID);
             this.ExportDataGrid.DataBind();
             string fileName = "FormMaterial" + DateTime.Now.ToString("yyyyMMddHHmmss");
             ToExcel(this.ExportDataGrid, fileName);
             Session.Timeout = 3;
         } catch (Exception ex) {
             PageUtility.DealWithException(this, ex);
         }
     }
 }
Esempio n. 2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        base.Page_Load(sender, e);
        if (!this.IsPostBack)
        {
            PageUtility.SetContentTitle(this.Page, "出差审批");
            this.Page.Title = "出差审批";
            int formID = int.Parse(Request["ObjectID"]);
            this.ViewState["ObjectId"] = formID;
            QueryDS.FormViewRow       rowForm  = new FormQueryBLL().GetFormViewByID(formID);
            FormDS.FormTravelApplyRow applyRow = this.PersonalReimburseBLL.GetFormTravelApplyByID(formID);
            if (rowForm.IsProcIDNull())
            {
                ViewState["ProcID"] = "";
            }
            else
            {
                ViewState["ProcID"] = rowForm.ProcID;
            }

            ViewState["OrganizationUnitID"] = rowForm.OrganizationUnitID;
            txtFormNo.Text = rowForm.FormNo;
            AuthorizationDS.StuffUserRow applicant = new AuthorizationBLL().GetStuffUserById(rowForm.UserID);
            this.StuffNameCtl.Text    = applicant.StuffName;
            this.PositionNameCtl.Text = new OUTreeBLL().GetPositionById(rowForm.PositionID).PositionName;

            if (new OUTreeBLL().GetOrganizationUnitById(rowForm.OrganizationUnitID) != null)
            {
                this.DepartmentNameCtl.Text = new OUTreeBLL().GetOrganizationUnitById(rowForm.OrganizationUnitID).OrganizationUnitName;
            }

            this.AttendDateCtl.Text = applicant.AttendDate.ToShortDateString();
            if (!applyRow.IsTransportFeeNull())
            {
                this.txtTransportFee.Text = applyRow.TransportFee.ToString("N");
            }
            if (!applyRow.IsHotelFeeNull())
            {
                this.txtHotelFee.Text = applyRow.HotelFee.ToString("N");
            }
            if (!applyRow.IsMealFeeNull())
            {
                this.txtMealFee.Text = applyRow.MealFee.ToString("N");
            }
            if (!applyRow.IsOtherFeeNull())
            {
                this.txtOtherFee.Text = applyRow.OtherFee.ToString("N");
            }
            if (!applyRow.IsTotalFeeNull())
            {
                this.txtTotal.Text = applyRow.TotalFee.ToString("N");
            }
            this.RemarkCtl.Text = applyRow.Remark;
            if (!applyRow.IsAttachedFileNameNull() && !applyRow.IsRealAttachedFileNameNull())
            {
                this.UCFileUpload.AttachmentFileName     = applyRow.RealAttachedFileName;
                this.UCFileUpload.RealAttachmentFileName = applyRow.RealAttachedFileName;
            }

            // 打开明细表
            FormTravelApplyDetailTableAdapter taDetail = new FormTravelApplyDetailTableAdapter();
            taDetail.FillByApplyID(this.InnerDS.FormTravelApplyDetail, formID);

            //历史单据
            if (rowForm.IsRejectedFormIDNull())
            {
                lblRejectFormNo.Text = "无";
            }
            else
            {
                FormDS.FormRow rejectedForm = this.PersonalReimburseBLL.GetFormByID(rowForm.RejectedFormID)[0];
                this.lblRejectFormNo.Text        = rejectedForm.FormNo;
                this.lblRejectFormNo.NavigateUrl = "javascript:window.showModalDialog('" + System.Configuration.ConfigurationManager.AppSettings["WebSiteUrl"] + "/OtherForm/TravelApproval.aspx?ShowDialog=1&ObjectID=" + rejectedForm.FormID + "','', 'dialogWidth:1000px;dialogHeight:750px;resizable:yes;')";
            }

            //审批页面处理&按钮处理
            AuthorizationDS.StuffUserRow stuffUser = (AuthorizationDS.StuffUserRow)Session["StuffUser"];
            this.ViewState["StuffUserID"] = stuffUser.StuffUserId;
            if (Session["ProxyStuffUserId"] == null && rowForm.InTurnUserIds.Contains("P" + stuffUser.StuffUserId + "P"))
            {
                this.SubmitBtn.Visible   = true;
                this.cwfAppCheck.IsView  = false;
                this.ViewState["IsView"] = false;
            }
            else
            {
                this.SubmitBtn.Visible   = false;
                this.cwfAppCheck.IsView  = true;
                this.ViewState["IsView"] = true;
            }

            if (rowForm.StatusID == (int)SystemEnums.FormStatus.Rejected && (stuffUser.StuffUserId == rowForm.UserID))
            {
                this.EditBtn.Visible  = true;
                this.ScrapBtn.Visible = true;
            }
            else
            {
                this.EditBtn.Visible  = false;
                this.ScrapBtn.Visible = false;
            }

            //如果是弹出,取消按钮不可见
            if (this.Request["ShowDialog"] != null)
            {
                if (this.Request["ShowDialog"].ToString() == "1")
                {
                    this.upButton.Visible = false;
                    this.Master.FindControl("divMenu").Visible       = false;
                    this.Master.FindControl("tbCurrentPage").Visible = false;
                }
            }
        }
        this.cwfAppCheck.FormID = (int)this.ViewState["ObjectId"];
        this.cwfAppCheck.ProcID = this.ViewState["ProcID"].ToString();
        this.cwfAppCheck.IsView = (bool)this.ViewState["IsView"];
    }
Esempio n. 3
0
    /// <summary>
    ///
    /// </summary>
    /// <returns></returns>
    /// <remarks></remarks>
    protected DataSet GetCheckWorkFlowData()
    {
        DataSet   ds = new DataSet();
        DataTable dt;

        //创建数据表
        dt = new DataTable();
        dt.Columns.Add(new DataColumn("RegionCaption", typeof(string)));
        dt.Columns.Add(new DataColumn("Approver", typeof(string)));
        dt.Columns.Add(new DataColumn("FlowStatus", typeof(string)));
        dt.Columns.Add(new DataColumn("AuditDate", typeof(string)));
        dt.Columns.Add(new DataColumn("Comment", typeof(string)));
        dt.Columns.Add(new DataColumn("IsView", typeof(int)));
        dt.Columns.Add(new DataColumn("IsPending", typeof(int)));
        dt.Columns.Add(new DataColumn("OnError", typeof(int)));
        dt.Columns.Add(new DataColumn("RejectReason", typeof(string)));
        dt.Columns.Add(new DataColumn("IsOutTime", typeof(int)));//是否超时

        //HU
        APHelper AP = CommonUtility.GetAPHelper(Session);

        lib.APWorkFlow.NodeStatusDataTable APTable = AP.getApprovalStatus(this.ProcID);
        if (APTable == null)
        {
            return(ds);
        }

        AuthorizationBLL authorizationBLL = new AuthorizationBLL();

        QueryDS.FormViewRow          formRow     = new FormQueryBLL().GetFormViewByID(this.FormID);
        AuthorizationDS.StuffUserRow stuffuserDr = authorizationBLL.GetStuffUserById(formRow.UserID);

        //创建节点,先创建申请节点
        DataRow dr;

        dr = dt.NewRow();
        dr["RegionCaption"] = strDraft;
        dr["Approver"]      = stuffuserDr.StuffName;
        dr["AuditDate"]     = formRow.SubmitDate.ToString("yyyy-MM-dd HH:mm");
        dr["FlowStatus"]    = submittedStatus;

        dr["Comment"]   = string.Empty;
        dr["IsView"]    = 0;
        dr["IsPending"] = 0;
        dr["OnError"]   = 0;
        dr["IsOutTime"] = 0;
        dt.Rows.Add(dr);
        //再创建审批节点
        foreach (lib.APWorkFlow.NodeStatusRow drwfh in APTable.Rows)
        {
            switch (DBNullConverter.ToStr(drwfh.STATUS))
            {
            //case (int)SystemEnums.FlowNodeStatus.Wait:
            //    generaAddPendingRowToDt(ref dt, drwfh, strApproving);
            //    break;
            case APHelper.FlowNodeStatus.ONERROR:
                if (this.IsView)
                {
                    generaAddErrorPendingRowToDt(ref dt, drwfh, strError);
                }
                else
                {
                    generaAddErrorInTurnRowToDt(ref dt, drwfh, strError, errorStatus);
                }
                break;

            case APHelper.FlowNodeStatus.ASSIGNED:
                if (this.IsView)
                {
                    generaAddPendingRowToDt(ref dt, drwfh, strApproving);
                }
                else
                {
                    generaAddInTurnRowToDt(ref dt, drwfh, strApproving, approvedStatus);
                }
                //if (this.ViewState["CurrentApproveIndex"] == null) {
                //    CurrentApproveIndex = int.Parse(drwfh["ApprovalIndex"].ToString());
                //    this.ViewState["CurrentApproveIndex"] = CurrentApproveIndex;
                //} else {
                //    CurrentApproveIndex = int.Parse(this.ViewState["CurrentApproveIndex"].ToString());
                //}
                break;

            case APHelper.FlowNodeStatus.APPROVED:
                generaAddRowToDt(ref dt, drwfh, strApproved, approvedStatus);
                break;

            case APHelper.FlowNodeStatus.CANCELLED:
                generaAddRowToDt(ref dt, drwfh, strReturnModify, rejectedStatus);
                break;

            default:
                break;
            }
        }
        for (int n = 0; n < dt.Rows.Count; n++)
        {
            DataRow dr1 = dt.Rows[n];
            DataRow dr2 = dt.Rows[n + 1];//后一个节点
            if (string.IsNullOrEmpty(dr2["AuditDate"].ToString()))
            {
                dr2["AuditDate"] = DateTime.Now.ToString();
            }
            TimeSpan ts = Convert.ToDateTime(dr2["AuditDate"]) - Convert.ToDateTime(dr1["AuditDate"]);
            if (ts.Days >= 2)
            {
                dr2["IsOutTime"] = 1;
            }
            else
            {
                dr2["IsOutTime"] = 0;
            }
            if (n + 1 == dt.Rows.Count - 1)
            {
                break;
            }
        }

        ds.Tables.Add(dt);
        return(ds);
    }