using BLL; using FineUIPro.Web.BaseInfo; using Model; using NPOI.SS.Formula.Functions; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Diagnostics; using System.Linq; using System.Text; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.HiddenInspection { public partial class HiddenRectificationList : PageBase { #region 定义项 /// /// GV被选择项列表 /// public List ItemSelectedList { get { return (List)ViewState["ItemSelectedList"]; } set { ViewState["ItemSelectedList"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); GetButtonPower(); this.ItemSelectedList = new List(); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); List handleSteps = new List(); Model.HandleStep handleStep1 = new Model.HandleStep(); handleStep1.Id = "1"; handleStep1.Name = "待整改"; handleSteps.Add(handleStep1); Model.HandleStep handleStep2 = new Model.HandleStep(); handleStep2.Id = "2"; handleStep2.Name = "已整改-待复查验收"; handleSteps.Add(handleStep2); Model.HandleStep handleStep3 = new Model.HandleStep(); handleStep3.Id = "3"; handleStep3.Name = "已闭环"; handleSteps.Add(handleStep3); SetProblemTypes(); SetUnitProject(); SetResponsibleUnit(); this.txtStartTime.Text = DateTime.Today.ToString("yyyy-MM-dd"); this.txtEndTime.Text = DateTime.Today.ToString("yyyy-MM-dd"); BindGrid(); } } /// /// 绑定数据 /// private void BindGrid() { string strSql = "SELECT * FROM View_Hazard_HazardRegister WHERE ProblemTypes in ('1' ,'2') "; List listStr = new List(); if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { strSql += " AND ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); } if (!string.IsNullOrEmpty(this.txtCheckMan.Text.Trim())) { strSql += " AND CheckManName LIKE @CheckMan"; listStr.Add(new SqlParameter("@CheckMan", "%" + this.txtCheckMan.Text.Trim() + "%")); } if (this.txtType.SelectedText.Trim() != "请选择" && !string.IsNullOrEmpty(this.txtType.SelectedText.Trim())) { strSql += " AND RectifyName = @Type"; listStr.Add(new SqlParameter("@Type", this.txtType.SelectedText.Trim())); } if (!string.IsNullOrEmpty(this.txtWorkAreaName.SelectedText)&&this.txtWorkAreaName.SelectedText.Trim() != "请选择" ) { strSql += " AND Place = @Place"; listStr.Add(new SqlParameter("@Place", this.txtWorkAreaName.SelectedText.Trim())); } if (!string.IsNullOrEmpty(this.txtWorkAreaName.Text.Trim())) { strSql += " AND Place LIKE @Place"; listStr.Add(new SqlParameter("@Place", "%" + this.txtWorkAreaName.Text.Trim() + "%")); } if (!string.IsNullOrEmpty(this.txtResponsibilityUnitName.Text.Trim())&&this.txtResponsibilityUnitName.SelectedText.Trim() != "请选择" ) { strSql += " AND ResponsibilityUnitName = @ResponsibilityUnitName"; listStr.Add(new SqlParameter("@ResponsibilityUnitName", this.txtResponsibilityUnitName.SelectedText.Trim())); } if (!string.IsNullOrEmpty(txtStartTime.Text.Trim())) { strSql += " AND CheckTime >= @StartTime"; listStr.Add(new SqlParameter("@StartTime", string.Format("{0} {1}", this.txtStartTime.Text.Trim(), "00:00:00"))); } if (!string.IsNullOrEmpty(this.txtEndTime.Text.Trim())) { strSql += " AND CheckTime <= @EndTime"; listStr.Add(new SqlParameter("@EndTime", string.Format("{0} {1}", this.txtEndTime.Text.Trim(), "23:59:59"))); } //if (!CommonService.IsMainUnitOrAdmin(this.CurrUser.UserId)) //{ // strSql += " AND (ResponsibleUnit =@ResponsibleUnit OR SendUnitId=@SendUnitId)"; // listStr.Add(new SqlParameter("@ResponsibleUnit", this.CurrUser.UnitId)); // listStr.Add(new SqlParameter("@SendUnitId", this.CurrUser.UnitId)); //} 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(); } #endregion #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) { btnMenuSee_Click(null, null); } #endregion #region 问题类型下拉框赋值 public void SetProblemTypes() { txtType.DataValueField = "RectifyId"; txtType.DataTextField = "RectifyName"; List list = (from x in Funs.DB.Technique_Rectify select x).ToList(); list.Insert(0, new Model.Technique_Rectify() { RectifyId = "-1", RectifyName = "请选择" }); txtType.DataSource = list; txtType.DataBind(); } #endregion #region 单位工程下拉框赋值 public void SetUnitProject() { List list = new List() { new Model.WBS_UnitWork() { UnitWorkId = "-1", UnitWorkName = "请选择" } }; if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { list.AddRange((from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId select x).ToList()); } txtWorkAreaName.DataValueField = "UnitWorkId"; txtWorkAreaName.DataTextField = "UnitWorkName"; txtWorkAreaName.DataSource = list; txtWorkAreaName.DataBind(); } #endregion #region 责任单位下拉框赋值 public void SetResponsibleUnit() { List list = new List() { new Model.UnitItem() { UnitId = "-1", UnitName = "请选择" } }; if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { list.AddRange((from x in Funs.DB.Project_ProjectUnit join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId where x.ProjectId == this.CurrUser.LoginProjectId select new Model.UnitItem() { UnitId = y.UnitId, UnitName = y.UnitName }).ToList()); } txtResponsibilityUnitName.DataValueField = "UnitId"; txtResponsibilityUnitName.DataTextField = "UnitName"; txtResponsibilityUnitName.DataSource = list; txtResponsibilityUnitName.DataBind(); } #endregion #region 查看 /// /// 查看按钮 /// /// /// protected void btnMenuSee_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string RegistrationId = Grid1.SelectedRowID; var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId); if (registration != null) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationView.aspx?HazardRegisterId={0}", RegistrationId, "查看 - "))); } } #endregion #region 编辑 /// /// 编辑按钮 /// /// /// protected void btnMenuModify_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string RegistrationId = Grid1.SelectedRowID; var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId); if (registration != null) { if (registration.States == Const.State_1) //待整改 { if (registration.CheckManId == this.CurrUser.UserId) //当前人是检查人,可以在整改前继续编辑 { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationAdd.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - "))); } else { Alert.ShowInTop("您不是记录检查人,无法编辑!", MessageBoxIcon.Warning); return; } } else if (registration.States == Const.State_2) //已整改待确认 { if (registration.ResponsibleMan == this.CurrUser.UserId) //当前人是责任人,可以在确认前继续编辑 { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationRectify.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - "))); } else { Alert.ShowInTop("您不是记录责任人,无法编辑!", MessageBoxIcon.Warning); return; } } else if (registration.States == Const.State_3) //已闭环 { Alert.ShowInTop("该记录已闭环,无法编辑!", MessageBoxIcon.Warning); return; } } } #endregion #region 整改 /// /// 整改按钮 /// /// /// protected void btnMenuRectify_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string RegistrationId = Grid1.SelectedRowID; var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId); if (registration != null) { if (registration.States == "1") //待整改 { if (registration.ResponsibleMan == this.CurrUser.UserId) //当前人是责任人,可以进行整改操作 { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationRectify.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - "))); } else { Alert.ShowInTop("您不是记录责任人,无法整改!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("该记录不是待整改状态,无法进行整改操作!", MessageBoxIcon.Warning); return; } } } #endregion #region 确认 /// /// 确认按钮 /// /// /// protected void btnMenuConfirm_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string RegistrationId = Grid1.SelectedRowID; var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId); if (registration != null) { if (registration.States == Const.State_2) //待确认 { if (registration.CheckManId == this.CurrUser.UserId) //当前人是检查人,可以进行确认操作 { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationConfirm.aspx?HazardRegisterId={0}", RegistrationId, "编辑 - "))); } else { Alert.ShowInTop("您不是记录检查人,无法确认!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("该记录不是待确认状态,无法进行确认操作!", MessageBoxIcon.Warning); return; } } } #endregion #region 编制 /// /// 编制 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnAdd)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("HiddenRectificationAdd.aspx", "登记 - "))); } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #endregion #region Grid行点击事件 /// /// Grid行点击事件 /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string RegistrationId = Grid1.DataKeys[e.RowIndex][0].ToString(); Model.HSSE_Hazard_HazardRegister hazardRegister = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId); if (e.CommandName == "IsSelected") { CheckBoxField checkField = (CheckBoxField)Grid1.FindColumn("ckbIsSelected"); if (checkField.GetCheckedState(e.RowIndex)) { if (!ItemSelectedList.Contains(RegistrationId)) { ItemSelectedList.Add(RegistrationId); } } else { if (ItemSelectedList.Contains(RegistrationId)) { ItemSelectedList.Remove(RegistrationId); } } } if (e.CommandName == "del") { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete)) { if (hazardRegister.States != Const.State_3 || this.CurrUser.UserId == BLL.Const.hfnbdId) //待整改 { var getD = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(RegistrationId); if (getD != null) { BLL.LogService.AddSys_Log(this.CurrUser, getD.HazardCode, getD.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete); BLL.HSSE_Hazard_HazardRegisterService.DeleteHazardRegisterByHazardRegisterId(RegistrationId); BindGrid(); ShowNotify("删除成功!", MessageBoxIcon.Success); } } else { Alert.ShowInTop("已闭环,无法删除!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } } #endregion #region 删除 /// /// 右键删除事件 /// /// /// protected void btnMenuDelete_Click(object sender, EventArgs e) { if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete)) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); Model.HSSE_Hazard_HazardRegister hazardRegister = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(rowID); //if (hazardRegister.States == Const.State_3 || this.CurrUser.UserId == BLL.Const.hfnbdId) //待整改 //{ BLL.LogService.AddSys_Log(this.CurrUser, hazardRegister.HazardCode, hazardRegister.HazardRegisterId, BLL.Const.HSSE_HiddenRectificationListMenuId, BLL.Const.BtnDelete); BLL.HSSE_Hazard_HazardRegisterService.DeleteHazardRegisterByHazardRegisterId(rowID); //} //else //{ // Alert.ShowInTop("已闭环,无法删除!", MessageBoxIcon.Warning); // return; //} } BindGrid(); ShowNotify("删除成功!", MessageBoxIcon.Success); } } else { Alert.ShowInTop("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning); return; } } #endregion #region 格式化字符串 /// /// 获取整改前图片 /// /// /// protected string ConvertImageUrl(object registrationId) { string url = string.Empty; if (registrationId != null) { var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString()); if (registration != null) { url = BLL.UploadAttachmentService.ShowAttachment("../../", registration.ImageUrl); } } return url; } protected string ConvertProblemTypes(object registrationId) { string url = string.Empty; if (registrationId != null) { if (registrationId.ToString() == "1") { return "日常巡检"; }else if (registrationId.ToString() == "2") { return "专项检查"; } } return url; } protected string ConvertCheckItemName(object CheckItemDetailId) { if (CheckItemDetailId != null&&!string.IsNullOrEmpty(CheckItemDetailId.ToString())) { var detail = Funs.DB.Check_CheckSpecialDetail.FirstOrDefault(xx => xx.CheckSpecialDetailId == CheckItemDetailId.ToString()); if (detail != null) { var special = Funs.DB.Check_CheckSpecial.FirstOrDefault(x => x.CheckSpecialId == detail.CheckSpecialId); if (special != null) { var checkItemSet = Funs.DB.Technique_CheckItemSet.FirstOrDefault(x => x.CheckItemSetId == special.CheckItemSetId); if (checkItemSet != null) { return checkItemSet.CheckItemName; } } } } return ""; } /// /// 获取整改前图片(放于Img中) /// /// /// protected string ConvertImageUrlByImage(object registrationId) { string url = string.Empty; if (registrationId != null) { var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString()); if (registration != null) { url = BLL.UploadAttachmentService.ShowImage(ConfigurationManager.AppSettings["CEMS_IMG_URL"], registration.ImageUrl); } } return url; } /// /// 获取整改后图片 /// /// /// protected string ConvertImgUrl(object registrationId) { string url = string.Empty; if (registrationId != null) { var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString()); if (registration != null) { url = BLL.UploadAttachmentService.ShowAttachment(ConfigurationManager.AppSettings["CEMS_IMG_URL"], registration.RectificationImageUrl); } } return url; } /// /// 获取整改后图片(放于Img中) /// /// /// protected string ConvertImgUrlByImage(object registrationId) { string url = string.Empty; if (registrationId != null) { var registration = BLL.HSSE_Hazard_HazardRegisterService.GetHazardRegisterByHazardRegisterId(registrationId.ToString()); if (registration != null) { url = BLL.UploadAttachmentService.ShowImage(ConfigurationManager.AppSettings["CEMS_IMG_URL"], registration.RectificationImageUrl); } } return url; } #endregion #region 导出按钮 /// 导出按钮 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("日常巡检" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; this.Grid1.PageSize = 100000; this.BindGrid(); Response.Write(GetGridTableHtml(Grid1)); Response.End(); } #pragma warning disable CS0108 // “HiddenRectificationList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid) #pragma warning restore CS0108 // “HiddenRectificationList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); foreach (GridColumn column in grid.Columns) { if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "Punish" && column.ColumnID != "Del") { sb.AppendFormat("", column.HeaderText); } } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { if (column.ColumnID != "ckbIsSelected" && column.ColumnID != "Punish" && column.ColumnID != "Del") { string html = row.Values[column.ColumnIndex].ToString(); if (column.ColumnID == "tfPageIndex") { html = (row.FindControl("lblPageIndex") as AspNet.Label).Text; } if (column.ColumnID == "tfImageUrl") { html = (row.FindControl("lbtnImageUrl") as AspNet.LinkButton).Text; } if (column.ColumnID == "tfRectificationImageUrl") { html = (row.FindControl("lbtnRectificationImageUrl") as AspNet.LinkButton).Text; } if (column.ColumnID == "ProblemTypes") { html = (row.FindControl("lbProblemTypes") as AspNet.Label).Text; } if (column.ColumnID == "CheckItemName") { html = (row.FindControl("lbCheckItemName") as AspNet.Label).Text; } //if (column.ColumnID == "tfImageUrl1") //{ // if (rbOutType.SelectedValue == "1") // { // html = (row.FindControl("lbImageUrl1") as AspNet.Label).Text; // } // else // { // html = ""; // } //} //if (column.ColumnID == "tfImageUrl2") //{ // if (rbOutType.SelectedValue == "1") // { // html = (row.FindControl("lbImageUrl2") as AspNet.Label).Text; // } // else // { // html = ""; // } //} //if (column.ColumnID == "tfCutPayment") //{ // html = (row.FindControl("lbtnCutPayment") as AspNet.LinkButton).Text; //} sb.AppendFormat("", html); } } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion #region 查询 /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { Console.WriteLine("TextBox_TextChanged", this.txtType.SelectedText); //if (!string.IsNullOrEmpty(this.txtStartRectificationTime.Text.Trim()) && !string.IsNullOrEmpty(this.txtEndRectificationTime.Text.Trim())) //{ // if (Funs.GetNewDateTime(this.txtStartRectificationTime.Text.Trim()) > Funs.GetNewDateTime(this.txtEndRectificationTime.Text.Trim())) // { // Alert.ShowInTop("开始时间不能大于结束时间!", MessageBoxIcon.Warning); // return; // } //} this.BindGrid(); } #endregion /// /// /// /// /// protected void Window3_Close(object sender, WindowCloseEventArgs e) { //if (!string.IsNullOrEmpty(this.hdRemark.Text)) //{ string hazardRegisterIds = string.Empty; foreach (var item in ItemSelectedList) { hazardRegisterIds += item + ","; } if (!string.IsNullOrEmpty(hazardRegisterIds)) { hazardRegisterIds = hazardRegisterIds.Substring(0, hazardRegisterIds.LastIndexOf(",")); } // PageContext.RegisterStartupScript(Window4.GetShowReference(String.Format("HiddenRectificationPrint.aspx?HazardRegisterIds={0}&CheckType={1}", hazardRegisterIds,"0", "查看 - "))); //} } #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { try { if (Request.Params["value"] == "0") { return; } var buttonList = CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, Const.HSSE_HiddenRectificationListMenuId); if (buttonList.Count() > 0) { //if (buttonList.Contains(Const.BtnAdd)) //{ // this.btnRectify.Hidden = false; // this.btnConfirm.Hidden = false; //} //if (buttonList.Contains(Const.BtnModify)) //{ // this.btnModify.Hidden = false; //} if (buttonList.Contains(Const.BtnDelete)) { this.btnMenuDelete.Hidden = false; } } } catch(Exception ex) { } } #endregion } }