582 lines
36 KiB
C#
582 lines
36 KiB
C#
using BLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
|
|
namespace FineUIPro.Web.ProjectData
|
|
{
|
|
public partial class UnitWorkEdit : PageBase
|
|
{
|
|
private static string superId;
|
|
private static string id;
|
|
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
superId = Request.Params["SuperId"];
|
|
if (!string.IsNullOrEmpty(superId) && superId != null)
|
|
{
|
|
this.txtUnitWorkCode.Hidden = false;
|
|
this.txtUnitWorkName.Hidden = false;
|
|
Model.WBS_UnitWork supUnitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(superId);
|
|
if (supUnitWork != null)
|
|
{
|
|
this.txtSupUnitWorkCode.Text = supUnitWork.UnitWorkCode;
|
|
this.txtSupUnitWorkName.Text = supUnitWork.UnitWorkName;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
this.txtUnitWorkCode.Hidden = true;
|
|
this.txtUnitWorkName.Hidden = true;
|
|
}
|
|
id = Request.Params["Id"];
|
|
Model.WBS_UnitWork unitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(id);
|
|
if (unitWork != null)
|
|
{
|
|
if (unitWork.SuperUnitWork == "0")
|
|
{
|
|
this.txtUnitWorkCode.Hidden = true;
|
|
this.txtUnitWorkName.Hidden = true;
|
|
this.txtSupUnitWorkCode.Text = unitWork.UnitWorkCode;
|
|
this.txtSupUnitWorkName.Text = unitWork.UnitWorkName;
|
|
}
|
|
else
|
|
{
|
|
this.txtUnitWorkCode.Hidden = false;
|
|
this.txtUnitWorkName.Hidden = false;
|
|
Model.WBS_UnitWork supUnitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(unitWork.SuperUnitWork);
|
|
if (supUnitWork != null)
|
|
{
|
|
this.txtSupUnitWorkCode.Text = supUnitWork.UnitWorkCode;
|
|
this.txtSupUnitWorkName.Text = supUnitWork.UnitWorkName;
|
|
}
|
|
this.txtUnitWorkCode.Text = unitWork.UnitWorkCode;
|
|
this.txtUnitWorkName.Text = unitWork.UnitWorkName;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
if (!string.IsNullOrEmpty(superId) && superId != null)
|
|
{
|
|
Model.WBS_UnitWork supUnitWork = BLL.UnitWorkService.getUnitWorkByUnitWorkId(superId);
|
|
if (supUnitWork != null)
|
|
{
|
|
Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork();
|
|
newUnitWork.UnitWorkCode = this.txtUnitWorkCode.Text.Trim();
|
|
newUnitWork.UnitWorkName = this.txtUnitWorkName.Text.Trim();
|
|
newUnitWork.SuperUnitWork = superId;
|
|
newUnitWork.ProjectId = this.CurrUser.LoginProjectId;
|
|
if (!string.IsNullOrEmpty(id))
|
|
{
|
|
newUnitWork.UnitWorkId = id;
|
|
BLL.UnitWorkService.UpdateUnitWork(newUnitWork);
|
|
BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "修改子单位工程!");
|
|
|
|
}
|
|
else
|
|
{
|
|
newUnitWork.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork));
|
|
BLL.UnitWorkService.AddUnitWork(newUnitWork);
|
|
BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "增加子单位工程!");
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork();
|
|
newUnitWork.UnitWorkCode = this.txtSupUnitWorkCode.Text.Trim();
|
|
newUnitWork.UnitWorkName = this.txtSupUnitWorkName.Text.Trim();
|
|
newUnitWork.SuperUnitWork = "0";
|
|
newUnitWork.ProjectId = this.CurrUser.LoginProjectId;
|
|
if (!string.IsNullOrEmpty(id))
|
|
{
|
|
newUnitWork.UnitWorkId = id;
|
|
BLL.UnitWorkService.UpdateUnitWork(newUnitWork);
|
|
BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "修改单位工程!");
|
|
|
|
var divisionProject = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId);
|
|
if (divisionProject == null)
|
|
{
|
|
#region 拷贝WBS内容
|
|
//拷贝分部及子分部
|
|
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x;
|
|
foreach (var d1 in divisions1)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d1.DivisionCode;
|
|
newDivisionProject.DivisionName = d1.DivisionName;
|
|
newDivisionProject.SortIndex = d1.SortIndex;
|
|
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
|
|
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId;
|
|
newDivisionProject.OldDivisionId = d1.DivisionId;
|
|
newDivisionProject.SubItemType = d1.SubItemType;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
//拷贝分项
|
|
var breakdowns = from x in Funs.DB.WBS_Breakdown select x;
|
|
foreach (var b in breakdowns)
|
|
{
|
|
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
|
|
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
|
|
bp.ProjectId = this.CurrUser.LoginProjectId;
|
|
bp.BreakdownCode = b.BreakdownCode;
|
|
bp.BreakdownName = b.BreakdownName;
|
|
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
|
|
bp.Basis = b.Basis;
|
|
bp.CheckPoints = b.CheckPoints;
|
|
bp.RecordAndCode = b.RecordAndCode;
|
|
bp.Class = b.Class;
|
|
bp.SortIndex = b.SortIndex;
|
|
bp.Remark = b.Remark;
|
|
bp.ModelURL = b.ModelURL;
|
|
bp.UnitWorkId = newUnitWork.UnitWorkId;
|
|
bp.IsAcceptance = b.IsAcceptance;
|
|
bp.IsYellow = b.IsYellow;
|
|
bp.WuHuan = b.WuHuan;
|
|
bp.JianLi = b.JianLi;
|
|
bp.FenBao = b.FenBao;
|
|
bp.YeZhu = b.YeZhu;
|
|
bp.SourceBreakdownId = b.BreakdownId;
|
|
bp.CheckAcceptType = b.CheckAcceptType;
|
|
|
|
BLL.BreakdownProjectService.AddBreakdownProject(bp);
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
#region 拷贝建筑工程WBS内容
|
|
//拷贝分部及子分部
|
|
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null && x.CNProfessionalId == BLL.Const.CNProfessionalConstructId select x;
|
|
foreach (var d1 in divisions1)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d1.DivisionCode;
|
|
newDivisionProject.DivisionName = d1.DivisionName;
|
|
newDivisionProject.SortIndex = d1.SortIndex;
|
|
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
|
|
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId;
|
|
newDivisionProject.OldDivisionId = d1.DivisionId;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
//拷贝分项
|
|
var breakdowns = from x in Funs.DB.WBS_Breakdown
|
|
join y in Funs.DB.WBS_Division on x.DivisionId equals y.DivisionId
|
|
where y.CNProfessionalId == BLL.Const.CNProfessionalConstructId
|
|
select x;
|
|
foreach (var b in breakdowns)
|
|
{
|
|
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
|
|
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
|
|
bp.ProjectId = this.CurrUser.LoginProjectId;
|
|
bp.BreakdownCode = b.BreakdownCode;
|
|
bp.BreakdownName = b.BreakdownName;
|
|
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
|
|
bp.Basis = b.Basis;
|
|
bp.CheckPoints = b.CheckPoints;
|
|
bp.RecordAndCode = b.RecordAndCode;
|
|
bp.Class = b.Class;
|
|
bp.SortIndex = b.SortIndex;
|
|
bp.Remark = b.Remark;
|
|
bp.ModelURL = b.ModelURL;
|
|
bp.UnitWorkId = newUnitWork.UnitWorkId;
|
|
bp.IsAcceptance = b.IsAcceptance;
|
|
bp.IsYellow = b.IsYellow;
|
|
bp.WuHuan = b.WuHuan;
|
|
bp.JianLi = b.JianLi;
|
|
bp.FenBao = b.FenBao;
|
|
bp.YeZhu = b.YeZhu;
|
|
bp.SourceBreakdownId = b.BreakdownId;
|
|
|
|
BLL.BreakdownProjectService.AddBreakdownProject(bp);
|
|
}
|
|
#endregion
|
|
}
|
|
Model.DataBase_DataTypeProject dp = Funs.DB.DataBase_DataTypeProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId);
|
|
if (dp == null)
|
|
{
|
|
#region 拷贝资料库内容
|
|
Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId);
|
|
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId);
|
|
if (childDataTypes.Count > 0)
|
|
{
|
|
if (dataTypeProject != null)
|
|
{
|
|
InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
else
|
|
{
|
|
newUnitWork.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork));
|
|
BLL.UnitWorkService.AddUnitWork(newUnitWork);
|
|
BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "增加单位工程!");
|
|
#region 拷贝WBS内容
|
|
//拷贝分部及子分部
|
|
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x;
|
|
foreach (var d1 in divisions1)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d1.DivisionCode;
|
|
newDivisionProject.DivisionName = d1.DivisionName;
|
|
newDivisionProject.SortIndex = d1.SortIndex;
|
|
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
|
|
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId;
|
|
newDivisionProject.OldDivisionId = d1.DivisionId;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
//拷贝分项
|
|
var breakdowns = from x in Funs.DB.WBS_Breakdown select x;
|
|
foreach (var b in breakdowns)
|
|
{
|
|
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
|
|
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
|
|
bp.ProjectId = this.CurrUser.LoginProjectId;
|
|
bp.BreakdownCode = b.BreakdownCode;
|
|
bp.BreakdownName = b.BreakdownName;
|
|
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
|
|
bp.Basis = b.Basis;
|
|
bp.CheckPoints = b.CheckPoints;
|
|
bp.RecordAndCode = b.RecordAndCode;
|
|
bp.Class = b.Class;
|
|
bp.SortIndex = b.SortIndex;
|
|
bp.Remark = b.Remark;
|
|
bp.ModelURL = b.ModelURL;
|
|
bp.UnitWorkId = newUnitWork.UnitWorkId;
|
|
bp.IsAcceptance = b.IsAcceptance;
|
|
bp.IsYellow = b.IsYellow;
|
|
bp.WuHuan = b.WuHuan;
|
|
bp.JianLi = b.JianLi;
|
|
bp.FenBao = b.FenBao;
|
|
bp.YeZhu = b.YeZhu;
|
|
bp.SourceBreakdownId = b.BreakdownId;
|
|
|
|
BLL.BreakdownProjectService.AddBreakdownProject(bp);
|
|
}
|
|
#endregion
|
|
#region 拷贝资料库内容
|
|
Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId);
|
|
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId);
|
|
if (childDataTypes.Count > 0)
|
|
{
|
|
if (dataTypeProject != null)
|
|
{
|
|
InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
Model.WBS_UnitWork newUnitWork = new Model.WBS_UnitWork();
|
|
newUnitWork.UnitWorkCode = this.txtSupUnitWorkCode.Text.Trim();
|
|
newUnitWork.UnitWorkName = this.txtSupUnitWorkName.Text.Trim();
|
|
newUnitWork.SuperUnitWork = "0";
|
|
newUnitWork.ProjectId = this.CurrUser.LoginProjectId;
|
|
if (!string.IsNullOrEmpty(id))
|
|
{
|
|
newUnitWork.UnitWorkId = id;
|
|
BLL.UnitWorkService.UpdateUnitWork(newUnitWork);
|
|
BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "修改单位工程!");
|
|
|
|
var divisionProject = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId);
|
|
if (divisionProject == null)
|
|
{
|
|
#region 拷贝WBS内容
|
|
//拷贝分部及子分部
|
|
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x;
|
|
foreach (var d1 in divisions1)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d1.DivisionCode;
|
|
newDivisionProject.DivisionName = d1.DivisionName;
|
|
newDivisionProject.SortIndex = d1.SortIndex;
|
|
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
|
|
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId;
|
|
newDivisionProject.OldDivisionId = d1.DivisionId;
|
|
newDivisionProject.SubItemType = d1.SubItemType;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
//拷贝分项
|
|
var breakdowns = from x in Funs.DB.WBS_Breakdown select x;
|
|
foreach (var b in breakdowns)
|
|
{
|
|
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
|
|
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
|
|
bp.ProjectId = this.CurrUser.LoginProjectId;
|
|
bp.BreakdownCode = b.BreakdownCode;
|
|
bp.BreakdownName = b.BreakdownName;
|
|
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
|
|
bp.Basis = b.Basis;
|
|
bp.CheckPoints = b.CheckPoints;
|
|
bp.RecordAndCode = b.RecordAndCode;
|
|
bp.Class = b.Class;
|
|
bp.SortIndex = b.SortIndex;
|
|
bp.Remark = b.Remark;
|
|
bp.ModelURL = b.ModelURL;
|
|
bp.UnitWorkId = newUnitWork.UnitWorkId;
|
|
bp.IsAcceptance = b.IsAcceptance;
|
|
bp.IsYellow = b.IsYellow;
|
|
bp.WuHuan = b.WuHuan;
|
|
bp.JianLi = b.JianLi;
|
|
bp.FenBao = b.FenBao;
|
|
bp.YeZhu = b.YeZhu;
|
|
bp.SourceBreakdownId = b.BreakdownId;
|
|
bp.CheckAcceptType = b.CheckAcceptType;
|
|
|
|
BLL.BreakdownProjectService.AddBreakdownProject(bp);
|
|
}
|
|
#endregion
|
|
}
|
|
else
|
|
{
|
|
#region 拷贝建筑工程WBS内容
|
|
//拷贝分部及子分部
|
|
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null && x.CNProfessionalId == BLL.Const.CNProfessionalConstructId select x;
|
|
foreach (var d1 in divisions1)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d1.DivisionCode;
|
|
newDivisionProject.DivisionName = d1.DivisionName;
|
|
newDivisionProject.SortIndex = d1.SortIndex;
|
|
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
|
|
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId;
|
|
newDivisionProject.OldDivisionId = d1.DivisionId;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
//拷贝分项
|
|
var breakdowns = from x in Funs.DB.WBS_Breakdown
|
|
join y in Funs.DB.WBS_Division on x.DivisionId equals y.DivisionId
|
|
where y.CNProfessionalId == BLL.Const.CNProfessionalConstructId
|
|
select x;
|
|
foreach (var b in breakdowns)
|
|
{
|
|
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
|
|
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
|
|
bp.ProjectId = this.CurrUser.LoginProjectId;
|
|
bp.BreakdownCode = b.BreakdownCode;
|
|
bp.BreakdownName = b.BreakdownName;
|
|
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
|
|
bp.Basis = b.Basis;
|
|
bp.CheckPoints = b.CheckPoints;
|
|
bp.RecordAndCode = b.RecordAndCode;
|
|
bp.Class = b.Class;
|
|
bp.SortIndex = b.SortIndex;
|
|
bp.Remark = b.Remark;
|
|
bp.ModelURL = b.ModelURL;
|
|
bp.UnitWorkId = newUnitWork.UnitWorkId;
|
|
bp.IsAcceptance = b.IsAcceptance;
|
|
bp.IsYellow = b.IsYellow;
|
|
bp.WuHuan = b.WuHuan;
|
|
bp.JianLi = b.JianLi;
|
|
bp.FenBao = b.FenBao;
|
|
bp.YeZhu = b.YeZhu;
|
|
bp.SourceBreakdownId = b.BreakdownId;
|
|
|
|
BLL.BreakdownProjectService.AddBreakdownProject(bp);
|
|
}
|
|
#endregion
|
|
}
|
|
Model.DataBase_DataTypeProject dp = Funs.DB.DataBase_DataTypeProject.FirstOrDefault(x => x.UnitWorkId == newUnitWork.UnitWorkId);
|
|
if (dp == null)
|
|
{
|
|
#region 拷贝资料库内容
|
|
Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId);
|
|
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId);
|
|
if (childDataTypes.Count > 0)
|
|
{
|
|
if (dataTypeProject != null)
|
|
{
|
|
InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
else
|
|
{
|
|
newUnitWork.UnitWorkId = SQLHelper.GetNewID(typeof(Model.WBS_UnitWork));
|
|
BLL.UnitWorkService.AddUnitWork(newUnitWork);
|
|
BLL.LogService.AddSys_Log(this.CurrUser, newUnitWork.UnitWorkId, newUnitWork.UnitWorkId, BLL.Const.UnitWorkMenuId, "增加单位工程!");
|
|
#region 拷贝WBS内容
|
|
//拷贝分部及子分部
|
|
var divisions1 = from x in Funs.DB.WBS_Division where x.SuperDivisionId == null select x;
|
|
foreach (var d1 in divisions1)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d1.DivisionCode;
|
|
newDivisionProject.DivisionName = d1.DivisionName;
|
|
newDivisionProject.SortIndex = d1.SortIndex;
|
|
newDivisionProject.SuperDivisionId = d1.SuperDivisionId;
|
|
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = newUnitWork.UnitWorkId;
|
|
newDivisionProject.OldDivisionId = d1.DivisionId;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d1.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
//拷贝分项
|
|
var breakdowns = from x in Funs.DB.WBS_Breakdown select x;
|
|
foreach (var b in breakdowns)
|
|
{
|
|
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
|
|
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
|
|
bp.ProjectId = this.CurrUser.LoginProjectId;
|
|
bp.BreakdownCode = b.BreakdownCode;
|
|
bp.BreakdownName = b.BreakdownName;
|
|
bp.DivisionProjectId = (from x in Funs.DB.WBS_DivisionProject where x.OldDivisionId == b.DivisionId && x.UnitWorkId == newUnitWork.UnitWorkId select x.DivisionProjectId).FirstOrDefault();
|
|
bp.Basis = b.Basis;
|
|
bp.CheckPoints = b.CheckPoints;
|
|
bp.RecordAndCode = b.RecordAndCode;
|
|
bp.Class = b.Class;
|
|
bp.SortIndex = b.SortIndex;
|
|
bp.Remark = b.Remark;
|
|
bp.ModelURL = b.ModelURL;
|
|
bp.UnitWorkId = newUnitWork.UnitWorkId;
|
|
bp.IsAcceptance = b.IsAcceptance;
|
|
bp.IsYellow = b.IsYellow;
|
|
bp.WuHuan = b.WuHuan;
|
|
bp.JianLi = b.JianLi;
|
|
bp.FenBao = b.FenBao;
|
|
bp.YeZhu = b.YeZhu;
|
|
bp.SourceBreakdownId = b.BreakdownId;
|
|
|
|
BLL.BreakdownProjectService.AddBreakdownProject(bp);
|
|
}
|
|
#endregion
|
|
#region 拷贝资料库内容
|
|
Model.DataBase_DataTypeProject dataTypeProject = BLL.DataTypeProjectService.GetDataTypeProjectBySourceDataTypeId(Const.DataTypeNewConstructId, this.CurrUser.LoginProjectId);
|
|
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(Const.DataTypeNewConstructId);
|
|
if (childDataTypes.Count > 0)
|
|
{
|
|
if (dataTypeProject != null)
|
|
{
|
|
InsertDataTypeDetail(childDataTypes, dataTypeProject.DataTypeProjectId, this.CurrUser.LoginProjectId, newUnitWork.UnitWorkId);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
}
|
|
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
|
|
/// <summary>
|
|
/// 循环拷贝子级分部
|
|
/// </summary>
|
|
/// <param name="dataTypes"></param>
|
|
private void InsertDivisionDetail(List<Model.WBS_Division> divisions, string superDivisionId, string unitWorkId)
|
|
{
|
|
foreach (var d in divisions)
|
|
{
|
|
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
|
|
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
|
|
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
|
|
newDivisionProject.DivisionCode = d.DivisionCode;
|
|
newDivisionProject.DivisionName = d.DivisionName;
|
|
newDivisionProject.SortIndex = d.SortIndex;
|
|
newDivisionProject.SuperDivisionId = superDivisionId;
|
|
newDivisionProject.CNProfessionalId = d.CNProfessionalId;
|
|
newDivisionProject.UnitWorkId = unitWorkId;
|
|
newDivisionProject.OldDivisionId = d.DivisionId;
|
|
newDivisionProject.SubItemType = d.SubItemType;
|
|
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //子级分部
|
|
List<Model.WBS_Division> divisions2 = (from x in Funs.DB.WBS_Division where x.SuperDivisionId == d.DivisionId select x).ToList();
|
|
if (divisions2.Count() > 0)
|
|
{
|
|
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, unitWorkId);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 循环拷贝子级类别
|
|
/// </summary>
|
|
/// <param name="dataTypes"></param>
|
|
private void InsertDataTypeDetail(List<Model.DataBase_DataType> dataTypes, string superDataTypeId, string projectId, string unitWorkId)
|
|
{
|
|
foreach (var d in dataTypes)
|
|
{
|
|
|
|
Model.DataBase_DataTypeProject newDataTypeProject = new Model.DataBase_DataTypeProject();
|
|
newDataTypeProject.DataTypeProjectId = SQLHelper.GetNewID(typeof(Model.DataBase_DataTypeProject));
|
|
newDataTypeProject.ProjectId = projectId;
|
|
newDataTypeProject.DataTypeCode = d.DataTypeCode;
|
|
newDataTypeProject.DataTypeName = d.DataTypeName;
|
|
newDataTypeProject.SuperDataTypeId = superDataTypeId;
|
|
newDataTypeProject.SortIndex = d.SortIndex;
|
|
newDataTypeProject.Pages = d.Pages;
|
|
newDataTypeProject.Remark = d.Remark;
|
|
newDataTypeProject.IsRelatedWBS = d.IsRelatedWBS;
|
|
newDataTypeProject.SourceDataTypeId = d.DataTypeId;
|
|
|
|
newDataTypeProject.UnitWorkId = unitWorkId;
|
|
|
|
BLL.DataTypeProjectService.AddDataTypeProject(newDataTypeProject);
|
|
|
|
List<Model.DataBase_DataType> childDataTypes = BLL.DataTypeService.GetDataTypesBySuperDataTypeId(d.DataTypeId);
|
|
if (childDataTypes.Count > 0)
|
|
{
|
|
InsertDataTypeDetail(childDataTypes, newDataTypeProject.DataTypeProjectId, projectId, unitWorkId);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
} |