342 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			342 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | 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 BaseLaborTeamList : PageBase | |||
|  |     { | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             // 表头过滤 | |||
|  |             //FilterDataRowItem = FilterDataRowItemImplement; | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 Funs.DropDownPageSize(this.ddlPageSize); | |||
|  | 
 | |||
|  |                 this.InitTreeMenu(); | |||
|  | 
 | |||
|  |                 BindGrid(); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 加载树 | |||
|  |         /// </summary> | |||
|  |         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; | |||
|  |             } | |||
|  |             if (parentNode.Nodes.Count > 0) | |||
|  |                 parentNode.Leaf = false; | |||
|  |             else | |||
|  |                 parentNode.Leaf = true; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 加载劳务公司 | |||
|  |         /// </summary> | |||
|  |         /// <param name="nodes"></param> | |||
|  |         /// <param name="parentId"></param> | |||
|  |         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); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 加载劳务队伍 | |||
|  |         /// </summary> | |||
|  |         /// <param name="nodes"></param> | |||
|  |         /// <param name="parentId"></param> | |||
|  |         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", | |||
|  |                     Leaf = true | |||
|  | 
 | |||
|  |                 }; | |||
|  | 
 | |||
|  |                 newNode.EnableClickEvent = true; | |||
|  |                 nodes.Add(newNode); | |||
|  |             } | |||
|  |         } | |||
|  | 
 | |||
