743 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			743 lines
		
	
	
		
			40 KiB
		
	
	
	
		
			C#
		
	
	
	
| 
								 | 
							
								using BLL;
							 | 
						|||
| 
								 | 
							
								using Newtonsoft.Json;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Data;
							 | 
						|||
| 
								 | 
							
								using System.Data.SqlClient;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Web.UI;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace FineUIPro.Web.common
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    public partial class mainProject0 : PageBase
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        protected void Page_Load(object sender, EventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            if (!IsPostBack)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                ///项目概况
							 | 
						|||
| 
								 | 
							
								                #region 项目概况
							 | 
						|||
| 
								 | 
							
								                var project = ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
							 | 
						|||
| 
								 | 
							
								                if (project != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    this.divProjectName.InnerHtml = project.ProjectName;
							 | 
						|||
| 
								 | 
							
								                    this.divProjectAddress.InnerHtml = project.ProjectAddress;
							 | 
						|||
| 
								 | 
							
								                    this.divProjectType.InnerHtml = ProjectTypeService.GetProjectTypeNameById(project.ProjectType);
							 | 
						|||
| 
								 | 
							
								                    if (project.ProjectState == Const.ProjectState_2)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        this.divProjectstate.InnerHtml = "停工";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else if (project.ProjectState == BLL.Const.ProjectState_3)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        this.divProjectstate.InnerHtml = "竣工";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        this.divProjectstate.InnerHtml = "在建";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    this.divStartDate.InnerHtml = string.Format("{0:yyyy-MM-dd}", project.StartDate);
							 | 
						|||
| 
								 | 
							
								                    this.divEndDate.InnerHtml = string.Format("{0:yyyy-MM-dd}", project.EndDate);
							 | 
						|||
| 
								 | 
							
								                    this.divDuration.InnerHtml = project.Duration.ToString();
							 | 
						|||
| 
								 | 
							
								                    this.divOwnUnit.InnerHtml = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_4);
							 | 
						|||
| 
								 | 
							
								                    this.divJLUnit.InnerHtml = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_3);
							 | 
						|||
| 
								 | 
							
								                    var getName = ProjectService.getProjectUnitNameByUnitType(project.ProjectId, Const.ProjectUnitType_2);
							 | 
						|||
| 
								 | 
							
								                    if (!string.IsNullOrEmpty(getName))
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        this.divSGUnit.InnerHtml = getName.Replace(",", "</br>");
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    this.divProjectManager.InnerHtml = ProjectService.GetProjectManagerName(project.ProjectId);
							 | 
						|||
| 
								 | 
							
								                    this.divConstructionManager.InnerHtml = ProjectService.GetConstructionManagerName(project.ProjectId);
							 | 
						|||
| 
								 | 
							
								                    this.divHSSEManager.InnerHtml = ProjectService.GetHSSEManagerName(project.ProjectId);
							 | 
						|||
| 
								 | 
							
								                    this.divProjectMoney.InnerHtml = project.ProjectMoney.ToString();
							 | 
						|||
| 
								 | 
							
								                    this.divConstructionMoney.InnerHtml = project.ConstructionMoney.ToString();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                /// 获取安全人工时
							 | 
						|||
| 
								 | 
							
								                getPersonWorkTime();
							 | 
						|||
| 
								 | 
							
								                ///劳务统计
							 | 
						|||
| 
								 | 
							
								                getSitePerson();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 安全人工时
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取安全人工时
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private void getPersonWorkTime()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            int wHours = Funs.DB.SitePerson_PersonInOutNumber.Where(x => x.ProjectId == this.CurrUser.LoginProjectId).Max(x => x.WorkHours) ?? 0;
							 | 
						|||
