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

580 lines
22 KiB
C#
Raw Normal View History

2024-05-08 17:17:11 +08:00
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
}
}