SGGL_SHJ/SGGL/FineUIPro.Web/Person/DepartPersonShuntDetailEdit...

448 lines
18 KiB
C#

using BLL;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using AspNet = System.Web.UI.WebControls;
namespace FineUIPro.Web.Person
{
public partial class DepartPersonShuntDetailEdit : 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)
{
WorkPostService.InitWorkPostDropDownList(this.drpWorkPost, true);
WorkPostService.InitWorkPostNameDropDownList(this.drpWP, false);
PostTitleService.InitPostTitleDropDownList(this.drpPostTitle, true);
PracticeCertificateService.InitPracticeCertificateDropDownList(this.drpCertificate, true);
// 绑定表格
this.BindGrid();
}
}
#endregion
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
{
string strSql = @"SELECT Users.PersonId,Users.Account,Users.UserCode,Users.Password,Users.PersonName,Users.RoleId,Users.WorkPostId,Users.UnitId,Users.IsPost,CASE WHEN Users.IsPost=1 THEN '是' ELSE '否' END AS IsPostName,Users.IdentityCard,Users.Telephone,Users.IsOffice,"
+ @"Users.Major,PostTitle.PostTitleName"
+ @" From dbo.Person_Persons AS Users"
+ @" LEFT JOIN Base_Unit AS Unit ON Unit.UnitId=Users.UnitId"
+ @" LEFT JOIN Base_PostTitle AS PostTitle ON PostTitle.PostTitleId=Users.PostTitleId"
+ @" WHERE Users.PersonId !='" + Const.sysglyId + "' AND Users.IsPost =1 AND Users.PersonId !='" + Const.hfnbdId + "' AND Users.PersonId !='" + Const.sedinId + "' AND Unit.UnitId='" + Const.UnitId_SEDIN + "' AND Users.DepartId='" + Const.Depart_constructionId + "' ";
List<SqlParameter> listStr = new List<SqlParameter>();
if (this.drpWorkPost.SelectedValue != BLL.Const._Null)
{
strSql += " AND CHARINDEX(@WorkPostId,Users.WorkPostId)>0 ";
listStr.Add(new SqlParameter("@WorkPostId", this.drpWorkPost.SelectedValue));
}
if (this.drpPostTitle.SelectedValue != BLL.Const._Null)
{
strSql += " AND Users.PostTitleId = @PostTitleId";
listStr.Add(new SqlParameter("@PostTitleId", this.drpPostTitle.SelectedValue));
}
if (this.drpCertificate.SelectedValue != BLL.Const._Null)
{
strSql += " AND CHARINDEX(@CertificateId,Users.CertificateId)>0 ";
listStr.Add(new SqlParameter("@CertificateId", this.drpCertificate.SelectedValue));
}
if (!string.IsNullOrEmpty(Request.Params["ids"]))
{
strSql += " AND CHARINDEX(Users.PersonId,@Ids)=0 ";
listStr.Add(new SqlParameter("@Ids", Request.Params["ids"]));
}
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 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)
{
bool b = true;
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
AspNet.CheckBox cb = (AspNet.CheckBox)(this.Grid1.Rows[i].FindControl("cbSelect"));
if (cb.Checked) //选择项
{
string workPost = values.Value<string>("WorkPost");
if (string.IsNullOrEmpty(workPost))
{
b = false;
}
}
}
if (!b)
{
Alert.ShowInTop("勾选人员的拟聘岗位不能为空!", MessageBoxIcon.Warning);
return;
}
string ids = string.Empty;
if (!string.IsNullOrEmpty(Request.Params["ids"]))
{
ids = Request.Params["ids"] + ",";
}
var workPosts = BLL.WorkPostService.GetWorkPostList();
foreach (JObject mergedRow in Grid1.GetMergedData())
{
JObject values = mergedRow.Value<JObject>("values");
int i = mergedRow.Value<int>("index");
AspNet.CheckBox cb = (AspNet.CheckBox)(this.Grid1.Rows[i].FindControl("cbSelect"));
if (cb.Checked) //选择项
{
string id = Grid1.Rows[i].RowID;
string workPost = values.Value<string>("WorkPost");
var w = workPosts.FirstOrDefault(x => x.WorkPostName == workPost);
string wid = string.Empty;
if (w != null)
{
wid = w.WorkPostId;
}
ids += id + "|" + wid + ",";
}
}
if (!string.IsNullOrEmpty(ids))
{
ids = ids.Substring(0, ids.Length - 1);
}
PageContext.RegisterStartupScript(ActiveWindow.GetWriteBackValueReference(ids) + 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.SitePerson_PersonService.GetSitePersonByProjectIdPersonId(this.ProjectId, userId);
if (projectUser == null)
{/////todo 人员修改注释掉的代码 后续优化
//var user = BLL.Person_PersonsService.GetPerson_PersonsById(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
// };
// BLL.ProjectPerson_PersonsService.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.SitePerson_PersonService.GetPersonByProjectIdIdentityCard(this.ProjectId, user.IdentityCard);
// //if (sitePerson == null)
// //{
// // Model.SitePerson_Person newPerson = new Model.SitePerson_Person
// // {
// // PersonId = SQLHelper.GetNewID(typeof(Model.SitePerson_Person)),
// // PersonName = user.PersonName,
// // IdentityCard = user.IdentityCard,
// // ProjectId = this.ProjectId,
// // UnitId = user.UnitId,
// // };
// // BLL.PersonService.AddPerson(newPerson);
// //}
// }
//}
}
}
#region
//<summary>
//获取职业资格证书名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertCertificateName(object UserId)
{
string CertificateName = string.Empty;
if (UserId != null)
{////todo 人员优化注释掉的代码 后续优化 建议做明细表
//var user = BLL.Person_PersonsService.GetPerson_PersonsById(UserId.ToString());
//if (user != null && !string.IsNullOrEmpty(user.CertificateId))
//{
// string[] Ids = user.CertificateId.Split(',');
// foreach (string t in Ids)
// {
// var type = BLL.PracticeCertificateService.GetPracticeCertificateById(t);
// if (type != null)
// {
// CertificateName += type.PracticeCertificateName + ",";
// }
// }
//}
}
if (CertificateName != string.Empty)
{
return CertificateName.Substring(0, CertificateName.Length - 1);
}
else
{
return "";
}
}
//<summary>
//获取当前项目名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertCurrProject(object UserId)
{
string ProjectName = string.Empty;
if (UserId != null)
{
var roleItem = BLL.RoleItemService.GeCurrRoleItemByUserId(UserId.ToString());
if (roleItem != null && roleItem.OutDate != null)
{
if (!string.IsNullOrEmpty(roleItem.ProjectId))
{
ProjectName = BLL.ProjectService.GetProjectNameByProjectId(roleItem.ProjectId);
}
else
{
ProjectName = roleItem.ProjectName;
}
}
}
return ProjectName;
}
//<summary>
//获取岗位名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertUserWorkPost(object UserId)
{
string WorkPostName = string.Empty;
if (UserId != null)
{
var user = BLL.Person_PersonsService.GetPerson_PersonsById(UserId.ToString());
if (user != null && !string.IsNullOrEmpty(user.WorkPostId))
{
string[] Ids = user.WorkPostId.Split(',');
foreach (string t in Ids)
{
var type = BLL.WorkPostService.GetWorkPostById(t);
if (type != null)
{
WorkPostName += type.WorkPostName + ",";
}
}
}
}
return WorkPostName;
}
//<summary>
//获取当前岗位名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertCurrWorkPost(object UserId)
{
string WorkPostName = string.Empty;
if (UserId != null)
{
var roleItem = BLL.RoleItemService.GeCurrRoleItemByUserId(UserId.ToString());
if (roleItem != null && roleItem.OutDate != null)
{
var projectUser = BLL.SitePerson_PersonService.GetSitePersonByProjectIdPersonId(roleItem.ProjectId, roleItem.UserId);
if (projectUser != null)
{
var user = BLL.Person_PersonsService.GetPerson_PersonsById(projectUser.PersonId);
var sitePerson = BLL.SitePerson_PersonService.GetSitePersonByProjectIdIdentityCard(projectUser.ProjectId, user.IdentityCard);
if (sitePerson != null && !string.IsNullOrEmpty(sitePerson.WorkPostId))
{
var workPost = BLL.WorkPostService.GetWorkPostById(sitePerson.WorkPostId);
if (workPost != null)
{
WorkPostName = workPost.WorkPostName;
}
}
}
}
}
return WorkPostName;
}
//<summary>
//获取历史岗位名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertOldWorkPost(object UserId)
{
string WorkPostName = string.Empty;
if (UserId != null)
{
var roleItems = BLL.RoleItemService.GeOldRoleItemsByUserId(UserId.ToString());
if (roleItems.Count > 3)
{
roleItems = roleItems.Take(3).ToList();
}
foreach (var roleItem in roleItems)
{
if (roleItem != null && roleItem.OutDate != null)
{
var projectUser = BLL.SitePerson_PersonService.GetSitePersonByProjectIdPersonId(roleItem.ProjectId, roleItem.UserId);
if (projectUser != null)
{
var user = BLL.Person_PersonsService.GetPerson_PersonsById(projectUser.PersonId);
var sitePerson = BLL.SitePerson_PersonService.GetSitePersonByProjectIdIdentityCard(projectUser.ProjectId, user.IdentityCard);
if (sitePerson != null && !string.IsNullOrEmpty(sitePerson.WorkPostId))
{
var workPost = BLL.WorkPostService.GetWorkPostById(sitePerson.WorkPostId);
if (workPost != null)
{
WorkPostName += workPost.WorkPostName + ",";
}
}
}
}
}
}
if (!string.IsNullOrEmpty(WorkPostName))
{
WorkPostName = WorkPostName.Substring(0, WorkPostName.Length - 1);
}
return WorkPostName;
}
//<summary>
//获取拟聘岗位名称
//</summary>
//<param name="state"></param>
//<returns></returns>
protected string ConvertWorkPost(object WorkPostId)
{
string WorkPostName = string.Empty;
if (WorkPostId != null)
{
var workPost = BLL.WorkPostService.GetWorkPostById(WorkPostId.ToString());
if (workPost != null)
{
WorkPostName = workPost.WorkPostName;
}
}
return WorkPostName;
}
/// <summary>
/// 把状态转换代号为文字形式
/// </summary>
/// <param name="state"></param>
/// <returns></returns>
protected string ConvertState(object state)
{
if (state != null)
{
if (state.ToString() == BLL.Const.Shunt_ReCompile)
{
return "重新编制";
}
else if (state.ToString() == BLL.Const.Shunt_Compile)
{
return "编制";
}
else if (state.ToString() == BLL.Const.Shunt_Audit)
{
return "审核";
}
else if (state.ToString() == BLL.Const.Shunt_Complete)
{
return "审批完成";
}
else
{
return "";
}
}
return "";
}
#endregion
}
}