| 
								 | 
							
								            if (wHours > 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                this.divPNum1.InnerHtml = (wHours % 10).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum2.InnerHtml = ((wHours % 100) / 10).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum3.InnerHtml = ((wHours % 1000) / 100).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum4.InnerHtml = ((wHours % 10000) / 1000).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum5.InnerHtml = ((wHours % 100000) / 10000).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum6.InnerHtml = ((wHours % 1000000) / 100000).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum7.InnerHtml = ((wHours % 10000000) / 1000000).ToString();
							 | 
						|||
| 
								 | 
							
								                this.divPNum8.InnerHtml = ((wHours % 100000000) / 10000000).ToString();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								            ///整改单          
							 | 
						|||
| 
								 | 
							
								            var getRectify = Funs.DB.Check_RectifyNotices.Where(x => x.ProjectId == this.CurrUser.LoginProjectId);
							 | 
						|||
| 
								 | 
							
								            int allcout = getRectify.Count();
							 | 
						|||
| 
								 | 
							
								            if (allcout > 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                this.divAllRectify.InnerHtml = allcout.ToString();
							 | 
						|||
| 
								 | 
							
								                int ccount = getRectify.Where(x => x.States == "5").Count();
							 | 
						|||
| 
								 | 
							
								                this.divCRectify.InnerHtml = ccount.ToString();
							 | 
						|||
| 
								 | 
							
								                this.divUCRectify.InnerHtml = (allcout - ccount).ToString();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 劳务统计
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        ///  劳务统计
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        private void getSitePerson()
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            int AllCount = 0;
							 | 
						|||
| 
								 | 
							
								            int MCount = 0;
							 | 
						|||
| 
								 | 
							
								            var getallin = APIPageDataService.getPersonNum(this.CurrUser.LoginProjectId, DateTime.Now);
							 | 
						|||
| 
								 | 
							
								            AllCount = getallin.Count();
							 | 
						|||
| 
								 | 
							
								            if (AllCount > 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                MCount = getallin.Where(x => x.PostType == Const.PostType_1).Count();
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            if (AllCount > 0)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                ////总人数
							 | 
						|||
| 
								 | 
							
								                this.person00.InnerHtml = ((AllCount % 1000) / 100).ToString();
							 | 
						|||
| 
								 | 
							
								                this.person01.InnerHtml = ((AllCount % 100) / 10).ToString();
							 | 
						|||
| 
								 | 
							
								                this.person02.InnerHtml = (AllCount % 10).ToString();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                if (MCount > 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    /////管理人数
							 | 
						|||
| 
								 | 
							
								                    this.person20.InnerHtml = ((MCount % 1000) / 100).ToString();
							 | 
						|||
| 
								 | 
							
								                    this.person21.InnerHtml = ((MCount % 100) / 10).ToString();
							 | 
						|||
| 
								 | 
							
								                    this.person22.InnerHtml = (MCount % 10).ToString();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                /////作业人数
							 | 
						|||
| 
								 | 
							
								                int WCount = AllCount - MCount;
							 | 
						|||
| 
								 | 
							
								                if (WCount > 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    this.person10.InnerHtml = ((WCount % 1000) / 100).ToString();
							 | 
						|||
| 
								 | 
							
								                    this.person11.InnerHtml = ((WCount % 100) / 10).ToString();
							 | 
						|||
| 
								 | 
							
								                    this.person12.InnerHtml = (WCount % 10).ToString();
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #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 = "质量一次验收合格率";
							 | 
						|||
| 
								 | 
							
								                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);
							 | 
						|||
| 
								 | 
							
								                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();
							 | 
						|||
| 
								 | 
							
								                    //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);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        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 = "质量一次验收合格率";
							 | 
						|||
| 
								 | 
							
								                var unitWorks = BLL.UnitWorkService.GetUnitWorkLists(CurrUser.LoginProjectId);
							 | 
						|||
| 
								 | 
							
								                unitWorks = unitWorks.Where(x => x.ProjectType == "2").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);
							 | 
						|||
| 
								 | 
							
								                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();
							 | 
						|||
| 
								 | 
							
								                    //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
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 焊接一次合格率
							 | 
						|||
| 
								 | 
							
								        protected string Three1
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Model.SingleSerie series = new Model.SingleSerie();
							 | 
						|||
| 
								 | 
							
								                Model.BusinessColumn businessColumn = new Model.BusinessColumn();
							 | 
						|||
| 
								 | 
							
								                List<double> listdata = new List<double>();
							 | 
						|||
| 
								 | 
							
								                double result = 0;
							 | 
						|||
| 
								 | 
							
								                Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								                //一次检测合格焊口数
							 | 
						|||
| 
								 | 
							
								                int oneCheckJotNum = (from x in db.HJGL_Batch_NDEItem
							 | 
						|||
| 
								 | 
							
								                                      join y in db.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals y.TrustBatchItemId
							 | 
						|||
| 
								 | 
							
								                                      join z in db.HJGL_Batch_PointBatchItem on y.PointBatchItemId equals z.PointBatchItemId
							 | 
						|||
| 
								 | 
							
								                                      join a in db.HJGL_Batch_NDE on x.NDEID equals a.NDEID
							 | 
						|||
| 
								 | 
							
								                                      where z.PointDate != null && z.PointState == "1" && y.RepairRecordId == null && a.ProjectId == this.CurrUser.LoginProjectId
							 | 
						|||
| 
								 | 
							
								                                      select x.NDEItemID).Count();
							 | 
						|||
| 
								 | 
							
								                //一次检测返修焊口数
							 | 
						|||
| 
								 | 
							
								                int oneCheckRepairJotNum = (from x in db.HJGL_Batch_NDEItem
							 | 
						|||
| 
								 | 
							
								                                            join y in db.HJGL_Batch_BatchTrustItem on x.TrustBatchItemId equals y.TrustBatchItemId
							 | 
						|||
| 
								 | 
							
								                                            join z in db.HJGL_Batch_PointBatchItem on y.PointBatchItemId equals z.PointBatchItemId
							 | 
						|||
| 
								 | 
							
								                                            join a in db.HJGL_Batch_NDE on x.NDEID equals a.NDEID
							 | 
						|||
| 
								 | 
							
								                                            where z.PointDate != null && z.PointState == "1" && y.RepairRecordId == null && x.CheckResult == "2" && a.ProjectId == this.CurrUser.LoginProjectId
							 | 
						|||
| 
								 | 
							
								                                            select x.NDEItemID).Count();
							 | 
						|||
| 
								 | 
							
								                if (oneCheckJotNum > 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var a = Convert.ToDouble(oneCheckJotNum - oneCheckRepairJotNum);
							 | 
						|||
| 
								 | 
							
								                    var b = Convert.ToDouble(oneCheckJotNum);
							 | 
						|||
| 
								 | 
							
								                    result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 0));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                listdata.Add(result);
							 | 
						|||
| 
								 | 
							
								                series.name = result + "%";
							 | 
						|||
| 
								 | 
							
								                series.data = listdata;
							 | 
						|||
| 
								 | 
							
								                return JsonConvert.SerializeObject(series);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 焊接进度完成率
							 | 
						|||
| 
								 | 
							
								        protected string Three2
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                Model.SingleSerie series = new Model.SingleSerie();
							 | 
						|||
| 
								 | 
							
								                Model.BusinessColumn businessColumn = new Model.BusinessColumn();
							 | 
						|||
| 
								 | 
							
								                List<double> listdata = new List<double>();
							 | 
						|||
| 
								 | 
							
								                double result = 0;
							 | 
						|||
| 
								 | 
							
								                Model.SGGLDB db = Funs.DB;
							 | 
						|||
| 
								 | 
							
								                //项目焊口数
							 | 
						|||
| 
								 | 
							
								                int allJotNum = (from x in db.HJGL_WeldJoint
							 | 
						|||
| 
								 | 
							
								                                 where x.ProjectId == this.CurrUser.LoginProjectId
							 | 
						|||
| 
								 | 
							
								                                 select x).Count();
							 | 
						|||
| 
								 | 
							
								                //项目已焊焊口数
							 | 
						|||
| 
								 | 
							
								                int weldJotNum = (from x in db.HJGL_WeldJoint
							 | 
						|||
| 
								 | 
							
								                                  where x.ProjectId == this.CurrUser.LoginProjectId && x.WeldingDailyId != null
							 | 
						|||
| 
								 | 
							
								                                  select x).Count();
							 | 
						|||
| 
								 | 
							
								                if (allJotNum > 0)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var a = Convert.ToDouble(weldJotNum);
							 | 
						|||
| 
								 | 
							
								                    var b = Convert.ToDouble(allJotNum);
							 | 
						|||
| 
								 | 
							
								                    result = Convert.ToDouble(decimal.Round(decimal.Parse((a / b * 100).ToString()), 0));
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                listdata.Add(result);
							 | 
						|||
| 
								 | 
							
								                series.name = result + "%";
							 | 
						|||
| 
								 | 
							
								                series.data = listdata;
							 | 
						|||
| 
								 | 
							
								                return JsonConvert.SerializeObject(series);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        #region 进度统计
							 | 
						|||
| 
								 | 
							
								        protected string Four
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                DataTable tb = new DataTable();
							 | 
						|||
| 
								 | 
							
								                DateTime startDate, endDate, startMonth, endMonth;
							 | 
						|||
| 
								 | 
							
								                List<DateTime> months = new List<DateTime>();
							 | 
						|||
| 
								 | 
							
								                List<DateTime> weeks = new List<DateTime>();
							 | 
						|||
| 
								 | 
							
								                List<DateTime> days = new List<DateTime>();
							 | 
						|||
| 
								 | 
							
								                string isDataOK = string.Empty;
							 | 
						|||
| 
								 | 
							
								                Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
							 | 
						|||
| 
								 | 
							
								                //默认开始结束日期为项目开始结束日期
							 | 
						|||
| 
								 | 
							
								                endDate = DateTime.Now.Date.AddDays(1).AddSeconds(-1);
							 | 
						|||
| 
								 | 
							
								                if (project!= null && project.EndDate.HasValue && DateTime.Now > project.EndDate)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    endDate = project.EndDate.Value.AddDays(1).AddSeconds(-1);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                startDate = endDate.AddMonths(-6);
							 | 
						|||
| 
								 | 
							
								                List<Model.WBS_UnitWork> unitWorks = new List<Model.WBS_UnitWork>();
							 | 
						|||
| 
								 | 
							
								                List<Model.WBS_WorkPackage> workPackages = new List<Model.WBS_WorkPackage>();
							 | 
						|||
| 
								 | 
							
								                List<Model.WBS_ControlItemAndCycle> controlItemAndCycles = new List<Model.WBS_ControlItemAndCycle>();
							 | 
						|||
| 
								 | 
							
								                List<Model.View_Check_SoptCheckDetail> soptCheckDetails = new List<Model.View_Check_SoptCheckDetail>();
							 | 
						|||
| 
								 | 
							
								                unitWorks = BLL.UnitWorkService.GetUnitWorkLists(this.CurrUser.LoginProjectId);
							 | 
						|||
| 
								 | 
							
								                workPackages = BLL.WorkPackageService.GetAllWorkPackagesByProjectId(this.CurrUser.LoginProjectId);
							 | 
						|||
| 
								 | 
							
								                controlItemAndCycles = BLL.ControlItemAndCycleService.GetControlItemAndCyclesByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate);
							 | 
						|||
| 
								 | 
							
								                soptCheckDetails = BLL.SpotCheckDetailService.GetViewSpotCheckDetailsByProjectIdAndDate(this.CurrUser.LoginProjectId, endDate, isDataOK);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                decimal lastDPlanTotal = 0;
							 | 
						|||
| 
								 | 
							
								                decimal lastDCompleteTotal = 0;
							 | 
						|||
| 
								 | 
							
								                tb.Columns.Add("月");
							 | 
						|||
| 
								 | 
							
								                startMonth = Convert.ToDateTime(startDate.Year + "-" + startDate.Month + "-01");
							 | 
						|||
| 
								 | 
							
								                endMonth = Convert.ToDateTime(endDate.Year + "-" + endDate.Month + "-01");
							 | 
						|||
| 
								 | 
							
								                do
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    months.Add(startMonth);
							 | 
						|||
| 
								 | 
							
								                    startMonth = startMonth.AddMonths(1);
							 | 
						|||
| 
								 | 
							
								                } while (startMonth <= endMonth);
							 | 
						|||
