933 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			933 lines
		
	
	
		
			42 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Web;
							 | 
						|||
| 
								 | 
							
								using System.Web.UI;
							 | 
						|||
| 
								 | 
							
								using System.Web.UI.WebControls;
							 | 
						|||
| 
								 | 
							
								using System.Data;
							 | 
						|||
| 
								 | 
							
								using BLL;
							 | 
						|||
| 
								 | 
							
								using System.IO;
							 | 
						|||
| 
								 | 
							
								using System.Data.SqlClient;
							 | 
						|||
| 
								 | 
							
								using Newtonsoft.Json.Linq;
							 | 
						|||
| 
								 | 
							
								using AspNet = System.Web.UI.WebControls;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace FineUIPro.Web.CQMS.WBS
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public partial class ControlPoint : PageBase
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        #region  页面加载
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 页面加载
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void Page_Load(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!IsPostBack)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                GetButtonPower();
							 | 
						|||
| 
								 | 
							
								                InitTreeMenu();
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[2].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[3].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[4].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[5].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[7].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[8].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[9].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[10].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[11].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[12].Hidden = false;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  加载树
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 加载树
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private void InitTreeMenu()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            this.trWBS.Nodes.Clear();
							 | 
						|||
| 
								 | 
							
								            this.trWBS.ShowBorder = false;
							 | 
						|||
| 
								 | 
							
								            this.trWBS.ShowHeader = false;
							 | 
						|||
| 
								 | 
							
								            this.trWBS.EnableIcons = true;
							 | 
						|||
| 
								 | 
							
								            this.trWBS.AutoScroll = true;
							 | 
						|||
| 
								 | 
							
								            this.trWBS.EnableSingleClickExpand = true;
							 | 
						|||
| 
								 | 
							
								            TreeNode newNode1 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								            newNode1.Text = "建筑工程";
							 | 
						|||
| 
								 | 
							
								            newNode1.NodeID = "1";
							 | 
						|||
| 
								 | 
							
								            newNode1.CommandName = "ProjectType";
							 | 
						|||
| 
								 | 
							
								            newNode1.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								            newNode1.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								            trWBS.Nodes.Add(newNode1);
							 | 
						|||
| 
								 | 
							
								            TreeNode tempNode1 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								            tempNode1.NodeID = "";
							 | 
						|||
| 
								 | 
							
								            tempNode1.Text = "";
							 | 
						|||
| 
								 | 
							
								            tempNode1.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								            tempNode1.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								            newNode1.Nodes.Add(tempNode1);
							 | 
						|||
| 
								 | 
							
								            TreeNode newNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								            newNode2.Text = "安装工程";
							 | 
						|||
| 
								 | 
							
								            newNode2.NodeID = "2";
							 | 
						|||
| 
								 | 
							
								            newNode2.CommandName = "ProjectType";
							 | 
						|||
| 
								 | 
							
								            newNode2.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								            newNode2.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								            trWBS.Nodes.Add(newNode2);
							 | 
						|||
| 
								 | 
							
								            TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								            tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								            tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								            tempNode2.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								            tempNode2.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								            newNode2.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  展开树
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 展开树
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            e.Node.Nodes.Clear();
							 | 
						|||
| 
								 | 
							
								            if (e.Node.CommandName == "ProjectType")   //展开工程类型
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (e.NodeID == "1")
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var cNProfessional = (from x in BLL.Funs.DB.Base_CNProfessional where x.CNProfessionalId == Const.CNProfessionalCVId orderby x.SortIndex select x).ToList();
							 | 
						|||
| 
								 | 
							
								                    foreach (var c in cNProfessional)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        TreeNode newCNProfessionalNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.Text = c.ProfessionalName;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.NodeID = c.CNProfessionalId;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.CommandName = "CNProfessional";
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                        e.Node.Nodes.Add(newCNProfessionalNode);
							 | 
						|||
| 
								 | 
							
								                        TreeNode tempNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                        tempNode.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                        tempNode.Text = "";
							 | 
						|||
