286 lines
11 KiB
C#
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
|
|
}
|
|
} |