20231031 WBS复制粘贴

This commit is contained in:
毕文静 2023-10-31 14:33:55 +08:00
parent 5fb9c49964
commit 55f9a30a24
11 changed files with 487 additions and 87 deletions

View File

@ -1015,7 +1015,7 @@
<Version>2.1.1</Version> <Version>2.1.1</Version>
</PackageReference> </PackageReference>
<PackageReference Include="Newtonsoft.Json"> <PackageReference Include="Newtonsoft.Json">
<Version>12.0.3</Version> <Version>13.0.3</Version>
</PackageReference> </PackageReference>
<PackageReference Include="NPOI"> <PackageReference Include="NPOI">
<Version>2.5.5</Version> <Version>2.5.5</Version>

View File

@ -421,5 +421,10 @@ namespace BLL
return false; return false;
} }
} }
public static Model.WBS_BreakdownProject GetBreakdownProjectByName(string divisionProjectId, string breakdownName)
{
return Funs.DB.WBS_BreakdownProject.FirstOrDefault(x => x.DivisionProjectId == divisionProjectId && x.BreakdownName == breakdownName);
}
} }
} }

View File

@ -189,5 +189,26 @@ namespace BLL
return false; return false;
} }
} }
/// <summary>
/// 根据分部id获取下级项
/// </summary>
/// <param name="divisionProjectId"></param>
/// <returns></returns>
public static List<Model.WBS_DivisionProject> GetDivisionProjectBySupId(string divisionProjectId)
{
return (from x in Funs.DB.WBS_DivisionProject where x.SuperDivisionId == divisionProjectId select x).ToList();
}
/// <summary>
/// 根据分部名称获取信息
/// </summary>
/// <param name="divisionName"></param>
/// <returns></returns>
public static Model.WBS_DivisionProject GetDivisionProjectByName(string CNProfessionalId, string unitWorkId,string superDivisionId, string divisionName)
{
var q = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.CNProfessionalId == CNProfessionalId && x.UnitWorkId == unitWorkId && x.SuperDivisionId==superDivisionId && x.DivisionName == divisionName);
return q;
}
} }
} }

View File

@ -384,9 +384,9 @@ namespace BLL
/// </summary> /// </summary>
/// <param name="unitId">单位Id</param> /// <param name="unitId">单位Id</param>
/// <returns>人员的数量</returns> /// <returns>人员的数量</returns>
public static int GetPersonCountByUnitId(string unitId, string projectId, bool isOutside) public static int GetPersonCountByUnitId(string unitId, string projectId, DateTime inTime, bool isOutside)
{ {
var q = (from x in Funs.DB.SitePerson_Person where x.UnitId == unitId && x.ProjectId == projectId && x.IsUsed == true && x.IsOutside == isOutside select x).ToList(); var q = (from x in Funs.DB.SitePerson_Person where x.UnitId == unitId && x.ProjectId == projectId && x.InTime <= inTime && x.IsUsed == true && x.IsOutside == isOutside select x).ToList();
return q.Count(); return q.Count();
} }
@ -395,11 +395,12 @@ namespace BLL
/// </summary> /// </summary>
/// <param name="unitId">单位Id</param> /// <param name="unitId">单位Id</param>
/// <returns>HSE人员的数量</returns> /// <returns>HSE人员的数量</returns>
public static int GetHSEPersonCountByUnitId(string unitId, string projectId) public static int GetHSEPersonCountByUnitId(string unitId, string projectId, DateTime inTime)
{ {
var q = (from x in Funs.DB.SitePerson_Person var q = (from x in Funs.DB.SitePerson_Person
join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId join y in Funs.DB.Base_WorkPost on x.WorkPostId equals y.WorkPostId
where x.UnitId == unitId && x.ProjectId == projectId && y.IsHsse==true && x.IsUsed == true select x).ToList(); where x.UnitId == unitId && x.ProjectId == projectId && x.InTime <= inTime && y.IsHsse == true && x.IsUsed == true
select x).ToList();
//var q = (from x in Funs.DB.SitePerson_Person where x.UnitId == unitId && x.ProjectId == projectId && (x.WorkPostId == BLL.Const.WorkPost_HSSEEngineer || x.WorkPostId == BLL.Const.WorkPost_SafetyManager) && x.IsUsed == true select x).ToList(); //var q = (from x in Funs.DB.SitePerson_Person where x.UnitId == unitId && x.ProjectId == projectId && (x.WorkPostId == BLL.Const.WorkPost_HSSEEngineer || x.WorkPostId == BLL.Const.WorkPost_SafetyManager) && x.IsUsed == true select x).ToList();
return q.Count(); return q.Count();
} }

