using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.Technique { public partial class CheckItemSet : PageBase { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); GetButtonPower(); //获取按钮权限 ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); this.ckType.SelectedValue = "1"; CheckItemSetDataBind();//加载树 } } private void BindGrid() { this.Grid1.DataSource = null; this.Grid1.DataBind(); string strSql = @"SELECT CheckItemDetailId,CheckItemSetId,CheckContent,SortIndex,IsBuiltIn FROM dbo.Technique_CheckItemDetail where CheckItemSetId=@CheckItemSetId"; SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@CheckItemSetId",this.tvCheckItemSet.SelectedNodeID) }; DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #region 绑定树节点 /// /// 绑定树节点 /// private void CheckItemSetDataBind() { this.tvCheckItemSet.Nodes.Clear(); this.tvCheckItemSet.SelectedNodeID = string.Empty; TreeNode rootNode = new TreeNode { Text = "检查项", Expanded = true, NodeID = "0" };//定义根节点 this.tvCheckItemSet.Nodes.Add(rootNode); this.GetNodes(rootNode.Nodes, null); } #region 遍历节点方法 /// /// 遍历节点方法 /// /// 节点集合 /// 父节点 private void GetNodes(TreeNodeCollection nodes, string parentId) { List checkItemSet = null; if (parentId == null) { checkItemSet = (from x in Funs.DB.Technique_CheckItemSet where x.SupCheckItem == "0" && x.CheckType == this.ckType.SelectedValue orderby x.SortIndex select x).ToList(); } else { checkItemSet = (from x in Funs.DB.Technique_CheckItemSet where x.SupCheckItem == parentId && x.CheckType == this.ckType.SelectedValue orderby x.SortIndex select x).ToList(); } foreach (var q in checkItemSet) { var isEnd = BLL.Technique_CheckItemSetService.IsEndLevel(q.CheckItemSetId); TreeNode newNode = new TreeNode { Text = q.CheckItemName, NodeID = q.CheckItemSetId }; if (isEnd) { newNode.EnableClickEvent = true; } nodes.Add(newNode); } for (int i = 0; i < nodes.Count; i++) { GetNodes(nodes[i].Nodes, nodes[i].NodeID); } } #endregion #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvCheckItemSet_NodeCommand(object sender, TreeCommandEventArgs e) { if (this.tvCheckItemSet.SelectedNodeID != "0" && this.tvCheckItemSet.SelectedNode != null) { this.Grid1.DataSource = null; this.Grid1.DataBind(); BindGrid(); } } #endregion #region 页索引改变事件 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 分页选择下拉改变事件 /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion #region 右键增加、修改、删除检查项方法 /// /// 增加 /// /// /// protected void btnMenuNew_Click(object sender, EventArgs e) { if (this.tvCheckItemSet.SelectedNode != null) { var q = BLL.Technique_CheckItemSetService.GetCheckItemSetById(this.tvCheckItemSet.SelectedNodeID); if (q == null) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CheckItemEdit.aspx?supCheckItem=0&checkType={0}", this.ckType.SelectedValue, "新建 - "))); } else if (q.IsEndLever != true) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CheckItemEdit.aspx?supCheckItem={0}&checkType={1}", q.CheckItemSetId, this.ckType.SelectedValue, "新建 - "))); } else { Alert.ShowInTop("选择的项已是末级!", MessageBoxIcon.Warning); } } else { ShowNotify("请选择树节点!", MessageBoxIcon.Warning); } } /// /// 右键修改事件 /// /// /// protected void btnMenuModify_Click(object sender, EventArgs e) { if (this.tvCheckItemSet.SelectedNode != null && this.tvCheckItemSet.SelectedNodeID != "0") { this.hdSelectId.Text = this.tvCheckItemSet.SelectedNode.NodeID; var q = BLL.Technique_CheckItemSetService.GetCheckItemSetById(this.tvCheckItemSet.SelectedNodeID); if (q != null) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("CheckItemEdit.aspx?supCheckItem={0}&checkItemSetId={1}&checkType={2}", q.SupCheckItem, q.CheckItemSetId,this.ckType.SelectedValue, "编辑 - "))); } } else { ShowNotify("请选择树节点!", MessageBoxIcon.Warning); } } /// /// 右键删除事件 /// /// /// protected void btnMenuDel_Click(object sender, EventArgs e) { if (this.tvCheckItemSet.SelectedNode != null) { string checkItemSetId = this.tvCheckItemSet.SelectedNodeID; var q = BLL.Technique_CheckItemSetService.GetCheckItemSetById(checkItemSetId); if (q != null && BLL.Technique_CheckItemSetService.IsDeleteCheckItemSet(checkItemSetId)) { BLL.LogService.AddSys_Log(this.CurrUser, q.MapCode, q.CheckItemSetId, BLL.Const.CheckTypeSetMenuId, BLL.Const.BtnDelete); BLL.Technique_CheckItemSetService.DeleteCheckItemSet(checkItemSetId); CheckItemSetDataBind(); Alert.ShowInTop("删除成功!"); } else { Alert.ShowInTop("存在下级菜单或已增加检查项明细,不允许删除!"); } } else { ShowNotify("请选择树节点!", MessageBoxIcon.Warning); } } #endregion #region 增加、修改、删除检查项明细事件 protected void btnNewDetail_Click(object sender, EventArgs e) { if (tvCheckItemSet.SelectedNode != null) { var checkItem = BLL.Technique_CheckItemSetService.GetCheckItemSetById(tvCheckItemSet.SelectedNodeID); if (checkItem != null && checkItem.IsEndLever == true) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckItemDetailEdit.aspx?checkItemSetId={0}", tvCheckItemSet.SelectedNodeID, "新增 - "))); } else { Alert.ShowInTop("请选择最后一级节点添加!", MessageBoxIcon.Warning); } } else { Alert.ShowInTop("请选择检查项!", MessageBoxIcon.Warning); } } /// /// 编辑 /// /// /// protected void btnMenuModifyDetail_Click(object sender, EventArgs e) { EditData(); } /// /// 编辑数据方法 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInParent("请至少选择一条记录!"); return; } string Id = Grid1.SelectedRowID; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("CheckItemDetailEdit.aspx?checkItemSetId={0}&checkItemDetailId={1}", tvCheckItemSet.SelectedNodeID, Id, "修改 - "))); } protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { EditData(); } /// /// 删除明细方法 /// /// /// protected void btnMenuDelDetail_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var getV = BLL.Technique_CheckItemDetailService.GetCheckItemDetailById(rowID); if (getV != null) { BLL.LogService.AddSys_Log(this.CurrUser, getV.SortIndex.ToString(), getV.CheckItemSetId, BLL.Const.TechniqueCheckItemSetMenuId, Const.BtnDelete); BLL.Technique_CheckItemDetailService.DeleteCheckItemDetail(rowID); } } BindGrid(); ShowNotify("删除数据成功!"); } } #endregion #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } protected void Window2_Close(object sender, WindowCloseEventArgs e) { CheckItemSetDataBind(); } #endregion protected void ckType_SelectedIndexChanged(object sender, EventArgs e) { this.CheckItemSetDataBind();//加载树 this.BindGrid(); } #region 获取权限按钮 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.TechniqueCheckItemSetMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnMenuNew.Hidden = false; this.btnNewDetail.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnMenuModify.Hidden = false; this.btnMenuModifyDetail.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDel.Hidden = false; this.btnMenuDelDetail.Hidden = false; this.btnDelete.Hidden = false; } } } #endregion /// /// /// /// /// protected void btnDelete_Click(object sender, EventArgs e) { string checkType = this.ckType.SelectedValue; var checkItems = from x in Funs.DB.Technique_CheckItemSet where x.CheckType == checkType select x; if (checkItems.Count() > 0) { foreach (var item in checkItems) { BLL.LogService.AddSys_Log(this.CurrUser, item.MapCode, item.CheckItemSetId, BLL.Const.TechniqueCheckItemSetMenuId, Const.BtnDelete); DeleteCheckItemSet(item.CheckItemSetId); } } this.CheckItemSetDataBind();//加载树 this.BindGrid(); } /// /// 删除检查项方法 /// /// private void DeleteCheckItemSet(string supCheckItem) { var checkItemSet = from x in Funs.DB.Technique_CheckItemSet where x.SupCheckItem == supCheckItem select x; if (checkItemSet.Count() > 0) { foreach (var item in checkItemSet) { DeleteCheckItemSet(item.CheckItemSetId); } this.CheckItemSetDataBind();//加载树 this.BindGrid(); } else { var checkItemSetEnd = Funs.DB.Technique_CheckItemSet.FirstOrDefault(x => x.CheckItemSetId == supCheckItem); if (checkItemSetEnd != null) { ///删除详细项 BLL.Technique_CheckItemDetailService.DeleteCheckItemDetailByCheckItemSetId(checkItemSetEnd.CheckItemSetId); ////删除检查项 BLL.Technique_CheckItemSetService.DeleteCheckItemSet(checkItemSetEnd.CheckItemSetId); ////删除检查项 BLL.Technique_CheckItemSetService.DeleteCheckItemSet(checkItemSetEnd.SupCheckItem); } } } } }