From 3243a2ee9ef1ae66ea44e7734f10613c6063b2e7 Mon Sep 17 00:00:00 2001 From: wendy <408182087@qq.com> Date: Sun, 5 May 2024 17:08:38 +0800 Subject: [PATCH] =?UTF-8?q?20240505=20=E8=B4=A8=E9=87=8F=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SGGL/BLL/Common/Const.cs | 67 ++++- .../CQMS/Check/CheckList.aspx.cs | 228 +++++++++++++- .../CQMS/Check/JointCheck.aspx.cs | 44 ++- .../CQMS/Check/JointCheckStatistics.aspx.cs | 259 ++++++++++++---- .../CQMS/ManageReport/CheckStatisc.aspx.cs | 178 ++++++++--- .../ManageReport/DesignChangeStatisc.aspx.cs | 184 +++++++++--- .../CQMS/ManageReport/HJGLStatisc.aspx.cs | 181 +++++++++--- .../CQMS/ManageReport/NCRStatisc.aspx.cs | 170 ++++++++--- .../ProcessControl/CheckManStatistics.aspx.cs | 95 +++++- .../ProcessControl/HotProessManage.aspx.cs | 135 ++++++++- .../InspectionManagement.aspx.cs | 153 +++++++++- .../InspectionManagementStatistics.aspx.cs | 151 ++++++++-- .../ProcessControl/InspectionNotice.aspx.cs | 139 ++++++++- .../NondestructiveTest_New.aspx.cs | 132 ++++++++- .../TestPackageManagement.aspx.cs | 132 ++++++++- SGGL/FineUIPro.Web/ErrLog.txt | 277 ------------------ .../File/Excel/CQMS/NCR统计模板.xls | Bin 0 -> 20992 bytes .../File/Excel/CQMS/共检通知单模板.xls | Bin 0 -> 14336 bytes .../CQMS/控制点检查检测合格率统计模板.xls | Bin 0 -> 20992 bytes .../File/Excel/CQMS/控制点检查检测模板.xls | Bin 0 -> 14336 bytes .../File/Excel/CQMS/无损检测管理模板.xls | Bin 0 -> 20992 bytes .../Excel/CQMS/检查人检查次数统计模板.xls | Bin 0 -> 20480 bytes .../File/Excel/CQMS/热处理检测模板.xls | Bin 0 -> 20992 bytes .../File/Excel/CQMS/现场检查情况模板.xls | Bin 0 -> 20992 bytes .../Excel/CQMS/现场焊接无损检测情况模板.xls | Bin 0 -> 20992 bytes .../File/Excel/CQMS/管道试压包管理模板.xls | Bin 0 -> 20992 bytes .../File/Excel/CQMS/设计变更单统计模板.xls | Bin 0 -> 20992 bytes ...量专项检查模版.xls => 质量专项检查模板.xls} | Bin 19456 -> 21504 bytes .../File/Excel/CQMS/质量巡检模板.xls | Bin 0 -> 14336 bytes .../File/Excel/CQMS/问题统计模板.xls | Bin 0 -> 14336 bytes 30 files changed, 1933 insertions(+), 592 deletions(-) create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/NCR统计模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/共检通知单模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测合格率统计模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/无损检测管理模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/检查人检查次数统计模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/热处理检测模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/现场检查情况模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/现场焊接无损检测情况模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/管道试压包管理模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/设计变更单统计模板.xls rename SGGL/FineUIPro.Web/File/Excel/CQMS/{质量专项检查模版.xls => 质量专项检查模板.xls} (73%) create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/质量巡检模板.xls create mode 100644 SGGL/FineUIPro.Web/File/Excel/CQMS/问题统计模板.xls diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index fb4b0ca1..4d251f9e 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -3305,7 +3305,72 @@ namespace BLL /// /// 质量专项检查模板文件原始虚拟路径 /// - public const string JointCheckTempUrl = "File\\Excel\\CQMS\\质量专项检查模版.xls"; + public const string JointCheckTempUrl = "File\\Excel\\CQMS\\质量专项检查模板.xls"; + + /// + /// 共检通知单模板文件原始虚拟路径 + /// + public const string InspectionNoticesTempUrl = "File\\Excel\\CQMS\\共检通知单模板.xls"; + + /// + /// 控制点检查检测模板文件原始虚拟路径 + /// + public const string InspectionManagementTempUrl = "File\\Excel\\CQMS\\控制点检查检测模板.xls"; + + /// + /// 控制点检查检测合格率统计模板文件原始虚拟路径 + /// + public const string InspectionManagementStaticTempUrl = "File\\Excel\\CQMS\\控制点检查检测合格率统计模板.xls"; + + /// + /// 无损检测管理模板文件原始虚拟路径 + /// + public const string NondestructiveTestTempUrl = "File\\Excel\\CQMS\\无损检测管理模板.xls"; + + /// + /// 热处理检测模板文件原始虚拟路径 + /// + public const string HotProessManageTempUrl = "File\\Excel\\CQMS\\热处理检测模板.xls"; + + /// + /// 管道试压包管理模板文件原始虚拟路径 + /// + public const string TestPackageMangementTempUrl = "File\\Excel\\CQMS\\管道试压包管理模板.xls"; + + /// + /// 检查人检查次数统计模板文件原始虚拟路径 + /// + public const string CheckManStatisticsTemlUrl = "File\\Excel\\CQMS\\检查人检查次数统计模板.xls"; + + /// + /// 现场检查情况模板文件原始虚拟路径 + /// + public const string CheckStatiscTemlUrl = "File\\Excel\\CQMS\\现场检查情况模板.xls"; + + /// + /// 现场焊接无损检测情况模板文件原始虚拟路径 + /// + public const string HJGLStatiscTemlUrl = "File\\Excel\\CQMS\\现场焊接无损检测情况模板.xls"; + + /// + /// NCR统计模板文件原始虚拟路径 + /// + public const string NCRStatiscTemlUrl = "File\\Excel\\CQMS\\NCR统计模板.xls"; + + /// + /// 设计变更单统计模板文件原始虚拟路径 + /// + public const string DesignChangeStatiscTemlUrl = "File\\Excel\\CQMS\\设计变更单统计模板.xls"; + + /// + /// 质量巡检模板文件原始虚拟路径 + /// + public const string CheckListTemlUrl = "File\\Excel\\CQMS\\质量巡检模板.xls"; + + /// + /// 问题统计模板文件原始虚拟路径 + /// + public const string JointCheckStatisticsTemlUrl = "File\\Excel\\CQMS\\问题统计模板.xls"; #endregion #endregion diff --git a/SGGL/FineUIPro.Web/CQMS/Check/CheckList.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Check/CheckList.aspx.cs index c90e9d7e..0d123acd 100644 --- a/SGGL/FineUIPro.Web/CQMS/Check/CheckList.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Check/CheckList.aspx.cs @@ -4,6 +4,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -581,15 +582,224 @@ namespace FineUIPro.Web.CQMS.Check /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("质量巡检" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - this.BindGrid(); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.CheckListTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + var lists = (from x in Funs.DB.Check_CheckControl + where x.ProjectId == this.CurrUser.LoginProjectId + select x); + if (!string.IsNullOrEmpty(txtStartTime.Text.Trim())) + { + lists = lists.Where(x => x.CheckDate >= Funs.GetNewDateTime(txtStartTime.Text.Trim() + " 00:00:00")); + } + if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + { + lists = lists.Where(x => x.CheckDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim() + " 23:59:59")); + } + if (drpSponsorUnit.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.UnitId == drpSponsorUnit.SelectedValue); + } + if (drpUnitWork.SelectedValue != Const._Null) + { + lists = lists.Where(x => x.UnitWorkId == drpUnitWork.SelectedValue); + } + if (drpCNProfessional.SelectedValue != Const._Null) + { + lists = lists.Where(x => x.CNProfessionalCode == drpCNProfessional.SelectedValue); + } + if (drpQuestionType.SelectedValue != Const._Null) + { + lists = lists.Where(x => x.QuestionType == drpQuestionType.SelectedValue); + } + if (dpHandelStatus.SelectedValue != Const._Null) + { + if (dpHandelStatus.SelectedValue.Equals("1")) + { + lists = lists.Where(x => x.State == "5" || x.State == "6"); + } + else if (dpHandelStatus.SelectedValue.Equals("2")) + { + lists = lists.Where(x => x.State == "7"); + } + else if (dpHandelStatus.SelectedValue.Equals("3")) + { + lists = lists.Where(x => x.LimitDate.Value.AddDays(1) < DateTime.Now && x.State != "5" && x.State != "6" && x.State != "7"); + } + else if (dpHandelStatus.SelectedValue.Equals("4")) + { + lists = lists.Where(x => x.LimitDate.Value.AddDays(1) > DateTime.Now && x.State != "5" && x.State != "6" && x.State != "7"); + } + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("质量巡检模板", "质量巡检(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.DocCode);//质量巡检编号 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + string unitWorkName = string.Empty; + if (!string.IsNullOrEmpty(item.UnitWorkId)) + { + var unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(item.UnitWorkId); + if (unitWork != null) + { + if (unitWork.ProjectType == "1") + { + unitWorkName = unitWork.UnitWorkName + "(建筑)"; + } + else + { + unitWorkName = unitWork.UnitWorkName + "(安装)"; + } + } + } + cell.SetCellValue(unitWorkName);//单位工程 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + string unitName = string.Empty; + if (!string.IsNullOrEmpty(item.UnitId)) + { + unitName = BLL.UnitService.GetUnitNameByUnitId(item.UnitId); + } + cell.SetCellValue(unitName);//施工单位 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + string proName = string.Empty; + var cnp = BLL.CNProfessionalService.GetCNProfessional(item.CNProfessionalCode); + if (cnp != null) + { + proName = cnp.ProfessionalName; + } + cell.SetCellValue(proName);//专业 + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + string t = string.Empty; + if (!string.IsNullOrEmpty(item.QuestionType)) + { + var qt = Funs.DB.Base_QualityQuestionType.FirstOrDefault(x => x.QualityQuestionTypeId == item.QuestionType); + if (qt!=null) + { + t = qt.QualityQuestionType; + } + } + cell.SetCellValue(t);//问题类别 + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckSite);//部位 + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CheckDate) : "");//巡检日期 + + cell = row.CreateCell(7); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.LimitDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.LimitDate) : "");//整改日期 + + cell = row.CreateCell(8); + cell.CellStyle = cellStyle; + cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CheckMan));//检查人 + + cell = row.CreateCell(9); + cell.CellStyle = cellStyle; + string s = string.Empty; + if (!string.IsNullOrEmpty(item.State)) + { + s = ConvertState(item.State); + } + cell.SetCellValue(s);//审批状态 + + cell = row.CreateCell(10); + cell.CellStyle = cellStyle; + string man = string.Empty; + if (!string.IsNullOrEmpty(item.CheckControlCode)) + { + man = ConvertMan(item.CheckControlCode); + } + cell.SetCellValue(man);//办理人 + + cell = row.CreateCell(11); + cell.CellStyle = cellStyle; + string status = string.Empty; + if (!string.IsNullOrEmpty(item.CheckControlCode)) + { + status = Convertstatus(item.CheckControlCode); + } + cell.SetCellValue(status);//整改状态 + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #endregion } diff --git a/SGGL/FineUIPro.Web/CQMS/Check/JointCheck.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Check/JointCheck.aspx.cs index bfc81e77..d99bd26a 100644 --- a/SGGL/FineUIPro.Web/CQMS/Check/JointCheck.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Check/JointCheck.aspx.cs @@ -415,10 +415,31 @@ namespace FineUIPro.Web.CQMS.Check string uploadfilepath = string.Empty; string newUrl = string.Empty; uploadfilepath = rootPath + initTemplatePath; - var lists = BLL.JointCheckService.GetDriverPlanByProjectId(this.CurrUser.LoginProjectId); + var lists = from x in Funs.DB.Check_JointCheck where x.ProjectId == this.CurrUser.LoginProjectId select x; + if (!string.IsNullOrEmpty(txtStartTime.Text.Trim())) + { + lists = lists.Where(x => x.CheckDate >= Funs.GetNewDateTime(txtStartTime.Text.Trim() + " 00:00:00")); + } + if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + { + lists = lists.Where(x => x.CheckDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim() + " 23:59:59")); + } + if (drpSponsorUnit.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.UnitId == drpSponsorUnit.SelectedValue); + } + if (drpCheckType.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.CheckType == drpCheckType.SelectedValue); + } + if (drpState.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.State == drpState.SelectedValue); + } if (lists != null) { - newUrl = uploadfilepath.Replace("质量专项检查模版.xls", "质量专项检查.xls"); + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("质量专项检查模板", "质量专项检查(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); File.Copy(uploadfilepath, newUrl); // 第一步:读取文件流 NPOI.SS.UserModel.IWorkbook workbook; @@ -453,7 +474,7 @@ namespace FineUIPro.Web.CQMS.Check NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); NPOI.SS.UserModel.IRow row = sheet.GetRow(0); NPOI.SS.UserModel.ICell cell; - int i = 1; + int i = 2; foreach (var item in lists) { // 第二步:创建新数据行 @@ -461,14 +482,11 @@ namespace FineUIPro.Web.CQMS.Check // 添加数据 cell = row.CreateCell(0); cell.CellStyle = cellStyle; - cell.SetCellValue(i.ToString());//序号 + cell.SetCellValue(item.JointCheckCode); cell = row.CreateCell(1); cell.CellStyle = cellStyle; - cell.SetCellValue(item.JointCheckCode); - cell = row.CreateCell(2); - cell.CellStyle = cellStyle; cell.SetCellValue(BLL.UnitService.GetUnitNameByUnitId(item.UnitId)); - cell = row.CreateCell(3); + cell = row.CreateCell(2); cell.CellStyle = cellStyle; string checkName = string.Empty; if (item.CheckType == "1") @@ -488,16 +506,16 @@ namespace FineUIPro.Web.CQMS.Check checkName = "专业检查"; } cell.SetCellValue(checkName); - cell = row.CreateCell(4); + cell = row.CreateCell(3); cell.CellStyle = cellStyle; cell.SetCellValue(item.CheckName); - cell = row.CreateCell(5); + cell = row.CreateCell(4); cell.CellStyle = cellStyle; cell.SetCellValue(item.CheckDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CheckDate) : ""); - cell = row.CreateCell(6); + cell = row.CreateCell(5); cell.CellStyle = cellStyle; cell.SetCellValue(BLL.UserService.GetUserNameByUserId(item.CheckMan)); - cell = row.CreateCell(7); + cell = row.CreateCell(6); cell.CellStyle = cellStyle; string state = string.Empty; if (item.State.ToString() == BLL.Const.JointCheck_ReCompile) @@ -537,7 +555,7 @@ namespace FineUIPro.Web.CQMS.Check state = "分包专工重新回复"; } cell.SetCellValue(state); - cell = row.CreateCell(8); + cell = row.CreateCell(7); cell.CellStyle = cellStyle; string userNames = string.Empty; List list = BLL.JointCheckApproveService.GetJointCheckApprovesByJointCheckId(item.JointCheckId); diff --git a/SGGL/FineUIPro.Web/CQMS/Check/JointCheckStatistics.aspx.cs b/SGGL/FineUIPro.Web/CQMS/Check/JointCheckStatistics.aspx.cs index 4159d799..3ec4559a 100644 --- a/SGGL/FineUIPro.Web/CQMS/Check/JointCheckStatistics.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/Check/JointCheckStatistics.aspx.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; using System.Web; @@ -284,67 +285,215 @@ namespace FineUIPro.Web.CQMS.Check /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("质量问题统计" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - //this.Grid1.PageSize = this.; - this.Grid1.PageSize = 10000; - BindGrid(); - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.JointCheckStatisticsTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + var lists = from x in Funs.DB.View_Check_JointCheckDetail where x.ProjectId == this.CurrUser.LoginProjectId select x; + if (drpSponsorUnit.SelectedValue != BLL.Const._Null && drpSponsorUnit.SelectedValue != null) + { + lists = lists.Where(x => x.UnitId == this.drpSponsorUnit.SelectedValue); + } + if (!string.IsNullOrEmpty(txtStartTime.Text.Trim())) + { + lists = lists.Where(x => x.CheckDate >= Funs.GetNewDateTime(txtStartTime.Text.Trim() + " 00:00:00")); + } + if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + { + lists = lists.Where(x => x.CheckDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim() + " 23:59:59")); + } + if (drpUnitWork.SelectedValue != BLL.Const._Null && drpUnitWork.SelectedValue != null) + { + lists = lists.Where(x => x.UnitWorkId == this.drpUnitWork.SelectedValue); + } + if (drpCNProfessional.SelectedValue != BLL.Const._Null && drpCNProfessional.SelectedValue != null) + { + lists = lists.Where(x => x.CNProfessionalCode == this.drpCNProfessional.SelectedValue); + } + if (drpCheckType.SelectedValue != BLL.Const._Null && drpCheckType.SelectedValue != null && drpCheckType.SelectedValue != "") + { + lists = lists.Where(x => x.CheckType == this.drpCheckType.SelectedValue); + } + if (drpState.SelectedValue != Const._Null) + { + if (drpState.SelectedValue == "1") //已闭合 + { + lists = lists.Where(x => x.OK == '1'); + } + else //未闭合 + { + lists = lists.Where(x => x.OK == '0'); + } + } + if (drpQuestionType.SelectedValue != Const._Null) + { + lists = lists.Where(x => x.QuestionType == this.drpQuestionType.SelectedValue); + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("问题统计模板", "问题统计(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(BLL.UnitService.GetUnitNameByUnitId(item.UnitId));//施工单位 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CheckDate) : ""); + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckTypeStr); + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.UnitWorkName); + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.ProfessionalName); + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.QuestionTypeStr); + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckSite); + + cell = row.CreateCell(7); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.QuestionDef); + + cell = row.CreateCell(8); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.HandleWay); + + cell = row.CreateCell(9); + cell.CellStyle = cellStyle; + string s = string.Empty; + if (!string.IsNullOrEmpty(item.JointCheckDetailId)) + { + s = ConvertState(item.JointCheckDetailId); + } + cell.SetCellValue(s); + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #pragma warning disable CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 - /// - /// 导出方法 - /// - /// - /// - private string GetGridTableHtml(Grid grid) -#pragma warning restore CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 - { - StringBuilder sb = new StringBuilder(); - sb.Append(""); - sb.Append(""); - sb.Append(""); - foreach (GridColumn column in grid.Columns) - { - if (column.ColumnID != "AttchUrl" && column.ColumnID != "ReAttachUrl") - { - sb.AppendFormat("", column.HeaderText); - } - } - sb.Append(""); - foreach (GridRow row in grid.Rows) - { - sb.Append(""); - foreach (GridColumn column in grid.Columns) - { - if (column.ColumnID != "AttchUrl" && column.ColumnID != "ReAttachUrl") - { - string html = row.Values[column.ColumnIndex].ToString(); - if (column.ColumnID == "tfPageIndex") - { - html = (row.FindControl("lblPageIndex") as AspNet.Label).Text; - } - if (column.ColumnID == "lbState") - { - html = (row.FindControl("lbState") as AspNet.Label).Text; - } - //sb.AppendFormat("", html); - sb.AppendFormat("", html); - } - } +// /// +// /// 导出方法 +// /// +// /// +// /// +// private string GetGridTableHtml(Grid grid) +//#pragma warning restore CS0108 // “PersonList.GetGridTableHtml(Grid)”隐藏继承的成员“PageBase.GetGridTableHtml(Grid)”。如果是有意隐藏,请使用关键字 new。 +// { +// StringBuilder sb = new StringBuilder(); +// sb.Append(""); +// sb.Append("
{0}
{0}{0}
"); +// sb.Append(""); +// foreach (GridColumn column in grid.Columns) +// { +// if (column.ColumnID != "AttchUrl" && column.ColumnID != "ReAttachUrl") +// { +// sb.AppendFormat("", column.HeaderText); +// } +// } +// sb.Append(""); +// foreach (GridRow row in grid.Rows) +// { +// sb.Append(""); +// foreach (GridColumn column in grid.Columns) +// { +// if (column.ColumnID != "AttchUrl" && column.ColumnID != "ReAttachUrl") +// { +// string html = row.Values[column.ColumnIndex].ToString(); +// if (column.ColumnID == "tfPageIndex") +// { +// html = (row.FindControl("lblPageIndex") as AspNet.Label).Text; +// } +// if (column.ColumnID == "lbState") +// { +// html = (row.FindControl("lbState") as AspNet.Label).Text; +// } +// //sb.AppendFormat("", html); +// sb.AppendFormat("", html); +// } +// } - sb.Append(""); - } +// sb.Append(""); +// } - sb.Append("
{0}
{0}{0}
"); +// sb.Append(""); - return sb.ToString(); - } +// return sb.ToString(); +// } #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/CheckStatisc.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReport/CheckStatisc.aspx.cs index dfba3273..89ab0863 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/CheckStatisc.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/CheckStatisc.aspx.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Web; @@ -11,6 +12,8 @@ namespace FineUIPro.Web.CQMS.ManageReport { public partial class CheckStatisc : PageBase { + private static List StatisticsList = new List(); + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { @@ -63,7 +66,8 @@ namespace FineUIPro.Web.CQMS.ManageReport DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); DateTime projectStartDate = Convert.ToDateTime("2015-01-01"); - List StatisticsList = new List(); + //List StatisticsList = new List(); + StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); if (project != null) { @@ -211,7 +215,8 @@ namespace FineUIPro.Web.CQMS.ManageReport DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); DateTime projectStartDate = Convert.ToDateTime("2015-01-01"); - List StatisticsList = new List(); + //List StatisticsList = new List(); + StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); if (project != null) { @@ -398,13 +403,108 @@ namespace FineUIPro.Web.CQMS.ManageReport /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("现场检查情况" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.CheckStatiscTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + if (StatisticsList != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("现场检查情况模板", "现场检查情况(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 3; + foreach (var item in StatisticsList) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.WorkName);//工作名称 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckNum); + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalCheckNum); + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OKNum); + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalOKNum); + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OneOKRate); + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalOneOKRate); + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } /// @@ -412,39 +512,39 @@ namespace FineUIPro.Web.CQMS.ManageReport /// /// /// - private string GetGridTableHtml(Grid grid) - { - StringBuilder sb = new StringBuilder(); - sb.Append(""); - sb.Append(""); - sb.Append(""); - grid.PageSize = 10000; - BindStatisc(); - foreach (GridColumn column in grid.Columns) - { - sb.AppendFormat("", column.HeaderText); - } - sb.Append(""); - foreach (GridRow row in grid.Rows) - { - sb.Append(""); - foreach (GridColumn column in grid.Columns) - { - string html = row.Values[column.ColumnIndex].ToString(); - if (column.ColumnID == "tfNumber") - { - html = (row.FindControl("labNumber") as AspNet.Label).Text; - } - sb.AppendFormat("", html); - } + //private string GetGridTableHtml(Grid grid) + //{ + // StringBuilder sb = new StringBuilder(); + // sb.Append(""); + // sb.Append("
{0}
{0}
"); + // sb.Append(""); + // grid.PageSize = 10000; + // BindStatisc(); + // foreach (GridColumn column in grid.Columns) + // { + // sb.AppendFormat("", column.HeaderText); + // } + // sb.Append(""); + // foreach (GridRow row in grid.Rows) + // { + // sb.Append(""); + // foreach (GridColumn column in grid.Columns) + // { + // string html = row.Values[column.ColumnIndex].ToString(); + // if (column.ColumnID == "tfNumber") + // { + // html = (row.FindControl("labNumber") as AspNet.Label).Text; + // } + // sb.AppendFormat("", html); + // } - sb.Append(""); - } + // sb.Append(""); + // } - sb.Append("
{0}
{0}
"); + // sb.Append(""); - return sb.ToString(); - } + // return sb.ToString(); + //} #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/DesignChangeStatisc.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReport/DesignChangeStatisc.aspx.cs index 2e944f5a..4bc3a73c 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/DesignChangeStatisc.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/DesignChangeStatisc.aspx.cs @@ -1,16 +1,14 @@ -using System; +using BLL; +using System; using System.Collections.Generic; +using System.IO; using System.Linq; -using System.Text; -using System.Web; -using System.Web.UI; -using System.Web.UI.WebControls; -using BLL; -using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.CQMS.ManageReport { public partial class DesignChangeStatisc : PageBase { + private static List StatisticsList = new List(); + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) @@ -52,7 +50,8 @@ namespace FineUIPro.Web.CQMS.ManageReport DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); DateTime projectStartDate = Convert.ToDateTime("2015-01-01"); - List StatisticsList = new List(); + //List StatisticsList = new List(); + StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); if (project != null) { @@ -200,13 +199,108 @@ namespace FineUIPro.Web.CQMS.ManageReport /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("现场检查情况" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.DesignChangeStatiscTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + if (StatisticsList != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("设计变更单统计模板", "设计变更单统计(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 3; + foreach (var item in StatisticsList) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.WorkName);//工作名称 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckNum); + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalCheckNum); + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OKNum); + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalOKNum); + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OneOKRate); + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalOneOKRate); + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } /// @@ -214,39 +308,39 @@ namespace FineUIPro.Web.CQMS.ManageReport /// /// /// - private string GetGridTableHtml(Grid grid) - { - StringBuilder sb = new StringBuilder(); - sb.Append(""); - sb.Append(""); - sb.Append(""); - grid.PageSize = 10000; - BindStatisc(); - foreach (GridColumn column in grid.Columns) - { - sb.AppendFormat("", column.HeaderText); - } - sb.Append(""); - foreach (GridRow row in grid.Rows) - { - sb.Append(""); - foreach (GridColumn column in grid.Columns) - { - string html = row.Values[column.ColumnIndex].ToString(); - if (column.ColumnID == "tfNumber") - { - html = (row.FindControl("labNumber") as AspNet.Label).Text; - } - sb.AppendFormat("", html); - } + //private string GetGridTableHtml(Grid grid) + //{ + // StringBuilder sb = new StringBuilder(); + // sb.Append(""); + // sb.Append("
{0}
{0}
"); + // sb.Append(""); + // grid.PageSize = 10000; + // BindStatisc(); + // foreach (GridColumn column in grid.Columns) + // { + // sb.AppendFormat("", column.HeaderText); + // } + // sb.Append(""); + // foreach (GridRow row in grid.Rows) + // { + // sb.Append(""); + // foreach (GridColumn column in grid.Columns) + // { + // string html = row.Values[column.ColumnIndex].ToString(); + // if (column.ColumnID == "tfNumber") + // { + // html = (row.FindControl("labNumber") as AspNet.Label).Text; + // } + // sb.AppendFormat("", html); + // } - sb.Append(""); - } + // sb.Append(""); + // } - sb.Append("
{0}
{0}
"); + // sb.Append(""); - return sb.ToString(); - } + // return sb.ToString(); + //} #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/HJGLStatisc.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReport/HJGLStatisc.aspx.cs index 21cecf51..a6cd63f5 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/HJGLStatisc.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/HJGLStatisc.aspx.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Web; @@ -11,6 +12,8 @@ namespace FineUIPro.Web.CQMS.ManageReport { public partial class HJGLStatisc : PageBase { + private static List StatisticsList = new List(); + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) @@ -38,7 +41,8 @@ namespace FineUIPro.Web.CQMS.ManageReport DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); DateTime projectStartDate = Convert.ToDateTime("2015-01-01"); - List StatisticsList = new List(); + //List StatisticsList = new List(); + StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); if (project != null) { @@ -147,53 +151,148 @@ namespace FineUIPro.Web.CQMS.ManageReport /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("现场检查情况" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); - } + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.HJGLStatiscTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; - /// - /// 导出方法 - /// - /// - /// - private string GetGridTableHtml(Grid grid) - { - StringBuilder sb = new StringBuilder(); - sb.Append(""); - sb.Append(""); - sb.Append(""); - grid.PageSize = 10000; - BindStatisc(); - foreach (GridColumn column in grid.Columns) + if (StatisticsList != null) { - sb.AppendFormat("", column.HeaderText); - } - sb.Append(""); - foreach (GridRow row in grid.Rows) - { - sb.Append(""); - foreach (GridColumn column in grid.Columns) + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("现场焊接无损检测情况模板", "现场焊接无损检测情况(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) { - string html = row.Values[column.ColumnIndex].ToString(); - if (column.ColumnID == "tfNumber") - { - html = (row.FindControl("labNumber") as AspNet.Label).Text; - } - sb.AppendFormat("", html); + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 3; + foreach (var item in StatisticsList) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.WorkName);//工作名称 - sb.Append(""); + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckNum); + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalCheckNum); + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OKNum); + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalOKNum); + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OneOKRate); + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalOneOKRate); + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); } - - sb.Append("
{0}
{0}
"); - - return sb.ToString(); } + + ///// + ///// 导出方法 + ///// + ///// + ///// + //private string GetGridTableHtml(Grid grid) + //{ + // StringBuilder sb = new StringBuilder(); + // sb.Append(""); + // sb.Append(""); + // sb.Append(""); + // grid.PageSize = 10000; + // BindStatisc(); + // foreach (GridColumn column in grid.Columns) + // { + // sb.AppendFormat("", column.HeaderText); + // } + // sb.Append(""); + // foreach (GridRow row in grid.Rows) + // { + // sb.Append(""); + // foreach (GridColumn column in grid.Columns) + // { + // string html = row.Values[column.ColumnIndex].ToString(); + // if (column.ColumnID == "tfNumber") + // { + // html = (row.FindControl("labNumber") as AspNet.Label).Text; + // } + // sb.AppendFormat("", html); + // } + + // sb.Append(""); + // } + + // sb.Append("
{0}
{0}
"); + + // return sb.ToString(); + //} #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReport/NCRStatisc.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReport/NCRStatisc.aspx.cs index feac56fa..53c5a5d6 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReport/NCRStatisc.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReport/NCRStatisc.aspx.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Web; @@ -11,6 +12,8 @@ namespace FineUIPro.Web.CQMS.ManageReport { public partial class NCRStatisc : PageBase { + private static List StatisticsList = new List(); + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { @@ -51,7 +54,8 @@ namespace FineUIPro.Web.CQMS.ManageReport DateTime startDate = Convert.ToDateTime(this.txtStartDate.Text.Trim()); DateTime endDate = Convert.ToDateTime(this.txtEndDate.Text.Trim()); //DateTime projectStartDate = Convert.ToDateTime("2015-01-01"); - List StatisticsList = new List(); + //List StatisticsList = new List(); + StatisticsList = new List(); //Model.Base_Project project = BLL.ProjectService.getProjectByProjectId(this.CurrUser.LoginProjectId); //if (project != null) //{ @@ -164,13 +168,103 @@ namespace FineUIPro.Web.CQMS.ManageReport /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("现场检查情况" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.NCRStatiscTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + if (StatisticsList != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("NCR统计模板", "NCR统计(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in StatisticsList) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.WorkName);//工作名称 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckNum); + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OKNum); + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.NotOKNum); + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OKRate); + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.Remark); + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } /// @@ -178,39 +272,39 @@ namespace FineUIPro.Web.CQMS.ManageReport /// /// /// - private string GetGridTableHtml(Grid grid) - { - StringBuilder sb = new StringBuilder(); - sb.Append(""); - sb.Append(""); - sb.Append(""); - grid.PageSize = 10000; - BindStatisc(); - foreach (GridColumn column in grid.Columns) - { - sb.AppendFormat("", column.HeaderText); - } - sb.Append(""); - foreach (GridRow row in grid.Rows) - { - sb.Append(""); - foreach (GridColumn column in grid.Columns) - { - string html = row.Values[column.ColumnIndex].ToString(); - if (column.ColumnID == "tfNumber") - { - html = (row.FindControl("labNumber") as AspNet.Label).Text; - } - sb.AppendFormat("", html); - } + //private string GetGridTableHtml(Grid grid) + //{ + // StringBuilder sb = new StringBuilder(); + // sb.Append(""); + // sb.Append("
{0}
{0}
"); + // sb.Append(""); + // grid.PageSize = 10000; + // BindStatisc(); + // foreach (GridColumn column in grid.Columns) + // { + // sb.AppendFormat("", column.HeaderText); + // } + // sb.Append(""); + // foreach (GridRow row in grid.Rows) + // { + // sb.Append(""); + // foreach (GridColumn column in grid.Columns) + // { + // string html = row.Values[column.ColumnIndex].ToString(); + // if (column.ColumnID == "tfNumber") + // { + // html = (row.FindControl("labNumber") as AspNet.Label).Text; + // } + // sb.AppendFormat("", html); + // } - sb.Append(""); - } + // sb.Append(""); + // } - sb.Append("
{0}
{0}
"); + // sb.Append(""); - return sb.ToString(); - } + // return sb.ToString(); + //} #endregion } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs index b76527ed..b11d0dba 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/CheckManStatistics.aspx.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Web.UI.WebControls; @@ -13,6 +14,8 @@ namespace FineUIPro.Web.CQMS.ProcessControl public int SunNumber; + private static List StatisticsList = new List(); + /// /// 加载页面 /// @@ -43,7 +46,7 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// public void BindGvInspectionManagement() { - List StatisticsList = new List(); + //List StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); StartDate = Convert.ToDateTime(project.StartDate); EndDate = DateTime.Now; @@ -85,15 +88,87 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("检查人检查次数统计" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.gvCheckManStatistics.PageSize = gvCheckManStatistics.RecordCount; - BindGvInspectionManagement(); - Response.Write(GetGridTableHtml2(gvCheckManStatistics)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.CheckManStatisticsTemlUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + if (StatisticsList != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("检查人检查次数统计模板", "检查人检查次数统计(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in StatisticsList) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.WorkName);//姓名 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CheckNum);//检查次数 + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs index 36a990c5..acf0782d 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/HotProessManage.aspx.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; @@ -241,15 +242,131 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("热处理检测" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - this.BindGrid(); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.HotProessManageTempUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + var lists = (from x in Funs.DB.ProcessControl_HotProessManage + where x.ProjectId == this.CurrUser.LoginProjectId + select x); + if (!string.IsNullOrEmpty(txtPipelineManageCode.Text)) + { + lists = lists.Where(x=>x.PipelineManageCode.Contains(this.txtPipelineManageCode.Text.Trim())); + } + if (!string.IsNullOrEmpty(txtJointInfoCode.Text)) + { + lists = lists.Where(x => x.JointInfoCode.Contains(this.txtJointInfoCode.Text.Trim())); + } + if (!string.IsNullOrEmpty(txtHotHardManageCode.Text)) + { + lists = lists.Where(x => x.HotHardManageCode.Contains(this.txtHotHardManageCode.Text.Trim())); + } + if (!string.IsNullOrEmpty(txtHotProessReportCode.Text)) + { + lists = lists.Where(x => x.HotProessReportCode.Contains(this.txtHotProessReportCode.Text.Trim())); + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("热处理检测模板", "热处理检测(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.PipelineManageCode);//管线号 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.JointInfoCode);//焊口号 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + string steName = string.Empty; + if (!string.IsNullOrEmpty(item.STE_ID)) + { + var ste = BLL.SteelService.GetSteelBySteID(item.STE_ID); + if (ste!=null) + { + steName = ste.STE_Name; + } + } + cell.SetCellValue(steName);//材质 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.Specification);//规格 + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.HotProessReportCode);//热处理报告编号 + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.HotHardManageCode);//硬度检测报告编号 + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #endregion } diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs index c00eba2c..a9d4f145 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagement.aspx.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; @@ -240,15 +241,149 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("控制点检查检测" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - this.BindGrid(); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.InspectionManagementTempUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + var lists = (from x in Funs.DB.ProcessControl_InspectionManagementDetail + join y in Funs.DB.ProcessControl_InspectionManagement + on x.InspectionId equals y.InspectionId + where y.ProjectId == this.CurrUser.LoginProjectId + select y); + if (drpUnitWork.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.UnitWorkId == drpUnitWork.SelectedValue); + } + if (drpCNProfessional.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.CNProfessionalId == drpCNProfessional.SelectedValue); + } + if (!string.IsNullOrEmpty(txtStarTime.Text.Trim())) + { + lists = lists.Where(x => x.InspectionDate >= Funs.GetNewDateTime(txtStarTime.Text.Trim())); + } + if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + { + lists = lists.Where(x => x.InspectionDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim())); + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("控制点检查检测模板", "控制点检查检测(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + string unitName = string.Empty; + if (!string.IsNullOrEmpty(item.UnitId)) + { + unitName = BLL.UnitService.GetUnitNameByUnitId(item.UnitId); + } + cell.SetCellValue(unitName);//施工分包商 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + string proName = string.Empty; + var cnp = BLL.CNProfessionalService.GetCNProfessional(item.CNProfessionalId); + if (cnp != null) + { + proName = cnp.ProfessionalName; + } + cell.SetCellValue(proName);//专业 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.NoticeCode);//共检通知单编号 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.AcceptanceSite);//验收部位 + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + string userName = string.Empty; + if (!string.IsNullOrEmpty(item.AcceptanceCheckMan)) + { + userName = ConvertCheckMan(item.AcceptanceCheckMan); + } + cell.SetCellValue(userName);//检查人 + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.IsOnceQualified == true ? "是" : "否");//是否一次合格 + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.InspectionCode);//报验编号 + + cell = row.CreateCell(7); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.InspectionDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.InspectionDate) : "");//验收日期 + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #endregion diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs index e197618a..dd91818a 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionManagementStatistics.aspx.cs @@ -1,6 +1,7 @@ using BLL; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Web; @@ -17,6 +18,8 @@ namespace FineUIPro.Web.CQMS.ProcessControl public DateTime EndDate; public int SunNumber; + + private static List StatisticsList = new List(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) @@ -45,7 +48,8 @@ namespace FineUIPro.Web.CQMS.ProcessControl { if (string.IsNullOrEmpty(this.txtStartTime.Text.Trim()) && string.IsNullOrEmpty(this.txtEndTime.Text.Trim())) //未选择日期,统计项目开始起的每月数据 { - List StatisticsList = new List(); + StatisticsList = new List(); + //List StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); StartDate = Convert.ToDateTime(project.StartDate); for (int i = 0; i < i + 1; i++) @@ -303,7 +307,8 @@ namespace FineUIPro.Web.CQMS.ProcessControl } else //选择日期,统计对应时间段内的数据 { - List StatisticsList = new List(); + StatisticsList = new List(); + //List StatisticsList = new List(); Model.Base_Project project = BLL.ProjectService.GetProjectByProjectId(this.CurrUser.LoginProjectId); StartDate = Convert.ToDateTime(project.StartDate); EndDate = DateTime.Now; @@ -370,23 +375,131 @@ namespace FineUIPro.Web.CQMS.ProcessControl protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("控制点检查检测合格率统计" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - //if (this.drpCNProfessional.SelectedValue != BLL.Const._Null) - //{ - // BindGvInspectionManagement(this.drpCNProfessional.SelectedValue); - //} - //else - //{ - // BindGvInspectionManagement(null); - //} - BindGvInspectionManagement(this.drpZhType.SelectedValue, this.drpCNProfessional.SelectedValue); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + //Response.ClearContent(); + //string filename = Funs.GetNewFileName(); + //Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("控制点检查检测合格率统计" + filename, System.Text.Encoding.UTF8) + ".xls"); + //Response.ContentType = "application/excel"; + //Response.ContentEncoding = Encoding.UTF8; + //this.Grid1.PageSize = Grid1.RecordCount; + ////if (this.drpCNProfessional.SelectedValue != BLL.Const._Null) + ////{ + //// BindGvInspectionManagement(this.drpCNProfessional.SelectedValue); + ////} + ////else + ////{ + //// BindGvInspectionManagement(null); + ////} + //BindGvInspectionManagement(this.drpZhType.SelectedValue, this.drpCNProfessional.SelectedValue); + //Response.Write(GetGridTableHtml2(Grid1)); + //Response.End(); + + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.InspectionManagementStaticTempUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + if (StatisticsList != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("控制点检查检测合格率统计模板", "控制点检查检测合格率统计(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in StatisticsList) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(string.Format("{0:yyyy-MM-dd}", item.CheckDate));//日期 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + string oneN = string.Empty; + if (!string.IsNullOrEmpty(item.OneStatisticsSunNumber.ToString())) + { + oneN = item.OneStatisticsSunNumber.ToString(); + } + else + { + oneN = "0"; + } + cell.SetCellValue(oneN);//一次合格数 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + string sumN = string.Empty; + if (!string.IsNullOrEmpty(item.SunNumber.ToString())) + { + sumN = item.SunNumber.ToString(); + } + else + { + sumN = "0"; + } + cell.SetCellValue(sumN);//总数 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.OneStatistics);//一次合格率 + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } /// diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.cs index 2844da6a..421e60bf 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/InspectionNotice.aspx.cs @@ -264,15 +264,136 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("共检通知单" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - this.BindGrid(); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.InspectionNoticesTempUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + var lists = (from x in Funs.DB.ProcessControl_InspectionManagementDetail + join y in Funs.DB.ProcessControl_InspectionManagement + on x.InspectionId equals y.InspectionId + where y.ProjectId == this.CurrUser.LoginProjectId + select y); + if (drpUnitWork.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.UnitWorkId == drpUnitWork.SelectedValue); + } + if (drpCNProfessional.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.CNProfessionalId == drpCNProfessional.SelectedValue); + } + if (!string.IsNullOrEmpty(txtStarTime.Text.Trim())) + { + lists = lists.Where(x => x.InspectionDate >= Funs.GetNewDateTime(txtStarTime.Text.Trim())); + } + if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + { + lists = lists.Where(x => x.InspectionDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim())); + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("共检通知单模板", "共检通知单(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + string unitName = string.Empty; + if (!string.IsNullOrEmpty(item.UnitId)) + { + unitName = BLL.UnitService.GetUnitNameByUnitId(item.UnitId); + } + cell.SetCellValue(unitName);//施工分包商 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + string proName = string.Empty; + var cnp = BLL.CNProfessionalService.GetCNProfessional(item.CNProfessionalId); + if (cnp != null) + { + proName = cnp.ProfessionalName; + } + cell.SetCellValue(proName);//专业 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.NoticeCode);//共检通知单编号 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.AcceptanceSite);//验收部位 + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + string userName = string.Empty; + if (!string.IsNullOrEmpty(item.AcceptanceCheckMan)) + { + userName = ConvertCheckMan(item.AcceptanceCheckMan); + } + cell.SetCellValue(userName);//检查人 + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #endregion diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest_New.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest_New.aspx.cs index aa28e455..15f2fd7a 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest_New.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/NondestructiveTest_New.aspx.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; @@ -230,15 +231,128 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("无损检测管理" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - this.BindGrid(); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.NondestructiveTestTempUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + var lists = (from x in Funs.DB.ProcessControl_NondestructiveTest_New + where x.ProjectId == this.CurrUser.LoginProjectId + select x); + if (this.drpUnit.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.UnitId == drpUnit.SelectedValue); + } + if (!string.IsNullOrEmpty(txtStarTime.Text.Trim())) + { + lists = lists.Where(x => x.CreateDate >= Funs.GetNewDateTime(txtStarTime.Text.Trim())); + } + if (!string.IsNullOrEmpty(txtEndTime.Text.Trim())) + { + lists = lists.Where(x => x.CreateDate <= Funs.GetNewDateTime(txtEndTime.Text.Trim())); + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("无损检测管理模板", "无损检测管理(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + string unitName = string.Empty; + if (!string.IsNullOrEmpty(item.UnitId)) + { + unitName = BLL.UnitService.GetUnitNameByUnitId(item.UnitId); + } + cell.SetCellValue(unitName);//施工分包商 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.ProfessionalName);//专业 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.MonthQuantity.HasValue ? item.MonthQuantity.ToString() : "");//本月拍片数 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalQuantity.HasValue ? item.TotalQuantity.ToString() : "");//累计拍片数 + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.MonthRate);//本月一次合格率 + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TotalRate);//累计一次合格率 + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CreateDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CreateDate) : "");//创建日期 + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #endregion } diff --git a/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.cs index 7b9eca2d..ba811d35 100644 --- a/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ProcessControl/TestPackageManagement.aspx.cs @@ -3,6 +3,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; +using System.IO; using System.Linq; using System.Text; @@ -221,15 +222,128 @@ namespace FineUIPro.Web.CQMS.ProcessControl /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("管道试压包管理" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = Encoding.UTF8; - this.Grid1.PageSize = Grid1.RecordCount; - this.BindGrid(); - Response.Write(GetGridTableHtml2(Grid1)); - Response.End(); + string rootPath = Server.MapPath("~/"); + string initTemplatePath = Const.TestPackageMangementTempUrl; + string uploadfilepath = string.Empty; + string newUrl = string.Empty; + uploadfilepath = rootPath + initTemplatePath; + + var lists = (from x in Funs.DB.ProcessControl_TestPackageManagement + where x.ProjectId == this.CurrUser.LoginProjectId + select x); + if (drpUnitWork.SelectedValue != BLL.Const._Null) + { + lists = lists.Where(x => x.UnitWorkId == drpUnitWork.SelectedValue); + } + if (!string.IsNullOrEmpty(drpCompletedState.Text.Trim())) + { + lists = lists.Where(x => x.CompletedState == drpCompletedState.SelectedValue); + } + if (lists != null) + { + string projectName = BLL.ProjectService.GetShortNameByProjectId(this.CurrUser.LoginProjectId); + newUrl = uploadfilepath.Replace("管道试压包管理模板", "管道试压包管理(" + projectName + DateTime.Now.ToString("yyyyMMdd") + ")"); + File.Copy(uploadfilepath, newUrl); + // 第一步:读取文件流 + NPOI.SS.UserModel.IWorkbook workbook; + using (FileStream stream = new FileStream(newUrl, FileMode.Open, FileAccess.Read)) + { + //workbook = new NPOI.XSSF.UserModel.XSSFWorkbook(stream); + workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(stream); + } + // 创建单元格样式 + NPOI.SS.UserModel.ICellStyle cellStyle = workbook.CreateCellStyle(); + cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font = workbook.CreateFont(); + font.FontHeightInPoints = 11; + cellStyle.SetFont(font); + NPOI.SS.UserModel.ICellStyle cellStyle0 = workbook.CreateCellStyle(); + cellStyle0.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin; + cellStyle0.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; + cellStyle0.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; + var font0 = workbook.CreateFont(); + font0.FontHeightInPoints = 12; + font0.IsBold = true; + cellStyle0.SetFont(font0); + // 第二步:创建新数据行 + NPOI.SS.UserModel.ISheet sheet = workbook.GetSheetAt(0); + NPOI.SS.UserModel.IRow row = sheet.GetRow(0); + NPOI.SS.UserModel.ICell cell; + int i = 2; + foreach (var item in lists) + { + // 第二步:创建新数据行 + row = sheet.CreateRow(i); + // 添加数据 + cell = row.CreateCell(0); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TestPackageManagementCode);//试压包编号 + + cell = row.CreateCell(1); + cell.CellStyle = cellStyle; + string unitWorkName = string.Empty; + if (!string.IsNullOrEmpty(item.UnitWorkId)) + { + var unitWork = BLL.UnitWorkService.GetUnitWorkByUnitWorkId(item.UnitWorkId); + if (unitWork != null) + { + unitWorkName = unitWork.UnitWorkName; + } + } + cell.SetCellValue(unitWorkName);//单位工程名称 + + cell = row.CreateCell(2); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.TestPressure);//试验压力 + + cell = row.CreateCell(3); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.PlanTestDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.PlanTestDate) : "");//计划实验日期 + + cell = row.CreateCell(4); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CompletedDate.HasValue ? string.Format("{0:yyyy-MM-dd}", item.CompletedDate) : "");//实验完成日期 + + cell = row.CreateCell(5); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.CompletedState == "1" ? "已完成" : "未完成");//完成状态 + + cell = row.CreateCell(6); + cell.CellStyle = cellStyle; + cell.SetCellValue(item.Remark);//备注 + + i++; + } + // 第三步:写入文件流 + using (FileStream stream = new FileStream(newUrl, FileMode.Create, FileAccess.Write)) + { + workbook.Write(stream); + workbook.Close(); + } + string fileName = Path.GetFileName(newUrl); + FileInfo info = new FileInfo(newUrl); + long fileSize = info.Length; + Response.Clear(); + Response.ContentType = "application/x-zip-compressed"; + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.AddHeader("Content-Length", fileSize.ToString()); + Response.TransmitFile(newUrl, 0, fileSize); + Response.Flush(); + Response.Close(); + File.Delete(newUrl); + } + else + { + Alert.ShowInTop("当前无记录,无法导出!", MessageBoxIcon.Warning); + } } #endregion } diff --git a/SGGL/FineUIPro.Web/ErrLog.txt b/SGGL/FineUIPro.Web/ErrLog.txt index bdfcd93c..e69de29b 100644 --- a/SGGL/FineUIPro.Web/ErrLog.txt +++ b/SGGL/FineUIPro.Web/ErrLog.txt @@ -1,277 +0,0 @@ - -错误信息开始=====> -错误类型:HttpCompileException -错误信息:e:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\DesignChangeOrder.aspx(42): error CS1061: “ASP.cqms_comprehensive_designchangeorder_aspx”不包含“btnOut_Click”的定义,并且找不到可接受类型为“ASP.cqms_comprehensive_designchangeorder_aspx”的第一个参数的扩展方法“btnOut_Click”(是否缺少 using 指令或程序集引用?) -错误堆栈: - 在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) - 在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) - 在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) - 在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) - 在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() - 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) - 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) -出错时间:04/29/2024 22:26:31 -出错文件:http://localhost:8579/CQMS/Comprehensive/DesignChangeOrder.aspx -IP地址:::1 - -出错时间:04/29/2024 22:26:31 - - -错误信息开始=====> -错误类型:InvalidOperationException -错误信息:序列不包含任何元素 -错误堆栈: - 在 FineUIPro.Web.CQMS.Comprehensive.DesignChangeOrderDataIn.ImportXlsToData2(String fileName) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\DesignChangeOrderDataIn.aspx.cs:行号 398 - 在 FineUIPro.Web.CQMS.Comprehensive.DesignChangeOrderDataIn.btnImport_Click(Object sender, EventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\DesignChangeOrderDataIn.aspx.cs:行号 341 - 在 FineUIPro.Button.OnClick(EventArgs e) - 在 (Button , EventArgs ) - 在 FineUIPro.Button.RaisePostBackEvent(String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/29/2024 22:58:57 -出错文件:http://localhost:8579/CQMS/Comprehensive/DesignChangeOrderDataIn.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/29/2024 22:58:57 - - -错误信息开始=====> -错误类型:IOException -错误信息:文件“E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\File\Excel\DataIn\现场签证管理导入模板.xls”正由另一进程使用,因此该进程无法访问此文件。 -错误堆栈: - 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) - 在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) - 在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) - 在 System.Web.HttpResponse.TransmitFile(String filename, Int64 offset, Int64 length) - 在 FineUIPro.Web.CQMS.Comprehensive.SiteVisaManagementDataIn.PageManager1_CustomEvent(Object sender, CustomEventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\SiteVisaManagementDataIn.aspx.cs:行号 482 - 在 FineUIPro.PageManager.OnCustomEvent(CustomEventArgs e) - 在 (PageManager , CustomEventArgs ) - 在 FineUIPro.PageManager.RaisePostBackEvent(String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/29/2024 23:40:23 -出错文件:http://localhost:8579/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/29/2024 23:40:23 - - -错误信息开始=====> -错误类型:IOException -错误信息:文件“E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\File\Excel\DataIn\现场签证管理导入模板.xls”正由另一进程使用,因此该进程无法访问此文件。 -错误堆栈: - 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) - 在 System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) - 在 System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) - 在 System.Web.HttpResponse.TransmitFile(String filename, Int64 offset, Int64 length) - 在 FineUIPro.Web.CQMS.Comprehensive.SiteVisaManagementDataIn.PageManager1_CustomEvent(Object sender, CustomEventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\SiteVisaManagementDataIn.aspx.cs:行号 482 - 在 FineUIPro.PageManager.OnCustomEvent(CustomEventArgs e) - 在 (PageManager , CustomEventArgs ) - 在 FineUIPro.PageManager.RaisePostBackEvent(String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/29/2024 23:41:10 -出错文件:http://localhost:8579/CQMS/Comprehensive/SiteVisaManagementDataIn.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/29/2024 23:41:10 - - -错误信息开始=====> -错误类型:IOException -错误信息:文件“E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\File\Excel\DataIn\设计交底管理导入模板.xls”已经存在。 -错误堆栈: - 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) - 在 System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost) - 在 System.IO.File.Copy(String sourceFileName, String destFileName) - 在 FineUIPro.Web.Comprehensive.DesignDetails.btnOut_Click(Object sender, EventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\DesignDetails.aspx.cs:行号 342 - 在 FineUIPro.Button.OnClick(EventArgs e) - 在 (Button , EventArgs ) - 在 FineUIPro.Button.RaisePostBackEvent(String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/30/2024 10:12:33 -出错文件:http://localhost:8579/CQMS/Comprehensive/DesignDetails.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/30/2024 10:12:33 - - -错误信息开始=====> -错误类型:DirectoryNotFoundException -错误信息:未能找到路径“E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\File\Excel\DataIn\设备材料报验(史丹利新能源材料前驱体磷酸铁项目及配套工程30万吨/年湿法磷酸装置及氨站20240430).xls”的一部分。 -错误堆栈: - 在 System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) - 在 System.IO.File.InternalCopy(String sourceFileName, String destFileName, Boolean overwrite, Boolean checkHost) - 在 System.IO.File.Copy(String sourceFileName, String destFileName) - 在 FineUIPro.Web.Comprehensive.InspectionEquipment.btnOut_Click(Object sender, EventArgs e) 位置 E:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\InspectionEquipment.aspx.cs:行号 314 - 在 FineUIPro.Button.OnClick(EventArgs e) - 在 (Button , EventArgs ) - 在 FineUIPro.Button.RaisePostBackEvent(String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) - 在 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) - 在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) -出错时间:04/30/2024 15:20:59 -出错文件:http://localhost:8579/CQMS/Comprehensive/InspectionEquipment.aspx -IP地址:::1 -操作人员:JT - -出错时间:04/30/2024 15:20:59 - - -错误信息开始=====> -错误类型:ArgumentException -错误信息:提供的 URI 方案“http”无效,应为“https”。 -参数名: via -错误堆栈: - 在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannelInternal() - 在 System.ServiceModel.ClientBase`1.get_Channel() - 在 BLL.CNCECHSSEService.HSSEServiceClient.GetSupervise_SubUnitReportListToSUB() 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\Service References\CNCECHSSEService\Reference.cs:行号 14204 - 在 BLL.CNCECHSSEWebService.getSupervise_SubUnitReport() 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 2181 -出错时间:04/30/2024 19:18:03 -出错时间:04/30/2024 19:18:03 - - -错误信息开始=====> -错误类型:ArgumentException -错误信息:提供的 URI 方案“http”无效,应为“https”。 -参数名: via -错误堆栈: - 在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannelInternal() - 在 System.ServiceModel.ClientBase`1.get_Channel() - 在 BLL.CNCECHSSEService.HSSEServiceClient.GetCheck_CheckInfo_Table8ItemListToSUB(String unitId) 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\Service References\CNCECHSSEService\Reference.cs:行号 14228 - 在 BLL.CNCECHSSEWebService.getCheck_CheckInfo_Table8Item() 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 2046 -出错时间:04/30/2024 19:18:03 -出错时间:04/30/2024 19:18:03 - - -错误信息开始=====> -错误类型:ArgumentException -错误信息:提供的 URI 方案“http”无效,应为“https”。 -参数名: via -错误堆栈: - 在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannelInternal() - 在 System.ServiceModel.ClientBase`1.get_Channel() - 在 BLL.CNCECHSSEService.HSSEServiceClient.GetCheck_CheckRectifyListToSUB(String unitId) 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\Service References\CNCECHSSEService\Reference.cs:行号 14220 - 在 BLL.CNCECHSSEWebService.getCheck_CheckRectify() 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 1942 -出错时间:04/30/2024 19:18:03 -出错时间:04/30/2024 19:18:03 - - -错误信息开始=====> -错误类型:ArgumentException -错误信息:提供的 URI 方案“http”无效,应为“https”。 -参数名: via -错误堆栈: - 在 System.ServiceModel.Channels.TransportChannelFactory`1.ValidateScheme(Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.ValidateCreateChannelParameters(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.HttpsChannelFactory`1.OnCreateChannelCore(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.HttpChannelFactory`1.OnCreateChannel(EndpointAddress remoteAddress, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.InternalCreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ChannelFactoryBase`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.ServiceChannelFactoryOverRequest.CreateInnerChannelBinder(EndpointAddress to, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateServiceChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.Channels.ServiceChannelFactory.CreateChannel(Type channelType, EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel(EndpointAddress address, Uri via) - 在 System.ServiceModel.ChannelFactory`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannel() - 在 System.ServiceModel.ClientBase`1.CreateChannelInternal() - 在 System.ServiceModel.ClientBase`1.get_Channel() - 在 BLL.CNCECHSSEService.HSSEServiceClient.GetInformation_UrgeReportToSUB(String unitId) 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\Service References\CNCECHSSEService\Reference.cs:行号 14020 - 在 BLL.CNCECHSSEWebService.getInformation_UrgeReport() 位置 E:\五环\SGGL_CWCEC\SGGL\BLL\WebService\CNCECHSSEWebService.cs:行号 1884 -出错时间:04/30/2024 19:18:03 -出错时间:04/30/2024 19:18:03 - - -错误信息开始=====> -错误类型:HttpCompileException -错误信息:e:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\DesignDrawings.aspx(38): error CS1061: “ASP.cqms_comprehensive_designdrawings_aspx”不包含“btnOut_Click”的定义,并且找不到可接受类型为“ASP.cqms_comprehensive_designdrawings_aspx”的第一个参数的扩展方法“btnOut_Click”(是否缺少 using 指令或程序集引用?) -错误堆栈: - 在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) - 在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) - 在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) - 在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) - 在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() - 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) - 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) -出错时间:04/30/2024 22:19:41 -出错文件:http://localhost:8579/CQMS/Comprehensive/DesignDrawings.aspx -IP地址:::1 - -出错时间:04/30/2024 22:19:41 - - -错误信息开始=====> -错误类型:HttpCompileException -错误信息:e:\五环\SGGL_CWCEC\SGGL\FineUIPro.Web\CQMS\Comprehensive\ReviewDrawings.aspx(34): error CS1061: “ASP.cqms_comprehensive_reviewdrawings_aspx”不包含“btnOut_Click”的定义,并且找不到可接受类型为“ASP.cqms_comprehensive_reviewdrawings_aspx”的第一个参数的扩展方法“btnOut_Click”(是否缺少 using 指令或程序集引用?) -错误堆栈: - 在 System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) - 在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) - 在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) - 在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) - 在 System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) - 在 System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() - 在 System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) - 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) -出错时间:04/30/2024 22:58:46 -出错文件:http://localhost:8579/CQMS/Comprehensive/ReviewDrawings.aspx -IP地址:::1 - -出错时间:04/30/2024 22:58:46 - diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/NCR统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/NCR统计模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..2b2ee259039d6c6b6017759fa3afc16d0189a8b0 GIT binary patch literal 20992 zcmeHP2Urxzwyp`lARs|Ng20dwkQ@yp#jJ=4T@e96!Gt0rs4OTbqO1yL7qgfZa}Fpf z26TlL1L_K5c2zK8WZpU5G&4-P=y$*SzJ2f3P+eW8&iU)qsn8X=x&DV{<@&t_RYc7B z5DuvqC=*2yIt%X6Q%-{rbGX5Hy+9zKiG;xIf89UG0^dPbE2umUcrJJa@L1LQR#fH0mUgY}#5bfLvC1!sd8pNCgM3aKmU zN(c0{@NLAv!)q#777+Erh6XMKa*rotNhGDmSep0)S1rP3G5KTI98uJ8z8}pQNCra5 zlc3~XNCaFXngbxhqYe49AddZ~x%s2`G}=sHy#Ztj84te*%Jw~=7DiDvK}rINh5HF8 zAj8=-lpp(UbMwdk%nanpJm|%W3go!jRi!g&ETRaVzlyNQ9_|^q67mpyD47WTp5;%X zK+RZCCzed6nhGk2)yMz$y8udu2o~y42nO!NQUsORU}t?wFQ|7&X+>QND6SLKwG%ZO z5wg46BSSCXz=958`%!$qQCBnS+7hlTa+s2-peW8Te$@cKAaxN|D47G6oj+_q5Yq4c zo9KRkEJ!_psyD%>^OdAyzN!TEVKw1Ly0#2@3yR(pKL!vyq|om{$y-aI+f)3K`fz2? zQ6CQ?$&Yj&DfmeDmBH^WgRU%t?k)qLCxc&82ET?3dPf;_Wf^py7~Pm_2fe%%VVRM~ z0yCI2*@HJHPNV~&DWRmD2-TSD4i8{GY3##De-aIyaJURXPk3tUOA0zbUb1qd(~P

