649 lines
27 KiB
C#
649 lines
27 KiB
C#
|
|
using BLL;
|
||
|
|
using Model;
|
||
|
|
using Newtonsoft.Json;
|
||
|
|
using System;
|
||
|
|
using System.Collections.Generic;
|
||
|
|
using System.Data;
|
||
|
|
using System.Linq;
|
||
|
|
using System.Text;
|
||
|
|
using System.Web.UI.WebControls;
|
||
|
|
|
||
|
|
namespace FineUIPro.Web
|
||
|
|
{
|
||
|
|
public partial class mainMenu_QMSCheck : PageBase
|
||
|
|
{
|
||
|
|
#region 定义项
|
||
|
|
/// <summary>
|
||
|
|
/// 项目主键
|
||
|
|
/// </summary>
|
||
|
|
public string ProjectId
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
return (string)ViewState["ProjectId"];
|
||
|
|
}
|
||
|
|
set
|
||
|
|
{
|
||
|
|
ViewState["ProjectId"] = value;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// QMS不符合项【本年】
|
||
|
|
/// </summary>
|
||
|
|
public static List<Model.CheckProblem_Quality> list = new List<Model.CheckProblem_Quality>();
|
||
|
|
/// <summary>
|
||
|
|
/// QMS不符合项【本月】
|
||
|
|
/// </summary>
|
||
|
|
public static List<Model.CheckProblem_Quality> listMon = new List<Model.CheckProblem_Quality>();
|
||
|
|
/// <summary>
|
||
|
|
/// 问题分类
|
||
|
|
/// </summary>
|
||
|
|
public static List<Model.Base_QualityProblemClassify> classifys = new List<Model.Base_QualityProblemClassify>();
|
||
|
|
/// <summary>
|
||
|
|
/// 问题属性
|
||
|
|
/// </summary>
|
||
|
|
public static List<Model.Base_QualityProblemNature> natures = new List<Model.Base_QualityProblemNature>();
|
||
|
|
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 当前时间
|
||
|
|
/// </summary>
|
||
|
|
public static DateTime dateNow = DateTime.Now;
|
||
|
|
public static DateTime dateMon = Convert.ToDateTime($"{dateNow.Year}-{dateNow.Month}-01");
|
||
|
|
public static DateTime dateYear = Convert.ToDateTime($"{dateNow.Year}-01-01");
|
||
|
|
#endregion
|
||
|
|
protected void Page_Load(object sender, EventArgs e)
|
||
|
|
{
|
||
|
|
if (!IsPostBack)
|
||
|
|
{
|
||
|
|
this.ProjectId = this.CurrUser.LoginProjectId;
|
||
|
|
if (!string.IsNullOrEmpty(Request.Params["projectId"]) && Request.Params["projectId"] != this.CurrUser.LoginProjectId)
|
||
|
|
{
|
||
|
|
this.ProjectId = Request.Params["projectId"];
|
||
|
|
}
|
||
|
|
|
||
|
|
//var dateNow = DateTime.Now;
|
||
|
|
//var dateMon = Convert.ToDateTime($"{dateNow.Year}-{dateNow.Month}-01");
|
||
|
|
//var dateYear = Convert.ToDateTime($"{dateNow.Year}-01-01");
|
||
|
|
|
||
|
|
Model.CNPCDB db = Funs.DB;
|
||
|
|
list = (from x in db.CheckProblem_Quality where x.CheckDate >= dateYear select x).ToList();
|
||
|
|
listMon = (from x in db.CheckProblem_Quality where x.CheckDate >= dateMon select x).ToList();
|
||
|
|
|
||
|
|
//权限查看范围
|
||
|
|
if (this.CurrUser.UnitId != null && this.CurrUser.UnitId != Const.UnitId_XJYJ && (this.CurrUser.UserId != Const.hfnbdId || this.CurrUser.UserId != Const.sysglyId))
|
||
|
|
{
|
||
|
|
list = list.Where(x => x.UnitId == this.CurrUser.UnitId).ToList();
|
||
|
|
listMon = listMon.Where(x => x.UnitId == this.CurrUser.UnitId).ToList();
|
||
|
|
}
|
||
|
|
if (!string.IsNullOrWhiteSpace(this.ProjectId))
|
||
|
|
{
|
||
|
|
list = list.Where(x => x.ProjectId == this.ProjectId).ToList();
|
||
|
|
listMon = listMon.Where(x => x.ProjectId == this.ProjectId).ToList();
|
||
|
|
}
|
||
|
|
|
||
|
|
classifys = BLL.QualityProblemClassifyService.GetClassify();
|
||
|
|
natures = BLL.QualityProblemNatureService.GetNature();
|
||
|
|
BindGridByClassify();
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#region 按问题分类统计
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 按问题分类统计【表格】
|
||
|
|
/// </summary>
|
||
|
|
private void BindGridByClassify()
|
||
|
|
{
|
||
|
|
StringBuilder sb = new StringBuilder();
|
||
|
|
sb.Append("<table id=\"myTable\" class=\"myTableClass\" > ");
|
||
|
|
sb.Append("<thead>");
|
||
|
|
sb.Append("<tr>");
|
||
|
|
sb.Append("<th class=\"tab-title\" colspan=\"7\">按问题分类统计</th>");
|
||
|
|
sb.Append("</tr>");
|
||
|
|
sb.Append("<tr>");
|
||
|
|
sb.Append("<th class=\"tab-header\" rowspan=\"2\">类别</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\" colspan=\"3\">本月</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\" colspan=\"3\">今年</th>");
|
||
|
|
sb.Append("</tr>");
|
||
|
|
sb.Append("<tr>");
|
||
|
|
sb.Append("<th class=\"tab-header\">承包商</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\">项目部</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\">合计</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\">承包商</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\">项目部</th>");
|
||
|
|
sb.Append("<th class=\"tab-header\">合计</th>");
|
||
|
|
sb.Append("</tr>");
|
||
|
|
sb.Append("</thead>");
|
||
|
|
sb.Append("<tbody>");
|
||
|
|
if (list.Any())
|
||
|
|
{
|
||
|
|
foreach (var obj in classifys)
|
||
|
|
{
|
||
|
|
int year = list.Where(x => x.ClassifyId == obj.ClassifyId).Count();
|
||
|
|
int yearC = list.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "承包商").Count();
|
||
|
|
int yearX = list.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "项目部").Count();
|
||
|
|
int mon = listMon.Where(x => x.ClassifyId == obj.ClassifyId).Count();
|
||
|
|
int monC = listMon.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "承包商").Count();
|
||
|
|
int monX = listMon.Where(x => x.ClassifyId == obj.ClassifyId && x.UnitType == "项目部").Count();
|
||
|
|
|
||
|
|
sb.Append("<tr>");
|
||
|
|
sb.Append($"<td >{obj.ClassifyName}</td>");
|
||
|
|
sb.Append($"<td>{monC}</td>");
|
||
|
|
sb.Append($"<td>{monX}</td>");
|
||
|
|
sb.Append($"<td>{mon}</td>");
|
||
|
|
sb.Append($"<td>{yearC}</td>");
|
||
|
|
sb.Append($"<td>{yearX}</td>");
|
||
|
|
sb.Append($"<td>{year}</td>");
|
||
|
|
sb.Append("</tr>");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
else
|
||
|
|
{
|
||
|
|
sb.Append("<tr>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("<td ></td>");
|
||
|
|
sb.Append("</tr>");
|
||
|
|
}
|
||
|
|
|
||
|
|
int yearAll = list.Count();
|
||
|
|
int yearCAll = list.Where(x => x.UnitType == "承包商").Count();
|
||
|
|
int yearXAll = list.Where(x => x.UnitType == "项目部").Count();
|
||
|
|
int monAll = listMon.Count();
|
||
|
|
int monCAll = listMon.Where(x => x.UnitType == "承包商").Count();
|
||
|
|
int monXAll = listMon.Where(x => x.UnitType == "项目部").Count();
|
||
|
|
|
||
|
|
sb.Append("<tr>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">合计</td>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">{monCAll}</td>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">{monXAll}</td>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">{monAll}</td>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">{yearCAll}</td>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">{yearXAll}</td>");
|
||
|
|
sb.Append($"<td class=\"tab-header\">{yearAll}</td>");
|
||
|
|
sb.Append("</tr>");
|
||
|
|
sb.Append("</tbody>");
|
||
|
|
sb.Append("</table>");
|
||
|
|
classifyTable.InnerHtml = sb.ToString();
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 按问题分类【柱状图——本月】
|
||
|
|
/// </summary>
|
||
|
|
protected string ClassifyBar
|
||
|
|
{
|
||
|
|
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 = 8;
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
||
|
|
List<double> listdata = new List<double>();
|
||
|
|
List<double> listdata2 = new List<double>();
|
||
|
|
int tCbs = 0;
|
||
|
|
int tXmb = 0;
|
||
|
|
foreach (var type in classifys)
|
||
|
|
{
|
||
|
|
//listCategories.Add(type.ClassifyCode);
|
||
|
|
listCategories.Add(type.ClassifyName);
|
||
|
|
var typeItems = listMon.Where(x => x.ClassifyId == type.ClassifyId);
|
||
|
|
tCbs = typeItems.Where(x => x.UnitType == "承包商").Count();
|
||
|
|
tXmb = typeItems.Where(x => x.UnitType == "项目部").Count();
|
||
|
|
listdata.Add(tXmb);
|
||
|
|
listdata2.Add(tCbs);
|
||
|
|
}
|
||
|
|
s.data = listdata;
|
||
|
|
s2.data = listdata2;
|
||
|
|
series.Add(s);
|
||
|
|
series.Add(s2);
|
||
|
|
businessColumn.categories = listCategories;
|
||
|
|
businessColumn.series = series;
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 按问题分类【柱状图——今年】
|
||
|
|
/// </summary>
|
||
|
|
protected string ClassifyBarYear
|
||
|
|
{
|
||
|
|
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 = 8;
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
||
|
|
List<double> listdata = new List<double>();
|
||
|
|
List<double> listdata2 = new List<double>();
|
||
|
|
int tCbs = 0;
|
||
|
|
int tXmb = 0;
|
||
|
|
foreach (var type in classifys)
|
||
|
|
{
|
||
|
|
//listCategories.Add(type.ClassifyCode);
|
||
|
|
listCategories.Add(type.ClassifyName);
|
||
|
|
var typeItems = list.Where(x => x.ClassifyId == type.ClassifyId);
|
||
|
|
tCbs = typeItems.Where(x => x.UnitType == "承包商").Count();
|
||
|
|
tXmb = typeItems.Where(x => x.UnitType == "项目部").Count();
|
||
|
|
listdata.Add(tXmb);
|
||
|
|
listdata2.Add(tCbs);
|
||
|
|
}
|
||
|
|
s.data = listdata;
|
||
|
|
s2.data = listdata2;
|
||
|
|
series.Add(s);
|
||
|
|
series.Add(s2);
|
||
|
|
businessColumn.categories = listCategories;
|
||
|
|
businessColumn.series = series;
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region 人员管理类统计
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 人员管理类统计(Q1)【本月】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q1Pie
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "人员管理类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//人员管理类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ1);
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = listMon.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 人员管理类统计(Q1)【今年】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q1PieYear
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "人员管理类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//人员管理类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ1);
|
||
|
|
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = list.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region 现场管理类统计
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 现场管理类统计(Q2)【本月】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q2Pie
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "现场管理类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//现场管理类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ2);
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = listMon.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 现场管理类统计(Q2)【今年】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q2PieYear
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "现场管理类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//现场管理类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ2);
|
||
|
|
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = list.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region 施工质量类统计
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 施工质量类统计(Q3)【本月】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q3Pie
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "施工质量类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//施工质量类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ3);
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = listMon.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 施工质量类统计(Q3)【今年】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q3PieYear
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "施工质量类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//施工质量类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ3);
|
||
|
|
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = list.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region 质量文件和记录类统计
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 质量文件和记录类统计(Q4)【本月】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q4Pie
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "质量文件和记录类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//质量文件和记录类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ4);
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = listMon.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 质量文件和记录类统计(Q4)【今年】
|
||
|
|
/// </summary>
|
||
|
|
protected string Q4PieYear
|
||
|
|
{
|
||
|
|
get
|
||
|
|
{
|
||
|
|
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
|
|
businessColumn.title = "质量文件和记录类统计";
|
||
|
|
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
//质量文件和记录类
|
||
|
|
var classifyItems = BLL.QualityProblemClassifyItemService.GetClassifyItemList(Const.QualityClassifyIdQ4);
|
||
|
|
|
||
|
|
List<Model.PieData> pies = new List<Model.PieData>();
|
||
|
|
List<string> dataString = new List<string>();
|
||
|
|
int dataNum = 0;
|
||
|
|
foreach (var obj in classifyItems)
|
||
|
|
{
|
||
|
|
var lst = list.Where(x => x.ClassifyItemId == obj.ClassifyItemId);
|
||
|
|
if (lst.Any())
|
||
|
|
{
|
||
|
|
int num = lst.Count();
|
||
|
|
dataNum += num;
|
||
|
|
pies.Add(new PieData { value = num, name = obj.ClassifyItemName });
|
||
|
|
dataString.Add(obj.ClassifyItemName);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
s.pieData = pies;
|
||
|
|
s.dataString = dataString;
|
||
|
|
s.stack = dataNum.ToString();
|
||
|
|
series.Add(s);
|
||
|
|
businessColumn.series = series;
|
||
|
|
var jsonStr = JsonConvert.SerializeObject(businessColumn);
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
|
||
|
|
#region 按问题属性统计
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 按问题属性【柱状图——本月】
|
||
|
|
/// </summary>
|
||
|
|
protected string NatureBar
|
||
|
|
{
|
||
|
|
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 = 8;
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
||
|
|
List<double> listdata = new List<double>();
|
||
|
|
List<double> listdata2 = new List<double>();
|
||
|
|
int tCbs = 0;
|
||
|
|
int tXmb = 0;
|
||
|
|
foreach (var type in natures)
|
||
|
|
{
|
||
|
|
//listCategories.Add(type.NatureCode);
|
||
|
|
listCategories.Add(type.NatureName);
|
||
|
|
var typeItems = listMon.Where(x => x.NatureId == type.NatureId);
|
||
|
|
tCbs = typeItems.Where(x => x.UnitType == "承包商").Count();
|
||
|
|
tXmb = typeItems.Where(x => x.UnitType == "项目部").Count();
|
||
|
|
listdata.Add(tXmb);
|
||
|
|
listdata2.Add(tCbs);
|
||
|
|
}
|
||
|
|
s.data = listdata;
|
||
|
|
s2.data = listdata2;
|
||
|
|
series.Add(s);
|
||
|
|
series.Add(s2);
|
||
|
|
businessColumn.categories = listCategories;
|
||
|
|
businessColumn.series = series;
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// 按问题属性【柱状图——今年】
|
||
|
|
/// </summary>
|
||
|
|
protected string NatureBarYear
|
||
|
|
{
|
||
|
|
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 = 8;
|
||
|
|
Model.SingleSerie s = new Model.SingleSerie();
|
||
|
|
Model.SingleSerie s2 = new Model.SingleSerie();
|
||
|
|
List<double> listdata = new List<double>();
|
||
|
|
List<double> listdata2 = new List<double>();
|
||
|
|
int tCbs = 0;
|
||
|
|
int tXmb = 0;
|
||
|
|
foreach (var type in natures)
|
||
|
|
{
|
||
|
|
//listCategories.Add(type.NatureCode);
|
||
|
|
listCategories.Add(type.NatureName);
|
||
|
|
var typeItems = list.Where(x => x.NatureId == type.NatureId);
|
||
|
|
tCbs = typeItems.Where(x => x.UnitType == "承包商").Count();
|
||
|
|
tXmb = typeItems.Where(x => x.UnitType == "项目部").Count();
|
||
|
|
listdata.Add(tXmb);
|
||
|
|
listdata2.Add(tCbs);
|
||
|
|
}
|
||
|
|
s.data = listdata;
|
||
|
|
s2.data = listdata2;
|
||
|
|
series.Add(s);
|
||
|
|
series.Add(s2);
|
||
|
|
businessColumn.categories = listCategories;
|
||
|
|
businessColumn.series = series;
|
||
|
|
return JsonConvert.SerializeObject(businessColumn);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endregion
|
||
|
|
}
|
||
|
|
}
|