duheng
2024-12-10 26917739c47252ecdc3b8f43eca6ebaf9cba6ac4
WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/12-report/SimulationWordReport.cs
@@ -20,7 +20,7 @@
        private string _run_mode = "*******************************************************************";
        //运行时间计算方式  二)运行情况与能耗分析中  “年平均运行时间按:”后
        private string _avg_runtime_mode = "*******************************************************************";
        private string _avg_runtime_mode = "**************************";
        //按_Company_1公司循环水系统平均运行***小时    四)项目节电效益分析中
        private string _Company_1 = "****************";
@@ -61,9 +61,9 @@
        /// </summary>
        /// <param name="strFilePath"></param> 文件路径
        /// <returns></returns>
        public bool Create(string strFilePath)
        public bool Create(string strFilePath, ReportViewModel reportViewModel)
        {
            MemoryStream stream = Create4Stream();
            MemoryStream stream = Create4Stream(reportViewModel);
            if (stream != null)
            {
                var data_bytes = stream.ToArray();
@@ -79,10 +79,10 @@
            return true;
        }
        protected MemoryStream Create4Stream()
        protected MemoryStream Create4Stream(ReportViewModel reportViewModel)
        {
            Document doc = new Document();
            CreatePage(doc);
            CreatePage(doc, reportViewModel);
            doc.RemoveChild(doc.FirstSection);//删除第一页空白
@@ -96,7 +96,6 @@
        protected void SetWordHander(Aspose.Words.Document doc)
        {
            DocumentBuilder builder = new Aspose.Words.DocumentBuilder(doc);
            builder.MoveToHeaderFooter(HeaderFooterType.HeaderPrimary);
            SimulationWordReportHelper Text_center_10_Gray = new SimulationWordReportHelper(builder) { fontalignment = ParagraphAlignment.Right, fontsize = 10, fontcolor = Color.Gray };
            Text_center_10_Gray.structureText(string.Format("{0}{1}", _title, "项目节能方案报告"));
@@ -117,7 +116,8 @@
            builder.MoveToDocumentStart();
        }
        private void CreatePage(Document doc)
        //正文
        private void CreatePage(Document doc, ReportViewModel reportViewModel)
        {
            Aspose.Words.Document src = new Aspose.Words.Document();
            Aspose.Words.DocumentBuilder builder = new Aspose.Words.DocumentBuilder(src);
@@ -140,22 +140,21 @@
            SimulationWordReportHelper Cell_h_merging_end = new SimulationWordReportHelper(builder) { horizontalMerge = Aspose.Words.Tables.CellMerge.Previous };
            Text_center_25_black.structureText(string.Format("{0}{1}", _title, "项目节能方案报告"));
            Text_left_15_black.structureText("一)\t系统概述");
            builder.Writeln("");
            Text_left_12_black.structureText(string.Format("     {0}", _Instructions));
            builder.Writeln("");
            Text_left_12_black.structureText("    1.1、设备基本配置");
            Text_left_15_black.structureText("一、系统概述");
            Text_left_15_black.AddBlankLine();
            Text_left_15_black.AddBlankLine();
            Text_left_12_black.structureText(string.Format("{0}", _Instructions));
            Text_left_12_black.structureText("1.1、设备基本配置");
            #region 设别基本配置表
            var basic_config_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell_v_merging_start.structureCell("设备型号");
            Cell.structureCell("设备型号");
            Cell.structureCell("额定流量");
            Cell.structureCell("额定扬程");
            Cell_v_merging_start.structureCell("驱动方式");
            Cell.structureCell("额定电压");
            Cell.structureCell("额定电流");
@@ -167,8 +166,8 @@
            Cell_v_merging_end.structureCell("");
            Cell_v_merging_end.structureCell("");
            Cell_v_merging_end.structureCell("");
            Cell.structureCell("Q(m³/ h)");
            Cell.structureCell("H(m)");
            Cell.structureCell("Q(m³/h)");
            Cell_v_merging_end.structureCell("");
            Cell.structureCell("U(kV)");
            Cell.structureCell("I(A)");
@@ -176,61 +175,39 @@
            Cell.structureCell("cosφ");
            Cell.structureCell("r/m  ");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.Equipments != null)
            {
                foreach (var item in reportViewModel.Equipments)
                {
                    Cell.structureCell(item.EquipmentName);
                    Cell.structureCell(item.EquipmentNumber);
                    Cell.structureCell(item.EquipmentMainName);
                    Cell.structureCell(item.RatedFlow);
                    Cell.structureCell(item.RatedHead);
                    Cell.structureCell(item.TypeOfDrive);
                    Cell.structureCell("电机驱动");
                    Cell.structureCell(item.RatedCurrent);
                    Cell.structureCell(item.RatedPower);
                    Cell.structureCell(item.RatedFactor);
                    Cell.structureCell(item.Speed);
                    builder.EndRow();
                }
            }
            builder.EndTable();
            basic_config_table.AllowAutoFit = false;
            Processing_pagination(src, builder, basic_config_table);
            #endregion 设别基本配置表
            Text_left_12_black.structureText("    1.2、运行实际情况");
            Text_left_12_black.structureText("     1.2.1 循环水泵站运行状况");
            Text_left_12_black.structureLeft20Text("1.2、运行实际情况");
            Text_left_12_black.structureLeft20Text("1.2.1 循环水泵站运行状况");
            #region 循环水泵站运行状况表
            var pumpingStation_run_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设别位号");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell_h_merging_start.structureCell("泵");
            Cell_h_merging_end.structureCell("");
            Cell_h_merging_start.structureCell("电机");
@@ -247,8 +224,8 @@
            Cell.structureCell("运行电流");
            Cell.structureCell("功率");
            Cell.structureCell("总管流量");
            Cell.structureCell("供水压力标高");
            Cell.structureCell("回力压力标高");
            Cell.structureCell("供水压力/标高");
            Cell.structureCell("回水压力/标高");
            builder.EndRow();
            Cell_v_merging_end.structureCell("");
@@ -261,51 +238,36 @@
            Cell.structureCell("MPa/m");
            Cell.structureCell("MPa/m");
            builder.EndRow();
            if (reportViewModel.PumpStations != null)
            {
                foreach (var item in reportViewModel.PumpStations)
                {
                    Cell.structureCell(item.EquipmentName);
                    Cell.structureCell(item.EquipmentNumber);
                    Cell.structureCell(item.OutletPressure);
                    Cell.structureCell(item.OutletValveOpening);
                    Cell.structureCell(item.RunningCurrent);
                    Cell.structureCell(item.Power);
                    Cell.structureCell(item.TotalFlow);
                    Cell.structureCell(item.SuppyPressure);
                    Cell.structureCell(item.ReturnPressure);
                    builder.EndRow();
                }
            }
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndTable();
            pumpingStation_run_table.AllowAutoFit = false;
            Processing_pagination(src, builder, pumpingStation_run_table);
            #endregion 循环水泵站运行状况表
            Text_left_12_black.structureText("     1.2.2 冷却塔运行状况");
            Text_left_12_black.structureLeft20Text("1.2.2 冷却塔运行状况");
            #region 冷却塔运行状况表
            var coolingtower_run_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell.structureCell("上塔管径");
            Cell.structureCell("上塔阀开度");
@@ -364,13 +326,13 @@
            #endregion 冷却塔运行状况表
            Text_left_12_black.structureText("     1.2.3 末端换热器运行状况");
            Text_left_12_black.structureLeft20Text("1.2.3 末端换热器运行状况");
            #region 末端换热器运行状况表
            var end_heatExchanger_run_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell.structureCell("供回水管径");
            Cell.structureCell("供水闸开度");
@@ -473,11 +435,11 @@
            #endregion 末端换热器运行状况表
            Text_left_15_black.structureText("二)\t运行情况与能耗分析");
            Text_left_12_black.structureText("    2.1、运行模式及运行时间");
            Text_left_12_black.structureText(string.Format("    全年:{0}", _run_mode));
            Text_left_12_black.structureText(string.Format("    年平均运行时间按:{0}", _avg_runtime_mode));
            Text_left_12_black.structureText("    2.2、运行情况及能耗统计");
            Text_left_12_black.structureText("    根据实测参数、流体输送工程学复核,本循环水系统目前各种运行方式的实际能耗情况如下表:");
            Text_left_12_black.structureLeft20Text("2.1、运行模式及运行时间");
            Text_left_12_black.structureLeft20Text(string.Format("全年:{0}", _run_mode));
            Text_left_12_black.structureLeft20Text(string.Format("年平均运行时间:按{0}", _avg_runtime_mode));
            Text_left_12_black.structureLeft20Text("2.2、运行情况及能耗统计");
            Text_left_12_black.structureLeft20Text("根据实测参数、流体输送工程学复核,本循环水系统目前各种运行方式的实际能耗情况如下表:");
            #region 实际能耗情况表
@@ -495,23 +457,17 @@
            Cell.structureCell("年耗电量(万kW.h)");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.PowerConsumptionInfos != null)
            {
                foreach (var item in reportViewModel.PowerConsumptionInfos)
                {
                    Cell.structureCell(item.RunMode);
                    Cell.structureCell(item.PreTechPowerConsumption);
                    Cell.structureCell(item.AnnualRunningHours);
                    Cell.structureCell(item.AnnualPowerConsumption);
                    builder.EndRow();
                }
            }
            Cell.structureCell("合计");
            Cell.structureCell("");
@@ -523,87 +479,109 @@
            #endregion 实际能耗情况表
            Text_left_12_black.structureText("    2.3、高能耗分析");
            Text_left_12_black.structureText("    通过对系统运行工况进行检测分析,认为该系统存在 “低效率、高能耗”现象。主要表现在以下方面:");
            Text_left_12_black.structureText("    1)水泵特性与管网特性不相匹配,造成水泵偏离设计工况运行,其实际运行效率下降,造成较多的无效能耗,处于不经济运行状态;而当前循环水工况又并非是系统的最佳状态,优化管网阻抗整合运行参数,将使本系统具有较大的节能空间。");
            Text_left_12_black.structureText("    2)水泵性能曲线和管网特性曲线不相匹配,在水系统在输送过程中存在闭阀调节阻力,增加了输送过程中的无效能耗,降低水系统的输送效率;需要重新对系统进行建模分析,降低系统阻力,优化水泵扬程。");
            Text_left_12_black.structureText("    3)缺乏技术手段对换热设备进行量化调节,流量过大存在浪费。通过调试并配置优化,对换热器定量分析,制定换热器运行合理方案,改换热器为定量控制,最终消除无效流量,使系统处在优良状态下运行。");
            Text_left_12_black.structureLeft20Text("2.3、高能耗分析");
            Text_left_12_black.structureLeft20Text("通过对系统运行工况进行检测分析,认为该系统存在 “低效率、高能耗”现象。主要表现在以下方面:");
            Text_left_12_black.structureLeft20Text("1)水泵特性与管网特性不相匹配,造成水泵偏离设计工况运行,其实际运行效率下降,造成较多的无效能耗,处于不经济运行状态;而当前循环水工况又并非是系统的最佳状态,优化管网阻抗整合运行参数,将使本系统具有较大的节能空间。");
            Text_left_12_black.structureLeft20Text("2)水泵性能曲线和管网特性曲线不相匹配,在水系统在输送过程中存在闭阀调节阻力,增加了输送过程中的无效能耗,降低水系统的输送效率;需要重新对系统进行建模分析,降低系统阻力,优化水泵扬程。");
            Text_left_12_black.structureLeft20Text("3)缺乏技术手段对换热设备进行量化调节,流量过大存在浪费。通过调试并配置优化,对换热器定量分析,制定换热器运行合理方案,改换热器为定量控制,最终消除无效流量,使系统处在优良状态下运行。");
            Text_left_15_black.structureText("三)\t节能技改方案与设计指标");
            Text_left_12_black.structureText("    3.1、设计依据");
            Text_left_12_black.structureText("     3.1.1 循环水泵运行功率:根据三相异步电动机运行功率计算公式P=√3×U×I×cosφ,也可以按照运行一段时间内电度表有功功率统计得出;");
            Text_left_12_black.structureText("     3.1.2 水泵总压力(扬程)计算公式:");
            Text_left_12_black.structureText("     H=(p出-p进)×102+(出口表高-进口液位高),再考虑进出口流速变化的动能损耗。");
            Text_left_12_black.structureText("     3.1.3 通过水泵性能曲线模拟,水泵运行在一定的工况下,其流量Q、扬程H、功率P、效率η相对应;实际性能与标准性能一般差异(主要为效率η指标)");
            Text_left_12_black.structureText("     3.1.4 管路系统压力降换算基本公式(i代表单位米长度管道上沿程阻力系数)");
            Text_left_12_black.structureLeft20Text("3.1、设计依据");
            Text_left_12_black.structureLeft20Text("3.1.1 循环水泵运行功率:根据三相异步电动机运行功率计算公式P=√3×U×I×cosφ,也可以按照运行一段时间内电度表有功功率统计得出;");
            Text_left_12_black.structureLeft20Text("3.1.2 水泵总压力(扬程)计算公式:");
            Text_left_12_black.structureLeft20Text("H=(p出-p进)×102+(出口表高-进口液位高),再考虑进出口流速变化的动能损耗。");
            Text_left_12_black.structureLeft20Text("3.1.3 通过水泵性能曲线模拟,水泵运行在一定的工况下,其流量Q、扬程H、功率P、效率η相对应;实际性能与标准性能一般差异(主要为效率η指标)");
            Text_left_12_black.structureLeft20Text("3.1.4 管路系统压力降换算基本公式(i代表单位米长度管道上沿程阻力系数)");
            // 插入图片
            builder.Write("      ");
            Text_left_12_black.structureTextAndImage("assets\\Pressure_conversion_formula_big1.2.png", 30, 150);
            builder.Write("      ");
            Text_left_12_black.structureTextAndImage("assets\\Pressure_conversion_formula_small1.2.png", 35, 220);
            Text_left_12_black.structureText("     3.1.5 局部阻力计算公式");
            builder.Write("      ");
            Text_left_12_black.structureTextAndImage("assets\\Local_resistance.png", 35, 60);
            Text_left_12_black.structureText("     3.1.6 阀门开度与局部阻力系数关系(参考)");
            //  builder.Write("      ");
            Text_left_12_black.structureTextAndImage("00-core\\Pressure_conversion_formula_big1.2.png", 30, 150);
            //  builder.Write("      ");
            Text_left_12_black.structureTextAndImage("00-core\\Pressure_conversion_formula_small1.2.png", 35, 220);
            Text_left_12_black.structureLeft20Text("3.1.5 局部阻力计算公式");
            //      builder.Write("      ");
            Text_left_12_black.structureTextAndImage("00-core\\Local_resistance.png", 35, 60);
            Text_left_12_black.structureLeft20Text("3.1.6 阀门开度与局部阻力系数关系(参考)");
            #region 阀门开度与局部阻力系数关系表
            var Opening_resistance_table = builder.StartTable();
            Cell.SetFont(9);
            Cell.structureCell("开度α");
            Cell.structureCell("90");
            Cell.structureCell("80");
            Cell.structureCell("70");
            Cell.structureCell("60");
            Cell.structureCell("55");
            Cell.structureCell("50");
            Cell.structureCell("45");
            Cell.structureCell("40");
            Cell.structureCell("35");
            Cell.structureCell("30");
            Cell.structureCell("25");
            Cell.structureCell("20");
            Cell.structureCell("15");
            Cell.structureCell("10");
            builder.EndRow();
            Cell.structureCell("ξ");
            Cell.structureCell("0.22");
            Cell.structureCell("0.45");
            Cell.structureCell("1.18");
            Cell.structureCell("3.25");
            Cell.structureCell("5.50");
            Cell.structureCell("9.27");
            Cell.structureCell("15.0");
            Cell.structureCell("26.8");
            Cell.structureCell("45.0");
            Cell.structureCell("79.2");
            Cell.structureCell("152");
            Cell.structureCell("332");
            Cell.structureCell("945");
            Cell.structureCell("3620");
            if (reportViewModel.ValveOpens != null)
            {
                foreach (var item in reportViewModel.ValveOpens)
                {
                    Cell.structureCell(item.Name);
                }
                builder.EndRow();
                Cell.structureCell("ξ");
                foreach (var item in reportViewModel.ValveOpens)
                {
                    Cell.structureCell(item.MinorLoss);
                }
                builder.EndRow();
            }
            else
            {
                Cell.structureCell("开度α");
                Cell.structureCell("90");
                Cell.structureCell("80");
                Cell.structureCell("70");
                Cell.structureCell("60");
                Cell.structureCell("55");
                Cell.structureCell("50");
                Cell.structureCell("45");
                Cell.structureCell("40");
                Cell.structureCell("35");
                Cell.structureCell("30");
                Cell.structureCell("25");
                Cell.structureCell("20");
                Cell.structureCell("15");
                Cell.structureCell("10");
                builder.EndRow();
                Cell.structureCell("ξ");
                Cell.structureCell("0.22");
                Cell.structureCell("0.45");
                Cell.structureCell("1.18");
                Cell.structureCell("3.25");
                Cell.structureCell("5.50");
                Cell.structureCell("9.27");
                Cell.structureCell("15.0");
                Cell.structureCell("26.8");
                Cell.structureCell("45.0");
                Cell.structureCell("79.2");
                Cell.structureCell("152");
                Cell.structureCell("332");
                Cell.structureCell("945");
                Cell.structureCell("3620");
            }
            builder.EndTable();
            Opening_resistance_table.AllowAutoFit = false;
            Processing_pagination(src, builder, Opening_resistance_table);
            #endregion 阀门开度与局部阻力系数关系表
            Text_left_12_black.structureText("    3.2、设计过程");
            Text_left_12_black.structureText("     科维公司采用流体输送Go.Well技术对检测数据进行系统分析、研究,结合生产工艺特征,设计本循环水系统过程能量优化解决方案。");
            Text_left_12_black.structureText("     1)通过分析系统装置热负荷以及工艺特点,按经济供回水温差原则及供水压力与设计压力比较,判断流量的合理性,并确定合理流量,做到“装置侧合理用水、泵站侧高效供水,降低水送能耗指标;");
            Text_left_12_black.structureText("     2)对换热器及冷却塔的热工性能进行评估,针对性选择提高冷却效果的改造方案,以确保经济供回水温差实现的可行性;");
            Text_left_12_black.structureText("     3)运用计算机模拟技术分析管网水力节点平衡,得到可实现的最优管网性能曲线,即相应流量下所对应实际需要的最小阻力,降低系统管网阻抗,提高管网运行效率;");
            Text_left_12_black.structureText("     4)通过对泵站原有各种运行模式的工况分析,判断电机及水泵的实际运行效率是否高效,并结合装置侧所需的技术参数要求,提出最优的泵组搭配运行模式及运行参数,确定高效节能泵参数设计值,做好泵站优化设计;");
            Text_left_12_black.structureText("     5)借助三元流理论,采用国外最先进的“CFD”仿真模拟技术,通过精确模拟,设计出最优化的水力模型,确保ECOWELL高效泵性能可靠、运行稳定,并确保在各种运行模式下均处于高效运行。");
            Text_left_12_black.structureLeft20Text("3.2、设计过程");
            Text_left_12_black.structureLeft20Text("科维公司采用流体输送Go.Well技术对检测数据进行系统分析、研究,结合生产工艺特征,设计本循环水系统过程能量优化解决方案。");
            Text_left_12_black.structureLeft20Text("1)通过分析系统装置热负荷以及工艺特点,按经济供回水温差原则及供水压力与设计压力比较,判断流量的合理性,并确定合理流量,做到“装置侧合理用水、泵站侧高效供水,降低水送能耗指标;");
            Text_left_12_black.structureLeft20Text("2)对换热器及冷却塔的热工性能进行评估,针对性选择提高冷却效果的改造方案,以确保经济供回水温差实现的可行性;");
            Text_left_12_black.structureLeft20Text("3)运用计算机模拟技术分析管网水力节点平衡,得到可实现的最优管网性能曲线,即相应流量下所对应实际需要的最小阻力,降低系统管网阻抗,提高管网运行效率;");
            Text_left_12_black.structureLeft20Text("4)通过对泵站原有各种运行模式的工况分析,判断电机及水泵的实际运行效率是否高效,并结合装置侧所需的技术参数要求,提出最优的泵组搭配运行模式及运行参数,确定高效节能泵参数设计值,做好泵站优化设计;");
            Text_left_12_black.structureLeft20Text("5)借助三元流理论,采用国外最先进的“CFD”仿真模拟技术,通过精确模拟,设计出最优化的水力模型,确保ECOWELL高效泵性能可靠、运行稳定,并确保在各种运行模式下均处于高效运行。");
            Text_left_12_black.structureText("    3.3、泵站部分节能设计指标与技改方案");
            Text_left_12_black.structureText("     3.3.1 技改后设备配置情况");
            Text_left_12_black.structureLeft20Text("3.3、泵站部分节能设计指标与技改方案");
            Text_left_12_black.structureLeft20Text("3.3.1 技改后设备配置情况");
            Text_left_12_black.AddBlankLine();
            #region 设备配置情况表
            var Device_configuration_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell_v_merging_start.structureCell("设备型号");
            Cell_v_merging_start.structureCell("台数");
@@ -630,61 +608,37 @@
            Cell.structureCell("cosφ");
            Cell.structureCell("r/m");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.AfterEquipments != null)
            {
                foreach (var item in reportViewModel.AfterEquipments)
                {
                    Cell.structureCell(item.EquipmentName);
                    Cell.structureCell(item.EquipmentNumber);
                    Cell.structureCell(item.EquipmentMainName);
                    Cell.structureCell(item.RatedFlow);
                    Cell.structureCell(item.RatedHead);
                    Cell.structureCell(item.TypeOfDrive);
                    Cell.structureCell("电机驱动");
                    Cell.structureCell(item.RatedCurrent);
                    Cell.structureCell(item.RatedPower);
                    Cell.structureCell(item.RatedFactor);
                    Cell.structureCell(item.Speed);
                    builder.EndRow();
                }
            }
            builder.EndTable();
            Device_configuration_table.AllowAutoFit = false;
            Processing_pagination(src, builder, Device_configuration_table);
            #endregion 设备配置情况表
            Text_left_12_black.structureText("     3.3.2 技改后设备预计运行状况");
            Text_left_12_black.structureLeft20Text("3.3.2 技改后设备预计运行状况");
            #region 预计运行状况表
            var estimated_running_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell_h_merging_start.structureCell("泵");
            Cell_h_merging_end.structureCell("");
