using BLL; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.HSSE.EduTrain { public partial class TrainFindWorkPost : PageBase { #region 项目主键 /// /// 项目主键 /// public string ProjectId { get { return (string)ViewState["ProjectId"]; } set { ViewState["ProjectId"] = value; } } public string UnitId { get { return (string)ViewState["UnitId"]; } set { ViewState["UnitId"] = value; } } #endregion #region 加载页面 /// /// 加载页面 /// /// /// protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Funs.DropDownPageSize(this.ddlPageSize); this.ProjectId = this.CurrUser.LoginProjectId; if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId) { this.ProjectId = Request.Params["projectId"]; } this.ucTree.UnitId = this.CurrUser.UnitId; this.ucTree.ProjectId = this.ProjectId; //单位 BLL.UnitService.InitUnitDropDownList(this.drpUnitId, this.ProjectId, true); if (BLL.ProjectUnitService.GetProjectUnitTypeByProjectIdUnitId(this.ProjectId, this.CurrUser.UnitId)) { this.drpUnitId.SelectedValue = this.CurrUser.UnitId; this.drpUnitId.Enabled = false; } //培训类型 BLL.TrainTypeService.InitTrainTypeDropDownList(this.drpTrainType, true); //培训级别; //BLL.TrainLevelService.InitTrainLevelDropDownList(this.drpTrainLevel, true); ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); // 绑定表格 BindGrid(); InitTreeMenu(); if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId)) { this.panelLeftRegion.Hidden = true; // this.Grid1.Columns[0].Hidden = true; } } } protected void changeTree(object sender, EventArgs e) { this.ProjectId = this.ucTree.ProjectId; //新增UnitId this.UnitId = this.ucTree.UnitId; //判断 当有projectId的时候单位id为空 if (!string.IsNullOrEmpty(this.ProjectId)) { this.UnitId = ""; } this.BindGrid(); } /// /// 加载数据 /// private void BindGrid() { if (!string.IsNullOrEmpty(this.ProjectId) || !string.IsNullOrEmpty(this.UnitId)) //项目数据 { string strSql = @"SELECT NEWID() AS ID, CardNo,PersonName,ProjectId,UnitId,UnitName,WorkPostName,TrainTitle ,TrainStartDate,TrainEndDate,TrainTypeId,TeachHour,TrainTypeName,CheckScore,CheckResult,TeachMan,UnitType,TrainLevelName" + @",(round(isnull(Durations,0)/60,2)) as Durations,PlanId,PersonId,TaskId" + @" FROM dbo.View_EduTrain_TrainFind" + @" WHERE 1=1"; List listStr = new List(); if (!string.IsNullOrEmpty(ProjectId)) { strSql += " AND ProjectId = @ProjectId"; listStr.Add(new SqlParameter("@ProjectId", ProjectId)); } if (!string.IsNullOrEmpty(UnitId)) { strSql += " AND UnitId = @UnitId"; listStr.Add(new SqlParameter("@UnitId", UnitId)); } if (trWorkPost.SelectedNode!=null) { strSql += " AND WorkPostName = @WorkPostName"; listStr.Add(new SqlParameter("@WorkPostName", trWorkPost.SelectedNode.Text)); } var ssss = trWorkPost.SelectedNode; if (!string.IsNullOrEmpty(this.txtPersonName.Text.Trim())) { strSql += " AND PersonName LIKE @PersonName"; listStr.Add(new SqlParameter("@PersonName", "%" + this.txtPersonName.Text.Trim() + "%")); } if (this.drpUnitId.SelectedValue != BLL.Const._Null) { strSql += " AND UnitId = @UnitIds"; listStr.Add(new SqlParameter("@UnitIds", this.drpUnitId.SelectedValue.Trim())); } if (this.drpTrainType.SelectedValue != BLL.Const._Null) { strSql += " AND TrainTypeId = @TrainTypeId"; listStr.Add(new SqlParameter("@TrainTypeId", this.drpTrainType.SelectedValue.Trim())); } //if (this.drpTrainLevel.SelectedValue != BLL.Const._Null) //{ // strSql += " AND TrainLevelId = @TrainLevel"; // listStr.Add(new SqlParameter("@TrainLevel", this.drpTrainLevel.SelectedValue)); //} if (!string.IsNullOrEmpty(this.txtTeachMan.Text.Trim())) { strSql += " AND TeachMan LIKE @TeachMan"; listStr.Add(new SqlParameter("@TeachMan", "%" + this.txtTeachMan.Text.Trim() + "%")); } if (this.cbIssue.SelectedValueArray.Length == 1) { ///是否通过 string selectValue = String.Join(", ", this.cbIssue.SelectedValueArray); if (selectValue == "1") { strSql += " AND CheckResult = 1 "; } else { strSql += " AND (CheckResult = 0 OR CheckResult IS NULL) "; } } if (!string.IsNullOrEmpty(this.txtDurations.Text.Trim())) { strSql += " AND round(isnull(Durations,0)/60,2) = @Durations"; listStr.Add(new SqlParameter("@Durations", this.txtDurations.Text.Trim())); } 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 加载树 /// /// 加载树 /// private void InitTreeMenu() { this.trWorkPost.Nodes.Clear(); TreeNode rootNode = new TreeNode { Text = "培训岗位", NodeID = "0", Expanded = true }; this.trWorkPost.Nodes.Add(rootNode); BoundTree(rootNode.Nodes); } /// /// 加载树 /// /// /// private void BoundTree(TreeNodeCollection nodes) { var postLists = BLL.WorkPostService.GetWorkPostList(); if (postLists.Count() > 0) { TreeNode tn = null; foreach (var dr in postLists) { tn = new TreeNode(); tn.Text = dr.WorkPostName; tn.NodeID = dr.WorkPostId; tn.EnableClickEvent = true; tn.ToolTip = dr.WorkPostName; nodes.Add(tn); } } } #endregion #region Tree点击事件 /// /// Tree点击事件 /// /// /// protected void trWorkPost_NodeCommand(object sender, TreeCommandEventArgs e) { BindGrid(); } #endregion #region 页索引改变事件 /// /// 页索引改变事件 /// /// /// protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) { Grid1.PageIndex = e.NewPageIndex; BindGrid(); } #endregion #region 排序 /// /// 排序 /// /// /// protected void Grid1_Sort(object sender, GridSortEventArgs e) { Grid1.SortDirection = e.SortDirection; Grid1.SortField = e.SortField; BindGrid(); } #endregion #region 分页选择下拉改变事件 /// /// 分页选择下拉改变事件 /// /// /// protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) { Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); BindGrid(); } #endregion #region 查询 /// /// 查询 /// /// /// protected void Text_OnTextChanged(object sender, EventArgs e) { BindGrid(); } #endregion #region 转换字符串 /// /// 考核结果 /// /// /// protected string ConvertCheckResult(object checkResult) { if (checkResult != null) { if (checkResult.ToString() == "True") { return "合格"; } else { return "不合格"; } } return ""; } #endregion #region 导出按钮 /// 导出按钮 /// /// /// protected void btnOut_Click(object sender, EventArgs e) { Response.ClearContent(); string filename = Funs.GetNewFileName(); Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("人员培训" + filename, System.Text.Encoding.UTF8) + ".xls"); Response.ContentType = "application/excel"; Response.ContentEncoding = System.Text.Encoding.UTF8; this.Grid1.PageSize = 500; BindGrid(); Response.Write(GetGridTableHtml(Grid1)); Response.End(); } #pragma warning disable CS0108 // “TrainFind.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 /// /// 导出方法 /// /// /// private string GetGridTableHtml(Grid grid) #pragma warning restore CS0108 // “TrainFind.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); sb.Append(""); foreach (GridColumn column in grid.Columns) { sb.AppendFormat("", column.HeaderText); } sb.Append(""); foreach (GridRow row in grid.Rows) { sb.Append(""); foreach (GridColumn column in grid.Columns) { string html = row.Values[column.ColumnIndex].ToString(); if (column.ColumnID == "tfNumber") { html = (row.FindControl("labNumber") as AspNet.Label).Text; } if (column.ColumnID == "tfUnitName") { html = (row.FindControl("lbUnitName") as AspNet.Label).Text; } if (column.ColumnID == "tfWorkPostName") { html = (row.FindControl("lbWorkPostName") as AspNet.Label).Text; } if (column.ColumnID == "tfTrainTypeName") { html = (row.FindControl("lbTrainTypeName") as AspNet.Label).Text; } if (column.ColumnID == "tfTrainLevelName") { html = (row.FindControl("lbTrainLevelName") as AspNet.Label).Text; } if (column.ColumnID == "tfTrainTitle") { html = (row.FindControl("lbTrainTitle") as AspNet.Label).Text; } if (column.ColumnID == "tfCheckResult") { html = (row.FindControl("lbCheckResult") as AspNet.Label).Text; } if (column.ColumnID == "tfI") { html = "'" + (row.FindControl("lbI") as AspNet.Label).Text; } sb.AppendFormat("", html); } sb.Append(""); } sb.Append("
{0}
{0}
"); return sb.ToString(); } #endregion #region 获取任务id protected string getTaskId(object ProjectId, object PersonId, object PlanId) { var TaskId = ""; if (ProjectId != null && PersonId != null && PlanId != null) { var model = Funs.DB.Training_Task.FirstOrDefault(x => x.PlanId == PlanId.ToString() && x.UserId == PersonId.ToString() && x.ProjectId == ProjectId.ToString()); if (model != null) { TaskId = model.TaskId; } } return TaskId; } #endregion #region 获取总时长 protected string getSumDurations(object planId) { double? sumDurations = 0.0; if (planId != null) { var planItemList = Funs.DB.Training_PlanItem.Where(x => x.PlanId == planId.ToString()).ToList(); if (planItemList.Count > 0) { foreach (var item in planItemList) { var CompanyTrainingItemModel = Funs.DB.Training_CompanyTrainingItem.FirstOrDefault(x => x.CompanyTrainingItemId == item.CompanyTrainingItemId); if (CompanyTrainingItemModel.Durations != null) { sumDurations += CompanyTrainingItemModel.Durations; } } } } return sumDurations.ToString(); } #endregion } }