公司级树补充

This commit is contained in:
2025-04-11 11:33:48 +08:00
parent ae90319ee4
commit 2a876b4c2f
21 changed files with 1332 additions and 662 deletions
@@ -15,6 +15,22 @@ namespace FineUIPro.Web.CQMS.WBS
{
public partial class ProjectControlPoint : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
/// <summary>
/// 被选择项列表
/// </summary>
@@ -55,9 +71,23 @@ namespace FineUIPro.Web.CQMS.WBS
{
if (!IsPostBack)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
this.ucTree.UnitId = this.CurrUser.UnitId;
this.ucTree.ProjectId = this.ProjectId;
if (!string.IsNullOrEmpty(this.ProjectId))
{
this.panelLeftRegion.Hidden = true;
////权限按钮方法
this.GetButtonPower();
}
this.SelectedList = new List<string>();
this.NoSelectedList = new List<string>();
GetButtonPower();
//GetButtonPower();
InitTreeMenu();
this.Grid1.Columns[2].Hidden = false;
this.Grid1.Columns[3].Hidden = true;
@@ -75,17 +105,37 @@ namespace FineUIPro.Web.CQMS.WBS
#region
/// <summary>
/// 公司级树加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void changeTree(object sender, EventArgs e)
{
this.ProjectId = this.ucTree.ProjectId;
if (string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
btnNew.Hidden = true;
}
this.GetButtonPower();
this.InitTreeMenu();
}
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
if (string.IsNullOrEmpty(this.ProjectId))
{
return;
}
this.trWBS.Nodes.Clear();
this.trWBS.ShowBorder = false;
this.trWBS.ShowHeader = false;
this.trWBS.EnableIcons = true;
this.trWBS.AutoScroll = 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.ProjectId orderby x.UnitWorkCode select x;
foreach (var q in unitWorks)
{
TreeNode newNode = new TreeNode();
@@ -202,7 +252,7 @@ namespace FineUIPro.Web.CQMS.WBS
cNProfessionalId = e.NodeID.Split('|')[1];
}
var divisions = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == cNProfessionalId && x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
where x.CNProfessionalId == cNProfessionalId && x.ProjectId == this.ProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
orderby x.SortIndex
select x).ToList();
foreach (var q in divisions)
@@ -221,7 +271,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode.Checked = true;
}
var list = (from x in Funs.DB.WBS_DivisionProject
where x.SuperDivisionId == q.DivisionProjectId && x.ProjectId == this.CurrUser.LoginProjectId
where x.SuperDivisionId == q.DivisionProjectId && x.ProjectId == this.ProjectId
orderby x.SortIndex
select x).ToList();
if (list.Count > 0)
@@ -237,7 +287,7 @@ namespace FineUIPro.Web.CQMS.WBS
else if (e.Node.CommandName == "DivisionProject") //展开分部节点
{
var childDivisions = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.SuperDivisionId == e.Node.NodeID && x.ProjectId == this.CurrUser.LoginProjectId
where x.SuperDivisionId == e.Node.NodeID && x.ProjectId == this.ProjectId
orderby x.SortIndex
select x).ToList();
foreach (var q in childDivisions)
@@ -256,7 +306,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode.Checked = true;
}
var list = (from x in Funs.DB.WBS_DivisionProject
where x.SuperDivisionId == q.DivisionProjectId && x.ProjectId == this.CurrUser.LoginProjectId
where x.SuperDivisionId == q.DivisionProjectId && x.ProjectId == this.ProjectId
orderby x.SortIndex
select x).ToList();
if (list.Count > 0)
@@ -279,7 +329,11 @@ namespace FineUIPro.Web.CQMS.WBS
/// <param name="e"></param>
protected void trWBS_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnSave))
if (string.IsNullOrEmpty(this.ProjectId))
{
return;
}
if (BLL.CommonService.GetAllButtonPowerList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnSave))
{
Model.WBS_DivisionProject divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(e.NodeID);
divisionProject.IsSelected = e.Checked;
@@ -425,7 +479,7 @@ namespace FineUIPro.Web.CQMS.WBS
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnModify))
if (BLL.CommonService.GetAllButtonPowerList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnModify))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType" && this.trWBS.SelectedNode.CommandName != "UnitWork" && this.trWBS.SelectedNode.CommandName != "CNProfessional") //非工程类型和单位工程、专业节点可以修改
{
@@ -483,7 +537,7 @@ namespace FineUIPro.Web.CQMS.WBS
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnAdd))
if (BLL.CommonService.GetAllButtonPowerList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnAdd))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType" && this.trWBS.SelectedNode.CommandName != "UnitWork") //非工程类型和单位工程节点可以增加
{
@@ -517,12 +571,12 @@ namespace FineUIPro.Web.CQMS.WBS
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnDelete))
if (BLL.CommonService.GetAllButtonPowerList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId, BLL.Const.BtnDelete))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType" && this.trWBS.SelectedNode.CommandName != "UnitWork" && this.trWBS.SelectedNode.CommandName != "CNProfessional") //非工程类型和单位工程、专业节点可以删除
{
string id = this.trWBS.SelectedNodeID;
//var workPackage = Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InitWorkPackageCode == this.trWBS.SelectedNodeID);
//var workPackage = Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.InitWorkPackageCode == this.trWBS.SelectedNodeID);
//if (workPackage != null)
//{
// ShowNotify("WBS定制中已使用该数据,无法删除!", MessageBoxIcon.Warning);
@@ -605,8 +659,8 @@ namespace FineUIPro.Web.CQMS.WBS
}
BLL.DivisionProjectService.DeleteDivisionProject(divisionProjectId);
}
// Project_CQMSDataService.StatisticalData(this.CurrUser.LoginProjectId, Project_CQMSDataService.CQMSDateType.QualityControlPoint);
// Project_CQMSDataService.StatisticalData(this.CurrUser.LoginProjectId, Project_CQMSDataService.CQMSDateType.ProjectDivision);
// Project_CQMSDataService.StatisticalData(this.ProjectId, Project_CQMSDataService.CQMSDateType.QualityControlPoint);
// Project_CQMSDataService.StatisticalData(this.ProjectId, Project_CQMSDataService.CQMSDateType.ProjectDivision);
}
BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.ProjectControlPointMenuId, "删除分部或子分部工程及其下所有内容!");
}
@@ -710,7 +764,7 @@ namespace FineUIPro.Web.CQMS.WBS
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
//var controlItemAndCycle = Funs.DB.WBS_ControlItemAndCycle.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InitControlItemCode == Grid1.SelectedRowID);
//var controlItemAndCycle = Funs.DB.WBS_ControlItemAndCycle.FirstOrDefault(x => x.ProjectId == this.ProjectId && x.InitControlItemCode == Grid1.SelectedRowID);
//if (controlItemAndCycle != null)
//{
// ShowNotify("WBS定制中已使用该数据,无法删除!", MessageBoxIcon.Warning);
@@ -718,8 +772,8 @@ namespace FineUIPro.Web.CQMS.WBS
//else
//{
BLL.BreakdownProjectService.DeleteBreakdown(Grid1.SelectedRowID);
//Project_CQMSDataService.StatisticalData(this.CurrUser.LoginProjectId, Project_CQMSDataService.CQMSDateType.QualityControlPoint);
//Project_CQMSDataService.StatisticalData(this.CurrUser.LoginProjectId, Project_CQMSDataService.CQMSDateType.ProjectDivision);
//Project_CQMSDataService.StatisticalData(this.ProjectId, Project_CQMSDataService.CQMSDateType.QualityControlPoint);
//Project_CQMSDataService.StatisticalData(this.ProjectId, Project_CQMSDataService.CQMSDateType.ProjectDivision);
BLL.LogService.AddSys_Log(this.CurrUser, Grid1.SelectedRowID, Grid1.SelectedRowID, BLL.Const.ProjectControlPointMenuId, "删除分项");
Grid1.DataBind();
BindGrid();
@@ -773,12 +827,16 @@ namespace FineUIPro.Web.CQMS.WBS
/// </summary>
private void BindGrid()
{
if (string.IsNullOrEmpty(this.ProjectId))
{
return;
}
string strSql = @"SELECT BreakdownProjectId,BreakdownCode,BreakdownName,Basis,CheckPoints,RecordAndCode,Class,FenBao,WuHuan,JianLi,YeZhu,Remark,ModelURL,CheckAcceptType"
+ @" FROM WBS_BreakdownProject ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " where DivisionProjectId = @DivisionProjectId and ProjectId=@ProjectId";
listStr.Add(new SqlParameter("@DivisionProjectId", this.trWBS.SelectedNodeID));
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
@@ -868,7 +926,7 @@ namespace FineUIPro.Web.CQMS.WBS
if (trWBS.Nodes[i].Nodes[j].NodeID.Split('|')[1] == "1") //建筑工程
{
var divisionsCV = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == BLL.Const.CNProfessionalCVId && x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
where x.CNProfessionalId == BLL.Const.CNProfessionalCVId && x.ProjectId == this.ProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
orderby x.SortIndex
select x).ToList();
if (divisionsCV.Count > 0) //建筑工程下存在土建内容
@@ -882,7 +940,7 @@ namespace FineUIPro.Web.CQMS.WBS
trWBS.Nodes[i].Nodes[j].Nodes.Add(newNode3);
newNode3.Expanded = true;
var divisions = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == BLL.Const.CNProfessionalCVId && x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
where x.CNProfessionalId == BLL.Const.CNProfessionalCVId && x.ProjectId == this.ProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
orderby x.SortIndex
select x).ToList();
foreach (var q in divisions)
@@ -899,7 +957,7 @@ namespace FineUIPro.Web.CQMS.WBS
}
newNode3.Nodes.Add(newNode4);
var division1s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == q.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == q.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(q.DivisionProjectId))
@@ -915,7 +973,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode5.EnableClickEvent = true;
newNode4.Nodes.Add(newNode5);
var division2s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == division1.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == division1.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(division1.DivisionProjectId))
@@ -931,7 +989,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode6.EnableClickEvent = true;
newNode5.Nodes.Add(newNode6);
var division3s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == division2.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == division2.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(division2.DivisionProjectId))
@@ -977,7 +1035,7 @@ namespace FineUIPro.Web.CQMS.WBS
else
{
var divisions = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == BLL.Const.CNProfessionalConstructId && x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
where x.CNProfessionalId == BLL.Const.CNProfessionalConstructId && x.ProjectId == this.ProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
orderby x.SortIndex
select x).ToList();
foreach (var q in divisions)
@@ -994,7 +1052,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode4.Checked = true;
}
var division1s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == q.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == q.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(q.DivisionProjectId))
@@ -1010,7 +1068,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode5.EnableClickEvent = true;
newNode4.Nodes.Add(newNode5);
var division2s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == division1.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == division1.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(division1.DivisionProjectId))
@@ -1026,7 +1084,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode6.EnableClickEvent = true;
newNode5.Nodes.Add(newNode6);
var division3s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == division2.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == division2.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(division2.DivisionProjectId))
@@ -1086,7 +1144,7 @@ namespace FineUIPro.Web.CQMS.WBS
{
newCNProfessionalNode.Expanded = true;
var divisions = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.CNProfessionalId == c.CNProfessionalId && x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
where x.CNProfessionalId == c.CNProfessionalId && x.ProjectId == this.ProjectId && x.SuperDivisionId == null && x.UnitWorkId == unitWorkId
orderby x.SortIndex
select x).ToList();
foreach (var q in divisions)
@@ -1103,7 +1161,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode4.Checked = true;
}
var division1s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == q.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == q.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(q.DivisionProjectId))
@@ -1119,7 +1177,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode5.EnableClickEvent = true;
newNode4.Nodes.Add(newNode5);
var division2s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == division1.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == division1.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(division1.DivisionProjectId))
@@ -1135,7 +1193,7 @@ namespace FineUIPro.Web.CQMS.WBS
newNode6.EnableClickEvent = true;
newNode5.Nodes.Add(newNode6);
var division3s = (from x in BLL.Funs.DB.WBS_DivisionProject
where x.ProjectId == this.CurrUser.LoginProjectId && x.SuperDivisionId == division2.DivisionProjectId
where x.ProjectId == this.ProjectId && x.SuperDivisionId == division2.DivisionProjectId
orderby x.SortIndex
select x).ToList();
if (list.Contains(division2.DivisionProjectId))
@@ -1305,7 +1363,7 @@ namespace FineUIPro.Web.CQMS.WBS
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId);
var buttonList = BLL.CommonService.GetAllButtonList(this.ProjectId, this.CurrUser.UserId, BLL.Const.ProjectControlPointMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))