| 
								 | 
							
								                tb.Columns.Add("计划值");
							 | 
						|||
| 
								 | 
							
								                tb.Columns.Add("累计计划值");
							 | 
						|||
| 
								 | 
							
								                tb.Columns.Add("实际值");
							 | 
						|||
| 
								 | 
							
								                tb.Columns.Add("累计实际值");
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < months.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    DataRow row = tb.NewRow();
							 | 
						|||
| 
								 | 
							
								                    row[0] = string.Format("{0:yyyy-MM}", months[i]);
							 | 
						|||
| 
								 | 
							
								                    //对应月份的记录
							 | 
						|||
| 
								 | 
							
								                    decimal dPlan = 0, dPlan1 = 0, dPlanTotal = 0, dComplete = 0, dComplete1 = 0, dCompleteMonth = 0, dCompleteTotal = 0;
							 | 
						|||
| 
								 | 
							
								                    //当月及之前所有工作包内容
							 | 
						|||
| 
								 | 
							
								                    var totalPlanCompleteControlItemAndCycles = controlItemAndCycles.Where(x => x.PlanCompleteDate < months[i].AddMonths(1));
							 | 
						|||
| 
								 | 
							
								                    //当月及之前所有验收合格记录
							 | 
						|||
| 
								 | 
							
								                    var totalSoptCheckDetails = soptCheckDetails.Where(x => x.SpotCheckDate < months[i].AddMonths(1));
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in totalPlanCompleteControlItemAndCycles)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
							 | 
						|||