{+QOZ%yh!grnx-}_yEG0nu#OoeMa%k8_r}~1(iVPH zX0ozDx~vQ^O%`-AR8f1`<)DizP1mNG$>yUo_JuAWL}AJ`n%EI%Y2^}!lPsMy4tZHQ zLf_XRtWaXnq?X!3Erk*r@S^lku(mPR8(OA;bP-`2ktN&#TBo77Fr&2eToG&*WW(epGlbyaj#2-kpWC%7tN z_>qUf!I_mbIA^DgCkKGxXCYr%eb~nWE!rj-k{1G#yuXG=0=4n%|S+$5kIizd^#`78ZK6 zKDZKWphpnm)L1TD9a8iIaD$F(OX1*(u_?VBMaNZSQ@R~R2S72p6Gg|>W>bEXAEfKa zz;}~@L$?RXd}%w&qD$)U`h)ni9h#5tEd!snza)+fSILp8{ltH(bOP92dkqmxW z_NUvAWVvV@Tzs-{rQoHhDLM``i_R5}8@N*pM$#IW!3_dQVmV;HQh>c3I){Dx z_B9H$kU~?ELgPuHaT{m?K}jQ?q_SAILS=!mkyl3Puo7tjTx6qX915@`bHM#3VGgOO zsp2{Ki~vb2fJ^LG#MaPO+W<2 zk|23R@n3;hHwAf_*C@a=%e;_(sfkS^h%B1`L!*;XoVLI~+k``+NByK>ZACyzdjBMd zod}5ZQLq_RY%c;rpKAbta?GI4#4(g%lXj3Kv`NFBH6_P@G(!^y5s;GJKMCR}0^;KO zlORqaAoMv8RTj7~#bM$Y%CLzuBnfSTQys=JAkDCe3&=1aCB1(V#8m{u#q}pa+(ba= zb1(7YFmViJ*u))@nBqi_QWBB)0h@S;fRyz9Nf1vF5Es{<1o099q0a%C5;4VL;uy-X zi8mw(Z6Z3uWk8zIPTGrrl=S{dkPadsF0MZb(oqD2J{JW7<(T3yaSUbHq!T0wZGzhf zjAKBWVG|#aVL(cH|0Ia72#AYovp^QJVLVSGf?S>f$rZ689DoVf#4GGv78VA%G}1T% z3^miZRH&7vK!vT+6sb@xo#!WS1s|dJ+Nu@=Usgom?Qp}1K66hRtK*toCRULLRU}aIAbveg6 zoW|#i;kyeIh%lW|$`F-896s#fN+`wA0Hv5zMx>2U#6^mTW}^s>m}p%!I74sD#Z`)k zR-*`xkF91T%K8BXY-E*3A04wkSMTN|u}DGV#0X8j_CRfl5z(#UFx ztn245pDu~23#^zzqpHL9Jk&v9%;V9626PVY7?aBruY=Z52f}nl%pAq)m*kI>C8h^r z!gQt#7N}UaaUH@X6yxZFVwgg+DiKRq^RrTh=JNEwlt`oR><~x zxFnk)u)Q8mvndm6%$U8XU0;ceS#2O=OrcqIU{9V$SnWq}vNNMYhUKk@pG7w_tEOsj zjRZU*&P79*!X|!8!g7K0AWOoBlNG)MV=fPyA+pns#WfbRgkv4q63DlhZ3>4!0PQA+ zQ4-n&pyf$0&~^yz@k7vjfR-mgL+ij%kAzLp0OB?^m9Qz(A5FoGa&3xm;x;vtYf~Y# zgM6DxgEp6IQz5jYe49#xwvcO623iN|Ny4T$P>I{rQo^RpfMp89r(ByNoVZP`fPx&^L25m3brVO+W@shNuyA+$YldvgH_vt~;TfR*ZPTZyra&0Pv zZZF@a(x4sX+EfVLLB36;K|9H{DFdxTI!fBqLyAqEC2WeTAKIp!f zANe+w2JI@>rb1|6`8JgX?IzczH1tTGE*UBEJl3VmgqLN!7pludQjpfK7l%u|-bFI| zKJ-Hh<8XDH5EDH<+EF$S9!JtVLQZX<@hG&h$;)(8AT|#?Zgz`uQulo#CPa*mj(12J zKTfTrPm3bHhF?|6`l*ZVc#b@76BxPg%I@PIN#{HR|KfFJYwzBAT%GQD?SXdr@4eK9 z+UF^$&5OS3F!ylH4ErsHTPwP^Id4C%s#xdA^CZ1X2YzeypvT3@!71kDi)QaSc%Ogs zpk2A?8~giVM=i#5n%^zt*`IZ79|pd(vueTi`p&`v3f0c|@>TT{?3bK^g9kL8gxb!i z@T;L$7aF>2pEj@c&3^LNYm2MJiRI%Cetr=!_3og>hhCKS$jdhTBPpuG@vCYFyIELt z@ef^eWRjm>{@{oG>sQS-v*|BTSo7-AxxQ^S=w_@N)7N#)gXzDToUZ$pV;5p#;pTNd zRAZUP*|PICsuSBsndkO3sCxBl-Ps9xysR?K4ff}Mo46n_X^P-`-R^ar^sBi_{I&Bs z-QbOEyZ_{BBj=0=3x|EGTWZFaB+aro@%GZSxf@-t|9*XSymon_R+loT?!oLaZ`Qm& z`+fGcmI~*$X^#o-o*Wc=&aSZZz$TyhM`MDG^UNxE{&jO#f2if?D{3n%n;1lFO0Bw9 zztrf!a+Tnt{x@@9z8K-KTqS#RbSLYzs`Gl-Egh4e*zegbVtZ@S>SoN7p)%2}@SGr$(R{<5Qp#8kd2m88rYrV*MV`f;=$pJ5n z4@~}~r7+HBYyM`v{R5|EEnD|Bdur8=fMAOr1{ag(6vyxmj5qD6n8)oFrPa$_siNrO zmkD#`M2_#?r}bP@>y_g&Oh)lqL~Q#|{_ag!r&NOz)9N36tJ?oA(|3*Uw1oN^rHxlK zJ9c?~PIt!Vt6NfMd31kJoZKbl zh*e_x)XdI;8dky8*BuUhjPzN2&h^~~uSsde*`-$1f059T$wM_?|528e8t=1z(qWDE zAFkdH*tWRhntl529y4r*IVYBMTyL{9X4U|E&WGRnIDbrGGFDm9olO$w{1Ud1?%2lDvL{YX?$pz?Dzaa!UNOWJ?cJoooLv8 z%lNWf{);Qw)8muXTr*Ff^fofzd0aJN%9at<7WXSoTvdHjk!aqr^4zeFnRZvFwR)X; zd&AwBWoyE>&ii2bVtD4Sx7HUOKGivH`{UG8j*i2e6JihQyWJgs@^jyB)89C+KVbb- z+eG=~cilZ-vX41!&3NzMsEY%Yg&)^zE_>P4xUbUO zhdD0J%lCZWvv$OvTaxCetaVtjW1_ZT;gS59y}1)tRXpDkJ5h0}wrxO!QiWK=Ufdlqzqa!Vz47KiJdA%pCaKR9N!nP~M!OTR91$(f}^%NERz(KYWp zd_`pE=+;)x-GRY!mkp29<#sKNUOMVe zO@-XzaZz)6O}l@2?CurAIy@=a^UU6ETf65gbgooII^RE=cx8Lw+=vf{ce&(oD+-gc zyL#36yHBj<*w^+lF)QD7!sp1?6Q$diIwZ0amxQnn<&`-18G3@ZDY_#5hWq#`{=_qC z1!F4?y(;c$F-GN}-K4KC$Fpwt+qC`mQSFms-(6F9Ggjhao;NN5n^un@l}0h0l}xn_He9gESA=sl)erXdVaToW1am zF-1a0t%H*K-x4NIChXXEs{2S=RfSGuv|RcFKe?uVR~ zYN^k?6Lg~g?trM$OB!W81Mj*;TBL5tnKa^-$%-}ll^(tS{Gi+amS_0xg6YH)x4HGNqYBt#r}a z0^lb+e}O;^O{1rjcWHf9~~NH#ixO+|@jMErS1k zrMBCi=a3n3YGv&4<*P5X8tL+vbIf)FUi;@uC#^a&{>a}8{QB$m&AQVeYESsA1#zCQ zbVld&vgu=G(ci|wc}09n>z<4AuFo6zIc>Ms#)X3)nQh$cfARSB?sZdA*46&bnsMIZ zWTeLQa-zSi-zvfW?_LI3qa96jht~)DPrfr-!DhpSl1lU6xA*2=9(L^5xd%BU z5MtnVrUZt_+M!=B1*(#j;f)ku=v}j^hL8;(s$`3;b{6o4kOd;NMS!dczkzUgA4$f+ z%kl%@3zcN*t`GI5BJDiKY=jFiKQ&W64D!SFl7;(;f`{RNx6 zB>4*P@@CCy>Y!J#2G%Y_0pw99^eB%WlT8S#CIW8y6Q!D=5Gp7-%j$SbO%4 z89@aL1;icbOr9V@)^#4!B#nEI5&f&L&ECtXO6>e}W zHixUAsKirlp#lsCHQ-ww4u{R4dAPpk?apuh=R$Ldk5Bw#&?%^*r-{ zy=Qd#m)2OgM#j%lZlT*+Pv5}O%G#!_t(&`tr9glAYTv$l|KVfZr_W!oTr9$&i`7^% zv2tlbx!7DThpU9;VzH-!=V)>jOq~_A{DYMuCbcqinaR@*$XUPljIz0F{~Ddh_|g`- z7H(CRwOBN&WX&tste+}bW5I;wsvxQy_>xPLqY2+XJo~lnw{Eo|X&>$;?c9}cC*kgq z!<{Wky~D2*Z8I&b=D&Yd?s#_X{MKvS%j4Wmjxy}-u*|vL;XCC^+Aq*EDoNJojy#lN zH@4a;D|W{>@6)+YhE(Miw|46Ol#^5)_l>8uZd%R=$E3K>BQ>|??sT6Yx^jH9`eCoX zPU`=fq2+5pzRo%^{d_(DQ~s2Ku)wN5w%y%!OnqCuvMRgdxs)g8GIR2(IXUxQbqspA z*1T}^kg|4hQxs2T1#Z8+&85C3rS|Qi`x~tnC6kbA&Pj>qLJN;&&iNL!<(Eq?ftL60 zU+lhK^~_XP!(Yi&GPS+$d6TR|6$gHCuTMKXb^o3r=g)6ETV$${Z<;Ch+NR1*-^&f$FxgBJL<+%+O-%}upwm&!LS=s&Q_(@Z6@ zDBD{p@0D>TF=kCI7~@&tvpPR$;xB&$z4N)Y+T)G)gz4`-hYVZyN$zc90X_OXJZlPzAy|1$XCz){wg^S&MR9e#B8hJ7d8 zHx^`mbKU&B#hFu=Cgixb%r2Z!T|R^=KqX{l%) z;G4b~t!LgT(V_3XI&bU0=GkzLZ-9&7jyX}O!KeF7mOo5w3R!+|{YD1C`)TxhBg%x; zm+)b%5R>4$mH@5eYZ8qwxkhF9tWp z&JO|srJ>Kp3E;D99_bCw9?TLSf%K=E8cjacRDp>W@teKEBIye7bS-R2%M&(!dO<&X z=@+MXYvUjGgbc_Wt zv<)3&Lku&aV;qQK`RN!JV(=huh$)aRpb@kIu*n(-wZYndlegFgYFc0lfirDxh zR41I8GPqYK+!`AQSwy*pE*C^Z9GkSDqUlGNaI8Ow1BJlFGkuIPTSLuIQ9ro;%bKADvB{yMYv#Xo0pseAkEj0|bwO9#f3N>h z3t(@-fe;@rT<|!!<5-Au8XUr4gNFLwEV$E&6A}C}5&usMEKaFMnI?od_~I5A4(FKm zU-!?k08T35Uu&qZVwYo;Q+57T-GOaO;+mniB$#h<^1A zDx;(*or%}Oo&nOu!^U)!$8=etm^`VZ`TviFUDjZuC=}44AG>MD&NqwilQaH= zWH=ClahOUriL*uG)Q%oV;CO+PB4#Q^k*EufOO>50N9?Tk-*E!kb?`VY zVS0D);L`fR1;?%-;4y6mc+_VRcpR_tz~dOT6+Dhp7r|qWdq4=|ToA(g#EGcve{w_f z;Mf=flhO$=9Z80JKk%f>y0yu@%WyqN(#k!l|8azPIA(^xWOe}IlOXu7KBK56LE9_~ABMtjdFK9PG(AMLjHAO)S!sS~4gt4&s9tE4* z(U5|UnP>EXW$R#wi?>PaH`rJ4g=2TPwu8-f7vca{{0|-&dJs>b;GR74T7dT;uJDh> xJfS6fz|S2*Z-~3XE0b=Z1I7ZNA9w=I3;MSke4?miX*np8n)oPENdav% zuldN{Hrh)~ONG=iooPx($F!O>$F$~}2dnEN#xwtKZ4T$T&*;7V?)^2j4&PpT{nz(> z>s#M??6ub3eEgB&?B+K@&yhpuO=`Mj)|00VF5#X@1V5r6+;IAq*=&|UBHaEOenuYn z2W$;NLn2Gkbh3qltl1IQoL4io?i1aW_03dVh?P5Ni# zmS2pi!)OM6z^ z?q~?bD19bPqY`1qG#R{ut3RnEOZgn%jwoAbijz4DXgF#<2Q}|U6L6hyI|^)g0#H8B zfjoY0w|o|#DZ2^YE23HS5PlPc?+2k3CJUc1Qch*KpUwgbp;Jr!dF4Gzn&w!JIPsjp!gt^$9C0% zx%PE;#SsnfL<=cdHc#9~Xo{&bexfj?Vi;E{fb*18SE7l!E7wD=t}9#Z3sdHk3(mz5 zuxhc?YYKIt6j$|fROehfR~+t&>WZ-+NYZHPXxB=e(MqGK6UY`H4R1$ia?mqFU5i-z zh>~y*^v*CxVT;kOOOlN_M3V4D`oOd-A|K}O=jFxhFr{fA| z>jb{uUHd}H(x5G7g0$-&< zR7K``T`1M_#L^P5O*E@0d+fob3^12pmD2+omFi~W_P zow|0dlXkT)v~!Nk>WlI2LDKo9N9*Fp%leHD`ZLTPWX-o26~;!f9wSydPDZKyV3Z}- zBGSPslIlXl&?=J367X&t3b%@+xe)Ph6-jFqiLi>KyAWyDDw5tJqNhl1i&ZO2hdOyn z6##E>j%<*gj56y@7p#GT^=2z;6tiw#zGkko)*!HQj;z%ei&(Tl!_*5?MiliO+H-2X z&an;JqYbS27O@x>yS4g-iArL@5VPi6>d=u58}ML{@lJ-RLtq%^$gEn5#fXvS-&d~- zhASDAgCvETC7OR9r&g)76vu4ej&WuS1KYP_WHvp;bHS?Gq`^)FOC3-!=g6#qSh?y* z>OM|gQ(ano|N6Bv7s=f$&fW}7xLHSzT(XKNEOpzGl!{$bELtrIbhS6DdBviYTu&D0Bsx$9MwGpb_Nyw@Lu_1EuDLcT?r%_Hm zwT#CoxY4aoS)HR#quu({syf-dPhF{waqCm7>aOm6>PmG-w?4I~4n#XS`IILrN1w(z z`P4FDMPd4M>r+qFUP%4S)HR#lim8%s=B*-pSn`r)vZshs(ZNisVmjp-1^j_I*@ug`!v&q zPg9(Hn%U~pUhaL$>KuKV>ei=L)xF*O)RpQqw?4J1&UNooSE|$9`czguQ5QrLZJx(L z!cBas!3&NWn;gbg=thG0P7bw*4EPPlE0+>_5QnTqc(YL{?(Pvsu4UpSO)7TjWi%V_ zJj!i2?glo6rUFaBvvj<~hd+v5DPVy^Uwu|MNqCo%K5J{40 z0?HXiTGM@qJv=UkKAKaO+gvoZyK3va!tE=~lmVQ}vxH6k!%a!RoH)&&n9q{mUHu33 zCkZ>H@qC_O{*?NX&eK!t>7mnVwR*kI%O{|XkGHo^h<`iZfbh`Bi15%39gH25XWrQUHcH;_SxHE4ob z!s{c0q&7(AgIN2MhsbgBn%td;yp!UHbp|NrCojNC^XJlq&=XCGe zub}^cfrIWU8b0FQ;*s}_nmDO+@|3A%5B#Ql*6fNom5(l7^7s?gPcB_nziRcXqGq>Ou|@x*nzdHUTCX$YqsALV zgW7;|_e+m;ZXVE7T=m1Jb6)#h`RVdc-`Ul-m_;RKt1W_m@s~eShQf_8T%z z&Pd-oIc#9^Z&Q+Xoj$p``-2bN1JNHS%2j;r87IUR2LH zKciXazvFfe^<#ntoAoU7@1aQ;^ZtLxUESJy4O+_Uh@jWG>VMjlU^G0SuB(t=k%c_sCh zX@1kyou6-sudSrwKc&o>eQ3tt*_B()&+^UpsRxY?(%A}#DO`j9HR=N^h& zy7SE2qcUz)?W%a|^^u1TZF&Ddd`RrWnb+dOdz{)|@YR#GcO54EE6zxSOnEiCyz%NI=>HYhthWaiw(Hw|MiHobMABJ|3_eJ4vp=I%|MP`-J< zAB!~Ekqg_HNqTL};IP6Kxov+pu5iO&+B|yX;0!^Gq2=KpZnd7;`=vU5B_3aQd9e7+p`vX9(?17F?`#;iF0eh zw|vq2>0M^>Y5MZY4Kp2EaHV;F^YlI2mv(=A!&B$Nv(Bxo&U^R7^qwzITG9Jewdak! zA)jg^maM8-M&GZj?q0KJ`+>b)-_9I$?~dV<<71aK@6H{wd)sqwzL&9Odv$Z#i(h*+ z?mIHQF0E}%!@R>yIT>5?JSvNyyybH^?zNkzmSmKbhZig@sq>F6nV)%fQ?J7@XO?wR zt=`b~`k}eOJKk;Dv1In;1ABLOF-9CJDcX45Z`;O(FTBfFdft8Na^kub+l^6IrUb|I znw>oOvuio=e_hr|{qA$Pm{0d5Z&NTPn1y%+PrCh*AEy5XDG&E%O#M1)#zTNlqL}m~ zJu=jY4Zo2>YmIcF!bl^Eu+`sNdSQ&`Fpr}CBe0KdH#l^#mKhtShSpxF7*Q0o;93#J zam~8S(o41X6sqMDg*}7K`1VIfA7i59lWIQQmcJM9v-@7aTNQvDIq*X!R!h_~n!go7 zS&&rWou#k1$Gm}jKeqXmrsMaN49OiQ@C1Q(5!XcmsREBB#PW$6B}xmC)2QLH0zr!f z_Y!f9YvsO_8*g*ZM*(s$<#x8Y-;84uJ*>jf1Ac51zHr((9)D+ZEwM!Fv2R#!Q6Q_a zyRubs7y%tRnlHRWln}|a)rd6fZ@?qjlEzU5J>A=yR^y9?SJSL%4dhO0ZxL;R*j##t9vY%#{ec-$_aD*QBkMC})H9rxo&Y#!B4q}^o zLHFMg8%((1O?({sqCZMAl3_d}mY{`{8LM}e<#uW&0tp4bGaF?-rJ{uHx2wmS;Yt*g>Ao%KZOkakE*jr&4^)m-hvF zYV1R_B$~Wr#&OW~J>W#vwep~Bw)Fu9{)7^l54B~l- z^9Ol?)3H*h#C;x!`fb`+dG~SNkx|vvsu%eich<*qW-->8MP#HxeAPW!tT;=7%JVJ9 zO7&;^R3|??xjs3}Z`B&qKk>%4e!x5&uo_?kL0o_KNhc6O75j?I&j$H{@<5Jt=6nz8 zhvUqN;&_v5#Rr>r@;!PswA#*gQ28$d`?-dV{fWYzmj4qK+p6a0UOx8&5zr?5{O7>^ zhnuLJ6X;Jornvts0r6Vl^_DbaJcj-Q{iYCoeI|O-B=jKOS>+=x!y)=4oKKV@hl6FE zF$jCedy#hRlRR#Ctn#b$3|y0NXr4;RxbhdA9A{D%kR0$ZZ%0r*upErs{`lpf$9Dsg kj&wTkZ1nFO@aN;dJUFKSs7$HQl@G3be1ywo{4&Eo0kU4|ng9R* literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测合格率统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测合格率统计模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..076a94adfafdcbdb04a6e8995c91c054d4e4a19f GIT binary patch literal 20992 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..394f8d82c74663d6ebe387785797d6e9e2d2652c GIT binary patch literal 14336 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 E2a#^cm;e9( literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/检查人检查次数统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/检查人检查次数统计模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..e27bc5c24a5179d9151551d86948e1af1d7ff7d0 GIT binary patch literal 20480 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%0Aevd5VYN>V`qr*0{I{~I)hEF5Yrj%+(6a~ PtZ;@O;lMQhe}?}7tYe{) literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/热处理检测模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/热处理检测模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..30fdcbbd73728131addd566d77432dacd300da37 GIT binary patch literal 20992 zcmeHP2V4|Mv+oVCOOha<!e%k~WB4PYsNu2znlp&>g_0*i z$vco?a3A&~0Af74kUtCJ*nfUBe-xiWn+dGfhfE@4;TlHSz6;dC2+Af%i6=4eJPrlq zIJ^4tW8eMJ{INeX1Gx$xda<$+Ii_)ycRH0tl%exi5;ob*Jq>q49)b@e9T~`ykSrL_sGUEJx4_-r5Gzf=-Z^yxizCQ*I!< z>`mp1D$bb!i6QpHm9T~oLA`?Z@FXfP(p!_psg27ni^Bq}V?jyLvH{eyDL0g~fQ!mZ zUN%UVmjR~9gHD1f@|9l>y124*ZJe2WK00H6=mH`Xrd%V5196d6E=f4)(#hgblvOL} z`+9^GMywjuQVXc1Fk%N@oE`?&Hs$(2%QTcNB5EV@gj+-FG?El%l$M<Tv1W<8>AOJ!h(sm53aJr=&+!o>A3Q$rwiZ_#3kqw?G{&Q6#rsv z?PY4qK>t>h{@C&v`YE$hW`wIk(Q!4$&}n{}jw?KxK4JvT??v(Bs*j@IAVc917J9Tk zxDu?V4vjbfjcE)IIsw#+kYcEH-Mr~Ao3xz zNlG%mB}r~X$6msQ6&I{6DPGa4wh7E6+0p{oeMADOB(-4~TrZF)kpuQCCD_}cbJ)9g zZ-aoU3>r@cjW2`7t)~fv#SM7U%3|G$lm*5HUOA=1N~8sFk&T{lD8Q1=0r#6kIi#ed zNaheIVGi7!;=l}8mqN#-G~=)mWaSE#APHg&G7N~&{}(}UdyD~bb^AdO$@YW$Yw`^S zs%J}--wXtJ4b4H^U`%rmr!mbzoW?WC(-@`1X^c|hG)AenZ{IfHiIfuMAxA0mMoNj7mQhNa#waCDW0Vr7DN^c7vQ!6= zw3J07rNm3iC?!r~loF>gN{Q1LrSkLh8(B)c1472I8%&K!lHI`)lIWI zGD_A@qG4JA8yA|UbjL)EQ4?8RgavfQ$X#4}cfmT$9occHbIkazJbvfe4GF zLGp<5zXGvs4DvFsL4awNd7=MO6T1cwc{Txt1}CRDEr5Zx35P_D_(j9oi-8n(|3wf7 zF%a3K;15)>qZkN%t^owfF@ri2$54(0qCXS&Tn|MGHQ=F&~JTZx%u!*M_NOAXH1o09BadrDe5N|OM`W%oc5mOu{j-ecz z_&}1#CgL+(2IL3YiLV$)ara*YX)Olg>h_BuZNxz6b5S5rjwuck$54(<+Cq}ZCb*5j zI0obgY~lwp3`lYJUj*?N195fxA&^`)jOVFDn8P`^l3UyMIsIY0OG8O8k@~BWRl~0BGsVWevzs3=9aCslP1wnRl|@zNIr-$STGMCpuDMyM3x2w)FaN-2&OD8-~QBE}*SR~aJO4I(&VqIEUk480*2HyI*2 z4I(%`(julJ5qB9PO&dgTG(-^w~lfz=#Y z*UeitRT@qy@7{>qCdJj3Hx8p;`4{Po7U$zC$=!8Bw8w@|MTVq??&dV>P%Y zLOzk?q9M#-6Tb;zxx#snH4(tcia?4nhmXw=*=fh(nhKl1v5tHRxpO=Uq_DYPjAtq1iaWm6oeByDOfWm9IrGKb+)p-mA^(xx^FZ7PCx zRcupP(6$O~DuQ-XY*Sg#b_#9EKc2sCn23n7JOWV{#hD}>a*%YVy^q}XX*ro_4X;UYKHWfkp zDz>RC=vE4CDuQmU*ru|eofX=Yfz~5!q;2Xc!=^4$HpSHsZPT`jZHjP`Hg#2KQxUYE zVw=i>c2j6m5wyQzo63TAS7=ijdN^O73>SMJ>r-aJ+fx1u^`&AdNbA*&!=--SMKXFm z3_uFwaCICX9W^$pm3$sNj-+`+oVq~cQ)r`;mg*-%Y%X}*>=x&wo_h=%H*927oKxc1 zF&f1^RL=^u0xFZ&OoI};q95)+nDer82-f>K2k=~Q%iOnzVpWpOBmx~iak}b;?&Dwe3zToBo zhcfdwj`zclSdD5suT$u=KWke&40`EcqssRF&cXtU)K35MRs9p}mz;!y2Q;3P+AgT@ ztASS+8hPlRvaIpXdh*w6tE)u`Wn&I}e$j67-F~?TUzBvo%QE^SF|zfss~QJ7Sy^=m z3|n+~LO?)%|A)QnR?f1p>n&7T{p!-Wp2q9-)7Osb>9+d8)ahoYYQJSWgqm5od!G-} zTIzYG^t_$=c;86NoSuf2ucp_Y8P}YjS*pF>@%;Sp3xX0S3BT9wTHDs3ipvwMncMaT ze|U?1Csvubqz|)l+N-{~dTepxOsnH>FI}6n!R`9**H^{qmL=$PD0S`}!XEWz_4_m5 zXI*QebbhPusG*&cf@97(6qfAY=r`|3bcku5ML9pPcFw8~H5>zFT@@8G!(kg!DzDWo zG1|a~Hpkp{#h7%n5q#BQTR)V&dlTL^#qju)x<}tC_r1&TU+q67zOI_L;fi*f z4$sf&Py2jzbIP<2A=O|1EEwWfcW+@c&$?xA{Odk%{^MJK-TM5XRwonRzT9Wq>g2aa zhhoj9R`859#w4z>8o>3c9yorUb;a*ZvPS!uR^Q5fRy4<3$4>daX_<*Z>q4W69g+{* zB&1EwXfLd06=}>NG-}Lv8notgoREVsQvnn(#(`NzkL%9Y59J* zdcWP)-12LVX}h{ivmfM=P~2vn-IC~;eH=L-=J#;+h?duV0vyp58s!IVx~u`mE|p_a0RgEP4O(y5F}L|4r}C1;usQE`LzAR{=NIB1nBVSF`?2GABj3$q zOLGJ-u4GM(OVV)5ICa9u#B#?m_4rAfhuB)(FF$@&{Y`m-Wt)m~gW6;`T%FSNb;|Aa zccYiC9=c`j2kRGuGp65KclOZ9_OaU@r<`onYLH8O%mD-UyJJs$?)h!%8<%zaZJ+9z zshs$(zxzwpQRgk`?*p4QbtZ!bK-{Z;p=l)-PF>CT51)3T&KPCWk=JVyg3iE zU0s&#{=R$7kUuvk&Q@FFw0Qe?UE#vR`O$lF#;+`YzBy*R@?>56cEg-I474;pJ44+x zSN);YjS)&EDq+Lbt-X?xo1TmeyXdL2=hD$lIRi~}EL=40x)@gOx|H2Ty@yA?zwE2( zdX{)|w?|KJ=^b|C?^C_Jtb^|#4;eROnUiKsVpc}!h)o{r4-XB0*Z=H@fZxO0_^K(# zUx+ndJF10!nQlg>4uv(R3|XsgsD*|0b4dEoD${tp%^Mwq+K9!cmz-U?U{)DAdI`1*1z>vpe=+ioAxJu&*-HKj-W2dcHNI{z_vUyyL;P@z(xa_zb+ z`ztR`>X`3r5|H*$$d&&x#24m}xTrA`sTZc`eUg83^V6e{<_SA>_`4pO#|b%SE&OBD zS!eZ(H?vNpl_ZCho^5WO&?ZepFywfzk_~OHx)|kmKIpte zM{~}d;N!h_wTmpdq*dBA=&pN&Rm$e<2}5p~EnjU=;o1Gq5Bj}tc@5pQaLXm(zO&B7 ztAkIc6gWN(;*RrL+&$(|#JVl5s`{K*v?XfW4b$rf4u8H$zcOXd8+0UInX*ixQL<=F z0q_}tN$@;N{1r>{OU@7K&DBHojI(Zf?aayi*w{ahYGvEppL2cZ4Nm$a4-HR$tB}86 zY3y?3J7o+zxgzG+vQ?Lw4tM>_C3>47-}m{F2`f*JJ^c5AfZqB&Gw-yH+&y&Wf>^It zdLy&D+4Zoo>TT!bvOKPdZP(nq>vQ{lPTl3bVPXGA78^DNUOaZabM2($wKc!9rk%Gs z5ur7;j2JBKwNkk6ySHKH$W~_hgX=;9C*GN*WVil8afRjY+q!cv4?24E+=Ir`3c(Jm z(oaxUV>rre3gMvkvE$;S#>Efmn>0RZ;$WOp?99H>^Q^O0P;KXLX^&fW&D$Hmw|+je zXhG5XX@wV8Sm|H7y?1lJueIGv`?lL6&>!P?r|QVl#IRkpRcjNP=f3OvykB_qtjOf5 zE!*FJebVAsnY~LdPMYnG_pIFTTg#d~exl{v;`ye&&sY20GsqpY&~oEFp4HaB!c1$jCUHQzgZ>-j5rH&=ejtkEfytEg#eVMf* zcF@Q@H3_XR3*P#?ee}iliQA$qw>r%vmDVcDKgYfd?$wRO)`g>0X5uJmDoB8>F#+7e zRAd^C29VtzMW;OYBQ_T};9y#0<4h&HDKOV(+OI)|YK1?Z8A8xaTagS-qG^W;T7ehu z4vHkPtI-Z6yB2l$Y5NX{AIJCOKsmfhs`{7gvgUrY6vm7?P_6 z5e9B&N@0kt9eQI;YW5o8Sf zSiTQ@p^`*B^`L$_A47d?;|jmFj3Ei|?Ml2DM|Yr&B+)=~ft|ylEc}haENI4u@F0sQ zv-&_<6kM2&^b|bIX+(FW=xTVh(unRxR>EHKN-<5rjFiKQ&Vs%9{&1aU@xc?~@q$fW zl6)oj@n-cZ>Y!J-8rCj^4f3cHdXz_x&t`;GJq-AI6JGT|2$htc8cy+v@&DE*+?Tz5 zT5!QaA@Kk@lP8FfwH-~WTLMjrQ+QigLA1Jd?9!32;9O@YTts-6v?qLJWuCGUpU2~= zsPI+Qbv4x0)YJ`hnriBr7@C=y7#bT3tek8G7LJz2#&%vU9GzX<-QCS>ecF1vwsCTE zcSR7Eii(Q5ntF2$jpnZA#^$a+?SzFyn-8xTdkzaem7^D z;VLQf_$sPuz;HkdzUAR?*j$d15*N;}Sjmu1xY|lO<}QKCO+$w9EGFo>&d6TJw`{lP zv|jI$YAd&hxS1-d`pudf7+Txd+O@EE_we-c_VI1sA*f@g&Rx3p>D#Y==zxL04Udc( zF)})4)WrBn36m3(rlh6Mnw>Exb8b%V;w4L$Enl&6{f3SCn>KIRx^3^i{Ra*nI(+2l znX~84UnshG>2m3xH_C3_x_zg-@?q7Z$4{O$Si1GD){BTMQPsC{ zue7egqERLLv4YL~rIIxiOjNFNqRxRYxwJXj@cqNH=`Fr>stHZ~a5r(s&iFg=cMl(G zZ&l(m^vc<-=7m*)_s_~&omn%l*=monSoaenj5<3lb!mC%PT6AL1RWSmc+3l1F*Zu`koR9F z45p{+_#2Y1GmlR_UnlsKKdB%*sIrHBXZP)s-&U=t%xZHk`N_GA?7S*Y_S{!(f*-E2 zEF3wYv}Noh~!E(bq71RqV#+2}dWbe|6|!W<=Ih)`H|0_em13=EMI%0 z)yc_!H19=tH=<4pN$RcaY5l54ee$}X89Um@>G$}VqkDJpHZh2sn)XFI{Ata;vy%#+EBor?Q#z0GE52nlP);GRao3;dhx91^_xrpA;@Wg8dt?%UyM29GSt z^5NyZGR+{StjPtVyvqGn^eDoYL>}{2YyQq35j~m!#AIWq$K6dw^QH79WBW8owa&?rHNPN!i<1pH^#Nu z61l){8%O!`34^;l)AZb|x#a!A4BxDy1!qsFzK;8?|AD?EY^~>hJK{h1$gcH!k9%w= z$oS^A>AC9Zlb6P2yEVxwoK{rh;J!0Zbf-)nrbu1#1JuB9> zEwU`1YsX%^y2+>WQ=1<+R&yXd;nmp_M;rvE=Og;8`J}aLP2mHz_=U>dZ@qF{xu8H` z{$^xz%eDzlJ@3`}*#0%wj&p21+=O>5iCQ(j-Dj`@VQN#z3V{1Jc-7#KEYPbE)~oRX z!W}3e%JBj?niP<3V>xi#IrY@^+CK20I-#mhZ67%9>owADJ_P47+eGtFh&xa@K0l&s zU;UKYKCsO{CUH}EVRW~#3`q!|VDm|Lcn@Lr_&TIN+th0G*`^vyx)_J=1#8f$3V!;a z0dENwNV4J6F-__jh7Cy90?cn)Yf5`W^zt7<(d{X^19hKCQBr}2an^YJPaIh@Amuc* z!KMfCG>SW&y4y5xKl8U0d&YB1+Ex3v5PMz+XS^z)6`Yg8g*w5K>fliLtMF$+7RiG{ zjywi{hG}$1t!UQ|F!&^yvJxTordV1o6-WG0JW(9ZRmnC@QJe!msIb=-#kn9?W+;j) z!J+af6FN@V_!$QM?uGX}Jn`B19>?d-91H_kniLIRN6KI^q!FNfr|J&UDZ)wW!x$C` ztiRep9>{_0?WsE*V?hjUL&w+v< zu?5DHJTN%SpcF*IMt=_tVy`lc1R;C)pWTaBIejcm6F4ZF*oF23E^HYO-C#& zXc}~vq41bOQsLqTV!4!NpzThQ&Pc=5cH}oAAhi)D^Iaf@ zGqvF`=b8lH8AkyfPZ=9?KuM}`>Wt+W0Nwz+6JWoGP`es#@WG@FeCVbFxk0`|k-|70 zND1L60%g(pv31BnYW5ibu}CC=n+J2xd15Uv68KHfUdogpd^HUho4o>KDv#@{5CxUU zNPaW$_)I(Kiujo}r-Pz?+}P^akN>~*VWy8UW~;9mDjERye_1oMAhZI?(KYj*x`1)@ z=f~6kjk>6>xBmqH-4?(ef`cEvQn=u8K*#Y9=QB8L!3GWWzgcjn6DJ?|Wg`Bc7Fe88 zuPUfKmx}LoCq<~FN#Fna9paGwdU>T;ApMw z*?i()yYG%O(5{2WaS78qg9n$|3vM`e;p7j~rh!L&7Jrj)V&nfgM^GbP5qA}#KSQ&6eh5J zh=2scfAtwbO=Y8yiyCh+lvjS#k6m`PEYHbED|Z=`-|_RV4nR|qpk)EAGk7dN+Qbe# zxKy+i=I;$&3w!{0$ueU)E)rs4f{p)!2up<_T6)Cs=-(P8_+DvHMlv?uIS*nZN%<6L2PeH>}nhq^(#35K>F2dya* zS`aST+Cdlto9~gZxg7;5=$Ls%7g(zHhqz>$#D0T)6@PH-0r!@$+3rf5;Ew;n14B>Z z1r*o|q57;9gw8-~2R+vXQry4?fn*T0e0O;EglBKyZx397klF#BTtFJJ+rt$E*ASq% J0?z+O_g}2;xatNvYG9j3z!*Z$C~TDRArnus|c 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 Q0^sKc|J()h_-DHR0=?F~`2YX_ literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/现场焊接无损检测情况模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/现场焊接无损检测情况模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..42d0b6466ceb0b18bb0f8c91b6c66ec3bf3d5d70 GIT binary patch literal 20992 zcmeHv2UrwI(|>P*B}ovFAg}}h0m)eIq`@R4`#=|5Y;#yKH*V=br!f-1of=Jw07r_3P^DFdb(0`ZewHwY!Zfh=lVa z98xP(AxdI&7Tlw!oE9OLaD(w$p-@N@34z=Hx_^-cet@plPbSm(;%`QTN+ ztAbYpuMS=Vd=v1R;Gqc+ZSXqan}XK`uLoWqd^7L{;0?hWfj0)<9J~p5Q}AZs1>nuW zTY$$lguVsb+la;gMW*~$s@j{xz+W8HMGzSeVJt}m>o?x%LyKVw&IU07AFqTIP*>8C z4(Mw@L}liIRb?zIh^Ame0~ZRp$C5E5oYG?qP5gyH{4s2dC~CMRkmd{`eWBzD zQ1T9BI9!J}20)BQ7xHI89Q#jW^GER<+Du@*K4dZ(2Y7IXkRfa3dux>``zCU9kugOp4eMR9@gs|xsq$qTVU$!xIfyg_|}k$(Rl zq6Yx7F!>m&-Thu=dET}2MvLk>P)4!^b>el0olHgf1Ha_D>sx+&KldU;dAvLH`{ z7BFdY0B=d0Nozt=29s7|R8y`8Jb(>ku@54>NhEZ_A#w!0;HhmWE$9e&$;*vSGvx-t z!`@WBsN$R%kZ58@TnTF!5!5MY2X~_KBE2ok@WW|WqlE1gQ`9RxWG z6p1U+Km=4y%~J{aD8%_I;|c^wXF-&re`p*X2Xa~b^5}>vi~oN!okgt^u!QJnI}>Q+ zlpQ|PR1w`l4qZhKy`>zwolH8eY8d+m2m%C5zPQqnMMv!@daky%zM8%o;Tlox1Xo22 zKk_g*xKffu#~GI_IU(* zw)Qf$WuU(kr9ZZOhJMoQq#5C=P;^|)F?5=rrsE2arjHy+^LtVJxay6_Y)EfK(Qy^okZw=W0Z@YOOwn<**^uAtC+P-q z@ZII$(CtAwU)s*{=+gST{UknZhsNXk$ib)WFO4IQt}n+vE^_dV<2x@0;I zWc98K`TcY9qa=PSlGK2Xy^swnI#|0>yrNZe6PT&8r3J8iiUd+fO8qjsP9Q-d2kf^z z*gK+g*t2I(y@09=nz9TUUj~g^M-vK*>hYwN#kM0-78vV!<&+K^2`zw&c=U`z0hV+Q zxSu7;Avrl&GKWA3bKvF|2WHs16gn=|8Hbf1D_5ulNs#6s!+;3=e-Q+?-xv^Aw?=|U zwjbQTlW#CkJxikeW+0$k-yFmZ#xw_U8q*xaX-snvr`0!yq80TOz%*)q|M+@ZUA0Rp zC1{|OzrTOI0Hc&RjZsRR#waCDW0ZRL?p-~eNGVYsa+ES}ppMk#Tc zBBj12Np%oOOIb8fO1!j;QsOj5DRCO3lsJu1Dladufu+PdAY=@?&D5AA*&Qq)iEha_ zhzV0z4M314qh$Rg8m1MnaiM8ScTCh6HIdatSU_i-9PMx$n*+l10C@iGRVnRYcdwo% z2gJGoh_Fx^B$p`tClH&4Ag^-k1(;@;8~PtLv8@M@XA@wkcXEo;5*TQka7g6HUo@

