215 lines
9.2 KiB
C#
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
|
|
}
|
|
} |