1825 lines
		
	
	
		
			106 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			1825 lines
		
	
	
		
			106 KiB
		
	
	
	
		
			C#
		
	
	
	
using System;
 | 
						||
using System.Collections.Generic;
 | 
						||
using System.Data;
 | 
						||
using System.Data.SqlClient;
 | 
						||
using System.Linq;
 | 
						||
using System.Text;
 | 
						||
using System.Web;
 | 
						||
using System.Web.UI;
 | 
						||
using System.Web.UI.WebControls;
 | 
						||
using BLL;
 | 
						||
namespace FineUIPro.Web.CQMS.ManageReport
 | 
						||
{
 | 
						||
    public partial class MonthReportPrint : PageBase
 | 
						||
    {
 | 
						||
        #region 定义项
 | 
						||
        /// <summary>
 | 
						||
        /// 主键
 | 
						||
        /// </summary>
 | 
						||
        public string ReportId
 | 
						||
        {
 | 
						||
            get
 | 
						||
            {
 | 
						||
                return (string)ViewState["ReportId"];
 | 
						||
            }
 | 
						||
            set
 | 
						||
            {
 | 
						||
                ViewState["ReportId"] = value;
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 定义本月主要工作内容集合
 | 
						||
        /// </summary>
 | 
						||
        public static List<Model.Report_ThisWeekOrMonthContent> thisWeekOrMonthContentLists = new List<Model.Report_ThisWeekOrMonthContent>();
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 定义原材料问题集合
 | 
						||
        /// </summary>
 | 
						||
        public static List<Model.Report_RowMaterialProblem> rowMaterialProblemLists = new List<Model.Report_RowMaterialProblem>();
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 定义施工过程问题
 | 
						||
        /// </summary>
 | 
						||
        public static List<Model.View_Report_ConstructionProblems> constructionProblemsLists = new List<Model.View_Report_ConstructionProblems>();
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 定义下月质量控制重点集合
 | 
						||
        /// </summary>
 | 
						||
        public static List<Model.Report_NextQualityControl> nextQualityControlLists = new List<Model.Report_NextQualityControl>();
 | 
						||
        #endregion
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 加载页面
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void Page_Load(object sender, EventArgs e)
 | 
						||
        {
 | 
						||
            if (!IsPostBack)
 | 
						||
            {
 | 
						||
                this.txtProjectName.Text = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName;
 | 
						||
                this.ReportId = Request.Params["reportId"];
 | 
						||
                if (!string.IsNullOrEmpty(this.ReportId))
 | 
						||
                {
 | 
						||
                    Model.Report_WeekAndMonthReport weekAndMonthReport = BLL.WeekAndMonthReportService.GetWeekAndMonthReportById(this.ReportId);
 | 
						||
                    if (weekAndMonthReport != null)
 | 
						||
                    {
 | 
						||
                        if (weekAndMonthReport.Period != null)
 | 
						||
                        {
 | 
						||
                            this.txtPeriod.Text = Convert.ToString(weekAndMonthReport.Period);
 | 
						||
                        }
 | 
						||
                        if (weekAndMonthReport.StartDate != null)
 | 
						||
                        {
 | 
						||
                            this.txtStartDate.Text = string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.StartDate);
 | 
						||
                        }
 | 
						||
                        if (weekAndMonthReport.EndDate != null)
 | 
						||
                        {
 | 
						||
                            this.txtEndDate.Text = string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.EndDate);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    GetThisWeekOrMonthContentList(this.ReportId);//本月主要工作内容
 | 
						||
                    GetRowMaterialProblemList(this.ReportId);//原材料问题
 | 
						||
                    GetConstructionProblemsList(this.ReportId);//施工过程问题
 | 
						||
                    GetNextQualityControlList(this.ReportId);//下月质量控制重点
 | 
						||
                }
 | 
						||
                CheckLotBindStatisc("CV");//检验批统计:土建
 | 
						||
                CheckLotBindStatisc("EQ");//检验批统计:设备
 | 
						||
                CheckLotBindStatisc("PP");//检验批统计:管道
 | 
						||
                CheckLotBindStatisc("EL");//检验批统计:电气
 | 
						||
                CheckLotBindStatisc("IN");//检验批统计:仪表
 | 
						||
                CheckLotBindStatisc("FF");//检验批统计:反腐
 | 
						||
                CheckLotBindStatisc("XF");//检验批统计:消防
 | 
						||
                GetComprehensive();//综合管理
 | 
						||
                BindStatisc();//无损检测统计
 | 
						||
                NCRBindStatisc();//NCR统计
 | 
						||
                DesignChangeOrderBindStatisc();//设计变更统计
 | 
						||
                PassWelderBindStatisc();//合格焊工统计
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 本月主要工作内容
 | 
						||
        /// </summary>
 | 
						||
        private void GetThisWeekOrMonthContentList(string reportId)
 | 
						||
        {
 | 
						||
            thisWeekOrMonthContentLists = BLL.ThisWeekOrMonthContentService.GetThisWeekOrMonthContentByReportId(reportId);
 | 
						||
            this.gvThisWeekOrMonthContent.DataSourceID = null;
 | 
						||
            this.gvThisWeekOrMonthContent.DataSource = thisWeekOrMonthContentLists;
 | 
						||
            this.gvThisWeekOrMonthContent.DataBind();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 原材料问题
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="reportId"></param>
 | 
						||
        private void GetRowMaterialProblemList(string reportId)
 | 
						||
        {
 | 
						||
            rowMaterialProblemLists = BLL.RowMaterialProblemService.GetRowMaterialProblemByReportId(reportId);
 | 
						||
            this.gvRowMaterialProblem.DataSourceID = null;
 | 
						||
            this.gvRowMaterialProblem.DataSource = rowMaterialProblemLists;
 | 
						||
            this.gvRowMaterialProblem.DataBind();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 施工过程问题
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="p"></param>
 | 
						||
        private void GetConstructionProblemsList(string reportId)
 | 
						||
        {
 | 
						||
            constructionProblemsLists = BLL.ConstructionProblemsService.GetConstructionProblemsViewListByReportId(reportId);
 | 
						||
            this.gvConstructionProblems.DataSourceID = null;
 | 
						||
            this.gvConstructionProblems.DataSource = constructionProblemsLists;
 | 
						||
            this.gvConstructionProblems.DataBind();
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 综合管理
 | 
						||
        /// </summary>
 | 
						||
        private void GetComprehensive()
 | 
						||
        {
 | 
						||
            decimal? count = 0;
 | 
						||
            var inspectionEquipments = (from x in Funs.DB.Comprehensive_InspectionEquipment where x.ProjectId == this.CurrUser.LoginProjectId && x.CNProfessionalId == BLL.Const.EQCNProfessionalId && x.EquipmentOrMatail == "设备" select x).ToList();
 | 
						||
            foreach (var item in inspectionEquipments)
 | 
						||
            {
 | 
						||
                //count += item.Counts;
 | 
						||
            }
 | 
						||
            this.txt3.Text = Convert.ToString(count);
 | 
						||
 | 
						||
            decimal? thisWeekCount = 0;
 | 
						||
            var equpments = (from x in Funs.DB.Comprehensive_InspectionEquipment where x.ProjectId == this.CurrUser.LoginProjectId && x.CNProfessionalId == BLL.Const.EQCNProfessionalId && x.EquipmentOrMatail == "设备" && x.InspectionDate >= Convert.ToDateTime(this.txtStartDate.Text) && x.InspectionDate <= Convert.ToDateTime(this.txtEndDate.Text) select x).ToList();
 | 
						||
            foreach (var item in equpments)
 | 
						||
            {
 | 
						||
                //thisWeekCount += item.Counts;
 | 
						||
            }
 | 
						||
            this.txt2.Text = Convert.ToString(thisWeekCount);
 | 
						||
 | 
						||
            var Uequipments = (from x in Funs.DB.Comprehensive_InspectionEquipment
 | 
						||
                               where x.ProjectId == this.CurrUser.LoginProjectId
 | 
						||
                               && x.EquipmentOrMatail == "材料"
 | 
						||
                               && x.InspectionDate >= Convert.ToDateTime(this.txtStartDate.Text)
 | 
						||
                               && x.InspectionDate <= Convert.ToDateTime(this.txtEndDate.Text)
 | 
						||
                               && x.UnitId == BLL.Const.UnitId_CWCEC
 | 
						||
                               select x).Count();
 | 
						||
            this.txt5.Text = Uequipments.ToString();
 | 
						||
 | 
						||
            var Tequipments = (from x in Funs.DB.Comprehensive_InspectionEquipment
 | 
						||
                               where x.ProjectId == this.CurrUser.LoginProjectId
 | 
						||
                               && x.UnitId == BLL.Const.UnitId_CWCEC
 | 
						||
                               select x).Count();
 | 
						||
            this.txt6.Text = Tequipments.ToString();
 | 
						||
 | 
						||
            var CUequipments = (from x in Funs.DB.Comprehensive_InspectionEquipment
 | 
						||
                                where x.ProjectId == this.CurrUser.LoginProjectId
 | 
						||
                                && x.InspectionDate >= Convert.ToDateTime(this.txtStartDate.Text)
 | 
						||
                                && x.InspectionDate <= Convert.ToDateTime(this.txtEndDate.Text)
 | 
						||
                                && x.UnitId != BLL.Const.UnitId_CWCEC
 | 
						||
                                select x).Count();
 | 
						||
            this.txt7.Text = CUequipments.ToString();
 | 
						||
 | 
						||
            var CTequipments = (from x in Funs.DB.Comprehensive_InspectionEquipment
 | 
						||
                                where x.ProjectId == this.CurrUser.LoginProjectId
 | 
						||
                                && x.UnitId != BLL.Const.UnitId_CWCEC
 | 
						||
                                select x).Count();
 | 
						||
            this.txt8.Text = CTequipments.ToString();
 | 
						||
 | 
						||
            if (this.ReportId != null)
 | 
						||
            {
 | 
						||
                var q = BLL.ComprehensiveService.GetComprehensiveByReportId(this.ReportId);
 | 
						||
                if (q != null)
 | 
						||
                {
 | 
						||
                    this.txt1.Text = q.TotalCount.HasValue ? q.TotalCount.Value.ToString() : "";
 | 
						||
                    this.txt4.Text = q.EquipmentRate;
 | 
						||
                    this.txt9.Text = q.Others;
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    this.txt1.Text = string.Empty;
 | 
						||
                    this.txt4.Text = string.Empty;
 | 
						||
                    this.txt9.Text = string.Empty;
 | 
						||
                }
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        #region 检验批统计
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定数据
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="cNProfessionalCode"></param>
 | 
						||
        public void CheckLotBindStatisc(string cNProfessionalCode)
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
 | 
						||
            List<Model.CheckStatisc> StatisticsList = new List<Model.CheckStatisc>();
 | 
						||
            Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                if (project.StartDate != null)
 | 
						||
                {
 | 
						||
                    projectStartDate = Convert.ToDateTime(project.StartDate);
 | 
						||
                }
 | 
						||
            }
 | 
						||
            int i = 1;
 | 
						||
            string cNProfessionalId = (from x in Funs.DB.Base_CNProfessional where x.CNProfessionalCode == cNProfessionalCode select x.CNProfessionalId).FirstOrDefault();
 | 
						||
 | 
						||
            List<string> workNames = new List<string>();
 | 
						||
            //专业下所有集合
 | 
						||
            List<Model.View_CQMS_InspectionManagementDetail> totalManagementList = BLL.InspectionManagementService.getInspectionManagementDetailListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, cNProfessionalId, projectStartDate, endDate, false);
 | 
						||
            //专业下当期集合
 | 
						||
            List<Model.View_CQMS_InspectionManagementDetail> managementList = BLL.InspectionManagementService.getInspectionManagementDetailListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, cNProfessionalId, startDate, endDate, false);
 | 
						||
            if (cNProfessionalId == BLL.Const.CNProfessionalCVId)    //土建按单位工程统计
 | 
						||
            {
 | 
						||
                foreach (var item in totalManagementList)
 | 
						||
                {
 | 
						||
                    Model.WBS_BreakdownProject breakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectById(item.ControlPointType);
 | 
						||
                    if (breakdownProject != null)
 | 
						||
                    {
 | 
						||
                        Model.WBS_DivisionProject divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(breakdownProject.DivisionProjectId);
 | 
						||
                        if (divisionProject != null)
 | 
						||
                        {
 | 
						||
                            Model.WBS_UnitWork ins = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(divisionProject.UnitWorkId);
 | 
						||
                            if (ins != null)
 | 
						||
                            {
 | 
						||
                                if (!workNames.Contains(ins.UnitWorkName))  //新增记录
 | 
						||
                                {
 | 
						||
                                    Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
 | 
						||
                                    checkStatisc.Num = i;
 | 
						||
                                    checkStatisc.WorkName = ins.UnitWorkName;
 | 
						||
                                    workNames.Add(ins.UnitWorkName);
 | 
						||
                                    checkStatisc.CheckNum = managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc.TotalCheckNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc.OKNum = managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                    checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                    StatisticsList.Add(checkStatisc);
 | 
						||
                                    i++;
 | 
						||
                                }
 | 
						||
                                else   //更新已有记录
 | 
						||
                                {
 | 
						||
                                    Model.CheckStatisc checkStatisc1 = StatisticsList.FirstOrDefault(x => x.WorkName == ins.UnitWorkName);
 | 
						||
                                    checkStatisc1.CheckNum += managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc1.TotalCheckNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc1.OKNum += managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                    checkStatisc1.TotalOKNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                foreach (var item in totalManagementList)
 | 
						||
                {
 | 
						||
                    Model.WBS_BreakdownProject breakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectById(item.ControlPointType);
 | 
						||
                    if (breakdownProject != null)
 | 
						||
                    {
 | 
						||
                        Model.WBS_DivisionProject divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(breakdownProject.DivisionProjectId);
 | 
						||
                        if (divisionProject != null)
 | 
						||
                        {
 | 
						||
                            if (!workNames.Contains(divisionProject.DivisionName))  //新增记录
 | 
						||
                            {
 | 
						||
                                Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
 | 
						||
                                checkStatisc.Num = i;
 | 
						||
                                checkStatisc.WorkName = divisionProject.DivisionName;
 | 
						||
                                workNames.Add(divisionProject.DivisionName);
 | 
						||
                                checkStatisc.CheckNum = managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc.TotalCheckNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc.OKNum = managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                StatisticsList.Add(checkStatisc);
 | 
						||
                                i++;
 | 
						||
                            }
 | 
						||
                            else   //更新已有记录
 | 
						||
                            {
 | 
						||
                                Model.CheckStatisc checkStatisc1 = StatisticsList.FirstOrDefault(x => x.WorkName == divisionProject.DivisionName);
 | 
						||
                                checkStatisc1.CheckNum += managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc1.TotalCheckNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc1.OKNum += managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                checkStatisc1.TotalOKNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
            foreach (var item in StatisticsList)
 | 
						||
            {
 | 
						||
                if (item.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    item.OneOKRate = Math.Round((double)item.OKNum / (double)item.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    item.OneOKRate = "0%";
 | 
						||
                }
 | 
						||
                if (item.TotalCheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    item.TotalOneOKRate = Math.Round((double)item.TotalOKNum / (double)item.TotalCheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    item.TotalOneOKRate = "0%";
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            if (StatisticsList.Count() > 0)   //增加总计
 | 
						||
            {
 | 
						||
                Model.CheckStatisc StatisticsLast = new Model.CheckStatisc();
 | 
						||
                StatisticsLast.Num = StatisticsList.Count() + 1;
 | 
						||
                StatisticsLast.WorkName = "合计";
 | 
						||
                foreach (Model.CheckStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    StatisticsLast.CheckNum += item.CheckNum;
 | 
						||
                    StatisticsLast.TotalCheckNum += item.TotalCheckNum;
 | 
						||
                    StatisticsLast.OKNum += item.OKNum;
 | 
						||
                    StatisticsLast.TotalOKNum += item.TotalOKNum;
 | 
						||
                }
 | 
						||
                if (StatisticsLast.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    StatisticsLast.OneOKRate = Math.Round((double)StatisticsLast.OKNum / (double)StatisticsLast.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    StatisticsLast.OneOKRate = "0%";
 | 
						||
                }
 | 
						||
                if (StatisticsLast.TotalCheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    StatisticsLast.TotalOneOKRate = Math.Round((double)StatisticsLast.TotalOKNum / (double)StatisticsLast.TotalCheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    StatisticsLast.TotalOneOKRate = "0%";
 | 
						||
                }
 | 
						||
                StatisticsList.Add(StatisticsLast);
 | 
						||
            }
 | 
						||
 | 
						||
            if (cNProfessionalCode == "CV")
 | 
						||
            {
 | 
						||
                this.gvTJ.DataSource = StatisticsList;
 | 
						||
                this.gvTJ.DataBind();
 | 
						||
            }
 | 
						||
            if (cNProfessionalCode == "EQ")
 | 
						||
            {
 | 
						||
                this.gvSB.DataSource = StatisticsList;
 | 
						||
                this.gvSB.DataBind();
 | 
						||
            }
 | 
						||
            if (cNProfessionalCode == "PP")
 | 
						||
            {
 | 
						||
                this.gvGD.DataSource = StatisticsList;
 | 
						||
                this.gvGD.DataBind();
 | 
						||
            }
 | 
						||
            if (cNProfessionalCode == "EL")
 | 
						||
            {
 | 
						||
                this.gvDQ.DataSource = StatisticsList;
 | 
						||
                this.gvDQ.DataBind();
 | 
						||
            }
 | 
						||
            if (cNProfessionalCode == "IN")
 | 
						||
            {
 | 
						||
                this.gvYB.DataSource = StatisticsList;
 | 
						||
                this.gvYB.DataBind();
 | 
						||
            }
 | 
						||
            if (cNProfessionalCode == "FF")
 | 
						||
            {
 | 
						||
                this.gvFF.DataSource = StatisticsList;
 | 
						||
                this.gvFF.DataBind();
 | 
						||
            }
 | 
						||
            if (cNProfessionalCode == "XF")
 | 
						||
            {
 | 
						||
                this.gvXF.DataSource = StatisticsList;
 | 
						||
                this.gvXF.DataBind();
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvTJ_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvSB_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvGD_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvDQ_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvYB_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvFF_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// GridView创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvXF_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#工作名称#检查(点) 本月,累计#合格(点) 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 无损检测统计
 | 
						||
        #region 绑定GridView
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="cNProfessionalId"></param>
 | 
						||
        public void BindStatisc()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            SqlParameter[] values = new SqlParameter[]
 | 
						||
                {
 | 
						||
                   new SqlParameter("@projectId", this.CurrUser.LoginProjectId),
 | 
						||
                   new SqlParameter("@startDate",startDate),
 | 
						||
                   new SqlParameter("@endDate",endDate)
 | 
						||
                };
 | 
						||
            DataTable dt = BLL.SQLHelper.GetDataTableRunProc("Sp_ProcessControl_NondestructiveTestStatisc", values);
 | 
						||
            this.gvHJGLStatisc.DataSourceID = null;
 | 
						||
            this.gvHJGLStatisc.DataSource = dt;
 | 
						||
            this.gvHJGLStatisc.DataBind();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 无损检测创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvHJGLStatisc_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#分包商#探伤部位#RT数量 本月,累计#一次合格 本月,累计#一次合格率 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region NCR统计
 | 
						||
        #region 绑定GridView
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="cNProfessionalId"></param>
 | 
						||
        public void NCRBindStatisc()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            List<Model.NCRReportStatisc> StatisticsList = new List<Model.NCRReportStatisc>();
 | 
						||
            int i = 1;
 | 
						||
            var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2000-01-01");
 | 
						||
            if (project != null && project.StartDate != null)
 | 
						||
            {
 | 
						||
                projectStartDate = project.StartDate.Value;
 | 
						||
            }
 | 
						||
            //所有集合
 | 
						||
            List<Model.Comprehensive_NCRManagement> totalManagementList = BLL.NCRManagementService.GetNCRManagementListByDate(this.CurrUser.LoginProjectId, startDate, endDate);
 | 
						||
            List<string> unitNames = (from x in totalManagementList select x.ReceiveUnit).Distinct().ToList();
 | 
						||
            foreach (var item in unitNames)
 | 
						||
            {
 | 
						||
                //当期集合
 | 
						||
                List<Model.Comprehensive_NCRManagement> managementList = BLL.NCRManagementService.GetNCRManagementListByUnitNameAndDate(this.CurrUser.LoginProjectId, item, startDate, endDate);
 | 
						||
                //累计集合
 | 
						||
                List<Model.Comprehensive_NCRManagement> sumManagementList = BLL.NCRManagementService.GetNCRManagementListByUnitNameAndDate(this.CurrUser.LoginProjectId, item, projectStartDate, endDate);
 | 
						||
                Model.NCRReportStatisc NCRStatisc = new Model.NCRReportStatisc();
 | 
						||
                NCRStatisc.Num = i;
 | 
						||
                NCRStatisc.WorkName = BLL.UnitService.getUnitNamesUnitIds(item);
 | 
						||
                NCRStatisc.OKNum = managementList.Count(x => x.CompleteDate != null);
 | 
						||
                NCRStatisc.CheckNum = sumManagementList.Count(x => x.CompleteDate != null);
 | 
						||
                if (NCRStatisc.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    NCRStatisc.OKRate = Math.Round((double)NCRStatisc.OKNum / (double)NCRStatisc.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    NCRStatisc.OKRate = "0%";
 | 
						||
                }
 | 
						||
                StatisticsList.Add(NCRStatisc);
 | 
						||
                i++;
 | 
						||
            }
 | 
						||
            if (StatisticsList.Count() > 0)   //增加总计
 | 
						||
            {
 | 
						||
                Model.NCRReportStatisc StatisticsLast = new Model.NCRReportStatisc();
 | 
						||
                StatisticsLast.Num = StatisticsList.Count() + 1;
 | 
						||
                StatisticsLast.WorkName = "合计";
 | 
						||
                foreach (Model.NCRReportStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    StatisticsLast.OKNum += item.OKNum;
 | 
						||
                    StatisticsLast.CheckNum += item.CheckNum;
 | 
						||
                }
 | 
						||
                if (StatisticsLast.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    StatisticsLast.OKRate = Math.Round((double)StatisticsLast.OKNum / (double)StatisticsLast.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    StatisticsLast.OKRate = "0%";
 | 
						||
                }
 | 
						||
                StatisticsList.Add(StatisticsLast);
 | 
						||
            }
 | 
						||
            this.gvNCRStatisc.DataSource = StatisticsList;
 | 
						||
            this.gvNCRStatisc.DataBind();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// NCR行创建时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvNCRStatisc_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#接收单位#本月已完成#累计已完成#累计完成比例";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 设计变更统计
 | 
						||
        #region 绑定GridView
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="cNProfessionalId"></param>
 | 
						||
        public void DesignChangeOrderBindStatisc()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
 | 
						||
            List<Model.CheckStatisc> StatisticsList = new List<Model.CheckStatisc>();
 | 
						||
            Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                if (project.StartDate != null)
 | 
						||
                {
 | 
						||
                    projectStartDate = Convert.ToDateTime(project.StartDate);
 | 
						||
                }
 | 
						||
            }
 | 
						||
            int i = 1;
 | 
						||
            var cNProfessionals = from x in Funs.DB.Base_CNProfessional orderby x.SortIndex select x;
 | 
						||
            foreach (var item in cNProfessionals)
 | 
						||
            {
 | 
						||
                //专业下所有集合
 | 
						||
                List<Model.Comprehensive_DesignChangeOrder> totalManagementList = BLL.DesignChangeOrderService.GetDesignChangeOrderListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, item.CNProfessionalId, projectStartDate, endDate);
 | 
						||
                //专业下当期集合
 | 
						||
                List<Model.Comprehensive_DesignChangeOrder> managementList = BLL.DesignChangeOrderService.GetDesignChangeOrderListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, item.CNProfessionalId, startDate, endDate);
 | 
						||
                Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
 | 
						||
                checkStatisc.Num = i;
 | 
						||
                checkStatisc.WorkName = item.ProfessionalName;
 | 
						||
                checkStatisc.CheckNum = managementList.Count();
 | 
						||
                checkStatisc.TotalCheckNum = totalManagementList.Count();
 | 
						||
                checkStatisc.OKNum = managementList.Count(x => x.ApprovalDate != null);
 | 
						||
                checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ApprovalDate != null);
 | 
						||
                checkStatisc.OneOKRate = managementList.Count(x => x.HandleState == "3").ToString();       //当期完成数
 | 
						||
                checkStatisc.TotalOneOKRate = totalManagementList.Count(x => x.HandleState == "3").ToString();    //累计完成数
 | 
						||
                if (checkStatisc.CheckNum > 0 || checkStatisc.TotalCheckNum > 0 || checkStatisc.OKNum > 0 || checkStatisc.TotalOKNum > 0)
 | 
						||
                {
 | 
						||
                    StatisticsList.Add(checkStatisc);
 | 
						||
                    i++;
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            if (StatisticsList.Count() > 0)   //增加总计
 | 
						||
            {
 | 
						||
                Model.CheckStatisc StatisticsLast = new Model.CheckStatisc();
 | 
						||
                StatisticsLast.Num = StatisticsList.Count() + 1;
 | 
						||
                StatisticsLast.WorkName = "合计";
 | 
						||
                foreach (Model.CheckStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    StatisticsLast.CheckNum += item.CheckNum;
 | 
						||
                    StatisticsLast.TotalCheckNum += item.TotalCheckNum;
 | 
						||
                    StatisticsLast.OKNum += item.OKNum;
 | 
						||
                    StatisticsLast.TotalOKNum += item.TotalOKNum;
 | 
						||
                    StatisticsLast.OneOKRate = (Convert.ToInt32(StatisticsLast.OneOKRate) + Convert.ToInt32(item.OneOKRate)).ToString();
 | 
						||
                    StatisticsLast.TotalOneOKRate = (Convert.ToInt32(StatisticsLast.TotalOneOKRate) + Convert.ToInt32(item.TotalOneOKRate)).ToString();
 | 
						||
                }
 | 
						||
                StatisticsList.Add(StatisticsLast);
 | 
						||
            }
 | 
						||
            this.gvCheckStatisc.DataSource = StatisticsList;
 | 
						||
            this.gvCheckStatisc.DataBind();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 设计变更统计创建行时激发
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvCheckStatisc_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#专业#发布数量 本月,累计#业主批准数量 本月,累计#完成情况 本月,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region 合格焊工统计
 | 
						||
        #region 绑定GridView
 | 
						||
        /// <summary>
 | 
						||
        /// 绑定
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="cNProfessionalId"></param>
 | 
						||
        public void PassWelderBindStatisc()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
 | 
						||
            List<Model.PassWelderStatisc> StatisticsList = new List<Model.PassWelderStatisc>();
 | 
						||
            Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                if (project.StartDate != null)
 | 
						||
                {
 | 
						||
                    projectStartDate = Convert.ToDateTime(project.StartDate);
 | 
						||
                }
 | 
						||
            }
 | 
						||
            int i = 1;
 | 
						||
            var units = from x in Funs.DB.Project_ProjectUnit
 | 
						||
                        join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | 
						||
                        where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitType == BLL.Const.ProjectUnitType_2
 | 
						||
                        orderby y.UnitCode
 | 
						||
                        select new { x.UnitId, y.UnitName };
 | 
						||
            foreach (var item in units)
 | 
						||
            {
 | 
						||
                //单位下所有集合
 | 
						||
                List<Model.BS_Welder> totalWelderList = BLL.PersonManageService.GetWelderListByUnitId(this.CurrUser.LoginProjectId, item.UnitId);
 | 
						||
                List<Model.BS_Welder> welderList = BLL.PersonManageService.GetWelderListByUnitIdAndDate(this.CurrUser.LoginProjectId, item.UnitId, startDate, endDate);
 | 
						||
 | 
						||
                Model.PassWelderStatisc passWelderStatisc = new Model.PassWelderStatisc();
 | 
						||
                passWelderStatisc.Num = i;
 | 
						||
                passWelderStatisc.UnitName = item.UnitName;
 | 
						||
                passWelderStatisc.PipeMountGuard = welderList.Count(x => x.WED_Remark == "管道");
 | 
						||
                passWelderStatisc.PipeTotal = totalWelderList.Count(x => x.WED_Remark == "管道");
 | 
						||
                passWelderStatisc.SteelStructureMountGuard = welderList.Count(x => x.WED_Remark == "钢结构");
 | 
						||
                passWelderStatisc.SteelStructureTotal = totalWelderList.Count(x => x.WED_Remark == "钢结构");
 | 
						||
                passWelderStatisc.EquipmentMountGuard = welderList.Count(x => x.WED_Remark == "设备");
 | 
						||
                passWelderStatisc.EquipmentTotal = totalWelderList.Count(x => x.WED_Remark == "设备");
 | 
						||
                passWelderStatisc.OtherMountGuard = welderList.Count(x => x.WED_Remark == "其他");
 | 
						||
                passWelderStatisc.OtherTotal = totalWelderList.Count(x => x.WED_Remark == "其他");
 | 
						||
                StatisticsList.Add(passWelderStatisc);
 | 
						||
                i++;
 | 
						||
            }
 | 
						||
            if (StatisticsList.Count() > 0)//增加总计
 | 
						||
            {
 | 
						||
                Model.PassWelderStatisc passWelderStatisc = new Model.PassWelderStatisc();
 | 
						||
                passWelderStatisc.Num = StatisticsList.Count() + 1;
 | 
						||
                passWelderStatisc.UnitName = "合计";
 | 
						||
                foreach (Model.PassWelderStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    passWelderStatisc.PipeMountGuard += item.PipeMountGuard;
 | 
						||
                    passWelderStatisc.PipeTotal += item.PipeTotal;
 | 
						||
                    passWelderStatisc.SteelStructureMountGuard += item.SteelStructureMountGuard;
 | 
						||
                    passWelderStatisc.SteelStructureTotal += item.SteelStructureTotal;
 | 
						||
                    passWelderStatisc.EquipmentMountGuard += item.EquipmentMountGuard;
 | 
						||
                    passWelderStatisc.EquipmentTotal += item.EquipmentTotal;
 | 
						||
                    passWelderStatisc.OtherMountGuard += item.OtherMountGuard;
 | 
						||
                    passWelderStatisc.OtherTotal += item.OtherTotal;
 | 
						||
                }
 | 
						||
                StatisticsList.Add(passWelderStatisc);
 | 
						||
            }
 | 
						||
            this.gvPassWelder.DataSource = StatisticsList;
 | 
						||
            this.gvPassWelder.DataBind();
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 合格焊工统计
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="sender"></param>
 | 
						||
        /// <param name="e"></param>
 | 
						||
        protected void gvPassWelder_RowCreated(object sender, GridViewRowEventArgs e)
 | 
						||
        {
 | 
						||
            if (e.Row.RowType == DataControlRowType.Header)
 | 
						||
            {
 | 
						||
                string headerStr = "序号#分包商#管道焊工 本月上岗,累计#钢结构焊工 本月上岗,累计#设备焊工 本月上岗,累计#其他 本月上岗,累计";
 | 
						||
                DynamicTHeaderHepler dHelper = new DynamicTHeaderHepler();
 | 
						||
                dHelper.SplitTableHeader(e.Row, headerStr);
 | 
						||
            }
 | 
						||
        }
 | 
						||
        #endregion
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 下月质量控制重点
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="p"></param>
 | 
						||
        private void GetNextQualityControlList(string reportId)
 | 
						||
        {
 | 
						||
            nextQualityControlLists = BLL.NextQualityControlService.GetNextQualityControlByReportId(reportId);
 | 
						||
            this.gvNextQualityControl.DataSourceID = null;
 | 
						||
            this.gvNextQualityControl.DataSource = nextQualityControlLists;
 | 
						||
            this.gvNextQualityControl.DataBind();
 | 
						||
        }
 | 
						||
 | 
						||
        protected void btnExport_Click(object sender, ImageClickEventArgs e)
 | 
						||
        {
 | 
						||
            ToFiles();
 | 
						||
        }
 | 
						||
 | 
						||
        private void ToFiles()
 | 
						||
        {
 | 
						||
            string strFileName = DateTime.Now.ToString("yyyyMMdd-hhmmss") + "月报";
 | 
						||
            System.Web.HttpContext HC = System.Web.HttpContext.Current;
 | 
						||
            HC.Response.Clear();
 | 
						||
            HC.Response.Buffer = true;
 | 
						||
            HC.Response.ContentEncoding = System.Text.Encoding.UTF8;//设置输出流为简体中文
 | 
						||
 | 
						||
            //---导出为Word文件
 | 
						||
            HC.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(strFileName, System.Text.Encoding.UTF8) + ".doc");
 | 
						||
            HC.Response.ContentType = "application/ms-word";//设置输出文件类型为word文件。
 | 
						||
            //System.IO.StringWriter sw = new System.IO.StringWriter();
 | 
						||
            //System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw);
 | 
						||
            //this.Table5.RenderControl(htw);
 | 
						||
            string htmlStr = GetHtml();
 | 
						||
            HC.Response.Write(htmlStr);
 | 
						||
            HC.Response.End();
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 导出方法
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="grid"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        public string GetHtml()
 | 
						||
        {
 | 
						||
            StringBuilder sb = new StringBuilder();
 | 
						||
            Model.Report_WeekAndMonthReport weekAndMonthReport = BLL.WeekAndMonthReportService.GetWeekAndMonthReportById(this.ReportId);
 | 
						||
            if (weekAndMonthReport != null)
 | 
						||
            {
 | 
						||
                sb.Append("<meta http-equiv=\"content-type\" content=\"application/word; charset=UTF-8\"/>");
 | 
						||
                sb.Append("<table runat=\"server\" width=\"100 %\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"  border = \"0\" > ");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.AppendFormat("<td> ");
 | 
						||
                sb.Append("<table width=\"100% \" cellspacing=\"0\"  border=\"0\" bordercolor = \"#000000\" bordercolordark = \"#000000\"  bordercolorlight =\"#000000\" > ");
 | 
						||
                sb.Append("<tr >");
 | 
						||
                string imgStr = "<img width='100' height='100' src='" + Funs.SGGLUrl + "Images/Logo.jpg".Replace('\\', '/') + "'/>";
 | 
						||
                sb.AppendFormat("<td align=\"center\"  rowspan=\"2\" style=\"width: 24 %; height: 75px; border: 1px solid #000000; border-right: none\">{0}</td> ", imgStr);
 | 
						||
                sb.AppendFormat("<td style=\"width: 44 %; height: 30px; vertical - align: middle; border: 1px solid #000000; border-right: none; text-align: center;\">{0}</td> ", BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId).ProjectName);
 | 
						||
                sb.AppendFormat("<td align=\"left\" style=\"width: 32 %; vertical - align: bottom; border: 1px solid #000000;\" rowspan = \"2\" >{0}</td> ", "第(" + Convert.ToString(weekAndMonthReport.Period) + ")期");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr >");
 | 
						||
                sb.AppendFormat("<td style=\"width: 44 %; height: 50px; vertical - align: middle; border: 1px solid #000000; border-right: none; text-align: center;\">施工质量月报</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("</table>");
 | 
						||
                sb.AppendFormat("</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr >");
 | 
						||
                sb.AppendFormat("<td> ");
 | 
						||
                sb.Append("<table  runat=\"server\" width=\"100 %\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" frame = \"vsides\" bordercolor = \"#000000\" > ");
 | 
						||
                sb.Append("<tr style=\"height: 32px\">");
 | 
						||
                sb.AppendFormat("<td align=\"right\" style=\"width: 15 %; border: 1px solid #000000; border-top: none;\">时间段</td> ");
 | 
						||
                sb.AppendFormat("<td align=\"left\" style=\"border-right: 1px solid #000000; border-bottom: 1px solid #000000; border-left-style: none; border-left-color: inherit; border-left-width: medium; border-top-style: none; border-top-color: inherit; border-top-width: medium;\">{0}</td> ", string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.StartDate) + " 至" + string.Format("{0:yyyy-MM-dd}", weekAndMonthReport.EndDate));
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("</table>");
 | 
						||
                sb.AppendFormat("</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"width: 50%; height: 32px; font-size: 10pt; font-weight: bold\"> 1、本月主要工作内容</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                if (thisWeekOrMonthContentLists.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<table runat = \"server\" width = \"100%\" cellpadding = \"0\" cellspacing = \"0\" border = \"1\">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td >序号</td>");
 | 
						||
                    sb.Append("<td >本月主要工作内容</td>");
 | 
						||
                    sb.Append("</ tr >");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in thisWeekOrMonthContentLists)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.Contents);
 | 
						||
                        sb.Append("</ tr >");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                }
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td>");
 | 
						||
                sb.Append("<table runat = \"server\" width = \"100%\" cellpadding = \"0\" cellspacing = \"0\">");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"width: 50%; height: 32px; font-size: 10pt; font - weight: bold\">2、本月质量问题处理情况</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("</table>");
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"width: 50%; height: 32px; font-size: 9pt;font - weight: bold\"> 1)原材料问题</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                if (rowMaterialProblemLists.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<table  runat =\"server\" width =\"100%\" cellpadding = \"0\" cellspacing = \"0\" border = \"1\">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td >序号</td>");
 | 
						||
                    sb.Append("<td >供应商</td>");
 | 
						||
                    sb.Append("<td >问题描述</td>");
 | 
						||
                    sb.Append("<td >处理措施</td>");
 | 
						||
                    sb.Append("<td >处理结果</td>");
 | 
						||
                    sb.Append("<td >备注</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in rowMaterialProblemLists)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.UnitId);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.ProblemDesrioption);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TreatmentMeasures);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.ProcessingResults);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.Remark);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                }
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td>");
 | 
						||
                sb.Append("<table  runat = \"server\" width = \"100%\" cellpadding = \"0\" cellspacing = \"0\">");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"width: 50%; height: 32px; font-size: 10pt; font - weight: bold\">3、本月质量控制</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("</table>");
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td>");
 | 
						||
                sb.Append("<table runat = \"server\" width =\"100%\" cellpadding = \"0\" cellspacing =\"0\">");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign =\"middle\" style =\"font-size: 9pt; height: 32px; font-weight: bold\">  1)综合管理</ td > ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style =\"height: 50px; width: 100% \">");
 | 
						||
                sb.Append("<table width =\"100 % \">");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.AppendFormat("<td style = \"height: 32px; font-size: 10pt;\">{0}</td>", "   设备共计(" + txt1.Text + ")台,本月报验(" + txt2.Text + ")台,累计报验(" + txt3.Text + ")台,完成比率(" + txt4.Text + ")");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.AppendFormat("<td style = \"height: 32px; font-size: 10pt;\">{0}</td>", "   五环本月材料报验(" + txt5.Text + ")批,累计(" + txt6.Text + ")批;");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.AppendFormat("<td style = \"height: 32px;font-size: 10pt;\">{0}</td>", "   分包商本月材料报验(" + txt7.Text + ")批,累计(" + txt8.Text + ")批");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.AppendFormat("<td style = \"height: 50px; font-size: 10pt;\">{0}</td>", "   其它:" + txt9.Text);
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("</table>");
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("</table>");
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold\">   2)检验批统计</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  土建:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList = GetStatisticsList("CV");
 | 
						||
                if (StatisticsList.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  设备:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList1 = GetStatisticsList("EQ");
 | 
						||
                if (StatisticsList1.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList1)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  管道:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList2 = GetStatisticsList("PP");
 | 
						||
                if (StatisticsList2.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList2)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  电气:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList3 = GetStatisticsList("EL");
 | 
						||
                if (StatisticsList3.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList3)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  仪表:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList4 = GetStatisticsList("IN");
 | 
						||
                if (StatisticsList4.Count > 0)
 | 
						||
                {
 | 
						||
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList4)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  防腐:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList5 = GetStatisticsList("EF");
 | 
						||
                if (StatisticsList5.Count > 0)
 | 
						||
                {
 | 
						||
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList5)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold; height: 32px;\">  消防:</td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var StatisticsList6 = GetStatisticsList("XF");
 | 
						||
                if (StatisticsList6.Count > 0)
 | 
						||
                {
 | 
						||
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">工作名称</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">检查(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">合格(点)</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in StatisticsList6)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold;\">   3)无损检测统计 </td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
 | 
						||
                DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
                DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
                SqlParameter[] values = new SqlParameter[]
 | 
						||
                    {
 | 
						||
                   new SqlParameter("@projectId", this.CurrUser.LoginProjectId),
 | 
						||
                   new SqlParameter("@startDate",startDate),
 | 
						||
                   new SqlParameter("@endDate",endDate)
 | 
						||
                    };
 | 
						||
                DataTable dt = BLL.SQLHelper.GetDataTableRunProc("Sp_ProcessControl_NondestructiveTestStatisc", values);
 | 
						||
                if (dt.Rows.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">分包商</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">探伤部位</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">RT数量</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">一次合格率</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    for (int i = 0; i < dt.Rows.Count; i++)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][0].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][1].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][2].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][3].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][4].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][5].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][6].ToString());
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", dt.Rows[i][7].ToString());
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold;\">  4)NCR统计 </td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var NCRReportStatisc = getNCRReportStatiscList();
 | 
						||
                if (NCRReportStatisc.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">接收单位</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月已完成</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计完成比例</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in NCRReportStatisc)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold;\">  5)设计变更统计 </td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var DesginStatisticsList = GetDesginStatisticsList();
 | 
						||
                if (DesginStatisticsList.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">专业</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">发布数量</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">业主批准数量</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">完成情况</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in DesginStatisticsList)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.WorkName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.CheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalCheckNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOKNum);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OneOKRate);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.TotalOneOKRate);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align = \"left\" valign = \"middle\" style = \"font-size: 9pt; height: 32px; font-weight: bold;\">  6)合格焊工统计 </td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                var PassWelderStatiscList = GetPassWelderStatiscList();
 | 
						||
                if (PassWelderStatiscList.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<td>");
 | 
						||
                    sb.Append("<table cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">序号</th>");
 | 
						||
                    sb.Append("<th align = \"center\" rowspan=\"2\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">分包商</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">管道焊工</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">钢结构焊工</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">设备焊工</th>");
 | 
						||
                    sb.Append("<th align = \"center\" colspan=\"2\" rowspan=\"1\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">其他</th>");
 | 
						||
                    sb.Append("</tr><tr><th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月上岗</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月上岗</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月上岗</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">本月上岗</th>");
 | 
						||
                    sb.Append("<th align = \"center\" style=\"background-color:#ECF5FF;border:1px solid #000000;\">累计</th>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in PassWelderStatiscList)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.UnitName);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.PipeMountGuard);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.PipeTotal);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.SteelStructureMountGuard);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.SteelStructureTotal);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.EquipmentMountGuard);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.EquipmentTotal);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OtherMountGuard);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.OtherTotal);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                    sb.Append("</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                }
 | 
						||
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td align=\"left\" valign=\"middle\" style=\"width: 50 %; height: 32px; font - size: 10pt;font - weight: bold\">4、下月质量控制重点 </td> ");
 | 
						||
                sb.Append("</tr>");
 | 
						||
                sb.Append("<tr>");
 | 
						||
                sb.Append("<td>");
 | 
						||
                if (nextQualityControlLists.Count > 0)
 | 
						||
                {
 | 
						||
                    sb.Append("<table  cellspacing =\"0\" align = \"Justify\" rules = \"all\" border = \"1\" style = \"width:100%;border-collapse:collapse; \">");
 | 
						||
                    sb.Append("<tr>");
 | 
						||
                    sb.Append("<td >序号</td>");
 | 
						||
                    sb.Append("<td >下月控制量重点</td>");
 | 
						||
                    sb.Append("</tr>");
 | 
						||
                    int num = 1;
 | 
						||
                    foreach (var item in nextQualityControlLists)
 | 
						||
                    {
 | 
						||
                        sb.Append("<tr>");
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", num);
 | 
						||
                        sb.AppendFormat("<td>{0}</td> ", item.NextQualityControlContent);
 | 
						||
                        sb.Append("</tr>");
 | 
						||
                        num++;
 | 
						||
                    }
 | 
						||
                    sb.Append("</table>");
 | 
						||
                }
 | 
						||
                sb.Append("</td>");
 | 
						||
                sb.Append("</tr>");
 | 
						||
 | 
						||
 | 
						||
 | 
						||
                sb.Append("</table>");
 | 
						||
            }
 | 
						||
            return sb.ToString();
 | 
						||
        }
 | 
						||
 | 
						||
        public List<Model.CheckStatisc> GetStatisticsList(string cNProfessionalCode)
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
 | 
						||
            List<Model.CheckStatisc> StatisticsList = new List<Model.CheckStatisc>();
 | 
						||
            Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                if (project.StartDate != null)
 | 
						||
                {
 | 
						||
                    projectStartDate = Convert.ToDateTime(project.StartDate);
 | 
						||
                }
 | 
						||
            }
 | 
						||
            int i = 1;
 | 
						||
            string cNProfessionalId = (from x in Funs.DB.Base_CNProfessional where x.CNProfessionalCode == cNProfessionalCode select x.CNProfessionalId).FirstOrDefault();
 | 
						||
 | 
						||
            List<string> workNames = new List<string>();
 | 
						||
            //专业下所有集合
 | 
						||
            List<Model.View_CQMS_InspectionManagementDetail> totalManagementList = BLL.InspectionManagementService.getInspectionManagementDetailListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, cNProfessionalId, projectStartDate, endDate, false);
 | 
						||
            //专业下当期集合
 | 
						||
            List<Model.View_CQMS_InspectionManagementDetail> managementList = BLL.InspectionManagementService.getInspectionManagementDetailListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, cNProfessionalId, startDate, endDate, false);
 | 
						||
            if (cNProfessionalId == BLL.Const.CNProfessionalCVId)    //土建按单位工程统计
 | 
						||
            {
 | 
						||
                foreach (var item in totalManagementList)
 | 
						||
                {
 | 
						||
                    Model.WBS_BreakdownProject breakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectById(item.ControlPointType);
 | 
						||
                    if (breakdownProject != null)
 | 
						||
                    {
 | 
						||
                        Model.WBS_DivisionProject divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(breakdownProject.DivisionProjectId);
 | 
						||
                        if (divisionProject != null)
 | 
						||
                        {
 | 
						||
                            Model.WBS_UnitWork ins = BLL.UnitWorkService.getUnitWorkByUnitWorkId(divisionProject.UnitWorkId);
 | 
						||
                            if (ins != null)
 | 
						||
                            {
 | 
						||
                                if (!workNames.Contains(ins.UnitWorkName))  //新增记录
 | 
						||
                                {
 | 
						||
                                    Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
 | 
						||
                                    checkStatisc.Num = i;
 | 
						||
                                    checkStatisc.WorkName = ins.UnitWorkName;
 | 
						||
                                    workNames.Add(ins.UnitWorkName);
 | 
						||
                                    checkStatisc.CheckNum = managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc.TotalCheckNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc.OKNum = managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                    checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                    StatisticsList.Add(checkStatisc);
 | 
						||
                                    i++;
 | 
						||
                                }
 | 
						||
                                else   //更新已有记录
 | 
						||
                                {
 | 
						||
                                    Model.CheckStatisc checkStatisc1 = StatisticsList.FirstOrDefault(x => x.WorkName == ins.UnitWorkName);
 | 
						||
                                    checkStatisc1.CheckNum += managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc1.TotalCheckNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                    checkStatisc1.OKNum += managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                    checkStatisc1.TotalOKNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                }
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                foreach (var item in totalManagementList)
 | 
						||
                {
 | 
						||
                    Model.WBS_BreakdownProject breakdownProject = BLL.BreakdownProjectService.GetBreakdownProjectById(item.ControlPointType);
 | 
						||
                    if (breakdownProject != null)
 | 
						||
                    {
 | 
						||
                        Model.WBS_DivisionProject divisionProject = BLL.DivisionProjectService.GetDivisionProjectById(breakdownProject.DivisionProjectId);
 | 
						||
                        if (divisionProject != null)
 | 
						||
                        {
 | 
						||
                            if (!workNames.Contains(divisionProject.DivisionName))  //新增记录
 | 
						||
                            {
 | 
						||
                                Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
 | 
						||
                                checkStatisc.Num = i;
 | 
						||
                                checkStatisc.WorkName = divisionProject.DivisionName;
 | 
						||
                                workNames.Add(divisionProject.DivisionName);
 | 
						||
                                checkStatisc.CheckNum = managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc.TotalCheckNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc.OKNum = managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                StatisticsList.Add(checkStatisc);
 | 
						||
                                i++;
 | 
						||
                            }
 | 
						||
                            else   //更新已有记录
 | 
						||
                            {
 | 
						||
                                Model.CheckStatisc checkStatisc1 = StatisticsList.FirstOrDefault(x => x.WorkName == divisionProject.DivisionName);
 | 
						||
                                checkStatisc1.CheckNum += managementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc1.TotalCheckNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType);
 | 
						||
                                checkStatisc1.OKNum += managementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                                checkStatisc1.TotalOKNum += totalManagementList.Count(x => x.ControlPointType == item.ControlPointType && x.IsOnceQualified == true);
 | 
						||
                            }
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                }
 | 
						||
            }
 | 
						||
            foreach (var item in StatisticsList)
 | 
						||
            {
 | 
						||
                if (item.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    item.OneOKRate = Math.Round((double)item.OKNum / (double)item.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    item.OneOKRate = "0%";
 | 
						||
                }
 | 
						||
                if (item.TotalCheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    item.TotalOneOKRate = Math.Round((double)item.TotalOKNum / (double)item.TotalCheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    item.TotalOneOKRate = "0%";
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            if (StatisticsList.Count() > 0)   //增加总计
 | 
						||
            {
 | 
						||
                Model.CheckStatisc StatisticsLast = new Model.CheckStatisc();
 | 
						||
                StatisticsLast.Num = StatisticsList.Count() + 1;
 | 
						||
                StatisticsLast.WorkName = "合计";
 | 
						||
                foreach (Model.CheckStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    StatisticsLast.CheckNum += item.CheckNum;
 | 
						||
                    StatisticsLast.TotalCheckNum += item.TotalCheckNum;
 | 
						||
                    StatisticsLast.OKNum += item.OKNum;
 | 
						||
                    StatisticsLast.TotalOKNum += item.TotalOKNum;
 | 
						||
                }
 | 
						||
                if (StatisticsLast.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    StatisticsLast.OneOKRate = Math.Round((double)StatisticsLast.OKNum / (double)StatisticsLast.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    StatisticsLast.OneOKRate = "0%";
 | 
						||
                }
 | 
						||
                if (StatisticsLast.TotalCheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    StatisticsLast.TotalOneOKRate = Math.Round((double)StatisticsLast.TotalOKNum / (double)StatisticsLast.TotalCheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    StatisticsLast.TotalOneOKRate = "0%";
 | 
						||
                }
 | 
						||
                StatisticsList.Add(StatisticsLast);
 | 
						||
            }
 | 
						||
            return StatisticsList;
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取NCR
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public List<Model.NCRReportStatisc> getNCRReportStatiscList()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            List<Model.NCRReportStatisc> StatisticsList = new List<Model.NCRReportStatisc>();
 | 
						||
            int i = 1;
 | 
						||
            var project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2000-01-01");
 | 
						||
            if (project != null && project.StartDate != null)
 | 
						||
            {
 | 
						||
                projectStartDate = project.StartDate.Value;
 | 
						||
            }
 | 
						||
            //所有集合
 | 
						||
            List<Model.Comprehensive_NCRManagement> totalManagementList = BLL.NCRManagementService.GetNCRManagementListByDate(this.CurrUser.LoginProjectId, startDate, endDate);
 | 
						||
            List<string> unitNames = (from x in totalManagementList select x.ReceiveUnit).Distinct().ToList();
 | 
						||
            foreach (var item in unitNames)
 | 
						||
            {
 | 
						||
                //当期集合
 | 
						||
                List<Model.Comprehensive_NCRManagement> managementList = BLL.NCRManagementService.GetNCRManagementListByUnitNameAndDate(this.CurrUser.LoginProjectId, item, startDate, endDate);
 | 
						||
                //累计集合
 | 
						||
                List<Model.Comprehensive_NCRManagement> sumManagementList = BLL.NCRManagementService.GetNCRManagementListByUnitNameAndDate(this.CurrUser.LoginProjectId, item, projectStartDate, endDate);
 | 
						||
                Model.NCRReportStatisc NCRStatisc = new Model.NCRReportStatisc();
 | 
						||
                NCRStatisc.Num = i;
 | 
						||
                NCRStatisc.WorkName = BLL.UnitService.getUnitNamesUnitIds(item);
 | 
						||
                NCRStatisc.OKNum = managementList.Count(x => x.CompleteDate != null);
 | 
						||
                NCRStatisc.CheckNum = sumManagementList.Count(x => x.CompleteDate != null);
 | 
						||
                if (NCRStatisc.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    NCRStatisc.OKRate = Math.Round((double)NCRStatisc.OKNum / (double)NCRStatisc.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    NCRStatisc.OKRate = "0%";
 | 
						||
                }
 | 
						||
                StatisticsList.Add(NCRStatisc);
 | 
						||
                i++;
 | 
						||
            }
 | 
						||
            if (StatisticsList.Count() > 0)   //增加总计
 | 
						||
            {
 | 
						||
                Model.NCRReportStatisc StatisticsLast = new Model.NCRReportStatisc();
 | 
						||
                StatisticsLast.Num = StatisticsList.Count() + 1;
 | 
						||
                StatisticsLast.WorkName = "合计";
 | 
						||
                foreach (Model.NCRReportStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    StatisticsLast.OKNum += item.OKNum;
 | 
						||
                    StatisticsLast.CheckNum += item.CheckNum;
 | 
						||
                }
 | 
						||
                if (StatisticsLast.CheckNum != 0)//被除数不能为零
 | 
						||
                {
 | 
						||
                    StatisticsLast.OKRate = Math.Round((double)StatisticsLast.OKNum / (double)StatisticsLast.CheckNum * 100, 2) + "%";//保留两位小数、后四舍五入
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    StatisticsLast.OKRate = "0%";
 | 
						||
                }
 | 
						||
                StatisticsList.Add(StatisticsLast);
 | 
						||
            }
 | 
						||
            return StatisticsList;
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取设计变更统计
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public List<Model.CheckStatisc> GetDesginStatisticsList()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
 | 
						||
            List<Model.CheckStatisc> StatisticsList = new List<Model.CheckStatisc>();
 | 
						||
            Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                if (project.StartDate != null)
 | 
						||
                {
 | 
						||
                    projectStartDate = Convert.ToDateTime(project.StartDate);
 | 
						||
                }
 | 
						||
            }
 | 
						||
            int i = 1;
 | 
						||
            var cNProfessionals = from x in Funs.DB.Base_CNProfessional orderby x.SortIndex select x;
 | 
						||
            foreach (var item in cNProfessionals)
 | 
						||
            {
 | 
						||
                //专业下所有集合
 | 
						||
                List<Model.Comprehensive_DesignChangeOrder> totalManagementList = BLL.DesignChangeOrderService.GetDesignChangeOrderListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, item.CNProfessionalId, projectStartDate, endDate);
 | 
						||
                //专业下当期集合
 | 
						||
                List<Model.Comprehensive_DesignChangeOrder> managementList = BLL.DesignChangeOrderService.GetDesignChangeOrderListByCNProfessionalIdAndDate(this.CurrUser.LoginProjectId, item.CNProfessionalId, startDate, endDate);
 | 
						||
                Model.CheckStatisc checkStatisc = new Model.CheckStatisc();
 | 
						||
                checkStatisc.Num = i;
 | 
						||
                checkStatisc.WorkName = item.ProfessionalName;
 | 
						||
                checkStatisc.CheckNum = managementList.Count();
 | 
						||
                checkStatisc.TotalCheckNum = totalManagementList.Count();
 | 
						||
                checkStatisc.OKNum = managementList.Count(x => x.ApprovalDate != null);
 | 
						||
                checkStatisc.TotalOKNum = totalManagementList.Count(x => x.ApprovalDate != null);
 | 
						||
                checkStatisc.OneOKRate = managementList.Count(x => x.HandleState == "3").ToString();       //当期完成数
 | 
						||
                checkStatisc.TotalOneOKRate = totalManagementList.Count(x => x.HandleState == "3").ToString();    //累计完成数
 | 
						||
                if (checkStatisc.CheckNum > 0 || checkStatisc.TotalCheckNum > 0 || checkStatisc.OKNum > 0 || checkStatisc.TotalOKNum > 0)
 | 
						||
                {
 | 
						||
                    StatisticsList.Add(checkStatisc);
 | 
						||
                    i++;
 | 
						||
                }
 | 
						||
            }
 | 
						||
 | 
						||
            if (StatisticsList.Count() > 0)   //增加总计
 | 
						||
            {
 | 
						||
                Model.CheckStatisc StatisticsLast = new Model.CheckStatisc();
 | 
						||
                StatisticsLast.Num = StatisticsList.Count() + 1;
 | 
						||
                StatisticsLast.WorkName = "合计";
 | 
						||
                foreach (Model.CheckStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    StatisticsLast.CheckNum += item.CheckNum;
 | 
						||
                    StatisticsLast.TotalCheckNum += item.TotalCheckNum;
 | 
						||
                    StatisticsLast.OKNum += item.OKNum;
 | 
						||
                    StatisticsLast.TotalOKNum += item.TotalOKNum;
 | 
						||
                    StatisticsLast.OneOKRate = (Convert.ToInt32(StatisticsLast.OneOKRate) + Convert.ToInt32(item.OneOKRate)).ToString();
 | 
						||
                    StatisticsLast.TotalOneOKRate = (Convert.ToInt32(StatisticsLast.TotalOneOKRate) + Convert.ToInt32(item.TotalOneOKRate)).ToString();
 | 
						||
                }
 | 
						||
                StatisticsList.Add(StatisticsLast);
 | 
						||
            }
 | 
						||
            return StatisticsList;
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取合格焊工统计
 | 
						||
        /// </summary>
 | 
						||
        /// <returns></returns>
 | 
						||
        public List<Model.PassWelderStatisc> GetPassWelderStatiscList()
 | 
						||
        {
 | 
						||
            DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim());
 | 
						||
            DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim());
 | 
						||
            DateTime projectStartDate = Convert.ToDateTime("2015-01-01");
 | 
						||
            List<Model.PassWelderStatisc> StatisticsList = new List<Model.PassWelderStatisc>();
 | 
						||
            Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId);
 | 
						||
            if (project != null)
 | 
						||
            {
 | 
						||
                if (project.StartDate != null)
 | 
						||
                {
 | 
						||
                    projectStartDate = Convert.ToDateTime(project.StartDate);
 | 
						||
                }
 | 
						||
            }
 | 
						||
            int i = 1;
 | 
						||
            var units = from x in Funs.DB.Project_ProjectUnit
 | 
						||
                        join y in Funs.DB.Base_Unit on x.UnitId equals y.UnitId
 | 
						||
                        where x.ProjectId == this.CurrUser.LoginProjectId && x.UnitType == BLL.Const.ProjectUnitType_2
 | 
						||
                        orderby y.UnitCode
 | 
						||
                        select new { x.UnitId, y.UnitName };
 | 
						||
            foreach (var item in units)
 | 
						||
            {
 | 
						||
                //单位下所有集合
 | 
						||
                List<Model.BS_Welder> totalWelderList = BLL.PersonManageService.GetWelderListByUnitId(this.CurrUser.LoginProjectId, item.UnitId);
 | 
						||
                List<Model.BS_Welder> welderList = BLL.PersonManageService.GetWelderListByUnitIdAndDate(this.CurrUser.LoginProjectId, item.UnitId, startDate, endDate);
 | 
						||
 | 
						||
                Model.PassWelderStatisc passWelderStatisc = new Model.PassWelderStatisc();
 | 
						||
                passWelderStatisc.Num = i;
 | 
						||
                passWelderStatisc.UnitName = item.UnitName;
 | 
						||
                passWelderStatisc.PipeMountGuard = welderList.Count(x => x.WED_Remark == "管道");
 | 
						||
                passWelderStatisc.PipeTotal = totalWelderList.Count(x => x.WED_Remark == "管道");
 | 
						||
                passWelderStatisc.SteelStructureMountGuard = welderList.Count(x => x.WED_Remark == "钢结构");
 | 
						||
                passWelderStatisc.SteelStructureTotal = totalWelderList.Count(x => x.WED_Remark == "钢结构");
 | 
						||
                passWelderStatisc.EquipmentMountGuard = welderList.Count(x => x.WED_Remark == "设备");
 | 
						||
                passWelderStatisc.EquipmentTotal = totalWelderList.Count(x => x.WED_Remark == "设备");
 | 
						||
                passWelderStatisc.OtherMountGuard = welderList.Count(x => x.WED_Remark == "其他");
 | 
						||
                passWelderStatisc.OtherTotal = totalWelderList.Count(x => x.WED_Remark == "其他");
 | 
						||
                StatisticsList.Add(passWelderStatisc);
 | 
						||
                i++;
 | 
						||
            }
 | 
						||
            if (StatisticsList.Count() > 0)//增加总计
 | 
						||
            {
 | 
						||
                Model.PassWelderStatisc passWelderStatisc = new Model.PassWelderStatisc();
 | 
						||
                passWelderStatisc.Num = StatisticsList.Count() + 1;
 | 
						||
                passWelderStatisc.UnitName = "合计";
 | 
						||
                foreach (Model.PassWelderStatisc item in StatisticsList)
 | 
						||
                {
 | 
						||
                    passWelderStatisc.PipeMountGuard += item.PipeMountGuard;
 | 
						||
                    passWelderStatisc.PipeTotal += item.PipeTotal;
 | 
						||
                    passWelderStatisc.SteelStructureMountGuard += item.SteelStructureMountGuard;
 | 
						||
                    passWelderStatisc.SteelStructureTotal += item.SteelStructureTotal;
 | 
						||
                    passWelderStatisc.EquipmentMountGuard += item.EquipmentMountGuard;
 | 
						||
                    passWelderStatisc.EquipmentTotal += item.EquipmentTotal;
 | 
						||
                    passWelderStatisc.OtherMountGuard += item.OtherMountGuard;
 | 
						||
                    passWelderStatisc.OtherTotal += item.OtherTotal;
 | 
						||
                }
 | 
						||
                StatisticsList.Add(passWelderStatisc);
 | 
						||
            }
 | 
						||
            return StatisticsList;
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 重载VerifyRenderingInServerForm方法,否则运行的时候会出现如下错误提示:“类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内”
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="control"></param>
 | 
						||
        public override void VerifyRenderingInServerForm(Control control)
 | 
						||
        {
 | 
						||
        }
 | 
						||
    }
 | 
						||
} |