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
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |