using BLL;
using FastReport.Editor.Syntax;
using Newtonsoft.Json.Linq;
using System;
using System.IO;
using System.Linq;
namespace FineUIPro.Web.Person
{
public partial class ProjectPersonView : PageBase
{
#region 定义项
///
/// 人员主键
///
public string PersonId
{
get
{
return (string)ViewState["PersonId"];
}
set
{
ViewState["PersonId"] = value;
}
}
///
/// 项目人员ID
///
public string SitePersonId
{
get
{
return (string)ViewState["SitePersonId"];
}
set
{
ViewState["SitePersonId"] = value;
}
}
#endregion
#region 加载页面
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ProjectService.InitProjectDropDownList(this.drpProject, true);
if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
{
this.drpProject.SelectedValue = this.CurrUser.LoginProjectId;
}
else if (!string.IsNullOrEmpty(Request.Params["ProjectId"]))
{
this.drpProject.SelectedValue = Request.Params["ProjectId"];
}
this.SitePersonId = Request.Params["SitePersonId"];
this.InitDropDownList();
if (!string.IsNullOrEmpty(this.SitePersonId))
{
SetProjectPerson();
SetPersonInfoByIdCard(this.txtIdentityCard.Text.Trim());
}
else
{
this.InitDropDownListProject();
this.txtIdentityCard.Focus();
}
if (string.IsNullOrEmpty(this.drpProject.SelectedValue) || this.drpProject.SelectedValue == Const._Null)
{
this.drpProject.Readonly = false;
Alert.ShowInParent("请先选择项目!", MessageBoxIcon.Warning);
}
getInitGridCertificate();
getInitGridTestRecord();
getInitGridInOut();
getInitGridContract();
}
}
#endregion
#region 根据身份证号码获取人员信息
///
/// 根据身份证号码获取人员信息
///
private void SetPersonInfoByIdCard(string idCard)
{
if (!string.IsNullOrEmpty(idCard))
{
var person = BLL.Person_PersonsService.GetPerson_PersonsByIdCard(idCard);
if (person != null)
{
this.PersonId = person.PersonId;
this.drpUnit.Readonly = true;
if (person.IsCardNoOK == true)
{
this.txtIdentityCard.Readonly = true;
}
#region 基本信息
this.txtPersonName.Text = person.PersonName;
this.drpUnit.SelectedValue = person.UnitId;
if (string.IsNullOrEmpty(this.drpUnit.SelectedValue))
{
string name = UnitService.GetUnitNameByUnitId(person.UnitId);
Alert.ShowInParent("当前人员所属单位【" + name + "】不在该项目单位中,请查证!", MessageBoxIcon.Warning);
}
this.txtAccount.Text = person.Account;
if (person.IsForeign.HasValue)
{
this.ckIsForeign.Checked = person.IsForeign.Value;
}
this.rbPersonType.SelectedValue = person.PersonType;
if (!string.IsNullOrEmpty(person.IdcardType))
{
this.drpIdcardType.SelectedValue = person.IdcardType;
}
this.txtIdentityCard.Text = person.IdentityCard;
this.txtIdcardAddress.Text = person.IdcardAddress;
if (!string.IsNullOrEmpty(person.IdcardForever))
{
this.rblIdcardForever.SelectedValue = person.IdcardForever;
if (person.IdcardForever == "Y")
{
this.txtIdcardEndDate.ShowRedStar = false;
this.txtIdcardEndDate.Required = false;
}
}
this.txtIdcardStartDate.Text = string.Format("{0:yyyy-MM-dd}", person.IdcardStartDate);
this.txtIdcardEndDate.Text = string.Format("{0:yyyy-MM-dd}", person.IdcardEndDate);
if (!string.IsNullOrEmpty(person.Sex))
{
this.rblSex.SelectedValue = person.Sex;
}
if (person.Birthday.HasValue)
{
this.txtBirthday.Text = string.Format("{0:yyyy-MM-dd}", person.Birthday);
this.txtAge.Text = IDCardValid.CalculateAgeCorrect(person.Birthday.Value).ToString();
}
this.txtTelephone.Text = person.Telephone;
if (!string.IsNullOrEmpty(person.PhotoUrl))
{
imgPhoto.ImageUrl = ("~/" + person.PhotoUrl);
}
if (!string.IsNullOrEmpty(person.QRCodeAttachUrl))
{
imgQR.ImageUrl = ("~/" + person.QRCodeAttachUrl);
}
if (!string.IsNullOrEmpty(person.IDCardUrl))
{
imgIDCard.ImageUrl = ("~/" + person.IDCardUrl);
}
if (!string.IsNullOrEmpty(person.IDCardBackUrl))
{
imgIDCardBack.ImageUrl = ("~/" + person.IDCardBackUrl);
}
#endregion
#region 详细信息
this.txtMajor.Text = person.Major;
this.txtForeignLanguage.Text = person.ForeignLanguage;
if (!string.IsNullOrEmpty(person.CountryCode))
{
this.drpCountryCode.SelectedValue = person.CountryCode;
CityService.InitCityDropDownList(this.drpProvinceCode, person.CountryCode, false);
}
if (!string.IsNullOrEmpty(person.ProvinceCode))
{
this.drpProvinceCode.SelectedValue = person.ProvinceCode;
}
if (!string.IsNullOrEmpty(person.Nation))
{
this.drpNation.SelectedValue = person.Nation;
}
if (!string.IsNullOrEmpty(person.PoliticsStatus))
{
this.drpPoliticsStatus.SelectedValue = person.PoliticsStatus;
}
if (!string.IsNullOrEmpty(person.EduLevel))
{
this.drpEduLevel.SelectedValue = person.EduLevel;
}
if (!string.IsNullOrEmpty(person.MaritalStatus))
{
this.drpMaritalStatus.SelectedValue = person.MaritalStatus;
}
this.txtRelativeName.Text = person.RelativeName;
this.txtRelativeTel.Text = person.RelativeTel;
this.txtAddress.Text = person.Address;
#endregion
}
else
{
this.drpUnit.Readonly = false;
}
}
}
#endregion
#region 初始化项目人员信息
///
/// 初始化项目人员信息
///
private void SetProjectPerson()
{
var getProjectPerson = SitePerson_PersonService.GetSitePersonById(this.SitePersonId);
if (getProjectPerson != null)
{
this.txtIdentityCard.Text = getProjectPerson.IdentityCard;
if (!string.IsNullOrEmpty(getProjectPerson.PersonName))
{
this.txtPersonName.Text = getProjectPerson.PersonName;
}
this.hdStates.Text = getProjectPerson.States;
this.lbStates.Text = GetProjectPersonStates(getProjectPerson.States);
this.drpProject.SelectedValue = getProjectPerson.ProjectId;
InitDropDownListProject();
this.drpUnit.SelectedValue = getProjectPerson.UnitId;
if (!string.IsNullOrEmpty(getProjectPerson.UnitId))
{
TeamGroupService.InitTeamGroupProjectUnitDropDownList(this.drpTeamGroup, getProjectPerson.ProjectId, getProjectPerson.UnitId, false);
}
this.txtCardNo.Text = getProjectPerson.CardNo;
if (!string.IsNullOrEmpty(getProjectPerson.RoleIds))
{
this.drpProjectRole.SelectedValueArray = getProjectPerson.RoleIds.Split(',');
}
this.drpAuditor.SelectedValue = getProjectPerson.AuditorId;
this.drpProjectWorkPost.SelectedValue = getProjectPerson.WorkPostId;
this.drpTeamGroup.SelectedValue = getProjectPerson.TeamGroupId;
if (!string.IsNullOrEmpty(getProjectPerson.WorkAreaId))
{
this.txtWorkArea.Values = getProjectPerson.WorkAreaId.Split(',');
}
this.txtInTime.Text = string.Format("{0:yyyy-MM-dd}", getProjectPerson.InTime);
this.txtOutTime.Text = string.Format("{0:yyyy-MM-dd}", getProjectPerson.OutTime);
this.txtOutResult.Text = getProjectPerson.OutResult;
this.txtRealNameTime.Text = string.Format("{0:yyyy-MM-dd HH:mm:ss}", getProjectPerson.RealNameAddTime);
this.txtAuditorDate.Text = string.Format("{0:yyyy-MM-dd}", getProjectPerson.AuditorDate);
if (getProjectPerson.IsSafetyMonitoring.HasValue)
{
this.ckIsSafetyMonitoring.Checked = getProjectPerson.IsSafetyMonitoring.Value;
}
}
else
{
this.txtInTime.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
}
}
#endregion
#region 下拉框事件
///
/// 初始化下拉框
///
private void InitDropDownList()
{
RoleService.InitRoleDropDownList(this.drpProjectRole, null, false, true);
WorkPostService.InitWorkPostDropDownList(this.drpProjectWorkPost, false);
BasicDataService.InitBasicDataProjectUnitDropDownList(this.drpEduLevel, "EDU_LEVEL", true);
BasicDataService.InitBasicDataProjectUnitDropDownList(this.drpMaritalStatus, "MARITAL_STATUS", true);
BasicDataService.InitBasicDataProjectUnitDropDownList(this.drpIdcardType, "ZHENGJIAN_TYPE", false);
this.drpIdcardType.SelectedValue = "SHENFEN_ZHENGJIAN";
BasicDataService.InitBasicDataProjectUnitDropDownList(this.drpPoliticsStatus, "POLITICAL_LANDSCAPE", true);
BasicDataService.InitBasicDataProjectUnitDropDownList(this.drpNation, "MINZU_TYPE", true);
SynchroSetService.InitCountryDropDownList(this.drpCountryCode, false);
this.drpCountryCode.SelectedValue = "101";
CityService.InitCityDropDownList(this.drpProvinceCode, this.drpCountryCode.SelectedValue, true);
PositionService.InitPositionDropDownList(this.drpPosition, true);
PostTitleService.InitPostTitleDropDownList(this.drpPostTitle, true);
DropListService.InitConstRadioButtonList(this.rbPersonType, DropListService.Group_PersonType, "1");
}
///
/// 初始化下拉框- 项目相关
///
private void InitDropDownListProject()
{
UnitService.InitUnitDropDownList(this.drpUnit, this.drpProject.SelectedValue, false);
string UnitId = Request.Params["UnitId"];
if (!string.IsNullOrEmpty(UnitId))
{
this.drpUnit.SelectedValue = UnitId;
this.drpUnit.Readonly = true;
}
else
{
this.drpUnit.SelectedValue = this.CurrUser.UnitId ?? Const.UnitId_SEDIN;
}
Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpAuditor, this.drpProject.SelectedValue, Const.UnitId_SEDIN, BLL.Const.HSSEManager + "," + BLL.Const.HSSEAssistantManager, false);
TeamGroupService.InitTeamGroupProjectUnitDropDownList(this.drpTeamGroup, this.drpProject.SelectedValue, this.drpUnit.SelectedValue, false);
gvWorkArea.DataSource = UnitWorkService.GetUnitWorkLists(this.drpProject.SelectedValue);
gvWorkArea.DataBind();//单位工程
}
#region 项目下拉框事件
///
/// 项目下拉框事件
///
///
///
protected void drpProject_SelectedIndexChanged(object sender, EventArgs e)
{
InitDropDownListProject();
}
#endregion
#region 角色下拉框事件
///
/// 角色下拉框事件
///
///
///
protected void drpRole_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.drpProjectRole.SelectedItemArray.Count() > 4)
{
this.drpProjectRole.SelectedValueArray = null;
Alert.ShowInParent("最多可选择4个角色!", MessageBoxIcon.Warning);
}
else
{
this.drpProjectRole.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpProjectRole.SelectedValueArray);
}
}
#endregion
///
///
///
///
///
protected void drpUnit_SelectedIndexChanged(object sender, EventArgs e)
{
// this.trRole.Hidden = true;
if (this.drpUnit.SelectedValue == BLL.Const.UnitId_SEDIN)
{
// this.trRole.Hidden = false;
this.txtIdentityCard.Required = false;
this.txtIdentityCard.ShowRedStar = false;
}
else
{
this.txtIdentityCard.Required = true;
this.txtIdentityCard.ShowRedStar = true;
}
TeamGroupService.InitTeamGroupProjectUnitDropDownList(this.drpTeamGroup, this.drpProject.SelectedValue, this.drpUnit.SelectedValue, false);
}
#endregion
#region 证书信息
///
///
///
private void getInitGridCertificate()
{
Funs.DropDownPageSize(this.ddlPageSizeGridCertificate);
BindGridCertificate();
}
#region 绑定数据
///
/// 绑定数据
///
private void BindGridCertificate()
{
var getData = PersonQualityService.getListData(this.PersonId, GridCertificate);
GridCertificate.RecordCount = PersonQualityService.count;
GridCertificate.DataSource = getData;
GridCertificate.DataBind();
}
#endregion
#region 分页
///
/// 分页
///
///
///
protected void GridCertificate_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridCertificate();
}
///
/// 分页显示条数下拉框
///
///
///
protected void ddlPageSizeGridCertificate_SelectedIndexChanged(object sender, EventArgs e)
{
GridCertificate.PageSize = Convert.ToInt32(ddlPageSizeGridCertificate.SelectedValue);
BindGridCertificate();
}
///
/// 排序
///
///
///
protected void GridCertificate_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridCertificate();
}
#endregion
#region 数据操作事件
///
/// 双击事件
///
///
///
protected void GridCertificate_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditDataCertificate();
}
protected void btnCertificateEdit_Click(object sender, EventArgs e)
{
this.EditDataCertificate();
}
///
/// 编辑数据方法
///
private void EditDataCertificate()
{
if (GridCertificate.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../HSSE/QualityAudit/PersonQualityEdit.aspx?PersonQualityId={0}&value=0", GridCertificate.SelectedRowID, "编辑 - ")));
}
#endregion
#endregion
#region 人员培训考试记录
///
///
///
private void getInitGridTestRecord()
{
Funs.DropDownPageSize(this.ddlPageSizeGridTestRecord);
BindGridTestRecord();
}
#region 绑定数据
///
/// 绑定数据
///
private void BindGridTestRecord()
{
var getData = TestRecordService.getListData(this.PersonId, GridTestRecord);
GridTestRecord.RecordCount = TestRecordService.count;
GridTestRecord.DataSource = getData;
GridTestRecord.DataBind();
}
#endregion
#region 分页
///
/// 分页
///
///
///
protected void GridTestRecord_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridTestRecord();
}
///
/// 分页显示条数下拉框
///
///
///
protected void ddlPageSizeGridTestRecord_SelectedIndexChanged(object sender, EventArgs e)
{
GridTestRecord.PageSize = Convert.ToInt32(ddlPageSizeGridTestRecord.SelectedValue);
BindGridTestRecord();
}
///
/// 排序
///
///
///
protected void GridTestRecord_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridTestRecord();
}
#endregion
#endregion
#region 人员工作经历
///
///
///
private void getInitGridInOut()
{
Funs.DropDownPageSize(this.ddlPageSizeGridInOut);
BindGridInOut();
}
#region 绑定数据
///
/// 绑定数据
///
private void BindGridInOut()
{
var getData = SitePerson_PersonItemService.getListData(null, null, this.PersonId, null, null, null, null, GridInOut);
GridInOut.RecordCount = Person_PersonsService.count;
GridInOut.DataSource = getData;
GridInOut.DataBind();
}
#endregion
#region 分页
///
/// 分页
///
///
///
protected void GridInOut_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridInOut();
}
///
/// 分页显示条数下拉框
///
///
///
protected void ddlPageSizeGridInOut_SelectedIndexChanged(object sender, EventArgs e)
{
GridInOut.PageSize = Convert.ToInt32(ddlPageSizeGridInOut.SelectedValue);
BindGridInOut();
}
///
/// 排序
///
///
///
protected void GridInOut_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridInOut();
}
#endregion
#region 数据操作事件
///
/// 双击事件
///
///
///
protected void GridInOut_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditDataInOut();
}
protected void btnInOutEdit_Click(object sender, EventArgs e)
{
this.EditDataInOut();
}
///
/// 编辑数据方法
///
private void EditDataInOut()
{
if (GridInOut.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonItemEdit.aspx?PersonItemId={0}&value=0", GridInOut.SelectedRowID, "编辑 - ")));
}
#endregion
#endregion
#region 合同信息
///
///
///
private void getInitGridContract()
{
Funs.DropDownPageSize(this.ddlPageSizeGridContract);
BindGridContract();
}
#region 绑定数据
///
/// 绑定数据
///
private void BindGridContract()
{
var getData = Person_PersonContractService.getListData(this.PersonId, GridContract);
GridContract.RecordCount = Person_PersonContractService.count;
GridContract.DataSource = getData;
GridContract.DataBind();
}
#endregion
#region 分页
///
/// 分页
///
///
///
protected void GridContract_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridContract();
}
///
/// 分页显示条数下拉框
///
///
///
protected void ddlPageSizeGridContract_SelectedIndexChanged(object sender, EventArgs e)
{
GridContract.PageSize = Convert.ToInt32(ddlPageSizeGridContract.SelectedValue);
BindGridContract();
}
///
/// 排序
///
///
///
protected void GridContract_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridContract();
}
#endregion
#region 数据操作事件
///
/// 双击事件
///
///
///
protected void GridContract_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditDataContract();
}
protected void btnContractEdit_Click(object sender, EventArgs e)
{
this.EditDataContract();
}
///
/// 编辑数据方法
///
private void EditDataContract()
{
if (GridContract.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInParent("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonContractEdit.aspx?PersonContractId={0}&value=0", GridContract.SelectedRowID, "编辑 - ")));
}
#endregion
#region 获取合同有效期
///
/// 获取合同有效期
///
///
///
protected string GetContractType(object personContractId)
{
string returnValue = string.Empty;
if (personContractId != null)
{
var getC = Funs.DB.Person_PersonContract.FirstOrDefault(x => x.PersonContractId == personContractId.ToString());
if (getC != null)
{
returnValue = DropListService.getContractTypeNameByValue(getC.ContractType);
if (getC.ContractType == "1")
{
string startDateStr = string.Format("{0:yyyy-MM-dd}", getC.StartDate);
string endDateStr = string.Format("{0:yyyy-MM-dd}", getC.EndDate);
returnValue += "(自" + startDateStr + "起至" + endDateStr + "止)";
}
}
}
return returnValue;
}
#endregion
#endregion
}
}