using BLL;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
namespace FineUIPro.Web.DataShow
{
public partial class EduTrain : PageBase
{
#region 加载页面
///
/// 加载页面
///
///
///
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Funs.DropDownPageSize(this.ddlPageSize);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
BLL.ProjectService.InitProjectDropDownList(this.drpProject, true);
// 绑定表格t
BindGrid();
this.Panel1.Title = "安全教育(" + BLL.UnitService.GetUnitNameByUnitId(BLL.Const.UnitId_CWCEC) + ")";
}
}
///
/// 绑定数据
///
private void BindGrid()
{
string strSql = string.Empty;
List listStr = new List();
List listStrSum = new List();
//strSql = @"select TrainRecord.TrainTypeId,TrainRecord.TrainingId,
// TrainRecord.TrainTitle,
// Project.ProjectId,
// Project.ProjectCode,
// Project.ProjectName,
// TrainRecord.TrainStartDate,
// TrainRecord.TrainEndDate,
// TrainRecord.TrainPersonNum,
// UnitName= STUFF((SELECT ',' + UnitName FROM dbo.Base_Unit where PATINDEX('%,' + RTRIM(UnitId) + ',%',',' +TrainRecord.UnitIds + ',')>0 FOR XML PATH('')), 1, 1,'')
// from EduTrain_TrainRecord AS TrainRecord
// LEFT JOIN Base_TrainType AS TrainType ON TrainRecord.TrainTypeId=TrainType.TrainTypeId
// LEFT JOIN Base_Project AS Project ON TrainRecord.ProjectId=Project.ProjectId
// WHERE 1=1 ";
//strSql += " AND TrainRecord.TrainTypeId =@TrainType";
//listStr.Add(new SqlParameter("@TrainType", this.rbType.SelectedValue));
//当前页数
int pageIndex = Grid1.PageIndex + 1;
//每页显示条数
int pageSize = Grid1.PageSize;
strSql = @"select*from(
select ROW_NUMBER() OVER(Order by ProjectCode desc) AS RowNumber,
* from (
select
'本系统' as Ttype,
TrainRecord.TrainTypeId,
TrainRecord.TrainingId,
TrainRecord.TrainTitle,
Project.ProjectId,
Project.ProjectCode,
Project.ProjectName,
TrainRecord.TrainStartDate,
TrainRecord.TrainEndDate,
TrainRecord.TrainPersonNum,
UnitName= STUFF((SELECT ',' + UnitName FROM dbo.Base_Unit where PATINDEX('%,' + RTRIM(UnitId) + ',%',',' +TrainRecord.UnitIds + ',')>0 FOR XML PATH('')), 1, 1,'')
from EduTrain_TrainRecord AS TrainRecord
LEFT JOIN Base_TrainType AS TrainType ON TrainRecord.TrainTypeId=TrainType.TrainTypeId
LEFT JOIN Base_Project AS Project ON TrainRecord.ProjectId=Project.ProjectId
where Project.ProjectState ='1'
UNION ALL
select
'博晟' as Ttype,
TrainType as TrainTypeId,
Id as TrainingId,
RecordName as TrainTitle,
Project.ProjectId,
Project.ProjectCode,
Project.ProjectName,
TrainStartDate,
TrainEndDate,
PersonCount as TrainPersonNum,
TrainDepart as UnitName
From Bo_Sheng_Train F
LEFT JOIN Base_Project AS Project ON F.ProjectId=Project.ProjectId
where Project.ProjectState ='1'
)f WHERE 1=1 ";
#region 总数
var strSqlSum = @"select Count(*)as allCount from(
select ROW_NUMBER() OVER(Order by ProjectCode desc) AS RowNumber,
* from (
select
'1' as Ttype,
TrainRecord.TrainTypeId,
TrainRecord.TrainingId,
TrainRecord.TrainTitle,
Project.ProjectId,
Project.ProjectCode,
Project.ProjectName,
TrainRecord.TrainStartDate,
TrainRecord.TrainEndDate,
TrainRecord.TrainPersonNum,
UnitName= STUFF((SELECT ',' + UnitName FROM dbo.Base_Unit where PATINDEX('%,' + RTRIM(UnitId) + ',%',',' +TrainRecord.UnitIds + ',')>0 FOR XML PATH('')), 1, 1,'')
from EduTrain_TrainRecord AS TrainRecord
LEFT JOIN Base_TrainType AS TrainType ON TrainRecord.TrainTypeId=TrainType.TrainTypeId
LEFT JOIN Base_Project AS Project ON TrainRecord.ProjectId=Project.ProjectId
where Project.ProjectState ='1'
UNION ALL
select
'博晟' as Ttype,
TrainType as TrainTypeId,
Id as TrainingId,
RecordName as TrainTitle,
Project.ProjectId,
Project.ProjectCode,
Project.ProjectName,
TrainStartDate,
TrainEndDate,
PersonCount as TrainPersonNum,
TrainDepart as UnitName
From Bo_Sheng_Train F
LEFT JOIN Base_Project AS Project ON F.ProjectId=Project.ProjectId
WHERE Project.ProjectState ='1'
)f WHERE 1=1 " ;
#endregion
if (this.drpProject.SelectedValue != Const._Null)
{
strSql += " AND ProjectId = @ProjectId";
listStr.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue));
strSqlSum += " AND ProjectId = @ProjectId";
listStrSum.Add(new SqlParameter("@ProjectId", this.drpProject.SelectedValue));
}
if (!string.IsNullOrEmpty(this.txtStartTime.Text))
{
strSql += " AND TrainStartDate >=@StartTime";
listStr.Add(new SqlParameter("@StartTime", this.txtStartTime.Text));
strSqlSum += " AND TrainStartDate >=@StartTime";
listStrSum.Add(new SqlParameter("@StartTime", this.txtStartTime.Text));
}
if (!string.IsNullOrEmpty(this.txtEndTime.Text))
{
strSql += " AND TrainStartDate <=@EndTime";
listStr.Add(new SqlParameter("@EndTime", this.txtEndTime.Text));
strSqlSum += " AND TrainStartDate <=@EndTime";
listStrSum.Add(new SqlParameter("@EndTime", this.txtStartTime.Text));
}
if (!string.IsNullOrEmpty(this.rbType.SelectedValue))
{
strSql += " And ( TrainTypeId='" + rbType.SelectedValue + "' or ";
strSqlSum+= " And ( TrainTypeId='" + rbType.SelectedValue + "' or ";
if (rbType.SelectedValue == "dfb6a37e-4412-4ba9-ad59-3bc505bc21f7")
{
strSql += " TrainTypeId like '%入场%' ) ";
strSqlSum += " TrainTypeId like '%入场%' ) ";
}
else if (rbType.SelectedValue == "c1a513bb-a547-45b0-944d-b0dd88f06f82")
{
strSql += " TrainTypeId like '%其他%' ) ";
strSqlSum += " TrainTypeId like '%其他%' ) ";
}
else {
strSql += " TrainTypeId like '%专项%' ) ";
strSqlSum += " TrainTypeId like '%专项%' ) ";
}
}
strSql += " ) b where b.RowNumber BETWEEN(@pageIndex-1)*@pageSize + 1 and @pageIndex*@pageSize order by RowNumber asc";
strSqlSum+= " ) b ";
listStr.Add(new SqlParameter("@pageIndex", pageIndex));
listStr.Add(new SqlParameter("@pageSize", pageSize));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
#region 总数
DataTable tbSum = SQLHelper.GetDataTableRunText(strSqlSum, listStrSum.ToArray());
Grid1.RecordCount = Convert.ToInt32(tbSum.Rows[0]["allcount"].ToString());
#endregion
Grid1.DataSource = tb;
Grid1.DataBind();
}
#endregion
#region 查询
///
/// 查询
///
///
///
protected void TextBox_TextChanged(object sender, EventArgs e)
{
Grid1.PageIndex = 0;
this.BindGrid();
}
#endregion
#region 表排序、分页、关闭窗口
///
/// 分页
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
///
/// 分页显示条数下拉框
///
///
///
protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e)
{
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid();
}
///
/// 关闭弹出窗
///
///
///
protected void Window1_Close(object sender, WindowCloseEventArgs e)
{
BindGrid();
}
#endregion
#region Grid双击事件 编辑
///
/// Grid行双击事件
///
///
///
protected void Grid1_RowDoubleClick(object sender, GridRowClickEventArgs e)
{
EditData();
}
///
///
///
private void EditData()
{
if (Grid1.SelectedRowIndexArray.Length == 0)
{
Alert.ShowInTop("请至少选择一条记录!", MessageBoxIcon.Warning);
return;
}
var tType= Grid1.SelectedRow.DataKeys[1].ToString();
if (tType!="博晟")
{
PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("../HSSE/EduTrain/TrainRecordView.aspx?TrainingId={0}", Grid1.SelectedRowID, "查看 - ")));
}
}
#endregion
protected void btnView_Click(object sender, EventArgs e)
{
EditData();
}
}
}