353 lines
13 KiB
C#
353 lines
13 KiB
C#
using BLL;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace FineUIPro.Web.HSSE.Hazard
|
|
{
|
|
public partial class SetToolTipTime : PageBase
|
|
{
|
|
#region 定义项
|
|
/// <summary>
|
|
/// 清单主键
|
|
/// </summary>
|
|
public string HazardListId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["HazardListId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["HazardListId"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 检查项目内容ID
|
|
/// </summary>
|
|
public string HazardSortCode
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["HazardSortCode"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["HazardSortCode"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 类型
|
|
/// </summary>
|
|
public string Type
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["Type"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["Type"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 类别集合
|
|
/// </summary>
|
|
private static List<Model.Technique_HazardListType> hazardSorts = new List<Model.Technique_HazardListType>();
|
|
|
|
/// <summary>
|
|
/// 危险源集合
|
|
/// </summary>
|
|
public List<Model.Hazard_HazardSelectedItem> hazardSelectedItems = new List<Model.Hazard_HazardSelectedItem>();
|
|
|
|
#endregion
|
|
|
|
#region 加载页面
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.HazardListId = Request.Params["HazardListId"];
|
|
this.Type = Request.Params["type"];
|
|
hazardSorts.Clear();
|
|
|
|
|
|
if (!string.IsNullOrEmpty(this.HazardListId))
|
|
{
|
|
List<Model.Hazard_HazardSelectedItem> hazardSelectedItems = BLL.Hazard_HazardSelectedItemService.GetHazardSelectedItemsByHazardListId(this.HazardListId);
|
|
HazardSortSetDataBind();
|
|
Grid1.DataSource = hazardSelectedItems;
|
|
Grid1.DataBind();
|
|
|
|
for (int i = 0; i < this.Grid1.Rows.Count; i++)
|
|
{
|
|
|
|
System.Web.UI.WebControls.Label hdWorkStage = (System.Web.UI.WebControls.Label)(this.Grid1.Rows[i].FindControl("hdWorkStage"));
|
|
System.Web.UI.WebControls.DropDownList drpPromptTime = (System.Web.UI.WebControls.DropDownList)(this.Grid1.Rows[i].FindControl("drpPromptTime"));
|
|
|
|
var q = BLL.Hazard_HazardSelectedItemService.GetHazardSelectedItemByHazardId(this.Grid1.Rows[i].DataKeys[0].ToString(), this.HazardListId, hdWorkStage.Text);
|
|
if (q != null)
|
|
{
|
|
if (q.PromptTime != null)
|
|
{
|
|
((System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("ckbHazard"))).Checked = true;
|
|
drpPromptTime.SelectedValue = q.PromptTime.ToString();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 加载树
|
|
/// <summary>
|
|
/// 绑定树节点
|
|
/// </summary>
|
|
private void HazardSortSetDataBind()
|
|
{
|
|
this.tvHazardTemplate.Nodes.Clear();
|
|
|
|
TreeNode rootNode = new TreeNode
|
|
{
|
|
Text = "危险源辨识与评价清单",
|
|
NodeID = "0"
|
|
};//定义根节点
|
|
|
|
this.tvHazardTemplate.Nodes.Add(rootNode);
|
|
|
|
var q = (from x in Funs.DB.Hazard_HazardSelectedItem where x.HazardListId == HazardListId select x.WorkStage).Distinct();
|
|
foreach (string work in q)
|
|
{
|
|
hazardSorts.Clear();
|
|
TreeNode workStageTree = new TreeNode();
|
|
var workStageName = BLL.WorkStageService.GetWorkStageById(work);
|
|
if (workStageName != null)
|
|
{
|
|
workStageTree.Text = workStageName.WorkStageName;
|
|
workStageTree.NodeID = workStageName.WorkStageId;
|
|
rootNode.Nodes.Add(workStageTree);
|
|
}
|
|
|
|
List<Model.Hazard_HazardSelectedItem> hazardSelecteds = BLL.Hazard_HazardSelectedItemService.GetHazardSelectedItemsByHazardListIdAndWorkStage(HazardListId, work);
|
|
foreach (Model.Hazard_HazardSelectedItem hazardSelectedItem in hazardSelecteds)
|
|
{
|
|
AddHazardSortSet(hazardSelectedItem.HazardListTypeId);
|
|
}
|
|
this.GetNodes(workStageTree.Nodes, null);
|
|
}
|
|
|
|
this.tvHazardTemplate.ExpandAllNodes();
|
|
}
|
|
#endregion
|
|
|
|
#region 遍历节点方法
|
|
/// <summary>
|
|
/// 遍历节点方法
|
|
/// </summary>
|
|
/// <param name="nodes">节点集合</param>
|
|
/// <param name="parentId">父节点</param>
|
|
private void GetNodes(TreeNodeCollection nodes, string parentId)
|
|
{
|
|
List<Model.Technique_HazardListType> newHazardSorts = new List<Model.Technique_HazardListType>();
|
|
if (parentId == null)
|
|
{
|
|
foreach (Model.Technique_HazardListType hazardSort in hazardSorts)
|
|
{
|
|
if (hazardSort.SupHazardListTypeId == "0")
|
|
{
|
|
newHazardSorts.Add(hazardSort);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (Model.Technique_HazardListType hazardSort in hazardSorts)
|
|
{
|
|
if (hazardSort.SupHazardListTypeId == parentId)
|
|
{
|
|
newHazardSorts.Add(hazardSort);
|
|
}
|
|
}
|
|
}
|
|
foreach (var q in newHazardSorts)
|
|
{
|
|
TreeNode newNode = new TreeNode
|
|
{
|
|
Text = q.HazardListTypeName + "-" + q.HazardListTypeCode,
|
|
NodeID = q.HazardListTypeId
|
|
};
|
|
nodes.Add(newNode);
|
|
}
|
|
for (int i = 0; i < nodes.Count; i++)
|
|
{
|
|
GetNodes(nodes[i].Nodes, nodes[i].NodeID);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 添加节点
|
|
/// <summary>
|
|
/// 添加节点
|
|
/// </summary>
|
|
/// <param name="hazardSortCode"></param>
|
|
private void AddHazardSortSet(string hazardListTypeId)
|
|
{
|
|
if (hazardListTypeId != "0")
|
|
{
|
|
Model.Technique_HazardListType hazardSortSet = BLL.HazardListTypeService.GetHazardListTypeById(hazardListTypeId);
|
|
if (!hazardSorts.Contains(hazardSortSet))
|
|
{
|
|
hazardSorts.Add(hazardSortSet);
|
|
}
|
|
AddHazardSortSet(hazardSortSet.SupHazardListTypeId);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 节点选中事件
|
|
/// <summary>
|
|
/// 节点选中事件
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void tvHazardTemplate_NodeCommand(object sender, TreeCommandEventArgs e)
|
|
{
|
|
hazardSelectedItems.Clear();
|
|
HazardSortCode = this.tvHazardTemplate.SelectedNode.NodeID;
|
|
|
|
var hazardList = BLL.Hazard_HazardListService.GetHazardList(this.HazardListId);
|
|
if (hazardList != null)
|
|
{
|
|
string workStage = hazardList.WorkStage;
|
|
|
|
Model.Technique_HazardListType hazardSort = BLL.HazardListTypeService.GetHazardListTypeById(HazardSortCode);
|
|
|
|
if (hazardSort != null)
|
|
{
|
|
if (Convert.ToBoolean(hazardSort.IsEndLevel))
|
|
{
|
|
this.Grid1.DataSource = BLL.Hazard_HazardSelectedItemService.getHazardSelectedItemByHazardListTypeId(HazardSortCode, HazardListId, workStage);
|
|
this.Grid1.DataBind();
|
|
}
|
|
else
|
|
{
|
|
GetTvHazardTemplateChecked(this.tvHazardTemplate.SelectedNode.Nodes, workStage);
|
|
this.Grid1.DataSource = hazardSelectedItems;
|
|
this.Grid1.DataBind();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 遍历选中节点
|
|
/// <summary>
|
|
/// 遍历选中的节点
|
|
/// </summary>
|
|
/// <param name="nodes"></param>
|
|
private void GetTvHazardTemplateChecked(TreeNodeCollection nodes, string workStage)
|
|
{
|
|
foreach (TreeNode tnHazardTemplate in nodes)
|
|
{
|
|
if (tnHazardTemplate.NodeID != "0")
|
|
{
|
|
Model.Technique_HazardListType hazardSortSet = (from x in Funs.DB.Technique_HazardListType where x.HazardListTypeId == tnHazardTemplate.NodeID orderby x.HazardListTypeCode select x).FirstOrDefault();
|
|
if (hazardSortSet != null)
|
|
{
|
|
if (Convert.ToBoolean(hazardSortSet.IsEndLevel))
|
|
{
|
|
hazardSelectedItems.AddRange(BLL.Hazard_HazardSelectedItemService.GetHazardSelectedItemBySortAndListIdAndWorkStage(tnHazardTemplate.NodeID.Trim(), HazardListId, workStage));
|
|
}
|
|
else
|
|
{
|
|
GetTvHazardTemplateChecked(tnHazardTemplate.Nodes, workStage);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
GetTvHazardTemplateChecked(tnHazardTemplate.Nodes, workStage);
|
|
}
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 格式化字符串
|
|
/// <summary>
|
|
/// 获取工作阶段
|
|
/// </summary>
|
|
/// <param name="WorkStage"></param>
|
|
/// <returns></returns>
|
|
protected string ConvertWorkStage(object WorkStage)
|
|
{
|
|
string name = string.Empty;
|
|
if (WorkStage != null)
|
|
{
|
|
string workStage = WorkStage.ToString().Trim();
|
|
Model.Base_WorkStage c = BLL.WorkStageService.GetWorkStageById(workStage);
|
|
if (c != null)
|
|
{
|
|
name = c.WorkStageName;
|
|
}
|
|
}
|
|
return name;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取危险源编号
|
|
/// </summary>
|
|
/// <param name="WorkStage"></param>
|
|
/// <returns></returns>
|
|
protected string ConvertHazardCode(object HazardId)
|
|
{
|
|
string hazardCode = string.Empty;
|
|
if (HazardId != null)
|
|
{
|
|
Model.Technique_HazardList hazardList = BLL.HazardListService.GetHazardListById(HazardId.ToString());
|
|
if (hazardList != null)
|
|
{
|
|
hazardCode = hazardList.HazardCode;
|
|
}
|
|
}
|
|
return hazardCode;
|
|
}
|
|
#endregion
|
|
|
|
#region 保存按钮
|
|
/// <summary>
|
|
/// 保存
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
for (int i = 0; i < Grid1.Rows.Count; i++)
|
|
{
|
|
System.Web.UI.WebControls.CheckBox ckbHazard = (System.Web.UI.WebControls.CheckBox)(this.Grid1.Rows[i].FindControl("ckbHazard"));
|
|
System.Web.UI.WebControls.Label hdWorkStage = (System.Web.UI.WebControls.Label)(this.Grid1.Rows[i].FindControl("hdWorkStage"));
|
|
System.Web.UI.WebControls.DropDownList drpPromptTime = (System.Web.UI.WebControls.DropDownList)(this.Grid1.Rows[i].FindControl("drpPromptTime"));
|
|
if (ckbHazard.Checked)
|
|
{
|
|
var hazardSelectedItem = BLL.Hazard_HazardSelectedItemService.GetHazardSelectedItemByHazardId(this.Grid1.Rows[i].DataKeys[0].ToString(), HazardListId, hdWorkStage.Text);
|
|
if (hazardSelectedItem != null)
|
|
{
|
|
hazardSelectedItem.PromptTime = Convert.ToInt32(drpPromptTime.SelectedValue.Trim());
|
|
BLL.Hazard_HazardSelectedItemService.UpdateHazardSelectedItem(hazardSelectedItem);
|
|
}
|
|
}
|
|
|
|
}
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
|
|
}
|
|
#endregion
|
|
}
|
|
} |