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(); } } }