@@ -716,39 +670,22 @@
            Cell.structureCell("MPa/m");
            Cell.structureCell("MPa/m");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.AfterPumpStations != null)
            {
                foreach (var item in reportViewModel.AfterPumpStations)
                {
                    Cell.structureCell(item.EquipmentName);
                    Cell.structureCell(item.EquipmentNumber);
                    Cell.structureCell(item.OutletPressure);
                    Cell.structureCell(item.OutletValveOpening);
                    Cell.structureCell(item.RunningCurrent);
                    Cell.structureCell(item.Power);
                    Cell.structureCell(item.TotalFlow);
                    Cell.structureCell(item.SuppyPressure);
                    Cell.structureCell(item.ReturnPressure);
                    builder.EndRow();
                }
            }
            builder.EndTable();
            //estimated_running_table.AllowAutoFit = false;
            //builder.ParagraphFormat.KeepWithNext = true;
@@ -756,13 +693,13 @@
            #endregion 预计运行状况表
            Text_left_12_black.structureText("     3.3.3 末端换热器预计运行状况");
            Text_left_12_black.structureLeft20Text("3.3.3 末端换热器预计运行状况");
            #region 末端换热器预计运行状况表
            var estimatedendRun_table = builder.StartTable();
            Cell.SetFont(9);
            Cell_v_merging_start.structureCell("系统名称");
            Cell_v_merging_start.structureCell("设备名称");
            Cell_v_merging_start.structureCell("设备位号");
            Cell.structureCell("供回水管径");
            Cell.structureCell("供水闸开度");
@@ -864,7 +801,7 @@
            #endregion 末端换热器预计运行状况表
            Text_left_12_black.structureText("     3.3.2 技改后各运行模式下设备预计节电情况");
            Text_left_12_black.structureLeft20Text("3.3.2 技改后各运行模式下设备预计节电情况");
            #region 设备预计节电情况表
@@ -882,23 +819,17 @@
            Cell.structureCell("改后年耗电量(万kW.h)");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.AfterPowerConsumptionInfos != null)
            {
                foreach (var item in reportViewModel.AfterPowerConsumptionInfos)
                {
                    Cell.structureCell(item.RunMode);
                    Cell.structureCell(item.PreTechPowerConsumption);
                    Cell.structureCell(item.AnnualRunningHours);
                    Cell.structureCell(item.AnnualPowerConsumption);
                    builder.EndRow();
                }
            }
            Cell.structureCell("合计");
            Cell.structureCell("");
@@ -910,18 +841,18 @@
            #endregion 设备预计节电情况表
            Text_left_12_black.structureText("    3.4、技改说明");
            Text_left_12_black.structureText("     针对前述的系统存在的问题分析,目前系统在优化运行方面还有较大的提升空间,存在较大的节能潜力,从整体上提出以下解决方案:");
            Text_left_12_black.structureText("     a、优化水泵匹配实现节能;");
            Text_left_12_black.structureText("     b、改善水泵气蚀实现节能;");
            Text_left_12_black.structureText("     c、提高水泵运行效率节能;");
            Text_left_12_black.structureText("     d、实现合理供水,调整水力平衡,优化母管供、回水压力,降低阻力实现节能;");
            Text_left_12_black.structureLeft20Text("3.4、技改说明");
            Text_left_12_black.structureLeft20Text("针对前述的系统存在的问题分析,目前系统在优化运行方面还有较大的提升空间,存在较大的节能潜力,从整体上提出以下解决方案:");
            Text_left_12_black.structureLeft20Text("a、优化水泵匹配实现节能;");
            Text_left_12_black.structureLeft20Text("b、改善水泵气蚀实现节能;");
            Text_left_12_black.structureLeft20Text("c、提高水泵运行效率节能;");
            Text_left_12_black.structureLeft20Text("d、实现合理供水,调整水力平衡,优化母管供、回水压力,降低阻力实现节能;");
            Text_left_15_black.structureText("四)\t项目节电效益分析");
            Text_left_12_black.structureText("    4.1、每年节电量");
            Text_left_12_black.structureText(string.Format("     按{0}公司循环水系统年平均运行{1}小时计,则系统年节电量:", _Company_1, _Avg_Hour));
            Text_left_12_black.structureText(string.Format("     系统年节电量={0}={1}(万度)", _Electricity, _Electricity_kWh));
            Text_left_12_black.structureText("    4.2、节电计算汇总如下表");
            Text_left_12_black.structureLeft20Text("4.1、每年节电量");
            Text_left_12_black.structureLeft20Text(string.Format("按{0}公司循环水系统年平均运行{1}小时计,则系统年节电量:", _Company_1, _Avg_Hour));
            Text_left_12_black.structureLeft20Text(string.Format("系统年节电量={0}={1}(万度)", _Electricity, _Electricity_kWh));
            Text_left_12_black.structureLeft20Text("4.2、节电计算汇总如下表");
            #region 节电计算汇总表