| 
								 | 
							
								                        tempNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                        tempNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.Nodes.Add(tempNode);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var cNProfessional = (from x in BLL.Funs.DB.Base_CNProfessional where x.CNProfessionalId != Const.CNProfessionalConstructId && x.CNProfessionalId != Const.CNProfessionalCVId orderby x.SortIndex select x).ToList();
							 | 
						|||
| 
								 | 
							
								                    foreach (var c in cNProfessional)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        TreeNode newCNProfessionalNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.Text = c.ProfessionalName;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.NodeID = c.CNProfessionalId;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.CommandName = "CNProfessional";
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                        e.Node.Nodes.Add(newCNProfessionalNode);
							 | 
						|||
| 
								 | 
							
								                        TreeNode tempNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                        tempNode.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                        tempNode.Text = "";
							 | 
						|||
| 
								 | 
							
								                        tempNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                        tempNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                        newCNProfessionalNode.Nodes.Add(tempNode);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else if (e.Node.CommandName == "CNProfessional")   //展开专业
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var divisions = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                 where x.CNProfessionalId == e.Node.NodeID && x.SuperDivisionId == null
							 | 
						|||
| 
								 | 
							
								                                 orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                 select x).ToList();
							 | 
						|||
| 
								 | 
							
								                foreach (var q in divisions)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    TreeNode newNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                    newNode.Text = q.DivisionName;
							 | 
						|||
| 
								 | 
							
								                    newNode.NodeID = q.DivisionId;
							 | 
						|||
| 
								 | 
							
								                    newNode.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                    newNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                    newNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                    e.Node.Nodes.Add(newNode);
							 | 
						|||
| 
								 | 
							
								                    var list = (from x in Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                where x.SuperDivisionId == q.DivisionId
							 | 
						|||
| 
								 | 
							
								                                orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                select x).ToList();
							 | 
						|||
| 
								 | 
							
								                    if (list.Count > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        TreeNode tempNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                        tempNode.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                        tempNode.Text = "";
							 | 
						|||
| 
								 | 
							
								                        newNode.Nodes.Add(tempNode);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else if (e.Node.CommandName == "Division")   //展开分部节点
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var childDivisions = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                      where x.SuperDivisionId == e.Node.NodeID
							 | 
						|||
| 
								 | 
							
								                                      orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                      select x).ToList();
							 | 
						|||
| 
								 | 
							
								                foreach (var q in childDivisions)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    TreeNode newNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                    newNode.Text = q.DivisionName;
							 | 
						|||
| 
								 | 
							
								                    newNode.NodeID = q.DivisionId;
							 | 
						|||
| 
								 | 
							
								                    newNode.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                    newNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                    newNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                    e.Node.Nodes.Add(newNode);
							 | 
						|||
| 
								 | 
							
								                    var list = (from x in Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                where x.SuperDivisionId == q.DivisionId
							 | 
						|||
| 
								 | 
							
								                                orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                select x).ToList();
							 | 
						|||
