using BLL; using System; namespace FineUIPro.Web.TestRun.Meeting { public partial class ScheduleMeetingEdit : PageBase { #region 加载 /// /// 页面加载 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BLL.UserService.InitUserDropDownList(this.drpCompileMan, this.CurrUser.LoginProjectId, true); string id = Request.Params["id"]; if (!string.IsNullOrEmpty(id)) { Model.Driver_Meeting data = BLL.MeetingService.GetMeetingById(id); if (data != null) { this.hdId.Text = id; this.txtMeetingCode.Text = data.MeetingCode; this.txtMeetingDate.Text = data.MeetingDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.MeetingDate) : ""; this.txtMeetingAddress.Text = data.MeetingAddress; this.txtMeetingUrl.Text = data.AttachUrl; if (!string.IsNullOrEmpty(data.CompileMan)) { this.drpCompileMan.SelectedValue = data.CompileMan; } this.txtCompileDate.Text = data.CompileDate.HasValue ? string.Format("{0:yyyy-MM-dd}", data.CompileDate) : ""; } } else { this.txtMeetingDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); this.drpCompileMan.SelectedValue = this.CurrUser.LoginProjectId; this.txtCompileDate.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now); string perfix = BLL.ProjectService.GetProjectCodeByProjectId(this.CurrUser.LoginProjectId) + "-MM-PSM-"; this.txtMeetingCode.Text = BLL.SQLHelper.RunProcNewId("SpGetThreeNumber", "dbo.Driver_Meeting", "MeetingCode", this.CurrUser.LoginProjectId, perfix); } ///初始化审核菜单 this.ctlAuditFlow.MenuId = BLL.Const.ScheduleMeetingMenuId; this.ctlAuditFlow.DataId = id; this.ctlAuditFlow.ProjectId = this.CurrUser.LoginProjectId; this.ctlAuditFlow.UnitId = this.CurrUser.UnitId; InitMenuTree(); } } #endregion #region 附件上传 /// /// 会议纪要 /// /// /// protected void btnAttach_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录 { this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting)); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=1", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId))); } /// /// 签到表 /// /// /// protected void btnSign_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.hdId.Text)) //新增记录 { this.hdId.Text = SQLHelper.GetNewID(typeof(Model.Driver_Meeting)); } PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=0&toKeyId={0}&path=FileUpload/TestRun/Meeting/ScheduleMeeting&menuId={1}&strParam=2", this.hdId.Text, BLL.Const.ScheduleMeetingMenuId))); } #endregion #region 保存 /// /// 保存按钮 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { SaveData(BLL.Const.BtnSave); ShowNotify("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } /// /// 提交按钮 /// /// /// protected void btnSubmit_Click(object sender, EventArgs e) { if (this.ctlAuditFlow.NextStep == BLL.Const.State_1 && this.ctlAuditFlow.NextPerson == BLL.Const._Null) { ShowNotify("请选择下一步办理人!", MessageBoxIcon.Warning); return; } SaveData(BLL.Const.BtnSubmit); ShowNotify("提交成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } /// /// 保存数据 /// /// private void SaveData(string type) { string id = Request.Params["id"]; Model.Driver_Meeting newData = new Model.Driver_Meeting(); newData.MeetingCode = this.txtMeetingCode.Text.Trim(); newData.MeetingDate = Funs.GetNewDateTime(this.txtMeetingDate.Text.Trim()); newData.MeetingAddress = this.txtMeetingAddress.Text.Trim(); newData.AttachUrl = this.txtMeetingUrl.Text.Trim(); if (this.drpCompileMan.SelectedValue != BLL.Const._Null) { newData.CompileMan = this.drpCompileMan.SelectedValue; } newData.CompileDate = Funs.GetNewDateTime(this.txtCompileDate.Text.Trim()); newData.ProjectId = this.CurrUser.LoginProjectId; ////单据状态 newData.States = BLL.Const.State_0; if (type == BLL.Const.BtnSubmit) { newData.States = this.ctlAuditFlow.NextStep; } if (!string.IsNullOrEmpty(id)) { newData.MeetingId = id; BLL.MeetingService.UpdateMeeting(newData); } else { newData.MeetingType = "1"; if (!string.IsNullOrEmpty(this.hdId.Text)) { newData.MeetingId = this.hdId.Text.Trim(); } else { newData.MeetingId = SQLHelper.GetNewID(typeof(Model.Driver_Meeting)); this.hdId.Text = newData.MeetingId; } BLL.MeetingService.AddMeeting(newData); } #region 保存参会人员 BLL.MeetingItemService.DeleteMeetingItemByMeetingId(this.hdId.Text); TreeNode[] nodes = this.tvAttendMeetingsPerson.GetCheckedNodes(); if (nodes.Length > 0) { foreach (TreeNode tn in nodes) { if (tn.NodeID != "0") { Model.Driver_MeetingItem newItem = new Model.Driver_MeetingItem { MeetingItemId = SQLHelper.GetNewID(typeof(Model.Driver_MeetingItem)), MeetingId = this.hdId.Text, UserId = tn.NodeID, }; BLL.MeetingItemService.AddMeetingItem(newItem); } } } #endregion ////保存流程审核数据 this.ctlAuditFlow.btnSaveData(this.CurrUser.LoginProjectId, BLL.Const.ScheduleMeetingMenuId, this.hdId.Text, (type == BLL.Const.BtnSubmit ? true : false), newData.MeetingCode, null); } #endregion #region 初始化树 /// /// 初始化树 /// /// 单位集合 private void InitMenuTree() { this.tvAttendMeetingsPerson.Nodes.Clear(); var units = BLL.UnitService.GetUnitByProjectIdList(this.CurrUser.LoginProjectId); foreach (var item in units) { TreeNode rootNode = new TreeNode { Text = item.UnitName, NodeID = item.UnitId, EnableCheckBox = true, EnableCheckEvent = true, Expanded = true }; this.tvAttendMeetingsPerson.Nodes.Add(rootNode); this.BoundTree(rootNode.Nodes, rootNode.NodeID); } } /// /// 遍历增加子节点 /// /// /// private void BoundTree(TreeNodeCollection nodes, string superMenuId) { var menus = BLL.UserService.GetUserByUnitId(this.CurrUser.LoginProjectId, superMenuId); foreach (var item in menus) { TreeNode chidNode = new TreeNode { Text = item.Text, NodeID = item.Value, EnableCheckBox = true, EnableCheckEvent = true }; var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(this.hdId.Text.Trim()); if (items.Count > 0) { foreach (var i in items) { if (i.UserId == item.Value) { chidNode.Checked = true; chidNode.Expanded = true; chidNode.Selectable = true; var meeting = BLL.MeetingService.GetMeetingById(this.hdId.Text.Trim()); if (meeting != null) { if (meeting.States == "2") { if (i.IsMeeting == true) { chidNode.Text = item.Text + "(可按时参加)"; } else if (i.IsMeeting == false) { chidNode.Text = item.Text + "(因故不参加:" + i.Feedback + ")"; } else { chidNode.Text = item.Text + "(暂未反馈)"; } } } } } } nodes.Add(chidNode); } } #endregion #region 全选、全不选 /// /// 全选、全不选 /// /// /// protected void tvAttendMeetingsPerson_NodeCheck(object sender, FineUIPro.TreeCheckEventArgs e) { if (e.Checked) { this.tvAttendMeetingsPerson.CheckAllNodes(e.Node.Nodes); SetCheckParentNode(e.Node); } else { this.tvAttendMeetingsPerson.UncheckAllNodes(e.Node.Nodes); } } /// /// 选中父节点 /// /// private void SetCheckParentNode(TreeNode node) { if (node.ParentNode != null && node.ParentNode.NodeID != "0") { node.ParentNode.Checked = true; if (node.ParentNode.ParentNode.NodeID != "0") { SetCheckParentNode(node.ParentNode); } } } #endregion } }