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 00000000..2b2ee259 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/NCR统计模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/共检通知单模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/共检通知单模板.xls new file mode 100644 index 00000000..09e863ef Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/共检通知单模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测合格率统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测合格率统计模板.xls new file mode 100644 index 00000000..076a94ad Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测合格率统计模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测模板.xls new file mode 100644 index 00000000..394f8d82 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/控制点检查检测模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/无损检测管理模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/无损检测管理模板.xls new file mode 100644 index 00000000..af44c5e9 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/无损检测管理模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/检查人检查次数统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/检查人检查次数统计模板.xls new file mode 100644 index 00000000..e27bc5c2 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/检查人检查次数统计模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/热处理检测模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/热处理检测模板.xls new file mode 100644 index 00000000..30fdcbbd Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/热处理检测模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/现场检查情况模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/现场检查情况模板.xls new file mode 100644 index 00000000..d5a7bd28 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/现场检查情况模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/现场焊接无损检测情况模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/现场焊接无损检测情况模板.xls new file mode 100644 index 00000000..42d0b646 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/现场焊接无损检测情况模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/管道试压包管理模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/管道试压包管理模板.xls new file mode 100644 index 00000000..bca8c459 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/管道试压包管理模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/设计变更单统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/设计变更单统计模板.xls new file mode 100644 index 00000000..78fa54a9 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/设计变更单统计模板.xls differ 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 34652ff0..88ef1622 100644 Binary files a/SGGL/FineUIPro.Web/File/Excel/CQMS/质量专项检查模版.xls and b/SGGL/FineUIPro.Web/File/Excel/CQMS/质量专项检查模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/质量巡检模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/质量巡检模板.xls new file mode 100644 index 00000000..7cbb71c6 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/质量巡检模板.xls differ diff --git a/SGGL/FineUIPro.Web/File/Excel/CQMS/问题统计模板.xls b/SGGL/FineUIPro.Web/File/Excel/CQMS/问题统计模板.xls new file mode 100644 index 00000000..bc520710 Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/CQMS/问题统计模板.xls differ