View File

@ -151,8 +151,11 @@
<f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true" Hidden="true" Icon="Pencil" <f:MenuButton ID="btnMenuEdit" OnClick="btnMenuEdit_Click" EnablePostBack="true" Hidden="true" Icon="Pencil"
runat="server" Text="修改"> runat="server" Text="修改">
</f:MenuButton> </f:MenuButton>
<f:MenuButton ID="btnMenuCopy" OnClick="btnMenuCopy_Click" EnablePostBack="true" Icon="DatabaseCopy" <f:MenuButton ID="btnMenuCopy" OnClick="btnMenuCopy_Click" EnablePostBack="true" Icon="PageCopy"
runat="server" Text="拷贝"> runat="server" Text="复制">
</f:MenuButton>
<f:MenuButton ID="btnMenuPaste" OnClick="btnMenuPaste_Click" EnablePostBack="true" Icon="PagePaste"
runat="server" Text="粘贴">
</f:MenuButton> </f:MenuButton>
<f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Hidden="true" Icon="Delete" <f:MenuButton ID="btnMenuDelete" OnClick="btnMenuDelete_Click" EnablePostBack="true" Hidden="true" Icon="Delete"
ConfirmText="确认删除选中项?" ConfirmTarget="Top" runat="server" Text="删除"> ConfirmText="确认删除选中项?" ConfirmTarget="Top" runat="server" Text="删除">

View File

