using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using BLL; namespace FineUIPro.Web.ZHGL.ServerCheck { public partial class CheckNotice : PageBase { #region 定义项 /// /// 监督检查主键 /// public string CheckInfoId { get { return (string)ViewState["CheckInfoId"]; } set { ViewState["CheckInfoId"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ////权限按钮方法 this.InitTreeMenu(); this.CheckInfoId = string.Empty; } } #endregion #region 加载树 /// /// 加载树 /// private void InitTreeMenu() { this.tvControlItem.Nodes.Clear(); this.tvControlItem.ShowBorder = false; this.tvControlItem.ShowHeader = false; this.tvControlItem.EnableIcons = true; this.tvControlItem.AutoScroll = true; this.tvControlItem.EnableSingleClickExpand = true; TreeNode rootNode = new TreeNode { Text = "检查方式-年月", NodeID = "0", Expanded = true }; this.tvControlItem.Nodes.Add(rootNode); var checkInfoLists = (from x in Funs.DB.Check_CheckInfo select x).ToList(); if (!string.IsNullOrEmpty(this.txtCheckStartTimeS.Text)) { checkInfoLists = checkInfoLists.Where(x => x.CheckStartTime >= Funs.GetNewDateTime(this.txtCheckStartTimeS.Text)).ToList(); } if (!string.IsNullOrEmpty(this.txtCheckEndTimeS.Text)) { checkInfoLists = checkInfoLists.Where(x => x.CheckEndTime <= Funs.GetNewDateTime(this.txtCheckEndTimeS.Text)).ToList(); } var checkTypeList = (from x in checkInfoLists select x.CheckTypeName).Distinct(); foreach (var item in checkTypeList) { TreeNode rootUnitNode = new TreeNode { Text = item, NodeID = item, Expanded = true, ToolTip = "检查方式" };//定义根节点 rootNode.Nodes.Add(rootUnitNode); var checkInfoList = (from x in checkInfoLists where x.CheckTypeName == item select x).ToList(); this.BindNodes(rootUnitNode, checkInfoList); } } #endregion #region 绑定树节点 /// /// 绑定树节点 /// /// private void BindNodes(TreeNode node, List checkInfoList) { if (node.ToolTip == "检查方式") { var pointListMonth = (from x in checkInfoList orderby x.CheckStartTime descending select string.Format("{0:yyyy-MM}", x.CheckStartTime)).Distinct(); foreach (var item in pointListMonth) { TreeNode newNode = new TreeNode { Text = item, NodeID = item + "|" + node.NodeID, ToolTip = "月份" }; node.Nodes.Add(newNode); this.BindNodes(newNode, checkInfoList); } } else if (node.ToolTip == "月份") { var dReports = from x in checkInfoList where string.Format("{0:yyyy-MM}", x.CheckStartTime) == node.Text orderby x.CheckStartTime descending select x; foreach (var item in dReports) { TreeNode newNode = new TreeNode(); var units = BLL.UnitService.GetUnitByUnitId(item.SubjectUnitId); if (units != null) { newNode.Text = (item.CheckStartTime.Value.Day).ToString().PadLeft(2, '0') + "日:" + units.UnitName; } else { newNode.Text = (item.CheckStartTime.Value.Day).ToString().PadLeft(2, '0') + "日:未知单位"; } newNode.NodeID = item.CheckInfoId; newNode.EnableClickEvent = true; node.Nodes.Add(newNode); } } } #endregion #region 点击TreeView /// /// 点击TreeView /// /// /// protected void tvControlItem_NodeCommand(object sender, TreeCommandEventArgs e) { this.CheckInfoId = this.tvControlItem.SelectedNodeID; this.txtCheckType.Text = this.tvControlItem.SelectedNode.ParentNode.ParentNode.Text; this.PageInfoLoad(); ///页面输入保存信息 this.BindGrid1(); this.BindGrid2(); } #endregion #region 加载页面输入保存信息 /// /// 加载页面输入保存信息 /// private void PageInfoLoad() { var checkInfo = Funs.DB.Check_CheckInfo.FirstOrDefault(x => x.CheckInfoId == this.CheckInfoId); if (checkInfo != null) { this.txtCheckStartTime.Text = string.Format("{0:yyyy-MM-dd}", checkInfo.CheckStartTime); this.txtCheckEndTime.Text = string.Format("{0:yyyy-MM-dd}", checkInfo.CheckEndTime); this.drpSubjectUnit.Text = BLL.UnitService.GetUnitNameByUnitId(checkInfo.SubjectUnitId); this.txtCheckType.Text = checkInfo.CheckTypeName; this.txtSubjectUnitMan.Text = checkInfo.SubjectUnitMan; this.txtSubjectUnitAdd.Text = checkInfo.SubjectUnitAdd; this.txtSubjectUnitTel.Text = checkInfo.SubjectUnitTel; this.txtSubjectObject.Text = checkInfo.SubjectObject; this.txtCheckTeamLeader.Text = checkInfo.CheckTeamLeader; this.txtCompileMan.Text = checkInfo.CompileMan; this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", checkInfo.CompileDate); } else { this.drpSubjectUnit.Text = string.Empty; this.txtSubjectObject.Text = string.Empty; this.txtSubjectUnitMan.Text = string.Empty; this.txtSubjectUnitTel.Text = string.Empty; this.txtSubjectUnitAdd.Text = string.Empty; this.txtCheckStartTime.Text = string.Empty; this.txtCheckEndTime.Text = string.Empty; this.txtCheckType.Text = string.Empty; this.txtCheckTeamLeader.Text = string.Empty; this.txtCompileMan.Text = string.Empty; this.txtCompileDate.Text = string.Empty; this.CheckInfoId = string.Empty; } } #endregion #region 数据绑定 /// /// 数据绑定 /// private void BindGrid1() { string strSql = @"SELECT CheckFileId,CheckInfoId,CheckFileName,SortIndex,Remark FROM dbo.Check_CheckInfo_CheckFile WHERE 1=1 "; List listStr = new List(); strSql += " AND CheckInfoId = @CheckInfoId"; listStr.Add(new SqlParameter("@CheckInfoId", this.CheckInfoId)); 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(); } /// /// 数据绑定 /// private void BindGrid2() { string strSql = @"SELECT CheckTeamId,CheckInfoId,UserName,Sex,UnitName,SortIndex,PostName,WorkTitle,CheckPostName,CheckDate FROM dbo.Check_CheckInfo_CheckTeam" + @" WHERE 1=1 "; List listStr = new List(); strSql += " AND CheckInfoId = @CheckInfoId"; listStr.Add(new SqlParameter("@CheckInfoId", this.CheckInfoId)); SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid2.RecordCount = tb.Rows.Count; //tb = GetFilteredTable(Grid2.FilteredData, tb); var table = this.GetPagedDataTable(Grid2, tb); Grid2.DataSource = table; Grid2.DataBind(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { BindGrid1(); } /// /// 排序 /// /// /// protected void Grid2_Sort(object sender, GridSortEventArgs e) { BindGrid2(); } #endregion #region 查看检查办法 /// /// 查看检查办法 /// /// /// protected void btnFind_Click(object sender, EventArgs e) { PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("CheckInfoTemplate.aspx"))); } #endregion #region 组面板 折叠展开事件 /// /// 组面板 折叠展开事件 /// /// /// protected void Gridl_Collapse(object sender, EventArgs e) { if (this.Grid1.Collapsed) { this.Grid2.Collapsed = false; } } /// /// 组面板 折叠展开事件 /// /// /// protected void Grid2_Collapse(object sender, EventArgs e) { if (this.Grid2.Collapsed) { this.Grid1.Collapsed = false; } } /// /// 组面板 折叠展开事件 /// /// /// protected void Gridl_Expand(object sender, EventArgs e) { if (this.Grid1.Expanded) { this.Grid2.Expanded = false; } } /// /// 组面板 折叠展开事件 /// /// /// protected void Grid2_Expand(object sender, EventArgs e) { if (this.Grid2.Expanded) { this.Grid1.Expanded = false; } } #endregion /// /// 查询 /// /// /// protected void Tree_TextChanged(object sender, EventArgs e) { this.InitTreeMenu(); this.BindGrid1(); this.BindGrid2(); } } }