h_Bu-eMs1IU`dd zrZ`L-Lpe6_fh3Vl#Amn+NF&;buNX*C_g@5QEe7K1_KP5G#6akCS0GT1DGn3IP>xO7 zLXyZPxJ|)02BZ--@dFtKq^SEZg7}MpxVkk8WDy(2^AsY?<{Oc0F)P9Wn~+Vshn~&A z!XTGc3P*^cb_$mYby9d#*fd3n3UyPIsZcM4Plfs^DiEr`ekYvzJRf^0ODYStDrA8v zbQT)07sDm2k@LFtO^86rCMA~-(MBBmk{cNrp0>qT%hL=hEu0|4q`(SpbjDQmHH!CIKYunK6_uQFKm zDAup_tmeqNcHXjS(y02tiYYXzCT#yh9TY@88P%^(`;azK*?h@5Xa;p4N@v6@QLJ`x z-UxYO1|TL%XUbrOigg;>I!sD2jv*+9DKx7xX#sl*tfYb2d;>5g5^2X`83|b=X&}ZH zv6YE6vb`B1&1MX2Z-&rpD#QjeW-n~jQz~OtbI2G|XjVPg^XC(m?=VhgdSvLJ+~u(| z>1Jl#Pz|n$kWVDJXb5vSBxpidu5jMef(YQ`Mj*wQ&Btbl?6hNXO@&S1*hszv@-1SU z!{HJ@yDMOnhBgCeMG_3OJwki_6tn=K6-m(0dT^8^Wm7bOq)pAGY|8XUb1^Kb;L^mfMifxK; zk~XzdXj2iir(&DRg0@#^QxUY6Vw=i>c2HZ*%YVy^q}XX*ro_4 zX;VjqHWfkpDz>RCXeWg>6+yRFY*Sg#&I)bHK1DA?ZCI1z^ZHTph|E}-Qt|oeUIVe zhmVSkbxasHR->qg>KTDnKt6u#&3&ZD15`&^^I!ZjtU@7;bFA)-82R|r zO0KeC_1v~M`6F8HJ-*V!C2hEs;~w=*RpW{hW?CJ4ck$|+^={YyyuLD4w=`a-Ly2?e z5ccS|t3I6mG3#m*-nlKhqr*BU21lQ@FDTx(!EfH-s1Va!i!y#-&774Vt2u^Bx+*GW zM#DEGS6r=KVzO_UTFBwRTiLH(4s%?lmbo#qt<7rnxn1m+jLwVi_53!myFGE`)J?ax z=zVo38tLU5cb_XhJScx(j?XRjicSmOTpfS-{^Y8qwcW;ePPu#~b@Sil9v7bHZ?AY& zI`ZhFM;;f-w~hJSEyR9w|K>l8BC7U#OyBfdbidY3hNgyhEqP(&JNMH5o*tc=Ep%C* zJ~ZKYpO>clCVkf7jkVpJx6xp4->Df(*L=&IQn9UFh*cM(3yHG}qxk#AnRivn<#vkD z>E@wacILv@@v~=#kL%o{*&K756=T!PM)FmMZ~0jI{_W7V$wtSf);|7TvG;wt|0@5f zakW*->o04!>G0yL{`4tFk2)3xsbw(IhOoK7UX zd$rfb>BRTP2V=~pl`A*b7@M%#Y5>=(YT$%$i8}K`q~pS01$6vZ(B;L+Z{h)9nVi#22+$Yr7S3zzSY5^N~TxKh1x&Be{vUU~XW&g!K#XKLo#5iirK zjdHpy{@nLdNW0f5X6A<9GXK8v<@))_X=&Yqog)KBrOm3kc>i&E{*n)`uKRtD_TTva zY*1{MjeaXT&2cflJMu>V%9As(;%0)=>3N7_r@Ln()0VY zw=Qe<**w!VQ#t-af7jQ{BhH)CJ_I&xro7u>cBg*l*E~4Y!`m*x+TymmcHnt#bImh< zY`v-M+im>(!lwxXw}!5da+%?meL8LGkqo~rj(wLFWlUN>bi}%BRyVcOFiWk1PiwW8 zzUpY&Q+dv#ELWFhyMF9iJ?zG&gxPAV9T#t#petN(C@*Sv_Jo|W7n`CdC{59|Yd74v z!$8aCXJ)9IE>eGFb#o-ISY_}C^%h= zMh5&jw2iNtQr!6%^EIPe+Lh|2cj{13ebR`v@}}D0(0=xbADuFqPq2QgV^|Zu_|%d! zOXtsu(zk3sWO;b|$Y$0r+y~s6xov3ZzWgz(CbrqA#XsbeW`COVWKNFO8_iBtu`QF^ zgpBJyZGY9l?YVlplkRMNyYbOqcOIRtj&$7mvG@MYK`&w>h7PsS z`&7DeF7e*fE^-umX2{}{8Luuhdph=V>YvMU2c%~FraI2Z_tnslF|##{Zx_C9cggrr zO?JoP$R#6hX!EiQ$41QVHub@!F*}zJYW=im*K-H^Ev;TG*SlO1?(*Pt{N=4dbB2FB zxWhGze z+z}?^6)4rLy}YmD(&UbL&L#n=pM+fb4?}!l4vUQ(JBfN=ik>HVw>CXH0%@MGQ-|*j z(L9dGIcveS(Py01)8EcIo?4s~QgX(iMZ8nq!uC$ysRf(w;YkMh$t zysg>Nwsz;dFBOZQ3G{QeDxG=M-v4q`MSR+du4Buj2J> zuDBTIbw1#{L`QSZ-QZ)rceaZtzNl5wHRzsuxK;9|tck;Jn=M~uSnk>V#z+0$x4pu4 zF4%lgxc7{6(W>B6$@vaXg1FR9l&IdkYFbSS#i9cd#e#!Ykow<6bo_5wvtC=~49}{!qh*p;MgE`lC+~lM^ z_R#S3w+i|DwZ={dzGM3E6Dy*RE?arA=?K@qT%xub@qJ$`nV55G+@Zhc2lUqOnQ^yu z#ICTJ^JBbT>y66lX4}Kss<*A9%ktPJHeDCxUZ30dOUh2~^$YqxwphP0@WRpSoogm1 zt*QQ#HT|5`@o=qarNnS)uN>jtAKpe8qnyn2ht!4yPP#jbXS?ovQMu)xTf1{F4LWk< z?8AoB3c+@(lFv}q=5UnR6v9F6W5<j*lDGH*rGbq#-z`*pYR)=NV_MpqkF#Q=hcz zn!6`}-{Qs0!uf^krWagTVWofZ&Yn&EzSVRu>Dz9zK!2>m-O9ty5(e+Asaz9pu;_i? z7yX7t&5B5>+`R3>x2G+SmfE@W;-uPa|G-)_^!Bo5Po8Qyw|ud&?~7GF_YD_~U0}K4 zzOvPpeSY%`_WZF@CCqH6d^DXqpT_g^s0$1kTt^X&dLh4Y$j zE73Y#?yzflj)})Z+q>;9PB~ek6mOA(QUCALS-!Ov$c?^0aNEWXj9zh_q6o3X_~Ni$HnM!^M@N z?x_j1B!=W_L4<+ZnNk>HYlmLlcvK~;z#A$4(7R?)4IvXggvpdx?ab#7AoIm&3jtXh z{`$hyB^f5`O(zJJg)FIXEce2Z)4)bIJyIE6o~?w3+x<*vG5&* zSZ7I(zEa!rUBiRqMHOr(%nc7>=oyTX$oef99DED?9KOwzf&we zctSj0vdJrw$Agzct5#A6y-HQEb|Fe2k2;}8dGu%~Gs3DG4t%|da@9ZxdAw&vQ+=ZS zzxNsH%icCUIDdhVcmSQr6GX_GjwV&DfF{K$ydx|pT3tJK=}1^`t`i1-M0k(1CwwI( zWhEY8Sy@>{g|DivtD&x@rf#UyR8!Z)$jsElsCjdNm7|To!ojk6b6c;L4$dy_?(Swb zK5e~S+c>(pyCMinMMXtjP2E64!@$+Nxw-34J7EFQ=EEb#j>Ce_gtS>4ZIR%F;Ulb zM%G%sWxL&{^m-RpS-FMB&Qwv=Z)RX<)WX`vwxylBho_gfk8k@9K^;4F?$WhS-+ui= z2MqjeL`3AsQBl#OC&f*UpOTO`H8pM4?DRPqbF&vMUb1xA@)bGj)^Et$xM}m2t$X(F z+kfETp~FW`pE-N(eBp(Qmr8EjEWLI6&fT(#N0pDCJbm{3#mnk~I}RP*`ES1cEc zaOh&ymrSBu+E6Ywm&@TQW4T!DDd0KUT%Ng$l1^ZV^6-gGEnH{tb=zgF-F-^M(ye!u zUU+P=s=k$bMT=@I8db8!6>R1&m8`yCqH>iHbq;(frp?iY?<=1F-tv2=>d=&r_Y$`6 zh`Sqi@6f^aR>eMHm(Of5FQ^oJcwXvsdiA_!t2|0$+>ehm?(DeKrPaZ^rHg&%8<-R& z8gfS*NU|SOX`K8rXTE$FOI-U`<_0AU8+Nz}LcLyG9_ux&x zU33j<@!-LQ&TG|AO>r~+om?SPeErXvWgIBm_nSv;%E2jncMUjqZvE*qHij)Gc-GjM zw7z{Z=;@q=T`!f4Grp9`o>m@F-q&d8%9sr=;*U&T_xj+0jPT59tocbVACN@l!f%IH zcPMrruzbx;rxR1I8T2B`HzQ98Ny_c4>HVrkfA%`B88gP%@z1!KV|sV-HZhEymikqD z=(Fm*XQmjvopGWx(s0^w*Wqz%I~DcedYjGA5E9n*Aw7+Q=leI=F)Vo1Esd!cOE=8# z-M7QDbY-$I(?>b?wP`vrWlhN+?N#QtGB0?-Z`Xp~`(0h>`POIrwD(^^2d(*R@Njyo z>SlBEy;7CV?!G86*?D5bv`mxr5B-)L6cY97M{mCfNpbSq?HKa!u}J8RV+6((L4 z3(^CQ-W=a%bHseVtsJE<#|`f(o2D(woJ&3|NcYV=l7Hs7>YLc#`tR>M(x%1S?}z<| z9NxKZ&oPhn`RU)?Hoj0jb>iaqEVm|^1=9dH14NEOf`$5$&ApsQA3F^aH7748XYX>SAyhPR%&Z#UmI(f zzE7JOuT;%Z(EzyqT+I=>=Kfn3F#iAixc@&<7gR<6^B3&N*e|hTbHQUj#?gR!xIhRS zC^)iFzt4hG0_OK$@V8p9Q)+|9p$NCAa6rQcHKzU7{W~mx(>wTS4b2>ODONc(W%{Ps zlYQy@`GPL^iz3iK3hF)?`2QWEKJf6M-G2&!OH9AoI+ZC|F**~kg*83$ONRC7D39s# zLJ4_NPV@gS3p=dBMo}Q7!vJ=}kfD=0x@5?t7YJ)KaqLhbrveE{b0h@gFxhGlXN$#g z#A%$v3c_ikq{HS?K5O;6FTqh-+p_q?-e&JzXP{jNkCP8f?+hMXN-wzJ*f#(?rcDQr z`Yr^I<6SOz9OE{F$8qigc+7DZ2w|KHLf9T~DkuL(a%dhLTSH-5Hy$3?iEtkPo^)8V zIw)#KU!8C`Uj-UTO$;M}$}9nJtd(7U)Q??yr8L*kSZmQT zD8Iv(ogIM2lc4cnnjQnwP5cca)CxB&f9CgyyulLUBOU7YpB!vFl1!|Cf5`o8{{K+6 z^)UbD{4=2xoxx-K$11S}4=x4!3bsFQ@LJ#lz)QAyOh?Cr2*9iZP#*E(kOAe~3%!g#8Bl zD!x$c0oPWrneIv);flWif}tnz0t)PKP<_@4LKjH!21-ZjE)eeBV3FzxuS9x5=mGIS exNir(J#e^Dac`gpLEq^BJi~zM3ON5p_x}Jc7t4VF literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/管道试压包管理模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/管道试压包管理模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..bca8c459edd03ae21f7e6dedb87f5dc6956c65d1 GIT binary patch literal 20992 zcmeHv2UrwI(|>OO76Az&l36kWA~~r91+yZeq9-CED40-01eF5?MTAqqjF`nNm@o&7 z7|;_=%${Hlr-BL7v0v2;!!Da%^||N&fA0IUF#IYlxWh zAso^mP$r5ZbQavBrGnwjuPEaBnRV{}-9^U#V(;5(mEosEa@{0m68a4A%dCrvoj9DL5O%_&mH4Qc7J( zS301tyB7G2TDtl+%L1Z)*wDa*LhkWoEQzG_7)uj>;HpK~EGB;pzef}`+~Y@c29g0# z@+2sE02u+-5#IwK!lMoOvmlQB=X>)<@oBV~zo5)1be zP(X&WX)HhX-S5pG`!h3;EAyZiD=Ls9YL}Hxrm=`3bp9H`CcC&N;Y!E@@L^;k^m~>+ zi2^laL7iAKnQAJiAXXp$pLd-p9Y(NFhf*+bCzc|p%mzE_QF=kWLrN>^T1;^rrLLW* z(TI?uZjTH+fddOVnC(aL{YG8QsB25Ovd95S<~Bufg7K>s_yws8u|mllux$3wkRYVr z{fFp&fGkKoimErmr}LGhW4@{c^jn>CU1{t?Nq-Uzop6{8K@WIp>q!baKwh$PqtlGJ z{_wCjmMtnjX9gse*b-;L8cz6)3fjV*u)Ij`K$@pEFS|4jGq8>sB}L2nQTN8&P|_BD zRA#cWLAtCAFijS8GE|Yb>~he>m8NU+%w+S?8T&#P5TY>U8cpnoleBV)!%3D-8i%~B z+C$%OO;};XqFF7qg<1+DHsD3+VPI`zt{1dSed!{?HX=*71GG*9abZSj>ABLWbl!oG zGhd##JPm|E)zmzdkPiZQ@-?|qKGInbr|9pQ1o?Cv$ffbiq9dv_{{PK%7PU^m5~8E+ zNuZHacKAe7g>-uvbY&Uzwle6pQt7y=VeIe6_v179;z~yv9krwA1)7>VDmp5Jt53BP zTop0=$iv{^%t{&^S5MODxT2!y*GNCOg#{CBA6#XL&|yJE({bh1Naw>Xh>Ow1+AXfq zDE`Hon#)v{f&T3&{judU^b;m0ObAz*qT_0gq0{^{9anfXebgwL--F`ERUbvaMk3%A z7J9TkxDsrnk08Xcsa&`^r0DzL1|8Ry!od||b9y_9j;qM#bUTU;fMRq_-2HjpRUD7^A zGWccLpKd>r<)U$L@yWuKf~TgY=s56QbgppRz?~8i99V?W?Y|kF>qpUN@U+Pc9B7(c zAo-BhGBt(Qj-)iBV=rODiVN136t8eq+Y)AyY)Jv^K0<*slGd~gZWKro%K`h90_^S3 zIqcc9r%9lN6q=G08czz1+ei}#%A4>cmBqRhDhrHFyfR9Ml}HQVA{#y9P=FE?@xl@_80@=?DCx;;_V0b z*JK+ERL>PFzX=E^H8lrOgE7rPl*Tj%Q5w@6L}^XUp?pPC1u%`;*Eg|=)>!T0O7WX1 zCM#WZ485nw*T{v;_v*CL9ty>L(3rD*{s9 z`zJx{L_nmEg5Oca_97tkxdsp@#|-LB977p4X$MI{n>6lOQ*sQ*cWB}u0#e@lCqdea zfH=GSB#5I32z|~&l?5(LahN!UGHl`mNkW_8REKd4$amPp8Dtoc^4>oQ;vxd#?DCT! zt|B1xxtDlxm^g+qY~lt<~xm?WD4u)Q8evndm6%$U8fU0;ceS%#1?rqHadVNae%Sl+`qIhoO+LkpJ2&!U@| zRdY4CMgkrY=b|A@VH3Y4VL8KjkR{>6$qHYBF^`AM5ZP(R;u;HD!m*BQ3FKSEHig3< zfOeI`C<$!>(DEc0Xgh><{~>5TK+BV$peWkz&U;wImw2q$h+ zTe&tBLc7bisWfOixi%F-d&sw`G-!LdHf5k&6HiH-x=FEVI|-ZObe|sdyyV*y;lyp~ zAlIfsXm9y8l?L5ju1$r|9pu|o8nmNan=;U?Nk>VWx=XRClY~ui^+VgVlYE;ZoVZP$ z<=RvT?IYi&(x6@B+EfVbE8nKlpk3wKl!hM3(;*{8p2s?rneeid_d<24ND9*W_2O`; z*Skn&-v@q3VH~cG6JnyrN4J;FgU69HkC0OvXgmsSZ1Pf_6o}0OkDJ}1oYZ}v5fes? zj*fRo8b400yibeMd=0;vlyy@V-triE#3nFu&!wUxA4!)2egCqxm22+Yc>FNk@fF0?F{?P23u}-H#}=UuBNQ@ljljg7xw+u>VA*&lY>*ts}|1Q zS#pnmy~M7{^o{+!@Iw}3I%RhYefCFv+XsO!?W|g`J^yB50flO3eEF*S3HD2l!@&a@ zPeN@cRQT19%L@$Lv`?7V`Q|+N^R>n0vc#%!C7)k(o_c5CqWv!_dKBas{GJrm;mBpR zl5Q3j0sdhN4^Hy)D;)Hoe?$IkGn@Vbh1IVvoat-0UMFMin7%Hn?@#~LxdLFD;O&nzPf=T0*+hTD z#?+cC4NHvnEmH|T{eURI4d z^5B8n`ReUsKlKW>8#Bo8Z~ds+61N$fe~BH~p=Ee_WY5ay`rh*{mh^S&)@Gs8hRpD! zV<9h$_f7t!r7+HBOW`Kny#uCYEnWLHXKKy%&cPNv^v@^HDU0Fl8*kcEv4GnxN~@Qf z((Tjdzf71jCvtrEK5gcjTCW(FVKR!>V#L-DRqx(}cS_YiI<4W+x0=20GJRM3PD^O0 zRoZY#vtz*XGdeRqU*4QL<3n)m*FTDf`!w8L(8j%C*&E-6&zpb$=4Z3MFtGjcq_;2k zTDL#`?a_falj+q;hHB%I)>sVYdejb?m~C0TvSrR#FXP%9i=LIu_0+Oayk}fxq}QR; zU~)jpL94{{shM2_wXEXHuRHAj80oXXcaCah=VQm{}qAoDaYCar&4vb%BO;QCZaa6%ix# z?wb3z(v0i=C8}B@wrxUpt@D@ej^=N?oprfx)!GYNet+riGbOj5#@uN+Z$`ezsMF8y zvG~(~kHMW^rJ0!Oea-pn^5?7PretLF4swk4ADuC~_QKsq)x}HRzr5=6E!KC_yEB3D zJvRBQ>NeNO;MS-=2Ib_HXTHjH-M`ypZrgs^3f8^9RF{?S)cDXc+3)$eg!`s9d(?mI zI?=#;^Z3d<{)N7(-X4+kz z*6MZY&GmO;madN2GVg=si(#3+-dK0~!0|3|+a9MLZ{L2XQ$lQsp6i|Q$3FM{HvNs$ zx_#D9wM~?d{jIa>OU_}(EgA3qTeVTzZ9k{mz;kQwo$TXj8)ap7!&TG&9M@3&^l#g) zDS7vrFu&|c(vWST8)BSh`sAI;n07eJXRE`2rR7X{{A6Q%)rBI<9Hd58nBRQqj@u;x#?pnJq9Nv^S#7N7`N!_N0eofJZ+#afZ z+y?$>`>>&Jg(r7=%&+Y{!>;{xqMwIl(7mI<6J{=RP_IkM$*df;$!-0?i12rVPLJ|i z8Q#%bMKR%Aoax#zZEdTxGrI+p)}7F2t-7WX7CO)_`9u3G!--aJwDjsD7oS{mdg=Vx zF*@d5hAofm65Yn?x$EHTv$lta?kgU?jEP5L#|fGyCY2Cj&dCO}@G9&87!`-h6PXF4|$+hyEqq1E0r7g@;?W{#dnY z9`W4VIeIjER`BAqnJ>?`c{1)&`pRVmgVVEqX)#{k`(=3W*g0wjH_BdhzG!f;KCf#< z^pa73Xe#8Djfa z6iOBA*In9Ib8$-7LPsON^p66r?1v#fFo(xSkDE+AFon;P!t0x#9)>h`*r~(!dT1U8 z8jno75OHgF6NfYR|JFjsv9=WNx z`&tD5^-8VCp68G`;`oZ#BgbHjo`kIXh~@;`s%YWMmnDQoLi zvSysMI2Nffy^829?Uygu`?sfl*68*oI>Q=*{U_g=tzfhMTzR$m%5A;57l$4`eCB@h zX$60WMdc?bt05d^wt{eIm$(TD(GwDe4@jOEJ$V?;DR$;w>U-KzBe1^vxAe#DdKT>Q z<5@nRRW`qD{fyG{D=c&_+}yKy;Me-zl><6&;p>dEzxD9Y)1nAP?b6gtKla)ItFaI3(GN@lK7F!#RR+)*TxTzok zw#N8y4O5nCI2u5Ddla7X;7e>yaKOQ|$mW@fcT-?)%yeLr4Alz1KQn}&o3=a|oJ7+O z6|?{^+8yLcVppRbN_xW7UQ|+gF~z$c%G0)ukt#2>BhpFB!vp_@@DNS>Y!J#7S=9=1M;X7dXz_x$NeURRXYOs`V*zvArLAkJk_7(73=#g zB;1?5eMV660s(OYI+G`ekhNWnYTE%#f>Ur)P)#&?cJ0xXu;5%L0)9krhjbx4MMWh= z1)h?UlCmnV$Z6kdXV4dAPpk?ahuh=Shgp%1LZReS} z>v-m!cb{zCzoOQ{B{F`Natoa{x_bJSR@OFcZC%~mJv_a9XZ3^4D+JSh#8PmaW_N?A=$g z|G>dRhfke8bM{=>`3n~-|F~9l{l?8(w`(3eeDwIq(`V0L)V+Q8{=>)mPoKYFxmbil z7ptjcV&&3=ab856^yW`>k7DXxfK6Njr8X z+)B7}@IV)f3a^Mur?;AxKIFfDR@MI0n(Q{K-KyeTkBu_u?y%IU-GN(Gi@oRT8kHyO zaYyb?u^ao)Dl2yTH?I?UPX^cIm9=r~{*;sSFzy>qYwfh$;q8;+!VcEnn7hL*J8Z@H zX!Qf0e;(8OHABl+pM0Hlbo$u_{-?qz#o>W9eQdkCZlC)0;fk7^j%QMyoXN~Bc*x0} z_o`#igEi)*qX$>Ei<_c&EGux^&8^N2wJCLP_ut!Ky)c=CUU5oFJQG%WICIXopv}Kr za1OM*ckg`nb*d+)x)}UQE|aO=zGqFc_TS$3i(5n5fvJ0U4L*Bz!>QBOdX^L2>#dDC z+&B^VWbVSA7c0jbT+Crlua2r7pdY>}ZsYUB!&BD3I!CFP z6|RGquf5j(_|)HZ`w^vU(I*8Y?MCj5fwf~kd7M*^8*AXOGGW%({yjX6^x~(df6)wo zTDSM~RQ)$Ik5@(OO+V&5B4J&(@(`}4$xJl?VeJ^!*C1%VZ_Ay-gH~Txn|7gUu z0-k0nk%c*4N(HZsGl?;4YVjD4+diubgC_p+d(bWw%t!5IdpD=YMIrJFE=vWViSx4vm$e~ z%pz0VtJiiaGrv90hP`-o%TH&g>y{j;E6GTFb^6#LJHGMR$dEOkG>X=g-d9OjpxFDy zEBpNU#eCB@qjk+YB|7xITkmE4=R6zEk@av9+%hLBwfJ_)@5t;Up+J@|8ca*Xo%u%&QOg=i~=Lx?vH0hz@eeikZ0or@O3ti z^oBK;ZENY?<&Z(Hjs z`$YEh9Zu10DY_kXokda7s4~;2miT4>v1iSMl#|rnTWg4?Q`{NU)vAg6nXk3TJsxS& zuGY7$$o)Dv{#6F8;0P6ds1vNV_D8^9wJ#I0NCBLG6fgiZOtUL$MZ1B3!6PY@m4Kp) zrR7p_#4l|njKh&D7*ZI=H!YU56vh?ce3?lnZ2TgFek3=3Gtb6HI^Kujvzhp@)Cmu0 z_+(N73n7gF?Qg2CAe|x{r@mTc5&x!NXQD{)pgv$U!q-js|FwmX2+AW;&*JCch9qsgE@J%?V;Si5m&iu_^Egax~DLB{-lYwOT;M zawLN{1wRL{>mk&vg$sO3X$9ZFX+dsmq8Wh{#wh_s0H+ivi_V9wMfOt@Q$L7BAqiYI zOiQyxT3{6L8=<`vsfvLQs^Q1stUws$$5a*4f{J7`uMK!QhF9o{_ysp7Kwdv?ZguR( z|JV93)8~YSqiTkV`oZ--)(kBOt$=cL&HT46U|jw2@$~;kT{PC)e}jL-0@w|3gu|x@ z7d(#IILP7C0mmlTprQUZ3+{B{3L@s1G&u`JNDXMD%NDR2d~j=}f!< z_6(3N9yX<;Jf_PE#pFpf&HukF3|NhgqEtYKe(dHULoXH7tK-<9Oiua}lHmaJD~Q7! zv00og632B4?a;t2s1b;v&>@aX)w9>U{Tvjdu|1bZ?5y|Ras=8{@Hj4EdUx>P()z&# z$F9NPF>MBT)Mp`h9Ipz%;~2FCJdRW6!Q+^>3xqJv1tF|YoMFoTCpR)jC|KkYpaLf#aS!xL3lOXu7KBK7lYBW&k@fJf_f!S4V7 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/设计变更单统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/设计变更单统计模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..78fa54a9cb8b9146484f2902a00ccdf1dac4462a GIT binary patch literal 20992 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 S)d_e4Ak__aXfTg|ru#3hF3(;7 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/质量专项检查模版.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/质量专项检查模板.xls similarity index 73% rename from SGGL/FineUIPro.Web/File/Excel/CQMS/质量专项检查模版.xls rename to SGGL/FineUIPro.Web/File/Excel/CQMS/质量专项检查模板.xls index 34652ff00f25aeffb35b4f26fc19890efa845138..88ef1622c1e9e8f46f050000a62c0da3abe4012b 100644 GIT binary patch delta 2726 zcmbVO2~-qE8veVdr+bDOm;-cXfRW}LJPE@ff&v4|p>HEmJP7NF;<<`pK}5s>(IAK* zwuwg~-icRakqCm}P#^?18y~I&#q~hebJt}+jc8bVs|Ju4-S_srt$Ke|eg9EaUvhO4$w6C$q0#*3q6E0(G>vbR=+Vz*?s1Sl_yRn8U5R2s#5R zKr`D9%uI7Kxr(skY7{DNmR!m0P^!5#3Yt)H3GxVyYA^~=6bqEvGN+2WB9A~mJc?Cu zUW&nSf#SbK4egKWw0Jrxaa5ENM@1=B+!>{qyP}i`F;kjrRO+Z$vd*!zTbZEK`;JFj z0Gfz~We|^Q5_rQF7 zf_zH&E=BvOsiR%WNQcN(U(cXVXk#^_j= zQLc`To_@neec){{7@Tzef#dWO#`qZYcoIS^7E2{kwY9Zc@9gNTf47+4RlJA!T2P2U z2O|W83y=yzpdk2qa6;^aXuEjF{e>U}l#pgbVk-%9I41{^5C}+0AQVy*@=ix~pcF!- zvv&w>J8dE3@`;^3(^Pm!x#|>o?lk?{)nB{sYs)M~|O$ zbw7Ll;+K~_uU=zj1PJrt`!BDltA#%*; z-lNNJwCoDVS8IPv)liGd(nqfB@W@$ys@K0}=YyE`osFswA|DFYbtLqPln2)r&i7iE zFz39vb?a&0ZFBanikFp-yIrN(xLFx&55I2uF0J7W+jA_rc%CV&{lgKFhEpls9edmJ zCe)`tsLw9^vO`dq`*cFoy#ubbOJlB%PDrM!a>7ntKcRnPPVee2yLCjjBNb-<`!~6zK(6uhq>Rn^+V(#>BSTuhmG(TNC^mTaLOrb`!?41O-6Z2>7Qa68jf75 z(`nq-jD4xoj&H3AdtlnSW6I^Ls~j%pk!g1q-<@GUZ-2tk$7?H-4?it0%ZbZNBl6Rq z+=5i5@z;t2lbQ`Ndk$Xns!qA0{s@?B@fUf>Xf50@)4Za`?|WIoN{2CDByCzbeeyW1 zCNVARwPN1GuF|>``_9bjmUvBCm40E;p@<)&sc}x3);tiW=T3DnMdb(Ed^10)=x6Ko zO)W?Br_Y%5Fq?rLdH&3oPlsj0Fe0URgl)yHvTwepz&VNfWC*Q@toHPkZD}&}Zd5NW1QJzT%R(S?6Xf(YfdLRs_$j zICJ>ycfLo8vwMBMdTe#Ex@mQxk4;|fhQ=;`-&00m>g=s=q>Ub@U$<`dU7n;3%ZV#g zy2PcAy?ZdQ(X}ntliXEg)6#8b7vcnqUq7U@QO=k|&-jO5~(7$Va zI%;2jG3(s9RP7qLcFfejz4X`J&h->rIE)(p#zc^q)##?lBtig0HG~}GP)iumm?uOa zf?h}ld`DxE0O7fvg)418wxL~C^Iva0y|bGg?6k#t!A zzVf+@U`IPU6y8_xw39&{a5oyW)Xl%gQ3XFuzqQf_` z2-JNSGt&JVtgso3mbMz@M4Xz8zp0GH3x|YQ(iV=v^g<9NKsFPGB!YOQKBE93bg}m% z3L%u<`jHSJ`YoanLMPd8V-UjIZ$)i2>g~V-{t4ZHc$%LeEC-Pp+wsC8w15l*=Bt>g z3@9^xL=hl1%QflZ3WK6}UW8*gE-+*WvlkD=_bp$d&xwK3 vn}O~W$A(m$4ONp=&`1ZTQpZUoDVkJ-57xpbJM2%Tkw!+thymam^%u delta 788 zcmZ9KO=uHA6vzKFJK5cYCcD|BZh}H%)fN@l@(T(Ssic@#COSutKfIx4R_^?($~d@Be@7yq%fq15v#z zZtoL?`GMy`Y@(RF)c&{GZ2Hj&U^7R+^TQLOrq0Ll>CQK6_N~}R7u8ki^m{96QhL+I zZbQ=n8cVg)(^QVWbG+ivt$rG{l2oy}>4p{8l3|TV(VXSxE&lq?rp;qIUGJ!OK*b9m zkcCa}*-f|H@$t|t2ChSv?dD@G7h|PDZw_b#ZiWunZYCSKC>2TtsO>atyHvGxv5v0W zWgZu7m&eaR-jnw8a@yC!{C<%C2z0~o^&!WvnR8sa;`Gu5+o6VIC3xXr0okBuPM(&W ztddJ_&UlH;M0a0h7xw{OjNly3@;iwgxW+%YQv6@<3-swd^lgHl8JB)<>*CgKI^sxb8_N;uvDM z*A}r39gE3`4H%e7MQp-^YljS(;tk-(?UKoUOSYZ`hx_g0)s(8NRmmi8j{AO zwMa3k7R8wSa}FzYCca~9WH9j_tdYrNGQH-C8qdIf>EJQFJY1xnqg~#>5nVkxmXm7q fOZkPj;kcCMYS40{NnMp?y;}eM)tdD>hu*1wwhN*q diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/质量巡检模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/质量巡检模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..7cbb71c6754f20fb178c4e64cc33dfe2649c1e04 GIT binary patch literal 14336 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 literal 0 HcmV?d00001 diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/问题统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/问题统计模板.xls new file mode 100644 index 0000000000000000000000000000000000000000..bc5207106c3bf7f716ce86eea6be42652ed3d315 GIT binary patch literal 14336 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