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

527 lines
28 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
}