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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); 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 listdata = new List(); List listdata2 = new List(); List listdata3 = new List(); List listdata4 = new List(); List listdata5 = new List(); List listdata6 = new List(); 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 listdata = new List(); //List listdata2 = new List(); //List listdata3 = new List(); //List listdata4 = new List(); //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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); 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 listdata = new List(); 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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); 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 listdata = new List(); 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 } }