CNCEC_SUBQHSE_WUHUAN/SGGL/FineUIPro.Web/common/mainMenu_HJGL.aspx.cs

215 lines
9.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using Newtonsoft.Json;
namespace FineUIPro.Web
{
public partial class mainMenu_HJGL : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var firstOKRates = from x in Funs.DB.HJGL_FirstOKRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" orderby x.Months descending select x;
var units = firstOKRates.Where(x => x.Type == "unit").Select(x => x.Name).Distinct();
if (firstOKRates.Count() > 0)
{
int totalNum = 0, oKNum = 0;
foreach (var item in units)
{
var f = firstOKRates.FirstOrDefault(x => x.Name == item); //取每个单位最后一个月的一次合格率数据进行汇总
if (f != null)
{
totalNum += f.TotalNum ?? 0;
oKNum += f.OKNum ?? 0;
}
}
if (totalNum > 0)
{
var a = Convert.ToDouble(oKNum);
var b = Convert.ToDouble(totalNum);
this.divFirstOKRate.InnerHtml = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 2)).ToString();
}
}
else
{
this.divFirstOKRate.InnerHtml = "0";
}
}
}
#region
protected string Two
{
get
{
Model.Num num = new Model.Num();
var finishRates = from x in Funs.DB.HJGL_FinishRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" select x;
int totalNum = 0, finishNum = 0;
foreach (var item in finishRates)
{
totalNum += item.TotalNum ?? 0;
finishNum += item.FinishNum ?? 0;
}
int notFinishNum = totalNum - finishNum;
num.num1 = finishNum;
num.num2 = notFinishNum;
return JsonConvert.SerializeObject(num);
}
}
#endregion
#region
protected string Four
{
get
{
List<Model.SingleSerie2> series = new List<Model.SingleSerie2>();
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
List<string> listCategories = new List<string>();
businessColumn.title = "一次合格率";
var views = (from x in Funs.DB.HJGL_FirstOKRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" orderby x.Months select x).ToList();
var months = views.Select(x => x.Months).Distinct().ToList();
var units = views.Select(x => x.Name).Distinct().ToList();
for (int i = 0; i < months.Count; i++)
{
listCategories.Add(string.Format("{0:yyyy-MM}", views[i].Months));
}
for (int i = 0; i < units.Count; i++)
{
Model.SingleSerie2 s = new Model.SingleSerie2();
s.name = units[i];
s.type = "line";
List<double?> listdata = new List<double?>();
for (int j = 0; j < months.Count; j++)
{
var item = views.FirstOrDefault(x => x.Name == units[i] && x.Months == months[j]);
if (item != null)
{
listdata.Add(Convert.ToDouble(item.Rate.Replace("%", "")));
}
else
{
listdata.Add(null);
}
}
s.data = listdata;
series.Add(s);
}
businessColumn.categories = listCategories;
businessColumn.series3 = series;
return JsonConvert.SerializeObject(businessColumn);
}
}
protected string Four2
{
get
{
List<Model.SingleSerie2> series = new List<Model.SingleSerie2>();
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
List<string> listCategories = new List<string>();
businessColumn.title = "一次合格率";
var views = (from x in Funs.DB.HJGL_FirstOKRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "device" orderby x.Months select x).ToList();
var months = views.Select(x => x.Months).Distinct().ToList();
var devices = views.Select(x => x.Name).Distinct().ToList();
for (int i = 0; i < months.Count; i++)
{
listCategories.Add(string.Format("{0:yyyy-MM}", views[i].Months));
}
for (int i = 0; i < devices.Count; i++)
{
Model.SingleSerie2 s = new Model.SingleSerie2();
s.name = devices[i];
s.type = "line";
List<double?> listdata = new List<double?>();
for (int j = 0; j < months.Count; j++)
{
var item = views.FirstOrDefault(x => x.Name == devices[i] && x.Months == months[j]);
if (item != null)
{
listdata.Add(Convert.ToDouble(item.Rate.Replace("%", "")));
}
else
{
listdata.Add(null);
}
}
s.data = listdata;
series.Add(s);
}
businessColumn.categories = listCategories;
businessColumn.series3 = 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 = "焊接完成量";
businessColumn.xFontNum = 7;
var views = (from x in Funs.DB.HJGL_FinishRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "unit" orderby x.Code select x).ToList();
Model.SingleSerie s = new Model.SingleSerie();
Model.SingleSerie s2 = new Model.SingleSerie();
List<double> listdata = new List<double>();
List<double> listdata2 = new List<double>();
foreach (var item in views)
{
listCategories.Add(item.Name);
listdata.Add(item.FinishNum ?? 0);
listdata2.Add((item.TotalNum ?? 0) - (item.FinishNum ?? 0));
}
s.data = listdata;
s2.data = listdata2;
series.Add(s);
series.Add(s2);
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 = "焊接完成量";
businessColumn.xFontNum = 7;
var views = (from x in Funs.DB.HJGL_FinishRate where x.ProjectId == this.CurrUser.LoginProjectId && x.Type == "device" orderby x.Code select x).ToList();
Model.SingleSerie s = new Model.SingleSerie();
Model.SingleSerie s2 = new Model.SingleSerie();
List<double> listdata = new List<double>();
List<double> listdata2 = new List<double>();
foreach (var item in views)
{
listCategories.Add(item.Name);
listdata.Add(item.FinishNum ?? 0);
listdata2.Add((item.TotalNum ?? 0) - (item.FinishNum ?? 0));
}
s.data = listdata;
s2.data = listdata2;
series.Add(s);
series.Add(s2);
businessColumn.categories = listCategories;
businessColumn.series = series;
return JsonConvert.SerializeObject(businessColumn);
}
}
#endregion
}
}