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

248 lines
9.1 KiB
C#

using BLL;
using Model;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.HSSE.SitePerson
{
public partial class PersonAskForLeaveEdit : PageBase
{
#region
/// <summary>
/// 项目主键
/// </summary>
public string LeaveId
{
get
{
return (string)ViewState["LeaveId"];
}
set
{
ViewState["LeaveId"] = value;
}
}
public string UnitId
{
get
{
return (string)ViewState["UnitId"];
}
set
{
ViewState["UnitId"] = 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();
///区域下拉框
UnitService.InitUnitDropDownList(this.drpUnit, this.CurrUser.LoginProjectId, true);
var basicData = Funs.DB.RealName_BasicData.Where(x => x.DictTypeCode == "KAOQINLEIBIE_TYPE");
dpType.DataValueField = "BasicDataId";
dpType.DataTextField = "DictName";
dpType.DataSource= basicData;
dpType.DataBind();
Funs.FineUIPleaseSelect(dpType);
if (ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.CurrUser.LoginProjectId, this.CurrUser.UnitId))
{
this.drpUnit.SelectedValue = this.CurrUser.UnitId;
this.drpUnit.Enabled = false;
}
BindGrid(string.Empty);
LeaveId = Request.Params["LeaveId"];
if (!string.IsNullOrEmpty(LeaveId))
{
var getData = Funs.DB.SitePerson_AskForLeave.FirstOrDefault(x=>x.LeaveId== LeaveId);
if (getData != null)
{
if (!string.IsNullOrEmpty(getData.PersonId))
{
BindGrid(getData.PersonId);
this.drpPersonId.Value = getData.PersonId;
}
if (!string.IsNullOrEmpty(getData.Type))
{
this.dpType.SelectedValue = getData.Type;
}
this.txtRemark.Text = getData.Remark;
this.txtReason.Text = getData.Reason;
this.dpDateA.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getData.DateA);
this.dpDateZ.Text = string.Format("{0:yyyy-MM-dd HH:mm}", getData.DateZ);
}
}
else
{
this.dpDateA.Text = string.Format("{0:yyyy-MM-dd HH:mm}", DateTime.Now);
this.dpDateZ.Text = string.Format("{0:yyyy-MM-dd HH:mm}", 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))
{
var person = BLL.PersonService.GetPersonById(this.drpPersonId.Value);
if (person != null)
{
UnitId = person.UnitId;
}
}
}
#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.CurrUser.LoginProjectId + "'";
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;
}
Model.SitePerson_AskForLeave newPersonInfo = null;
if (!string.IsNullOrEmpty(LeaveId))
{
newPersonInfo = Funs.DB.SitePerson_AskForLeave.FirstOrDefault(x => x.LeaveId == LeaveId);
}
else
{
newPersonInfo = new Model.SitePerson_AskForLeave
{
PersonId = this.drpPersonId.Value,
ProjectId = this.CurrUser.LoginProjectId,
Reason = this.txtReason.Text.Trim(),
Remark = this.txtRemark.Text.Trim()
};
}
var person = Funs.DB.SitePerson_Person.FirstOrDefault(x => x.PersonId == this.drpPersonId.Value);
if (person != null)
{
newPersonInfo.UnitId = person.UnitId;
newPersonInfo.PersonName = person.PersonName;
}
newPersonInfo.DateA = Funs.GetNewDateTimeOrNow(dpDateA.Text + ":00");
newPersonInfo.DateZ = Funs.GetNewDateTimeOrNow(dpDateZ.Text + ":00");
newPersonInfo.Reason= this.txtReason.Text.Trim();
newPersonInfo.Remark= this.txtRemark.Text.Trim();
newPersonInfo.CreateMan = this.CurrUser.UserId;
newPersonInfo.CreateDate = DateTime.Now;
if (!string.IsNullOrEmpty(dpType.SelectedValue)&& dpType.SelectedValue!= BLL.Const._Null)
{
newPersonInfo.Type = dpType.SelectedValue;
}
if (string.IsNullOrEmpty(LeaveId))
{
newPersonInfo.LeaveId = Guid.NewGuid().ToString();
Funs.DB.SitePerson_AskForLeave.InsertOnSubmit(newPersonInfo);
}
Funs.DB.SubmitChanges();
BLL.LogService.AddSys_Log(this.CurrUser, newPersonInfo.PersonId, newPersonInfo.PersonId, BLL.Const.PersonAskForLeaveListMenuId, BLL.Const.BtnDelete);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
#endregion
}
}