using BLL; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.ReportManage.EnergyReport { public partial class EnergyWaterConservation : PageBase { #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { ////权限按钮方法 this.GetButtonPower(); this.drpProjectId.Hidden = true; this.Grid1.Columns[1].Hidden = true; } else { BLL.ProjectService.InitAllProjectDropDownList(this.drpProjectId, true); this.btnNew.Hidden = true; this.btnImport.Hidden = true; } btnNew.OnClientClick = Window1.GetShowReference("EnergyWaterConservationEdit.aspx") + "return false;"; btnImport.OnClientClick = Window1.GetShowReference("EnergyWaterConservationIn.aspx") + "return false;"; ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 BindGrid(); } } private DataTable tb = null; /// /// 绑定数据 /// private void BindGrid() { string strSql = @"SELECT W.EnergyWaterConservationId, W.ProjectId, W.EnergySavingIndex, W.WaterSavingIndex, W.EnergySavingSchemes, W.WaterSavingSchemes, W.SelfEvaluation, W.Summary, W.SupportingDocuments, W.ActualEnergySaving, W.ActualWaterSaving, ISNULL(CAST(W.EnergySavingCompletionRate AS VARCHAR(50)),'0') + '%' AS EnergySavingCompletionRate, ISNULL(CAST(W.WaterSavingCompletionRate AS VARCHAR(50)),'0') + '%' AS WaterSavingCompletionRate, W.CompileMan, W.CompileDate, W.Remarks, P.ProjectName FROM EnergyReport_EnergyWaterConservation W LEFT JOIN Base_Project P on P.ProjectId = W.ProjectId WHERE 1=1 "; List listStr = new List(); if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { strSql += " AND W.ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); } else { if (this.drpProjectId.SelectedValue != BLL.Const._Null && !string.IsNullOrEmpty(this.drpProjectId.SelectedValue)) { strSql += " AND W.ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.drpProjectId.SelectedValue)); } } SqlParameter[] parameter = listStr.ToArray(); tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); OutputSummaryData(); } #endregion private void OutputSummaryData() { int EnergySavingIndex = 0; int WaterSavingIndex = 0; int ActualEnergySaving = 0; int ActualWaterSaving = 0; foreach (DataRow row in tb.Rows) { EnergySavingIndex += Convert.ToInt32(row["EnergySavingIndex"]); WaterSavingIndex += Convert.ToInt32(row["WaterSavingIndex"]); ActualEnergySaving += Convert.ToInt32(row["ActualEnergySaving"]); ActualWaterSaving += Convert.ToInt32(row["ActualWaterSaving"]); } JObject summary = new JObject(); if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { summary.Add("tfNumber", "合计"); } else { summary.Add("ProjectName", "合计"); } summary.Add("EnergySavingIndex", EnergySavingIndex.ToString()); summary.Add("WaterSavingIndex", WaterSavingIndex.ToString()); summary.Add("ActualEnergySaving", ActualEnergySaving.ToString()); summary.Add("ActualWaterSaving", ActualWaterSaving.ToString()); if (EnergySavingIndex > 0) { double rate = (double)ActualEnergySaving / EnergySavingIndex * 100; int roundRate = (int)Math.Round(rate); summary.Add("EnergySavingCompletionRate", roundRate + "%"); } else { summary.Add("EnergySavingCompletionRate", "0%"); } if (WaterSavingIndex > 0) { double rate = (double)ActualWaterSaving / WaterSavingIndex * 100; int roundRate = (int)Math.Round(rate); summary.Add("WaterSavingCompletionRate", roundRate + "%"); } else { summary.Add("WaterSavingCompletionRate", "0%"); } Grid1.SummaryData = summary; } #region 表排序、分页、关闭窗口 /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 关闭弹出窗 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region Grid双击事件 /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnMenuModify_Click(null, null); } #endregion #region 编辑 /// /// 编辑按钮 /// /// /// protected void btnMenuModify_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("EnergyWaterConservationEdit.aspx?energyWaterConservationId={0}", this.Grid1.SelectedRowID, "编辑 - "))); } #endregion #region 删除 /// /// 批量删除 /// /// /// protected void btnMenuDel_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { var db = Funs.DB; foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); if (!string.IsNullOrEmpty(rowID)) { BLL.EnergyWaterConservationService.DeleteEnergyWaterConservationById(rowID); BLL.LogService.AddSys_Log(this.CurrUser, rowID, rowID, BLL.Const.EnergyWaterConservationMenuId, BLL.Const.BtnDelete); } } BindGrid(); ShowNotify("删除数据成功!"); } } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { try { if (Request.Params["value"] == "0") { return; } var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.EnergyWaterConservationMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnNew.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnMenuModify.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDel.Hidden = false; } } } catch (Exception e) { } } #endregion #region Grid行点击事件 /// /// Grid行点击事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { } #endregion #region 查询 protected void drpProjectId_SelectedIndexChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 附件显示 /// /// 附件显示 /// /// /// protected string ConvertAttachUrl(object id) { string url = string.Empty; if (id != null) { var report = BLL.EnergyWaterConservationService.GetEnergyWaterConservationById(id.ToString()); if (report != null) { Model.AttachFile file = Funs.DB.AttachFile.FirstOrDefault(e => e.ToKeyId == id.ToString()); if (file != null && !string.IsNullOrEmpty(file.AttachUrl)) { url = BLL.UploadAttachmentService.ShowAttachment("../", file.AttachUrl); } } } return url; } #endregion } }