CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/WorkBench.aspx.cs

501 lines
19 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 FineUIPro.Web.DataShow;
using FineUIPro.Web.SysManage;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Windows.Forms;
using static System.Windows.Forms.AxHost;
namespace FineUIPro.Web
{
public partial class WorkBench : PageBase
{
protected void Page_Init(object sender, EventArgs e)
{
string themeStr = Request.QueryString["theme"];
string menuStr = Request.QueryString["menu"];
string https = ConfigurationManager.AppSettings["Https"];
if (!String.IsNullOrEmpty(themeStr) || !String.IsNullOrEmpty(menuStr))
{
if (!String.IsNullOrEmpty(themeStr))
{
HttpCookie cookie = new HttpCookie("Theme_Pro", "Cupertino")
{
Expires = DateTime.Now.AddYears(1)
};
Response.Cookies.Add(cookie);
}
if (!String.IsNullOrEmpty(menuStr))
{
HttpCookie cookie = new HttpCookie("MenuStyle_Pro", menuStr)
{
Expires = DateTime.Now.AddYears(1)
};
if (https == "true")
{
cookie.Secure = true;
}
Response.Cookies.Add(cookie);
}
PageContext.Redirect("~/default.aspx");
return;
}
////////////////////////////////////////////////////////////////
if (!IsPostBack)
{
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var user = BLL.UserService.GetUserByUserId(this.CurrUser.UserId);
if (user != null)
{
this.lName.Text = user.UserName;
this.lblName.Text = Resources.Lan.Welcome + "" + user.UserName;
this.lAccount.Text = user.Account;
this.lUnitName.Text = BLL.UnitService.GetUnitNameByUnitId(user.UnitId);
this.lEmail.Text = user.Email;
//this.lPostName.Text = user.WorkPostId;
}
//公司级看板权限
if (this.CurrUser.IsOffice == true || this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId)
{
divgsj.Visible = true;
}
else
{
divgsj.Visible = false;
}
BindGridToDo("1");//待办预警
BindGrid("1",""); //我的项目
if (Request.Cookies["SelectLan"] != null)
{
HttpCookie lanCookie = Request.Cookies["SelectLan"];
if (lanCookie["lan"] != null)
{
drpSelectLan.SelectedValue = lanCookie["lan"];
}
}
}
}
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGridToDo(string sType)
{
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId));
listStr.Add(new SqlParameter("@sType", sType));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = BLL.SQLHelper.GetDataTableRunProc("Sp_WorkBench_GetToDoItems", parameter);
Grid2.RecordCount = tb.Rows.Count;
Grid2.DataSource = this.GetPagedDataTable(Grid2, tb);
this.Grid2.DataBind();
}
#endregion
#region Grid
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridToDo(hdToDoState.Text.Trim());
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
//{
// Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
// BindGrid(hdState.Text.Trim());
//}
protected void Grid2_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridToDo(hdToDoState.Text.Trim());
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid2_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (!string.IsNullOrEmpty(Grid2.SelectedRowID))
{
int i = Grid2.SelectedRowIndex;
string url = Grid2.Rows[i].Values[4].ToString();
if (!string.IsNullOrEmpty(url))
{
//url = "CQMS/Comprehensive/InspectionMachineEdit.aspx?ToDo=ToDo&&InspectionMachineId=3df44927-074a-4381-9cfe-a050ff4c2185";
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format(url), "待办"));
}
}
}
#endregion
#region
protected void btnAll_Click(object sender, EventArgs e)
{
hdToDoState.Text = "1";
BindGridToDo("1");//全部
}
protected void btnTo_Click(object sender, EventArgs e)
{
hdToDoState.Text = "2";
BindGridToDo("2");//待办
}
protected void btnDo_Click(object sender, EventArgs e)
{
hdToDoState.Text = "3";
BindGridToDo("3");//预警
}
#endregion
#endregion
#region
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid(string proState,string urlType="")
{
if (this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId || this.CurrUser.UserId == Const.sedinId)
{
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (proState == "2")
{
strSql += " AND (ProjectState = '2' )";
}
else if (proState == "3")
{
strSql += " AND (ProjectState = '3' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
}
else
{
var getUser = UserService.GetUserByUserId(this.CurrUser.UserId);
if (getUser != null)
{
/// 获取角色类型
var getRoleP = Funs.DB.Sys_RolePower.FirstOrDefault(x => x.RoleId == getUser.RoleId && x.IsOffice == false);
//如果是项目级别,获取到他的类型后,并且还要单位是五环的
if (!string.IsNullOrEmpty(urlType))
{
//五环的能看所有项目,否则只能看项目用户中有自己或者所属单位是自己单位的
if (getRoleP != null && getUser.UnitId == Const.UnitId_CWCEC)
{
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (proState == "2")
{
strSql += " AND (ProjectState = '2' )";
}
else if (proState == "3")
{
strSql += " AND (ProjectState = '3' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
}
else
{
string strSql = @"select distinct p.ProjectId,p.ProjectCode,(p.ProjectCode+' '+p.ProjectName) as ProjectName from Base_Project p
left join Project_ProjectUser as pu on pu.ProjectId = p.ProjectId
where ((pu.UserId=@userId and pu.IsPost='true') or p.UnitId=@unitId)
and p.ProjectState = @state"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId));
listStr.Add(new SqlParameter("@unitId", getUser.UnitId));
listStr.Add(new SqlParameter("@state", proState));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
}
}
else
{
if (getRoleP != null)
{
string strSql = @"select ProjectId,ProjectCode,(ProjectCode+' '+ProjectName) as ProjectName,ProjectState from Base_Project"
+ @" WHERE 1=1";
List<SqlParameter> listStr = new List<SqlParameter>();
if (proState == "2")
{
strSql += " AND (ProjectState = '2' )";
}
else if (proState == "3")
{
strSql += " AND (ProjectState = '3' )";
}
else
{
strSql += " AND (ProjectState = '1' OR ProjectState IS NULL)";
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
}
else
{
string strSql = @"select distinct p.ProjectId,p.ProjectCode,(p.ProjectCode+' '+p.ProjectName) as ProjectName from Base_Project p
left join Project_ProjectUser as pu on pu.ProjectId = p.ProjectId
where pu.UserId=@userId and pu.IsPost='true'
and p.ProjectState = @state";
List<SqlParameter> listStr = new List<SqlParameter>();
listStr.Add(new SqlParameter("@userId", this.CurrUser.UserId));
listStr.Add(new SqlParameter("@state", proState));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
Grid1.DataSource = this.GetPagedDataTable(Grid1, tb);
Grid1.DataBind();
}
}
}
}
}
#endregion
#region
/// <summary>
/// 显示项目图片
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
protected string ConvertProjectImage(object projectId)
{
string url = string.Empty;
if (projectId != null)
{
var att = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == projectId);
if (att != null)
{
url = BLL.UploadAttachmentService.ShowProjectImage("../../", att.AttachUrl);
}
else
{
url = BLL.UploadAttachmentService.ShowProjectImage("../../", "res/images/16.png");
}
}
return url;
}
#endregion
#region Grid
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid(hdState.Text.Trim(),"");
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
//protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
//{
// Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
// BindGrid(hdState.Text.Trim());
//}
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGrid(hdState.Text.Trim(),"");
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (!string.IsNullOrEmpty(Grid1.SelectedRowID))
{
string url = "~/indexProject.aspx?projectId=" + Grid1.SelectedRowID;
UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, Grid1.SelectedRowID);
PageContext.Redirect(url, "_top");
}
else
{
ShowNotify("请选择项目进入!", MessageBoxIcon.Warning);
}
}
#endregion
#region
/// <summary>
/// 右键进入项目
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnEnter_Click(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(Grid1.SelectedRowID))
{
string url = "~/indexProject.aspx?projectId=" + Grid1.SelectedRowID;
UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, Grid1.SelectedRowID);
PageContext.Redirect(url, "_top");
}
else
{
ShowNotify("请选择项目进入!", MessageBoxIcon.Warning);
}
}
#endregion
#region
protected void zjProject_Click(object sender, EventArgs e)
{
hdState.Text = "1";
BindGrid("1","");//在建项目
}
protected void ztProject_Click(object sender, EventArgs e)
{
hdState.Text = "2";
BindGrid("2","");//暂停项目
}
protected void wgProject_Click(object sender, EventArgs e)
{
hdState.Text = "3";
BindGrid("3","");//完工项目
}
#endregion
#region Grid行点击事件
/// <summary>
/// Grid行点击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == "LoginProject")
{
string url = "~/indexProject.aspx?projectId=" + Grid1.SelectedRowID;
UserService.UpdateLastUserInfo(this.CurrUser.UserId, null, false, Grid1.SelectedRowID);
PageContext.Redirect(url, "_top");
}
}
#endregion
#endregion
#region
/// <summary>
/// 跳转公司级看板
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gsjkb_Click(object sender, EventArgs e)
{
if (this.CurrUser.IsOffice == true || this.CurrUser.UserId == Const.sysglyId || this.CurrUser.UserId == Const.hfnbdId)
{
PageContext.Redirect("~/index.aspx", "_top");
}
}
#endregion
/// <summary>
/// 任务中心
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rwzx_Click(object sender, EventArgs e)
{
ShowNotify("开发中");
}
/// <summary>
/// 系统管理
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void xtgl_Click(object sender, EventArgs e)
{
ShowNotify("开发中");
}
#region
/// <summary>
/// 中英文切换
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpSelectLan_SelectedIndexChanged(object sender, EventArgs e)
{
string https = ConfigurationManager.AppSettings["Https"];
HttpCookie lanCookie = Request.Cookies["SelectLan"];
lanCookie["lan"] = drpSelectLan.SelectedValue;
lanCookie.Expires = DateTime.Now.AddDays(1);
if (https == "true")
{
lanCookie.Secure = true;
}
Response.Cookies.Add(lanCookie);
Response.Redirect(Request.UrlReferrer.ToString());//刷新当前页面
}
#endregion
}
}