| 
								 | 
							
								                            if (workPackage1 != null)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                //逐级递推计算权重计划值
							 | 
						|||
| 
								 | 
							
								                                dPlan1 = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(item.Weights / 100);
							 | 
						|||
| 
								 | 
							
								                                var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId);
							 | 
						|||
| 
								 | 
							
								                                if (workPackage2 != null)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    dPlan1 = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dPlan1;
							 | 
						|||
| 
								 | 
							
								                                    var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId);
							 | 
						|||
| 
								 | 
							
								                                    if (workPackage3 != null)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        dPlan1 = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dPlan1;
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId);
							 | 
						|||
| 
								 | 
							
								                            if (unitWork != null)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                dPlan1 = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dPlan1;
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        if (item.PlanCompleteDate >= months[i])   //当月计划完成记录
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            dPlan += dPlan1;   //累加当月值
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        dPlanTotal += dPlan1;   //累加累计值
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in controlItemAndCycles)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        //实际值
							 | 
						|||
| 
								 | 
							
								                        var itemSoptCheckDetails = soptCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId && x.SpotCheckDate < months[i].AddMonths(1));
							 | 
						|||
| 
								 | 
							
								                        var itemMonthSoptCheckDetails = soptCheckDetails.Where(x => x.ControlItemAndCycleId == item.ControlItemAndCycleId && x.SpotCheckDate >= months[i] && x.SpotCheckDate < months[i].AddMonths(1));
							 | 
						|||
