This commit is contained in:
gaofei 2022-04-20 17:24:24 +08:00
parent 182a5e60d5
commit da4ee22341
6 changed files with 935 additions and 618 deletions

1
.gitignore vendored
View File

@ -6,3 +6,4 @@
/SGGLPackFile
/SGGL/FineUIPro.Web/File/Excel/Temp
/SGGL/FineUIPro.Web/common
/SGGL/FineUIPro.Web/FileUpload/QRCodeFile

View File

@ -56,6 +56,8 @@
</f:Tree>
<f:HiddenField runat="server" ID="hdSelectId">
</f:HiddenField>
<f:HiddenField runat="server" ID="hdType">
</f:HiddenField>
</Items>
</f:Panel>
<f:Panel runat="server" ID="panelCenterRegion" RegionPosition="Center" Layout="Fit"

View File

@ -784,12 +784,247 @@ namespace FineUIPro.Web.JDGL.WBS
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("修改成功!", MessageBoxIcon.Success);
getWBSSet();
ShowNotify("保存成功!", MessageBoxIcon.Success);
UpdateTree();
//getWBSSet();
}
#endregion
private void UpdateTree()
{
if (this.hdType.Text == "add")
{
this.trWBS.SelectedNode.Nodes.Clear();
if (this.trWBS.SelectedNode.CommandName == "cnProfession")
{
var unitProjects = from x in Funs.DB.Wbs_UnitProject where x.CnProfessionId == this.trWBS.SelectedNode.NodeID && x.SuperUnitProjectId == null orderby x.SortIndex, x.UnitProjectCode select x;
foreach (var unitProject in unitProjects)
{
TreeNode newNode = new TreeNode();
newNode.Text = unitProject.UnitProjectName;
newNode.NodeID = unitProject.UnitProjectId;
newNode.CommandName = "unitProject";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (unitProject.IsSelected == true && unitProject.IsApprove == null)
{
unitProject.IsApprove = true;
BLL.UnitProjectService.UpdateUnitProject(unitProject);
}
if (unitProject.IsApprove == true)
{
newNode.Checked = true;
}
else
{
newNode.Checked = false;
}
newNode.EnableClickEvent = true;
this.trWBS.SelectedNode.Nodes.Add(newNode);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
else if (this.trWBS.SelectedNode.CommandName == "unitProject")
{
var wbsSet1s = from x in Funs.DB.Wbs_WbsSet where x.UnitProjectId == this.trWBS.SelectedNode.NodeID && x.SuperWbsSetId == null orderby x.WbsSetCode select x;
if (wbsSet1s.Count() > 0)
{
foreach (var wbsSet1 in wbsSet1s)
{
TreeNode newNode = new TreeNode();
newNode.Text = wbsSet1.WbsSetName;
newNode.NodeID = wbsSet1.WbsSetId;
newNode.CommandName = "wbsSet";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (wbsSet1.IsSelected == true && wbsSet1.IsApprove == null)
{
wbsSet1.IsApprove = true;
BLL.WbsSetService.UpdateWbsSet(wbsSet1);
}
if (wbsSet1.IsApprove == true)
{
newNode.Checked = true;
}
else
{
newNode.Checked = false;
}
newNode.EnableClickEvent = true;
this.trWBS.SelectedNode.Nodes.Add(newNode);
var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet1.WbsSetId);
if (wbsSets.Count > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
else if (this.trWBS.SelectedNode.CommandName == "wbsSet")
{
var childWbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(this.trWBS.SelectedNode.NodeID);
foreach (var wbsSet in childWbsSets)
{
TreeNode newNode = new TreeNode();
newNode.Text = wbsSet.WbsSetName;
newNode.NodeID = wbsSet.WbsSetId;
newNode.CommandName = "wbsSet";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (wbsSet.IsSelected == true && wbsSet.IsApprove == null)
{
wbsSet.IsApprove = true;
BLL.WbsSetService.UpdateWbsSet(wbsSet);
}
if (wbsSet.IsApprove == true)
{
newNode.Checked = true;
}
else
{
newNode.Checked = false;
}
newNode.EnableClickEvent = true;
this.trWBS.SelectedNode.Nodes.Add(newNode);
var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet.WbsSetId);
if (wbsSets.Count > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
else if (this.hdType.Text == "modify" || this.hdType.Text == "del" || this.hdType.Text == "copy")
{
var node = this.trWBS.SelectedNode.ParentNode;
this.trWBS.SelectedNode.ParentNode.Nodes.Clear();
if (node.CommandName == "cnProfession")
{
var unitProjects = from x in Funs.DB.Wbs_UnitProject where x.CnProfessionId == node.NodeID && x.SuperUnitProjectId == null orderby x.SortIndex, x.UnitProjectCode select x;
foreach (var unitProject in unitProjects)
{
TreeNode newNode = new TreeNode();
newNode.Text = unitProject.UnitProjectName;
newNode.NodeID = unitProject.UnitProjectId;
newNode.CommandName = "unitProject";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (unitProject.IsSelected == true && unitProject.IsApprove == null)
{
unitProject.IsApprove = true;
BLL.UnitProjectService.UpdateUnitProject(unitProject);
}
if (unitProject.IsApprove == true)
{
newNode.Checked = true;
}
else
{
newNode.Checked = false;
}
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
else if (node.CommandName == "unitProject")
{
var wbsSet1s = from x in Funs.DB.Wbs_WbsSet where x.UnitProjectId == node.NodeID && x.SuperWbsSetId == null orderby x.WbsSetCode select x;
if (wbsSet1s.Count() > 0)
{
foreach (var wbsSet1 in wbsSet1s)
{
TreeNode newNode = new TreeNode();
newNode.Text = wbsSet1.WbsSetName;
newNode.NodeID = wbsSet1.WbsSetId;
newNode.CommandName = "wbsSet";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (wbsSet1.IsSelected == true && wbsSet1.IsApprove == null)
{
wbsSet1.IsApprove = true;
BLL.WbsSetService.UpdateWbsSet(wbsSet1);
}
if (wbsSet1.IsApprove == true)
{
newNode.Checked = true;
}
else
{
newNode.Checked = false;
}
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet1.WbsSetId);
if (wbsSets.Count > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
else if (node.CommandName == "wbsSet")
{
var childWbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(node.NodeID);
foreach (var wbsSet in childWbsSets)
{
TreeNode newNode = new TreeNode();
newNode.Text = wbsSet.WbsSetName;
newNode.NodeID = wbsSet.WbsSetId;
newNode.CommandName = "wbsSet";
newNode.EnableExpandEvent = true;
newNode.EnableCheckBox = true;
newNode.EnableCheckEvent = true;
if (wbsSet.IsSelected == true && wbsSet.IsApprove == null)
{
wbsSet.IsApprove = true;
BLL.WbsSetService.UpdateWbsSet(wbsSet);
}
if (wbsSet.IsApprove == true)
{
newNode.Checked = true;
}
else
{
newNode.Checked = false;
}
newNode.EnableClickEvent = true;
node.Nodes.Add(newNode);
var wbsSets = BLL.WbsSetService.GetWbsSetsBySuperWbsSetId(wbsSet.WbsSetId);
if (wbsSets.Count > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
}
#region
/// <summary>
/// 关闭窗口
@ -799,8 +1034,8 @@ namespace FineUIPro.Web.JDGL.WBS
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("拷贝成功!", MessageBoxIcon.Success);
getWBSSet();
UpdateTree();
//getWBSSet();
}
/// <summary>
@ -865,6 +1100,7 @@ namespace FineUIPro.Web.JDGL.WBS
//{
if (this.trWBS.SelectedNode.CommandName != "project" && this.trWBS.SelectedNode.CommandName != "installation") //非项目、装置节点可以增加
{
this.hdType.Text = "add";
string window = String.Format("WBSSetAuditEdit.aspx?Id={0}&Type={1}&oper=add", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdSelectId.ClientID) + Window1.GetShowReference(window));
}
@ -872,6 +1108,7 @@ namespace FineUIPro.Web.JDGL.WBS
{
if (this.trWBS.SelectedNode.Text == "总图")
{
this.hdType.Text = "add";
string window = String.Format("WBSSetAuditEdit.aspx?Id={0}&Type={1}&oper=add", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdSelectId.ClientID) + Window1.GetShowReference(window));
}
@ -905,6 +1142,7 @@ namespace FineUIPro.Web.JDGL.WBS
//{
if (this.trWBS.SelectedNode.CommandName != "project" && this.trWBS.SelectedNode.CommandName != "installation") //非项目、装置节点可以修改
{
this.hdType.Text = "modify";
this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WBSSetAuditEdit.aspx?Id={0}&Type={1}&oper=modify", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "编辑 - ")));
}
@ -912,6 +1150,7 @@ namespace FineUIPro.Web.JDGL.WBS
{
if (this.trWBS.SelectedNode.Text == "总图")
{
this.hdType.Text = "modify";
this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID;
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WBSSetAuditEdit.aspx?Id={0}&Type={1}&oper=modify", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "编辑 - ")));
}
@ -988,6 +1227,7 @@ namespace FineUIPro.Web.JDGL.WBS
{
if (this.trWBS.SelectedNode.CommandName != "project" && this.trWBS.SelectedNode.CommandName != "installation" && this.trWBS.SelectedNode.CommandName != "cnProfession" && this.trWBS.SelectedNode.CommandName != "unitProject") //非项目、装置、专业、单位工程节点可以拷贝
{
this.hdType.Text = "copy";
string openUrl = String.Format("WBSSetCopy.aspx?Id={0}&Type={1}", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "拷贝 - ");
PageContext.RegisterStartupScript(Window2.GetSaveStateReference(hdSelectId.ClientID)
+ Window2.GetShowReference(openUrl));
@ -1172,7 +1412,13 @@ namespace FineUIPro.Web.JDGL.WBS
else
{
this.hdSelectId.Text = unitProject.CnProfessionId;
BLL.WbsSetService.DeleteWbsSetByUnitProjectId(id);
var wbsSets = from x in Funs.DB.Wbs_WbsSet where x.UnitProjectId == id select x;
foreach (var item in wbsSets)
{
BLL.CostControlService.DeleteCostControlByWbsSetId(item.WbsSetId); //删除费控项
BLL.WbsSetService.DeleteWbsSet(item.WbsSetId);
}
//BLL.WbsSetService.DeleteWbsSetByUnitProjectId(id);
BLL.UnitProjectService.DeleteUnitProject(id);
}
@ -1247,8 +1493,10 @@ namespace FineUIPro.Web.JDGL.WBS
}
}
}
this.hdType.Text = "del";
UpdateTree();
ShowNotify("删除成功!", MessageBoxIcon.Success);
getWBSSet();
//getWBSSet();
}
/// <summary>
@ -1519,6 +1767,7 @@ namespace FineUIPro.Web.JDGL.WBS
private void getWBSSet()
{
string ProjectId = string.Empty;
string pppInstallationId = string.Empty;
string ppInstallationId = string.Empty;
string pInstallationId = string.Empty;
string InstallationId = string.Empty;
@ -1548,6 +1797,15 @@ namespace FineUIPro.Web.JDGL.WBS
on y.InstallationId equals z.SuperInstallationId
where z.InstallationId == InstallationId
select x.InstallationId).FirstOrDefault();
pppInstallationId = (from x in Funs.DB.Project_Installation
join y in Funs.DB.Project_Installation
on x.InstallationId equals y.SuperInstallationId
join z in Funs.DB.Project_Installation
on y.InstallationId equals z.SuperInstallationId
join a in Funs.DB.Project_Installation
on z.InstallationId equals a.SuperInstallationId
where a.InstallationId == InstallationId
select x.InstallationId).FirstOrDefault();
}
else if (UnitProject != null)
{
@ -1573,6 +1831,15 @@ namespace FineUIPro.Web.JDGL.WBS
on y.InstallationId equals z.SuperInstallationId
where z.InstallationId == InstallationId
select x.InstallationId).FirstOrDefault();
pppInstallationId = (from x in Funs.DB.Project_Installation
join y in Funs.DB.Project_Installation
on x.InstallationId equals y.SuperInstallationId
join z in Funs.DB.Project_Installation
on y.InstallationId equals z.SuperInstallationId
join a in Funs.DB.Project_Installation
on z.InstallationId equals a.SuperInstallationId
where a.InstallationId == InstallationId
select x.InstallationId).FirstOrDefault();
}
else //总图
{
@ -1603,6 +1870,15 @@ namespace FineUIPro.Web.JDGL.WBS
on y.InstallationId equals z.SuperInstallationId
where z.InstallationId == InstallationId
select x.InstallationId).FirstOrDefault();
pppInstallationId = (from x in Funs.DB.Project_Installation
join y in Funs.DB.Project_Installation
on x.InstallationId equals y.SuperInstallationId
join z in Funs.DB.Project_Installation
on y.InstallationId equals z.SuperInstallationId
join a in Funs.DB.Project_Installation
on z.InstallationId equals a.SuperInstallationId
where a.InstallationId == InstallationId
select x.InstallationId).FirstOrDefault();
}
else
{
@ -1660,14 +1936,31 @@ namespace FineUIPro.Web.JDGL.WBS
rootNode.NodeID = project.ProjectId;
rootNode.CommandName = "project";
rootNode.EnableExpandEvent = true;
rootNode.EnableCheckBox = false;
this.trWBS.Nodes.Add(rootNode);
if (project.ProjectId == ProjectId)
{
rootNode.Expanded = true;
var installations = from x in Funs.DB.Project_Installation
var installation0s = from x in Funs.DB.Project_Installation
where x.ProjectId == ProjectId && x.SuperInstallationId == "0"
orderby x.InstallationCode
select x;
foreach (var installation0 in installation0s)
{
TreeNode newInstallationNode0 = new TreeNode();
newInstallationNode0.Text = installation0.InstallationName;
newInstallationNode0.NodeID = installation0.InstallationId;
newInstallationNode0.CommandName = "installation";
newInstallationNode0.EnableExpandEvent = true;
newInstallationNode0.EnableCheckBox = false;
rootNode.Nodes.Add(newInstallationNode0);
if (installation0.InstallationId == pppInstallationId)
{
var installations = from x in Funs.DB.Project_Installation
where x.ProjectId == ProjectId && x.SuperInstallationId == installation0.InstallationId
orderby x.InstallationCode
select x;
foreach (var installation in installations)
{
TreeNode newInstallationNode = new TreeNode();
@ -1675,7 +1968,8 @@ namespace FineUIPro.Web.JDGL.WBS
newInstallationNode.NodeID = installation.InstallationId;
newInstallationNode.CommandName = "installation";
newInstallationNode.EnableExpandEvent = true;
rootNode.Nodes.Add(newInstallationNode);
newInstallationNode.EnableCheckBox = false;
newInstallationNode0.Nodes.Add(newInstallationNode);
if (installation.InstallationId == ppInstallationId)
{
var installation2s = from x in Funs.DB.Project_Installation
@ -1692,6 +1986,7 @@ namespace FineUIPro.Web.JDGL.WBS
newInstallationNode2.NodeID = installation2.InstallationId;
newInstallationNode2.CommandName = "installation";
newInstallationNode2.EnableExpandEvent = true;
newInstallationNode2.EnableCheckBox = false;
newInstallationNode.Nodes.Add(newInstallationNode2);
if (installation2.InstallationId == pInstallationId)
{
@ -1707,6 +2002,7 @@ namespace FineUIPro.Web.JDGL.WBS
newInstallationNode3.NodeID = installation3.InstallationId;
newInstallationNode3.CommandName = "installation";
newInstallationNode3.EnableExpandEvent = true;
newInstallationNode3.EnableCheckBox = false;
newInstallationNode2.Nodes.Add(newInstallationNode3);
if (installation3.InstallationId == InstallationId)
{
@ -2358,7 +2654,16 @@ namespace FineUIPro.Web.JDGL.WBS
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newInstallationNode.Nodes.Add(emptyNode);
newInstallationNode0.Nodes.Add(emptyNode);
}
}
}
else
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
rootNode.Nodes.Add(emptyNode);
}
}
}

View File

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

View File

@ -36,7 +36,7 @@ namespace FineUIPro.Web.JDGL.WBS
if (unitProject != null)
{
txtCode.Text = GetNewCode(unitProject.UnitProjectCode, 0, "wbsSet");
this.txtCode.Readonly = true;
//this.txtCode.Readonly = true;
if (unitProject.StartDate != null)
{
txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", unitProject.StartDate);
@ -50,7 +50,7 @@ namespace FineUIPro.Web.JDGL.WBS
if (wbsSet != null)
{
txtCode.Text = GetNewCode(wbsSet.WbsSetCode, 0, "wbsSet");
this.txtCode.Readonly = true;
//this.txtCode.Readonly = true;
if (wbsSet.StartDate != null)
{
txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", wbsSet.StartDate);

View File

@ -15,7 +15,7 @@
<Rows>
<f:FormRow>
<Items>
<f:TextBox ID="txtCode" runat="server" Label="编号" Readonly="true" LabelWidth="150px" Required="true" ShowRedStar="true" ></f:TextBox>
<f:TextBox ID="txtCode" runat="server" Label="编号" LabelWidth="150px" Required="true" ShowRedStar="true" ></f:TextBox>
<f:TextBox ID="txtName" runat="server" Label="名称" LabelWidth="150px" Required="true" ShowRedStar="true"></f:TextBox>
</Items>
</f:FormRow>