1181 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			1181 lines
		
	
	
		
			54 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 ProjectControlItemInitSet : PageBase
 | ||
|     {
 | ||
|         #region  页面加载
 | ||
|         /// <summary>
 | ||
|         /// 页面加载
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void Page_Load(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (!IsPostBack)
 | ||
|             {
 | ||
|                 if (!BLL.WorkPackageProjectService.IsExitWorkPackageProject(this.CurrUser.LoginProjectId))
 | ||
|                 {
 | ||
|                     //拷贝项目WBS数据
 | ||
|                     var workPackageInits = from x in Funs.DB.WBS_WorkPackageInit select x;
 | ||
|                     foreach (var workPackageInit in workPackageInits)
 | ||
|                     {
 | ||
|                         Model.WBS_WorkPackageProject workPackageProject = new Model.WBS_WorkPackageProject();
 | ||
|                         workPackageProject.WorkPackageCode = workPackageInit.WorkPackageCode;
 | ||
|                         workPackageProject.ProjectId = this.CurrUser.LoginProjectId;
 | ||
|                         workPackageProject.ProjectType = workPackageInit.ProjectType;
 | ||
|                         workPackageProject.PackageContent = workPackageInit.PackageContent;
 | ||
|                         workPackageProject.SuperWorkPack = workPackageInit.SuperWorkPack;
 | ||
|                         workPackageProject.IsChild = workPackageInit.IsChild;
 | ||
|                         workPackageProject.PackageCode = workPackageInit.PackageCode;
 | ||
|                         workPackageProject.ProjectType = workPackageInit.ProjectType;
 | ||
|                         BLL.WorkPackageProjectService.AddWorkPackageProject(workPackageProject);
 | ||
|                     }
 | ||
|                     var controlItemInits = from x in Funs.DB.WBS_ControlItemInit select x;
 | ||
|                     foreach (var controlItemInit in controlItemInits)
 | ||
|                     {
 | ||
|                         Model.WBS_ControlItemProject controlItemProject = new Model.WBS_ControlItemProject();
 | ||
|                         controlItemProject.ControlItemCode = controlItemInit.ControlItemCode;
 | ||
|                         controlItemProject.ProjectId = this.CurrUser.LoginProjectId;
 | ||
|                         controlItemProject.WorkPackageCode = controlItemInit.WorkPackageCode;
 | ||
|                         controlItemProject.ControlItemContent = controlItemInit.ControlItemContent;
 | ||
|                         controlItemProject.ControlPoint = controlItemInit.ControlPoint;
 | ||
|                         controlItemProject.ControlItemDef = controlItemInit.ControlItemDef;
 | ||
|                         controlItemProject.Weights = controlItemInit.Weights;
 | ||
|                         controlItemProject.HGForms = controlItemInit.HGForms;
 | ||
|                         controlItemProject.SHForms = controlItemInit.SHForms;
 | ||
|                         controlItemProject.Standard = controlItemInit.Standard;
 | ||
|                         controlItemProject.ClauseNo = controlItemInit.ClauseNo;
 | ||
|                         controlItemProject.CheckNum = 1;
 | ||
|                         BLL.ControlItemProjectService.AddControlItemProject(controlItemProject);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 GetButtonPower();
 | ||
|                 InitTreeMenu();
 | ||
|             }
 | ||
|         }
 | ||
|         #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 rootNode1 = new TreeNode();
 | ||
|             rootNode1.Text = "建筑工程";
 | ||
|             rootNode1.NodeID = "1";
 | ||
|             rootNode1.CommandName = "ProjectType";
 | ||
|             //rootNode1.EnableExpandEvent = true;
 | ||
|             rootNode1.EnableClickEvent = true;
 | ||
|             this.trWBS.Nodes.Add(rootNode1);
 | ||
|             this.GetNodes(rootNode1.Nodes, rootNode1.NodeID);
 | ||
| 
 | ||
|             TreeNode rootNode2 = new TreeNode();
 | ||
|             rootNode2.Text = "安装工程";
 | ||
|             rootNode2.NodeID = "2";
 | ||
|             rootNode2.CommandName = "ProjectType";
 | ||
|             //rootNode2.EnableExpandEvent = true;
 | ||
|             rootNode2.EnableClickEvent = true;
 | ||
|             this.trWBS.Nodes.Add(rootNode2);
 | ||
|             this.GetNodes(rootNode2.Nodes, rootNode2.NodeID);
 | ||
|         }
 | ||
| 
 | ||
|         #region  遍历节点方法
 | ||
|         /// <summary>
 | ||
|         /// 遍历节点方法
 | ||
|         /// </summary>
 | ||
|         /// <param name="nodes">节点集合</param>
 | ||
|         /// <param name="parentId">父节点</param>
 | ||
|         private void GetNodes(TreeNodeCollection nodes, string parentId)
 | ||
|         {
 | ||
|             List<Model.WBS_WorkPackageProject> workPackages = new List<Model.WBS_WorkPackageProject>();
 | ||
|             if (parentId.Length == 1) //工程类型节点
 | ||
|             {
 | ||
|                 workPackages = (from x in Funs.DB.WBS_WorkPackageProject
 | ||
|                                 where x.SuperWorkPack == null && x.ProjectId == this.CurrUser.LoginProjectId && x.ProjectType == parentId
 | ||
|                                 orderby x.PackageCode ascending
 | ||
|                                 select x).ToList();
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 workPackages = (from x in Funs.DB.WBS_WorkPackageProject
 | ||
|                                 where x.SuperWorkPack == parentId && x.ProjectId == this.CurrUser.LoginProjectId
 | ||
|                                 orderby x.PackageCode ascending
 | ||
|                                 select x).ToList();
 | ||
|             }
 | ||
|             foreach (var q in workPackages)
 | ||
|             {
 | ||
|                 TreeNode newNode = new TreeNode();
 | ||
|                 newNode.Text = q.PackageContent;
 | ||
|                 newNode.NodeID = q.WorkPackageCode;
 | ||
|                 newNode.CommandName = "WorkPackage";
 | ||
|                 newNode.EnableClickEvent = true;
 | ||
|                 nodes.Add(newNode);
 | ||
|             }
 | ||
| 
 | ||
|             for (int i = 0; i < nodes.Count; i++)
 | ||
|             {
 | ||
|                 GetNodes(nodes[i].Nodes, nodes[i].NodeID);
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
|         #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")   //展开工程类型
 | ||
|             {
 | ||
|                 var workPackages = from x in Funs.DB.WBS_WorkPackageProject where x.ProjectType == e.NodeID && x.SuperWorkPack == null orderby x.WorkPackageCode select x;
 | ||
|                 foreach (var workPackage in workPackages)
 | ||
|                 {
 | ||
|                     TreeNode newNode = new TreeNode();
 | ||
|                     newNode.Text = workPackage.PackageContent;
 | ||
|                     newNode.NodeID = workPackage.WorkPackageCode;
 | ||
|                     newNode.CommandName = "WorkPackage";
 | ||
|                     newNode.EnableExpandEvent = true;
 | ||
|                     newNode.EnableClickEvent = true;
 | ||
|                     e.Node.Nodes.Add(newNode);
 | ||
|                     var childWorkPackages = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == workPackage.WorkPackageCode select x;
 | ||
|                     if (childWorkPackages.Count() > 0)
 | ||
|                     {
 | ||
|                         TreeNode emptyNode = new TreeNode();
 | ||
|                         emptyNode.Text = "";
 | ||
|                         emptyNode.NodeID = "";
 | ||
|                         newNode.Nodes.Add(emptyNode);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             else if (e.Node.CommandName == "WorkPackage")   //展开分部节点
 | ||
|             {
 | ||
|                 var workPackages = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == e.Node.NodeID orderby x.WorkPackageCode select x;
 | ||
|                 if (workPackages.Count() > 0)   //存在子分部工程
 | ||
|                 {
 | ||
|                     foreach (var workPackage in workPackages)
 | ||
|                     {
 | ||
|                         TreeNode newNode = new TreeNode();
 | ||
|                         newNode.Text = workPackage.PackageContent;
 | ||
|                         newNode.NodeID = workPackage.WorkPackageCode;
 | ||
|                         newNode.CommandName = "WorkPackage";
 | ||
|                         newNode.EnableExpandEvent = true;
 | ||
|                         newNode.EnableClickEvent = true;
 | ||
|                         e.Node.Nodes.Add(newNode);
 | ||
|                         var childWorkPackages = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == workPackage.WorkPackageCode select x;
 | ||
|                         if (childWorkPackages.Count() > 0)
 | ||
|                         {
 | ||
|                             TreeNode emptyNode = new TreeNode();
 | ||
|                             emptyNode.Text = "";
 | ||
|                             emptyNode.NodeID = "";
 | ||
|                             newNode.Nodes.Add(emptyNode);
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region  Tree点击事件
 | ||
|         /// <summary>
 | ||
|         /// Tree点击事件
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
 | ||
|         {
 | ||
|             this.cbAllHGForms.Checked = false;
 | ||
|             this.cbAllSHForms.Checked = false;
 | ||
|             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.ControlItemProjectSetMenuId, BLL.Const.BtnModify))
 | ||
|                 {
 | ||
|                     if (this.trWBS.SelectedNode.CommandName != "ProjectType")   //非工程类型节点可以修改
 | ||
|                     {
 | ||
|                         this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID;
 | ||
| 
 | ||
|                         string openUrl = String.Format("WorkPackageProjectEdit.aspx?type=modify&Id={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.ControlItemProjectSetMenuId, BLL.Const.BtnAdd))
 | ||
|                 {
 | ||
|                     if (this.trWBS.SelectedNode.CommandName != "ProjectType")   //非工程类型节点可以增加
 | ||
|                     {
 | ||
|                         Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
 | ||
|                         if (workPackageProject.IsChild == true)
 | ||
|                         {
 | ||
|                             string openUrl = String.Format("WorkPackageProjectEdit.aspx?type=add&Id={0}", this.trWBS.SelectedNode.NodeID, "增加 - ");
 | ||
| 
 | ||
|                             PageContext.RegisterStartupScript(Window2.GetSaveStateReference(hdSelectId.ClientID)
 | ||
|                                     + Window2.GetShowReference(openUrl));
 | ||
|                         }
 | ||
|                         //PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WBSSetCopy.aspx?Id={0}&Type={1}", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "拷贝 - ")));
 | ||
|                         else
 | ||
|                         {
 | ||
|                             ShowNotify("已是末级,无法添加子级节点!", MessageBoxIcon.Warning);
 | ||
|                         }
 | ||
|                     }
 | ||
|                     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.ControlItemProjectSetMenuId, BLL.Const.BtnDelete))
 | ||
|                 {
 | ||
|                     if (this.trWBS.SelectedNode.CommandName != "ProjectType")   //非工程类型节点可以删除
 | ||
|                     {
 | ||
|                         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 == "WorkPackage")
 | ||
|             {
 | ||
|                 Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(id, this.CurrUser.LoginProjectId);
 | ||
|                 if (workPackageProject != null)
 | ||
|                 {
 | ||
|                     List<Model.WBS_WorkPackageProject> childWorkPackageProjects1 = BLL.WorkPackageProjectService.GetWorkPackageProjectsBySuperWorkPack(id, this.CurrUser.LoginProjectId);
 | ||
|                     if (childWorkPackageProjects1.Count > 0)   //存在子分部分项
 | ||
|                     {
 | ||
|                         this.hdSelectId.Text = workPackageProject.WorkPackageCode;
 | ||
|                         foreach (var childWorkPackageProject1 in childWorkPackageProjects1)
 | ||
|                         {
 | ||
|                             List<Model.WBS_WorkPackageProject> childWorkPackageProjects2 = BLL.WorkPackageProjectService.GetWorkPackageProjectsBySuperWorkPack(childWorkPackageProject1.WorkPackageCode, this.CurrUser.LoginProjectId);
 | ||
|                             if (childWorkPackageProjects2.Count > 0)
 | ||
|                             {
 | ||
|                                 foreach (var childWorkPackageProject2 in childWorkPackageProjects2)
 | ||
|                                 {
 | ||
|                                     BLL.ControlItemProjectService.DeleteAllControlItemProject(childWorkPackageProject2.WorkPackageCode, this.CurrUser.LoginProjectId);
 | ||
|                                     BLL.WorkPackageProjectService.DeleteWorkPackageProject(childWorkPackageProject2.WorkPackageCode, this.CurrUser.LoginProjectId);
 | ||
|                                 }
 | ||
|                             }
 | ||
|                             BLL.ControlItemProjectService.DeleteAllControlItemProject(childWorkPackageProject1.WorkPackageCode, this.CurrUser.LoginProjectId);
 | ||
|                             BLL.WorkPackageProjectService.DeleteWorkPackageProject(childWorkPackageProject1.WorkPackageCode, this.CurrUser.LoginProjectId);
 | ||
|                         }
 | ||
|                     }
 | ||
|                     BLL.ControlItemProjectService.DeleteAllControlItemProject(id, this.CurrUser.LoginProjectId);
 | ||
|                     BLL.WorkPackageProjectService.DeleteWorkPackageProject(id, this.CurrUser.LoginProjectId);
 | ||
|                 }
 | ||
|             }
 | ||
|             BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.ControlItemProjectSetMenuId, "删除分部分项信息!");
 | ||
|             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.CommandName != "ProjectType")   //非工程类型节点可以增加
 | ||
|                 {
 | ||
|                     Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
 | ||
|                     if (workPackageProject.IsChild == false)
 | ||
|                     {
 | ||
|                         //string openUrl = String.Format("ControlItemProjectEdit.aspx?type=add&WorkPackageCode={0}", this.trWBS.SelectedNode.NodeID, "增加 - ");
 | ||
|                         //PageContext.RegisterStartupScript(Window3.GetSaveStateReference(hdSelectId.ClientID)
 | ||
|                         //        + Window2.GetShowReference(openUrl));
 | ||
|                         PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("ControlItemProjectEdit.aspx?type=add&WorkPackageCode={0}", this.trWBS.SelectedNode.NodeID, "新增 - ")));
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         ShowNotify("不是末级,无法添加工作包!", MessageBoxIcon.Warning);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     ShowNotify("工程类型节点无法增加工作包!", MessageBoxIcon.Warning);
 | ||
|                 }
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 保存
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnSave_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             decimal weights = 0;
 | ||
|             foreach (JObject mergedRow in Grid1.GetMergedData())
 | ||
|             {
 | ||
|                 JObject values = mergedRow.Value<JObject>("values");
 | ||
| 
 | ||
|                 try
 | ||
|                 {
 | ||
|                     weights += Convert.ToDecimal(values.Value<string>("Weights"));
 | ||
|                 }
 | ||
|                 catch (Exception)
 | ||
|                 {
 | ||
| 
 | ||
|                 }
 | ||
|             }
 | ||
|             if (weights != 100)
 | ||
|             {
 | ||
|                 Alert.ShowInTop("权重值不是100,请调整后再保存!", MessageBoxIcon.Warning);
 | ||
|                 return;
 | ||
|             }
 | ||
|             foreach (JObject mergedRow in Grid1.GetMergedData())
 | ||
|             {
 | ||
|                 JObject values = mergedRow.Value<JObject>("values");
 | ||
|                 int i = mergedRow.Value<int>("index");
 | ||
|                 string controlItemCode = values.Value<string>("ControlItemCode");
 | ||
|                 Model.WBS_ControlItemProject controlItemProject = BLL.ControlItemProjectService.GetControlItemProjectByCode(controlItemCode, this.CurrUser.LoginProjectId);
 | ||
|                 controlItemProject.ControlPoint = values.Value<string>("ControlPoint");
 | ||
|                 try
 | ||
|                 {
 | ||
|                     controlItemProject.Weights = Convert.ToDecimal(values.Value<string>("Weights"));
 | ||
|                 }
 | ||
|                 catch (Exception)
 | ||
|                 {
 | ||
|                     controlItemProject.Weights = null;
 | ||
|                 }
 | ||
|                 controlItemProject.ControlItemDef = values.Value<string>("ControlItemDef");
 | ||
|                 controlItemProject.Standard = values.Value<string>("Standard");
 | ||
|                 controlItemProject.ClauseNo = values.Value<string>("ClauseNo");
 | ||
|                 try
 | ||
|                 {
 | ||
|                     controlItemProject.CheckNum = Convert.ToInt32(values.Value<string>("CheckNum"));
 | ||
|                 }
 | ||
|                 catch (Exception)
 | ||
|                 {
 | ||
|                     controlItemProject.CheckNum = null;
 | ||
|                 }
 | ||
|                 AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
 | ||
|                 string hGForms = string.Empty;
 | ||
|                 for (int j = 0; j < cblHGForms1.Items.Count; j++)
 | ||
|                 {
 | ||
|                     if (cblHGForms1.Items[j].Selected)
 | ||
|                     {
 | ||
|                         hGForms += cblHGForms1.Items[j].Text + ",";
 | ||
|                     }
 | ||
|                 }
 | ||
|                 if (!string.IsNullOrEmpty(hGForms))
 | ||
|                 {
 | ||
|                     hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
 | ||
|                 }
 | ||
|                 controlItemProject.HGForms = hGForms;
 | ||
|                 AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
 | ||
|                 string sHForms = string.Empty;
 | ||
|                 for (int j = 0; j < cblSHForms1.Items.Count; j++)
 | ||
|                 {
 | ||
|                     if (cblSHForms1.Items[j].Selected)
 | ||
|                     {
 | ||
|                         sHForms += cblSHForms1.Items[j].Text + ",";
 | ||
|                     }
 | ||
|                 }
 | ||
|                 if (!string.IsNullOrEmpty(sHForms))
 | ||
|                 {
 | ||
|                     sHForms = sHForms.Substring(0, sHForms.LastIndexOf(","));
 | ||
|                 }
 | ||
|                 controlItemProject.SHForms = sHForms;
 | ||
|                 BLL.ControlItemProjectService.UpdateControlItemProject(controlItemProject);
 | ||
|                 //更新项目定制内容
 | ||
|                 var controlItemAndCycles = from x in Funs.DB.WBS_ControlItemAndCycle where x.ProjectId == CurrUser.LoginProjectId && x.InitControlItemCode == controlItemProject.ControlItemCode select x;
 | ||
|                 if (controlItemAndCycles.Count() > 0)
 | ||
|                 {
 | ||
|                     foreach (var item in controlItemAndCycles)
 | ||
|                     {
 | ||
|                         item.ControlPoint = controlItemProject.ControlPoint;
 | ||
|                         item.Weights = controlItemProject.Weights;
 | ||
|                         item.ControlItemDef = controlItemProject.ControlItemDef;
 | ||
|                         item.Standard = controlItemProject.Standard;
 | ||
|                         item.ClauseNo = controlItemProject.ClauseNo;
 | ||
|                         item.CheckNum = controlItemProject.CheckNum;
 | ||
|                         item.HGForms = controlItemProject.HGForms;
 | ||
|                         item.SHForms = controlItemProject.SHForms;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             ShowNotify("保存成功!", MessageBoxIcon.Success);
 | ||
|         }
 | ||
| 
 | ||
|         #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("ControlItemProjectEdit.aspx?type=modify&ControlItemCode={0}&WorkPackageCode={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.ControlItemProjectService.DeleteControlItemProject(Grid1.SelectedRowID, this.CurrUser.LoginProjectId);
 | ||
|                 BLL.LogService.AddSys_Log(this.CurrUser, Grid1.SelectedRowID, Grid1.SelectedRowID, BLL.Const.ControlItemProjectSetMenuId, "删除工作包");
 | ||
|                 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 ControlItemCode,WorkPackageCode,ControlItemContent,ControlPoint,ControlItemDef,Weights,HGForms,SHForms,Standard,ClauseNo,CheckNum"
 | ||
|                      + @" FROM WBS_ControlItemProject ";
 | ||
|             List<SqlParameter> listStr = new List<SqlParameter>();
 | ||
|             strSql += " where WorkPackageCode = @WorkPackageCode and ProjectId=@ProjectId";
 | ||
|             listStr.Add(new SqlParameter("@WorkPackageCode", this.trWBS.SelectedNodeID));
 | ||
|             listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
 | ||
|             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();
 | ||
|             Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
 | ||
|             if (workPackageProject != null)
 | ||
|             {
 | ||
|                 if (workPackageProject.ProjectType == "1")  //建筑工程
 | ||
|                 {
 | ||
|                     this.Grid1.Columns[4].HeaderText = "对应的建筑资料表格";
 | ||
|                     this.Grid1.Columns[5].Hidden = true;
 | ||
|                     this.lbHd.Width = System.Web.UI.WebControls.Unit.Pixel(480);
 | ||
|                     this.cbAllHGForms.Label = "全选对应的建筑资料表格";
 | ||
|                     this.cbAllHGForms.LabelWidth = System.Web.UI.WebControls.Unit.Pixel(175);
 | ||
|                     this.cbAllSHForms.Hidden = true;
 | ||
|                 }
 | ||
|                 else    //安装工程
 | ||
|                 {
 | ||
|                     this.Grid1.Columns[4].HeaderText = "对应的化工资料表格";
 | ||
|                     this.Grid1.Columns[5].Hidden = false;
 | ||
|                     this.lbHd.Width = System.Web.UI.WebControls.Unit.Pixel(380);
 | ||
|                     this.cbAllHGForms.Label = "全选对应的化工资料表格";
 | ||
|                     this.cbAllHGForms.LabelWidth = System.Web.UI.WebControls.Unit.Pixel(175);
 | ||
|                     this.cbAllSHForms.Hidden = false;
 | ||
|                 }
 | ||
|             }
 | ||
|             for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             {
 | ||
|                 Model.WBS_ControlItemInit c = BLL.ControlItemInitService.GetControlItemInitByCode(this.Grid1.Rows[i].RowID.ToString());
 | ||
|                 Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID.ToString(), this.CurrUser.LoginProjectId);
 | ||
|                 List<string> hGForms = new List<string>();
 | ||
|                 if (c != null && !string.IsNullOrEmpty(c.HGForms))
 | ||
|                 {
 | ||
|                     hGForms = c.HGForms.Split(',').ToList();
 | ||
|                 }
 | ||
|                 string[] phGForms = cp.HGForms.Split(',');
 | ||
|                 foreach (var item in phGForms)   //项目工作包表格中增加的表格也要显示
 | ||
|                 {
 | ||
|                     hGForms.Add(item);
 | ||
|                 }
 | ||
|                 hGForms = hGForms.Distinct().ToList();
 | ||
|                 AspNet.CheckBoxList cblHGForms = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
 | ||
|                 cblHGForms.Items.Clear();
 | ||
|                 foreach (var hGForm in hGForms)   //加载基础库的表格数据
 | ||
|                 {
 | ||
|                     if (!string.IsNullOrEmpty(hGForm))
 | ||
|                     {
 | ||
|                         AspNet.ListItem li = new AspNet.ListItem();
 | ||
|                         li.Text = hGForm;
 | ||
|                         li.Value = hGForm;
 | ||
|                         cblHGForms.Items.Add(li);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 for (int j = 0; j < cblHGForms.Items.Count; j++)
 | ||
|                 {
 | ||
|                     if (cp.HGForms.Contains(cblHGForms.Items[j].Value))   //项目库中包含的表格选中
 | ||
|                     {
 | ||
|                         cblHGForms.Items[j].Selected = true;
 | ||
|                     }
 | ||
|                 }
 | ||
|                 List<string> sHForms = new List<string>();
 | ||
|                 if (c != null && !string.IsNullOrEmpty(c.SHForms))
 | ||
|                 {
 | ||
|                     sHForms = c.SHForms.Split(',').ToList();
 | ||
|                 }
 | ||
|                 string[] psHForms = cp.SHForms.Split(',');
 | ||
|                 foreach (var item in psHForms)    //项目工作包表格中增加的表格也要显示
 | ||
|                 {
 | ||
|                     sHForms.Add(item);
 | ||
|                 }
 | ||
|                 sHForms = sHForms.Distinct().ToList();
 | ||
|                 AspNet.CheckBoxList cblSHForms = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
 | ||
|                 cblSHForms.Items.Clear();
 | ||
|                 foreach (var sHForm in sHForms)   //加载基础库的表格数据
 | ||
|                 {
 | ||
|                     if (!string.IsNullOrEmpty(sHForm))
 | ||
|                     {
 | ||
|                         AspNet.ListItem li = new AspNet.ListItem();
 | ||
|                         li.Text = sHForm;
 | ||
|                         li.Value = sHForm;
 | ||
|                         cblSHForms.Items.Add(li);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 for (int j = 0; j < cblSHForms.Items.Count; j++)
 | ||
|                 {
 | ||
|                     if (cp.SHForms.Contains(cblSHForms.Items[j].Value))   //项目库中包含的表格选中
 | ||
|                     {
 | ||
|                         cblSHForms.Items[j].Selected = true;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 根据所给Id定位到对应分部分项
 | ||
|         /// <summary>
 | ||
|         /// 根据所给Id定位到对应具体的工程类型、单位工程、子单位工程、分部、子分部、分项、子分项
 | ||
|         /// </summary>
 | ||
|         private void GetSelectTreeNode()
 | ||
|         {
 | ||
|             string projectType = string.Empty;
 | ||
|             string workPackageCode1 = string.Empty;
 | ||
|             string workPackageCode2 = string.Empty;
 | ||
|             Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.hdSelectId.Text, this.CurrUser.LoginProjectId);
 | ||
|             if (workPackageProject != null)
 | ||
|             {
 | ||
|                 if (workPackageProject.SuperWorkPack == null)   //选中第一级分部分项
 | ||
|                 {
 | ||
|                     projectType = workPackageProject.ProjectType;
 | ||
|                 }
 | ||
|                 else
 | ||
|                 {
 | ||
|                     Model.WBS_WorkPackageProject pWorkPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(workPackageProject.SuperWorkPack, this.CurrUser.LoginProjectId);
 | ||
|                     {
 | ||
|                         if (pWorkPackageProject.SuperWorkPack == null)    //选中第二级分部分项
 | ||
|                         {
 | ||
|                             projectType = pWorkPackageProject.ProjectType;
 | ||
|                             workPackageCode1 = pWorkPackageProject.WorkPackageCode;
 | ||
|                         }
 | ||
|                         else
 | ||
|                         {
 | ||
|                             Model.WBS_WorkPackageProject ppWorkPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(pWorkPackageProject.SuperWorkPack, this.CurrUser.LoginProjectId);
 | ||
|                             projectType = ppWorkPackageProject.ProjectType;
 | ||
|                             workPackageCode1 = ppWorkPackageProject.WorkPackageCode;
 | ||
|                             workPackageCode2 = pWorkPackageProject.WorkPackageCode;
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             InitTreeMenu();
 | ||
|             for (int i = 0; i < trWBS.Nodes.Count; i++)
 | ||
|             {
 | ||
|                 if (trWBS.Nodes[i].NodeID == projectType)
 | ||
|                 {
 | ||
|                     trWBS.Nodes[i].Expanded = true;
 | ||
|                     if (!string.IsNullOrEmpty(workPackageCode1))
 | ||
|                     {
 | ||
|                         for (int j = 0; j < trWBS.Nodes[i].Nodes.Count; j++)
 | ||
|                         {
 | ||
|                             if (trWBS.Nodes[i].Nodes[j].NodeID == workPackageCode1)
 | ||
|                             {
 | ||
|                                 trWBS.Nodes[i].Nodes[j].Expanded = true;
 | ||
|                                 if (!string.IsNullOrEmpty(workPackageCode2))
 | ||
|                                 {
 | ||
|                                     for (int k = 0; k < trWBS.Nodes[i].Nodes[j].Nodes.Count; k++)
 | ||
|                                     {
 | ||
|                                         if (trWBS.Nodes[i].Nodes[j].Nodes[k].NodeID == workPackageCode2)
 | ||
|                                         {
 | ||
|                                             trWBS.Nodes[i].Nodes[j].Nodes[k].Expanded = true;
 | ||
|                                         }
 | ||
|                                     }
 | ||
|                                 }
 | ||
|                             }
 | ||
|                         }
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|             this.trWBS.SelectedNodeID = this.hdSelectId.Text;
 | ||
|             //BindGrid();
 | ||
|         }
 | ||
|         #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.ControlItemProjectSetMenuId);
 | ||
|             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.BtnSave))
 | ||
|                 {
 | ||
|                     this.btnSave.Hidden = false;
 | ||
|                     this.btnRset.Hidden = false;
 | ||
|                     this.btnAllRset.Hidden = false;
 | ||
|                 }
 | ||
|                 if (buttonList.Contains(BLL.Const.BtnDelete))
 | ||
|                 {
 | ||
|                     this.btnMenuDelete.Hidden = false;
 | ||
|                     this.btnMenuDel.Hidden = false;
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region  表格选择事件
 | ||
|         protected void cblHGForms_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             AspNet.CheckBoxList cblHGForms = sender as AspNet.CheckBoxList;
 | ||
|             for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             {
 | ||
|                 AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
 | ||
|                 if (cblHGForms1.ClientID == cblHGForms.ClientID)
 | ||
|                 {
 | ||
|                     Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.SelectedRowID, this.CurrUser.LoginProjectId);
 | ||
|                     string hGForms = string.Empty;
 | ||
|                     for (int j = 0; j < cblHGForms.Items.Count; j++)
 | ||
|                     {
 | ||
|                         if (cblHGForms.Items[j].Selected)
 | ||
|                         {
 | ||
|                             hGForms += cblHGForms.Items[j].Text + ",";
 | ||
|                         }
 | ||
|                     }
 | ||
|                     if (!string.IsNullOrEmpty(hGForms))
 | ||
|                     {
 | ||
|                         hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
 | ||
|                     }
 | ||
|                     cp.HGForms = hGForms;
 | ||
|                     BLL.ControlItemProjectService.UpdateControlItemProject(cp);
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         protected void cblSHForms_SelectedIndexChanged(object sender, EventArgs e)
 | ||
|         {
 | ||
|             AspNet.CheckBoxList cblSHForms = sender as AspNet.CheckBoxList;
 | ||
|             for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             {
 | ||
|                 AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
 | ||
|                 if (cblSHForms1.ClientID == cblSHForms.ClientID)
 | ||
|                 {
 | ||
|                     Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.SelectedRowID, this.CurrUser.LoginProjectId);
 | ||
|                     if (cp != null)
 | ||
|                     {
 | ||
|                         string sHForms = string.Empty;
 | ||
|                         for (int j = 0; j < cblSHForms.Items.Count; j++)
 | ||
|                         {
 | ||
|                             if (cblSHForms.Items[j].Selected)
 | ||
|                             {
 | ||
|                                 sHForms += cblSHForms.Items[j].Text + ",";
 | ||
|                             }
 | ||
|                         }
 | ||
|                         if (!string.IsNullOrEmpty(sHForms))
 | ||
|                         {
 | ||
|                             sHForms = sHForms.Substring(0, sHForms.LastIndexOf(","));
 | ||
|                         }
 | ||
|                         cp.SHForms = sHForms;
 | ||
|                         BLL.ControlItemProjectService.UpdateControlItemProject(cp);
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region  按级别显示事件
 | ||
|         /// <summary>
 | ||
|         /// 第一级
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnLevel1_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.trWBS.CollapseAllNodes();
 | ||
|             for (int i = 0; i < trWBS.Nodes.Count; i++)
 | ||
|             {
 | ||
|                 trWBS.Nodes[i].Expanded = true;
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 第二级
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnLevel2_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.trWBS.CollapseAllNodes();
 | ||
|             for (int i = 0; i < trWBS.Nodes.Count; i++)
 | ||
|             {
 | ||
|                 trWBS.Nodes[i].Expanded = true;
 | ||
|                 for (int j = 0; j < trWBS.Nodes[i].Nodes.Count; j++)
 | ||
|                 {
 | ||
|                     trWBS.Nodes[i].Nodes[j].Expanded = true;
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         /// <summary>
 | ||
|         /// 第三级
 | ||
|         /// </summary>
 | ||
|         /// <param name="sender"></param>
 | ||
|         /// <param name="e"></param>
 | ||
|         protected void btnLevel3_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             this.trWBS.CollapseAllNodes();
 | ||
|             for (int i = 0; i < trWBS.Nodes.Count; i++)
 | ||
|             {
 | ||
|                 trWBS.Nodes[i].Expanded = true;
 | ||
|                 for (int j = 0; j < trWBS.Nodes[i].Nodes.Count; j++)
 | ||
|                 {
 | ||
|                     trWBS.Nodes[i].Nodes[j].Expanded = true;
 | ||
|                     for (int k = 0; k < trWBS.Nodes[i].Nodes[j].Nodes.Count; k++)
 | ||
|                     {
 | ||
|                         trWBS.Nodes[i].Nodes[j].Nodes[k].Expanded = true;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region 恢复默认
 | ||
|         protected void btnRset_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             if (this.trWBS.SelectedNode != null && this.trWBS.SelectedNode.Nodes.Count == 0)  //末级节点
 | ||
|             {
 | ||
|                 //删除新增项
 | ||
|                 var q = BLL.ControlItemProjectService.GetItemsByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
 | ||
|                 foreach (var item in q)
 | ||
|                 {
 | ||
|                     Model.WBS_ControlItemInit init = BLL.ControlItemInitService.GetControlItemInitByCode(item.ControlItemCode);
 | ||
|                     if (init == null)
 | ||
|                     {
 | ||
|                         BLL.ControlItemProjectService.DeleteControlItemProject(item.ControlItemCode, this.CurrUser.LoginProjectId);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 //恢复默认
 | ||
|                 var q2 = BLL.ControlItemInitService.GetItemsByWorkPackageCode(this.trWBS.SelectedNodeID);
 | ||
|                 foreach (var item in q2)
 | ||
|                 {
 | ||
|                     var cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(item.ControlItemCode, this.CurrUser.LoginProjectId);
 | ||
|                     if (cp != null)
 | ||
|                     {
 | ||
|                         cp.ControlItemContent = item.ControlItemContent;
 | ||
|                         cp.ControlPoint = item.ControlPoint;
 | ||
|                         cp.ControlItemDef = item.ControlItemDef;
 | ||
|                         cp.Weights = item.Weights;
 | ||
|                         cp.HGForms = item.HGForms;
 | ||
|                         cp.SHForms = item.SHForms;
 | ||
|                         cp.Standard = item.Standard;
 | ||
|                         cp.ClauseNo = item.ClauseNo;
 | ||
|                         cp.CheckNum = 1;
 | ||
|                         BLL.ControlItemProjectService.UpdateControlItemProject(cp);
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         Model.WBS_ControlItemProject controlItemProject = new Model.WBS_ControlItemProject();
 | ||
|                         controlItemProject.ControlItemCode = item.ControlItemCode;
 | ||
|                         controlItemProject.ProjectId = this.CurrUser.LoginProjectId;
 | ||
|                         controlItemProject.WorkPackageCode = item.WorkPackageCode;
 | ||
|                         controlItemProject.ControlItemContent = item.ControlItemContent;
 | ||
|                         controlItemProject.ControlPoint = item.ControlPoint;
 | ||
|                         controlItemProject.ControlItemDef = item.ControlItemDef;
 | ||
|                         controlItemProject.Weights = item.Weights;
 | ||
|                         controlItemProject.HGForms = item.HGForms;
 | ||
|                         controlItemProject.SHForms = item.SHForms;
 | ||
|                         controlItemProject.Standard = item.Standard;
 | ||
|                         controlItemProject.ClauseNo = item.ClauseNo;
 | ||
|                         controlItemProject.CheckNum = 1;
 | ||
|                         BLL.ControlItemProjectService.AddControlItemProject(controlItemProject);
 | ||
|                     }
 | ||
|                 }
 | ||
|                 ShowNotify("恢复默认成功!", MessageBoxIcon.Success);
 | ||
|                 BindGrid();
 | ||
|             }
 | ||
|             else
 | ||
|             {
 | ||
|                 Alert.ShowInTop("请选择树节点的末级!", MessageBoxIcon.Warning);
 | ||
|             }
 | ||
|         }
 | ||
| 
 | ||
|         protected void btnAllRset_Click(object sender, EventArgs e)
 | ||
|         {
 | ||
|             var controlItemProjects = from x in Funs.DB.WBS_ControlItemProject where x.ProjectId == this.CurrUser.LoginProjectId select x;
 | ||
|             Funs.DB.WBS_ControlItemProject.DeleteAllOnSubmit(controlItemProjects);
 | ||
|             var workPackageProjects = from x in Funs.DB.WBS_WorkPackageProject where x.ProjectId == this.CurrUser.LoginProjectId select x;
 | ||
|             Funs.DB.WBS_WorkPackageProject.DeleteAllOnSubmit(workPackageProjects);
 | ||
|             Funs.DB.SubmitChanges();
 | ||
|             //拷贝项目WBS数据
 | ||
|             var workPackageInits = from x in Funs.DB.WBS_WorkPackageInit select x;
 | ||
|             foreach (var workPackageInit in workPackageInits)
 | ||
|             {
 | ||
|                 Model.WBS_WorkPackageProject workPackageProject = new Model.WBS_WorkPackageProject();
 | ||
|                 workPackageProject.WorkPackageCode = workPackageInit.WorkPackageCode;
 | ||
|                 workPackageProject.ProjectId = this.CurrUser.LoginProjectId;
 | ||
|                 workPackageProject.ProjectType = workPackageInit.ProjectType;
 | ||
|                 workPackageProject.PackageContent = workPackageInit.PackageContent;
 | ||
|                 workPackageProject.SuperWorkPack = workPackageInit.SuperWorkPack;
 | ||
|                 workPackageProject.IsChild = workPackageInit.IsChild;
 | ||
|                 workPackageProject.PackageCode = workPackageInit.PackageCode;
 | ||
|                 workPackageProject.ProjectType = workPackageInit.ProjectType;
 | ||
|                 BLL.WorkPackageProjectService.AddWorkPackageProject(workPackageProject);
 | ||
|             }
 | ||
|             var controlItemInits = from x in Funs.DB.WBS_ControlItemInit select x;
 | ||
|             foreach (var controlItemInit in controlItemInits)
 | ||
|             {
 | ||
|                 Model.WBS_ControlItemProject controlItemProject = new Model.WBS_ControlItemProject();
 | ||
|                 controlItemProject.ControlItemCode = controlItemInit.ControlItemCode;
 | ||
|                 controlItemProject.ProjectId = this.CurrUser.LoginProjectId;
 | ||
|                 controlItemProject.WorkPackageCode = controlItemInit.WorkPackageCode;
 | ||
|                 controlItemProject.ControlItemContent = controlItemInit.ControlItemContent;
 | ||
|                 controlItemProject.ControlPoint = controlItemInit.ControlPoint;
 | ||
|                 controlItemProject.ControlItemDef = controlItemInit.ControlItemDef;
 | ||
|                 controlItemProject.Weights = controlItemInit.Weights;
 | ||
|                 controlItemProject.HGForms = controlItemInit.HGForms;
 | ||
|                 controlItemProject.SHForms = controlItemInit.SHForms;
 | ||
|                 controlItemProject.Standard = controlItemInit.Standard;
 | ||
|                 controlItemProject.ClauseNo = controlItemInit.ClauseNo;
 | ||
|                 controlItemProject.CheckNum = 1;
 | ||
|                 BLL.ControlItemProjectService.AddControlItemProject(controlItemProject);
 | ||
|             }
 | ||
|             ShowNotify("全部恢复默认成功!", MessageBoxIcon.Success);
 | ||
|             InitTreeMenu();
 | ||
|             //BindGrid();
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region  全选化工表格
 | ||
|         protected void cbAllHGForms_CheckedChanged(object sender, CheckedEventArgs e)
 | ||
|         {
 | ||
|             CheckBox cblAllHGForms = sender as CheckBox;
 | ||
|             BindGrid();
 | ||
|             for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             {
 | ||
|                 AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
 | ||
|                 Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
 | ||
|                 for (int j = 0; j < cblHGForms1.Items.Count; j++)
 | ||
|                 {
 | ||
|                     if (cblAllHGForms.Checked)
 | ||
|                     {
 | ||
|                         cblHGForms1.Items[j].Selected = true;
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         cblHGForms1.Items[j].Selected = false;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             //CheckBox cblAllHGForms = sender as CheckBox;
 | ||
|             //for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             //{
 | ||
|             //    AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
 | ||
|             //    Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
 | ||
|             //    string hGForms = string.Empty;
 | ||
|             //    for (int j = 0; j < cblHGForms1.Items.Count; j++)
 | ||
|             //    {
 | ||
|             //        if (cblAllHGForms.Checked)
 | ||
|             //        {
 | ||
|             //            hGForms += cblHGForms1.Items[j].Text + ",";
 | ||
|             //        }
 | ||
|             //    }
 | ||
|             //    if (!string.IsNullOrEmpty(hGForms))
 | ||
|             //    {
 | ||
|             //        hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
 | ||
|             //    }
 | ||
|             //    cp.HGForms = hGForms;
 | ||
|             //    BLL.ControlItemProjectService.UpdateControlItemProject(cp);
 | ||
|             //}
 | ||
|             //BindGrid();
 | ||
|         }
 | ||
|         #endregion
 | ||
| 
 | ||
|         #region  全选化工表格
 | ||
|         protected void cbAllSHForms_CheckedChanged(object sender, CheckedEventArgs e)
 | ||
|         {
 | ||
|             CheckBox cblAllSHForms = sender as CheckBox;
 | ||
|             BindGrid();
 | ||
|             for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             {
 | ||
|                 AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
 | ||
|                 Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
 | ||
|                 for (int j = 0; j < cblSHForms1.Items.Count; j++)
 | ||
|                 {
 | ||
|                     if (cblAllSHForms.Checked)
 | ||
|                     {
 | ||
|                         cblSHForms1.Items[j].Selected = true;
 | ||
|                     }
 | ||
|                     else
 | ||
|                     {
 | ||
|                         cblSHForms1.Items[j].Selected = false;
 | ||
|                     }
 | ||
|                 }
 | ||
|             }
 | ||
| 
 | ||
|             //CheckBox cblAllSHForms = sender as CheckBox;
 | ||
|             //for (int i = 0; i < this.Grid1.Rows.Count; i++)
 | ||
|             //{
 | ||
|             //    AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
 | ||
|             //    Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
 | ||
|             //    string hGForms = string.Empty;
 | ||
|             //    for (int j = 0; j < cblSHForms1.Items.Count; j++)
 | ||
|             //    {
 | ||
|             //        if (cblAllSHForms.Checked)
 | ||
|             //        {
 | ||
|             //            hGForms += cblSHForms1.Items[j].Text + ",";
 | ||
|             //        }
 | ||
|             //    }
 | ||
|             //    if (!string.IsNullOrEmpty(hGForms))
 | ||
|             //    {
 | ||
|             //        hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
 | ||
|             //    }
 | ||
|             //    cp.SHForms = hGForms;
 | ||
|             //    BLL.ControlItemProjectService.UpdateControlItemProject(cp);
 | ||
|             //}
 | ||
|             //BindGrid();
 | ||
|         }
 | ||
|         #endregion
 | ||
|     }
 | ||
| } |