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