diff --git a/SGGL/BLL/JDGL/WBS/WbsSetService.cs b/SGGL/BLL/JDGL/WBS/WbsSetService.cs
index 0f4bb334..ae63b9ab 100644
--- a/SGGL/BLL/JDGL/WBS/WbsSetService.cs
+++ b/SGGL/BLL/JDGL/WBS/WbsSetService.cs
@@ -160,6 +160,16 @@ namespace BLL
return (from x in Funs.DB.Wbs_WbsSet where x.SuperWbsSetId == superWbsSetId && x.IsApprove == true orderby x.WbsSetCode select x).ToList();
}
+ ///
+ /// 根据单位Id获取集合
+ ///
+ /// 上级Id
+ ///
+ public static List GetApproveWbsSetsByUnitProjectId(string unitProjectId)
+ {
+ return (from x in Funs.DB.Wbs_WbsSet where x.UnitProjectId == unitProjectId && x.IsApprove == true orderby x.WbsSetCode select x).ToList();
+ }
+
///
/// 根据上级Id获取是否存在同级别的其他已勾选项
///
@@ -383,5 +393,19 @@ namespace BLL
select x.WbsSetId).ToList();
return list;
}
+
+ ///
+ /// 根据分部Id获取分部Id
+ ///
+ /// 专业Id
+ ///
+ public static List GetWbsSetsByUnitProjectId(string unitProjectId)
+ {
+ Model.SGGLDB db = Funs.DB;
+ var list = (from x in db.Wbs_WbsSet
+ where x.UnitProjectId == unitProjectId && x.SuperWbsSetId == null
+ select x).ToList();
+ return list;
+ }
}
}
diff --git a/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs b/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs
index 1f302d64..fb0868c8 100644
--- a/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs
+++ b/SGGL/FineUIPro.Web/JDGL/WBS/WBSSetAudit.aspx.cs
@@ -181,7 +181,8 @@ namespace FineUIPro.Web.JDGL.WBS
newNode.NodeID = unitProject.UnitProjectId;
newNode.CommandName = "unitProject";
newNode.EnableExpandEvent = true;
- newNode.EnableCheckBox = false;
+ newNode.EnableCheckBox = true;
+ newNode.EnableCheckEvent = true;
if (unitProject.IsSelected == true && unitProject.IsApprove == null)
{
unitProject.IsApprove = true;
@@ -338,6 +339,17 @@ namespace FineUIPro.Web.JDGL.WBS
childWbsSet.IsSelected = e.Checked;
childWbsSet.IsApprove = e.Checked;
BLL.WbsSetService.UpdateWbsSet(childWbsSet);
+ foreach (var node2 in node.Nodes)
+ {
+ node2.Checked = e.Checked;
+ Model.Wbs_WbsSet childWbsSet2 = BLL.WbsSetService.GetWbsSetByWbsSetId(node2.NodeID);
+ if (childWbsSet2 != null)
+ {
+ childWbsSet2.IsSelected = e.Checked;
+ childWbsSet2.IsApprove = e.Checked;
+ BLL.WbsSetService.UpdateWbsSet(childWbsSet2);
+ }
+ }
}
}
bool b = true; //是否对父级节点执行选中状态的更新操作
@@ -389,26 +401,58 @@ namespace FineUIPro.Web.JDGL.WBS
}
}
}
- }
- if (b)
- {
- Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(wbsSet.UnitProjectId);
- if (unitProject != null)
+ TreeNode unitProjectNode = null;
+ if (e.Node.ParentNode.CommandName == "unitProject")
{
- unitProject.IsSelected = e.Checked;
- unitProject.IsApprove = e.Checked;
- BLL.UnitProjectService.UpdateUnitProject(unitProject);
+ unitProjectNode = e.Node.ParentNode;
}
- Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(wbsSet.CnProfessionId);
- if (cnProfession != null)
+ else if (e.Node.ParentNode.ParentNode.CommandName == "unitProject")
{
- cnProfession.IsSelected = e.Checked;
- cnProfession.IsApprove = e.Checked;
- BLL.CnProfessionService.UpdateCnProfession(cnProfession);
+ unitProjectNode = e.Node.ParentNode.ParentNode;
+ }
+ else if (e.Node.ParentNode.ParentNode.ParentNode.CommandName == "unitProject")
+ {
+ unitProjectNode = e.Node.ParentNode.ParentNode.ParentNode;
+ }
+ //选择否时,对单位工程节点选中状态的判断
+ List approveWbsSets = BLL.WbsSetService.GetApproveWbsSetsByUnitProjectId(wbsSet.UnitProjectId);
+ if (e.Checked == true || (e.Checked == false && approveWbsSets.Count == 0))
+ {
+ unitProjectNode.Checked = e.Checked;
+ Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(wbsSet.UnitProjectId);
+ if (unitProject != null)
+ {
+ unitProject.IsSelected = e.Checked;
+ unitProject.IsApprove = e.Checked;
+ BLL.UnitProjectService.UpdateUnitProject(unitProject);
+ }
+ Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(wbsSet.CnProfessionId);
+ if (cnProfession != null)
+ {
+ cnProfession.IsSelected = e.Checked;
+ cnProfession.IsApprove = e.Checked;
+ BLL.CnProfessionService.UpdateCnProfession(cnProfession);
+ }
}
}
}
-
+ else
+ {
+ Model.Wbs_UnitProject unitProject = BLL.UnitProjectService.GetUnitProjectByUnitProjectId(e.NodeID);
+ if (unitProject != null)
+ {
+ unitProject.IsSelected = e.Checked;
+ unitProject.IsApprove = e.Checked;
+ BLL.UnitProjectService.UpdateUnitProject(unitProject);
+ }
+ Model.WBS_CnProfession cnProfession = BLL.CnProfessionService.GetCnProfessionByCnProfessionId(unitProject.CnProfessionId);
+ if (cnProfession != null)
+ {
+ cnProfession.IsSelected = e.Checked;
+ cnProfession.IsApprove = e.Checked;
+ BLL.CnProfessionService.UpdateCnProfession(cnProfession);
+ }
+ }
//if (e.Checked)
//{
// CheckAllParentNodes(e.Node);