using BLL;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
namespace FineUIPro.Web.DataShow
{
public partial class JDWeekDetail : PageBase
{
#region 项目主键
///
/// 项目主键
///
public string ProjectId
{
get
{
return (string)ViewState["ProjectId"];
}
set
{
ViewState["ProjectId"] = value;
}
}
public string WeekNo
{
get
{
return (string)ViewState["WeekNo"];
}
set
{
ViewState["WeekNo"] = value;
}
}
#endregion
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.CurrUser.LoginProjectId)
{
this.ProjectId = Request.Params["projectId"];
}
Model.SGGLDB db = Funs.DB;
var lastWeek = (from x in db.JDGL_WeekPlan where x.ProjectId == this.ProjectId && DateTime.Now > ((DateTime)x.EndDate).AddDays(1) orderby x.EndDate select x).FirstOrDefault();
this.WeekNo = lastWeek.WeekNo;
BindGrid();
}
}
///
/// 加载Grid
///
private void BindGrid()
{
DataTable tb = BindData();
Grid1.RecordCount = tb.Rows.Count;
//tb = GetFilteredTable(Grid1.FilteredData, tb);
var table = this.GetPagedDataTable(Grid1, tb);
Grid1.DataSource = table;
Grid1.DataBind();
}
///
/// 加载数据
///
///
private DataTable BindData()
{
string strSql = @"select mp.*,u.UnitName,uw.UnitWorkName,cn.ProfessionalName,case mp.IsOK when 1 then '已完成' when 0 then '未完成' else '' end as IsOKStr
,DutyPersonName = STUFF((SELECT ',' + p.UserName FROM dbo.Sys_User as p where PATINDEX('%,' + RTRIM(p.UserId) + ',%', ',' + mp.DutyPerson + ',') > 0 FOR XML PATH('')), 1, 1,'')
from [dbo].[JDGL_WeekPlan] mp
left join Base_Unit u on u.UnitId=mp.UnitId
left join WBS_UnitWork uw on uw.UnitWorkId=mp.UnitWork
left join Base_CNProfessional cn on cn.CNProfessionalId=mp.Major
where mp.ProjectId=@ProjectId and mp.WeekNo=@WeekNo order by mp.SortIndex";
List listStr = new List();
listStr.Add(new SqlParameter("@ProjectId", this.ProjectId));
listStr.Add(new SqlParameter("@WeekNo", this.WeekNo));
SqlParameter[] parameter = listStr.ToArray();
DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
return tb;
}
///
/// 查询
///
///
///
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
this.BindGrid();
}
#region 表排序、分页、关闭窗口
///
/// 分页
///
///
///
protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid();
}
///
/// 排序
///
///
///
protected void Grid1_Sort(object sender, GridSortEventArgs e)
{
BindGrid();
}
#endregion
}
}