@@ -943,13 +874,19 @@
            Cell.structureCell("(h)");
            builder.EndRow();
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.PowerRelatedInfos != null)
            {
                foreach (var item in reportViewModel.PowerRelatedInfos)
                {
                    Cell.structureCell(item.RunMode);
                    Cell.structureCell(item.PreTechPowerConsumption);
                    Cell.structureCell(item.PostTechDesignedPower);
                    Cell.structureCell(item.HourlyPowerSaving);
                    Cell.structureCell(item.PowerSavingRate);
                    Cell.structureCell(item.RunningTime);
                    builder.EndRow();
                }
            }
            Cell_h_merging_start.structureCell("合计年节电量(万度)");
            Cell_h_merging_end.structureCell("");
@@ -963,41 +900,34 @@
            #endregion 节电计算汇总表
            Text_left_15_black.structureText("五)\t综述");
            Text_left_12_black.structureText(string.Format("     本案是在科维公司技术人员于{0}对{1}水系统进行详细调查、检测基础上,采用流体输送Go·well技术对检测资料进行系统分析、研究,并结合该系统运行的负荷情况,精心设计的节能技改方案。", _Time, _System));
            Text_left_12_black.structureText(string.Format("     通过技改节电效果如下(按年运行(0)小时计):", _Hour));
            Text_left_15_black.structureLeft20Text("五)\t综述");
            Text_left_12_black.structureLeft20Text(string.Format("本案是在科维公司技术人员于{0}对{1}水系统进行详细调查、检测基础上,采用流体输送Go·well技术对检测资料进行系统分析、研究,并结合该系统运行的负荷情况,精心设计的节能技改方案。", _Time, _System));
            Text_left_12_black.structureLeft20Text(string.Format("通过技改节电效果如下(按年运行(0)小时计):", _Hour));
            #region 设备预计节电情况表
            var power_saving_effect_table = builder.StartTable();
            Cell.SetFont(9);
            Cell.structureCell("序号");
            Cell.structureCell("系统名称");
            Cell.structureCell("设备名称");
            Cell.structureCell("技改前年耗电量(万度/年)");
            Cell.structureCell("节电率\r\n(%)");
            Cell.structureCell("改后年节电量\r\n(万度/年)");
            builder.EndRow();
            Cell.structureCell("1");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("2");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            Cell.structureCell("3");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            Cell.structureCell("");
            builder.EndRow();
            if (reportViewModel.AfterEquipmentPowers != null)
            {
                int i = 0;
                foreach (var item in reportViewModel.AfterEquipmentPowers)
                {
                    Cell.structureCell((i++).ToString());
                    Cell.structureCell(item.EquipmentName);
                    Cell.structureCell(item.PowerConsumptionBeforeTech);
                    Cell.structureCell(item.PowerSavingRate);
                    Cell.structureCell(item.AnnualPowerSavingAfterTech);
                    builder.EndRow();
                }
            }
            Cell.structureCell("");
            Cell.structureCell("合计");