| 
								 | 
							
								                        if (itemSoptCheckDetails.Count() > 0)  //存在验收合格的记录
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            //工作包实际值
							 | 
						|||
| 
								 | 
							
								                            dComplete1 = Convert.ToDecimal(itemSoptCheckDetails.Count()) / Convert.ToDecimal(item.CheckNum) * Convert.ToDecimal(item.Weights);
							 | 
						|||
| 
								 | 
							
								                            var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
							 | 
						|||
| 
								 | 
							
								                            if (workPackage1 != null)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                //逐级递推计算权重计划值
							 | 
						|||
| 
								 | 
							
								                                dComplete1 = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(dComplete1 / 100);
							 | 
						|||
| 
								 | 
							
								                                var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId);
							 | 
						|||
| 
								 | 
							
								                                if (workPackage2 != null)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    dComplete1 = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dComplete1;
							 | 
						|||
| 
								 | 
							
								                                    var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId);
							 | 
						|||
| 
								 | 
							
								                                    if (workPackage3 != null)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        dComplete1 = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dComplete1;
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId);
							 | 
						|||
| 
								 | 
							
								                            if (unitWork != null)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                dComplete1 = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dComplete1;
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            dCompleteTotal += dComplete1;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        if (itemMonthSoptCheckDetails.Count() > 0)  //当月存在验收合格的记录
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            //工作包实际值
							 | 
						|||
| 
								 | 
							
								                            dCompleteMonth = Convert.ToDecimal(itemMonthSoptCheckDetails.Count()) / Convert.ToDecimal(item.CheckNum) * Convert.ToDecimal(item.Weights);
							 | 
						|||
| 
								 | 
							
								                            var workPackage1 = workPackages.FirstOrDefault(x => x.WorkPackageId == item.WorkPackageId);
							 | 
						|||
| 
								 | 
							
								                            if (workPackage1 != null)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                //逐级递推计算权重计划值
							 | 
						|||
| 
								 | 
							
								                                dCompleteMonth = Convert.ToDecimal((workPackage1.Weights ?? 0) / 100) * Convert.ToDecimal(dCompleteMonth / 100);
							 | 
						|||
| 
								 | 
							
								                                var workPackage2 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage1.SuperWorkPackageId);
							 | 
						|||
| 
								 | 
							
								                                if (workPackage2 != null)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    dCompleteMonth = Convert.ToDecimal((workPackage2.Weights ?? 0) / 100) * dCompleteMonth;
							 | 
						|||
| 
								 | 
							
								                                    var workPackage3 = workPackages.FirstOrDefault(x => x.WorkPackageId == workPackage2.SuperWorkPackageId);
							 | 
						|||
| 
								 | 
							
								                                    if (workPackage3 != null)
							 | 
						|||
| 
								 | 
							
								                                    {
							 | 
						|||
| 
								 | 
							
								                                        dCompleteMonth = Convert.ToDecimal((workPackage3.Weights ?? 0) / 100) * dCompleteMonth;
							 | 
						|||
| 
								 | 
							
								                                    }
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            var unitWork = unitWorks.FirstOrDefault(x => x.UnitWorkId == workPackage1.UnitWorkId);
							 | 
						|||
| 
								 | 
							
								                            if (unitWork != null)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                dCompleteMonth = Convert.ToDecimal((unitWork.Weights ?? 0) / 100) * dCompleteMonth;
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                            dComplete += dCompleteMonth;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    row[1] = dPlan.ToString();   //计划值
							 | 
						|||
| 
								 | 
							
								                    if (dPlanTotal != lastDPlanTotal) //当期累计计划值不等于上月累计计划值时,再保存累计计划值
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        row[2] = dPlanTotal.ToString();   //累计计划值
							 | 
						|||
