428 lines
16 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |