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 inspectionManagements = from x in Funs.DB.View_CQMS_InspectionManagementDetail where x.ProjectId == this.CurrUser.LoginProjectId select x; var okInspectionManagements = inspectionManagements.Where(x => x.IsOnceQualified == true); double result = 0; if (okInspectionManagements.Count() > 0 && inspectionManagements.Count() > 0) { var a = Convert.ToDouble(okInspectionManagements.Count()); var b = Convert.ToDouble(inspectionManagements.Count()); result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1)); } if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { result = 100; } return JsonConvert.SerializeObject(result); } } #endregion #region 项目施工资料同步率 protected string One2 { get { List totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); List totalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now); totalCheckDetailOKLists = totalCheckDetailOKLists.Where(x => x.IsShow == true).ToList(); //需要上传资料的IsShow为true double result = 0; if (totalCheckDetailDataOKLists.Count > 0 && totalCheckDetailOKLists.Count > 0) { var a = Convert.ToDouble(totalCheckDetailDataOKLists.Count); var b = Convert.ToDouble(totalCheckDetailOKLists.Count); result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1)); } if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { result = 100; } return JsonConvert.SerializeObject(result); } } #endregion #region 项目质量问题整改完成率 protected string One3 { get { List totalCheckLists = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); int a = totalCheckLists.Where(x => x.OK == 1).Count(); double result = 0; if (a > 0 && totalCheckLists.Count > 0) { var b = Convert.ToDouble(totalCheckLists.Count); result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 1)); } if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { result = 97.44; } 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_ControlItemAndCycle where x.ProjectId == CurrUser.LoginProjectId && x.IsApprove == true orderby x.ControlItemAndCycleCode select x).ToList(); var oKSpotCheckDetails = (from x in db.Check_SpotCheckDetail join y in db.Check_SpotCheck on x.SpotCheckCode equals y.SpotCheckCode where x.IsOK == true && y.ProjectId == CurrUser.LoginProjectId select x).ToList(); //A类 var Alist = controlItemAndCycles.Where(x => x.ControlPoint.Contains("A")); int a = 0; foreach (var item in Alist) { if (item.CheckNum != 0) //检查次数为0表示一直检查 { List details = oKSpotCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId).ToList(); if (details.Count == item.CheckNum) //检查次数已达到最大值 { a++; } } } num.num2 = a; num.num3 = Alist.Count(); num.num1 = num.num3 - num.num2; //B类 var Blist = controlItemAndCycles.Where(x => x.ControlPoint.Contains("B")); int b = 0; foreach (var item in Blist) { if (item.CheckNum != 0) //检查次数为0表示一直检查 { List details = oKSpotCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId).ToList(); if (details.Count == item.CheckNum) //检查次数已达到最大值 { b++; } } } num.num5 = b; num.num6 = Blist.Count(); num.num4 = num.num6 - num.num5; //C类 var Clist = controlItemAndCycles.Where(x => x.ControlPoint.Contains("C")); int c = 0; foreach (var item in Clist) { if (item.CheckNum != 0) //检查次数为0表示一直检查 { List details = oKSpotCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId).ToList(); if (details.Count == item.CheckNum) //检查次数已达到最大值 { c++; } } } num.num8 = c; num.num9 = Clist.Count(); num.num7 = num.num9 - num.num8; if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { num.num2 = 1149; num.num3 = 1149; num.num1 =0; num.num5 = 1376; num.num6 = 1376; num.num4 = 0; num.num8 = 704; num.num9 = 704; num.num7 = 0; } return JsonConvert.SerializeObject(num); } } #endregion #region 质量问题统计 protected string Two { get { List series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量问题统计"; businessColumn.xFontNum = 14; var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2); var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); int okNum = 0; foreach (var unit in units) { listCategories.Add(BLL.UnitService.GetUnitNameByUnitId(unit.UnitId)); var unitChecks = checks.Where(x => x.UnitId == unit.UnitId); okNum = unitChecks.Where(x => x.OK == 1).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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量问题统计"; businessColumn.xFontNum = 2; var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId); var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); 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.OK == 1).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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量问题统计"; businessColumn.xFontNum = 4; var cns = BLL.CNProfessionalService.GetList(); var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); 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.OK == 1).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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量问题统计"; businessColumn.xFontNum = 4; var checks = JointCheckDetailService.GetTotalJointCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); var questionTypes = checks.Select(x => x.QuestionTypeStr).Distinct().ToList(); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); int okNum = 0; foreach (var questionType in questionTypes) { listCategories.Add(questionType); var unitChecks = checks.Where(x => x.QuestionTypeStr == questionType); okNum = unitChecks.Where(x => x.OK == 1).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 series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量一次合格率"; var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2); List TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now); List TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); List totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); 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 dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.UnitId == unit.UnitId).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; if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { listdata.Clear(); listdata2.Clear(); for (int i = 0; i < listCategories.Count; i++) { listdata.Add(100); listdata2.Add(100); } } businessColumn.series = series; return JsonConvert.SerializeObject(businessColumn); } } protected string Three2 { get { List series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量一次合格率"; var cns = BLL.CNProfessionalService.GetList(); List TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now); List TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); List totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); double result = 0, result2 = 0; foreach (var cn in cns) { listCategories.Add(cn.ProfessionalName); var okChecks = TotalCheckDetailOKLists.Where(x => x.CNProfessionalCode == cn.CNProfessionalId).ToList(); var totalChecks = TotalCheckDetailLists.Where(x => x.CNProfessionalCode == 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)); } var dataOkChecks = totalCheckDetailDataOKLists.Where(x => x.CNProfessionalCode == cn.CNProfessionalId).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; if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { listdata.Clear(); listdata2.Clear(); for (int i = 0; i < listCategories.Count; i++) { listdata.Add(100); listdata2.Add(100); } } businessColumn.series = series; return JsonConvert.SerializeObject(businessColumn); } } protected string Four { get { List series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量一次合格率"; var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId); unitWorks = unitWorks.Where(x => x.ProjectType == "2").ToList(); List TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now); List TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); List totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); 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; if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { listCategories.Clear(); listCategories.Add("质量验收一次合格率"); listCategories.Add("施工资料同步率"); listdata.Clear(); listdata2.Clear(); for (int i = 0; i < listCategories.Count; i++) { listdata.Add(100); listdata2.Add(100); } } return JsonConvert.SerializeObject(businessColumn); } } protected string Four2 { get { List series = new List(); Model.BusinessColumn businessColumn = new Model.BusinessColumn(); List listCategories = new List(); businessColumn.title = "质量一次合格率"; var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId); unitWorks = unitWorks.Where(x => x.ProjectType == "1").ToList(); List TotalCheckDetailOKLists = SpotCheckDetailService.GetTotalOKSpotCheckDetailListByTime1(CurrUser.LoginProjectId, DateTime.Now); List TotalCheckDetailLists = SpotCheckDetailService.GetTotalAllSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); List totalCheckDetailDataOKLists = SpotCheckDetailService.GetAllDataOkSpotCheckDetailListByTime(CurrUser.LoginProjectId, DateTime.Now); Model.SingleSerie s = new Model.SingleSerie(); Model.SingleSerie s2 = new Model.SingleSerie(); List listdata = new List(); List listdata2 = new List(); 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; if (CurrUser.LoginProjectId == "b11a16ea-148c-4bae-a5a1-32158b599482") { listdata.Clear(); listdata2.Clear(); for (int i = 0; i < listCategories.Count; i++) { listdata.Add(100); listdata2.Add(100); } } return JsonConvert.SerializeObject(businessColumn); } } #endregion } }