527 lines
28 KiB
C#
527 lines
28 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;
|
||
|
||
namespace FineUIPro.Web
|
||
{
|
||
public partial class mainMenu_CQMS : PageBase
|
||
{
|
||
protected void Page_Load(object sender, EventArgs e)
|
||
{
|
||
if (!IsPostBack)
|
||
{
|
||
// ClientScript.RegisterClientScriptBlock(typeof(Page), "", " category_One('one1', '项目质量验收一次合格率', " + new mainMenu_CQMS().One1 + ")", true);
|
||
}
|
||
}
|
||
|
||
#region 项目质量验收一次合格率
|
||
protected string One1
|
||
{
|
||
get
|
||
{
|
||
var db = new Model.SGGLDB(Funs.ConnString);
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailOKLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsOnceQualified == true
|
||
select x).ToList();
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
select x).ToList();
|
||
double result = 0;
|
||
if (TotalCheckDetailOKLists.Count > 0 && TotalCheckDetailLists.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(TotalCheckDetailOKLists.Count);
|
||
var b = Convert.ToDouble(TotalCheckDetailLists.Count);
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
return JsonConvert.SerializeObject(result);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 焊接一次拍片合格率
|
||
protected string One2
|
||
{
|
||
get
|
||
{
|
||
double result = 0;
|
||
var ndtList = (from x in Funs.DB.ProcessControl_NondestructiveTest_New where x.ProfessionalName == "工艺管道" && x.ProjectId == this.CurrUser.LoginProjectId orderby x.CreateDate descending select x).FirstOrDefault();
|
||
|
||
if (ndtList != null && !string.IsNullOrEmpty(ndtList.TotalRate))
|
||
{
|
||
result = Convert.ToDouble(ndtList.TotalRate);
|
||
}
|
||
return JsonConvert.SerializeObject(result);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 项目质量问题整改完成率
|
||
protected string One3
|
||
{
|
||
get
|
||
{
|
||
var checks = from x in Funs.DB.Check_CheckControl
|
||
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
|
||
select x;
|
||
int a = checks.Where(x => x.State == "7").Count();
|
||
double result = 0;
|
||
if (a > 0 && checks.Count() > 0)
|
||
{
|
||
var b = Convert.ToDouble(checks.Count());
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
return JsonConvert.SerializeObject(result);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region 质量控制点通知
|
||
protected string One4
|
||
{
|
||
get
|
||
{
|
||
var db = new Model.SGGLDB(Funs.ConnString);
|
||
Model.Num num = new Model.Num();
|
||
var controlItemAndCycles = from x in db.WBS_BreakdownProject
|
||
where x.ProjectId == CurrUser.LoginProjectId && x.IsSelected == true
|
||
orderby x.BreakdownCode
|
||
select x;
|
||
var oKSpotCheckDetails = (from x in db.ProcessControl_InspectionManagementDetail
|
||
join y in db.ProcessControl_InspectionManagement
|
||
on x.InspectionId equals y.InspectionId
|
||
join z in db.WBS_BreakdownProject
|
||
on x.ControlPointType equals z.BreakdownProjectId
|
||
where y.IsOnceQualified == true && y.ProjectId == CurrUser.LoginProjectId
|
||
select new { x.ControlPointType, z.Class }).Distinct().ToList();
|
||
//A类
|
||
var Alist = controlItemAndCycles.Where(x => x.Class.Contains("A"));
|
||
int a = oKSpotCheckDetails.Count(x => x.Class.Contains("A"));
|
||
num.num2 = a;
|
||
num.num3 = Alist.Count();
|
||
num.num1 = num.num3 - num.num2;
|
||
//B类
|
||
var Blist = controlItemAndCycles.Where(x => x.Class.Contains("B"));
|
||
int b = oKSpotCheckDetails.Count(x => x.Class.Contains("B"));
|
||
num.num5 = b;
|
||
num.num6 = Blist.Count();
|
||
num.num4 = num.num6 - num.num5;
|
||
//C类
|
||
var Clist = controlItemAndCycles.Where(x => x.Class.Contains("C"));
|
||
int c = oKSpotCheckDetails.Count(x => x.Class.Contains("C"));
|
||
num.num8 = c;
|
||
num.num9 = Clist.Count();
|
||
num.num7 = num.num9 - num.num8;
|
||
return JsonConvert.SerializeObject(num);
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#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 = "质量问题统计";
|
||
businessColumn.xFontNum = 8;
|
||
var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
|
||
var checks = from x in Funs.DB.Check_CheckControl
|
||
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
|
||
select x;
|
||
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 okNum = 0;
|
||
foreach (var unit in units)
|
||
{
|
||
listCategories.Add(BLL.UnitService.GetShortUnitNameByUnitId(unit.UnitId));
|
||
var unitChecks = checks.Where(x => x.UnitId == unit.UnitId);
|
||
okNum = unitChecks.Where(x => x.State == "7").Count();
|
||
listdata.Add(unitChecks.Count() - okNum);
|
||
listdata2.Add(okNum);
|
||
}
|
||
s.data = listdata;
|
||
s2.data = listdata2;
|
||
series.Add(s);
|
||
series.Add(s2);
|
||
businessColumn.categories = listCategories;
|
||
businessColumn.series = series;
|
||
return JsonConvert.SerializeObject(businessColumn);
|
||
}
|
||
}
|
||
|
||
protected string Two2
|
||
{
|
||
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 = 5;
|
||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||
var checks = from x in Funs.DB.Check_CheckControl
|
||
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
|
||
select x;
|
||
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 okNum = 0;
|
||
foreach (var unitWork in unitWorks)
|
||
{
|
||
listCategories.Add(unitWork.UnitWorkName);
|
||
var unitChecks = checks.Where(x => x.UnitWorkId == unitWork.UnitWorkId);
|
||
okNum = unitChecks.Where(x => x.State == "7").Count();
|
||
listdata.Add(unitChecks.Count() - okNum);
|
||
listdata2.Add(okNum);
|
||
}
|
||
s.data = listdata;
|
||
s2.data = listdata2;
|
||
series.Add(s);
|
||
series.Add(s2);
|
||
businessColumn.categories = listCategories;
|
||
businessColumn.series = series;
|
||
return JsonConvert.SerializeObject(businessColumn);
|
||
}
|
||
}
|
||
|
||
protected string Two3
|
||
{
|
||
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 = 5;
|
||
//var cns = BLL.CNProfessionalService.GetList();
|
||
var cns = (from x in Funs.DB.Base_CNProfessional
|
||
where x.CNProfessionalId != BLL.Const.CNProfessionalHSEId
|
||
&& x.CNProfessionalId != BLL.Const.CNProfessionalConstructId
|
||
select x).ToList();
|
||
var checks = from x in Funs.DB.Check_CheckControl
|
||
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
|
||
select x;
|
||
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 okNum = 0;
|
||
foreach (var cn in cns)
|
||
{
|
||
listCategories.Add(cn.ProfessionalName);
|
||
var unitChecks = checks.Where(x => x.CNProfessionalCode == cn.CNProfessionalId);
|
||
okNum = unitChecks.Where(x => x.State == "7").Count();
|
||
listdata.Add(unitChecks.Count() - okNum);
|
||
listdata2.Add(okNum);
|
||
}
|
||
s.data = listdata;
|
||
s2.data = listdata2;
|
||
series.Add(s);
|
||
series.Add(s2);
|
||
businessColumn.categories = listCategories;
|
||
businessColumn.series = series;
|
||
return JsonConvert.SerializeObject(businessColumn);
|
||
}
|
||
}
|
||
|
||
protected string Two4
|
||
{
|
||
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 = 5;
|
||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||
unitWorks = unitWorks.Where(x => x.ProjectType == "1").ToList();
|
||
var checks = from x in Funs.DB.Check_CheckControl
|
||
where x.CheckDate <= DateTime.Now && x.ProjectId == CurrUser.LoginProjectId
|
||
select x;
|
||
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 okNum = 0;
|
||
foreach (var unitWork in unitWorks)
|
||
{
|
||
listCategories.Add(unitWork.UnitWorkName);
|
||
var unitChecks = checks.Where(x => x.UnitWorkId == unitWork.UnitWorkId);
|
||
okNum = unitChecks.Where(x => x.State == "7").Count();
|
||
listdata.Add(unitChecks.Count() - okNum);
|
||
listdata2.Add(okNum);
|
||
}
|
||
s.data = listdata;
|
||
s2.data = listdata2;
|
||
series.Add(s);
|
||
series.Add(s2);
|
||
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 = "质量一次合格率";
|
||
Model.SGGLDB db = Funs.DB;
|
||
var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailOKLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsOnceQualified == true
|
||
select x).ToList();
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
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>();
|
||
double result = 0, result2 = 0;
|
||
foreach (var unit in units)
|
||
{
|
||
listCategories.Add(BLL.UnitService.GetShortUnitNameByUnitId(unit.UnitId));
|
||
var okChecks = TotalCheckDetailOKLists.Where(x => x.UnitId == unit.UnitId).ToList();
|
||
var totalChecks = TotalCheckDetailLists.Where(x => x.UnitId == unit.UnitId).ToList();
|
||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(okChecks.Count);
|
||
var b = Convert.ToDouble(totalChecks.Count);
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
var ndtList = (from x in db.ProcessControl_NondestructiveTest_New where x.ProfessionalName == "工艺管道" && x.UnitId == unit.UnitId && x.ProjectId == this.CurrUser.LoginProjectId orderby x.CreateDate descending select x).FirstOrDefault();
|
||
if (ndtList != null && !string.IsNullOrEmpty(ndtList.TotalRate))
|
||
{
|
||
result2 = Convert.ToDouble(ndtList.TotalRate);
|
||
}
|
||
listdata.Add(result);
|
||
listdata2.Add(result2);
|
||
result = 0;
|
||
result2 = 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 = "质量一次合格率";
|
||
|
||
//专业测试阶段,仅hfnbd使用
|
||
if (this.CurrUser.UserId == BLL.Const.hfnbdId)
|
||
{
|
||
var cns = BLL.CNProfessionalService.GetCnProList();
|
||
Model.SGGLDB db = Funs.DB;
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailOKLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsOnceQualified == true
|
||
select x).ToList();
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
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>();
|
||
double result = 0, result2 = 0;
|
||
foreach (var cn in cns)
|
||
{
|
||
listCategories.Add(cn.DetectionItems);
|
||
var okChecks = TotalCheckDetailOKLists.Where(x => x.CNProfessionalId == cn.ControlId).ToList();
|
||
var totalChecks = TotalCheckDetailLists.Where(x => x.CNProfessionalId == cn.ControlId).ToList();
|
||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(okChecks.Count);
|
||
var b = Convert.ToDouble(totalChecks.Count);
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
if (cn.DetectionItems.Contains("管道"))
|
||
{
|
||
var ndtList = (from x in db.ProcessControl_NondestructiveTest_New where x.ProfessionalName == "工艺管道" && x.ProjectId == this.CurrUser.LoginProjectId orderby x.CreateDate descending select x).FirstOrDefault();
|
||
if (ndtList != null && !string.IsNullOrEmpty(ndtList.TotalRate))
|
||
{
|
||
result2 = Convert.ToDouble(ndtList.TotalRate);
|
||
}
|
||
}
|
||
listdata.Add(result);
|
||
listdata2.Add(result2);
|
||
result = 0;
|
||
result2 = 0;
|
||
}
|
||
s.data = listdata;
|
||
s2.data = listdata2;
|
||
series.Add(s);
|
||
series.Add(s2);
|
||
}
|
||
else
|
||
{
|
||
var cns = BLL.CNProfessionalService.GetList();
|
||
Model.SGGLDB db = Funs.DB;
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailOKLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId && x.IsOnceQualified == true
|
||
select x).ToList();
|
||
List<Model.ProcessControl_InspectionManagement> TotalCheckDetailLists = (from x in db.ProcessControl_InspectionManagement
|
||
where x.ProjectId == this.CurrUser.LoginProjectId
|
||
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>();
|
||
double result = 0, result2 = 0;
|
||
foreach (var cn in cns)
|
||
{
|
||
listCategories.Add(cn.ProfessionalName);
|
||
var okChecks = TotalCheckDetailOKLists.Where(x => x.CNProfessionalId == cn.CNProfessionalId).ToList();
|
||
var totalChecks = TotalCheckDetailLists.Where(x => x.CNProfessionalId == cn.CNProfessionalId).ToList();
|
||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(okChecks.Count);
|
||
var b = Convert.ToDouble(totalChecks.Count);
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
if (cn.ProfessionalName.Contains("管道"))
|
||
{
|
||
var ndtList = (from x in db.ProcessControl_NondestructiveTest_New where x.ProfessionalName == "工艺管道" && x.ProjectId == this.CurrUser.LoginProjectId orderby x.CreateDate descending select x).FirstOrDefault();
|
||
if (ndtList != null && !string.IsNullOrEmpty(ndtList.TotalRate))
|
||
{
|
||
result2 = Convert.ToDouble(ndtList.TotalRate);
|
||
}
|
||
}
|
||
listdata.Add(result);
|
||
listdata2.Add(result2);
|
||
result = 0;
|
||
result2 = 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 Four
|
||
{
|
||
get
|
||
{
|
||
List<Model.SingleSerie> series = new List<Model.SingleSerie>();
|
||
Model.BusinessColumn businessColumn = new Model.BusinessColumn();
|
||
List<string> listCategories = new List<string>();
|
||
businessColumn.title = "质量一次合格率";
|
||
Model.SGGLDB db = Funs.DB;
|
||
var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
|
||
var TotalCheckDetailOKLists = from x in db.ProcessControl_InspectionManagementDetail
|
||
join y in db.ProcessControl_InspectionManagement on x.InspectionId equals y.InspectionId
|
||
//join z in db.WBS_BreakdownProject on x.ControlPointType equals z.BreakdownProjectId
|
||
where y.ProjectId == this.CurrUser.LoginProjectId
|
||
select new { x.UnitWorkId, y.IsOnceQualified };
|
||
Model.SingleSerie s = new Model.SingleSerie();
|
||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||
List<double> listdata = new List<double>();
|
||
double result = 0;
|
||
foreach (var unitWork in unitWorks)
|
||
{
|
||
listCategories.Add(unitWork.UnitWorkName);
|
||
var okChecks = TotalCheckDetailOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId && x.IsOnceQualified == true).ToList();
|
||
var totalChecks = TotalCheckDetailOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(okChecks.Count);
|
||
var b = Convert.ToDouble(totalChecks.Count);
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
listdata.Add(result);
|
||
result = 0;
|
||
}
|
||
s.data = listdata;
|
||
series.Add(s);
|
||
businessColumn.categories = listCategories;
|
||
businessColumn.series = series;
|
||
return JsonConvert.SerializeObject(businessColumn);
|
||
}
|
||
}
|
||
|
||
protected string Four2
|
||
{
|
||
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();
|
||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now);
|
||
List<Model.View_Check_SoptCheckDetail> TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||
List<Model.View_Check_SoptCheckDetail> totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now);
|
||
Model.SingleSerie s = new Model.SingleSerie();
|
||
Model.SingleSerie s2 = new Model.SingleSerie();
|
||
List<double> listdata = new List<double>();
|
||
List<double> listdata2 = new List<double>();
|
||
double result = 0, result2 = 0;
|
||
foreach (var unitWork in unitWorks)
|
||
{
|
||
listCategories.Add(unitWork.UnitWorkName);
|
||
var okChecks = TotalCheckDetailOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||
var totalChecks = TotalCheckDetailLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||
if (okChecks.Count > 0 && totalChecks.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(okChecks.Count);
|
||
var b = Convert.ToDouble(totalChecks.Count);
|
||
result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
var dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.UnitWorkId == unitWork.UnitWorkId).ToList();
|
||
okChecks = okChecks.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true
|
||
if (dataOkChecks.Count > 0 && okChecks.Count > 0)
|
||
{
|
||
var a = Convert.ToDouble(dataOkChecks.Count);
|
||
var b = Convert.ToDouble(okChecks.Count);
|
||
result2 = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1));
|
||
}
|
||
listdata.Add(result);
|
||
listdata2.Add(result2);
|
||
result = 0;
|
||
result2 = 0;
|
||
}
|
||
s.data = listdata;
|
||
s2.data = listdata2;
|
||
series.Add(s);
|
||
series.Add(s2);
|
||
businessColumn.categories = listCategories;
|
||
businessColumn.series = series;
|
||
return JsonConvert.SerializeObject(businessColumn);
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
} |