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