using BLL; using Model; using Newtonsoft.Json.Linq; using System; using System.IO; using System.Linq; namespace FineUIPro.Web.Person { public partial class ProjectPersonEdit : 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; } } /// /// 人员分配类型 P-派遣 Shunt-分流 /// public string Type { get { return (string)ViewState["Type"]; } set { ViewState["Type"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.Type = Request.Params["Type"]; btnClose.OnClientClick = ActiveWindow.GetHideReference(); 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)) { if (!CommonService.IsMainUnitOrAdmin(this.CurrUser.PersonId)) { this.drpUnit.Readonly = true; } SetProjectPerson(); SetPersonInfoByIdCard(this.txtIdentityCard.Text.Trim()); } else { this.InitDropDownListProject(); var getPersons = Person_PersonsService.GetPerson_PersonsById(Request.Params["PersonId"]); if (getPersons != null) { SetPersonInfo(getPersons); } this.txtIdentityCard.Focus(); } if (string.IsNullOrEmpty(this.drpProject.SelectedValue) || this.drpProject.SelectedValue == Const._Null) { this.drpProject.Readonly = false; Alert.ShowInParent("请先选择项目!", MessageBoxIcon.Warning); } GetButtonPower(); if (this.hdStates.Text == Const.ProjectPersonStates_2 || this.hdStates.Text == Const.ProjectPersonStates_R) { this.btnSave.Text = "提交在审"; } if (this.Type == "P") { this.lbStates.Text = "派遣"; } getInitGridCertificate(); getInitGridTestRecord(); getInitGridInOut(); getInitGridContract(); var person = BLL.Person_PersonsService.GetPerson_PersonsById(this.PersonId); if (person != null) { if (this.CurrUser.RoleIds == null || this.CurrUser.RoleIds.Contains(Const.sysglyId)) { this.rbPersonType.Readonly = false; } else { var getRoleNames = RoleService.getRoleNamesRoleIds(this.CurrUser.RoleIds); if (getRoleNames != null && getRoleNames.Contains("管理员")) { this.rbPersonType.Readonly = false; } } } else { this.rbPersonType.Readonly = false; } } } #region 获取按钮权限 /// /// 获取按钮权限 /// /// /// private void GetButtonPower() { this.drpProjectRole.Enabled = false; string menuId = BLL.Const.ProjectUserMenuId; var porject = BLL.ProjectService.GetProjectByProjectId(this.drpProject.SelectedValue); if (porject != null && (porject.ProjectState == BLL.Const.ProjectState_1 || string.IsNullOrEmpty(porject.ProjectState))) { var buttonList = BLL.CommonService.GetAllButtonList(this.CurrUser.LoginProjectId, this.CurrUser.PersonId, menuId); if (buttonList.Count() > 0) { if (buttonList.Contains(BLL.Const.BtnSelect) || buttonList.Contains(BLL.Const.BtnDelete)) { this.drpProjectRole.Enabled = true; } } } } #endregion #endregion #region 根据身份证号码获取人员信息 /// /// 根据身份证号码获取人员信息 /// private void SetPersonInfoByIdCard(string idCard) { if (!string.IsNullOrEmpty(idCard)) { var person = BLL.Person_PersonsService.GetPerson_PersonsByIdCard(idCard); if (person != null) { SetPersonInfo(person); getInitGridCertificate(); getInitGridTestRecord(); getInitGridInOut(); getInitGridContract(); } } } /// /// 设置人员信息 /// /// private void SetPersonInfo(Model.Person_Persons person) { this.PersonId = person.PersonId; if (person.IsCardNoOK == true) { this.txtIdentityCard.Readonly = true; } var getProjectPersom = SitePerson_PersonService.GetSitePersonByProjectIdPersonId(this.drpProject.SelectedValue, this.PersonId); if (getProjectPersom != null) { this.SitePersonId = getProjectPersom.SitePersonId; } else { var getProjectPerson = SitePerson_PersonService.GetSitePersonByProjectIdIdentityCard(this.drpProject.SelectedValue, this.txtIdentityCard.Text.Trim()); if (getProjectPerson != null) { this.SitePersonId = getProjectPerson.SitePersonId; } } #region 基本信息 this.txtPersonName.Text = person.PersonName; this.drpUnit.SelectedValue = person.UnitId; if (string.IsNullOrEmpty(this.drpUnit.SelectedValue)) { string name = UnitService.GetUnitNameByUnitId(person.UnitId); var getIsPost = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == person.IdentityCard && x.States != Const.ProjectPersonStates_2 && x.ProjectId != this.drpProject.SelectedValue); if (getIsPost != null) { Alert.ShowInParent("当前人员所属单位【" + name + "】不在该项目单位中且人员在项目" + ProjectService.GetProjectNameByProjectId(getIsPost.ProjectId) + "不是【离岗】状态,请查证!", MessageBoxIcon.Warning); } else { 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 } #endregion #region 初始化项目人员信息 /// /// 初始化项目人员信息 /// private void SetProjectPerson() { var getProjectPerson = SitePerson_PersonService.GetSitePersonById(this.SitePersonId); if (getProjectPerson != null) { if (!string.IsNullOrEmpty(getProjectPerson.IdentityCard)) { 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); if (getProjectPerson.States == Const.ProjectPersonStates_0 && (this.CurrUser.PersonId == getProjectPerson.AuditorId || this.CurrUser.PersonId == Const.sysglyId || this.CurrUser.PersonId == Const.hfnbdId)) { this.btnAudit.Hidden = false; this.btnRepulse.Hidden = false; } else if (getProjectPerson.States == Const.ProjectPersonStates_2 && (this.CurrUser.PersonId == getProjectPerson.AuditorId || this.CurrUser.PersonId == Const.sysglyId || this.CurrUser.PersonId == Const.hfnbdId)) { this.btnAudit.Hidden = false; this.btnRepulse.Hidden = false; } else if (!string.IsNullOrEmpty(getProjectPerson.States) && getProjectPerson.States != Const.ProjectPersonStates_2) { this.btnOut.Hidden = false; } 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; } if (getProjectPerson.IsCQMSCheck.HasValue) { this.ckIsCQMSCheck.Checked = getProjectPerson.IsCQMSCheck.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; } else { this.drpUnit.SelectedValue = this.CurrUser.UnitId ?? ProjectService.getProjectUnitIdByUnitType(this.drpProject.SelectedValue, Const.ProjectUnitType_1); } Person_PersonsService.InitUserProjectIdUnitIdRoleIdDropDownList(this.drpAuditor, this.drpProject.SelectedValue, ProjectService.getProjectUnitIdByUnitType(this.drpProject.SelectedValue, Const.ProjectUnitType_1), 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();//单位工程 GetButtonPower(); } #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 == ProjectService.getProjectUnitIdByUnitType(this.drpProject.SelectedValue, Const.ProjectUnitType_1)) { // 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 头像、身份证及二维码生成 /// /// 头像上传 /// /// /// protected void filePhoto_FileSelected(object sender, EventArgs e) { if (filePhoto.HasFile) { string fileName = filePhoto.ShortFileName; if (!ValidateFileType(fileName)) { ShowNotify("无效的文件类型!"); return; } fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_"); fileName = DateTime.Now.Ticks.ToString() + "_" + fileName; string url = "~/" + UploadFileService.PersonBaseInfoFilePath + DateTime.Now.Year + "-" + DateTime.Now.Month + "/"; string fileMapPath = Server.MapPath(url + fileName); filePhoto.SaveAs(fileMapPath); if (File.Exists(fileMapPath)) { FileInfo fileInfo = new FileInfo(fileMapPath); double size = Math.Ceiling(fileInfo.Length * 1.0 / 1024.0); if (size > 300) { Alert.ShowInTop("照片大小超过300KB,请重新上传!", MessageBoxIcon.Warning); return; } } imgPhoto.ImageUrl = url + fileName; // 清空文件上传组件 filePhoto.Reset(); } } /// /// 身份证正面上传 /// /// /// protected void fuIDCard_FileSelected(object sender, EventArgs e) { if (fuIDCard.HasFile) { string fileName = fuIDCard.ShortFileName; if (!ValidateFileType(fileName)) { ShowNotify("无效的文件类型!"); return; } fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_"); fileName = DateTime.Now.Ticks.ToString() + "_" + fileName; string url = "~/" + UploadFileService.IdCardFilePath + DateTime.Now.Year + "-" + DateTime.Now.Month + "/"; string fileMapPath = Server.MapPath(url + fileName); fuIDCard.SaveAs(fileMapPath); imgIDCard.ImageUrl = url + fileName; // 清空文件上传组件 fuIDCard.Reset(); } } /// /// 读取身份证 /// /// /// protected void btnReadIdentityCard_Click(object sender, EventArgs e) { string idUrl = imgIDCard.ImageUrl; if (!string.IsNullOrEmpty(idUrl)) { string url = Request.Url.Scheme + "://" + Request.Url.Host + ":" + Request.Url.Port + "/" + idUrl; string idInfo = APIIDCardInfoService.ReadIDCardInfo(url); if (!string.IsNullOrEmpty(idInfo)) { JObject obj = JObject.Parse(idInfo); string errcode = obj["errcode"].ToString(); if (errcode == "0") { string name = obj["name"].ToString(); if (!string.IsNullOrEmpty(name)) { this.txtPersonName.Text = name; } string id = obj["id"].ToString(); if (!string.IsNullOrEmpty(id) && this.txtIdentityCard.Text != id) { this.txtIdentityCard.Text = id; this.IdentityCardChange(); } string addr = obj["addr"].ToString(); if (!string.IsNullOrEmpty(addr)) { this.txtAddress.Text = addr; } string gender = obj["gender"].ToString(); if (!string.IsNullOrEmpty(gender)) { this.rblSex.SelectedValue = gender == "女" ? "2" : "1"; } // string nationality = obj["nationality"].ToString(); } else { Alert.ShowInParent("身份证读取失败!", MessageBoxIcon.Warning); } } } } /// /// 身份证背面上传 /// /// /// protected void fuIDCardBack_FileSelected(object sender, EventArgs e) { if (fuIDCardBack.HasFile) { string fileName = fuIDCardBack.ShortFileName; if (!ValidateFileType(fileName)) { ShowNotify("无效的文件类型!"); return; } fileName = fileName.Replace(":", "_").Replace(" ", "_").Replace("\\", "_").Replace("/", "_"); fileName = DateTime.Now.Ticks.ToString() + "_" + fileName; string url = "~/" + UploadFileService.IdCardFilePath + DateTime.Now.Year + "-" + DateTime.Now.Month + "/"; string fileMapPath = Server.MapPath(url + fileName); fuIDCardBack.SaveAs(fileMapPath); imgIDCardBack.ImageUrl = url + fileName; // 清空文件上传组件 fuIDCardBack.Reset(); } } /// /// 身份证号码 /// /// /// protected void txtIdentityCard_Blur(object sender, EventArgs e) { this.SetPersonInfoByIdCard(this.txtIdentityCard.Text.Trim()); this.IdentityCardChange(); this.SetProjectPerson(); } /// /// 根据身份证生成二维码 /// /// /// protected void btnQR_Click(object sender, EventArgs e) { this.IdentityCardChange(); } /// /// 按身份证生成二维码方法 /// private void IdentityCardChange() { this.imgQR.ImageUrl = string.Empty; bool isok = true; if (!string.IsNullOrEmpty(this.txtIdentityCard.Text)) { string idCard = this.txtIdentityCard.Text.Trim(); var q2 = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.IdentityCard == idCard && x.ProjectId == this.drpProject.SelectedValue && (x.SitePersonId != this.SitePersonId || (this.SitePersonId == null && x.SitePersonId != null))); if (q2 != null) { this.SitePersonId = q2.SitePersonId; ShowNotify("输入的身份证号码已存在!", MessageBoxIcon.Warning); } if (this.drpIdcardType.SelectedValue == "SHENFEN_ZHENGJIAN") { if (!IDCardValid.CheckIDCard(idCard)) { isok = false; ShowNotify("输入的身份证号码有误!", MessageBoxIcon.Warning); } } if (isok) { ///生成二维码 string qrUrl = BLL.CreateQRCodeService.CreateCode_Simple("person$" + idCard); imgQR.ImageUrl = ("~/" + qrUrl); DateTime? birth = IDCardValid.getBirthByIDCard(idCard); if (birth.HasValue) { this.txtBirthday.Text = string.Format("{0:yyyy-MM-dd}", birth.Value); this.txtAge.Text = IDCardValid.CalculateAgeCorrect(birth.Value).ToString(); } } } } #endregion #region 保存按钮事件 /// /// 数据保存 /// /// /// protected void btnSave_Click(object sender, EventArgs e) { ///人员信息提示 var newPerson = getSavePerson(); string personInfo = Person_PersonsService.ValidPersonInfo(newPerson); ///项目人员提示 var newProjectPerson = getSaveProjectPerson(); string projectPersonInfo = SitePerson_PersonService.ValidPersonInfo(newProjectPerson); if (string.IsNullOrEmpty(personInfo) && string.IsNullOrEmpty(projectPersonInfo)) { if (this.CurrUser.PersonId != Const.sysglyId) { if (string.IsNullOrEmpty(newPerson.PhotoUrl) || newPerson.PhotoUrl == "~/res/images/blank.png") { Alert.ShowInParent("照片不能为空!", MessageBoxIcon.Warning); return; } } if (!string.IsNullOrEmpty(newPerson.PersonId)) { this.PersonId = newPerson.PersonId; Person_PersonsService.UpdatePersonByProject(newPerson); LogService.AddSys_Log(this.CurrUser, newPerson.IdentityCard, newPerson.PersonId, BLL.Const.ProjectPersonMenuId, BLL.Const.BtnModify); } else { newPerson.IsOffice = false; this.PersonId = newPerson.PersonId = SQLHelper.GetNewID(); Person_PersonsService.AddPerson(newPerson); LogService.AddSys_Log(this.CurrUser, newPerson.IdentityCard, newPerson.PersonId, BLL.Const.ProjectPersonMenuId, BLL.Const.BtnAdd); } if (!string.IsNullOrEmpty(this.PersonId)) { if (!string.IsNullOrEmpty(newProjectPerson.SitePersonId)) { newProjectPerson.PersonId = this.PersonId; Model.Sys_Log newlog = new Sys_Log { UserId = this.CurrUser.PersonId, MenuId = Const.PersonListMenuId, OperationName = "劳务人员", OperationLog = "劳务人员修改" + newProjectPerson.PersonName, DataId = newProjectPerson.PersonId, ProjectId = newProjectPerson.ProjectId, }; SitePerson_PersonService.UpdateSitePerson(newProjectPerson, newlog); LogService.AddSys_Log(this.CurrUser, newPerson.IdentityCard, newProjectPerson.SitePersonId, BLL.Const.ProjectPersonMenuId, BLL.Const.BtnModify); } else { newProjectPerson.PersonId = this.PersonId; this.SitePersonId = newProjectPerson.SitePersonId = SQLHelper.GetNewID(); SitePerson_PersonService.AddSitePerson(newProjectPerson); LogService.AddSys_Log(this.CurrUser, newProjectPerson.IdentityCard, newProjectPerson.SitePersonId, BLL.Const.ProjectPersonMenuId, BLL.Const.BtnAdd); } Alert.ShowInParent("保存成功!", MessageBoxIcon.Success); PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference()); } else { Alert.ShowInParent("人员库信息未保存成功,请检查后重新保存!", MessageBoxIcon.Warning); } } else { string info = "提示:"; if (!string.IsNullOrEmpty(personInfo)) { info += personInfo; } if (!string.IsNullOrEmpty(projectPersonInfo)) { info += projectPersonInfo; } Alert.ShowInParent(info, MessageBoxIcon.Warning); } } #endregion #region 保存人员库信息 /// /// 保存人员库信息 /// private Model.Person_Persons getSavePerson() { Model.Person_Persons newPerson = new Model.Person_Persons { PersonId = this.PersonId, PersonName = this.txtPersonName.Text.Trim(), UnitId = this.drpUnit.SelectedValue, Account = this.txtAccount.Text.Trim(), WorkPostId = this.drpProjectWorkPost.SelectedValue == Const._Null ? null : this.drpProjectWorkPost.SelectedValue, PersonType = this.rbPersonType.SelectedValue, IsForeign = this.ckIsForeign.Checked, IdcardType = this.drpIdcardType.SelectedValue == Const._Null ? "SHENFEN_ZHENGJIAN" : this.drpIdcardType.SelectedValue, IdentityCard = this.txtIdentityCard.Text.Trim(), IdcardAddress = this.txtIdcardAddress.Text.Trim(), IdcardForever = this.rblIdcardForever.SelectedValue ?? "Y", IdcardStartDate = Funs.GetNewDateTime(this.txtIdcardStartDate.Text.Trim()), IdcardEndDate = Funs.GetNewDateTime(this.txtIdcardEndDate.Text.Trim()), Telephone = this.txtTelephone.Text.Trim(), Sex = this.rblSex.SelectedValue ?? "1", Birthday = Funs.GetNewDateTime(this.txtBirthday.Text.Trim()), Major = this.txtMajor.Text.Trim(), ForeignLanguage = this.txtForeignLanguage.Text.Trim(), CountryCode = this.drpCountryCode.SelectedValue == Const._Null ? null : this.drpCountryCode.SelectedValue, ProvinceCode = this.drpProvinceCode.SelectedValue == Const._Null ? null : this.drpProvinceCode.SelectedValue, Nation = this.drpNation.SelectedValue == Const._Null ? null : this.drpNation.SelectedValue, PoliticsStatus = this.drpPoliticsStatus.SelectedValue == Const._Null ? null : this.drpPoliticsStatus.SelectedValue, EduLevel = this.drpEduLevel.SelectedValue == Const._Null ? null : this.drpEduLevel.SelectedValue, MaritalStatus = this.drpMaritalStatus.SelectedValue == Const._Null ? null : this.drpMaritalStatus.SelectedValue, RelativeName = this.txtRelativeName.Text.Trim(), RelativeTel = this.txtRelativeTel.Text.Trim(), Address = this.txtAddress.Text.Trim(), RoleIds = Funs.GetStringByArray(this.drpProjectRole.SelectedValueArray), }; if (!string.IsNullOrEmpty(imgPhoto.ImageUrl) && imgPhoto.ImageUrl != "~/res/images/blank.png") { newPerson.PhotoUrl = imgPhoto.ImageUrl.Replace("~/", ""); newPerson.HeadImage = AttachFileService.SetImageToByteArray(Funs.RootPath + newPerson.PhotoUrl); } else { newPerson.PhotoUrl = null; newPerson.HeadImage = null; } if (!string.IsNullOrEmpty(imgQR.ImageUrl) && imgQR.ImageUrl != "~/images/QRimage.png") { newPerson.QRCodeAttachUrl = imgQR.ImageUrl.Replace("~/", ""); } else { newPerson.QRCodeAttachUrl = null; } if (!string.IsNullOrEmpty(imgIDCard.ImageUrl) && imgQR.ImageUrl != "~/res/images/idcard.png") { newPerson.IDCardUrl = imgIDCard.ImageUrl.Replace("~/", ""); } else { newPerson.IDCardUrl = null; } if (!string.IsNullOrEmpty(imgIDCardBack.ImageUrl) && imgQR.ImageUrl != "~/res/images/idcard.png") { newPerson.IDCardBackUrl = imgIDCardBack.ImageUrl.Replace("~/", ""); } else { newPerson.IDCardBackUrl = null; } return newPerson; } #endregion #region 保存项目人员信息 /// /// 保存项目人员信息 /// private Model.SitePerson_Person getSaveProjectPerson() { Model.SitePerson_Person newPerson = new Model.SitePerson_Person { SitePersonId = this.SitePersonId, PersonId = this.PersonId, PersonName = this.txtPersonName.Text.Trim(), CardNo = this.txtCardNo.Text.Trim(), IdentityCard = this.txtIdentityCard.Text.Trim(), UnitId = this.drpUnit.SelectedValue == Const._Null ? null : this.drpUnit.SelectedValue, ProjectId = this.drpProject.SelectedValue, WorkPostId = this.drpProjectWorkPost.SelectedValue, RoleIds = Funs.GetStringByArray(this.drpProjectRole.SelectedValueArray), TeamGroupId = this.drpTeamGroup.SelectedValue == Const._Null ? null : this.drpTeamGroup.SelectedValue, InTime = Funs.GetNewDateTime(this.txtInTime.Text), AuditorId = this.drpAuditor.SelectedValue == Const._Null ? null : this.drpAuditor.SelectedValue, OutTime = Funs.GetNewDateTime(this.txtOutTime.Text), OutResult = this.txtOutResult.Text.Trim(), States = string.IsNullOrEmpty(this.hdStates.Text) ? Const.ProjectPersonStates_0 : this.hdStates.Text, IsSafetyMonitoring = this.ckIsSafetyMonitoring.Checked, IsCQMSCheck = this.ckIsCQMSCheck.Checked }; if (newPerson.States == Const.ProjectPersonStates_2 || newPerson.States == Const.ProjectPersonStates_R) { newPerson.States = Const.ProjectPersonStates_0; } if (!string.IsNullOrWhiteSpace(String.Join(",", this.txtWorkArea.Values))) { newPerson.WorkAreaId = string.Join(",", txtWorkArea.Values); } if (this.drpAuditor.Items.Count() == 0 && (this.drpProjectRole.SelectedValueArray.Contains(Const.HSSEManager) || this.drpProjectRole.SelectedValueArray.Contains(Const.ProjectManager) || this.drpProjectRole.SelectedValueArray.Contains(Const.ConstructionManager))) { newPerson.AuditorId = this.PersonId; newPerson.States = Const.ProjectPersonStates_1; newPerson.AuditorDate = DateTime.Now; } if (this.Type == "P") { newPerson.AuditorId = newPerson.AuditorId ?? this.CurrUser.PersonId; newPerson.States = Const.ProjectPersonStates_1; newPerson.AuditorDate = DateTime.Now; } return newPerson; } #endregion #region 验证账号是否存在 /// /// 验证账号是否存在 /// /// /// protected void txtAccount_Blur(object sender, EventArgs e) { if (!string.IsNullOrEmpty(this.txtAccount.Text)) { string acc = this.txtAccount.Text.Trim(); var q2 = Funs.DB.Person_Persons.FirstOrDefault(x => x.Account == acc && (x.PersonId != this.PersonId || (this.PersonId == null && x.PersonId != null))); if (q2 != null) { ShowNotify("输入的账号已存在已存在!", MessageBoxIcon.Warning); } } } #endregion #region 人员状态审核 /// /// 审核通过 /// /// /// protected void btnAudit_Click(object sender, EventArgs e) { SitePerson_PersonService.SetSitePerson_PersonStates(this.SitePersonId, Const.ProjectPersonStates_1, DateTime.Now); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 打回 /// /// /// protected void btnRepulse_Click(object sender, EventArgs e) { SitePerson_PersonService.SetSitePerson_PersonStates(this.SitePersonId, Const.ProjectPersonStates_R, DateTime.Now); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } /// /// 离岗 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { SitePerson_PersonService.SetSitePerson_PersonStates(this.SitePersonId, Const.ProjectPersonStates_2, Funs.GetNewDateTime(this.txtOutTime.Text)); PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference()); } #endregion #region 证书信息 /// /// /// private void getInitGridCertificate() { Funs.DropDownPageSize(this.ddlPageSizeGridCertificate); this.btnCertificateNew.OnClientClick = Window1.GetShowReference("../HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId=" + this.PersonId) + "return false;"; 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}", GridCertificate.SelectedRowID, "编辑 - "))); } /// /// 删除证书信息 /// /// /// protected void btnCertificateDelete_Click(object sender, EventArgs e) { if (GridCertificate.SelectedRowIndexArray.Length > 0) { PersonQualityService.DeleteData(GridCertificate.SelectedRowID); BindGridCertificate(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #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); this.btnInOutNew.OnClientClick = Window1.GetShowReference("PersonItemEdit.aspx?PersonId=" + this.PersonId) + "return false;"; 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}", GridInOut.SelectedRowID, "编辑 - "))); } /// /// 删除证书信息 /// /// /// protected void btnInOutDelete_Click(object sender, EventArgs e) { if (GridInOut.SelectedRowIndexArray.Length > 0) { SitePerson_PersonItemService.DeletePersonItem(GridInOut.SelectedRowID); BindGridInOut(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #endregion #endregion #region 合同信息 /// /// /// private void getInitGridContract() { Funs.DropDownPageSize(this.ddlPageSizeGridContract); this.btnContractNew.OnClientClick = Window1.GetShowReference("PersonContractEdit.aspx?PersonId=" + this.PersonId) + "return false;"; 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}", GridContract.SelectedRowID, "编辑 - "))); } /// /// 删除合同信息 /// /// /// protected void btnContractDelete_Click(object sender, EventArgs e) { if (GridContract.SelectedRowIndexArray.Length > 0) { Person_PersonContractService.DeleteData(GridContract.SelectedRowID); BindGridContract(); ShowNotify("删除数据成功!", MessageBoxIcon.Success); } } #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 ///// ///// 上传附件 ///// ///// ///// //protected void btnAttachUrl2_Click(object sender, EventArgs e) //{ // if (string.IsNullOrEmpty(this.PersonId)) // { // btnSave_Click(); // } // PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/PersonBaseInfo&menuId={1}&strParam=2", this.PersonId, BLL.Const.PersonListMenuId))); //} ///// ///// 上传附件 ///// ///// ///// //protected void btnAttachUrl3_Click(object sender, EventArgs e) //{ // if (string.IsNullOrEmpty(this.PersonId)) // { // SaveData(); // } // PageContext.RegisterStartupScript(WindowAtt.GetShowReference(String.Format("~/AttachFile/webuploader.aspx?toKeyId={0}&path=FileUpload/PersonBaseInfo&menuId={1}&strParam=3", this.PersonId, BLL.Const.PersonListMenuId))); //} } }