xinjiang/SGGL/FineUIPro.Web/HSSE/SitePerson/PersonInfoEdit.aspx.cs

286 lines
11 KiB
C#

using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
namespace FineUIPro.Web.HSSE.SitePerson
{
public partial class PersonInfoEdit : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
#endregion
#region
/// <summary>
/// 加载页面
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
btnClose.OnClientClick = ActiveWindow.GetHideReference();
this.ProjectId = this.CurrUser.LoginProjectId;
///区域下拉框
BLL.UnitWorkService.InitUnitWorkDownList(this.drpWorkArea, this.ProjectId, true);
UnitService.InitUnitDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, true);
if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId))
{
this.drpUnit.SelectedValue = this.CurrUser.UnitId;
this.drpUnit.Enabled = false;
}
BindGrid(string.Empty);
string personInOutId = Request.Params["PersonInOutId"];
if (!string.IsNullOrEmpty(Request.Params["type"]))
{
this.btnSave.Hidden = true;
this.drpPersonId.Readonly = true;
this.drpWorkArea.Hidden = true;
this.drpType.Readonly = true;
}
if (!string.IsNullOrEmpty(personInOutId))
{
var getData = BLL.PersonInOutService.GetPersonInOutById(personInOutId);
if (getData != null)
{
this.ProjectId = getData.ProjectId;
if (!string.IsNullOrEmpty(getData.PersonId))
{
BindGrid(getData.PersonId);
this.drpPersonId.Value = getData.PersonId;
}
this.txtIdCard.Text = getData.IdentityCard;
this.txtWorkArea.Text = getData.WorkAreaName;
this.drpWorkArea.SelectedValue = getData.WorkAreaId;
this.txtAddress.Text = getData.Address;
this.txtTime.Text = string.Format("{0:yyyy-MM-dd}", getData.ChangeTime);
this.txtTime2.Text = string.Format("{0:HH:mm:ss}", getData.ChangeTime);
if (getData.IsIn.Value)
{
this.drpType.SelectedValue = "True";
}
else
{
this.drpType.SelectedValue = "False";
}
}
}
else
{
this.txtTime.Text = string.Format("{0:yyyy-MM-dd}", DateTime.Now);
this.txtTime2.Text = string.Format("{0:HH:mm:ss}", DateTime.Now);
}
}
}
#endregion
#region DropDownList下拉选择事件
/// <summary>
/// 人员下拉框选择
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpPersonId_TextChanged(object sender, EventArgs e)
{
if (!string.IsNullOrEmpty(this.drpPersonId.Value))
{
string idCards = string.Empty;
string workAreaIds = string.Empty;
string workAreaNames = string.Empty;
foreach (var item in this.drpPersonId.Values)
{
var person = BLL.PersonService.GetPersonById(item);
if (person != null)
{
idCards += person.IdentityCard + ",";
workAreaIds += person.WorkAreaId;
if (!string.IsNullOrEmpty(person.WorkAreaId))
{
workAreaNames += BLL.UnitWorkService.getUnitWorkByUnitWorkId(person.WorkAreaId).UnitWorkName + ",";
}
}
}
if (!string.IsNullOrEmpty(idCards))
{
this.txtIdCard.Text = idCards.Substring(0, idCards.LastIndexOf(','));
}
if (!string.IsNullOrEmpty(workAreaIds))
{
this.drpWorkArea.SelectedValueArray = workAreaIds.Split(',');
}
if (!string.IsNullOrEmpty(workAreaNames))
{
this.txtWorkArea.Text = workAreaNames.Substring(0, workAreaNames.LastIndexOf(','));
}
}
}
#endregion
#region
/// <summary>
/// 区域选择框事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void drpWorkArea_SelectedIndexChanged(object sender, EventArgs e)
{
string selectName = string.Empty;
foreach (var item in this.drpWorkArea.SelectedValueArray)
{
if (item != Const._Null)
{
string text = this.drpWorkArea.Items.FindByValue(item).Text;
if (string.IsNullOrEmpty(selectName))
{
selectName = text;
}
else
{
selectName += ","+ text;
}
}
}
this.txtWorkArea.Text = selectName;
this.drpWorkArea.SelectedValueArray = Funs.RemoveDropDownListNull(this.drpWorkArea.SelectedValueArray);
}
#endregion
#region
/// <summary>
/// 下拉框查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
{
this.BindGrid(string.Empty);
}
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid(string personId)
{
string strSql = @"SELECT Person.PersonId,Person.CardNo,Person.PersonName,Person.IdentityCard,Person.UnitId,Person.WorkPostId,Unit.UnitName,WorkPost.WorkPostName "
+ @" FROM SitePerson_Person AS Person "
+ @" LEFT JOIN Base_Unit AS Unit ON Unit.UnitId = Person.UnitId "
+ @" LEFT JOIN Base_WorkPost AS WorkPost ON WorkPost.WorkPostId = Person.WorkPostId "
+@" WHERE IsUsed =1 AND (OutTime IS NULL OR OutTime > GETDATE()) AND ProjectId='" + this.ProjectId + "'";
List<SqlParameter> listStr = new List<SqlParameter>();
//if (!string.IsNullOrEmpty(this.txtCardNo.Text.Trim()))
//{
// strSql += " AND Person.CardNo LIKE @CardNo";
// listStr.Add(new SqlParameter("@CardNo", "%" + this.txtCardNo.Text.Trim() + "%"));
//}
if (this.drpUnit.SelectedValue != Const._Null)
{
strSql += " AND Person.UnitId = @UnitId";
listStr.Add(new SqlParameter("@UnitId", this.drpUnit.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND Person.PersonName LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtIdentityCard.Text.Trim()))
{
strSql += " AND Person.IdentityCard LIKE @IdentityCard";
listStr.Add(new SqlParameter("@IdentityCard", "%" + this.txtIdentityCard.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(personId))
{
strSql += " AND Person.PersonId = @PersonId";
listStr.Add(new SqlParameter("@PersonId", personId));
}
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
#endregion
#region
/// <summary>
/// 保存按钮
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(this.drpPersonId.Value))
{
ShowNotify("请选择人员!", MessageBoxIcon.Warning);
return;
}
// string[] personIds = this.drpPersonId.Value.Split(',');
foreach (var item in this.drpPersonId.Values)
{
Model.SitePerson_PersonInOut newPersonInfo = new Model.SitePerson_PersonInOut
{
PersonId = item,
ProjectId = this.ProjectId,
WorkAreaName = this.txtWorkArea.Text.Trim(),
Address = this.txtAddress.Text.Trim(),
InOutWay = Const.InOutWay_2,
};
if (!string.IsNullOrEmpty(this.drpWorkArea.SelectedValue))
{
newPersonInfo.WorkAreaId = this.drpWorkArea.SelectedValue;
}
string date = string.IsNullOrEmpty(this.txtTime.Text) ? string.Format("{0:yyyy-MM-dd}", DateTime.Now) : this.txtTime.Text.Trim();
string time = string.IsNullOrEmpty(this.txtTime2.Text) ? string.Format("{0:HH:mm:ss}", DateTime.Now) : this.txtTime2.Text.Trim();
newPersonInfo.ChangeTime = Funs.GetNewDateTimeOrNow(date + " " + time);
if (this.drpType.SelectedValue == "1")
{
newPersonInfo.IsIn = true;
}
else
{
newPersonInfo.IsIn = false;
}
BLL.PersonInOutService.AddPersonInOut(newPersonInfo);
BLL.LogService.AddSys_Log(this.CurrUser, newPersonInfo.IdentityCard, newPersonInfo.PersonInOutId, BLL.Const.PersonalInfoMenuId, BLL.Const.BtnDelete);
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
#region rbl选择事件
/// <summary>
/// 自动、手动选择事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void rblCheck_SelectedIndexChanged(object sender, EventArgs e)
{
if (rblCheck.SelectedValue == "自动")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("PersonAutoDetail.aspx", "编辑 - ")));
}
}
#endregion
}
}