ZHJA_HJGL/HJGL_ZH/FineUIPro.Web/common/BaseInfo/Project.aspx.cs

580 lines
22 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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("你确定要删除选中的&nbsp;<b><script>{0}</script></b>&nbsp;行数据吗?", 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
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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<SqlParameter> parms = new List<SqlParameter>();
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();
}
/// <summary>
/// 得到创建人
/// </summary>
/// <param name="bigType"></param>
/// <returns></returns>
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;
}
/// <summary>
/// 新增项目
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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, "新增项目")));
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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("您没有这个权限,请与管理员联系!");
// }
//}
/// <summary>
/// 判断是否可以删除
/// </summary>
/// <returns></returns>
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;
}
}
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
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();
}
/// <summary>
/// 项目计划
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 隐藏和显示的列
/// </summary>
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
}
}