| 
								 | 
							
								                        for (int j = 0; j < i; j++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            if (string.IsNullOrEmpty(tb.Rows[j][2].ToString()))
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                tb.Rows[j][2] = lastDPlanTotal.ToString();
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (dPlanTotal == 0)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            row[2] = "0";   //累计计划值
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            row[2] = dPlanTotal;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    lastDPlanTotal = dPlanTotal;
							 | 
						|||
| 
								 | 
							
								                    row[3] = dComplete.ToString();   //实际值
							 | 
						|||
| 
								 | 
							
								                    if (dCompleteTotal != lastDCompleteTotal) //当期累计实际值不等于上月累计实际值时,再保存累计实际值
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        row[4] = dCompleteTotal.ToString();   //累计实际值
							 | 
						|||
| 
								 | 
							
								                        for (int j = 0; j < i; j++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            if (string.IsNullOrEmpty(tb.Rows[j][4].ToString()))
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                tb.Rows[j][4] = lastDCompleteTotal.ToString();
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    else
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (dCompleteTotal == 0)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            row[4] = "0";   //累计实际值
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            row[4] = dCompleteTotal;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    lastDCompleteTotal = dCompleteTotal;
							 | 
						|||
| 
								 | 
							
								                    tb.Rows.Add(row);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<Model.SingleSerie> series = new List<Model.SingleSerie>();
							 | 
						|||
| 
								 | 
							
								                Model.BusinessColumn businessColumn = new Model.BusinessColumn();
							 | 
						|||
| 
								 | 
							
								                List<string> listCategories = new List<string>();
							 | 
						|||
| 
								 | 
							
								                businessColumn.title = "赢得值曲线";
							 | 
						|||
| 
								 | 
							
								                var units = BLL.ProjectUnitService.GetProjectUnitListByProjectIdUnitType(CurrUser.LoginProjectId, BLL.Const.ProjectUnitType_2);
							 | 
						|||
| 
								 | 
							
								                Model.SingleSerie s = new Model.SingleSerie();
							 | 
						|||
| 
								 | 
							
								                Model.SingleSerie s2 = new Model.SingleSerie();
							 | 
						|||
| 
								 | 
							
								                Model.SingleSerie s3 = new Model.SingleSerie();
							 | 
						|||
| 
								 | 
							
								                Model.SingleSerie s4 = new Model.SingleSerie();
							 | 
						|||
| 
								 | 
							
								                List<double> listdata = new List<double>();
							 | 
						|||
| 
								 | 
							
								                List<double> listdata2 = new List<double>();
							 | 
						|||
| 
								 | 
							
								                List<double> listdata3 = new List<double>();
							 | 
						|||
| 
								 | 
							
								                List<double> listdata4 = new List<double>();
							 | 
						|||
| 
								 | 
							
								                for (int i = 0; i < tb.Rows.Count; i++)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    listCategories.Add(tb.Rows[i][0].ToString());
							 | 
						|||
| 
								 | 
							
								                    listdata.Add(Convert.ToDouble(tb.Rows[i][1].ToString()) * 100);
							 | 
						|||
| 
								 | 
							
								                    listdata2.Add(Convert.ToDouble(tb.Rows[i][2].ToString()) * 100);
							 | 
						|||
| 
								 | 
							
								                    listdata3.Add(Convert.ToDouble(tb.Rows[i][3].ToString()) * 100);
							 | 
						|||
| 
								 | 
							
								                    listdata4.Add(Convert.ToDouble(tb.Rows[i][4].ToString()) * 100);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                s.data = listdata;
							 | 
						|||
| 
								 | 
							
								                s2.data = listdata2;
							 | 
						|||
| 
								 | 
							
								                s3.data = listdata3;
							 | 
						|||
| 
								 | 
							
								                s4.data = listdata4;
							 | 
						|||
| 
								 | 
							
								                series.Add(s);
							 | 
						|||
| 
								 | 
							
								                series.Add(s2);
							 | 
						|||
| 
								 | 
							
								                series.Add(s3);
							 | 
						|||
| 
								 | 
							
								                series.Add(s4);
							 | 
						|||
| 
								 | 
							
								                businessColumn.categories = listCategories;
							 | 
						|||
| 
								 | 
							
								                businessColumn.series = series;
							 | 
						|||
| 
								 | 
							
								                return JsonConvert.SerializeObject(businessColumn);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        #endregion
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取项目照片
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        protected string projectSitePhoto
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string photo = "../images/sedinsite.jpg";
							 | 
						|||
| 
								 | 
							
								                var getMap = (from x in Funs.DB.InformationProject_ProjectMap
							 | 
						|||
| 
								 | 
							
								                              where x.MapType == "1" && x.ProjectId == this.CurrUser.LoginProjectId
							 | 
						|||
| 
								 | 
							
								                              orderby x.UploadDate descending
							 | 
						|||
| 
								 | 
							
								                              select x).FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								                if (getMap != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    var geturl = Funs.DB.AttachFile.FirstOrDefault(x => x.ToKeyId == getMap.ProjectMapId);
							 | 
						|||
| 
								 | 
							
								                    if (geturl != null && !string.IsNullOrEmpty(geturl.AttachUrl))
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        photo = "../" + geturl.AttachUrl;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return "\"" + photo + "\"";
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected int TodoNum;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected string swiper_One
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string projectId = string.Empty;
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(this.CurrUser.LoginProjectId))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    projectId = this.CurrUser.LoginProjectId;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                //安全
							 | 
						|||
| 
								 | 
							
								                var getDataList = Funs.DB.Sp_APP_GetToDoItems(this.CurrUser.LoginProjectId, this.CurrUser.UserId).ToList(); ;
							 | 
						|||
| 
								 | 
							
								                string strNoticeHtml = string.Empty;
							 | 
						|||
| 
								 | 
							
								                //质量
							 | 
						|||
| 
								 | 
							
								                SqlParameter[] val = new SqlParameter[]
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    new SqlParameter("@UserId", this.CurrUser.UserId),
							 | 
						|||
| 
								 | 
							
								                    new SqlParameter("@ProjectId",projectId)
							 | 
						|||
| 
								 | 
							
								                 };
							 | 
						|||
| 
								 | 
							
								                var dt = BLL.SQLHelper.GetDataTableRunProc("SpAuditingManageByProjectId", val).AsEnumerable().ToArray();
							 | 
						|||
| 
								 | 
							
								                TodoNum = getDataList.Count + dt.Count();
							 | 
						|||
| 
								 | 
							
								                if (TodoNum >= 8)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in getDataList)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        strNoticeHtml += "<li data-id=\"" + item.PCUrl + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.MenuName + "\">" + item.Content + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in dt)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        strNoticeHtml += "<li data-id=\"" + item.ItemArray[2].ToString() + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.ItemArray[1].ToString() + "\">" + item.ItemArray[1].ToString() + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (TodoNum > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        foreach (var item in getDataList)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + item.PCUrl + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.MenuName + "\">" + item.Content + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        foreach (var item in dt)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + item.ItemArray[2].ToString() + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.ItemArray[1].ToString() + "\">" + item.ItemArray[1].ToString() + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        int addRowNum = 8 - TodoNum;
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < addRowNum; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"\" class=\"c-item disabled swiper-slide\"><div class=\"tit\" title=\"\"></div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return "<ul class=\"content-ul swiper-wrapper\">" + strNoticeHtml + "</ul>";
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected int WarnNum;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected string swiper_Two
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var getperson0 = APIPersonService.getPersonQualityByProjectIdUnitId(this.CurrUser.LoginProjectId ?? "", this.CurrUser.UnitId ?? "", "0");
							 | 
						|||
| 
								 | 
							
								                var getperson1 = APIPersonService.getPersonQualityByProjectIdUnitId(this.CurrUser.LoginProjectId ?? "", this.CurrUser.UnitId ?? "", "1");
							 | 
						|||
| 
								 | 
							
								                SqlParameter[] val = new SqlParameter[]
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId ?? "")
							 | 
						|||
| 
								 | 
							
								                };
							 | 
						|||
| 
								 | 
							
								                var dt = BLL.SQLHelper.GetDataTableRunProc("SpEnableCueQualityByPrject", val).AsEnumerable().ToArray();
							 | 
						|||
| 
								 | 
							
								                WarnNum = getperson0.Count + getperson1.Count + dt.Count();
							 | 
						|||
| 
								 | 
							
								                string strNoticeHtml = string.Empty;
							 | 
						|||
| 
								 | 
							
								                string url = "../HSSE/QualityAudit/PersonQualityEdit.aspx?PersonId=";
							 | 
						|||
| 
								 | 
							
								                string cqmsUrl = "../CQMS/Check/EditCheckEquipment.aspx?see=see&CheckEquipmentId=";
							 | 
						|||
| 
								 | 
							
								                if (WarnNum >= 8)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in getperson0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        string pur = url + item.PersonId;
							 | 
						|||
| 
								 | 
							
								                        string strT = item.UnitName + "[" + item.PersonName + "]:" + item.CertificateName + "。证书已过期";
							 | 
						|||
| 
								 | 
							
								                        strNoticeHtml += "<li data-id=\"" + pur + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + strT + "\">" + item.PersonName + ":" + item.CertificateName + "。证书已过期" + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in getperson1)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        string pur = url + item.PersonId;
							 | 
						|||
| 
								 | 
							
								                        string strT = item.UnitName + "[" + item.PersonName + "]:" + item.CertificateName + "。证书待过期";
							 | 
						|||
