SGGL_SGY/SGGL/FineUIPro.Web/ProjectData/ProjectUserSelect.aspx.cs

232 lines
8.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using BLL;
namespace FineUIPro.Web.ProjectData
{
public partial class ProjectUserSelect : PageBase
{
/// <summary>
/// 定义项
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
this.ProjectId = Request.QueryString["ProjectId"];
if (this.CurrUser != null && this.CurrUser.PageSize.HasValue)
{
Grid1.PageSize = this.CurrUser.PageSize.Value;
}
this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, false);
if (!string.IsNullOrEmpty(this.CurrUser.UnitId))
{
this.drpUnit.SelectedValue = this.CurrUser.UnitId;
}
// 绑定表格
this.BindGrid();
}
}
#endregion
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
if (!string.IsNullOrEmpty(this.ProjectId))
{
string strSql = @"SELECT Users.UserId,Users.UserCode,Users.UserName,Unit.UnitName"
+ @" FROM Sys_User AS Users "
+ @" LEFT JOIN Project_ProjectUnit AS ProjectUnit ON Users.UnitId =ProjectUnit.UnitId "
+ @" LEFT JOIN Base_Unit AS Unit ON Users.UnitId =Unit.UnitId "
+ @" WHERE ProjectUnit.ProjectId =@ProjectId AND ProjectUnit.UnitId=@UnitId AND Users.UserId <> @UserId "
+ @" AND Users.UserId NOT IN (SELECT UserId FROM Project_ProjectUser WHERE ProjectId =ProjectUnit.ProjectId) ";
List<SqlParameter> listStr = new List<SqlParameter>
{
new SqlParameter("@ProjectId", this.ProjectId),
new SqlParameter("@UnitId", this.drpUnit.SelectedValue),
new SqlParameter("@UserId", BLL.Const.sysglyId)
};
if (!string.IsNullOrEmpty(this.txtUserName.Text.Trim()))
{
strSql += " AND Users.UserName LIKE @UserName";
listStr.Add(new SqlParameter("@UserName", "%" + this.txtUserName.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();
}
}
#region
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
Grid1.PageIndex = e.NewPageIndex;
BindGrid();
}
/// <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();
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
/// <summary>
/// 确定按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSure_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
this.SaveData(Grid1.DataKeys[rowIndex][0].ToString());
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
this.SaveData(Grid1.SelectedRowID);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#region
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#endregion
/// <summary>
/// 保存数据
/// </summary>
/// <param name="userId"></param>
private void SaveData(string userId)
{
var projectUser = BLL.ProjectUserService.GetProjectUserByUserIdProjectId(this.ProjectId, userId);
if (projectUser == null)
{
var user = BLL.UserService.GetUserByUserId(userId);
if (user != null)
{
Model.Project_ProjectUser newProjectUser = new Model.Project_ProjectUser
{
ProjectId = this.ProjectId,
UserId = userId,
UnitId = user.UnitId,
RoleId = user.RoleId,
IsPost = true,
MainCNProfessionalId = user.MainCNProfessionalId,
ViceCNProfessionalId = user.ViceCNProfessionalId
};
BLL.ProjectUserService.AddProjectUser(newProjectUser);
Model.Sys_RoleItem roleItem = new Model.Sys_RoleItem();
roleItem.ProjectId = this.ProjectId;
roleItem.UserId = userId;
roleItem.RoleId = user.RoleId;
roleItem.IntoDate = DateTime.Now;
BLL.RoleItemService.AddRoleItem(roleItem);
if (!string.IsNullOrEmpty(user.IdentityCard))
{
///当前用户是否已经添加到项目现场人员中
var sitePerson = BLL.PersonService.GetPersonByIdentityCard(this.ProjectId, user.IdentityCard);
if (sitePerson == null)
{
Model.SitePerson_Person newPerson = new Model.SitePerson_Person
{
PersonId = SQLHelper.GetNewID(typeof(Model.SitePerson_Person)),
PersonName = user.UserName,
Sex = user.Sex,
IdentityCard = user.IdentityCard,
ProjectId = this.ProjectId,
UnitId = user.UnitId,
IsUsed = true,
MainCNProfessionalId = user.MainCNProfessionalId,
ViceCNProfessionalId = user.ViceCNProfessionalId,
};
BLL.PersonService.AddPerson(newPerson);
}
}
}
}
}
protected void btnNew_Click(object sender, EventArgs e)
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../SysManage/UserListEdit.aspx?UnitId={0}&type=-1", this.drpUnit.SelectedValue, "新增 - ")));
}
}
}