@ -15,6 +15,7 @@ namespace FineUIPro.Web.CQMS.WBS
{ {
public partial class ProjectControlPoint : PageBase public partial class ProjectControlPoint : PageBase
{ {
#region
/// <summary> /// <summary>
/// 被选择项列表 /// 被选择项列表
/// </summary> /// </summary>
@ -44,6 +45,7 @@ namespace FineUIPro.Web.CQMS.WBS
ViewState["NoSelectedList"] = value; ViewState["NoSelectedList"] = value;
} }
} }
#endregion
#region #region
/// <summary> /// <summary>
@ -84,6 +86,7 @@ namespace FineUIPro.Web.CQMS.WBS
this.trWBS.EnableIcons = true; this.trWBS.EnableIcons = true;
this.trWBS.AutoScroll = true; this.trWBS.AutoScroll = true;
this.trWBS.EnableSingleClickExpand = true; this.trWBS.EnableSingleClickExpand = true;
var unitWorks = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId orderby x.UnitWorkCode select x; var unitWorks = from x in Funs.DB.WBS_UnitWork where x.ProjectId == this.CurrUser.LoginProjectId orderby x.UnitWorkCode select x;
foreach (var q in unitWorks) foreach (var q in unitWorks)
{ {
@ -367,7 +370,7 @@ namespace FineUIPro.Web.CQMS.WBS
//{ //{
if (b == false) if (b == false)
{ {
var selectedDivisionProject = Funs.DB.WBS_DivisionProject.FirstOrDefault(x=> x.SuperDivisionId == superDivisionProject.DivisionProjectId && x.IsSelected==true); var selectedDivisionProject = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.SuperDivisionId == superDivisionProject.DivisionProjectId && x.IsSelected == true);
if (selectedDivisionProject != null) if (selectedDivisionProject != null)
{ {
@ -417,8 +420,28 @@ namespace FineUIPro.Web.CQMS.WBS
var temp = BLL.DivisionProjectService.GetDivisionProjectById(divisionProjectId); var temp = BLL.DivisionProjectService.GetDivisionProjectById(divisionProjectId);
if (temp == null) if (temp == null)
{ {
this.btnMenuCopy.Hidden = true;
string cNProfessionalId = this.trWBS.SelectedNodeID;
if (cNProfessionalId.Contains("|"))
{
cNProfessionalId = e.NodeID.Split('|')[1];
}
var cnp = CNProfessionalService.GetCNProfessional(cNProfessionalId);
if (cnp != null)
{
this.btnMenuPaste.Hidden = false;
}
else
{
this.btnMenuPaste.Hidden = true;
}
return; return;
} }
else
{
this.btnMenuCopy.Hidden = false;
this.btnMenuPaste.Hidden = false;
}
if (temp.CNProfessionalId != null && temp.CNProfessionalId == Const.CNProfessionalConstructId) if (temp.CNProfessionalId != null && temp.CNProfessionalId == Const.CNProfessionalConstructId)
{ {
this.Grid1.Columns[2].Hidden = false; this.Grid1.Columns[2].Hidden = false;
@ -688,6 +711,7 @@ namespace FineUIPro.Web.CQMS.WBS
} }
#endregion #endregion
#region
/// <summary> /// <summary>
/// 增加 /// 增加
/// </summary> /// </summary>
@ -712,6 +736,7 @@ namespace FineUIPro.Web.CQMS.WBS
Alert.ShowInTop("请选择树节点!", MessageBoxIcon.Warning); Alert.ShowInTop("请选择树节点!", MessageBoxIcon.Warning);
} }
} }
#endregion
#region Grid双击事件 #region Grid双击事件
/// <summary> /// <summary>
@ -724,6 +749,7 @@ namespace FineUIPro.Web.CQMS.WBS
btnMenuModify_Click(null, null); btnMenuModify_Click(null, null);
} }
#endregion #endregion
#region #region
/// <summary> /// <summary>
/// 编辑按钮 /// 编辑按钮
@ -1375,9 +1401,56 @@ namespace FineUIPro.Web.CQMS.WBS
} }
#endregion #endregion
#region #region
#region
/// <summary> /// <summary>
/// 拷贝单位工程下勾选状态 /// 选中节点ID
/// </summary>
public string treeSelectId
{
get
{
return (string)ViewState["treeSelectId"];
}
set
{
ViewState["treeSelectId"] = value;
}
}
/// <summary>
/// 单位工程id
/// </summary>
public string unitWorkId
{
get
{
return (string)ViewState["unitWorkId"];
}
set
{
ViewState["unitWorkId"] = value;
}
}
/// <summary>
/// 专业Id
/// </summary>
public string CNProfessionalId
{
get
{
return (string)ViewState["CNProfessionalId"];
}
set
{
ViewState["CNProfessionalId"] = value;
}
}
#endregion
/// <summary>
/// 复制
/// </summary> /// </summary>
/// <param name="sender"></param> /// <param name="sender"></param>
/// <param name="e"></param> /// <param name="e"></param>
@ -1385,73 +1458,310 @@ namespace FineUIPro.Web.CQMS.WBS
{ {
if (this.trWBS.SelectedNode != null) if (this.trWBS.SelectedNode != null)
{ {
string unitWorkId = string.Empty; treeSelectId = this.trWBS.SelectedNodeID;
var newUnitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(this.trWBS.SelectedNode.NodeID); var divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(treeSelectId);
if (newUnitWork != null) if (divisionProject != null)
{ {
unitWorkId = newUnitWork.UnitWorkId; unitWorkId = divisionProject.UnitWorkId;
} CNProfessionalId = divisionProject.CNProfessionalId;
else
{
var div = BLL.DivisionProjectService.GetDivisionProjectById(this.trWBS.SelectedNode.NodeID);
if (div != null)
{
if (!string.IsNullOrEmpty(div.UnitWorkId))
{
unitWorkId = div.UnitWorkId;
}
}
else
{
var div2 = (from x in Funs.DB.WBS_DivisionProject where x.CNProfessionalId != null && x.CNProfessionalId == this.trWBS.SelectedNodeID select x).FirstOrDefault();
if (div2 != null)
{
if (!string.IsNullOrEmpty(div2.UnitWorkId))
{
unitWorkId = div2.UnitWorkId;
}
}
else
{
var nodeId = this.trWBS.SelectedNodeID.Split('|')[0];
var uw = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(nodeId);
if (uw != null)
{
unitWorkId = uw.UnitWorkId;
} }
} }
} }
}
var unitWork = (from x in Funs.DB.WBS_UnitWork
where x.ProjectId == this.CurrUser.LoginProjectId
&& x.UnitWorkId != unitWorkId
select x).FirstOrDefault();
var oldDivsionProject = (from x in Funs.DB.WBS_DivisionProject /// <summary>
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsSelected == true /// 粘贴
&& x.UnitWorkId == unitWork.UnitWorkId /// </summary>
select x).ToList(); /// <param name="sender"></param>
foreach (var item in oldDivsionProject) /// <param name="e"></param>
protected void btnMenuPaste_Click(object sender, EventArgs e)
{ {
var div = Funs.DB.WBS_DivisionProject.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.UnitWorkId == unitWorkId && x.DivisionCode == item.DivisionCode); if (!string.IsNullOrEmpty(treeSelectId))
if (div != null)
{ {
div.IsSelected = true; if (!string.IsNullOrEmpty(this.trWBS.SelectedNodeID))
Funs.DB.SubmitChanges(); {
string cNProfessionalId = this.trWBS.SelectedNodeID;
if (cNProfessionalId.Contains("|"))
{
cNProfessionalId = cNProfessionalId.Split('|')[1];
}
var divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(cNProfessionalId);
if (divisionProject != null)
{
var division = (from x in Funs.DB.WBS_DivisionProject where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId && x.CNProfessionalId == CNProfessionalId && x.DivisionProjectId == treeSelectId select x).FirstOrDefault();
if (division != null)
{
var oldDivisionProject = (from x in Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == divisionProject.CNProfessionalId
&& x.UnitWorkId == divisionProject.UnitWorkId
&& x.SuperDivisionId != null
&& x.DivisionName == division.DivisionName
select x);
if (oldDivisionProject.Count() == 0)
{
Model.WBS_DivisionProject newDiv = new Model.WBS_DivisionProject();
newDiv.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
newDiv.ProjectId = this.CurrUser.LoginProjectId;
newDiv.DivisionCode = division.DivisionCode;
newDiv.DivisionName = division.DivisionName;
newDiv.SortIndex = division.SortIndex;
newDiv.SuperDivisionId = this.trWBS.SelectedNodeID;
newDiv.CNProfessionalId = divisionProject.CNProfessionalId;
newDiv.UnitWorkId = divisionProject.UnitWorkId;
newDiv.OldDivisionId = division.OldDivisionId;
newDiv.SubItemType = division.SubItemType;
BLL.DivisionProjectService.AddDivisionProject(newDiv);
var breakdownProjects = (from x in Funs.DB.WBS_BreakdownProject var divisions = BLL.DivisionProjectService.GetDivisionProjectBySupId(division.DivisionProjectId);
where x.ProjectId == this.CurrUser.LoginProjectId if (divisions.Count > 0)
&& x.UnitWorkId == unitWorkId
&& x.DivisionProjectId == div.DivisionProjectId
select x).ToList();
foreach (var b in breakdownProjects)
{ {
b.IsSelected = true; List<Model.WBS_DivisionProject> divisions2 = (from x in Funs.DB.WBS_DivisionProject where x.SuperDivisionId == division.DivisionProjectId select x).ToList();
Funs.DB.SubmitChanges(); if (divisions2.Count() > 0)
{
this.InsertDivisionDetail(divisions2, newDiv.DivisionProjectId, newDiv.UnitWorkId);
}
}
else
{
var breakLists = BLL.BreakdownProjectService.GetBreakdownProjectsByDivisionProjectId(division.DivisionProjectId);
if (breakLists.Count > 0)
{
foreach (var item in breakLists)
{
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
bp.ProjectId = this.CurrUser.LoginProjectId;
bp.BreakdownCode = item.BreakdownCode;
bp.BreakdownName = item.BreakdownName;
bp.DivisionProjectId = newDiv.DivisionProjectId;
bp.Basis = item.Basis;
bp.CheckPoints = item.CheckPoints;
bp.RecordAndCode = item.RecordAndCode;
bp.Class = item.Class;
bp.SortIndex = item.SortIndex;
bp.Remark = item.Remark;
bp.IsSelected = item.IsSelected;
bp.ModelURL = item.ModelURL;
bp.UnitWorkId = newDiv.UnitWorkId;
bp.IsAcceptance = item.IsAcceptance;
bp.IsYellow = item.IsYellow;
bp.WuHuan = item.WuHuan;
bp.JianLi = item.JianLi;
bp.FenBao = item.FenBao;
bp.YeZhu = item.YeZhu;
BLL.BreakdownProjectService.AddBreakdownProject(bp);
}
}
}
}
}
else
{
#region
var d1 = BLL.DivisionProjectService.GetDivisionProjectById(treeSelectId);
if (d1 != null)
{
if (divisionProject.DivisionName != d1.DivisionName)
{
//粘贴分部
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 = divisionProject.DivisionProjectId;
newDivisionProject.CNProfessionalId = d1.CNProfessionalId;
newDivisionProject.UnitWorkId = divisionProject.UnitWorkId;
newDivisionProject.OldDivisionId = d1.OldDivisionId;
newDivisionProject.SubItemType = d1.SubItemType;
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject);
//粘贴分项
var breakLists = BLL.BreakdownProjectService.GetBreakdownProjectsByDivisionProjectId(d1.DivisionProjectId);
if (breakLists.Count > 0)
{
foreach (var item in breakLists)
{
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
bp.ProjectId = this.CurrUser.LoginProjectId;
bp.BreakdownCode = item.BreakdownCode;
bp.BreakdownName = item.BreakdownName;
bp.DivisionProjectId = newDivisionProject.DivisionProjectId;
bp.Basis = item.Basis;
bp.CheckPoints = item.CheckPoints;
bp.RecordAndCode = item.RecordAndCode;
bp.Class = item.Class;
bp.SortIndex = item.SortIndex;
bp.Remark = item.Remark;
bp.IsSelected = item.IsSelected;
bp.ModelURL = item.ModelURL;
bp.UnitWorkId = newDivisionProject.UnitWorkId;
bp.IsAcceptance = item.IsAcceptance;
bp.IsYellow = item.IsYellow;
bp.WuHuan = item.WuHuan;
bp.JianLi = item.JianLi;
bp.FenBao = item.FenBao;
bp.YeZhu = item.YeZhu;
BLL.BreakdownProjectService.AddBreakdownProject(bp);
}
}
}
}
#endregion
}
}
else //粘贴到专业下
{
string professionId = this.trWBS.SelectedNodeID;
if (professionId.Contains("|"))
{
professionId = professionId.Split('|')[1];
}
var cnPro = BLL.CNProfessionalService.GetCNProfessional(professionId);
if (cnPro != null)
{
var division = (from x in Funs.DB.WBS_DivisionProject where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId && x.CNProfessionalId == CNProfessionalId && x.DivisionProjectId == treeSelectId select x).FirstOrDefault();
if (division != null)
{
var oldDivisionProject = (from x in Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == professionId
&& x.UnitWorkId == this.trWBS.SelectedNode.ParentNode.ParentNode.NodeID
&& x.SuperDivisionId == null
&& x.DivisionName == division.DivisionName
select x);
if (oldDivisionProject.Count() == 0)
{
Model.WBS_DivisionProject newDivisionProject = new Model.WBS_DivisionProject();
newDivisionProject.DivisionProjectId = SQLHelper.GetNewID(typeof(Model.WBS_DivisionProject));
newDivisionProject.ProjectId = this.CurrUser.LoginProjectId;
newDivisionProject.DivisionCode = division.DivisionCode;
newDivisionProject.DivisionName = division.DivisionName;
newDivisionProject.SortIndex = division.SortIndex;
newDivisionProject.SuperDivisionId = null;
newDivisionProject.CNProfessionalId = cnPro.CNProfessionalId;
newDivisionProject.UnitWorkId = this.trWBS.SelectedNode.ParentNode.ParentNode.NodeID;
newDivisionProject.OldDivisionId = division.OldDivisionId;
newDivisionProject.SubItemType = division.SubItemType;
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject);
var divisions = BLL.DivisionProjectService.GetDivisionProjectBySupId(division.DivisionProjectId);
if (divisions.Count > 0)
{
List<Model.WBS_DivisionProject> divisions2 = (from x in Funs.DB.WBS_DivisionProject where x.SuperDivisionId == division.DivisionProjectId select x).ToList();
if (divisions2.Count() > 0)
{
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, newDivisionProject.UnitWorkId);
}
}
else
{
var breakLists = BLL.BreakdownProjectService.GetBreakdownProjectsByDivisionProjectId(division.DivisionProjectId);
if (breakLists.Count > 0)
{
foreach (var item in breakLists)
{
Model.WBS_BreakdownProject bp = new Model.WBS_BreakdownProject();
bp.BreakdownProjectId = SQLHelper.GetNewID(typeof(Model.WBS_BreakdownProject));
bp.ProjectId = this.CurrUser.LoginProjectId;
bp.BreakdownCode = item.BreakdownCode;
bp.BreakdownName = item.BreakdownName;
bp.DivisionProjectId = newDivisionProject.DivisionProjectId;
bp.Basis = item.Basis;
bp.CheckPoints = item.CheckPoints;
bp.RecordAndCode = item.RecordAndCode;
bp.Class = item.Class;
bp.SortIndex = item.SortIndex;
bp.Remark = item.Remark;
bp.IsSelected = item.IsSelected;
bp.ModelURL = item.ModelURL;
bp.UnitWorkId = newDivisionProject.UnitWorkId;
bp.IsAcceptance = item.IsAcceptance;
bp.IsYellow = item.IsYellow;
bp.WuHuan = item.WuHuan;
bp.JianLi = item.JianLi;
bp.FenBao = item.FenBao;
bp.YeZhu = item.YeZhu;
BLL.BreakdownProjectService.AddBreakdownProject(bp);
}
}
}
}
}
}
}
}
ShowNotify("粘贴成功!", MessageBoxIcon.Success);
InitTreeMenu();
}
else
{
Alert.ShowInParent("请先复制节点!", MessageBoxIcon.Warning);
}
}
//循环拷贝子级
private void InsertDivisionDetail(List<Model.WBS_DivisionProject> divisions, string superDivisionId, string unitWorkId)
{
foreach (var d in divisions)
{
var oldDivisionProject = BLL.DivisionProjectService.GetDivisionProjectByName(d.CNProfessionalId, unitWorkId,superDivisionId, d.DivisionName);
if (oldDivisionProject == null)
{
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.OldDivisionId;
newDivisionProject.SubItemType = d.SubItemType;
BLL.DivisionProjectService.AddDivisionProject(newDivisionProject); //子级分部
List<Model.WBS_DivisionProject> divisions2 = (from x in Funs.DB.WBS_DivisionProject where x.SuperDivisionId == d.DivisionProjectId select x).ToList();
if (divisions2.Count() > 0)
{
this.InsertDivisionDetail(divisions2, newDivisionProject.DivisionProjectId, unitWorkId);
}
//拷贝分项
var breakdowns = from x in Funs.DB.WBS_BreakdownProject
join y in Funs.DB.WBS_DivisionProject on x.DivisionProjectId equals y.DivisionProjectId
where y.DivisionProjectId == d.DivisionProjectId
select x;
foreach (var b in breakdowns)
{
var oldBreakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectByName(newDivisionProject.DivisionProjectId,b.BreakdownName);
if (oldBreakdownProject == null)
{
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 = newDivisionProject.DivisionProjectId;
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 = newDivisionProject.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.SourceBreakdownId;
BLL.BreakdownProjectService.AddBreakdownProject(bp);
} }
} }
} }
ShowNotify("拷贝成功", MessageBoxIcon.Success);
} }
} }
#endregion #endregion

