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