提交代码

This commit is contained in:
2025-03-27 17:14:51 +08:00
parent 6eb3e01c1b
commit d3022cef86
3 changed files with 336 additions and 60 deletions
+175 -45
View File
@@ -15,10 +15,13 @@ namespace FineUIPro.Web.DataShow
{
Funs.DropDownPageSize(this.ddlPageSize);
Funs.DropDownPageSize(this.ddlPageSize2);
Funs.DropDownPageSize(this.ddlPageSize3);
ddlPageSize.SelectedValue = Grid1.PageSize.ToString();
ddlPageSize2.SelectedValue = Grid2.PageSize.ToString();
ddlPageSize3.SelectedValue = Grid3.PageSize.ToString();
BLL.ProjectService.InitProjectDropDownList(this.drpProject, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject2, true);
BLL.ProjectService.InitProjectDropDownList(this.drpProject3, true);
BindGrid1();
}
}
@@ -52,7 +55,7 @@ left join (
string cpara = string.Empty;
if (this.drpProject.SelectedValue != Const._Null)
{
strSql += " AND p.ProjectId = @projectId";
strSql += " AND p.ProjectId = @projectId";
listStr.Add(new SqlParameter("@projectId", this.drpProject.SelectedValue));
}
SqlParameter[] parameter = listStr.ToArray();
@@ -68,51 +71,125 @@ left join (
/// </summary>
private void BindGrid2()
{
//string strSql = @"select ProjectId,ProjectCode, ProjectName from Base_Project where ProjectState =1 ";
//List<SqlParameter> listStr = new List<SqlParameter>();
//string cpara = string.Empty;
//if (this.drpProject2.SelectedValue != Const._Null)
//{
// strSql += " AND projectId = @projectId"; ///状态为已完成
// listStr.Add(new SqlParameter("@projectId", this.drpProject2.SelectedValue));
//}
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("ProjectId", typeof(String)));
tb.Columns.Add(new DataColumn("ProjectCode", typeof(String)));
tb.Columns.Add(new DataColumn("ProjectName", typeof(String)));
tb.Columns.Add(new DataColumn("PlanNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("CompletedNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("Rate", typeof(decimal)));
tb.Columns.Add(new DataColumn("TotalPlanNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("TotalCompletedNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
//SqlParameter[] parameter = listStr.ToArray();
//DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter);
//Grid2.RecordCount = tb.Rows.Count;
//var table = this.GetPagedDataTable(Grid2, tb);
//Grid2.DataSource = table;
//Grid2.DataBind();
Model.SGGLDB db = Funs.DB;
var projects = from x in db.Base_Project where x.ProjectState == "1" orderby x.ProjectName select x;
if (this.drpProject2.SelectedValue != BLL.Const._Null)
{
projects = projects.Where(x => x.ProjectId == this.drpProject2.SelectedValue).OrderBy(x => x.ProjectName);
}
//统计月份信息
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26)
{
months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
}
//2、获取当前项目指定月所有计划
var allMonthPlans = from x in db.JDGL_MonthPlan
where x.Months == months
select x;
//3、获取当前项目所有月计划
var allPlans = from x in db.JDGL_MonthPlan
where x.Months <= months
select x;
foreach (var item in projects)
{
double planNum = allMonthPlans.Where(x => x.ProjectId == item.ProjectId).Count();
double completedNum = allMonthPlans.Where(x => x.ProjectId == item.ProjectId && x.RealDate != null).Count();
double rate = planNum > 0 ? Math.Round((completedNum / planNum) * 100, 2) : 0;
double totalPlanNum = allPlans.Where(x => x.ProjectId == item.ProjectId).Count();
double totalCompletedNum = allPlans.Where(x => x.ProjectId == item.ProjectId && x.RealDate != null).Count();
double totalRate = totalPlanNum > 0 ? Math.Round((totalCompletedNum / totalPlanNum) * 100, 2) : 0;
DataRow row;
row = tb.NewRow();
row[0] = item.ProjectId;
row[1] = item.ProjectCode;
row[2] = item.ProjectName;
row[3] = planNum;
row[4] = completedNum;
row[5] = rate;
row[6] = totalPlanNum;
row[7] = totalCompletedNum;
row[8] = totalRate;
tb.Rows.Add(row);
}
Grid2.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid2, tb);
Grid2.DataSource = table;
Grid2.DataBind();
}
DataTable table = new DataTable();
table.Columns.Add(new DataColumn("BaseId", typeof(String)));
table.Columns.Add(new DataColumn("SupId", typeof(String)));
table.Columns.Add(new DataColumn("Name", typeof(String)));
table.Columns.Add(new DataColumn("ProjectId", typeof(String)));
table.Columns.Add(new DataColumn("DrawingNo", typeof(String)));
table.Columns.Add(new DataColumn("DrawingName", typeof(String)));
table.Columns.Add(new DataColumn("Part", typeof(String)));
table.Columns.Add(new DataColumn("ProjectContent", typeof(String)));
table.Columns.Add(new DataColumn("Unit", typeof(String)));
table.Columns.Add(new DataColumn("Amount", typeof(decimal)));
table.Columns.Add(new DataColumn("WorkTeam", typeof(String)));
table.Columns.Add(new DataColumn("State", typeof(String)));
/// <summary>
/// 绑定数据
/// </summary>
private void BindGrid3()
{
DataTable tb = new DataTable();
tb.Columns.Add(new DataColumn("ProjectId", typeof(String)));
tb.Columns.Add(new DataColumn("ProjectCode", typeof(String)));
tb.Columns.Add(new DataColumn("ProjectName", typeof(String)));
tb.Columns.Add(new DataColumn("PlanNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("CompletedNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("Rate", typeof(decimal)));
tb.Columns.Add(new DataColumn("TotalPlanNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("TotalCompletedNum", typeof(decimal)));
tb.Columns.Add(new DataColumn("TotalRate", typeof(decimal)));
DataRow row;
row = table.NewRow();
row[0] = "0";
row[1] = null;
row[2] = "工程量基础表";
row[3] = "";
row[4] = "";
row[5] = "";
row[6] = "";
row[7] = "";
row[8] = "";
row[9] = DBNull.Value;
row[10] = "";
row[11] = "";
table.Rows.Add(row);
Model.SGGLDB db = Funs.DB;
var projects = from x in db.Base_Project where x.ProjectState == "1" orderby x.ProjectName select x;
if (this.drpProject3.SelectedValue != BLL.Const._Null)
{
projects = projects.Where(x => x.ProjectId == this.drpProject3.SelectedValue).OrderBy(x => x.ProjectName);
}
//统计月份信息
DateTime months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-01");
if (DateTime.Now.Day < 26)
{
months = Convert.ToDateTime(DateTime.Now.Year.ToString() + "-" + DateTime.Now.AddMonths(-1).Month.ToString() + "-01");
}
//2、获取当前项目指定月所有计划
var allWeekPlans = from x in db.JDGL_WeekPlan
select x;
foreach (var item in projects)
{
var lastWeek = (from x in db.JDGL_WeekPlan where x.ProjectId == item.ProjectId && DateTime.Now > ((DateTime)x.EndDate).AddDays(1) orderby x.EndDate select x).FirstOrDefault();
double planNum = 0, completedNum = 0, rate = 0;
if (lastWeek != null)
{
planNum = allWeekPlans.Where(x => x.ProjectId == item.ProjectId && x.WeekNo == lastWeek.WeekNo).Count();
completedNum = allWeekPlans.Where(x => x.ProjectId == item.ProjectId && x.WeekNo == lastWeek.WeekNo && x.IsOK == true).Count();
rate = planNum > 0 ? Math.Round((completedNum / planNum) * 100, 2) : 0;
}
double totalPlanNum = allWeekPlans.Where(x => x.ProjectId == item.ProjectId).Count();
double totalCompletedNum = allWeekPlans.Where(x => x.ProjectId == item.ProjectId && x.IsOK == true).Count();
double totalRate = totalPlanNum > 0 ? Math.Round((totalCompletedNum / totalPlanNum) * 100, 2) : 0;
DataRow row;
row = tb.NewRow();
row[0] = item.ProjectId;
row[1] = item.ProjectCode;
row[2] = item.ProjectName;
row[3] = planNum;
row[4] = completedNum;
row[5] = rate;
row[6] = totalPlanNum;
row[7] = totalCompletedNum;
row[8] = totalRate;
tb.Rows.Add(row);
}
Grid3.RecordCount = tb.Rows.Count;
var table = this.GetPagedDataTable(Grid3, tb);
Grid3.DataSource = table;
Grid3.DataBind();
}
#region
@@ -158,6 +235,7 @@ left join (
Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue);
BindGrid1();
}
#endregion
/// <summary>
/// 查询
@@ -168,7 +246,6 @@ left join (
{
this.BindGrid2();
}
#endregion
#region
/// <summary>
@@ -203,11 +280,64 @@ left join (
}
#endregion
/// <summary>
/// 查询
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void TextBox3_TextChanged(object sender, EventArgs e)
{
this.BindGrid3();
}
#region
/// <summary>
/// 分页
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_PageIndexChange(object sender, GridPageEventArgs e)
{
BindGrid3();
}
/// <summary>
/// 排序
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Grid3_Sort(object sender, GridSortEventArgs e)
{
BindGrid3();
}
/// <summary>
/// 分页显示条数下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void ddlPageSize3_SelectedIndexChanged(object sender, EventArgs e)
{
Grid3.PageSize = Convert.ToInt32(ddlPageSize3.SelectedValue);
BindGrid3();
}
#endregion
protected void TabStrip1_TabIndexChanged(object sender, EventArgs e)
{
if (TabStrip1.ActiveTabIndex == 1)
{
BindGrid2();
if (this.Grid2.Rows.Count == 0)
{
BindGrid2();
}
}
else if (TabStrip1.ActiveTabIndex == 2)
{
if (this.Grid3.Rows.Count == 0)
{
BindGrid3();
}
}
}
}