|  |         #region 点击TreeView | |||
|  |         /// <summary> | |||
|  |         /// 点击TreeView | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void tvProjectAndUnit_NodeCommand(object sender, TreeCommandEventArgs e) | |||
|  |         { | |||
|  |             BindGrid(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 过滤表头 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Grid1_FilterChange(object sender, EventArgs e) | |||
|  |         { | |||
|  |             BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 分页 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) | |||
|  |         { | |||
|  |             Grid1.PageIndex = e.NewPageIndex; | |||
|  |             BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 排序 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Grid1_Sort(object sender, GridSortEventArgs e) | |||
|  |         { | |||
|  |             BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 绑定数据 | |||
|  |         /// </summary> | |||
|  | 
 | |||
|  |         public void BindGrid() | |||
|  |         { | |||
|  |             DataTable tb = BranchTeamListTeamData(); | |||
|  | 
 | |||
|  |             Grid1.RecordCount = tb.Rows.Count; | |||
|  | 
 | |||
|  |             tb = GetFilteredTable(Grid1.FilteredData, tb); | |||
|  |             var table = this.GetPagedDataTable(Grid1, tb); | |||
|  | 
 | |||
|  |             Grid1.DataSource = table; | |||
|  |             Grid1.DataBind(); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <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(); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 查询按钮事件 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnQuery_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  |         protected void btnRset_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             txtCaptainName.Text = txtCaptainIDCard.Text = txtLaborTeamName.Text = txtProjectName.Text = string.Empty; | |||
|  | 
 | |||
|  | 
 | |||
|  |             BindGrid(); | |||
|  |         } | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 数据查询 | |||
|  |         /// </summary> | |||
|  |         /// <returns></returns> | |||
|  |         protected DataTable BranchTeamListTeamData() | |||
|  |         { | |||
|  |             string selectNode = this.tvProjectAndUnit.SelectedNodeID; | |||
|  |             //劳务队伍 | |||
|  |             string laborTeamId = string.Empty; | |||
|  | 
 | |||
|  |             string strSql = @"select a.LaborTeamId,a.ProjectId,a.UnitId,a.BranchTeamListId,a.LaborTeamName,a.Remark,a.SortIndex,isnull(a.State,'0')State,a.CaptainName,a.CaptainIDCard " | |||
|  |                          + @",c.UnitName,b.SubPackTeamListName BranchTeamListName,d.ProjectName " | |||
|  |                          + @" FROM SubPack_LaborTeam a(NOLOCK) " | |||
|  |                          + @" left join View_SubPack_TeamList b(NOLOCK) on a.BranchTeamListId=b.SubPackTeamListDetailID " | |||
|  |                          + @" left join Base_Unit c(NOLOCK) on a.UnitId=c.UnitId " | |||
|  |                          + @" left join Base_Project d(NOLOCK) on a.ProjectId=d.ProjectId " | |||
|  |                          + @" where 1=1 "; | |||
|  | 
 | |||
|  |             List<SqlParameter> listStr = new List<SqlParameter>(); | |||
|  | 
 | |||
|  |             //以叶子结点条件,其它父级节点不要查询 | |||
|  |             if (!string.IsNullOrWhiteSpace(selectNode)) | |||
|  |             { | |||
|  |                 string[] nodeArr = selectNode.Split('|'); | |||
|  |                 if (nodeArr.Length == 3) | |||
|  |                 { | |||
|  |                     laborTeamId = nodeArr[0]; | |||
|  |                     //劳务队伍 | |||
|  |                     if (!string.IsNullOrWhiteSpace(laborTeamId)) | |||
|  |                     { | |||
|  |                         strSql += " AND a.CaptainIDCard in (select CaptainIDCard from Base_LaborTeam(NOLOCK) where LaborTeamId=@LaborTeamId) "; | |||
|  |                         listStr.Add(new SqlParameter("@LaborTeamId", laborTeamId)); | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     strSql += " AND 1<>1 "; | |||
|  |                 } | |||
|  |             } | |||
|  |             else { | |||
|  |                 strSql += " AND 1<>1 "; | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  |             if (!string.IsNullOrWhiteSpace(txtLaborTeamName.Text.Trim())) | |||
|  |             { | |||
|  |                 strSql += " AND a.LaborTeamName like '%'+ @LaborTeamName + '%' "; | |||
|  |                 listStr.Add(new SqlParameter("@LaborTeamName", txtLaborTeamName.Text.Trim())); | |||
|  |             } | |||
|  |             if (!string.IsNullOrWhiteSpace(txtProjectName.Text.Trim())) | |||
|  |             { | |||
|  |                 strSql += " AND d.ProjectName like '%'+ @ProjectName + '%' "; | |||
|  |                 listStr.Add(new SqlParameter("@ProjectName", txtProjectName.Text.Trim())); | |||
|  |             } | |||
|  |             if (!string.IsNullOrWhiteSpace(txtCaptainName.Text.Trim())) | |||
|  |             { | |||
|  |                 strSql += " AND a.CaptainName like '%'+ @CaptainName + '%' "; | |||
|  |                 listStr.Add(new SqlParameter("@CaptainName", txtCaptainName.Text.Trim())); | |||
|  |             } | |||
|  |             if (!string.IsNullOrWhiteSpace(txtCaptainIDCard.Text.Trim())) | |||
|  |             { | |||
|  |                 strSql += " AND a.CaptainIDCard like '%'+ @CaptainIDCard + '%' "; | |||
|  |                 listStr.Add(new SqlParameter("@CaptainIDCard", txtCaptainIDCard.Text.Trim())); | |||
|  |             } | |||
|  | 
 | |||
|  | 
 | |||
|  |             SqlParameter[] parameter = listStr.ToArray(); | |||
|  |             DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); | |||
|  |             return tb; | |||
|  |         } | |||
|  | 
 | |||
|  |         /// <summary> | |||
|  |         /// 把状态转换代号为文字形式 | |||
|  |         /// </summary> | |||
|  |         /// <param name="state"></param> | |||
|  |         /// <returns></returns> | |||
|  |         protected string ConvertState(object state) | |||
|  |         { | |||
|  |             if (state != null) | |||
|  |             { | |||
|  |                 if (state.ToString() == "0") | |||
|  |                 { | |||
|  |                     return "正常"; | |||
|  |                 } | |||
|  |                 else if (state.ToString() == "1") | |||
|  |                 { | |||
|  |                     return "黑名单"; | |||
|  |                 } | |||
|  |                 else | |||
|  |                 { | |||
|  |                     return ""; | |||
|  |                 } | |||
|  |             } | |||
|  |             return ""; | |||
|  |         } | |||
|  |     } | |||
|  | } |