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 } }