2021-04-30 10:28:37 +08:00
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 ;
2022-09-14 16:38:27 +08:00
using System.Data.SqlClient ;
2021-04-30 10:28:37 +08:00
namespace FineUIPro.Web
{
public partial class mainMenu_JDGL : PageBase
{
protected void Page_Load ( object sender , EventArgs e )
{
if ( ! IsPostBack )
{
}
}
2021-08-13 11:15:59 +08:00
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 ) ;
}
}
2021-04-30 10:28:37 +08:00
#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 = "赢得值曲线" ;
2022-09-14 16:38:27 +08:00
Model . Project_Installation installation = BLL . Project_InstallationService . GetProjectInstallationByProjectId ( this . CurrUser . LoginProjectId ) ;
if ( installation ! = null )
2021-04-30 10:28:37 +08:00
{
2022-09-14 16:38:27 +08:00
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 ;
2021-04-30 10:28:37 +08:00
}
return JsonConvert . SerializeObject ( businessColumn ) ;
2022-09-14 16:38:27 +08:00
//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);
2021-04-30 10:28:37 +08:00
}
}
#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
}
}