| 
								 | 
							
								                        strNoticeHtml += "<li data-id=\"" + url + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + strT + "\">" + item.PersonName + ":" + item.CertificateName + "。证书待过期" + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in dt)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        string pur = cqmsUrl + item.ItemArray[0].ToString();
							 | 
						|||
| 
								 | 
							
								                        strNoticeHtml += "<li data-id=\"" + pur + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.ItemArray[1].ToString() + "\">" + item.ItemArray[1].ToString() + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                else
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (WarnNum > 0)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        foreach (var item in getperson0)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            string pur = url + item.PersonId;
							 | 
						|||
| 
								 | 
							
								                            string strT = item.UnitName + "[" + item.PersonName + "]:" + item.CertificateName + "。证书已过期";
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + pur + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + strT + "\">" + item.PersonName + ":" + item.CertificateName + "。证书已过期" + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        foreach (var item in getperson1)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            string pur = url + item.PersonId;
							 | 
						|||
| 
								 | 
							
								                            string strT = item.UnitName + "[" + item.PersonName + "]:" + item.CertificateName + "。证书待过期";
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + url + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + strT + "\">" + item.PersonName + ":" + item.CertificateName + "。证书待过期" + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        foreach (var item in dt)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            string pur = cqmsUrl + item.ItemArray[0].ToString();
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + pur + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.ItemArray[1].ToString() + "\">" + item.ItemArray[1].ToString() + "</div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        int addRowNum = 8 - WarnNum;
							 | 
						|||
| 
								 | 
							
								                        for (int i = 0; i < addRowNum; i++)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"\" class=\"c-item disabled swiper-slide\"><div class=\"tit\" title=\"\"></div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                return "<ul class=\"content-ul swiper-wrapper\">" + strNoticeHtml + "</ul>";
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected string swiper_Three
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            get
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                try
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    string projectId = "";
							 | 
						|||
| 
								 | 
							
								                    if (this.CurrUser != null)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        projectId = this.CurrUser.LoginProjectId;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    var getNotice = (from x in Funs.DB.InformationProject_Notice
							 | 
						|||
| 
								 | 
							
								                                     where x.IsRelease == true && x.AccessProjectId.Contains(projectId)
							 | 
						|||
| 
								 | 
							
								                                     orderby x.ReleaseDate
							 | 
						|||
| 
								 | 
							
								                                     select x).Distinct().Take(20);
							 | 
						|||
| 
								 | 
							
								                    var readIds = from x in Funs.DB.Sys_UserRead where x.UserId == this.CurrUser.UserId select x.DataId;
							 | 
						|||
| 
								 | 
							
								                    string strNoticeHtml = string.Empty;
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in getNotice)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        string url = "../Notice/NoticeView2.aspx?NoticeId=" + item.NoticeId;
							 | 
						|||
| 
								 | 
							
								                        var attachFile = BLL.AttachFileService.GetAttachFile(item.NoticeId, BLL.Const.ServerNoticeMenuId);
							 | 
						|||
| 
								 | 
							
								                        if (attachFile != null && !string.IsNullOrEmpty(attachFile.AttachUrl))
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            url = "../" + attachFile.AttachUrl.Split(',')[0];
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        if (!readIds.Contains(item.NoticeId))
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + url + "\" notice-id=\"" + item.NoticeId + "\" class=\"c-item swiper-slide\"><div class=\"tit\" title=\"" + item.NoticeTitle + "\"><div class=\"flex\" ><div class=\"tit-t flex1\">" + item.NoticeTitle + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.CompileDate) + "</div></div></div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        else
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            strNoticeHtml += "<li data-id=\"" + url + "\" class=\"c-item disabled swiper-slide\"><div class=\"tit tit-read\" title=\"" + item.NoticeTitle + "\"><div class=\"flex\" ><div class=\"tit-t flex1\">" + item.NoticeTitle + "</div><div class=\"tit-v\">" + string.Format("{0:yyyy-MM-dd}", item.CompileDate) + "</div></div></div></li>";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                    return "<ul class=\"content-ul swiper-wrapper\">" + strNoticeHtml + "</ul>";
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                catch
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    return null;
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        protected void imgBtn_Click(object sender, ImageClickEventArgs e)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            Model.InformationProject_Notice notice = BLL.NoticeService.GetNoticeById(this.hdNoticeId.Value);
							 | 
						|||
| 
								 | 
							
								            if (notice != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                BLL.APIUserService.getSaveUserRead(BLL.Const.ServerNoticeMenuId, notice.ProjectId, this.CurrUser.UserId, notice.NoticeId);
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |