SGGL_SGY/SUBQHSE/FineUIPro.Web/SHIYE/Person/ShowPerson.aspx.cs

224 lines
8.6 KiB
C#
Raw Normal View History

2025-02-19 15:58:42 +08:00
using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
2025-05-08 14:26:36 +08:00
namespace FineUIPro.Web.SHIYE.Person
2025-02-19 15:58:42 +08:00
{
public partial class ShowPerson : PageBase
{
#region
/// <summary>
/// 主键
/// </summary>
public string TrainingId
{
get
{
return (string)ViewState["TrainingId"];
}
set
{
ViewState["TrainingId"] = value;
}
}
///// <summary>
///// GV被选择项列表
///// </summary>
//public List<string> ItemSelectedList
//{
// get
// {
// return (List<string>)ViewState["ItemSelectedList"];
// }
// set
// {
// ViewState["ItemSelectedList"] = value;
// }
//}
/// <summary>
/// 项目id
/// </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)
{
this.ProjectId = this.CurrUser.LoginProjectId;
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.ProjectId)
{
this.ProjectId = Request.Params["projectId"];
2025-05-08 14:26:36 +08:00
}
2025-02-19 15:58:42 +08:00
//单位
BLL.UnitService.InitUnitDropDownList(this.drpUnit, this.ProjectId, true);
2025-05-08 14:26:36 +08:00
this.TrainingId = Request.Params["TrainingId"];
2025-02-19 15:58:42 +08:00
// 绑定表格
BindGrid();
}
}
#endregion
#region
2025-05-08 14:26:36 +08:00
/// <summary>
2025-02-19 15:58:42 +08:00
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
if (Grid1.SelectedRowIndexArray.Length > 0)
{
foreach (int rowIndex in Grid1.SelectedRowIndexArray)
{
string personId = Grid1.DataKeys[rowIndex][0].ToString();
2025-05-08 14:26:36 +08:00
var trainRecordDetail = BLL.SY_EduTrain_TrainRecordDetailService.GetTrainDetailByPersonIdTrainingId(this.TrainingId, personId);
2025-02-19 15:58:42 +08:00
if (trainRecordDetail == null && !string.IsNullOrEmpty(personId))
{
2025-05-08 14:26:36 +08:00
Model.SY_EduTrain_TrainRecordDetail detail = new Model.SY_EduTrain_TrainRecordDetail
2025-02-19 15:58:42 +08:00
{
TrainingId = this.TrainingId,
PersonId = personId,
CheckResult = true,
CheckScore = 100
};
detail.CheckScore = null;
2025-05-08 14:26:36 +08:00
BLL.SY_EduTrain_TrainRecordDetailService.AddTrainDetail(detail);
2025-02-19 15:58:42 +08:00
}
}
///更新培训人数
2025-05-08 14:26:36 +08:00
var train = BLL.SY_EduTrain_TrainRecordService.GetTrainingByTrainingId(this.TrainingId);
2025-02-19 15:58:42 +08:00
if (train != null)
{
2025-05-08 14:26:36 +08:00
var item = BLL.SY_EduTrain_TrainRecordDetailService.GetTrainRecordDetailByTrainingId(this.TrainingId);
2025-02-19 15:58:42 +08:00
train.TrainPersonNum = item.Count();
2025-05-08 14:26:36 +08:00
BLL.SY_EduTrain_TrainRecordService.UpdateTraining(train);
2025-02-19 15:58:42 +08:00
}
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
else
{
Alert.ShowInParent("请至少选择一条记录!");
return;
}
}
#endregion
#region
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid()
2025-05-08 14:26:36 +08:00
{
2025-02-19 15:58:42 +08:00
string type = Request.Params["TrainTypeId"];
var trainType = BLL.TrainTypeService.GetTrainTypeById(type);
if (trainType != null)
{
2025-05-08 14:26:36 +08:00
string strSql = @"SELECT viewPerSon.PersonId,viewPerSon.UnitName,viewPerSon.PersonName,viewPerSon.OrderNo,WorkPostName,viewPerSon.IdentityCard,InstallationName,InTime "
+ @" FROM View_SY_Person AS viewPerSon "
//+ @" LEFT JOIN SY_EduTrain_TrainRecordDetail AS TrainRecordDetail ON viewPerSon.PersonId=TrainRecordDetail.PersonId "
//+ @" LEFT JOIN SY_EduTrain_TrainRecord AS TrainRecord ON TrainRecord.TrainingId=TrainRecordDetail.TrainingId "
2025-02-19 15:58:42 +08:00
+ @" WHERE viewPerSon.ProjectId='" + this.ProjectId + "' AND viewPerSon.IsUsed='1' ";
2025-05-08 14:26:36 +08:00
2025-02-19 15:58:42 +08:00
List<SqlParameter> listStr = new List<SqlParameter>();
2025-05-08 14:26:36 +08:00
if (BLL.SY_EduTrain_TrainRecordDetailService.GetTrainRecordDetailByTrainingId(this.TrainingId).Count() > 0)
2025-02-19 15:58:42 +08:00
{
2025-05-08 14:26:36 +08:00
strSql += @" AND (viewPerSon.PersonId NOT IN (SELECT PersonId FROM SY_EduTrain_TrainRecord AS R
LEFT JOIN SY_EduTrain_TrainRecordDetail AS D ON R.TrainingId = D.TrainingId
2025-02-19 15:58:42 +08:00
WHERE R.ProjectId='" + this.ProjectId + "' AND R.TrainingId = '" + this.TrainingId + "'))";
}
if (!trainType.IsRepeat.HasValue || trainType.IsRepeat == false)
{
strSql += @" AND viewPerSon.PersonId NOT IN
2025-05-08 14:26:36 +08:00
(SELECT PersonId FROM SY_EduTrain_TrainRecord AS R
LEFT JOIN SY_EduTrain_TrainRecordDetail AS D ON R.TrainingId = D.TrainingId
2025-02-19 15:58:42 +08:00
WHERE R.ProjectId='" + this.ProjectId + "' AND R.TrainTypeId ='" + type + "' AND D.CheckResult = 1)";
}
2025-05-08 14:26:36 +08:00
2025-02-19 15:58:42 +08:00
if (this.drpUnit.SelectedValue != BLL.Const._Null)
{
strSql += " AND viewPerSon.UnitId=@UnitId";
listStr.Add(new SqlParameter("@UnitId", this.drpUnit.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim()))
{
strSql += " AND viewPerSon.PersonName LIKE @PersonName";
listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%"));
}
if (!string.IsNullOrEmpty(this.txtCardNo.Text.Trim()))
{
2025-05-08 14:26:36 +08:00
strSql += " AND viewPerSon.OrderNo LIKE @OrderNo";
listStr.Add(new SqlParameter("@OrderNo", "%" + this.txtCardNo.Text.Trim() + "%"));
2025-02-19 15:58:42 +08:00
}
if (!string.IsNullOrEmpty(this.txtWorkPostName.Text.Trim()))
{
strSql += " AND viewPerSon.WorkPostName LIKE @WorkPostName";
listStr.Add(new SqlParameter("@WorkPostName", "%" + this.txtWorkPostName.Text.Trim() + "%"));
}
if (ckPostType2.Checked)
{
strSql += " AND viewPerSon.PostType = @PostType";
listStr.Add(new SqlParameter("@PostType", BLL.Const.PostType_2));
}
2025-05-08 14:26:36 +08:00
strSql += " group by viewPerSon.PersonId,viewPerSon.UnitName,viewPerSon.PersonName,viewPerSon.OrderNo,WorkPostName,viewPerSon.IdentityCard,InstallationName,InTime";
2025-02-19 15:58:42 +08:00
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
Grid1.RecordCount = tb.Rows.Count;
var table1 = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table1;
Grid1.DataBind();
}
2025-05-08 14:26:36 +08:00
}
2025-02-19 15:58:42 +08:00
#endregion
#region
/// <summary>
/// Grid1排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid1_Sort(object sender, GridSortEventArgs e)
2025-05-08 14:26:36 +08:00
{
2025-02-19 15:58:42 +08:00
Grid1.SortDirection = e.SortDirection;
Grid1.SortField = e.SortField;
BindGrid();
}
#endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox_TextChanged(object sender, EventArgs e)
2025-05-08 14:26:36 +08:00
{
2025-02-19 15:58:42 +08:00
this.BindGrid();
2025-05-08 14:26:36 +08:00
}
2025-02-19 15:58:42 +08:00
}
}