| 
								 | 
							
								                    if (list.Count > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        TreeNode tempNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                        tempNode.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                        tempNode.Text = "";
							 | 
						|||
| 
								 | 
							
								                        newNode.Nodes.Add(tempNode);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  Tree点击事件
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// Tree点击事件
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            string divisionId = this.trWBS.SelectedNode.NodeID;
							 | 
						|||
| 
								 | 
							
								            var temp = BLL.DivisionService.GetDivisionById(divisionId);
							 | 
						|||
| 
								 | 
							
								            if (temp == null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                return;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            if (temp.CNProfessionalId != null && temp.CNProfessionalId == Const.CNProfessionalConstructId)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[2].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[3].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[4].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[5].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[7].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[8].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[9].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[10].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[11].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[12].Hidden = false;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[2].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[3].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[4].Hidden = false;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[5].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[7].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[8].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[9].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[10].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[11].Hidden = true;
							 | 
						|||
| 
								 | 
							
								                this.Grid1.Columns[12].Hidden = true;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            BindGrid();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  修改关闭窗口
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 关闭窗口
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void Window1_Close(object sender, WindowCloseEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            ShowNotify("修改成功!", MessageBoxIcon.Success);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            GetSelectTreeNode();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  增加关闭窗口
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 增加关闭窗口
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void Window2_Close(object sender, WindowCloseEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            ShowNotify("增加成功!", MessageBoxIcon.Success);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            GetSelectTreeNode();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  关闭窗口
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 关闭窗口
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void Window3_Close(object sender, WindowCloseEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            ShowNotify("保存成功!", MessageBoxIcon.Success);
							 | 
						|||
| 
								 | 
							
								            BindGrid();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 右键增加、修改、删除方法
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 右键修改事件
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void btnMenuEdit_Click(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (this.trWBS.SelectedNode != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlPointMenuId, BLL.Const.BtnModify))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (this.trWBS.SelectedNode.CommandName != "ProjectType" && this.trWBS.SelectedNode.CommandName != "CNProfessional")   //非工程类型和专业节点可以修改
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID;
							 | 
						|||
| 
								 | 
							
								                        string openUrl = String.Format("EditDivision.aspx?type=modify&selectedCode={0}", this.trWBS.SelectedNode.NodeID, "编辑 - ");
							 | 
						|||
| 
								 | 
							
								                        PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdSelectId.ClientID)
							 | 
						|||
| 
								 | 
							
								                                    + Window1.GetShowReference(openUrl));
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        ShowNotify("工程类型和专业节点无法修改!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 增加
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void btnMenuAdd_Click(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (this.trWBS.SelectedNode != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlPointMenuId, BLL.Const.BtnAdd))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (this.trWBS.SelectedNode.CommandName != "ProjectType")   //非工程类型节点可以增加
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        string openUrl = String.Format("EditDivision.aspx?type=add&selectedCode={0}", this.trWBS.SelectedNode.NodeID, "增加 - ");
							 | 
						|||
| 
								 | 
							
								                        PageContext.RegisterStartupScript(Window2.GetSaveStateReference(hdSelectId.ClientID)
							 | 
						|||
| 
								 | 
							
								                                + Window2.GetShowReference(openUrl));
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        ShowNotify("工程类型节点无法增加!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 右键删除事件
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void btnMenuDelete_Click(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (this.trWBS.SelectedNode != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlPointMenuId, BLL.Const.BtnDelete))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (this.trWBS.SelectedNode.CommandName != "ProjectType" && this.trWBS.SelectedNode.CommandName != "CNProfessional")   //非工程类型和专业节点可以删除
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        string id = this.trWBS.SelectedNodeID;
							 | 
						|||
| 
								 | 
							
								                        //var workPackage = Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InitWorkPackageCode == this.trWBS.SelectedNodeID);
							 | 
						|||
| 
								 | 
							
								                        //if (workPackage != null)
							 | 
						|||
| 
								 | 
							
								                        //{
							 | 
						|||
| 
								 | 
							
								                        //    ShowNotify("WBS定制中已使用该数据,无法删除!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                        //}
							 | 
						|||
| 
								 | 
							
								                        //else
							 | 
						|||
| 
								 | 
							
								                        //{
							 | 
						|||
| 
								 | 
							
								                        DeleteData();
							 | 
						|||
| 
								 | 
							
								                        //}
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        ShowNotify("工程类型和专业节点无法删除!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 删除方法
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private void DeleteData()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            string id = this.trWBS.SelectedNodeID;
							 | 
						|||
| 
								 | 
							
								            this.hdSelectId.Text = this.trWBS.SelectedNode.ParentNode.NodeID;
							 | 
						|||
| 
								 | 
							
								            if (this.trWBS.SelectedNode.CommandName == "Division")
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string divisionId = this.trWBS.SelectedNode.NodeID;
							 | 
						|||
| 
								 | 
							
								                Model.WBS_Division division = BLL.DivisionService.GetDivisionById(divisionId);
							 | 
						|||
| 
								 | 
							
								                if (division != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (!string.IsNullOrEmpty(division.CNProfessionalId))    //删除分部
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var q = from x in Funs.DB.WBS_Division where x.SuperDivisionId == divisionId select x;
							 | 
						|||
| 
								 | 
							
								                        if (q.Count() > 0)     //分部含有子分部
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            foreach (var d in q)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                var q2 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == d.DivisionId select x;
							 | 
						|||
| 
								 | 
							
								                                if (q2.Count() > 0)     //子分部还有子级
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    foreach (var d2 in q2)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        BLL.BreakdownService.DeleteAllBreakdown(d2.DivisionId);
							 | 
						|||
| 
								 | 
							
								                                        BLL.DivisionService.DeleteDivision(d2.DivisionId);
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                BLL.BreakdownService.DeleteAllBreakdown(d.DivisionId);
							 | 
						|||
| 
								 | 
							
								                                BLL.DivisionService.DeleteDivision(d.DivisionId);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else          //分部不包含子分部
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            BLL.BreakdownService.DeleteAllBreakdown(divisionId);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        BLL.DivisionService.DeleteDivision(divisionId);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else   //删除子分部
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var q = from x in Funs.DB.WBS_Division where x.SuperDivisionId == divisionId select x;
							 | 
						|||
| 
								 | 
							
								                        if (q.Count() > 0)     //子分部含有子级
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            foreach (var d in q)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                BLL.BreakdownService.DeleteAllBreakdown(d.DivisionId);
							 | 
						|||
| 
								 | 
							
								                                BLL.DivisionService.DeleteDivision(d.DivisionId);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else          //子分部不包含子级
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            BLL.BreakdownService.DeleteAllBreakdown(divisionId);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        BLL.DivisionService.DeleteDivision(divisionId);
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.ControlPointMenuId, "删除分部或子分部工程及其下所有内容!");
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            ShowNotify("删除成功!", MessageBoxIcon.Success);
							 | 
						|||
| 
								 | 
							
								            GetSelectTreeNode();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 增加
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void btnNew_Click(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (this.trWBS.SelectedNode != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (this.trWBS.SelectedNode.Nodes.Count == 0)   //末级节点
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("EditBreakdown.aspx?type=add&divisionId={0}", this.trWBS.SelectedNode.NodeID, "新增 - ")));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    ShowNotify("不是末级,无法添加分项!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region Grid双击事件
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// Grid行双击事件
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            btnMenuModify_Click(null, null);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								        #region 编辑
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 编辑按钮
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void btnMenuModify_Click(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (Grid1.SelectedRowIndexArray.Length == 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                return;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("EditBreakdown.aspx?type=modify&breakdownId={0}&divisionId={1}", this.Grid1.SelectedRowID, this.trWBS.SelectedNodeID, "新增 - ")));
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 删除
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 删除
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void btnMenuDel_Click(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (Grid1.SelectedRowIndexArray.Length == 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								                return;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            //var controlItemAndCycle = Funs.DB.WBS_ControlItemAndCycle.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InitControlItemCode == Grid1.SelectedRowID);
							 | 
						|||
| 
								 | 
							
								            //if (controlItemAndCycle != null)
							 | 
						|||
| 
								 | 
							
								            //{
							 | 
						|||
| 
								 | 
							
								            //    ShowNotify("WBS定制中已使用该数据,无法删除!", MessageBoxIcon.Warning);
							 | 
						|||
| 
								 | 
							
								            //}
							 | 
						|||
| 
								 | 
							
								            //else
							 | 
						|||
| 
								 | 
							
								            //{
							 | 
						|||
| 
								 | 
							
								            BLL.BreakdownService.DeleteBreakdown(Grid1.SelectedRowID);
							 | 
						|||
| 
								 | 
							
								            BLL.LogService.AddSys_Log(this.CurrUser, Grid1.SelectedRowID, Grid1.SelectedRowID, BLL.Const.ControlPointMenuId, "删除分项");
							 | 
						|||
| 
								 | 
							
								            Grid1.DataBind();
							 | 
						|||
| 
								 | 
							
								            BindGrid();
							 | 
						|||
| 
								 | 
							
								            Alert.ShowInTop("删除数据成功!", MessageBoxIcon.Success);
							 | 
						|||
| 
								 | 
							
								            //}
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  绑定数据
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 绑定数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="sender"></param>
							 | 
						|||
| 
								 | 
							
								        /// <param name="e"></param>
							 | 
						|||
| 
								 | 
							
								        protected void Grid1_FilterChange(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            BindGrid();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Grid1.PageIndex = e.NewPageIndex;
							 | 
						|||
| 
								 | 
							
								            BindGrid();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// Grid1排序
							 | 
						|||
| 
								 | 
							
								        /// </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();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <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>
							 | 
						|||
| 
								 | 
							
								        /// 加载Grid
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private void BindGrid()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            string strSql = @"SELECT BreakdownId,BreakdownCode,BreakdownName,Basis,CheckPoints,RecordAndCode,Class,FenBao,WuHuan,JianLi,YeZhu,Remark,ModelURL"
							 | 
						|||
| 
								 | 
							
								                     + @" FROM WBS_Breakdown ";
							 | 
						|||
| 
								 | 
							
								            List<SqlParameter> listStr = new List<SqlParameter>();
							 | 
						|||
| 
								 | 
							
								            strSql += " where DivisionId = @DivisionId ";
							 | 
						|||
| 
								 | 
							
								            listStr.Add(new SqlParameter("@DivisionId", this.trWBS.SelectedNodeID));
							 | 
						|||
| 
								 | 
							
								            SqlParameter[] parameter = listStr.ToArray();
							 | 
						|||
| 
								 | 
							
								            DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            Grid1.RecordCount = tb.Rows.Count;
							 | 
						|||
| 
								 | 
							
								            tb = GetFilteredTable(Grid1.FilteredData, tb);
							 | 
						|||
| 
								 | 
							
								            var table = this.GetPagedDataTable(Grid1, tb);
							 | 
						|||
| 
								 | 
							
								            Grid1.DataSource = table;
							 | 
						|||
| 
								 | 
							
								            Grid1.DataBind();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 根据所给Id定位到对应分部分项
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 根据所给Id定位到对应具体的工程类型、子单位工程、分部、子分部、分项、子分项
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private void GetSelectTreeNode()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            string projectType = string.Empty;
							 | 
						|||
| 
								 | 
							
								            string cNProfessionalId = string.Empty;
							 | 
						|||
| 
								 | 
							
								            string projectTypeId = string.Empty;
							 | 
						|||
| 
								 | 
							
								            List<string> list = new List<string>();
							 | 
						|||
| 
								 | 
							
								            Model.WBS_Division division = BLL.DivisionService.GetDivisionById(this.hdSelectId.Text);
							 | 
						|||
| 
								 | 
							
								            if (division != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                list = GetDivisionIds(division);
							 | 
						|||
| 
								 | 
							
								                list.Add(this.hdSelectId.Text);
							 | 
						|||
| 
								 | 
							
								                cNProfessionalId = GetCNProfessionalId(division);
							 | 
						|||
| 
								 | 
							
								                if (cNProfessionalId == Const.CNProfessionalConstructId || cNProfessionalId == Const.CNProfessionalCVId)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    projectTypeId = Const.CNProfessionalConstructId;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    projectTypeId = "2";
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                list.Add(cNProfessionalId);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                cNProfessionalId = this.hdSelectId.Text;
							 | 
						|||
| 
								 | 
							
								                if (cNProfessionalId == Const.CNProfessionalConstructId || cNProfessionalId == Const.CNProfessionalCVId)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    projectTypeId = Const.CNProfessionalConstructId;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    projectTypeId = "2";
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            InitTreeMenu();
							 | 
						|||
| 
								 | 
							
								            for (int i = 0; i < trWBS.Nodes.Count; i++)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (trWBS.Nodes[i].NodeID == projectTypeId)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    trWBS.Nodes[i].Nodes.Clear();
							 | 
						|||
| 
								 | 
							
								                    trWBS.Nodes[i].Expanded = true;
							 | 
						|||
| 
								 | 
							
								                    if (trWBS.Nodes[i].NodeID == BLL.Const.CNProfessionalConstructId)  //建筑工程
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var divisions = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                         where x.CNProfessionalId == BLL.Const.CNProfessionalConstructId && x.SuperDivisionId == null
							 | 
						|||
| 
								 | 
							
								                                         orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                         select x).ToList();
							 | 
						|||
| 
								 | 
							
								                        foreach (var q in divisions)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            TreeNode newNode4 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                            newNode4.Text = q.DivisionName;
							 | 
						|||
| 
								 | 
							
								                            newNode4.NodeID = q.DivisionId;
							 | 
						|||
| 
								 | 
							
								                            newNode4.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                            newNode4.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                            newNode4.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                            trWBS.Nodes[i].Nodes.Add(newNode4);
							 | 
						|||
| 
								 | 
							
								                            var division1s = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                              where x.SuperDivisionId == q.DivisionId
							 | 
						|||
| 
								 | 
							
								                                              orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                              select x).ToList();
							 | 
						|||
| 
								 | 
							
								                            if (list.Contains(q.DivisionId))
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                newNode4.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                foreach (var division1 in division1s)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    TreeNode newNode5 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                    newNode5.Text = division1.DivisionName;
							 | 
						|||
| 
								 | 
							
								                                    newNode5.NodeID = division1.DivisionId;
							 | 
						|||
| 
								 | 
							
								                                    newNode5.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                                    newNode5.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                                    newNode5.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                                    newNode4.Nodes.Add(newNode5);
							 | 
						|||
| 
								 | 
							
								                                    var division2s = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                                      where x.SuperDivisionId == division1.DivisionId
							 | 
						|||
| 
								 | 
							
								                                                      orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                                      select x).ToList();
							 | 
						|||
| 
								 | 
							
								                                    if (list.Contains(division1.DivisionId))
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        newNode5.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                        foreach (var division2 in division2s)
							 | 
						|||
| 
								 | 
							
								                                        {
							 | 
						|||
| 
								 | 
							
								                                            TreeNode newNode6 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                            newNode6.Text = division2.DivisionName;
							 | 
						|||
| 
								 | 
							
								                                            newNode6.NodeID = division2.DivisionId;
							 | 
						|||
| 
								 | 
							
								                                            newNode6.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                                            newNode6.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                                            newNode6.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                                            newNode5.Nodes.Add(newNode6);
							 | 
						|||
| 
								 | 
							
								                                            var division3s = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                                              where x.SuperDivisionId == division2.DivisionId
							 | 
						|||
| 
								 | 
							
								                                                              orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                                              select x).ToList();
							 | 
						|||
| 
								 | 
							
								                                            if (list.Contains(division2.DivisionId))
							 | 
						|||
| 
								 | 
							
								                                            {
							 | 
						|||
| 
								 | 
							
								                                                newNode6.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                            }
							 | 
						|||
| 
								 | 
							
								                                            else
							 | 
						|||
| 
								 | 
							
								                                            {
							 | 
						|||
| 
								 | 
							
								                                                if (division3s.Count > 0)
							 | 
						|||
| 
								 | 
							
								                                                {
							 | 
						|||
| 
								 | 
							
								                                                    TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                                    tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                                    tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                                    newNode6.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                                                }
							 | 
						|||
| 
								 | 
							
								                                            }
							 | 
						|||
| 
								 | 
							
								                                        }
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                    else
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        if (division2s.Count > 0)
							 | 
						|||
| 
								 | 
							
								                                        {
							 | 
						|||
| 
								 | 
							
								                                            TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                            tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                            tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                            newNode5.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                                        }
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            else
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                if (division1s.Count > 0)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                    tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                    tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                    newNode4.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else   //安装工程
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var cNProfessional = (from x in BLL.Funs.DB.Base_CNProfessional where x.CNProfessionalId != Const.CNProfessionalConstructId && x.CNProfessionalId != Const.CNProfessionalCVId orderby x.SortIndex select x).ToList();
							 | 
						|||
| 
								 | 
							
								                        foreach (var c in cNProfessional)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            TreeNode newCNProfessionalNode = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                            newCNProfessionalNode.Text = c.ProfessionalName;
							 | 
						|||
| 
								 | 
							
								                            newCNProfessionalNode.NodeID = c.CNProfessionalId;
							 | 
						|||
| 
								 | 
							
								                            newCNProfessionalNode.CommandName = "CNProfessional";
							 | 
						|||
| 
								 | 
							
								                            newCNProfessionalNode.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                            newCNProfessionalNode.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                            trWBS.Nodes[i].Nodes.Add(newCNProfessionalNode);
							 | 
						|||
| 
								 | 
							
								                            if (c.CNProfessionalId == cNProfessionalId)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                newCNProfessionalNode.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                var divisions = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                                 where x.CNProfessionalId == c.CNProfessionalId && x.SuperDivisionId == null
							 | 
						|||
| 
								 | 
							
								                                                 orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                                 select x).ToList();
							 | 
						|||
| 
								 | 
							
								                                foreach (var q in divisions)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    TreeNode newNode4 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                    newNode4.Text = q.DivisionName;
							 | 
						|||
| 
								 | 
							
								                                    newNode4.NodeID = q.DivisionId;
							 | 
						|||
| 
								 | 
							
								                                    newNode4.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                                    newNode4.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                                    newNode4.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                                    newCNProfessionalNode.Nodes.Add(newNode4);
							 | 
						|||
| 
								 | 
							
								                                    var division1s = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                                      where x.SuperDivisionId == q.DivisionId
							 | 
						|||
| 
								 | 
							
								                                                      orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                                      select x).ToList();
							 | 
						|||
| 
								 | 
							
								                                    if (list.Contains(q.DivisionId))
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        newNode4.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                        foreach (var division1 in division1s)
							 | 
						|||
| 
								 | 
							
								                                        {
							 | 
						|||
| 
								 | 
							
								                                            TreeNode newNode5 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                            newNode5.Text = division1.DivisionName;
							 | 
						|||
| 
								 | 
							
								                                            newNode5.NodeID = division1.DivisionId;
							 | 
						|||
| 
								 | 
							
								                                            newNode5.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                                            newNode5.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                                            newNode5.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                                            newNode4.Nodes.Add(newNode5);
							 | 
						|||
| 
								 | 
							
								                                            var division2s = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                                              where x.SuperDivisionId == division1.DivisionId
							 | 
						|||
| 
								 | 
							
								                                                              orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                                              select x).ToList();
							 | 
						|||
| 
								 | 
							
								                                            if (list.Contains(division1.DivisionId))
							 | 
						|||
| 
								 | 
							
								                                            {
							 | 
						|||
| 
								 | 
							
								                                                newNode5.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                                foreach (var division2 in division2s)
							 | 
						|||
| 
								 | 
							
								                                                {
							 | 
						|||
| 
								 | 
							
								                                                    TreeNode newNode6 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                                    newNode6.Text = division2.DivisionName;
							 | 
						|||
| 
								 | 
							
								                                                    newNode6.NodeID = division2.DivisionId;
							 | 
						|||
| 
								 | 
							
								                                                    newNode6.CommandName = "Division";
							 | 
						|||
| 
								 | 
							
								                                                    newNode6.EnableExpandEvent = true;
							 | 
						|||
| 
								 | 
							
								                                                    newNode6.EnableClickEvent = true;
							 | 
						|||
| 
								 | 
							
								                                                    newNode5.Nodes.Add(newNode6);
							 | 
						|||
| 
								 | 
							
								                                                    var division3s = (from x in BLL.Funs.DB.WBS_Division
							 | 
						|||
| 
								 | 
							
								                                                                      where x.SuperDivisionId == division2.DivisionId
							 | 
						|||
| 
								 | 
							
								                                                                      orderby x.SortIndex
							 | 
						|||
| 
								 | 
							
								                                                                      select x).ToList();
							 | 
						|||
| 
								 | 
							
								                                                    if (list.Contains(division2.DivisionId))
							 | 
						|||
| 
								 | 
							
								                                                    {
							 | 
						|||
| 
								 | 
							
								                                                        newNode6.Expanded = true;
							 | 
						|||
| 
								 | 
							
								                                                    }
							 | 
						|||
| 
								 | 
							
								                                                    else
							 | 
						|||
| 
								 | 
							
								                                                    {
							 | 
						|||
| 
								 | 
							
								                                                        if (division3s.Count > 0)
							 | 
						|||
| 
								 | 
							
								                                                        {
							 | 
						|||
| 
								 | 
							
								                                                            TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                                            tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                                            tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                                            newNode6.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                                                        }
							 | 
						|||
| 
								 | 
							
								                                                    }
							 | 
						|||
| 
								 | 
							
								                                                }
							 | 
						|||
| 
								 | 
							
								                                            }
							 | 
						|||
| 
								 | 
							
								                                            else
							 | 
						|||
| 
								 | 
							
								                                            {
							 | 
						|||
| 
								 | 
							
								                                                if (division2s.Count > 0)
							 | 
						|||
| 
								 | 
							
								                                                {
							 | 
						|||
| 
								 | 
							
								                                                    TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                                    tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                                    tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                                    newNode5.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                                                }
							 | 
						|||
| 
								 | 
							
								                                            }
							 | 
						|||
| 
								 | 
							
								                                        }
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                    else
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        if (division1s.Count > 0)
							 | 
						|||
| 
								 | 
							
								                                        {
							 | 
						|||
| 
								 | 
							
								                                            TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                            tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                            tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                            newNode4.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                                        }
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            else
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                                tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                                tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                                newCNProfessionalNode.Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    TreeNode tempNode2 = new TreeNode();
							 | 
						|||
| 
								 | 
							
								                    tempNode2.NodeID = "";
							 | 
						|||
| 
								 | 
							
								                    tempNode2.Text = "";
							 | 
						|||
| 
								 | 
							
								                    trWBS.Nodes[i].Nodes.Add(tempNode2);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            this.trWBS.SelectedNodeID = this.hdSelectId.Text;
							 | 
						|||
| 
								 | 
							
								            BindGrid();
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private string GetCNProfessionalId(Model.WBS_Division division)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            string id = string.Empty;
							 | 
						|||
| 
								 | 
							
								            if (division != null && !string.IsNullOrEmpty(division.CNProfessionalId))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                id = division.CNProfessionalId;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            else
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Model.WBS_Division superDivision = BLL.DivisionService.GetDivisionById(division.SuperDivisionId);
							 | 
						|||
| 
								 | 
							
								                id = GetCNProfessionalId(superDivision);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return id;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private List<string> GetDivisionIds(Model.WBS_Division division)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            List<string> list = new List<string>();
							 | 
						|||
| 
								 | 
							
								            if (division != null && !string.IsNullOrEmpty(division.SuperDivisionId))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                list.Add(division.SuperDivisionId);
							 | 
						|||
| 
								 | 
							
								                Model.WBS_Division superDivision = BLL.DivisionService.GetDivisionById(division.SuperDivisionId);
							 | 
						|||
| 
								 | 
							
								                list.AddRange(GetDivisionIds(superDivision));
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            return list;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region  行点击事件
							 | 
						|||
| 
								 | 
							
								        protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            string id = e.RowID;
							 | 
						|||
| 
								 | 
							
								            if (e.CommandName.Equals("download"))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string menuId = Const.ControlPointMenuId;
							 | 
						|||
| 
								 | 
							
								                PageContext.RegisterStartupScript(Windowtt.GetShowReference(
							 | 
						|||
| 
								 | 
							
								                 String.Format("../../AttachFile/webuploader.aspx?type=-1&source=1&toKeyId={0}&path=FileUpload/Breakdown&menuId={1}", id + "m", menuId)));
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 获取按钮权限
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取按钮权限
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="button"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        private void GetButtonPower()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (Request.Params["value"] == "0")
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                return;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlPointMenuId);
							 | 
						|||
| 
								 | 
							
								            if (buttonList.Count() > 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (buttonList.Contains(BLL.Const.BtnAdd))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    this.btnNew.Hidden = false;
							 | 
						|||
| 
								 | 
							
								                    this.btnMenuAdd.Hidden = false;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (buttonList.Contains(BLL.Const.BtnModify))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    this.btnMenuEdit.Hidden = false;
							 | 
						|||
| 
								 | 
							
								                    this.btnMenuModify.Hidden = false;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (buttonList.Contains(BLL.Const.BtnDelete))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    this.btnMenuDelete.Hidden = false;
							 | 
						|||
| 
								 | 
							
								                    this.btnMenuDel.Hidden = false;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |