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
 | |
|     }
 | |
| } |