View File

@ -228,6 +228,15 @@ namespace FineUIPro.Web.CQMS.WBS {
/// </remarks> /// </remarks>
protected global::FineUIPro.MenuButton btnMenuCopy; protected global::FineUIPro.MenuButton btnMenuCopy;
/// <summary>
/// btnMenuPaste 控件。
/// </summary>
/// <remarks>
/// 自动生成的字段。
/// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
/// </remarks>
protected global::FineUIPro.MenuButton btnMenuPaste;
/// <summary> /// <summary>
/// btnMenuDelete 控件。 /// btnMenuDelete 控件。
/// </summary> /// </summary>

View File

@ -3380,3 +3380,81 @@ IP地址:::1
出错时间:10/22/2023 17:53:02 出错时间:10/22/2023 17:53:02
错误信息开始=====>
错误类型:HttpCompileException
错误信息:e:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\WBS\ProjectControlPoint.aspx(157): error CS1061: “ASP.cqms_wbs_projectcontrolpoint_aspx”不包含“btnMenuPaste_Click”的定义并且找不到可接受类型为“ASP.cqms_wbs_projectcontrolpoint_aspx”的第一个参数的扩展方法“btnMenuPaste_Click”(是否缺少 using 指令或程序集引用?)
错误堆栈:
在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath)
在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)
在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)
在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)
在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)
在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path)
在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
出错时间:10/25/2023 21:29:28
出错文件:http://localhost:8579/CQMS/WBS/ProjectControlPoint.aspx
IP地址:::1
出错时间:10/25/2023 21:29:28
错误信息开始=====>
错误类型:IndexOutOfRangeException
错误信息:索引超出了数组界限。
错误堆栈:
在 FineUIPro.Web.CQMS.WBS.ProjectControlPoint.trWBS_NodeExpand(Object sender, TreeNodeEventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\WBS\ProjectControlPoint.aspx.cs:行号 0
在 FineUIPro.Tree.OnNodeExpand(TreeNodeEventArgs e)
在 (Tree , TreeNodeEventArgs )
在 FineUIPro.Tree.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:10/26/2023 14:57:53
出错文件:http://localhost:8579/CQMS/WBS/ProjectControlPoint.aspx
IP地址:::1
操作人员:JT
出错时间:10/26/2023 14:57:53
错误信息开始=====>
错误类型:IndexOutOfRangeException
错误信息:索引超出了数组界限。
错误堆栈:
在 FineUIPro.Web.CQMS.WBS.ProjectControlPoint.btnMenuPaste_Click(Object sender, EventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\WBS\ProjectControlPoint.aspx.cs:行号 1522
在 FineUIPro.MenuButton.OnClick(EventArgs e)
在 (MenuButton , EventArgs )
在 FineUIPro.MenuButton.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:10/27/2023 16:57:15
出错文件:http://localhost:8579/CQMS/WBS/ProjectControlPoint.aspx
IP地址:::1
操作人员:JT
出错时间:10/27/2023 16:57:15
错误信息开始=====>
错误类型:NullReferenceException
错误信息:未将对象引用设置到对象的实例。
错误堆栈:
在 (TreeNode )
在 FineUIPro.TreeCommandEventArgs..ctor(TreeNode node, String commandName, String commandArgument)
在 (TreeNode , String , String )
在 FineUIPro.Tree.RaisePostBackEvent(String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
出错时间:10/31/2023 09:48:02
出错文件:http://localhost:8579/CQMS/WBS/ProjectControlPoint.aspx
IP地址:::1
操作人员:JT
出错时间:10/31/2023 09:48:02

View File

@ -15092,12 +15092,14 @@
</Compile> </Compile>
<Compile Include="TestRun\BeforeTestRun\TailTermHandle.aspx.cs"> <Compile Include="TestRun\BeforeTestRun\TailTermHandle.aspx.cs">
<DependentUpon>TailTermHandle.aspx</DependentUpon> <DependentUpon>TailTermHandle.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile> </Compile>
<Compile Include="TestRun\BeforeTestRun\TailTermHandle.aspx.designer.cs"> <Compile Include="TestRun\BeforeTestRun\TailTermHandle.aspx.designer.cs">
<DependentUpon>TailTermHandle.aspx</DependentUpon> <DependentUpon>TailTermHandle.aspx</DependentUpon>
</Compile> </Compile>
<Compile Include="TestRun\BeforeTestRun\TailTermHandleList.aspx.cs"> <Compile Include="TestRun\BeforeTestRun\TailTermHandleList.aspx.cs">
<DependentUpon>TailTermHandleList.aspx</DependentUpon> <DependentUpon>TailTermHandleList.aspx</DependentUpon>
<SubType>ASPXCodeBehind</SubType>
</Compile> </Compile>
<Compile Include="TestRun\BeforeTestRun\TailTermHandleList.aspx.designer.cs"> <Compile Include="TestRun\BeforeTestRun\TailTermHandleList.aspx.designer.cs">
<DependentUpon>TailTermHandleList.aspx</DependentUpon> <DependentUpon>TailTermHandleList.aspx</DependentUpon>
@ -16973,35 +16975,6 @@
<ItemGroup> <ItemGroup>
<WCFMetadata Include="Service References\" /> <WCFMetadata Include="Service References\" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<COMReference Include="Microsoft.Office.Core">
<Guid>{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}</Guid>
<VersionMajor>2</VersionMajor>
<VersionMinor>4</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="Microsoft.Office.Interop.Excel">
<Guid>{00020813-0000-0000-C000-000000000046}</Guid>
<VersionMajor>1</VersionMajor>
<VersionMinor>6</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
<COMReference Include="VBIDE">
<Guid>{0002E157-0000-0000-C000-000000000046}</Guid>
<VersionMajor>5</VersionMajor>
<VersionMinor>3</VersionMinor>
<Lcid>0</Lcid>
<WrapperTool>primary</WrapperTool>
<Isolated>False</Isolated>
<EmbedInteropTypes>True</EmbedInteropTypes>
</COMReference>
</ItemGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
<ProjectExtensions> <ProjectExtensions>

View File

@ -130,9 +130,9 @@ namespace FineUIPro.Web.HSSE.Manager
{ {
PersonSortId = SQLHelper.GetNewID(typeof(Model.Manager_PersonSortC)), PersonSortId = SQLHelper.GetNewID(typeof(Model.Manager_PersonSortC)),
UnitId = u.UnitId, UnitId = u.UnitId,
SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, false),//本部 SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, Convert.ToDateTime(Request.Params["months"]), false),//本部
SumOutPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, true),//外聘 SumOutPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, Convert.ToDateTime(Request.Params["months"]), true),//外聘
HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId), HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, Convert.ToDateTime(Request.Params["months"])),
ContractRange = u.ContractRange ContractRange = u.ContractRange
}; };
personSorts.Add(personSort); personSorts.Add(personSort);

View File

@ -130,9 +130,9 @@ namespace FineUIPro.Web.HSSE.Manager
{ {
PersonSortId = SQLHelper.GetNewID(typeof(Model.Manager_PersonSortC)), PersonSortId = SQLHelper.GetNewID(typeof(Model.Manager_PersonSortC)),
UnitId = u.UnitId, UnitId = u.UnitId,
SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId,false),//本部 SumPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, Convert.ToDateTime(Request.Params["months"]), false),//本部
SumOutPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, true),//外聘 SumOutPersonNum = BLL.PersonService.GetPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, Convert.ToDateTime(Request.Params["months"]), true),//外聘
HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId) HSEPersonNum = BLL.PersonService.GetHSEPersonCountByUnitId(u.UnitId, this.CurrUser.LoginProjectId, Convert.ToDateTime(Request.Params["months"]))
}; };
personSorts.Add(personSort); personSorts.Add(personSort);
totalSumPersonNum += Convert.ToInt32(personSort.SumPersonNum); totalSumPersonNum += Convert.ToInt32(personSort.SumPersonNum);