251 lines
13 KiB
C#
251 lines
13 KiB
C#
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.UI;
|
|
using System.Web.UI.WebControls;
|
|
using BLL;
|
|
using System.Data;
|
|
using System.Data.SqlClient;
|
|
|
|
namespace FineUIPro.Web
|
|
{
|
|
public partial class mainMenu_JDGL : PageBase
|
|
{
|
|
protected void Page_Load(object sender, EventArgs e)
|
|
{
|
|
if (!IsPostBack)
|
|
{
|
|
}
|
|
}
|
|
|
|
protected string One
|
|
{
|
|
get
|
|
{
|
|
var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months descending select x).ToList();
|
|
double result = 0;
|
|
if (views.Count > 0)
|
|
{
|
|
result = Convert.ToDouble(views[0].TotalRealNum);
|
|
}
|
|
return JsonConvert.SerializeObject(result);
|
|
//double totalCost = from x in Funs.DB.WBS_CostControl where x.ProjectId == this.CurrUser.LoginProjectId && x.is select x;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
#region 赢得值曲线
|
|
protected string Two
|
|
{
|
|
get
|
|
{
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
|
List<string> listCategories = new List<string>();
|
|
businessColumn.title = "赢得值曲线";
|
|
Model.Project_Installation installation = BLL.Project_InstallationService.GetProjectInstallationByProjectId(this.CurrUser.LoginProjectId);
|
|
if (installation != null)
|
|
{
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
|
Model.SingleSerie s3 = new Model.SingleSerie();
|
|
Model.SingleSerie s4 = new Model.SingleSerie();
|
|
Model.SingleSerie s5 = new Model.SingleSerie();
|
|
Model.SingleSerie s6 = new Model.SingleSerie();
|
|
List<double> listdata = new List<double>();
|
|
List<double> listdata2 = new List<double>();
|
|
List<double> listdata3 = new List<double>();
|
|
List<double> listdata4 = new List<double>();
|
|
List<double> listdata5 = new List<double>();
|
|
List<double> listdata6 = new List<double>();
|
|
string strSql = "select distinct (cast(YEAR(Months) as varchar(4))+'.'+cast(MONTH(Months) as varchar(2))) as 月份,t.Months," +
|
|
"ThisRealCost as '本月已完工作实际费用-ACWP',ThisPlanCost as '本月已完工作预算费用-BCWP',ThisPlanValue as '本月计划工作预算费用-BCWS',TotalPlanValue as '累计计划工作预算费用-BCWS',TotalRealCost as '累计已完工作实际费用-ACWP',TotalPlanCost as '累计已完工作预算费用-BCWP' " +
|
|
"from dbo.View_WBS_CostControlParentDetail as t where ParentId=@Id order by t.Months";
|
|
//string date = DateTime.Now.Year + "-" + DateTime.Now.Month + "-01";
|
|
SqlParameter[] parameter = new SqlParameter[]
|
|
{
|
|
new SqlParameter("@Id",installation.InstallationId),
|
|
//new SqlParameter("@Months",date),
|
|
};
|
|
DataTable dt = SQLHelper.GetDataTableRunText(strSql, parameter);
|
|
decimal lastbcws = 0, bcws = 0, lastacwp = 0, acwp = 0, lastbcwp = 0, bcwp = 0;
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
dt.Rows[i]["本月已完工作实际费用-ACWP"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月已完工作实际费用-ACWP"].ToString()) / 10000;
|
|
dt.Rows[i]["本月已完工作预算费用-BCWP"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月已完工作预算费用-BCWP"].ToString()) / 10000;
|
|
dt.Rows[i]["本月计划工作预算费用-BCWS"] = Funs.GetNewDecimalOrZero(dt.Rows[i]["本月计划工作预算费用-BCWS"].ToString()) / 10000;
|
|
bcws = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计计划工作预算费用-BCWS"].ToString());
|
|
acwp = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计已完工作实际费用-ACWP"].ToString());
|
|
bcwp = Funs.GetNewDecimalOrZero(dt.Rows[i]["累计已完工作预算费用-BCWP"].ToString());
|
|
if (bcws == lastbcws)
|
|
{
|
|
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
|
|
{
|
|
dt.Rows[i]["累计计划工作预算费用-BCWS"] = 0;
|
|
}
|
|
else
|
|
{
|
|
dt.Rows[i]["累计计划工作预算费用-BCWS"] = bcws / 10000;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dt.Rows[i]["累计计划工作预算费用-BCWS"] = bcws / 10000;
|
|
}
|
|
if (acwp == lastacwp)
|
|
{
|
|
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
|
|
{
|
|
dt.Rows[i]["累计已完工作实际费用-ACWP"] = 0;
|
|
}
|
|
else
|
|
{
|
|
dt.Rows[i]["累计已完工作实际费用-ACWP"] = acwp / 10000;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dt.Rows[i]["累计已完工作实际费用-ACWP"] = acwp / 10000;
|
|
}
|
|
if (bcwp == lastbcwp)
|
|
{
|
|
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) > DateTime.Now)
|
|
{
|
|
dt.Rows[i]["累计已完工作预算费用-BCWP"] = 0;
|
|
}
|
|
else
|
|
{
|
|
dt.Rows[i]["累计已完工作预算费用-BCWP"] = bcwp / 10000;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
dt.Rows[i]["累计已完工作预算费用-BCWP"] = bcwp / 10000;
|
|
}
|
|
lastbcws = bcws;
|
|
lastacwp = acwp;
|
|
lastbcwp = bcwp;
|
|
|
|
listCategories.Add(dt.Rows[i]["月份"].ToString());
|
|
if (Funs.GetNewDateTimeOrNow(dt.Rows[i]["Months"].ToString()) <= DateTime.Now)
|
|
{
|
|
listdata.Add(Convert.ToDouble(dt.Rows[i]["本月计划工作预算费用-BCWS"]));
|
|
listdata2.Add(Convert.ToDouble(dt.Rows[i]["累计计划工作预算费用-BCWS"]));
|
|
listdata3.Add(Convert.ToDouble(dt.Rows[i]["本月已完工作预算费用-BCWP"]));
|
|
listdata4.Add(Convert.ToDouble(dt.Rows[i]["累计已完工作预算费用-BCWP"]));
|
|
listdata5.Add(Convert.ToDouble(dt.Rows[i]["本月已完工作实际费用-ACWP"]));
|
|
listdata6.Add(Convert.ToDouble(dt.Rows[i]["累计已完工作实际费用-ACWP"]));
|
|
}
|
|
}
|
|
s.data = listdata;
|
|
s2.data = listdata2;
|
|
s3.data = listdata3;
|
|
s4.data = listdata4;
|
|
s5.data = listdata5;
|
|
s6.data = listdata6;
|
|
series.Add(s);
|
|
series.Add(s2);
|
|
series.Add(s3);
|
|
series.Add(s4);
|
|
series.Add(s5);
|
|
series.Add(s6);
|
|
businessColumn.categories = listCategories;
|
|
businessColumn.series = series;
|
|
}
|
|
return JsonConvert.SerializeObject(businessColumn);
|
|
//var views = (from x in Funs.DB.View_JDGL_ProgressCompletion where x.ProjectId == this.CurrUser.LoginProjectId orderby x.Months select x).ToList();
|
|
//Model.SingleSerie s = new Model.SingleSerie();
|
|
//Model.SingleSerie s2 = new Model.SingleSerie();
|
|
//Model.SingleSerie s3 = new Model.SingleSerie();
|
|
//Model.SingleSerie s4 = new Model.SingleSerie();
|
|
//List<double> listdata = new List<double>();
|
|
//List<double> listdata2 = new List<double>();
|
|
//List<double> listdata3 = new List<double>();
|
|
//List<double> listdata4 = new List<double>();
|
|
//for (int i = 0; i < views.Count; i++)
|
|
//{
|
|
// listCategories.Add(views[i].MonthStr);
|
|
// listdata.Add(Convert.ToDouble(views[i].PlanNum));
|
|
// listdata2.Add(Convert.ToDouble(views[i].TotalPlanNum));
|
|
// listdata3.Add(Convert.ToDouble(views[i].RealNum));
|
|
// listdata4.Add(Convert.ToDouble(views[i].TotalRealNum));
|
|
//}
|
|
//s.data = listdata;
|
|
//s2.data = listdata2;
|
|
//s3.data = listdata3;
|
|
//s4.data = listdata4;
|
|
//series.Add(s);
|
|
//series.Add(s2);
|
|
//series.Add(s3);
|
|
//series.Add(s4);
|
|
//businessColumn.categories = listCategories;
|
|
//businessColumn.series = series;
|
|
//return JsonConvert.SerializeObject(businessColumn);
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region 施工进度统计
|
|
protected string Three
|
|
{
|
|
get
|
|
{
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
|
List<string> listCategories = new List<string>();
|
|
businessColumn.title = "施工进度统计";
|
|
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
|
unitWorks = unitWorks.Where(x => x.ProjectType == "2").ToList();
|
|
var spotCheckDetails = from x in Funs.DB.View_Check_SoptCheckDetail
|
|
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsOK == true
|
|
select x;
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
|
List<double> listdata = new List<double>();
|
|
foreach (var unitWork in unitWorks)
|
|
{
|
|
listCategories.Add(unitWork.UnitWorkName);
|
|
var unitWorkSpotCheckDetails = spotCheckDetails.Where(x => x.UnitWorkId == unitWork.UnitWorkId);
|
|
listdata.Add(unitWorkSpotCheckDetails.Count());
|
|
}
|
|
s.data = listdata;
|
|
series.Add(s);
|
|
businessColumn.categories = listCategories;
|
|
businessColumn.series = series;
|
|
return JsonConvert.SerializeObject(businessColumn);
|
|
}
|
|
}
|
|
|
|
protected string Three2
|
|
{
|
|
get
|
|
{
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
|
List<string> listCategories = new List<string>();
|
|
businessColumn.title = "施工进度统计";
|
|
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
|
unitWorks = unitWorks.Where(x => x.ProjectType == "1").ToList();
|
|
var spotCheckDetails = from x in Funs.DB.View_Check_SoptCheckDetail
|
|
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsOK == true
|
|
select x;
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
|
List<double> listdata = new List<double>();
|
|
foreach (var unitWork in unitWorks)
|
|
{
|
|
listCategories.Add(unitWork.UnitWorkName);
|
|
var unitWorkSpotCheckDetails = spotCheckDetails.Where(x => x.UnitWorkId == unitWork.UnitWorkId);
|
|
listdata.Add(unitWorkSpotCheckDetails.Count());
|
|
}
|
|
s.data = listdata;
|
|
series.Add(s);
|
|
businessColumn.categories = listCategories;
|
|
businessColumn.series = series;
|
|
return JsonConvert.SerializeObject(businessColumn);
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |