using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace FineUIPro.Web.common.BaseInfo { public partial class Project : PageBase { protected void Page_Load(object sender, EventArgs e) { // 表头过滤 FilterDataRowItem = FilterDataRowItemImplement; if (!IsPostBack) { btnDelete.OnClientClick = Grid1.GetNoSelectionAlertReference("请至少选择一项!"); btnDelete.ConfirmText = String.Format("你确定要删除选中的  行数据吗?", Grid1.GetSelectedCountReference()); ///创建人 this.drpCreateMan.DataTextField = "UserName"; this.drpCreateMan.DataValueField = "UserId"; this.drpCreateMan.DataSource = BLL.Sys_UserService.GetUserList(); this.drpCreateMan.DataBind(); Funs.FineUIPleaseSelect(this.drpCreateMan); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 BindGrid(); } } #region BindGrid /// /// 查询 /// /// /// protected void TextBox_TextChanged(object sender, EventArgs e) { this.BindGrid(); } private void BindGrid() { //string strSql = "select *, cast((case when PowerIsExtracted =1 then '已抽取' else '未抽取' end) as nvarchar(10)) as PowerExtract from Base_Project order by ProjectCode"; string strSql = "select * from Base_Project where ProjectSoft=@ProjectSoft"; List parms = new List(); if (this.rblProjectSoft.SelectedValue == "1") { strSql += " AND IsClosed=@IsClosed"; if (this.rbIsClosed.SelectedValue == "0") { parms.Add(new SqlParameter("@IsClosed", false)); } else { parms.Add(new SqlParameter("@IsClosed", true)); } } parms.Add(new SqlParameter("@ProjectSoft", this.rblProjectSoft.SelectedValue)); if (this.drpCreateMan.SelectedValue != BLL.Const._Null) { strSql += " and CreateManId=@CreateManId"; parms.Add(new SqlParameter("@CreateManId", this.drpCreateMan.SelectedValue)); } strSql += " order by ProjectCode"; SqlParameter[] parameter = parms.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(); HiddleColumns(); } #region 表头过滤 protected void Grid1_FilterChange(object sender, EventArgs e) { BindGrid(); } private bool FilterDataRowItemImplement(object sourceObj, string fillteredOperator, object fillteredObj, string column) { bool valid = false; if (column == "ProjectName") { string sourceValue = sourceObj.ToString(); string fillteredValue = fillteredObj.ToString(); if (fillteredOperator == "equal") { if (sourceValue == fillteredValue) { valid = true; } } else if (fillteredOperator == "contain") { if (sourceValue.Contains(fillteredValue)) { valid = true; } } } else if (column == "StartDate") { if (!String.IsNullOrEmpty(sourceObj.ToString())) { DateTime sourceValue = Convert.ToDateTime(sourceObj); DateTime fillteredValue = Convert.ToDateTime(fillteredObj); if (fillteredOperator == "greater") { if (sourceValue > fillteredValue) { valid = true; } } else if (fillteredOperator == "less") { if (sourceValue < fillteredValue) { valid = true; } } else if (fillteredOperator == "equal") { if (sourceValue == fillteredValue) { valid = true; } } } } else if (column == "EndDate") { if (!String.IsNullOrEmpty(sourceObj.ToString())) { DateTime sourceValue = Convert.ToDateTime(sourceObj); DateTime fillteredValue = Convert.ToDateTime(fillteredObj); if (fillteredOperator == "greater") { if (sourceValue > fillteredValue) { valid = true; } } else if (fillteredOperator == "less") { if (sourceValue < fillteredValue) { valid = true; } } else if (fillteredOperator == "equal") { if (sourceValue == fillteredValue) { valid = true; } } } } return valid; } #endregion #endregion #region Events protected void Grid1_PreRowDataBound(object sender, GridPreRowEventArgs e) { // 如果绑定到 DataTable,那么这里的 DataItem 就是 DataRowView //DataRowView row = e.DataItem as DataRowView; //int rowId = Convert.ToInt32(row["Id"]); //LinkButtonField editField = Grid1.FindColumn("Edit") as LinkButtonField; //editField.OnClientClick = String.Format("showEditWindow('{0}');", rowId); } // 删除数据 protected void btnDelete_Click(object sender, EventArgs e) { if (GetButtonPower(BLL.Const.BtnDelete)) { if (Grid1.SelectedRowIndexArray.Length > 0) { foreach (int rowIndex in Grid1.SelectedRowIndexArray) { string rowID = Grid1.DataKeys[rowIndex][0].ToString(); if (judgementDelete(rowID)) { BLL.Base_ProjectService.DeleteProject(rowID); } } BindGrid(); BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除项目信息"); ShowNotify("删除数据成功!(表格数据已重新绑定)"); } } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) { string rowID = Grid1.DataKeys[e.RowIndex][0].ToString(); if (e.CommandName == "Delete") { if (GetButtonPower(BLL.Const.BtnDelete)) { if (judgementDelete(rowID)) { BLL.Base_ProjectService.DeleteProject(rowID); BindGrid(); BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "删除项目信息"); ShowNotify("删除数据成功!"); } else { ShowNotify("删除数据失败!(项目已有使用数据)"); } } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } } //public void TestProgress() //{ // int a = 0; // var rolePower = from x in Funs.DB.Sys_RolePower // join y in Funs.DB.Sys_Menu on x.MenuId equals y.MenuId // where (y.MenuModule == Const.System_3 || y.MenuModule == Const.System_5 || y.MenuModule == Const.System_3 // || y.MenuModule == Const.System_9 || y.MenuModule == Const.System_11) // select x; // var buttonPower = from x in Funs.DB.Sys_ButtonPower // join y in Funs.DB.Sys_Menu on x.MenuId equals y.MenuId // where (y.MenuModule == Const.System_3 || y.MenuModule == Const.System_5 || y.MenuModule == Const.System_3 // || y.MenuModule == Const.System_9 || y.MenuModule == Const.System_11) // select x; // // 增加项目上这个角色的权限 // if (rolePower.Count() > 0) // { // foreach (var roleItem in rolePower) // { // var proRolePower = Funs.DB.Project_RolePower.FirstOrDefault(x => x.ProjectId == ProjectId && x.RoleId == roleItem.RoleId && x.MenuId == roleItem.MenuId); // if (proRolePower == null) // { // Model.Project_RolePower newPower = new Model.Project_RolePower(); // newPower.RoleId = roleItem.RoleId; // newPower.ProjectId = ProjectId; // newPower.MenuId = roleItem.MenuId; // BLL.Project_RolePowerService.SaveProject_RolePower(newPower); // a++; // //this.ProgressBox1.Value = a; // } // } // } // foreach (var buttonItem in buttonPower) // { // // 增加项目上这个角色的按钮权限 // var proButtonPower = Funs.DB.Project_RoleButtonPower.FirstOrDefault(x => x.ProjectId == ProjectId && x.RoleId == buttonItem.RoleId // && x.MenuId == buttonItem.MenuId && x.ButtonToMenuId == buttonItem.ButtonToMenuId); // if (proButtonPower == null) // { // Model.Project_RoleButtonPower newRoleButtonPower = new Model.Project_RoleButtonPower(); // newRoleButtonPower.RoleId = buttonItem.RoleId; // newRoleButtonPower.ProjectId = ProjectId; // newRoleButtonPower.MenuId = buttonItem.MenuId; // newRoleButtonPower.ButtonToMenuId = buttonItem.ButtonToMenuId; // BLL.Project_RoleButtonPowerService.SaveProject_RoleButtonPower(newRoleButtonPower); // a++; // //this.ProgressBox1.Value = a; // } // } //} #endregion protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; 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(); } protected void Window1_Close(object sender, EventArgs e) { BindGrid(); } /// /// 得到创建人 /// /// /// protected string ConvertCreateMan(object CreateManId) { string createMan = string.Empty; if (CreateManId != null) { Model.Sys_User user = BLL.Sys_UserService.GetUsersByUserId(CreateManId.ToString()); if (user != null) { createMan = user.UserName; } } return createMan; } /// /// 新增项目 /// /// /// protected void btnNew_Click(object sender, EventArgs e) { var page = rblProjectSoft.SelectedValue == "1" ? "ProjectSave.aspx" : "ProjectYlrqSave.aspx"; PageContext.RegisterStartupScript(Window1.GetShowReference(string.Format("{0}?projectSoft={1}", page, rblProjectSoft.SelectedValue, "新增项目"))); } /// /// 编辑 /// /// /// protected void btnEdit_Click(object sender, EventArgs e) { if (GetButtonPower(BLL.Const.BtnModify)) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!"); return; } string projectId = Grid1.SelectedRowID; var page = rblProjectSoft.SelectedValue == "1" ? "ProjectSave.aspx" : "ProjectYlrqSave.aspx"; PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("{0}?projectSoft={1}&ProjectId={2}", page, rblProjectSoft.SelectedValue, projectId, "编辑 - "))); } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e) { btnEdit_Click(null, null); } //不用了 //protected void btnPowerExtract_Click(object sender, EventArgs e) //{ // if (GetButtonPower(BLL.Const.BtnSave)) // { // if (Grid1.SelectedRowIndexArray.Length == 0) // { // Alert.ShowInTop("请至少选择一条记录!"); // return; // } // foreach (int rowIndex in Grid1.SelectedRowIndexArray) // { // string projectId = Grid1.DataKeys[rowIndex][0].ToString(); // var pro = BLL.Base_ProjectService.GetProjectByProjectId(projectId); // if (pro.PowerIsExtracted == false || pro.PowerIsExtracted == null) // { // // 修改抽取标志 // Model.SGGLDB db = Funs.DB; // Model.Base_Project upPro = db.Base_Project.First(x => x.ProjectId == projectId); // upPro.PowerIsExtracted = true; // db.SubmitChanges(); // string strRolePower = @"insert into dbo.Project_RolePower select (select NEWID()),pow.RoleId,pow.MenuId,('" + projectId + "') from dbo.Sys_RolePower pow left join dbo.Sys_Menu menu on menu.MenuId=pow.MenuId where menu.MenuModule in('3','5','7','9','11')"; // string strButtonPower = @"insert into dbo.Project_RoleButtonPower select (select NEWID()),('" + projectId + "'),pow.RoleId,pow.MenuId, pow.ButtonToMenuId from dbo.Sys_ButtonPower pow left join dbo.Sys_Menu menu on menu.MenuId=pow.MenuId where menu.MenuModule in('3','5','7','9','11')"; // SQLHelper.ExecutSql(strRolePower); // SQLHelper.ExecutSql(strButtonPower); // BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "抽取项目的角色及按钮权限"); // } // else // { // // 重新抽取 // Model.SGGLDB db = Funs.DB; // var bt = from x in db.Project_RoleButtonPower where x.ProjectId == projectId select x; // if (bt.Count() > 0) // { // db.Project_RoleButtonPower.DeleteAllOnSubmit(bt); // } // var rolePower = from x in db.Project_RolePower where x.ProjectId == projectId select x; // if (rolePower.Count() > 0) // { // db.Project_RolePower.DeleteAllOnSubmit(rolePower); // } // string strRolePower = @"insert into dbo.Project_RolePower select (select NEWID()),pow.RoleId,pow.MenuId,('" + projectId + "') from dbo.Sys_RolePower pow left join dbo.Sys_Menu menu on menu.MenuId=pow.MenuId where menu.MenuModule in('3','5','7','9','11')"; // string strButtonPower = @"insert into dbo.Project_RoleButtonPower select (select NEWID()),('" + projectId + "'),pow.RoleId,pow.MenuId, pow.ButtonToMenuId from dbo.Sys_ButtonPower pow left join dbo.Sys_Menu menu on menu.MenuId=pow.MenuId where menu.MenuModule in('3','5','7','9','11')"; // SQLHelper.ExecutSql(strRolePower); // SQLHelper.ExecutSql(strButtonPower); // BLL.Sys_LogService.AddLog(BLL.Const.System_1, this.CurrUser.LoginProjectId, this.CurrUser.UserId, "重新抽取项目的角色及按钮权限"); // } // } // Alert.ShowInTop("抽取项目的角色及按钮权限成功!"); // } // else // { // ShowNotify("您没有这个权限,请与管理员联系!"); // } //} /// /// 判断是否可以删除 /// /// private bool judgementDelete(string projectId) { string content = ""; if ((from x in BLL.Funs.DB.HJGL_PW_IsoInfo where x.ProjectId == projectId select x).Count() > 0) { content = "管线中已经使用了该项目,不能删除!"; } if (BLL.Common_NoticeService.GetNoticeByProjectId(projectId).Count() > 0) { content = "管理通知中已经使用了该项目,不能删除!"; } if (content == "") { return true; } else { ShowNotify(content); return false; } } /// /// 获取按钮权限 /// /// /// private bool GetButtonPower(string button) { return BLL.CommonService.GetAllButtonPowerList(this.CurrUser.LoginProjectId, this.CurrUser.UserId, BLL.Const.ProjectMenuId, button); } protected void rbIsClosed_SelectedIndexChanged(object sender, EventArgs e) { BindGrid(); HiddleColumns(); } /// /// 项目计划 /// /// /// protected void btnProjectPlan_Click(object sender, EventArgs e) { if (GetButtonPower(BLL.Const.BtnSave)) { if (Grid1.SelectedRowIndexArray.Length == 0) { Alert.ShowInTop("请至少选择一条记录!"); return; } string projectId = Grid1.SelectedRowID; PageContext.RegisterStartupScript(Window3.GetShowReference(String.Format("ProjectPlan.aspx?ProjectId={0}", projectId, "编辑 - "))); } else { ShowNotify("您没有这个权限,请与管理员联系!"); } } #region 私有方法 /// /// 隐藏和显示的列 /// private void HiddleColumns() { //选择压力容器时,隐藏检测工程编号 if (this.rblProjectSoft.SelectedValue == "2") { this.Grid1.Columns[3].Hidden = true; this.Grid1.Columns[4].Hidden = true; this.Grid1.Columns[5].Hidden = false; this.Grid1.Columns[6].Hidden = false; this.Grid1.Columns[7].Hidden = false; this.Grid1.Columns[8].Hidden = false; this.Grid1.Columns[9].Hidden = false; this.Grid1.Columns[12].Hidden = true; this.Grid1.Columns[13].Hidden = true; this.Grid1.Columns[14].Hidden = true; this.Grid1.Columns[17].Hidden = true; this.Grid1.Columns[18].Hidden = true; this.Grid1.Columns[21].Hidden = false; //this.btnProjectPlan.Hidden = false; } else { this.Grid1.Columns[3].Hidden = false; this.Grid1.Columns[4].Hidden = false; this.Grid1.Columns[5].Hidden = true; this.Grid1.Columns[6].Hidden = true; this.Grid1.Columns[7].Hidden = true; this.Grid1.Columns[8].Hidden = true; this.Grid1.Columns[9].Hidden = true; this.Grid1.Columns[12].Hidden = false; this.Grid1.Columns[13].Hidden = false; this.Grid1.Columns[14].Hidden = false; this.Grid1.Columns[17].Hidden = false; this.Grid1.Columns[18].Hidden = false; this.Grid1.Columns[21].Hidden = true; //this.btnProjectPlan.Hidden = true; } } #endregion } }