SGGL_SHJ/SGGL/FineUIPro.Web/Person/ProjectPersonEdit.aspx.cs

1396 lines
56 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
/// <summary>
/// 人员主键
/// </summary>
public string PersonId
{
get
{
return (string)ViewState["PersonId"];
}
set
{
ViewState["PersonId"] = value;
}
}
/// <summary>
/// 项目人员ID
/// </summary>
public string SitePersonId
{
get
{
return (string)ViewState["SitePersonId"];
}
set
{
ViewState["SitePersonId"] = value;
}
}
/// <summary>
/// 人员分配类型 P-派遣 Shunt-分流
/// </summary>
public string Type
{
get
{
return (string)ViewState["Type"];
}
set
{
ViewState["Type"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 获取按钮权限
/// </summary>
/// <param name="button"></param>
/// <returns></returns>
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
/// <summary>
/// 根据身份证号码获取人员信息
/// </summary>
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();
}
}
}
/// <summary>
/// 设置人员信息
/// </summary>
/// <param name="person"></param>
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
/// <summary>
/// 初始化项目人员信息
/// </summary>
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
/// <summary>
/// 初始化下拉框
/// </summary>
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");
}
/// <summary>
/// 初始化下拉框- 项目相关
/// </summary>
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
/// <summary>
/// 项目下拉框事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpProject_SelectedIndexChanged(object sender, EventArgs e)
{
InitDropDownListProject();
}
#endregion
#region
/// <summary>
/// 角色下拉框事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 头像上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
/// <summary>
/// 身份证正面上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
/// <summary>
/// 读取身份证
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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);
}
}
}
}
/// <summary>
/// 身份证背面上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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();
}
}
/// <summary>
/// 身份证号码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void txtIdentityCard_Blur(object sender, EventArgs e)
{
this.SetPersonInfoByIdCard(this.txtIdentityCard.Text.Trim());
this.IdentityCardChange();
this.SetProjectPerson();
}
/// <summary>
/// 根据身份证生成二维码
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnQR_Click(object sender, EventArgs e)
{
this.IdentityCardChange();
}
/// <summary>
/// 按身份证生成二维码方法
/// </summary>
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
/// <summary>
/// 数据保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 保存人员库信息
/// </summary>
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
/// <summary>
/// 保存项目人员信息
/// </summary>
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
/// <summary>
/// 验证账号是否存在
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
/// 审核通过
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAudit_Click(object sender, EventArgs e)
{
SitePerson_PersonService.SetSitePerson_PersonStates(this.SitePersonId, Const.ProjectPersonStates_1, DateTime.Now);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
/// <summary>
/// 打回
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnRepulse_Click(object sender, EventArgs e)
{
SitePerson_PersonService.SetSitePerson_PersonStates(this.SitePersonId, Const.ProjectPersonStates_R, DateTime.Now);
PageContext.RegisterStartupScript(ActiveWindow.GetHideRefreshReference());
}
/// <summary>
/// 离岗
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
///
/// </summary>
private void getInitGridCertificate()
{
Funs.DropDownPageSize(this.ddlPageSizeGridCertificate);
this.btnCertificateNew.OnClientClick = Window1.GetShowReference("../HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId=" + this.PersonId) + "return false;";
BindGridCertificate();
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGridCertificate()
{
var getData = PersonQualityService.getListData(this.PersonId, GridCertificate);
GridCertificate.RecordCount = PersonQualityService.count;
GridCertificate.DataSource = getData;
GridCertificate.DataBind();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridCertificate_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridCertificate();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSizeGridCertificate_SelectedIndexChanged(object sender, EventArgs e)
{
GridCertificate.PageSize = Convert.ToInt32(ddlPageSizeGridCertificate.SelectedValue);
BindGridCertificate();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridCertificate_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridCertificate();
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridCertificate_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditDataCertificate();
}
protected void btnCertificateEdit_Click(object sender, EventArgs e)
{
this.EditDataCertificate();
}
/// <summary>
/// 编辑数据方法
/// </summary>
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, "编辑 - ")));
}
/// <summary>
/// 删除证书信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnCertificateDelete_Click(object sender, EventArgs e)
{
if (GridCertificate.SelectedRowIndexArray.Length > 0)
{
PersonQualityService.DeleteData(GridCertificate.SelectedRowID);
BindGridCertificate();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#endregion
#region
/// <summary>
///
/// </summary>
private void getInitGridTestRecord()
{
Funs.DropDownPageSize(this.ddlPageSizeGridTestRecord);
BindGridTestRecord();
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGridTestRecord()
{
var getData = TestRecordService.getListData(this.PersonId, GridTestRecord);
GridTestRecord.RecordCount = TestRecordService.count;
GridTestRecord.DataSource = getData;
GridTestRecord.DataBind();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridTestRecord_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridTestRecord();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSizeGridTestRecord_SelectedIndexChanged(object sender, EventArgs e)
{
GridTestRecord.PageSize = Convert.ToInt32(ddlPageSizeGridTestRecord.SelectedValue);
BindGridTestRecord();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridTestRecord_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridTestRecord();
}
#endregion
#endregion
#region
/// <summary>
///
/// </summary>
private void getInitGridInOut()
{
Funs.DropDownPageSize(this.ddlPageSizeGridInOut);
this.btnInOutNew.OnClientClick = Window1.GetShowReference("PersonItemEdit.aspx?PersonId=" + this.PersonId) + "return false;";
BindGridInOut();
}
#region
/// <summary>
/// 绑定数据
/// </summary>
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
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridInOut_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridInOut();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSizeGridInOut_SelectedIndexChanged(object sender, EventArgs e)
{
GridInOut.PageSize = Convert.ToInt32(ddlPageSizeGridInOut.SelectedValue);
BindGridInOut();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridInOut_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridInOut();
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridInOut_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditDataInOut();
}
protected void btnInOutEdit_Click(object sender, EventArgs e)
{
this.EditDataInOut();
}
/// <summary>
/// 编辑数据方法
/// </summary>
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, "编辑 - ")));
}
/// <summary>
/// 删除证书信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
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
/// <summary>
///
/// </summary>
private void getInitGridContract()
{
Funs.DropDownPageSize(this.ddlPageSizeGridContract);
this.btnContractNew.OnClientClick = Window1.GetShowReference("PersonContractEdit.aspx?PersonId=" + this.PersonId) + "return false;";
BindGridContract();
}
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGridContract()
{
var getData = Person_PersonContractService.getListData(this.PersonId, GridContract);
GridContract.RecordCount = Person_PersonContractService.count;
GridContract.DataSource = getData;
GridContract.DataBind();
}
#endregion
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridContract_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGridContract();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSizeGridContract_SelectedIndexChanged(object sender, EventArgs e)
{
GridContract.PageSize = Convert.ToInt32(ddlPageSizeGridContract.SelectedValue);
BindGridContract();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridContract_Sort(object sender, FineUIPro.GridSortEventArgs e)
{
BindGridContract();
}
#endregion
#region
/// <summary>
/// 双击事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridContract_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
this.EditDataContract();
}
protected void btnContractEdit_Click(object sender, EventArgs e)
{
this.EditDataContract();
}
/// <summary>
/// 编辑数据方法
/// </summary>
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, "编辑 - ")));
}
/// <summary>
/// 删除合同信息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnContractDelete_Click(object sender, EventArgs e)
{
if (GridContract.SelectedRowIndexArray.Length > 0)
{
Person_PersonContractService.DeleteData(GridContract.SelectedRowID);
BindGridContract();
ShowNotify("删除数据成功!", MessageBoxIcon.Success);
}
}
#endregion
#region
/// <summary>
/// 获取合同有效期
/// </summary>
/// <param name="personContractId"></param>
/// <returns></returns>
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
///// <summary>
///// 上传附件
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//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)));
//}
///// <summary>
///// 上传附件
///// </summary>
///// <param name="sender"></param>
///// <param name="e"></param>
//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)));
//}
}
}