362 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			362 lines
		
	
	
		
			12 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 BaseBranchTeamListTeam : 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;
 | 
						|
                case "laborTeam":
 | 
						|
                    GetBranchTeamListTeam(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"
 | 
						|
                };
 | 
						|
 | 
						|
                newNode.EnableClickEvent = true;
 | 
						|
                nodes.Add(newNode);
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 加载劳务班组
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="nodes"></param>
 | 
						|
        /// <param name="parentId"></param>
 | 
						|
        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);
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        #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)
 | 
						|
        {
 | 
						|
            txtBranchTeamListTeamName.Text = txtProjectName.Text = string.Empty;
 | 
						|
 | 
						|
            BindGrid();
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 数据查询
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        protected DataTable BranchTeamListTeamData()
 | 
						|
        {
 | 
						|
            string selectNode = this.tvProjectAndUnit.SelectedNodeID;
 | 
						|
            //劳务班组
 | 
						|
            string branchTeamListTeamId = string.Empty;
 | 
						|
 | 
						|
            string strSql = @"select a.BranchTeamListTeamId,a.UnitId,a.BranchTeamListId,a.BranchTeamListTeamName,a.Remark,a.SortIndex,isnull(a.State,'0')State,a.MonitorName,a.MonitorIDCard,a.ProjectId,a.LaborTeamId "
 | 
						|
                          + @",c.UnitName,b.SubPackTeamListName BranchTeamListName,d.LaborTeamName,e.ProjectName "
 | 
						|
                          + @" FROM SubPack_BranchTeamListTeam 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 SubPack_LaborTeam d(NOLOCK) on a.LaborTeamId=d.LaborTeamId "
 | 
						|
                          + @" left join Base_Project e(NOLOCK) on a.ProjectId=e.ProjectId "
 | 
						|
                          + @" where 1=1 ";
 | 
						|
 | 
						|
            List<SqlParameter> listStr = new List<SqlParameter>();
 | 
						|
 | 
						|
            //以叶子结点条件,其它父级节点不要查询
 | 
						|
            if (!string.IsNullOrWhiteSpace(selectNode))
 | 
						|
            {
 | 
						|
                string[] nodeArr = selectNode.Split('|');
 | 
						|
                if (nodeArr.Length == 4)
 | 
						|
                {
 | 
						|
                    branchTeamListTeamId = nodeArr[0];
 | 
						|
                    //公司级班组查询项目级班组
 | 
						|
                    if (!string.IsNullOrWhiteSpace(branchTeamListTeamId))
 | 
						|
                    {
 | 
						|
                        strSql += " AND a.MonitorIDCard in (select MonitorIDCard from Base_BranchTeamListTeam where BranchTeamListTeamId=@BranchTeamListTeamId) ";
 | 
						|
                        listStr.Add(new SqlParameter("@BranchTeamListTeamId", branchTeamListTeamId));
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else {
 | 
						|
                    strSql += " AND 1<>1 ";
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else {
 | 
						|
                strSql += " AND 1<>1 ";
 | 
						|
            }
 | 
						|
 | 
						|
            if (!string.IsNullOrWhiteSpace(txtBranchTeamListTeamName.Text.Trim()))
 | 
						|
            {
 | 
						|
                strSql += " AND a.BranchTeamListTeamName like '%'+ @branchTeamListTeamName + '%' ";
 | 
						|
                listStr.Add(new SqlParameter("@branchTeamListTeamName", txtBranchTeamListTeamName.Text.Trim()));
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrWhiteSpace(txtProjectName.Text.Trim()))
 | 
						|
            {
 | 
						|
                strSql += " AND e.ProjectName like '%'+ @ProjectName + '%' ";
 | 
						|
                listStr.Add(new SqlParameter("@ProjectName", txtProjectName.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 "";
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |