CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/CQMS/WBS/ProjectControlItemInitSet.a...

1181 lines
54 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using BLL;
using System.IO;
using System.Data.SqlClient;
using Newtonsoft.Json.Linq;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.CQMS.WBS
{
public partial class ProjectControlItemInitSet : PageBase
{
#region
/// <summary>
/// 页面加载
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (!BLL.WorkPackageProjectService.IsExitWorkPackageProject(this.CurrUser.LoginProjectId))
{
//拷贝项目WBS数据
var workPackageInits = from x in Funs.DB.WBS_WorkPackageInit select x;
foreach (var workPackageInit in workPackageInits)
{
Model.WBS_WorkPackageProject workPackageProject = new Model.WBS_WorkPackageProject();
workPackageProject.WorkPackageCode = workPackageInit.WorkPackageCode;
workPackageProject.ProjectId = this.CurrUser.LoginProjectId;
workPackageProject.ProjectType = workPackageInit.ProjectType;
workPackageProject.PackageContent = workPackageInit.PackageContent;
workPackageProject.SuperWorkPack = workPackageInit.SuperWorkPack;
workPackageProject.IsChild = workPackageInit.IsChild;
workPackageProject.PackageCode = workPackageInit.PackageCode;
workPackageProject.ProjectType = workPackageInit.ProjectType;
BLL.WorkPackageProjectService.AddWorkPackageProject(workPackageProject);
}
var controlItemInits = from x in Funs.DB.WBS_ControlItemInit select x;
foreach (var controlItemInit in controlItemInits)
{
Model.WBS_ControlItemProject controlItemProject = new Model.WBS_ControlItemProject();
controlItemProject.ControlItemCode = controlItemInit.ControlItemCode;
controlItemProject.ProjectId = this.CurrUser.LoginProjectId;
controlItemProject.WorkPackageCode = controlItemInit.WorkPackageCode;
controlItemProject.ControlItemContent = controlItemInit.ControlItemContent;
controlItemProject.ControlPoint = controlItemInit.ControlPoint;
controlItemProject.ControlItemDef = controlItemInit.ControlItemDef;
controlItemProject.Weights = controlItemInit.Weights;
controlItemProject.HGForms = controlItemInit.HGForms;
controlItemProject.SHForms = controlItemInit.SHForms;
controlItemProject.Standard = controlItemInit.Standard;
controlItemProject.ClauseNo = controlItemInit.ClauseNo;
controlItemProject.CheckNum = 1;
BLL.ControlItemProjectService.AddControlItemProject(controlItemProject);
}
}
GetButtonPower();
InitTreeMenu();
}
}
#endregion
#region
/// <summary>
/// 加载树
/// </summary>
private void InitTreeMenu()
{
this.trWBS.Nodes.Clear();
this.trWBS.ShowBorder = false;
this.trWBS.ShowHeader = false;
this.trWBS.EnableIcons = true;
this.trWBS.AutoScroll = true;
this.trWBS.EnableSingleClickExpand = true;
TreeNode rootNode1 = new TreeNode();
rootNode1.Text = "建筑工程";
rootNode1.NodeID = "1";
rootNode1.CommandName = "ProjectType";
//rootNode1.EnableExpandEvent = true;
rootNode1.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode1);
this.GetNodes(rootNode1.Nodes, rootNode1.NodeID);
TreeNode rootNode2 = new TreeNode();
rootNode2.Text = "安装工程";
rootNode2.NodeID = "2";
rootNode2.CommandName = "ProjectType";
//rootNode2.EnableExpandEvent = true;
rootNode2.EnableClickEvent = true;
this.trWBS.Nodes.Add(rootNode2);
this.GetNodes(rootNode2.Nodes, rootNode2.NodeID);
}
#region
/// <summary>
/// 遍历节点方法
/// </summary>
/// <param name="nodes">节点集合</param>
/// <param name="parentId">父节点</param>
private void GetNodes(TreeNodeCollection nodes, string parentId)
{
List<Model.WBS_WorkPackageProject> workPackages = new List<Model.WBS_WorkPackageProject>();
if (parentId.Length == 1) //工程类型节点
{
workPackages = (from x in Funs.DB.WBS_WorkPackageProject
where x.SuperWorkPack == null && x.ProjectId == this.CurrUser.LoginProjectId && x.ProjectType == parentId
orderby x.PackageCode ascending
select x).ToList();
}
else
{
workPackages = (from x in Funs.DB.WBS_WorkPackageProject
where x.SuperWorkPack == parentId && x.ProjectId == this.CurrUser.LoginProjectId
orderby x.PackageCode ascending
select x).ToList();
}
foreach (var q in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = q.PackageContent;
newNode.NodeID = q.WorkPackageCode;
newNode.CommandName = "WorkPackage";
newNode.EnableClickEvent = true;
nodes.Add(newNode);
}
for (int i = 0; i < nodes.Count; i++)
{
GetNodes(nodes[i].Nodes, nodes[i].NodeID);
}
}
#endregion
#endregion
#region
/// <summary>
/// 展开树
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeExpand(object sender, TreeNodeEventArgs e)
{
e.Node.Nodes.Clear();
if (e.Node.CommandName == "ProjectType") //展开工程类型
{
var workPackages = from x in Funs.DB.WBS_WorkPackageProject where x.ProjectType == e.NodeID && x.SuperWorkPack == null orderby x.WorkPackageCode select x;
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageCode;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == workPackage.WorkPackageCode select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
else if (e.Node.CommandName == "WorkPackage") //展开分部节点
{
var workPackages = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == e.Node.NodeID orderby x.WorkPackageCode select x;
if (workPackages.Count() > 0) //存在子分部工程
{
foreach (var workPackage in workPackages)
{
TreeNode newNode = new TreeNode();
newNode.Text = workPackage.PackageContent;
newNode.NodeID = workPackage.WorkPackageCode;
newNode.CommandName = "WorkPackage";
newNode.EnableExpandEvent = true;
newNode.EnableClickEvent = true;
e.Node.Nodes.Add(newNode);
var childWorkPackages = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == workPackage.WorkPackageCode select x;
if (childWorkPackages.Count() > 0)
{
TreeNode emptyNode = new TreeNode();
emptyNode.Text = "";
emptyNode.NodeID = "";
newNode.Nodes.Add(emptyNode);
}
}
}
}
}
#endregion
#region Tree点击事件
/// <summary>
/// Tree点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void trWBS_NodeCommand(object sender, TreeCommandEventArgs e)
{
this.cbAllHGForms.Checked = false;
this.cbAllSHForms.Checked = false;
BindGrid();
}
#endregion
#region
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("修改成功!", MessageBoxIcon.Success);
GetSelectTreeNode();
}
#endregion
#region
/// <summary>
/// 增加关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window2_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("增加成功!", MessageBoxIcon.Success);
GetSelectTreeNode();
}
#endregion
#region
/// <summary>
/// 关闭窗口
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Window3_Close(object sender, WindowCloseEventArgs e)
{
ShowNotify("保存成功!", MessageBoxIcon.Success);
BindGrid();
}
#endregion
#region
/// <summary>
/// 右键修改事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuEdit_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlItemProjectSetMenuId, BLL.Const.BtnModify))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType") //非工程类型节点可以修改
{
this.hdSelectId.Text = this.trWBS.SelectedNode.NodeID;
string openUrl = String.Format("WorkPackageProjectEdit.aspx?type=modify&Id={0}", this.trWBS.SelectedNode.NodeID, "编辑 - ");
PageContext.RegisterStartupScript(Window1.GetSaveStateReference(hdSelectId.ClientID)
+ Window1.GetShowReference(openUrl));
}
else
{
ShowNotify("工程类型节点无法修改!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuAdd_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlItemProjectSetMenuId, BLL.Const.BtnAdd))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType") //非工程类型节点可以增加
{
Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
if (workPackageProject.IsChild == true)
{
string openUrl = String.Format("WorkPackageProjectEdit.aspx?type=add&Id={0}", this.trWBS.SelectedNode.NodeID, "增加 - ");
PageContext.RegisterStartupScript(Window2.GetSaveStateReference(hdSelectId.ClientID)
+ Window2.GetShowReference(openUrl));
}
//PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("WBSSetCopy.aspx?Id={0}&Type={1}", this.trWBS.SelectedNode.NodeID, this.trWBS.SelectedNode.CommandName, "拷贝 - ")));
else
{
ShowNotify("已是末级,无法添加子级节点!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("工程类型节点无法增加!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 右键删除事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDelete_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
if (BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlItemProjectSetMenuId, BLL.Const.BtnDelete))
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType") //非工程类型节点可以删除
{
string id = this.trWBS.SelectedNodeID;
var workPackage = Funs.DB.WBS_WorkPackage.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InitWorkPackageCode == this.trWBS.SelectedNodeID);
if (workPackage != null)
{
ShowNotify("WBS定制中已使用该数据无法删除", MessageBoxIcon.Warning);
}
else
{
DeleteData();
}
}
else
{
ShowNotify("工程类型节点无法删除!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("您没有这个权限,请与管理员联系!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 删除方法
/// </summary>
private void DeleteData()
{
string id = this.trWBS.SelectedNodeID;
this.hdSelectId.Text = this.trWBS.SelectedNode.ParentNode.NodeID;
if (this.trWBS.SelectedNode.CommandName == "WorkPackage")
{
Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(id, this.CurrUser.LoginProjectId);
if (workPackageProject != null)
{
List<Model.WBS_WorkPackageProject> childWorkPackageProjects1 = BLL.WorkPackageProjectService.GetWorkPackageProjectsBySuperWorkPack(id, this.CurrUser.LoginProjectId);
if (childWorkPackageProjects1.Count > 0) //存在子分部分项
{
this.hdSelectId.Text = workPackageProject.WorkPackageCode;
foreach (var childWorkPackageProject1 in childWorkPackageProjects1)
{
List<Model.WBS_WorkPackageProject> childWorkPackageProjects2 = BLL.WorkPackageProjectService.GetWorkPackageProjectsBySuperWorkPack(childWorkPackageProject1.WorkPackageCode, this.CurrUser.LoginProjectId);
if (childWorkPackageProjects2.Count > 0)
{
foreach (var childWorkPackageProject2 in childWorkPackageProjects2)
{
BLL.ControlItemProjectService.DeleteAllControlItemProject(childWorkPackageProject2.WorkPackageCode, this.CurrUser.LoginProjectId);
BLL.WorkPackageProjectService.DeleteWorkPackageProject(childWorkPackageProject2.WorkPackageCode, this.CurrUser.LoginProjectId);
}
}
BLL.ControlItemProjectService.DeleteAllControlItemProject(childWorkPackageProject1.WorkPackageCode, this.CurrUser.LoginProjectId);
BLL.WorkPackageProjectService.DeleteWorkPackageProject(childWorkPackageProject1.WorkPackageCode, this.CurrUser.LoginProjectId);
}
}
BLL.ControlItemProjectService.DeleteAllControlItemProject(id, this.CurrUser.LoginProjectId);
BLL.WorkPackageProjectService.DeleteWorkPackageProject(id, this.CurrUser.LoginProjectId);
}
}
BLL.LogService.AddSys_Log(this.CurrUser, id, id, BLL.Const.ControlItemProjectSetMenuId, "删除分部分项信息!");
ShowNotify("删除成功!", MessageBoxIcon.Success);
GetSelectTreeNode();
}
#endregion
/// <summary>
/// 增加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnNew_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null)
{
if (this.trWBS.SelectedNode.CommandName != "ProjectType") //非工程类型节点可以增加
{
Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
if (workPackageProject.IsChild == false)
{
//string openUrl = String.Format("ControlItemProjectEdit.aspx?type=add&WorkPackageCode={0}", this.trWBS.SelectedNode.NodeID, "增加 - ");
//PageContext.RegisterStartupScript(Window3.GetSaveStateReference(hdSelectId.ClientID)
// + Window2.GetShowReference(openUrl));
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("ControlItemProjectEdit.aspx?type=add&WorkPackageCode={0}", this.trWBS.SelectedNode.NodeID, "新增 - ")));
}
else
{
ShowNotify("不是末级,无法添加工作包!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("工程类型节点无法增加工作包!", MessageBoxIcon.Warning);
}
}
else
{
ShowNotify("请选择树节点!", MessageBoxIcon.Warning);
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
decimal weights = 0;
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
try
{
weights += Convert.ToDecimal(values.Value<string>("Weights"));
}
catch (Exception)
{
}
}
if (weights != 100)
{
Alert.ShowInTop("权重值不是100请调整后再保存", MessageBoxIcon.Warning);
return;
}
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
string controlItemCode = values.Value<string>("ControlItemCode");
Model.WBS_ControlItemProject controlItemProject = BLL.ControlItemProjectService.GetControlItemProjectByCode(controlItemCode, this.CurrUser.LoginProjectId);
controlItemProject.ControlPoint = values.Value<string>("ControlPoint");
try
{
controlItemProject.Weights = Convert.ToDecimal(values.Value<string>("Weights"));
}
catch (Exception)
{
controlItemProject.Weights = null;
}
controlItemProject.ControlItemDef = values.Value<string>("ControlItemDef");
controlItemProject.Standard = values.Value<string>("Standard");
controlItemProject.ClauseNo = values.Value<string>("ClauseNo");
try
{
controlItemProject.CheckNum = Convert.ToInt32(values.Value<string>("CheckNum"));
}
catch (Exception)
{
controlItemProject.CheckNum = null;
}
AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
string hGForms = string.Empty;
for (int j = 0; j < cblHGForms1.Items.Count; j++)
{
if (cblHGForms1.Items[j].Selected)
{
hGForms += cblHGForms1.Items[j].Text + ",";
}
}
if (!string.IsNullOrEmpty(hGForms))
{
hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
}
controlItemProject.HGForms = hGForms;
AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
string sHForms = string.Empty;
for (int j = 0; j < cblSHForms1.Items.Count; j++)
{
if (cblSHForms1.Items[j].Selected)
{
sHForms += cblSHForms1.Items[j].Text + ",";
}
}
if (!string.IsNullOrEmpty(sHForms))
{
sHForms = sHForms.Substring(0, sHForms.LastIndexOf(","));
}
controlItemProject.SHForms = sHForms;
BLL.ControlItemProjectService.UpdateControlItemProject(controlItemProject);
//更新项目定制内容
var controlItemAndCycles = from x in Funs.DB.WBS_ControlItemAndCycle where x.ProjectId == CurrUser.LoginProjectId && x.InitControlItemCode == controlItemProject.ControlItemCode select x;
if (controlItemAndCycles.Count() > 0)
{
foreach (var item in controlItemAndCycles)
{
item.ControlPoint = controlItemProject.ControlPoint;
item.Weights = controlItemProject.Weights;
item.ControlItemDef = controlItemProject.ControlItemDef;
item.Standard = controlItemProject.Standard;
item.ClauseNo = controlItemProject.ClauseNo;
item.CheckNum = controlItemProject.CheckNum;
item.HGForms = controlItemProject.HGForms;
item.SHForms = controlItemProject.SHForms;
}
}
}
ShowNotify("保存成功!", MessageBoxIcon.Success);
}
#region Grid双击事件
/// <summary>
/// Grid行双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
btnMenuModify_Click(null, null);
}
#endregion
#region
/// <summary>
/// 编辑按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuModify_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("ControlItemProjectEdit.aspx?type=modify&ControlItemCode={0}&WorkPackageCode={1}", this.Grid1.SelectedRowID, this.trWBS.SelectedNodeID, "新增 - ")));
}
#endregion
#region
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnMenuDel_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var controlItemAndCycle = Funs.DB.WBS_ControlItemAndCycle.FirstOrDefault(x => x.ProjectId == this.CurrUser.LoginProjectId && x.InitControlItemCode == Grid1.SelectedRowID);
if (controlItemAndCycle != null)
{
ShowNotify("WBS定制中已使用该数据无法删除", MessageBoxIcon.Warning);
}
else
{
BLL.ControlItemProjectService.DeleteControlItemProject(Grid1.SelectedRowID, this.CurrUser.LoginProjectId);
BLL.LogService.AddSys_Log(this.CurrUser, Grid1.SelectedRowID, Grid1.SelectedRowID, BLL.Const.ControlItemProjectSetMenuId, "删除工作包");
Grid1.DataBind();
BindGrid();
Alert.ShowInTop("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_FilterChange(object sender, EventArgs e)
{
BindGrid();
}
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <summary>
/// Grid1排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
/// <summary>
/// 分页下拉选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
/// <summary>
/// 加载Grid
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT ControlItemCode,WorkPackageCode,ControlItemContent,ControlPoint,ControlItemDef,Weights,HGForms,SHForms,Standard,ClauseNo,CheckNum"
+ @" FROM WBS_ControlItemProject ";
List<SqlParameter> listStr = new List<SqlParameter>();
strSql += " where WorkPackageCode = @WorkPackageCode and ProjectId=@ProjectId";
listStr.Add(new SqlParameter("@WorkPackageCode", this.trWBS.SelectedNodeID));
listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
if (workPackageProject != null)
{
if (workPackageProject.ProjectType == "1") //建筑工程
{
this.Grid1.Columns[4].HeaderText = "对应的建筑资料表格";
this.Grid1.Columns[5].Hidden = true;
this.lbHd.Width = System.Web.UI.WebControls.Unit.Pixel(480);
this.cbAllHGForms.Label = "全选对应的建筑资料表格";
this.cbAllHGForms.LabelWidth = System.Web.UI.WebControls.Unit.Pixel(175);
this.cbAllSHForms.Hidden = true;
}
else //安装工程
{
this.Grid1.Columns[4].HeaderText = "对应的化工资料表格";
this.Grid1.Columns[5].Hidden = false;
this.lbHd.Width = System.Web.UI.WebControls.Unit.Pixel(380);
this.cbAllHGForms.Label = "全选对应的化工资料表格";
this.cbAllHGForms.LabelWidth = System.Web.UI.WebControls.Unit.Pixel(175);
this.cbAllSHForms.Hidden = false;
}
}
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
Model.WBS_ControlItemInit c = BLL.ControlItemInitService.GetControlItemInitByCode(this.Grid1.Rows[i].RowID.ToString());
Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID.ToString(), this.CurrUser.LoginProjectId);
List<string> hGForms = new List<string>();
if (c != null && !string.IsNullOrEmpty(c.HGForms))
{
hGForms = c.HGForms.Split(',').ToList();
}
string[] phGForms = cp.HGForms.Split(',');
foreach (var item in phGForms) //项目工作包表格中增加的表格也要显示
{
hGForms.Add(item);
}
hGForms = hGForms.Distinct().ToList();
AspNet.CheckBoxList cblHGForms = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
cblHGForms.Items.Clear();
foreach (var hGForm in hGForms) //加载基础库的表格数据
{
if (!string.IsNullOrEmpty(hGForm))
{
AspNet.ListItem li = new AspNet.ListItem();
li.Text = hGForm;
li.Value = hGForm;
cblHGForms.Items.Add(li);
}
}
for (int j = 0; j < cblHGForms.Items.Count; j++)
{
if (cp.HGForms.Contains(cblHGForms.Items[j].Value)) //项目库中包含的表格选中
{
cblHGForms.Items[j].Selected = true;
}
}
List<string> sHForms = new List<string>();
if (c != null && !string.IsNullOrEmpty(c.SHForms))
{
sHForms = c.SHForms.Split(',').ToList();
}
string[] psHForms = cp.SHForms.Split(',');
foreach (var item in psHForms) //项目工作包表格中增加的表格也要显示
{
sHForms.Add(item);
}
sHForms = sHForms.Distinct().ToList();
AspNet.CheckBoxList cblSHForms = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
cblSHForms.Items.Clear();
foreach (var sHForm in sHForms) //加载基础库的表格数据
{
if (!string.IsNullOrEmpty(sHForm))
{
AspNet.ListItem li = new AspNet.ListItem();
li.Text = sHForm;
li.Value = sHForm;
cblSHForms.Items.Add(li);
}
}
for (int j = 0; j < cblSHForms.Items.Count; j++)
{
if (cp.SHForms.Contains(cblSHForms.Items[j].Value)) //项目库中包含的表格选中
{
cblSHForms.Items[j].Selected = true;
}
}
}
}
#endregion
#region Id定位到对应分部分项
/// <summary>
/// 根据所给Id定位到对应具体的工程类型、单位工程、子单位工程、分部、子分部、分项、子分项
/// </summary>
private void GetSelectTreeNode()
{
string projectType = string.Empty;
string workPackageCode1 = string.Empty;
string workPackageCode2 = string.Empty;
Model.WBS_WorkPackageProject workPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(this.hdSelectId.Text, this.CurrUser.LoginProjectId);
if (workPackageProject != null)
{
if (workPackageProject.SuperWorkPack == null) //选中第一级分部分项
{
projectType = workPackageProject.ProjectType;
}
else
{
Model.WBS_WorkPackageProject pWorkPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(workPackageProject.SuperWorkPack, this.CurrUser.LoginProjectId);
{
if (pWorkPackageProject.SuperWorkPack == null) //选中第二级分部分项
{
projectType = pWorkPackageProject.ProjectType;
workPackageCode1 = pWorkPackageProject.WorkPackageCode;
}
else
{
Model.WBS_WorkPackageProject ppWorkPackageProject = BLL.WorkPackageProjectService.GetWorkPackageProjectByWorkPackageCode(pWorkPackageProject.SuperWorkPack, this.CurrUser.LoginProjectId);
projectType = ppWorkPackageProject.ProjectType;
workPackageCode1 = ppWorkPackageProject.WorkPackageCode;
workPackageCode2 = pWorkPackageProject.WorkPackageCode;
}
}
}
}
InitTreeMenu();
for (int i = 0; i < trWBS.Nodes.Count; i++)
{
if (trWBS.Nodes[i].NodeID == projectType)
{
trWBS.Nodes[i].Expanded = true;
if (!string.IsNullOrEmpty(workPackageCode1))
{
for (int j = 0; j < trWBS.Nodes[i].Nodes.Count; j++)
{
if (trWBS.Nodes[i].Nodes[j].NodeID == workPackageCode1)
{
trWBS.Nodes[i].Nodes[j].Expanded = true;
if (!string.IsNullOrEmpty(workPackageCode2))
{
for (int k = 0; k < trWBS.Nodes[i].Nodes[j].Nodes.Count; k++)
{
if (trWBS.Nodes[i].Nodes[j].Nodes[k].NodeID == workPackageCode2)
{
trWBS.Nodes[i].Nodes[j].Nodes[k].Expanded = true;
}
}
}
}
}
}
}
}
this.trWBS.SelectedNodeID = this.hdSelectId.Text;
//BindGrid();
}
#endregion
#region
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
private void GetButtonPower()
{
if (Request.Params["value"] == "0")
{
return;
}
var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ControlItemProjectSetMenuId);
if (buttonList.Count() > 0)
{
if (buttonList.Contains(BLL.Const.BtnAdd))
{
this.btnNew.Hidden = false;
this.btnMenuAdd.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnModify))
{
this.btnMenuEdit.Hidden = false;
this.btnMenuModify.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnSave))
{
this.btnSave.Hidden = false;
this.btnRset.Hidden = false;
this.btnAllRset.Hidden = false;
}
if (buttonList.Contains(BLL.Const.BtnDelete))
{
this.btnMenuDelete.Hidden = false;
this.btnMenuDel.Hidden = false;
}
}
}
#endregion
#region
protected void cblHGForms_SelectedIndexChanged(object sender, EventArgs e)
{
AspNet.CheckBoxList cblHGForms = sender as AspNet.CheckBoxList;
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
if (cblHGForms1.ClientID == cblHGForms.ClientID)
{
Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.SelectedRowID, this.CurrUser.LoginProjectId);
string hGForms = string.Empty;
for (int j = 0; j < cblHGForms.Items.Count; j++)
{
if (cblHGForms.Items[j].Selected)
{
hGForms += cblHGForms.Items[j].Text + ",";
}
}
if (!string.IsNullOrEmpty(hGForms))
{
hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
}
cp.HGForms = hGForms;
BLL.ControlItemProjectService.UpdateControlItemProject(cp);
}
}
}
protected void cblSHForms_SelectedIndexChanged(object sender, EventArgs e)
{
AspNet.CheckBoxList cblSHForms = sender as AspNet.CheckBoxList;
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
if (cblSHForms1.ClientID == cblSHForms.ClientID)
{
Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.SelectedRowID, this.CurrUser.LoginProjectId);
if (cp != null)
{
string sHForms = string.Empty;
for (int j = 0; j < cblSHForms.Items.Count; j++)
{
if (cblSHForms.Items[j].Selected)
{
sHForms += cblSHForms.Items[j].Text + ",";
}
}
if (!string.IsNullOrEmpty(sHForms))
{
sHForms = sHForms.Substring(0, sHForms.LastIndexOf(","));
}
cp.SHForms = sHForms;
BLL.ControlItemProjectService.UpdateControlItemProject(cp);
}
}
}
}
#endregion
#region
/// <summary>
/// 第一级
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnLevel1_Click(object sender, EventArgs e)
{
this.trWBS.CollapseAllNodes();
for (int i = 0; i < trWBS.Nodes.Count; i++)
{
trWBS.Nodes[i].Expanded = true;
}
}
/// <summary>
/// 第二级
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnLevel2_Click(object sender, EventArgs e)
{
this.trWBS.CollapseAllNodes();
for (int i = 0; i < trWBS.Nodes.Count; i++)
{
trWBS.Nodes[i].Expanded = true;
for (int j = 0; j < trWBS.Nodes[i].Nodes.Count; j++)
{
trWBS.Nodes[i].Nodes[j].Expanded = true;
}
}
}
/// <summary>
/// 第三级
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnLevel3_Click(object sender, EventArgs e)
{
this.trWBS.CollapseAllNodes();
for (int i = 0; i < trWBS.Nodes.Count; i++)
{
trWBS.Nodes[i].Expanded = true;
for (int j = 0; j < trWBS.Nodes[i].Nodes.Count; j++)
{
trWBS.Nodes[i].Nodes[j].Expanded = true;
for (int k = 0; k < trWBS.Nodes[i].Nodes[j].Nodes.Count; k++)
{
trWBS.Nodes[i].Nodes[j].Nodes[k].Expanded = true;
}
}
}
}
#endregion
#region
protected void btnRset_Click(object sender, EventArgs e)
{
if (this.trWBS.SelectedNode != null && this.trWBS.SelectedNode.Nodes.Count == 0) //末级节点
{
//删除新增项
var q = BLL.ControlItemProjectService.GetItemsByWorkPackageCode(this.trWBS.SelectedNodeID, this.CurrUser.LoginProjectId);
foreach (var item in q)
{
Model.WBS_ControlItemInit init = BLL.ControlItemInitService.GetControlItemInitByCode(item.ControlItemCode);
if (init == null)
{
BLL.ControlItemProjectService.DeleteControlItemProject(item.ControlItemCode, this.CurrUser.LoginProjectId);
}
}
//恢复默认
var q2 = BLL.ControlItemInitService.GetItemsByWorkPackageCode(this.trWBS.SelectedNodeID);
foreach (var item in q2)
{
var cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(item.ControlItemCode, this.CurrUser.LoginProjectId);
if (cp != null)
{
cp.ControlItemContent = item.ControlItemContent;
cp.ControlPoint = item.ControlPoint;
cp.ControlItemDef = item.ControlItemDef;
cp.Weights = item.Weights;
cp.HGForms = item.HGForms;
cp.SHForms = item.SHForms;
cp.Standard = item.Standard;
cp.ClauseNo = item.ClauseNo;
cp.CheckNum = 1;
BLL.ControlItemProjectService.UpdateControlItemProject(cp);
}
else
{
Model.WBS_ControlItemProject controlItemProject = new Model.WBS_ControlItemProject();
controlItemProject.ControlItemCode = item.ControlItemCode;
controlItemProject.ProjectId = this.CurrUser.LoginProjectId;
controlItemProject.WorkPackageCode = item.WorkPackageCode;
controlItemProject.ControlItemContent = item.ControlItemContent;
controlItemProject.ControlPoint = item.ControlPoint;
controlItemProject.ControlItemDef = item.ControlItemDef;
controlItemProject.Weights = item.Weights;
controlItemProject.HGForms = item.HGForms;
controlItemProject.SHForms = item.SHForms;
controlItemProject.Standard = item.Standard;
controlItemProject.ClauseNo = item.ClauseNo;
controlItemProject.CheckNum = 1;
BLL.ControlItemProjectService.AddControlItemProject(controlItemProject);
}
}
ShowNotify("恢复默认成功!", MessageBoxIcon.Success);
BindGrid();
}
else
{
Alert.ShowInTop("请选择树节点的末级!", MessageBoxIcon.Warning);
}
}
protected void btnAllRset_Click(object sender, EventArgs e)
{
var controlItemProjects = from x in Funs.DB.WBS_ControlItemProject where x.ProjectId == this.CurrUser.LoginProjectId select x;
Funs.DB.WBS_ControlItemProject.DeleteAllOnSubmit(controlItemProjects);
var workPackageProjects = from x in Funs.DB.WBS_WorkPackageProject where x.ProjectId == this.CurrUser.LoginProjectId select x;
Funs.DB.WBS_WorkPackageProject.DeleteAllOnSubmit(workPackageProjects);
Funs.DB.SubmitChanges();
//拷贝项目WBS数据
var workPackageInits = from x in Funs.DB.WBS_WorkPackageInit select x;
foreach (var workPackageInit in workPackageInits)
{
Model.WBS_WorkPackageProject workPackageProject = new Model.WBS_WorkPackageProject();
workPackageProject.WorkPackageCode = workPackageInit.WorkPackageCode;
workPackageProject.ProjectId = this.CurrUser.LoginProjectId;
workPackageProject.ProjectType = workPackageInit.ProjectType;
workPackageProject.PackageContent = workPackageInit.PackageContent;
workPackageProject.SuperWorkPack = workPackageInit.SuperWorkPack;
workPackageProject.IsChild = workPackageInit.IsChild;
workPackageProject.PackageCode = workPackageInit.PackageCode;
workPackageProject.ProjectType = workPackageInit.ProjectType;
BLL.WorkPackageProjectService.AddWorkPackageProject(workPackageProject);
}
var controlItemInits = from x in Funs.DB.WBS_ControlItemInit select x;
foreach (var controlItemInit in controlItemInits)
{
Model.WBS_ControlItemProject controlItemProject = new Model.WBS_ControlItemProject();
controlItemProject.ControlItemCode = controlItemInit.ControlItemCode;
controlItemProject.ProjectId = this.CurrUser.LoginProjectId;
controlItemProject.WorkPackageCode = controlItemInit.WorkPackageCode;
controlItemProject.ControlItemContent = controlItemInit.ControlItemContent;
controlItemProject.ControlPoint = controlItemInit.ControlPoint;
controlItemProject.ControlItemDef = controlItemInit.ControlItemDef;
controlItemProject.Weights = controlItemInit.Weights;
controlItemProject.HGForms = controlItemInit.HGForms;
controlItemProject.SHForms = controlItemInit.SHForms;
controlItemProject.Standard = controlItemInit.Standard;
controlItemProject.ClauseNo = controlItemInit.ClauseNo;
controlItemProject.CheckNum = 1;
BLL.ControlItemProjectService.AddControlItemProject(controlItemProject);
}
ShowNotify("全部恢复默认成功!", MessageBoxIcon.Success);
InitTreeMenu();
//BindGrid();
}
#endregion
#region
protected void cbAllHGForms_CheckedChanged(object sender, CheckedEventArgs e)
{
CheckBox cblAllHGForms = sender as CheckBox;
BindGrid();
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
for (int j = 0; j < cblHGForms1.Items.Count; j++)
{
if (cblAllHGForms.Checked)
{
cblHGForms1.Items[j].Selected = true;
}
else
{
cblHGForms1.Items[j].Selected = false;
}
}
}
//CheckBox cblAllHGForms = sender as CheckBox;
//for (int i = 0; i < this.Grid1.Rows.Count; i++)
//{
// AspNet.CheckBoxList cblHGForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblHGForms"));
// Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
// string hGForms = string.Empty;
// for (int j = 0; j < cblHGForms1.Items.Count; j++)
// {
// if (cblAllHGForms.Checked)
// {
// hGForms += cblHGForms1.Items[j].Text + ",";
// }
// }
// if (!string.IsNullOrEmpty(hGForms))
// {
// hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
// }
// cp.HGForms = hGForms;
// BLL.ControlItemProjectService.UpdateControlItemProject(cp);
//}
//BindGrid();
}
#endregion
#region
protected void cbAllSHForms_CheckedChanged(object sender, CheckedEventArgs e)
{
CheckBox cblAllSHForms = sender as CheckBox;
BindGrid();
for (int i = 0; i < this.Grid1.Rows.Count; i++)
{
AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
for (int j = 0; j < cblSHForms1.Items.Count; j++)
{
if (cblAllSHForms.Checked)
{
cblSHForms1.Items[j].Selected = true;
}
else
{
cblSHForms1.Items[j].Selected = false;
}
}
}
//CheckBox cblAllSHForms = sender as CheckBox;
//for (int i = 0; i < this.Grid1.Rows.Count; i++)
//{
// AspNet.CheckBoxList cblSHForms1 = (AspNet.CheckBoxList)(this.Grid1.Rows[i].FindControl("cblSHForms"));
// Model.WBS_ControlItemProject cp = BLL.ControlItemProjectService.GetControlItemProjectByCode(this.Grid1.Rows[i].RowID, this.CurrUser.LoginProjectId);
// string hGForms = string.Empty;
// for (int j = 0; j < cblSHForms1.Items.Count; j++)
// {
// if (cblAllSHForms.Checked)
// {
// hGForms += cblSHForms1.Items[j].Text + ",";
// }
// }
// if (!string.IsNullOrEmpty(hGForms))
// {
// hGForms = hGForms.Substring(0, hGForms.LastIndexOf(","));
// }
// cp.SHForms = hGForms;
// BLL.ControlItemProjectService.UpdateControlItemProject(cp);
//}
//BindGrid();
}
#endregion
}
}