using BLL; using System; using System.Collections.Generic; 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.ZHGL.Environmental { public partial class OperationReport : PageBase { #region 加载页面 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //Funs.DropDownPageSize(this.ddlPageSize); //权限按钮方法 this.GetButtonPower(); BLL.ConstValue.InitConstValueDropDownList(this.drpYear, BLL.ConstValue.Group_0008, true); BLL.ConstValue.InitConstValueDropDownList(this.drpQuarters, BLL.ConstValue.Group_0011, true); DateTime showDate = DateTime.Now.AddMonths(-3); this.drpQuarters.SelectedValue = Funs.GetNowQuarterlyByTime(showDate).ToString(); this.drpYear.SelectedValue = showDate.Year.ToString(); this.drpUnit.DataTextField = "UnitName"; drpUnit.DataValueField = "UnitId"; drpUnit.DataSource = BLL.UnitService.GetThisUnitDropDownList(); drpUnit.DataBind(); this.drpUnit.Readonly = true; if (this.CurrUser != null && this.CurrUser.PageSize.HasValue) { Grid1.PageSize = this.CurrUser.PageSize.Value; } //this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 this.BindGrid(); } } /// /// 绑定数据 /// private void BindGrid() { string strSql = "select * from Environmental_OperationReport where 1=1 "; strSql += " AND UnitId = '" + CommonService.GetThisUnitId() + "'"; List listStr = new List(); if (this.drpYear.SelectedValue != BLL.Const._Null) { strSql += " AND Year = @Year"; listStr.Add(new SqlParameter("@Year", Funs.GetNewInt(this.drpYear.SelectedValue))); } if (this.drpQuarters.SelectedValue != BLL.Const._Null) { strSql += " AND Quarters = @Quarters "; listStr.Add(new SqlParameter("@Quarters", Funs.GetNewInt(this.drpQuarters.SelectedValue))); } //SqlParameter[] parameter = listStr.ToArray(); //DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); //Grid1.RecordCount = tb.Rows.Count; //var table = this.GetPagedDataTable(Grid1, tb); //Grid1.DataSource = table; //Grid1.DataBind(); Model.Environmental_OperationReport report = Funs.DB.Environmental_OperationReport.FirstOrDefault(e => e.UnitId == drpUnit.SelectedValue && e.Quarters == Funs.GetNewInt(this.drpQuarters.SelectedValue) && e.Year == Funs.GetNewInt(this.drpYear.SelectedValue)); if (report != null) { //根据主表id加载子表 var reportItem = Funs.DB.Environmental_OperationReportItem.Where(x => x.BusinessReportId == report.BusinessReportId) .OrderBy(x => x.SortIndex).ToList(); Grid1.DataSource = reportItem; Grid1.DataBind(); string upState = string.Empty; if (report.UpState == BLL.Const.UpState_3) { upState = "(已上报)"; } else { upState = "(未上报)"; } this.Grid1.Title = "中央企业节能环保和经营状况季报" + this.drpQuarters.SelectedItem.Text + this.drpYear.SelectedItem.Text + upState; } else { var upState = "(未上报)"; this.Grid1.Title = "中央企业节能环保和经营状况季报" + this.drpQuarters.SelectedItem.Text + this.drpYear.SelectedItem.Text + upState; this.Grid1.DataSource = null; this.Grid1.DataBind(); } } #endregion #region 查询 /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } #endregion #region 分页 排序 /// /// 改变索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 分页下拉选择事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { //this.Grid1.PageSize = Convert.ToInt32(this.ddlPageSize.SelectedValue); //BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { this.BindGrid(); } #endregion #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } #endregion #region 编辑\上报 /// /// 增加按钮 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OperationReportEdit.aspx?UnitId={0}&&Year={1}&&Quarter={2}", CommonService.GetThisUnitId(), this.drpYear.SelectedValue, this.drpQuarters.SelectedValue, "编辑 - "))); } /// /// 双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { this.EditData(); } /// /// 右键编辑事件 /// /// /// protected void btnMenuEdit_Click(object sender, EventArgs e) { this.EditData(); } /// /// 编辑数据方法 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID; var operationReport = Funs.DB.Environmental_OperationReport.FirstOrDefault(s => s.BusinessReportId == id); if (operationReport != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OperationReportEdit.aspx?UnitId={0}&&Year={1}&&Quarter={2}&&BusinessReportId={3}", CommonService.GetThisUnitId(), this.drpYear.SelectedValue, this.drpQuarters.SelectedValue, id, "编辑 - "))); } } /// /// 上报 /// /// /// protected void btnUpdata_Click(object sender, EventArgs e) { var currUnitId = CommonService.GetThisUnitId(); var year = this.drpYear.SelectedValue; var quarter = this.drpQuarters.SelectedValue; Model.Environmental_OperationReport report = Funs.DB.Environmental_OperationReport.Where(s => s.UnitId == currUnitId && s.Year.ToString() == year && s.Quarters.ToString() == quarter).FirstOrDefault(); if (report != null) { if (report.UpState=="3") { ShowNotify("当前报表已经上报!不能重复上报。", MessageBoxIcon.Warning); return; } PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("OperationReportEdit.aspx?UnitId={0}&&Year={1}&&Quarter={2}&&BusinessReportId={3}&type=Update", CommonService.GetThisUnitId(), this.drpYear.SelectedValue, this.drpQuarters.SelectedValue, report.BusinessReportId, "编辑 - "))); } else { ShowNotify("所选时间无报表记录!", MessageBoxIcon.Warning); } } #endregion #region 单位下拉选择事件 /// /// 单位下拉框联动事件 /// /// /// protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e) { var units = BLL.UnitService.GetUnitDropDownList(); if (units != null && !string.IsNullOrEmpty(this.drpUnit.SelectedText)) { var unit = units.FirstOrDefault(x => x.UnitName == this.drpUnit.SelectedText); if (unit != null) { drpUnit.SelectedValue = unit.UnitId; } } BindGrid(); } #endregion #region 删除 /// /// 右键删除事件 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var getD = Funs.DB.Environmental_OperationReport.FirstOrDefault(s => s.BusinessReportId == rowID); if (getD != null) { //先删子表 var list = Funs.DB.Environmental_OperationReportItem.Where(x => x.BusinessReportId == getD.BusinessReportId).ToList(); if (list.Count > 0) { Funs.DB.Environmental_OperationReportItem.DeleteAllOnSubmit(list); Funs.DB.SubmitChanges(); } BLL.LogService.AddSys_Log(this.CurrUser, null, getD.BusinessReportId, BLL.Const.OperationReportMenuId, BLL.Const.BtnDelete); Funs.DB.Environmental_OperationReport.DeleteOnSubmit(getD); Funs.DB.SubmitChanges(); } } ShowNotify("删除数据成功!", MessageBoxIcon.Success); this.BindGrid(); } } #endregion #region 打印 /// /// 打印 /// /// /// protected void btnPrint_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Grid1.SelectedRowID)) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("~/ReportPrint/ExReportPrint.aspx?reportId={0}&&replaceParameter={1}&&varValue={2}", Const.ProjectInformation_SafetyQuarterlyReportId, Grid1.SelectedRowID, "", "打印 - "))); } } #endregion #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { if (Request.Params["value"] == "0") { return; } string menuId = BLL.Const.OperationReportMenuId; if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { menuId = BLL.Const.ProjectOperationReportMenuId; } var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, menuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnNew.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDelete.Hidden = false; } } var unitId = CommonService.GetThisUnitId(); var year = Funs.GetNewIntOrZero(drpYear.SelectedValue); var quarter = Funs.GetNewIntOrZero(drpQuarters.SelectedValue); var getReport = Funs.DB.Environmental_OperationReport.Where(s => s.UnitId == unitId && s.Year == year && s.Quarters == quarter).FirstOrDefault(); if (getReport != null) { this.btnNew.Hidden = true; this.btnUpdata.Hidden = false; } } #endregion } }