@@ -1011,11 +941,11 @@
            #endregion 设备预计节电情况表
            Text_left_12_black.structureText("     必须郑重指出,本案属流体输送Go·well技术设计成果,仅作为本系统节能技改投资决策和实施的依据。");
            Text_left_12_black.structureText(string.Format("     在此,非常感谢{0}公司各部门领导对节能工作的重视和支持,非常感谢{1}公司技术人员对检测工作的大力配合,并提供宝贵资料及系统情况。", _Company_2, _Company_3));
            Text_left_12_black.structureLeft20Text("必须郑重指出,本案属流体输送Go·well技术设计成果,仅作为本系统节能技改投资决策和实施的依据。");
            Text_left_12_black.structureLeft20Text(string.Format("在此,非常感谢{0}公司各部门领导对节能工作的重视和支持,非常感谢{1}公司技术人员对检测工作的大力配合,并提供宝贵资料及系统情况。", _Company_2, _Company_3));
            Text_reight_10_black.structureText("浙江科维节能技术股份有限公司");
            Text_reight_10_black.structureText(string.Format("       {0}年{1}月", _Year, _month));
            Text_reight_10_black.structureLeft20Text(string.Format("{0}年{1}月", _Year, _month));
            doc.AppendDocument(src, Aspose.Words.ImportFormatMode.KeepSourceFormatting);
        }