xinjiang/SGGL/FineUIPro.Web/HSSE/Technique/CheckItemSet.aspx.cs

428 lines
16 KiB
C#

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
/// <summary>
/// 绑定树节点
/// </summary>
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
/// <summary>
/// 遍历节点方法
/// </summary>
/// <param name="nodes">节点集合</param>
/// <param name="parentId">父节点</param>
private void GetNodes(TreeNodeCollection nodes, string parentId)
{
List<Model.Technique_CheckItemSet> 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
/// <summary>
/// 点击TreeView
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 页索引改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
#endregion
#region
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
#region
/// <summary>
/// 分页选择下拉改变事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
#endregion
#region
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 右键修改事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModifyDetail_Click(object sender, EventArgs e)
{
EditData();
}
/// <summary>
/// 编辑数据方法
/// </summary>
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();
}
/// <summary>
/// 删除明细方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 关闭弹出窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
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
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
/// <summary>
/// 删除检查项方法
/// </summary>
/// <param name="supCheckItem"></param>
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);
}
}
}
}
}