using BLL; using FineUIPro.Web.DataShow; 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.SubPackManage { public partial class BaseSubPackPersonnel : PageBase { /// /// tree中的选择单位 /// public string ToolUnitId { get { return (string)ViewState["ToolUnitId"]; } set { ViewState["ToolUnitId"] = value; } } /// /// tree中的选择队伍 /// public string ToolBranchTeamListId { get { return (string)ViewState["ToolBranchTeamListId"]; } set { ViewState["ToolBranchTeamListId"] = value; } } /// /// tree中的选择班组 /// public string ToolTeamId { get { return (string)ViewState["ToolTeamId"]; } set { ViewState["ToolTeamId"] = value; } } protected void Page_Load(object sender, EventArgs e) { // 表头过滤 //FilterDataRowItem = FilterDataRowItemImplement; if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); this.InitTreeMenu(); BindGrid(); } } /// /// 过滤表头 /// /// /// protected void Grid1_FilterChange(object sender, EventArgs e) { BindGrid(); } /// /// 分页 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid(); } /// /// 绑定数据 /// public void BindGrid() { DataTable tb = SubPackPersonnelData(); Grid1.RecordCount = tb.Rows.Count; tb = GetFilteredTable(Grid1.FilteredData, tb); var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } /// /// 分页显示条数下拉框 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 查询按钮事件 /// /// /// protected void btnQuery_Click(object sender, EventArgs e) { BindGrid(); } protected void btnRset_Click(object sender, EventArgs e) { txtPersonName.Text =txtIdentityCard.Text = string.Empty; BindGrid(); } /// /// 数据查询 /// /// protected DataTable SubPackPersonnelData() { string selectNode = this.tvProjectAndUnit.SelectedNodeID; //劳务班组 string branchTeamListTeamId = string.Empty; string strSql = @"select a.SubPackPersonnelID,a.UnitId,a.PersonName,a.IdentityCard,a.Remark " + @",b.UnitName,c.BranchTeamListName,d.BranchTeamListTeamName,e.LaborTeamName " + @" from Base_SubPackPersonnel a " + @" left join Base_Unit b(NOLOCK) on a.UnitId=b.UnitId " + @" left join Base_BranchTeamList c(NOLOCK) on a.BranchTeamListId=c.BranchTeamListId " + @" left join Base_BranchTeamListTeam d(NOLOCK) on a.BranchTeamListTeamId=d.BranchTeamListTeamId " + @" left join Base_LaborTeam e(NOLOCK) on a.LaborTeamId=e.LaborTeamId " + @" Where 1=1 "; List listStr = new List(); //以叶子结点条件,其它父级节点不要查询 if (!string.IsNullOrWhiteSpace(selectNode)) { string[] nodeArr = selectNode.Split('|'); if (nodeArr.Length == 4) { branchTeamListTeamId = nodeArr[0]; strSql += " AND d.BranchTeamListTeamId =@BranchTeamListTeamId "; listStr.Add(new SqlParameter("@BranchTeamListTeamId", branchTeamListTeamId)); } else { strSql += " AND 1<>1 "; } } else { strSql += " AND 1<>1 "; } if (!string.IsNullOrWhiteSpace(txtPersonName.Text.Trim())) { strSql += " AND a.PersonName like '%'+ @personName + '%' "; listStr.Add(new SqlParameter("@personName", txtPersonName.Text.Trim())); } if (!string.IsNullOrWhiteSpace(txtIdentityCard.Text.Trim())) { strSql += " AND a.IdentityCard like '%'+ @IdentityCard + '%' "; listStr.Add(new SqlParameter("@IdentityCard", txtIdentityCard.Text.Trim())); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); return tb; } #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvProjectAndUnit_NodeCommand(object sender, TreeCommandEventArgs e) { BindGrid(); } #endregion /// /// 加载树 /// private void InitTreeMenu() { this.tvProjectAndUnit.Nodes.Clear(); var unit = (from x in BLL.Funs.DB.Base_Unit join y in BLL.Funs.DB.Base_BranchTeamList on x.UnitId equals y.UnitId group x by new { x.UnitId, x.UnitName } into g select new { UnitName = g.Key.UnitName, UnitId = g.Key.UnitId, }).ToList(); foreach (var item in unit) { TreeNode rootNode = new TreeNode(); rootNode = new TreeNode { Text = item.UnitName, NodeID = item.UnitId, ToolTip = "所属分包商", CommandName = "unit" }; rootNode.EnableClickEvent = true; this.tvProjectAndUnit.Nodes.Add(rootNode); } } protected void tvProjectAndUnit_NodeLazyLoad(object sender, TreeNodeEventArgs e) { DynamicAppendNode(e.Node); } private void DynamicAppendNode(TreeNode parentNode) { // 防止浏览器端多次快速点击 parentNode.Nodes.Clear(); TreeNode node = null; switch (parentNode.CommandName) { case "unit": GetBranchTeamList(parentNode.Nodes, parentNode); break; case "branchTeamList": GetLaborTeam(parentNode.Nodes, parentNode); break; case "laborTeam": GetBranchTeamListTeam(parentNode.Nodes, parentNode); break; } if (parentNode.Nodes.Count > 0) parentNode.Leaf = false; else parentNode.Leaf = true; } /// /// 加载劳务公司 /// /// /// private void GetBranchTeamList(TreeNodeCollection nodes, TreeNode parentNode) { var branchTeamList = (from x in BLL.Funs.DB.Base_BranchTeamList where x.UnitId == parentNode.NodeID select new { BranchTeamListId = x.BranchTeamListId, BranchTeamListName = x.BranchTeamListName, }).Distinct().ToList(); TreeNode newNode = null; foreach (var itme in branchTeamList) { newNode = new TreeNode { Text = itme.BranchTeamListName, NodeID = itme.BranchTeamListId + "|" + parentNode.NodeID, ToolTip = "劳务公司", CommandName = "branchTeamList" }; newNode.EnableClickEvent = true; nodes.Add(newNode); } } /// /// 加载劳务队伍 /// /// /// private void GetLaborTeam(TreeNodeCollection nodes, TreeNode parentNode) { string id = parentNode.NodeID.Split('|')[0]; var branchTeamList = (from x in BLL.Funs.DB.Base_LaborTeam where x.BranchTeamListId == id select new { LaborTeamId = x.LaborTeamId, LaborTeamName = x.LaborTeamName, }).Distinct().ToList(); TreeNode newNode = null; foreach (var itme in branchTeamList) { newNode = new TreeNode { Text = itme.LaborTeamName, NodeID = itme.LaborTeamId + "|" + parentNode.NodeID, ToolTip = "劳务队伍", CommandName = "laborTeam" }; newNode.EnableClickEvent = true; nodes.Add(newNode); } } /// /// 加载劳务队伍 /// /// /// private void GetBranchTeamListTeam(TreeNodeCollection nodes, TreeNode parentNode) { string id = parentNode.NodeID.Split('|')[0]; var branchTeamList = (from x in BLL.Funs.DB.Base_BranchTeamListTeam where x.LaborTeamId == id select new { BranchTeamListTeamId = x.BranchTeamListTeamId, BranchTeamListTeamName = x.BranchTeamListTeamName, }).Distinct().ToList(); TreeNode newNode = null; foreach (var itme in branchTeamList) { newNode = new TreeNode { Text = itme.BranchTeamListTeamName, NodeID = itme.BranchTeamListTeamId + "|" + parentNode.NodeID, ToolTip = "劳务班组", CommandName = "branchTeamListTeam", Leaf = true }; newNode.EnableClickEvent = true; nodes.Add(newNode); } } protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { if (e.CommandName == "ActionProject" ) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID.Split(',')[0]; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SubPackPersonnelProject.aspx?SubPackPersonnelID={0}", id))); } } /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning); return; } string id = Grid1.SelectedRowID.Split(',')[0]; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("SubPackPersonnelProject.aspx?SubPackPersonnelID={0}", id))); } } }