using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; namespace FineUIPro.Web.TestRun.Meeting { public partial class WeekMeeting :PageBase { #region 加载 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetButtonPower(); BindGrid(); btnNew.OnClientClick = Window1.GetShowReference("WeekMeetingEdit.aspx") + "return false;"; } } #endregion #region 数据绑定 //加载列表 public void BindGrid() { string strSql = @"SELECT meeting.MeetingId, meeting.ProjectId, meeting.UnitWorkId, meeting.MeetingTake, meeting.MeetingUnit, meeting.MeetingDate, meeting.MeetingAddress, meeting.MeetingContent, meeting.Number, meeting.MeetingType, meeting.Remark, meeting.MeetingCode, meeting.CompileMan, u.UserName as CompileManName, meeting.CompileDate," + @" (CASE WHEN meeting.States = " + BLL.Const.State_0 + " OR meeting.States IS NULL THEN '待['+OperateUser.UserName+']提交' WHEN meeting.States = " + BLL.Const.State_2 + " THEN '审核/审批完成' ELSE '待['+OperateUser.UserName+']办理' END) AS FlowOperateName" + @" FROM Driver_Meeting AS meeting " + @" LEFT JOIN Sys_FlowOperate AS FlowOperate ON meeting.MeetingId=FlowOperate.DataId AND FlowOperate.IsClosed <> 1" + @" LEFT JOIN Sys_User AS OperateUser ON FlowOperate.OperaterId=OperateUser.UserId" + @" LEFT JOIN Sys_User as u on u.UserId = meeting.CompileMan" + @" WHERE meeting.ProjectId=@projectId AND meeting.MeetingType='2'"; List listStr = new List(); listStr.Add(new SqlParameter("@projectId", this.CurrUser.LoginProjectId)); if (!string.IsNullOrEmpty(this.txtCode.Text.Trim())) { strSql += " AND meeting.MeetingCode LIKE @meetingCode"; listStr.Add(new SqlParameter("@meetingCode", "%" + this.txtCode.Text.Trim() + "%")); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); Grid1.RecordCount = tb.Rows.Count; var table = this.GetPagedDataTable(Grid1, tb); Grid1.DataSource = table; Grid1.DataBind(); } #endregion #region 分页 /// /// 分页索引事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { BindGrid(); } /// /// 分页下拉框事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 搜索 //搜索按钮事件 protected void btnSearch_Click(object sender, EventArgs e) { BindGrid(); } #endregion #region 关闭弹出窗口 /// /// 关闭弹出窗口 /// /// /// protected void Window1_Close(object sender, WindowCloseEventArgs e) { BindGrid(); } #endregion #region 编辑 protected void btnMenuModify_Click(object sender, EventArgs e) { EditData(); } /// /// Grid行双击事件 /// /// /// protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { EditData(); } /// /// 编辑 /// private void EditData() { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } var user = (from x in Funs.DB.Sys_FlowOperate where x.DataId == Grid1.SelectedRowID && x.MenuId == BLL.Const.WeekMeetingMenuId && x.IsClosed == false orderby x.SortIndex descending select x).FirstOrDefault(); if (user != null) { if (user.OperaterId == this.CurrUser.UserId) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingEdit.aspx?id={0}", Grid1.SelectedRowID, "编辑 - "))); } else { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - "))); } } else { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("WeekMeetingView.aspx?id={0}", Grid1.SelectedRowID, "编辑 - "))); } } #endregion #region 删除 protected void btnMenuDel_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); var info = BLL.MeetingService.GetMeetingById(rowID); if (info != null) { BLL.MeetingItemService.DeleteMeetingItemByMeetingId(rowID); BLL.MeetingService.DeleteMeeting(rowID); } } BindGrid(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #region Grid行点击事件 /// /// Grid行点击事件 /// /// /// protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string id = Grid1.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "AttachUrl") { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=1", id, BLL.Const.WeekMeetingMenuId))); } if (e.CommandName == "SignUrl") { PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("../../AttachFile/webuploader.aspx?type=-1&toKeyId={0}&path=FileUpload/TestRun/Meeting/WeekMeeting&menuId={1}&strParam=2", id, BLL.Const.WeekMeetingMenuId))); } } #endregion #region 权限设置 /// /// 权限设置 /// private void GetButtonPower() { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.WeekMeetingMenuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnAdd)) { this.btnNew.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnModify)) { this.btnMenuModify.Hidden = false; this.Grid1.EnableRowDoubleClickEvent = true; } if (buttonList.Contains(BLL.Const.BtnDelete)) { this.btnMenuDel.Hidden = false; } } } #endregion #region 格式化字符串 /// /// 获取通知人员姓名 /// /// /// protected string ConvertUserName(object meetingId) { string userName = string.Empty; var meetingItem = BLL.MeetingItemService.GetMeetingItemByMeetingId(meetingId.ToString()); if (meetingItem.Count > 0) { foreach (var item in meetingItem) { userName += BLL.UserService.GetUserNameByUserId(item.UserId) + ","; } if (!string.IsNullOrEmpty(userName)) { userName = userName.Substring(0, userName.LastIndexOf(',')); } } return userName; } #endregion #region 通知反馈 /// /// 反馈 /// /// /// protected void btnMenuFeek_Click(object sender, EventArgs e) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录", MessageBoxIcon.Warning); return; } var meeting = BLL.MeetingService.GetMeetingById(Grid1.SelectedRowID); if (meeting.States == "2") { var items = BLL.MeetingItemService.GetMeetingItemByMeetingId(Grid1.SelectedRowID); if (items.Count > 0) { var user = items.Where(x => x.UserId == this.CurrUser.UserId); if (user.Count() > 0) { PageContext.RegisterStartupScript(Window2.GetShowReference(String.Format("Feedback.aspx?id={0}", Grid1.SelectedRowID, "编辑 - "))); } else { Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("未参与此会议,无需反馈!", MessageBoxIcon.Warning); return; } } else { Alert.ShowInTop("审核未完成,无需反馈!", MessageBoxIcon.Warning); return; } } #endregion } }