150 lines
6.3 KiB
C#
150 lines
6.3 KiB
C#
using BLL;
|
|
using System;
|
|
using System.Linq;
|
|
|
|
namespace FineUIPro.Web.ProjectData
|
|
{
|
|
public partial class ProjectUserSave : PageBase
|
|
{
|
|
/// <summary>
|
|
/// 定义项
|
|
/// </summary>
|
|
public string ProjectUserId
|
|
{
|
|
get
|
|
{
|
|
return (string)ViewState["ProjectUserId"];
|
|
}
|
|
set
|
|
{
|
|
ViewState["ProjectUserId"] = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 加载页面
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
this.btnClose.OnClientClick = ActiveWindow.GetHideReference();
|
|
///角色下拉框
|
|
BLL.RoleService.InitRoleDropDownList(this.drpRole, string.Empty, false, true);
|
|
BLL.ConstValue.InitConstValueDropDownList(this.drpIsPost, ConstValue.Group_0001, false);
|
|
BLL.WorkPostService.InitWorkPostDropDownList(this.drpWorkPost, true);
|
|
gvUnitWork.DataSource = (from x in Funs.DB.WBS_UnitWork where x.SuperUnitWork == null && x.ProjectId == this.CurrUser.LoginProjectId select x);
|
|
gvUnitWork.DataBind();
|
|
this.ProjectUserId = Request.QueryString["ProjectUserId"];
|
|
if (!String.IsNullOrEmpty(this.ProjectUserId))
|
|
{
|
|
var projectUser = BLL.SitePerson_PersonService.GetSitePersonById(this.ProjectUserId);
|
|
if (projectUser != null)
|
|
{
|
|
var project = BLL.ProjectService.GetProjectByProjectId(projectUser.ProjectId);
|
|
if (project != null)
|
|
{
|
|
this.lbProjectName.Text = project.ProjectName;
|
|
}
|
|
var unit = BLL.UnitService.GetUnitByUnitId(projectUser.UnitId);
|
|
if (unit != null)
|
|
{
|
|
this.lbUnitName.Text = unit.UnitName;
|
|
}
|
|
var User = BLL.Person_PersonsService.GetPerson_PersonsById(projectUser.PersonId);
|
|
if (User != null)
|
|
{
|
|
this.lbUserCode.Text = User.JobNum;
|
|
this.lbUserName.Text = User.PersonName;
|
|
}
|
|
if (!string.IsNullOrEmpty(projectUser.WorkAreaId))
|
|
{
|
|
txtUnitWork.Values = projectUser.WorkAreaId.Split(',');
|
|
}
|
|
if (projectUser.States == Const.State_1)
|
|
{
|
|
this.drpIsPost.SelectedValue = Const._True;
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(projectUser.RoleIds))
|
|
{
|
|
this.drpRole.SelectedValueArray = projectUser.RoleIds.Split(',');
|
|
}
|
|
|
|
if (!string.IsNullOrEmpty(projectUser.WorkPostId))
|
|
{
|
|
this.drpWorkPost.SelectedValue = projectUser.WorkPostId;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 保存数据
|
|
/// </summary>
|
|
/// <param name="sender"></param>
|
|
/// <param name="e"></param>
|
|
protected void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
var newProjectUser = BLL.SitePerson_PersonService.GetSitePersonById(this.ProjectUserId);
|
|
if (newProjectUser != null)
|
|
{
|
|
///角色
|
|
string roleIds = string.Empty;
|
|
foreach (var item in this.drpRole.SelectedValueArray)
|
|
{
|
|
var role = BLL.RoleService.GetRoleByRoleId(item);
|
|
if (role != null)
|
|
{
|
|
if (string.IsNullOrEmpty(roleIds))
|
|
{
|
|
roleIds = role.RoleId;
|
|
}
|
|
else
|
|
{
|
|
roleIds += "," + role.RoleId;
|
|
}
|
|
}
|
|
}
|
|
newProjectUser.RoleIds = roleIds;
|
|
if (!string.IsNullOrWhiteSpace(String.Join(",", this.txtUnitWork.Values)))
|
|
{
|
|
newProjectUser.WorkAreaId = string.Join(",", txtUnitWork.Values);
|
|
}
|
|
BLL.SitePerson_PersonService.UpdateSitePerson(newProjectUser);
|
|
|
|
///离岗 -todo
|
|
Model.Sys_RoleItem roleItem = BLL.RoleItemService.GeRoleItemByUserIdAndProjectId(newProjectUser.PersonId, newProjectUser.ProjectId);
|
|
if (roleItem != null)
|
|
{
|
|
roleItem.RoleId = newProjectUser.RoleIds;
|
|
//if (newProjectUser.States == Const) //离岗
|
|
//{
|
|
// roleItem.OutDate = DateTime.Now;
|
|
//}
|
|
roleItem.RoleId = newProjectUser.RoleIds;
|
|
BLL.RoleItemService.UpdateRoleItem(roleItem);
|
|
}
|
|
//更新用户的项目id和项目角色
|
|
var user = BLL.Person_PersonsService.GetPerson_PersonsById(newProjectUser.PersonId);
|
|
if (user != null)
|
|
{
|
|
user.CurrentProjectId = newProjectUser.ProjectId;
|
|
user.CurrentProjectRoleId = newProjectUser.RoleIds;
|
|
if (this.drpWorkPost.SelectedValue != BLL.Const._Null)
|
|
{
|
|
user.CurrentProjectWorkPostId = this.drpWorkPost.SelectedValue;
|
|
}
|
|
BLL.Person_PersonsService.UpdatePerson_User(user);
|
|
}
|
|
BLL.LogService.AddSys_Log(this.CurrUser, this.lbUserCode.Text, newProjectUser.PersonId, BLL.Const.ProjectUserMenuId, BLL.Const.BtnModify);
|
|
ShowNotify("保存数据成功!", MessageBoxIcon.Success);
|
|
// 2. 关闭本窗体,然后回发父窗体
|
|
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
|
|
}
|
|
}
|
|
}
|
|
} |