421 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			421 lines
		
	
	
		
			23 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using BLL; | |||
|  | using Model; | |||
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Web.UI.WebControls; | |||
|  | 
 | |||
|  | namespace FineUIPro.Web.JDGL.WBS | |||
|  | { | |||
|  |     public partial class WBSSetCopy2 : PageBase | |||
|  |     { | |||
|  |         #region 加载 | |||
|  |         /// <summary> | |||
|  |         /// 加载页面 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void Page_Load(object sender, EventArgs e) | |||
|  |         { | |||
|  |             if (!IsPostBack) | |||
|  |             { | |||
|  |                 LoadData(); | |||
|  |                 string id = Request.Params["Id"]; | |||
|  |                 string type = Request.Params["Type"]; | |||
|  |                 if (type == "unitProject" || type == "childUnitProject") | |||
|  |                 { | |||
|  |                     Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); | |||
|  |                     if (unitProject != null) | |||
|  |                     { | |||
|  |                         txtCode.Text = unitProject.UnitProjectCode; | |||
|  |                         if (unitProject.StartDate != null) | |||
|  |                         { | |||
|  |                             txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.StartDate); | |||
|  |                             txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.EndDate); | |||
|  |                         } | |||
|  |                         txtRemark.Text = unitProject.Remark; | |||
|  |                     } | |||
|  |                 } | |||
|  |                 else if (type == "wbsSet") | |||
|  |                 { | |||
|  |                     Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(id); | |||
|  |                     if (wbsSet != null) | |||
|  |                     { | |||
|  |                         txtCode.Text = wbsSet.WbsSetCode; | |||
|  |                         if (wbsSet.StartDate != null) | |||
|  |                         { | |||
|  |                             txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.StartDate); | |||
|  |                             txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.EndDate); | |||
|  |                         } | |||
|  |                         txtRemark.Text = wbsSet.Remark; | |||
|  |                         if (BLL.WbsSetInitService.GetWbsSetInitsBySuperWbsSetCode(id).Count == 0)  //末级节点 | |||
|  |                         { | |||
|  |                             this.trWbsSet2.Hidden = false; | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |         } | |||
|  |         private void LoadData() | |||
|  |         { | |||
|  |             btnClose.OnClientClick = ActiveWindow.GetHideReference(); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 获取新编号 | |||
|  |         /// <summary> | |||
|  |         /// 获取新编号 | |||
|  |         /// </summary> | |||
|  |         /// <param name="code"></param> | |||
|  |         /// <param name="i"></param> | |||
|  |         /// <returns></returns> | |||
|  |         private string GetNewCode(string code, int i) | |||
|  |         { | |||
|  |             string newCode = string.Empty; | |||
|  |             int codeLast = Convert.ToInt32(code.Substring(code.Length - 1, 1)); | |||
|  |             if (codeLast == 1) | |||
|  |             { | |||
|  |                 newCode = code.Substring(0, code.Length - 1) + ((i + 2) < 10 ? (i + 2) : 0); | |||
|  |             } | |||
|  |             else | |||
|  |             { | |||
|  |                 newCode = code.Substring(0, code.Length - 1) + ((codeLast + 1) < 10 ? (codeLast + 1) : 0); | |||
|  |             } | |||
|  |             return newCode; | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 保存 | |||
|  |         /// <summary> | |||
|  |         /// 保存按钮 | |||
|  |         /// </summary> | |||
|  |         /// <param name="sender"></param> | |||
|  |         /// <param name="e"></param> | |||
|  |         protected void btnSave_Click(object sender, EventArgs e) | |||
|  |         { | |||
|  |             string updateId = string.Empty; | |||
|  |             string id = Request.Params["Id"]; | |||
|  |             string type = Request.Params["Type"]; | |||
|  |             string handleType = Request.Params["HandleType"]; | |||
|  |             if (type == "unitProject") | |||
|  |             { | |||
|  |                 Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); | |||
|  |                 if (unitProject != null) | |||
|  |                 { | |||
|  |                     //拷贝单位工程 | |||
|  |                     Model.Wbs_UnitProject newUnitProject = new Wbs_UnitProject(); | |||
|  |                     newUnitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); | |||
|  |                     updateId = newUnitProject.UnitProjectId; | |||
|  |                     newUnitProject.UnitProjectCode = txtCode.Text.Trim(); | |||
|  |                     newUnitProject.UnitProjectName = txtName.Text.Trim(); | |||
|  |                     newUnitProject.ProjectId = unitProject.ProjectId; | |||
|  |                     newUnitProject.CnProfessionId = unitProject.CnProfessionId; | |||
|  |                     newUnitProject.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); | |||
|  |                     newUnitProject.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); | |||
|  |                     if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) | |||
|  |                     { | |||
|  |                         newUnitProject.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); | |||
|  |                     } | |||
|  |                     newUnitProject.Remark = txtRemark.Text.Trim(); | |||
|  |                     newUnitProject.SuperUnitProjectId = unitProject.SuperUnitProjectId; | |||
|  |                     newUnitProject.IsIn = false; | |||
|  |                     if (string.IsNullOrEmpty(handleType)) | |||
|  |                     { | |||
|  |                         newUnitProject.IsSelected = true; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         newUnitProject.IsApprove = true; | |||
|  |                     } | |||
|  |                     BLL.UnitProjectService.AddUnitProject(newUnitProject); | |||
|  |                     //拷贝子单位工程 | |||
|  |                     List<Model.Wbs_UnitProject> childUnitProjects = (from x in Funs.DB.Wbs_UnitProject where x.SuperUnitProjectId == unitProject.UnitProjectId orderby x.UnitProjectCode select x).ToList(); | |||
|  |                     if (childUnitProjects.Count > 0)   //存在子单位工程 | |||
|  |                     { | |||
|  |                         foreach (Wbs_UnitProject childUnitProject in childUnitProjects) | |||
|  |                         { | |||
|  |                             Model.Wbs_UnitProject newChildUnitProject = new Wbs_UnitProject(); | |||
|  |                             newChildUnitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); | |||
|  |                             newChildUnitProject.UnitProjectCode = GetReplaceCode(childUnitProject.UnitProjectCode, unitProject.UnitProjectCode); | |||
|  |                             newChildUnitProject.UnitProjectName = childUnitProject.UnitProjectName; | |||
|  |                             newChildUnitProject.ProjectId = childUnitProject.ProjectId; | |||
|  |                             newChildUnitProject.CnProfessionId = childUnitProject.CnProfessionId; | |||
|  |                             newChildUnitProject.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); | |||
|  |                             newChildUnitProject.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); | |||
|  |                             newChildUnitProject.SortIndex = childUnitProject.SortIndex; | |||
|  |                             newChildUnitProject.Remark = txtRemark.Text.Trim(); | |||
|  |                             newChildUnitProject.SuperUnitProjectId = newUnitProject.UnitProjectId; | |||
|  |                             newChildUnitProject.IsIn = false; | |||
|  |                             if (string.IsNullOrEmpty(handleType)) | |||
|  |                             { | |||
|  |                                 newChildUnitProject.IsSelected = true; | |||
|  |                             } | |||
|  |                             else | |||
|  |                             { | |||
|  |                                 newChildUnitProject.IsApprove = true; | |||
|  |                             } | |||
|  |                             BLL.UnitProjectService.AddUnitProject(newChildUnitProject); | |||
|  |                             //拷贝分部工程 | |||
|  |                             var wbsSet1s = from x in Funs.DB.Wbs_WbsSet where x.Flag == 1 && x.UnitProjectId == childUnitProject.UnitProjectId orderby x.WbsSetCode select x; | |||
|  |                             foreach (var wbsSet1 in wbsSet1s) | |||
|  |                             { | |||
|  |                                 Model.Wbs_WbsSet newWbsSet1 = new Wbs_WbsSet(); | |||
|  |                                 newWbsSet1.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); | |||
|  |                                 //newWbsSet1.WbsSetCode = wbsSet1.WbsSetCode.Replace(unitProject.UnitProjectCode, this.txtCode.Text.Trim()); | |||
|  |                                 newWbsSet1.WbsSetCode = GetReplaceCode(wbsSet1.WbsSetCode, unitProject.UnitProjectCode); | |||
|  |                                 newWbsSet1.WbsSetName = wbsSet1.WbsSetName; | |||
|  |                                 newWbsSet1.CnProfessionId = wbsSet1.CnProfessionId; | |||
|  |                                 newWbsSet1.UnitProjectId = newChildUnitProject.UnitProjectId; | |||
|  |                                 newWbsSet1.SuperWbsSetId = null; | |||
|  |                                 newWbsSet1.ProjectId = wbsSet1.ProjectId; | |||
|  |                                 newWbsSet1.StartDate = wbsSet1.StartDate; | |||
|  |                                 newWbsSet1.EndDate = wbsSet1.EndDate; | |||
|  |                                 newWbsSet1.Flag = wbsSet1.Flag; | |||
|  |                                 newWbsSet1.Way = wbsSet1.Way; | |||
|  |                                 newWbsSet1.Remark = wbsSet1.Remark; | |||
|  |                                 newWbsSet1.IsIn = false; | |||
|  |                                 newWbsSet1.SortIndex = wbsSet1.SortIndex; | |||
|  |                                 if (string.IsNullOrEmpty(handleType)) | |||
|  |                                 { | |||
|  |                                     newWbsSet1.IsSelected = true; | |||
|  |                                 } | |||
|  |                                 else | |||
|  |                                 { | |||
|  |                                     newWbsSet1.IsApprove = true; | |||
|  |                                 } | |||
|  |                                 BLL.WbsSetService.AddWbsSet(newWbsSet1); | |||
|  |                                 this.AddWbsSets(newWbsSet1.WbsSetId, wbsSet1.WbsSetId, unitProject.UnitProjectCode, newChildUnitProject.UnitProjectId); | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                     else     //不存在子单位工程 | |||
|  |                     { | |||
|  |                         //拷贝分部工程 | |||
|  |                         var wbsSet1s = from x in Funs.DB.Wbs_WbsSet where x.Flag == 1 && x.UnitProjectId == unitProject.UnitProjectId orderby x.WbsSetCode select x; | |||
|  |                         if (wbsSet1s.Count() > 0) | |||
|  |                         { | |||
|  |                             foreach (var wbsSet1 in wbsSet1s) | |||
|  |                             { | |||
|  |                                 Model.Wbs_WbsSet newWbsSet1 = new Wbs_WbsSet(); | |||
|  |                                 newWbsSet1.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); | |||
|  |                                 //newWbsSet1.WbsSetCode = wbsSet1.WbsSetCode.Replace(unitProject.UnitProjectCode, this.txtCode.Text.Trim()); | |||
|  |                                 newWbsSet1.WbsSetCode = GetReplaceCode(wbsSet1.WbsSetCode, unitProject.UnitProjectCode); | |||
|  |                                 newWbsSet1.WbsSetName = wbsSet1.WbsSetName; | |||
|  |                                 newWbsSet1.CnProfessionId = wbsSet1.CnProfessionId; | |||
|  |                                 newWbsSet1.UnitProjectId = newUnitProject.UnitProjectId; | |||
|  |                                 newWbsSet1.SuperWbsSetId = null; | |||
|  |                                 newWbsSet1.ProjectId = wbsSet1.ProjectId; | |||
|  |                                 newWbsSet1.StartDate = wbsSet1.StartDate; | |||
|  |                                 newWbsSet1.EndDate = wbsSet1.EndDate; | |||
|  |                                 newWbsSet1.SortIndex = wbsSet1.SortIndex; | |||
|  |                                 newWbsSet1.Flag = wbsSet1.Flag; | |||
|  |                                 newWbsSet1.Way = wbsSet1.Way; | |||
|  |                                 newWbsSet1.Remark = wbsSet1.Remark; | |||
|  |                                 newWbsSet1.IsIn = false; | |||
|  |                                 if (string.IsNullOrEmpty(handleType)) | |||
|  |                                 { | |||
|  |                                     newWbsSet1.IsSelected = true; | |||
|  |                                 } | |||
|  |                                 else | |||
|  |                                 { | |||
|  |                                     newWbsSet1.IsApprove = true; | |||
|  |                                 } | |||
|  |                                 BLL.WbsSetService.AddWbsSet(newWbsSet1); | |||
|  |                                 this.AddWbsSets(newWbsSet1.WbsSetId, wbsSet1.WbsSetId, unitProject.UnitProjectCode, unitProject.UnitProjectId); | |||
|  |                             } | |||
|  |                         } | |||
|  |                         else    //单位工程下直接是分项内容,如质量行为 | |||
|  |                         { | |||
|  |                             var wbsSet3s = from x in Funs.DB.Wbs_WbsSet where x.Flag == 3 && x.UnitProjectId == unitProject.UnitProjectId orderby x.WbsSetCode select x; | |||
|  |                             if (wbsSet3s.Count() > 0) | |||
|  |                             { | |||
|  |                                 foreach (var wbsSet3 in wbsSet3s) | |||
|  |                                 { | |||
|  |                                     Model.Wbs_WbsSet newWbsSet3 = new Wbs_WbsSet(); | |||
|  |                                     newWbsSet3.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); | |||
|  |                                     //newWbsSet1.WbsSetCode = wbsSet1.WbsSetCode.Replace(unitProject.UnitProjectCode, this.txtCode.Text.Trim()); | |||
|  |                                     newWbsSet3.WbsSetCode = GetReplaceCode(wbsSet3.WbsSetCode, unitProject.UnitProjectCode); | |||
|  |                                     newWbsSet3.WbsSetName = wbsSet3.WbsSetName; | |||
|  |                                     newWbsSet3.CnProfessionId = wbsSet3.CnProfessionId; | |||
|  |                                     newWbsSet3.UnitProjectId = newUnitProject.UnitProjectId; | |||
|  |                                     newWbsSet3.SuperWbsSetId = null; | |||
|  |                                     newWbsSet3.ProjectId = wbsSet3.ProjectId; | |||
|  |                                     newWbsSet3.StartDate = wbsSet3.StartDate; | |||
|  |                                     newWbsSet3.EndDate = wbsSet3.EndDate; | |||
|  |                                     newWbsSet3.SortIndex = wbsSet3.SortIndex; | |||
|  |                                     newWbsSet3.Flag = wbsSet3.Flag; | |||
|  |                                     newWbsSet3.Way = wbsSet3.Way; | |||
|  |                                     newWbsSet3.Remark = wbsSet3.Remark; | |||
|  |                                     newWbsSet3.IsIn = false; | |||
|  |                                     if (string.IsNullOrEmpty(handleType)) | |||
|  |                                     { | |||
|  |                                         newWbsSet3.IsSelected = true; | |||
|  |                                     } | |||
|  |                                     else | |||
|  |                                     { | |||
|  |                                         newWbsSet3.IsApprove = true; | |||
|  |                                     } | |||
|  |                                     BLL.WbsSetService.AddWbsSet(newWbsSet3); | |||
|  |                                     this.AddWbsSets(newWbsSet3.WbsSetId, wbsSet3.WbsSetId, unitProject.UnitProjectCode, unitProject.UnitProjectId); | |||
|  |                                 } | |||
|  |                             } | |||
|  |                         } | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             else if (type == "childUnitProject") | |||
|  |             { | |||
|  |                 Model.Wbs_UnitProject childUnitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(id); | |||
|  |                 if (childUnitProject != null) | |||
|  |                 { | |||
|  |                     //拷贝子单位工程 | |||
|  |                     Model.Wbs_UnitProject newChildUnitProject = new Wbs_UnitProject(); | |||
|  |                     newChildUnitProject.UnitProjectId = SQLHelper.GetNewID(typeof(Model.Wbs_UnitProject)); | |||
|  |                     updateId = newChildUnitProject.UnitProjectId; | |||
|  |                     newChildUnitProject.UnitProjectCode = txtCode.Text.Trim(); | |||
|  |                     newChildUnitProject.UnitProjectName = txtName.Text.Trim(); | |||
|  |                     newChildUnitProject.ProjectId = childUnitProject.ProjectId; | |||
|  |                     newChildUnitProject.CnProfessionId = childUnitProject.CnProfessionId; | |||
|  |                     newChildUnitProject.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); | |||
|  |                     newChildUnitProject.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); | |||
|  |                     if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) | |||
|  |                     { | |||
|  |                         newChildUnitProject.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); | |||
|  |                     } | |||
|  |                     newChildUnitProject.Remark = txtRemark.Text.Trim(); | |||
|  |                     newChildUnitProject.SuperUnitProjectId = childUnitProject.SuperUnitProjectId; | |||
|  |                     newChildUnitProject.IsIn = false; | |||
|  |                     if (string.IsNullOrEmpty(handleType)) | |||
|  |                     { | |||
|  |                         newChildUnitProject.IsSelected = true; | |||
|  |                     } | |||
|  |                     else | |||
|  |                     { | |||
|  |                         newChildUnitProject.IsApprove = true; | |||
|  |                     } | |||
|  |                     BLL.UnitProjectService.AddUnitProject(newChildUnitProject); | |||
|  |                     //拷贝分部工程 | |||
|  |                     var wbsSet1s = from x in Funs.DB.Wbs_WbsSet where x.Flag == 1 && x.UnitProjectId == childUnitProject.UnitProjectId orderby x.WbsSetCode select x; | |||
|  |                     foreach (var wbsSet1 in wbsSet1s) | |||
|  |                     { | |||
|  |                         Model.Wbs_WbsSet newWbsSet1 = new Wbs_WbsSet(); | |||
|  |                         newWbsSet1.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); | |||
|  |                         //newWbsSet1.WbsSetCode = wbsSet1.WbsSetCode.Replace(childUnitProject.UnitProjectCode, this.txtCode.Text.Trim()); | |||
|  |                         newWbsSet1.WbsSetCode = GetReplaceCode(wbsSet1.WbsSetCode, childUnitProject.UnitProjectCode); | |||
|  |                         newWbsSet1.WbsSetName = wbsSet1.WbsSetName; | |||
|  |                         newWbsSet1.CnProfessionId = wbsSet1.CnProfessionId; | |||
|  |                         newWbsSet1.UnitProjectId = newChildUnitProject.UnitProjectId; | |||
|  |                         newWbsSet1.SuperWbsSetId = null; | |||
|  |                         newWbsSet1.ProjectId = wbsSet1.ProjectId; | |||
|  |                         newWbsSet1.StartDate = wbsSet1.StartDate; | |||
|  |                         newWbsSet1.EndDate = wbsSet1.EndDate; | |||
|  |                         newWbsSet1.SortIndex = wbsSet1.SortIndex; | |||
|  |                         newWbsSet1.Flag = wbsSet1.Flag; | |||
|  |                         newWbsSet1.Way = wbsSet1.Way; | |||
|  |                         newWbsSet1.Remark = wbsSet1.Remark; | |||
|  |                         newWbsSet1.IsIn = false; | |||
|  |                         if (string.IsNullOrEmpty(handleType)) | |||
|  |                         { | |||
|  |                             newWbsSet1.IsSelected = true; | |||
|  |                         } | |||
|  |                         else | |||
|  |                         { | |||
|  |                             newWbsSet1.IsApprove = true; | |||
|  |                         } | |||
|  |                         BLL.WbsSetService.AddWbsSet(newWbsSet1); | |||
|  |                         this.AddWbsSets(newWbsSet1.WbsSetId, wbsSet1.WbsSetId, childUnitProject.UnitProjectCode, newChildUnitProject.UnitProjectId); | |||
|  |                     } | |||
|  |                 } | |||
|  |             } | |||
|  |             else if (type == "wbsSet") | |||
|  |             { | |||
|  |                 Model.Wbs_WbsSet wbsSet = BLL.WbsSetService.GetWbsSetByWbsSetId(id); | |||
|  |                 if (wbsSet != null) | |||
|  |                 { | |||
|  |                     Model.Wbs_WbsSet newWbsSet = new Wbs_WbsSet(); | |||
|  |                     newWbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); | |||
|  |                     updateId = newWbsSet.WbsSetId; | |||
|  |                     newWbsSet.WbsSetCode = this.txtCode.Text.Trim(); | |||
|  |                     newWbsSet.WbsSetName = txtName.Text.Trim(); | |||
|  |                     newWbsSet.CnProfessionId = wbsSet.CnProfessionId; | |||
|  |                     newWbsSet.UnitProjectId = wbsSet.UnitProjectId; | |||
|  |                     newWbsSet.IsChild = true; | |||
|  |                     newWbsSet.SuperWbsSetId = wbsSet.WbsSetId; | |||
|  |                     newWbsSet.ProjectId = wbsSet.ProjectId; | |||
|  |                     newWbsSet.StartDate = Convert.ToDateTime(txtStartDate.Text.Trim()); | |||
|  |                     newWbsSet.EndDate = Convert.ToDateTime(txtEndDate.Text.Trim()); | |||
|  |                     if (!string.IsNullOrEmpty(txtSortIndex.Text.Trim())) | |||
|  |                     { | |||
|  |                         newWbsSet.SortIndex = Convert.ToInt32(txtSortIndex.Text.Trim()); | |||
|  |                     } | |||
|  |                     newWbsSet.Flag = wbsSet.Flag + 1; | |||
|  |                     newWbsSet.Way = wbsSet.Way; | |||
|  |                     newWbsSet.Remark = txtRemark.Text.Trim(); | |||
|  |                     newWbsSet.IsIn = false; | |||
|  |                     newWbsSet.IsApprove = true; | |||
|  |                     BLL.WbsSetService.AddWbsSet(newWbsSet); | |||
|  |                     this.AddWbsSets(newWbsSet.WbsSetId, wbsSet.WbsSetId, wbsSet.WbsSetCode, wbsSet.UnitProjectId); | |||
|  |                 } | |||
|  |             } | |||
|  |             //BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "拷贝单位、分部、分项工程"); | |||
|  |             PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(updateId) + ActiveWindow.GetHidePostBackReference()); | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 循环拷贝分部子级 | |||
|  |         /// <summary> | |||
|  |         /// 循环拷贝分部子级 | |||
|  |         /// </summary> | |||
|  |         /// <param name="newSuperWbsSetId"></param> | |||
|  |         /// <param name="oldSuperWbsSetId"></param> | |||
|  |         /// <param name="code"></param> | |||
|  |         /// <param name="unitProjectId"></param> | |||
|  |         private void AddWbsSets(string newSuperWbsSetId, string oldSuperWbsSetId, string code, string unitProjectId) | |||
|  |         { | |||
|  |             var childWbsSets = BLL.WbsSetService.GetIsChildWbsSetsBySuperWbsSetId(oldSuperWbsSetId); | |||
|  |             foreach (var wbsSet in childWbsSets) | |||
|  |             { | |||
|  |                 Model.Wbs_WbsSet newWbsSet = new Wbs_WbsSet(); | |||
|  |                 newWbsSet.WbsSetId = SQLHelper.GetNewID(typeof(Model.Wbs_WbsSet)); | |||
|  |                 //newWbsSet.WbsSetCode = wbsSet.WbsSetCode.Replace(code, this.txtCode.Text.Trim()); | |||
|  |                 newWbsSet.WbsSetCode = GetReplaceCode(wbsSet.WbsSetCode, code); | |||
|  |                 newWbsSet.WbsSetName = wbsSet.WbsSetName; | |||
|  |                 newWbsSet.CnProfessionId = wbsSet.CnProfessionId; | |||
|  |                 newWbsSet.UnitProjectId = unitProjectId; | |||
|  |                 newWbsSet.SuperWbsSetId = newSuperWbsSetId; | |||
|  |                 newWbsSet.ProjectId = wbsSet.ProjectId; | |||
|  |                 newWbsSet.StartDate = wbsSet.StartDate; | |||
|  |                 newWbsSet.EndDate = wbsSet.EndDate; | |||
|  |                 newWbsSet.SortIndex = wbsSet.SortIndex; | |||
|  |                 newWbsSet.ControlPoint = wbsSet.ControlPoint; | |||
|  |                 newWbsSet.Cycle = wbsSet.Cycle; | |||
|  |                 newWbsSet.Frequency = wbsSet.Frequency; | |||
|  |                 newWbsSet.Flag = wbsSet.Flag; | |||
|  |                 newWbsSet.Way = wbsSet.Way; | |||
|  |                 newWbsSet.Remark = wbsSet.Remark; | |||
|  |                 newWbsSet.IsIn = false; | |||
|  |                 newWbsSet.IsApprove = true; | |||
|  |                 BLL.WbsSetService.AddWbsSet(newWbsSet); | |||
|  |                 this.AddWbsSets(newWbsSet.WbsSetId, wbsSet.WbsSetId, code, unitProjectId); | |||
|  |             } | |||
|  |         } | |||
|  |         #endregion | |||
|  | 
 | |||
|  |         #region 获取编号 | |||
|  |         /// <summary> | |||
|  |         /// 获取编号 | |||
|  |         /// </summary> | |||
|  |         /// <param name="oldStr"></param> | |||
|  |         /// <param name="replaceCode"></param> | |||
|  |         /// <returns></returns> | |||
|  |         private string GetReplaceCode(string oldStr, string replaceCode) | |||
|  |         { | |||
|  |             if (oldStr.IndexOf(replaceCode) > -1) | |||
|  |             { | |||
|  |                 oldStr = oldStr.Remove(oldStr.IndexOf(replaceCode), replaceCode.Length).Insert(oldStr.IndexOf(replaceCode), this.txtCode.Text.Trim()); | |||
|  |             } | |||
|  |             return oldStr; | |||
|  |         } | |||
|  |         #endregion | |||
|  |     } | |||
|  | } |