From d8ca6432a27da80402f04f52d0b989628a0b2117 Mon Sep 17 00:00:00 2001 From: geh <1923421292@qq.com> Date: Thu, 21 Aug 2025 17:43:07 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E9=87=8F=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...QHSE_V2025-08-18-geh(EPC项目现场质量数据).sql | 26 + SGGL/FineUIPro.Web/FineUIPro.Web.csproj | 40 ++ .../ZHGL/CQMSData/CQMSBasicData.aspx | 168 +++++ .../ZHGL/CQMSData/CQMSBasicData.aspx.cs | 521 ++++++++++++++ .../CQMSData/CQMSBasicData.aspx.designer.cs | 125 ++++ .../ZHGL/CQMSData/CQMSCheckData.aspx | 156 +++++ .../ZHGL/CQMSData/CQMSCheckData.aspx.cs | 477 +++++++++++++ .../CQMSData/CQMSCheckData.aspx.designer.cs | 125 ++++ .../CQMSData/CQMSEquipAndMachineData.aspx | 134 ++++ .../CQMSData/CQMSEquipAndMachineData.aspx.cs | 438 ++++++++++++ .../CQMSEquipAndMachineData.aspx.designer.cs | 125 ++++ .../ZHGL/CQMSData/CQMSNoticeDetailsData.aspx | 262 +++++++ .../CQMSData/CQMSNoticeDetailsData.aspx.cs | 663 ++++++++++++++++++ .../CQMSNoticeDetailsData.aspx.designer.cs | 125 ++++ .../ZHGL/CQMSData/WeldingData.aspx | 154 ++++ .../ZHGL/CQMSData/WeldingData.aspx.cs | 424 +++++++++++ .../CQMSData/WeldingData.aspx.designer.cs | 125 ++++ SGGL/WebAPI/WebAPI.csproj | 1 + 18 files changed, 4089 insertions(+) create mode 100644 DataBase/版本日志/SUBQHSE_V2025-08-18-geh(EPC项目现场质量数据).sql create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.designer.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.cs create mode 100644 SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.designer.cs diff --git a/DataBase/版本日志/SUBQHSE_V2025-08-18-geh(EPC项目现场质量数据).sql b/DataBase/版本日志/SUBQHSE_V2025-08-18-geh(EPC项目现场质量数据).sql new file mode 100644 index 00000000..ac8b73c3 --- /dev/null +++ b/DataBase/版本日志/SUBQHSE_V2025-08-18-geh(EPC项目现场质量数据).sql @@ -0,0 +1,26 @@ +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) +VALUES (N'E64D67C1-BA8E-4329-AFEE-23F9BC45CDDD', N'现场质量数据', NULL, N'', 170, N'0', N'Menu_ZHGL', '0', '0', '1'); + + +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) +VALUES (N'51EA8258-C81D-4C33-B939-769450979D14', N'质量基本信息', NULL, N'ZHGL/CQMSData/CQMSBasicData.aspx', 10, N'E64D67C1-BA8E-4329-AFEE-23F9BC45CDDD', N'Menu_ZHGL', '0', '1', '1'); + + + +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) +VALUES (N'6E1F4EF5-47CA-4DF8-B561-3C98DBD88EA2', N'焊接管理', NULL, N'ZHGL/CQMSData/WeldingData.aspx', 20, N'E64D67C1-BA8E-4329-AFEE-23F9BC45CDDD', N'Menu_ZHGL', '0', '1', '1'); + + +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) +VALUES (N'C9076E93-29DB-419C-8902-789163C6554A', N'现场质量检查', NULL, N'ZHGL/CQMSData/CQMSCheckData.aspx', 30, N'E64D67C1-BA8E-4329-AFEE-23F9BC45CDDD', N'Menu_ZHGL', '0', '1', '1'); + + + +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) +VALUES (N'64FED633-2436-426B-A230-7C0038E44AD4', N'设备材料计量器具质量文件上报', NULL, N'ZHGL/CQMSData/CQMSEquipAndMachineData.aspx', 40, N'E64D67C1-BA8E-4329-AFEE-23F9BC45CDDD', N'Menu_ZHGL', '0', '1', '1'); + + +INSERT INTO [dbo].[Sys_Menu] ([MenuId], [MenuName], [Icon], [Url], [SortIndex], [SuperMenu], [MenuType], [IsOffice], [IsEnd], [IsUsed]) +VALUES (N'12E7E1FD-6D8D-41D8-801C-E15B68805213', N'共检点明细', NULL, N'ZHGL/CQMSData/CQMSNoticeDetailsData.aspx', 50, N'E64D67C1-BA8E-4329-AFEE-23F9BC45CDDD', N'Menu_ZHGL', '0', '1', '1'); + +go \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj index 337b812d..6b79b476 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj @@ -2205,6 +2205,11 @@ + + + + + @@ -18776,6 +18781,41 @@ ZHDD.aspx + + CQMSBasicData.aspx + ASPXCodeBehind + + + CQMSBasicData.aspx + + + CQMSCheckData.aspx + ASPXCodeBehind + + + CQMSCheckData.aspx + + + CQMSEquipAndMachineData.aspx + ASPXCodeBehind + + + CQMSEquipAndMachineData.aspx + + + CQMSNoticeDetailsData.aspx + ASPXCodeBehind + + + CQMSNoticeDetailsData.aspx + + + WeldingData.aspx + ASPXCodeBehind + + + WeldingData.aspx + AccidentCauseReportBar.aspx ASPXCodeBehind diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx new file mode 100644 index 00000000..f4f15ea6 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx @@ -0,0 +1,168 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CQMSBasicData.aspx.cs" Inherits="FineUIPro.Web.ZHGL.CQMSData.CQMSBasicData" %> + + + + + + + 质量基本信息 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.cs new file mode 100644 index 00000000..b5f6d22e --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.cs @@ -0,0 +1,521 @@ +using BLL; +using System; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + public partial class CQMSBasicData : PageBase + { + + //使用DateTime.Now获取当前日期,然后获取该月第一天 + DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + + public Model.SGGLDB db = Funs.DB; + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + // 绑定表格 + this.BindGrid(); + } + } + + #region 绑定数据 + + /// + /// 绑定数据 + /// + private void BindGrid() + { + var list = BaseDataService.GetBeUnderConstruction(); + + if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim())) + { + list = list.Where(p => p.ProjectName.Contains(this.txtProjectName.Text.Trim())).ToList(); + } + + var result = new List(); + foreach (var project in list) + { + int value1 = 0; // 五环专业工程师 + int value2 = 0; // 分包商专业工程师 + int value3 = 0; + int value4 = 0; + int value5 = 0; + int value6 = 0; + int value7 = 0; + int value8 = 0; + int value9 = 0; + int value10 = 0; + int value11 = 0; + int value12 = 0; + int value13 = 0; + int value14 = 0; + int value15 = 0; + int value16 = 0; + int value17 = 0; + int value18 = 0; + + + //根据项目获取总包单位 + var generalContractorUnit = Funs.DB.Project_ProjectUnit.FirstOrDefault(pu => + pu.ProjectId == project.ProjectId && pu.UnitType == Const.ProjectUnitType_1); // 总包单位 + + if (generalContractorUnit != null) + { + var constructionManagerGCs = (from x in Funs.DB.Project_ProjectUser + where x.ProjectId == project.ProjectId && x.UnitId == generalContractorUnit.UnitId && + x.IsPost == true && x.RoleId.Contains(Const.ZBCNEngineer) //专业工程师 + select x).ToList(); + //五环专业工程师 + value1 = constructionManagerGCs.Count; + } + + // 获取分包单位的专业工程师 + var subContractorUnits = (from x in Funs.DB.Project_ProjectUnit + where x.ProjectId == project.ProjectId && x.UnitType == Const.ProjectUnitType_2 //分包单位 + select x).ToList(); + + foreach (var unit in subContractorUnits) + { + var subContractorUsers = (from x in Funs.DB.Project_ProjectUser + where x.ProjectId == project.ProjectId && x.UnitId == unit.UnitId && + x.IsPost == true && x.RoleId.Contains(Const.ZBCNEngineer) //分包商专业工程师 + select x).ToList(); + + value2 += subContractorUsers.Count; + } + + #region 一般施工方案审批 + + var query1 = (from c in db.Comprehensive_GeneralPlanApproval + where c.ProjectId == project.ProjectId + select new + { + c.ApprovalDate, + c.ProjectId, + c.CompileDate + }).ToList(); + value3 = query1.Where(x => x.ApprovalDate >= firstDayOfMonth).Count(); + value4 = query1.Count(); + + #endregion + + #region 危大工程方案审批 + + var query2 = (from c in db.Comprehensive_MajorPlanApproval + where c.ProjectId == project.ProjectId + select new + { + c.ApprovalDate, + c.ProjectId, + c.ExpertReviewMan, + c.IsReview, + c.CompileDate + }).ToList(); + value5 = query2.Where(x => x.ApprovalDate >= firstDayOfMonth).Count(); + value6 = query2.Count(); + + #endregion + + #region ITP发布情况 + + var query3 = (from c in db.Inspection_Test_Plan + where c.ProjectId == project.ProjectId + select new + { + c.ApprovalDate, + c.ProjectId, + c.CreateDate + }).ToList(); + value7 = query3.Where(x => x.CreateDate >= firstDayOfMonth).Count(); + value8 = query3.Count(); + + #endregion + + #region 设计交底(次) + + var query4 = (from c in db.Comprehensive_DesignDetails + where c.ProjectId == project.ProjectId + select new + { + c.Status, + c.CompileDate, + c.ProjectId, + }).ToList(); + value9 = query4.Where(x => x.CompileDate >= firstDayOfMonth).Count(); + value10 = query4.Count(); + + #endregion + + #region 图纸会审(次) + + var query5 = (from c in db.Comprehensive_ReviewDrawings + where c.ProjectId == project.ProjectId + select new + { + c.Status, + c.ReviewDate, + c.ProjectId, + }).ToList(); + value11 = query5.Where(x => x.ReviewDate >= firstDayOfMonth).Count(); + value12 = query5.Count(); + + #endregion + + #region 设计变更管理 + + var query6 = (from c in db.Comprehensive_ReviewDrawings + where c.ProjectId == project.ProjectId + select new + { + c.Status, + c.ReviewDate, + c.ProjectId, + }).ToList(); + value13 = query6.Where(x => x.ReviewDate >= firstDayOfMonth).Count(); + value14 = query6.Count(); + + #endregion + + #region 现场质量培训 + + var query7 = (from x in Funs.DB.Comprehensive_InspectionPerson + join p in Funs.DB.Base_Project on x.ProjectId equals p.ProjectId into pGroup + from p in pGroup.DefaultIfEmpty() + join u in Funs.DB.Base_Unit on x.UnitId equals u.UnitId into uGroup + from u in uGroup.DefaultIfEmpty() + join y in Funs.DB.SitePerson_Person on x.InspectionPersonId equals y.PersonId into yGroup + from y in yGroup.DefaultIfEmpty() + join m in Funs.DB.Base_WorkPost on y.WorkPostId equals m.WorkPostId into mGroup + from m in mGroup.DefaultIfEmpty() + where p.ProjectId == project.ProjectId && x.IsTrain == true + select new + { + x.ProjectId, + p.ProjectName, + u.UnitId, + u.UnitName, + Name = x.PersonName, + Sex = y.Sex == null ? "" : (y.Sex == "1" ? "男" : "女"), + y.IdentityCard, + WorkPostName = m.WorkPostName == null ? "" : m.WorkPostName, + Phone = y.Telephone, + x.CompileDate + }).ToList(); + + value17 = query7.Where(x => x.CompileDate >= firstDayOfMonth).Count(); + value18 = query7.Count(); + + #endregion + + + // 构造动态对象用于绑定到Grid + result.Add(new + { + project.ProjectId, + project.ProjectName, + project.ShortName, + Value1 = value1, + Value2 = value2, + Value3 = value3, // 一般施工方案审批本月 + Value4 = value4, // 一般施工方案审批累计 + Value5 = value5, // 危大工程审批情况本月 + Value6 = value6, // 危大工程审批情况累计 + Value7 = value7, // ITP发布情况本月 + Value8 = value8, // ITP发布情况累计 + Value9 = value9, // 设计交底本月 + Value10 = value10, // 设计交底累计 + Value11 = value11, // 图纸会审本月 + Value12 = value12, // 图纸会审累计 + Value13 = value13, // 设计变更管理本月 + Value14 = value14, // 设计变更管理累计 + Value15 = value15, // 现场质量培训本月培训次数 + Value16 = value16, // 现场质量培训累计培训次数 + Value17 = value17, // 现场质量培训本月培训人数 + Value18 = value18 // 现场质量培训累计培训人数 + }); + } + + var pagedResult = result.Skip(Grid1.PageIndex * Grid1.PageSize).Take(Grid1.PageSize).ToList(); + Grid1.RecordCount = result.Count; + Grid1.DataSource = pagedResult; + Grid1.DataBind(); + + + JObject summary = new JObject(); + summary.Add("ProjectName", "合计"); + summary.Add("Value1", pagedResult.Sum(p => p.Value1)); + summary.Add("Value2", pagedResult.Sum(p => p.Value2)); + summary.Add("Value3", pagedResult.Sum(p => p.Value3)); + summary.Add("Value4", pagedResult.Sum(p => p.Value4)); + summary.Add("Value5", pagedResult.Sum(p => p.Value5)); + summary.Add("Value6", pagedResult.Sum(p => p.Value6)); + summary.Add("Value7", pagedResult.Sum(p => p.Value7)); + summary.Add("Value8", pagedResult.Sum(p => p.Value8)); + summary.Add("Value9", pagedResult.Sum(p => p.Value9)); + summary.Add("Value10", pagedResult.Sum(p => p.Value10)); + summary.Add("Value11", pagedResult.Sum(p => p.Value11)); + summary.Add("Value12", pagedResult.Sum(p => p.Value12)); + summary.Add("Value13", pagedResult.Sum(p => p.Value13)); + summary.Add("Value14", pagedResult.Sum(p => p.Value14)); + summary.Add("Value15", pagedResult.Sum(p => p.Value15)); + summary.Add("Value16", pagedResult.Sum(p => p.Value16)); + summary.Add("Value17", pagedResult.Sum(p => p.Value17)); + summary.Add("Value18", pagedResult.Sum(p => p.Value18)); + + Grid1.SummaryData = summary; + } + + #endregion + + #region GV 数据操作 + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + this.BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + this.BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + this.BindGrid(); + } + + #endregion + + + #region 关闭弹出窗 + + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + + #endregion + + #region 导出按钮 + + /// 导出按钮 + /// + /// + /// + 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.BindGrid(); + Response.Write(GetGridTableHtml(Grid1)); + Response.End(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + + // 计算总列数,用于处理表头 + int totalColumns = 0; + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + totalColumns += groupField.Columns.Count; + } + else + { + totalColumns += 1; + } + } + + // 第一行表头 - 居中显示 + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 对于分组列,使用colspan跨越子列数量,文本居中 + sb.AppendFormat("", groupField.Columns.Count, + groupField.HeaderText); + } + else + { + // 普通列,跨两行,文本居中 + sb.AppendFormat("", column.HeaderText); + } + } + + sb.Append(""); + + // 第二行表头(仅包含分组列的子列)- 居中显示 + bool hasGroupColumns = grid.Columns.Any(c => c is GroupField && ((GroupField)c).Columns != null); + if (hasGroupColumns) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 添加分组列的子列标题,居中显示 + foreach (GridColumn subColumn in groupField.Columns) + { + sb.AppendFormat("", subColumn.HeaderText); + } + } + } + + sb.Append(""); + } + + // 添加数据行 + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + string html = row.Values[subColumn.ColumnIndex].ToString(); + if (subColumn.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + else + { + // 处理普通列 + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + + sb.Append(""); + } + + // 添加合计行 + if (grid.SummaryData != null) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = subColumn.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(subColumn, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + else + { + // 处理普通列 + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = column.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(column, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else if (!string.IsNullOrEmpty(dataField) && dataField == "ProjectName") + { + sb.Append(""); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + + sb.Append(""); + } + + sb.Append("
{1}{0}
{0}
{0}{0}
{0}{0}合计
"); + + return sb.ToString(); + } + + #endregion + + protected void btSearch_Click(object sender, EventArgs e) + { + BindGrid(); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.designer.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.designer.cs new file mode 100644 index 00000000..eab6fb44 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSBasicData.aspx.designer.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + + + public partial class CQMSBasicData + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx new file mode 100644 index 00000000..2406e6f7 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx @@ -0,0 +1,156 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CQMSCheckData.aspx.cs" Inherits="FineUIPro.Web.ZHGL.CQMSData.CQMSCheckData" %> + + + + + + + 现场质量检查 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.cs new file mode 100644 index 00000000..e1bd4c95 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.cs @@ -0,0 +1,477 @@ +using BLL; +using System; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + public partial class CQMSCheckData : PageBase + { + //使用DateTime.Now获取当前日期,然后获取该月第一天 + DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + + public Model.SGGLDB db = Funs.DB; + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + // 绑定表格 + this.BindGrid(); + } + } + + #region 绑定数据 + + /// + /// 绑定数据 + /// + private void BindGrid() + { + var list = BaseDataService.GetBeUnderConstruction(); + + if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim())) + { + list = list.Where(p => p.ProjectName.Contains(this.txtProjectName.Text.Trim())).ToList(); + } + + var result = new List(); + foreach (var project in list) + { + int value1 = 0; + int value2 = 0; + int value3 = 0; + int value4 = 0; + string value5 = "0%"; + string value6 = "0%"; + int value7 = 0; + int value8 = 0; + int value9 = 0; + int value10 = 0; + int value11 = 0; + int value12 = 0; + int value13 = 0; + int value14 = 0; + string value15 = "0%"; + + + + #region 现场共检点、共检合格点、共检一次合格率 + + //所有集合 + List totalManagementList = BLL.InspectionManagementService.getViewMonthReportInspectionManagementByCNProfessionalIdAndDate(project.ProjectId, "", Convert.ToDateTime("2015-01-01"), DateTime.Now, false); + //当期集合 + List managementList = BLL.InspectionManagementService.getViewMonthReportInspectionManagementByCNProfessionalIdAndDate(project.ProjectId, "", firstDayOfMonth, DateTime.Now, false); + + + value1 = managementList.Count(); + value2 = totalManagementList.Count(); + + value3 = managementList.Count(x => x.IsOnceQualified == true); + value4 = totalManagementList.Count(x => x.IsOnceQualified == true); + + + if (value1 != 0)//被除数不能为零 + { + value5 = Math.Round((double)value3 / (double)value1 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + if (value2 != 0)//被除数不能为零 + { + value6 = Math.Round((double)value4 / (double)value2 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + #endregion + + + #region 计量器具管理(台套) + + var query = (from c in db.Comprehensive_InspectionMachine + where c.ProjectId == project.ProjectId && c.InspectionType.Equals("计量") + select new + { + c.InspectionDate, + c.UnitsCount, + c.ProjectId, + }).ToList(); + value7 = query.Where(x => x.InspectionDate >= firstDayOfMonth).Sum(x => x.UnitsCount ?? 0); + value8 = query.Sum(x => x.UnitsCount ?? 0); + + #endregion + + + #region 质量专项检查 + + var query1 = (from c in db.Check_JointCheck + where c.ProjectId == project.ProjectId + select new + { + c.CheckDate, + c.ProjectId, + c.CheckType + }).ToList(); + value9 = query1.Where(x => x.CheckDate >= firstDayOfMonth).Count(); + value10 = query1.Count(); + + #endregion + + #region 危险源检查 + + var query2 = from c in db.Comprehensive_NCRManagement + where c.ProjectId == project.ProjectId + select new + { + c.NCRManagementId, + c.ProjectId, + c.IssuedDate, + c.Status, + c.ImplementationFrontState, + }; + + var AllList = query2.ToList(); + var unitNCRStatic = query2.Where(x => x.IssuedDate >= firstDayOfMonth); + + + value11 = unitNCRStatic.Count(); + value12 = AllList.Count(); + + value13 = unitNCRStatic.Where(x => x.ImplementationFrontState == "已闭合").Count(); + value14 = AllList.Where(x => x.ImplementationFrontState == "已闭合").Count(); + + + + if (value12 != 0)//被除数不能为零 + { + value15 = Math.Round((double)value14 / (double)value12 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + // 构造动态对象用于绑定到Grid + result.Add(new + { + project.ProjectId, + project.ProjectName, + project.ShortName, + Value1 = value1, + Value2 = value2, + Value3 = value3, + Value4 = value4, + Value5 = value5, + Value6 = value6, + Value7 = value7, + Value8 = value8, + Value9 = value9, + Value10 = value10, + Value11 = value11, + Value12 = value12, + Value13 = value13, + Value14 = value14, + Value15 = value15, + }); + } + + var pagedResult = result.Skip(Grid1.PageIndex * Grid1.PageSize).Take(Grid1.PageSize).ToList(); + Grid1.RecordCount = result.Count; + Grid1.DataSource = pagedResult; + Grid1.DataBind(); + + var Value1Sum = pagedResult.Sum(p => p.Value1); + var Value2Sum = pagedResult.Sum(p => p.Value2); + var Value3Sum = pagedResult.Sum(p => p.Value3); + var Value4Sum = pagedResult.Sum(p => p.Value4); + var Value12Sum = pagedResult.Sum(p => p.Value12); + var Value14Sum = pagedResult.Sum(p => p.Value14); + JObject summary = new JObject(); + summary.Add("ProjectName", "合计"); + summary.Add("Value1", Value1Sum); + summary.Add("Value2", Value2Sum); + summary.Add("Value3", Value3Sum); + summary.Add("Value4", Value4Sum); + if (Value1Sum != 0) + { + summary.Add("Value5", Math.Round((double)Value3Sum / (double)Value1Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value5", "0%"); + } + if (Value2Sum != 0) + { + summary.Add("Value6", Math.Round((double)Value4Sum / (double)Value2Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value6", "0%"); + } + summary.Add("Value7", pagedResult.Sum(p => p.Value7)); + summary.Add("Value8", pagedResult.Sum(p => p.Value8)); + summary.Add("Value9", pagedResult.Sum(p => p.Value9)); + summary.Add("Value10", pagedResult.Sum(p => p.Value10)); + summary.Add("Value11", pagedResult.Sum(p => p.Value11)); + summary.Add("Value12", Value12Sum); + summary.Add("Value13", pagedResult.Sum(p => p.Value13)); + summary.Add("Value14", Value14Sum); + if (Value12Sum != 0) + { + summary.Add("Value15", Math.Round((double)Value14Sum / (double)Value12Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value15", "0%"); + } + Grid1.SummaryData = summary; + } + + #endregion + + #region GV 数据操作 + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + this.BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + this.BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + this.BindGrid(); + } + + #endregion + + + #region 关闭弹出窗 + + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + + #endregion + + #region 导出按钮 + + /// 导出按钮 + /// + /// + /// + 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.BindGrid(); + Response.Write(GetGridTableHtml(Grid1)); + Response.End(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + + // 计算总列数,用于处理表头 + int totalColumns = 0; + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + totalColumns += groupField.Columns.Count; + } + else + { + totalColumns += 1; + } + } + + // 第一行表头 - 居中显示 + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 对于分组列,使用colspan跨越子列数量,文本居中 + sb.AppendFormat("", groupField.Columns.Count, + groupField.HeaderText); + } + else + { + // 普通列,跨两行,文本居中 + sb.AppendFormat("", column.HeaderText); + } + } + + sb.Append(""); + + // 第二行表头(仅包含分组列的子列)- 居中显示 + bool hasGroupColumns = grid.Columns.Any(c => c is GroupField && ((GroupField)c).Columns != null); + if (hasGroupColumns) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 添加分组列的子列标题,居中显示 + foreach (GridColumn subColumn in groupField.Columns) + { + sb.AppendFormat("", subColumn.HeaderText); + } + } + } + + sb.Append(""); + } + + // 添加数据行 + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + string html = row.Values[subColumn.ColumnIndex].ToString(); + if (subColumn.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + else + { + // 处理普通列 + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + + sb.Append(""); + } + + // 添加合计行 + if (grid.SummaryData != null) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = subColumn.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(subColumn, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + else + { + // 处理普通列 + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = column.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(column, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else if (!string.IsNullOrEmpty(dataField) && dataField == "ProjectName") + { + sb.Append(""); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + + sb.Append(""); + } + + sb.Append("
{1}{0}
{0}
{0}{0}
{0}{0}合计
"); + + return sb.ToString(); + } + + #endregion + + protected void btSearch_Click(object sender, EventArgs e) + { + BindGrid(); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.designer.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.designer.cs new file mode 100644 index 00000000..7624e12e --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSCheckData.aspx.designer.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + + + public partial class CQMSCheckData + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx new file mode 100644 index 00000000..62521c3b --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx @@ -0,0 +1,134 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CQMSEquipAndMachineData.aspx.cs" Inherits="FineUIPro.Web.ZHGL.CQMSData.CQMSEquipAndMachineData" %> + + + + + + + 设备材料计量器具质量文件上报 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.cs new file mode 100644 index 00000000..38c56749 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.cs @@ -0,0 +1,438 @@ +using BLL; +using System; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + public partial class CQMSEquipAndMachineData : PageBase + { + //使用DateTime.Now获取当前日期,然后获取该月第一天 + DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + + public Model.SGGLDB db = Funs.DB; + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + // 绑定表格 + this.BindGrid(); + } + } + + #region 绑定数据 + + /// + /// 绑定数据 + /// + private void BindGrid() + { + var list = BaseDataService.GetBeUnderConstruction(); + + if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim())) + { + list = list.Where(p => p.ProjectName.Contains(this.txtProjectName.Text.Trim())).ToList(); + } + + var result = new List(); + foreach (var project in list) + { + int value1 = 0; + int value2 = 0; + string value3 = "0%"; + int value4 = 0; + int value5 = 0; + string value6 = "0%"; + int value7 = 0; + int value8 = 0; + int value9 = 0; + int value10 = 0; + int value11 = 0; + + + #region 设备材料报验 + + var query = (from c in db.Comprehensive_InspectionEquipment + where c.ProjectId == project.ProjectId + select new + { + c.SamplingResult,//1合格 2不合格 + c.ProjectId, + c.InspectionDate + }).ToList(); + + var monethCount = query.Where(x => x.InspectionDate >= firstDayOfMonth); + var AllList = query.ToList(); + + value1 = monethCount.Count(); + value2 = monethCount.Where(x => x.SamplingResult == "1").Count(); + if (value1 != 0) + { + value3 = Math.Round((double)value2 / (double)value1 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + value4 = AllList.Count(); + value5 = AllList.Where(x => x.SamplingResult == "1").Count(); + + if (value4 != 0) + { + value6 = Math.Round((double)value5 / (double)value4 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + + #region 计量器具管理(台套) + + var query1 = (from c in db.Comprehensive_InspectionMachine + where c.ProjectId == project.ProjectId && c.InspectionType.Equals("计量") + select new + { + c.InspectionDate, + c.UnitsCount, + c.ProjectId, + }).ToList(); + value7 = query1.Where(x => x.InspectionDate >= firstDayOfMonth).Sum(x => x.UnitsCount ?? 0); + value8 = query1.Sum(x => x.UnitsCount ?? 0); + + #endregion + + + #region 质量文件管理(数量) + + var query2 = from c in db.Comprehensive_DataReceivingDoc + where c.ProjectId == project.ProjectId + select new + { + c.ReceiveDate, + c.ProjectId, + c.IsReply, + c.RetrunWuhuangCopies, + }; + var AllList2 = query2.Where(x => x.IsReply == true).ToList(); + //本月数 + var monethCount2 = query2.Where(x => x.IsReply == true && x.ReceiveDate >= firstDayOfMonth); + + int totalReturnCount = query2.Where(x => x.IsReply == true && x.RetrunWuhuangCopies != null).Count();//总的已返回数量 + var NoBackCount = AllList2.Count() - totalReturnCount;//累计未返回数量 + + value9 = monethCount2.Count(); + value10 = AllList2.Count(); + value11 = NoBackCount; + + #endregion + + + + // 构造动态对象用于绑定到Grid + result.Add(new + { + project.ProjectId, + project.ProjectName, + project.ShortName, + Value1 = value1, + Value2 = value2, + Value3 = value3, + Value4 = value4, + Value5 = value5, + Value6 = value6, + Value7 = value7, + Value8 = value8, + Value9 = value9, + Value10 = value10, + Value11 = value11, + }); + } + + var pagedResult = result.Skip(Grid1.PageIndex * Grid1.PageSize).Take(Grid1.PageSize).ToList(); + Grid1.RecordCount = result.Count; + Grid1.DataSource = pagedResult; + Grid1.DataBind(); + + + var Value1Sum = pagedResult.Sum(p => p.Value1); + var Value2Sum = pagedResult.Sum(p => p.Value2); + var Value4Sum = pagedResult.Sum(p => p.Value4); + var Value5Sum = pagedResult.Sum(p => p.Value5); + JObject summary = new JObject(); + summary.Add("ProjectName", "合计"); + summary.Add("Value1", Value1Sum); + summary.Add("Value2", Value2Sum); + if (Value1Sum != 0) + { + summary.Add("Value3", Math.Round((double)Value2Sum / (double)Value1Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value3", "0%"); + } + summary.Add("Value4", Value4Sum); + summary.Add("Value5", Value5Sum); + if (Value4Sum != 0) + { + summary.Add("Value6", Math.Round((double)Value5Sum / (double)Value4Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value6", "0%"); + } + summary.Add("Value7", pagedResult.Sum(p => p.Value7)); + summary.Add("Value8", pagedResult.Sum(p => p.Value8)); + summary.Add("Value9", pagedResult.Sum(p => p.Value9)); + summary.Add("Value10", pagedResult.Sum(p => p.Value10)); + summary.Add("Value11", pagedResult.Sum(p => p.Value11)); + + Grid1.SummaryData = summary; + } + + #endregion + + #region GV 数据操作 + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + this.BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + this.BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + this.BindGrid(); + } + + #endregion + + + #region 关闭弹出窗 + + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + + #endregion + + #region 导出按钮 + + /// 导出按钮 + /// + /// + /// + 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.BindGrid(); + Response.Write(GetGridTableHtml(Grid1)); + Response.End(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + + // 计算总列数,用于处理表头 + int totalColumns = 0; + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + totalColumns += groupField.Columns.Count; + } + else + { + totalColumns += 1; + } + } + + // 第一行表头 - 居中显示 + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 对于分组列,使用colspan跨越子列数量,文本居中 + sb.AppendFormat("", groupField.Columns.Count, + groupField.HeaderText); + } + else + { + // 普通列,跨两行,文本居中 + sb.AppendFormat("", column.HeaderText); + } + } + + sb.Append(""); + + // 第二行表头(仅包含分组列的子列)- 居中显示 + bool hasGroupColumns = grid.Columns.Any(c => c is GroupField && ((GroupField)c).Columns != null); + if (hasGroupColumns) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 添加分组列的子列标题,居中显示 + foreach (GridColumn subColumn in groupField.Columns) + { + sb.AppendFormat("", subColumn.HeaderText); + } + } + } + + sb.Append(""); + } + + // 添加数据行 + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + string html = row.Values[subColumn.ColumnIndex].ToString(); + if (subColumn.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + else + { + // 处理普通列 + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + + sb.Append(""); + } + + // 添加合计行 + if (grid.SummaryData != null) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = subColumn.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(subColumn, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + else + { + // 处理普通列 + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = column.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(column, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else if (!string.IsNullOrEmpty(dataField) && dataField == "ProjectName") + { + sb.Append(""); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + + sb.Append(""); + } + + sb.Append("
{1}{0}
{0}
{0}{0}
{0}{0}合计
"); + + return sb.ToString(); + } + + #endregion + + protected void btSearch_Click(object sender, EventArgs e) + { + BindGrid(); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.designer.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.designer.cs new file mode 100644 index 00000000..471de6ab --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSEquipAndMachineData.aspx.designer.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + + + public partial class CQMSEquipAndMachineData + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx new file mode 100644 index 00000000..16e5825e --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx @@ -0,0 +1,262 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CQMSNoticeDetailsData.aspx.cs" Inherits="FineUIPro.Web.ZHGL.CQMSData.CQMSNoticeDetailsData" %> + + + + + + + 共检点明细 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.cs new file mode 100644 index 00000000..2417c0ae --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.cs @@ -0,0 +1,663 @@ +using BLL; +using System; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + public partial class CQMSNoticeDetailsData : PageBase + { + //使用DateTime.Now获取当前日期,然后获取该月第一天 + DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + + public Model.SGGLDB db = Funs.DB; + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + // 绑定表格 + this.BindGrid(); + } + } + + #region 绑定数据 + + /// + /// 绑定数据 + /// + private void BindGrid() + { + var list = BaseDataService.GetBeUnderConstruction(); + + if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim())) + { + list = list.Where(p => p.ProjectName.Contains(this.txtProjectName.Text.Trim())).ToList(); + } + + var result = new List(); + foreach (var project in list) + { + int value1 = 0; + int value2 = 0; + int value3 = 0; + int value4 = 0; + string value5 = "0%"; + string value6 = "0%"; + int value7 = 0; + int value8 = 0; + int value9 = 0; + int value10 = 0; + string value11 = "0%"; + string value12 = "0%"; + int value13 = 0; + int value14 = 0; + int value15 = 0; + int value16 = 0; + string value17 = "0%"; + string value18 = "0%"; + int value19 = 0; + int value20 = 0; + int value21 = 0; + int value22 = 0; + string value23 = "0%"; + string value24 = "0%"; + int value25 = 0; + int value26 = 0; + int value27 = 0; + int value28 = 0; + string value29 = "0%"; + string value30 = "0%"; + + + #region 质量共检点明细 + + //专业下所有集合 + List totalManagementList = BLL.InspectionManagementService.getViewMonthReportInspectionManagementByCNProfessionalIdAndDate(project.ProjectId, null, Convert.ToDateTime("2015-01-01"), DateTime.Now, false); + //专业下当期集合 + List managementList = BLL.InspectionManagementService.getViewMonthReportInspectionManagementByCNProfessionalIdAndDate(project.ProjectId, null, firstDayOfMonth, DateTime.Now, false); + + + #region 土建 + + string cNProfessionalId1 = (from x in db.Base_CNProfessional where x.CNProfessionalCode == "CV" select x.CNProfessionalId).FirstOrDefault(); + //专业下所有集合 + var totalManagementList1 = totalManagementList.Where(x => x.CNProfessionalId == cNProfessionalId1); + //专业下当期集合 + var managementList1 = managementList.Where(x => x.CNProfessionalId == cNProfessionalId1); + + value1 = managementList1.Count(); + value2 = totalManagementList1.Count(); + + value3 = managementList1.Count(x => x.IsOnceQualified == true); + value4 = totalManagementList1.Count(x => x.IsOnceQualified == true); + + if (value1 != 0)//被除数不能为零 + { + value5 = Math.Round((double)value3 / (double)value1 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + if (value2 != 0)//被除数不能为零 + { + value6 = Math.Round((double)value4 / (double)value2 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + #region 设备 + + string cNProfessionalId2 = (from x in db.Base_CNProfessional where x.CNProfessionalCode == "EQ" select x.CNProfessionalId).FirstOrDefault(); + //专业下所有集合 + var totalManagementList2 = totalManagementList.Where(x => x.CNProfessionalId == cNProfessionalId2); + //专业下当期集合 + var managementList2 = managementList.Where(x => x.CNProfessionalId == cNProfessionalId2); + + value7 = managementList2.Count(); + value8 = totalManagementList2.Count(); + + value9 = managementList2.Count(x => x.IsOnceQualified == true); + value10 = totalManagementList2.Count(x => x.IsOnceQualified == true); + + if (value7 != 0)//被除数不能为零 + { + value11 = Math.Round((double)value9 / (double)value7 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + if (value8 != 0)//被除数不能为零 + { + value12 = Math.Round((double)value10 / (double)value8 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + #region 电气 + + string cNProfessionalId3 = (from x in db.Base_CNProfessional where x.CNProfessionalCode == "EL" select x.CNProfessionalId).FirstOrDefault(); + //专业下所有集合 + var totalManagementList3 = totalManagementList.Where(x => x.CNProfessionalId == cNProfessionalId3); + //专业下当期集合 + var managementList3 = managementList.Where(x => x.CNProfessionalId == cNProfessionalId3); + + value13 = managementList3.Count(); + value14 = totalManagementList3.Count(); + + value15 = managementList3.Count(x => x.IsOnceQualified == true); + value16 = totalManagementList3.Count(x => x.IsOnceQualified == true); + + if (value13 != 0)//被除数不能为零 + { + value17 = Math.Round((double)value15 / (double)value13 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + if (value14 != 0)//被除数不能为零 + { + value18 = Math.Round((double)value16 / (double)value14 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + #region 仪表 + + string cNProfessionalId4 = (from x in db.Base_CNProfessional where x.CNProfessionalCode == "IN" select x.CNProfessionalId).FirstOrDefault(); + //专业下所有集合 + var totalManagementList4 = totalManagementList.Where(x => x.CNProfessionalId == cNProfessionalId4); + //专业下当期集合 + var managementList4 = managementList.Where(x => x.CNProfessionalId == cNProfessionalId4); + + value19 = managementList4.Count(); + value20 = totalManagementList4.Count(); + + value21 = managementList4.Count(x => x.IsOnceQualified == true); + value22 = totalManagementList4.Count(x => x.IsOnceQualified == true); + + if (value19 != 0)//被除数不能为零 + { + value23 = Math.Round((double)value21 / (double)value19 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + if (value20 != 0)//被除数不能为零 + { + value24 = Math.Round((double)value22 / (double)value20 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + #region 防腐 + + string cNProfessionalId5 = (from x in db.Base_CNProfessional where x.CNProfessionalCode == "AC" select x.CNProfessionalId).FirstOrDefault(); + //专业下所有集合 + var totalManagementList5 = totalManagementList.Where(x => x.CNProfessionalId == cNProfessionalId5); + //专业下当期集合 + var managementList5 = managementList.Where(x => x.CNProfessionalId == cNProfessionalId5); + + value25 = managementList5.Count(); + value26 = totalManagementList5.Count(); + + value27 = managementList5.Count(x => x.IsOnceQualified == true); + value28 = totalManagementList5.Count(x => x.IsOnceQualified == true); + + if (value25 != 0)//被除数不能为零 + { + value29 = Math.Round((double)value27 / (double)value25 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + + if (value26 != 0)//被除数不能为零 + { + value30 = Math.Round((double)value28 / (double)value26 * 100, 2) + "%";//保留两位小数、后四舍五入 + } + + #endregion + + + #endregion + + // 构造动态对象用于绑定到Grid + result.Add(new + { + project.ProjectId, + project.ProjectName, + project.ShortName, + Value1 = value1, + Value2 = value2, + Value3 = value3, + Value4 = value4, + Value5 = value5, + Value6 = value6, + Value7 = value7, + Value8 = value8, + Value9 = value9, + Value10 = value10, + Value11 = value11, + Value12 = value12, + Value13 = value13, + Value14 = value14, + Value15 = value15, + Value16 = value16, + Value17 = value17, + Value18 = value18, + Value19 = value19, + Value20 = value20, + Value21 = value21, + Value22 = value22, + Value23 = value23, + Value24 = value24, + Value25 = value25, + Value26 = value26, + Value27 = value27, + Value28 = value28, + Value29 = value29, + Value30 = value30 + }); + } + + var pagedResult = result.Skip(Grid1.PageIndex * Grid1.PageSize).Take(Grid1.PageSize).ToList(); + Grid1.RecordCount = result.Count; + Grid1.DataSource = pagedResult; + Grid1.DataBind(); + + + var Value1Sum = pagedResult.Sum(p => p.Value1); + var Value2Sum = pagedResult.Sum(p => p.Value2); + var Value3Sum = pagedResult.Sum(p => p.Value3); + var Value4Sum = pagedResult.Sum(p => p.Value4); + var Value7Sum = pagedResult.Sum(p => p.Value7); + var Value8Sum = pagedResult.Sum(p => p.Value8); + var Value9Sum = pagedResult.Sum(p => p.Value9); + var Value10Sum = pagedResult.Sum(p => p.Value10); + var Value13Sum = pagedResult.Sum(p => p.Value13); + var Value14Sum = pagedResult.Sum(p => p.Value14); + var Value15Sum = pagedResult.Sum(p => p.Value15); + var Value16Sum = pagedResult.Sum(p => p.Value16); + var Value19Sum = pagedResult.Sum(p => p.Value19); + var Value20Sum = pagedResult.Sum(p => p.Value20); + var Value21Sum = pagedResult.Sum(p => p.Value21); + var Value22Sum = pagedResult.Sum(p => p.Value22); + var Value25Sum = pagedResult.Sum(p => p.Value25); + var Value26Sum = pagedResult.Sum(p => p.Value26); + var Value27Sum = pagedResult.Sum(p => p.Value27); + var Value28Sum = pagedResult.Sum(p => p.Value28); + + + JObject summary = new JObject(); + summary.Add("ProjectName", "合计"); + summary.Add("Value1", Value1Sum); + summary.Add("Value2", Value2Sum); + summary.Add("Value3", Value3Sum); + summary.Add("Value4", Value4Sum); + if (Value1Sum != 0) + { + summary.Add("Value5", Math.Round((double)Value3Sum / (double)Value1Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value5", "0%"); + } + if (Value2Sum != 0) + { + summary.Add("Value6", Math.Round((double)Value4Sum / (double)Value2Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value6", "0%"); + } + summary.Add("Value7", Value7Sum); + summary.Add("Value8", Value8Sum); + summary.Add("Value9", Value9Sum); + summary.Add("Value10", Value10Sum); + if (Value7Sum != 0) + { + summary.Add("Value11", Math.Round((double)Value9Sum / (double)Value7Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value11", "0%"); + } + if (Value8Sum != 0) + { + summary.Add("Value12", Math.Round((double)Value10Sum / (double)Value8Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value12", "0%"); + } + summary.Add("Value13", Value13Sum); + summary.Add("Value14", Value14Sum); + summary.Add("Value15", Value15Sum); + summary.Add("Value16", Value16Sum); + if (Value13Sum != 0) + { + summary.Add("Value17", Math.Round((double)Value15Sum / (double)Value13Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value17", "0%"); + } + if (Value14Sum != 0) + { + summary.Add("Value18", Math.Round((double)Value16Sum / (double)Value14Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value18", "0%"); + } + summary.Add("Value19", Value19Sum); + summary.Add("Value20", Value20Sum); + summary.Add("Value21", Value21Sum); + summary.Add("Value22", Value22Sum); + if (Value19Sum != 0) + { + summary.Add("Value23", Math.Round((double)Value21Sum / (double)Value19Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value23", "0%"); + } + if (Value20Sum != 0) + { + summary.Add("Value24", Math.Round((double)Value22Sum / (double)Value20Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value24", "0%"); + } + summary.Add("Value25", Value25Sum); + summary.Add("Value26", Value26Sum); + summary.Add("Value27", Value27Sum); + summary.Add("Value28", Value28Sum); + if (Value25Sum != 0) + { + summary.Add("Value29", Math.Round((double)Value27Sum / (double)Value25Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value29", "0%"); + } + if (Value26Sum != 0) + { + summary.Add("Value30", Math.Round((double)Value28Sum / (double)Value26Sum * 100, 2) + "%"); + } + else + { + summary.Add("Value30", "0%"); + } + + Grid1.SummaryData = summary; + } + + #endregion + + #region GV 数据操作 + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + this.BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + this.BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + this.BindGrid(); + } + + #endregion + + + #region 关闭弹出窗 + + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + + #endregion + + #region 导出按钮 + + /// 导出按钮 + /// + /// + /// + 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.BindGrid(); + Response.Write(GetGridTableHtml(Grid1)); + Response.End(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + + // 收集所有列信息,包括嵌套的列 + List flattenedColumns = new List(); + List columnLevels = new List(); + int maxLevel = GetFlattenedColumns(grid.Columns, flattenedColumns, columnLevels, 0); + + // 生成表头 + for (int level = 0; level <= maxLevel; level++) + { + sb.Append(""); + int i = 0; + while (i < flattenedColumns.Count) + { + GridColumn column = flattenedColumns[i]; + int columnLevel = columnLevels[i]; + + if (columnLevel == level) + { + // 计算跨行和跨列数 + int rowspan = 1; + int colspan = 1; + + if (column is GroupField groupField && groupField.Columns != null && groupField.Columns.Count > 0) + { + // 这是一个分组列,计算它的子列数量 + colspan = CountLeafColumns(groupField); + rowspan = 1; + } + else + { + // 这是一个叶子列,需要跨行 + rowspan = maxLevel - level + 1; + colspan = 1; + } + + string cellValue = column.HeaderText ?? ""; + if (rowspan > 1) + { + sb.AppendFormat("", rowspan, cellValue); + } + else + { + sb.AppendFormat("", colspan, cellValue); + } + + // 跳过已处理的子列 + if (colspan > 1) + { + i += colspan; + } + else + { + i++; + } + } + else if (columnLevel < level && !(column is GroupField)) + { + // 已经由rowspan处理的单元格,跳过 + i++; + } + else + { + i++; + } + } + sb.Append(""); + } + + // 添加数据行 + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + List leafColumns = GetLeafColumns(grid.Columns); + foreach (GridColumn column in leafColumns) + { + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + sb.AppendFormat("", html); + } + sb.Append(""); + } + + // 添加合计行 + if (grid.SummaryData != null) + { + sb.Append(""); + List leafColumns = GetLeafColumns(grid.Columns); + foreach (GridColumn column in leafColumns) + { + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = column.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(column, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else if (!string.IsNullOrEmpty(dataField) && dataField == "ProjectName") + { + sb.Append(""); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + sb.Append(""); + } + + sb.Append("
{1}{1}
{0}
{0}合计
"); + + return sb.ToString(); + } + + // 获取扁平化的列结构和对应的层级 + private int GetFlattenedColumns(GridColumnCollection columns, List flattenedColumns, List columnLevels, int currentLevel) + { + int maxLevel = currentLevel; + foreach (GridColumn column in columns) + { + flattenedColumns.Add(column); + columnLevels.Add(currentLevel); + + if (column is GroupField groupField && groupField.Columns != null) + { + int childLevel = GetFlattenedColumns(groupField.Columns, flattenedColumns, columnLevels, currentLevel + 1); + if (childLevel > maxLevel) + maxLevel = childLevel; + } + } + return maxLevel; + } + + // 计算一个分组列下的叶子节点数量 + private int CountLeafColumns(GridColumn column) + { + if (column is GroupField groupField && groupField.Columns != null) + { + int count = 0; + foreach (GridColumn subColumn in groupField.Columns) + { + count += CountLeafColumns(subColumn); + } + return count; + } + else + { + return 1; + } + } + + // 获取所有叶子节点列 + private List GetLeafColumns(GridColumnCollection columns) + { + List leafColumns = new List(); + foreach (GridColumn column in columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + leafColumns.AddRange(GetLeafColumns(groupField.Columns)); + } + else + { + leafColumns.Add(column); + } + } + return leafColumns; + } + + + #endregion + + protected void btSearch_Click(object sender, EventArgs e) + { + BindGrid(); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.designer.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.designer.cs new file mode 100644 index 00000000..5e51e48b --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/CQMSNoticeDetailsData.aspx.designer.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + + + public partial class CQMSNoticeDetailsData + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx b/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx new file mode 100644 index 00000000..ec9fc9e5 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx @@ -0,0 +1,154 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WeldingData.aspx.cs" Inherits="FineUIPro.Web.ZHGL.CQMSData.WeldingData" %> + + + + + + + 焊接管理 + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.cs new file mode 100644 index 00000000..b0d0267d --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.cs @@ -0,0 +1,424 @@ +using BLL; +using System; +using System.Text; +using System.Collections.Generic; +using System.Linq; +using Newtonsoft.Json.Linq; + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + public partial class WeldingData : PageBase + { + //使用DateTime.Now获取当前日期,然后获取该月第一天 + DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); + + public Model.SGGLDB db = Funs.DB; + + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ddlPageSize.SelectedValue = this.Grid1.PageSize.ToString(); + // 绑定表格 + this.BindGrid(); + } + } + + #region 绑定数据 + + /// + /// 绑定数据 + /// + private void BindGrid() + { + var list = BaseDataService.GetBeUnderConstruction(); + + if (!string.IsNullOrEmpty(this.txtProjectName.Text.Trim())) + { + list = list.Where(p => p.ProjectName.Contains(this.txtProjectName.Text.Trim())).ToList(); + } + + var result = new List(); + foreach (var project in list) + { + int value1 = 0; + int value2 = 0; + int value3 = 0; + int value4 = 0; + int value5 = 0; + int value6 = 0; + int value7 = 0; + int value8 = 0; + int value9 = 0; + int value10 = 0; + int value11 = 0; + int value12 = 0; + string value13 = "0%"; + string value14 = "0%"; + + + + #region 管道、钢结构、设备、其他焊工 + + var query1 = from c in db.Comprehensive_InspectionPerson + join cn in db.Base_CNProfessional on c.CNProfessionalId equals cn.CNProfessionalId into cnJoin + from cn in cnJoin.DefaultIfEmpty() + join p in db.Base_Post on c.PostId equals p.PostId into postJoin + from p in postJoin.DefaultIfEmpty() + where c.ProjectId == project.ProjectId + select new + { + c.InspectionPersonId, + c.ProjectId, + c.PersonName, + c.ApprovalTime, + cn.ProfessionalName, + p.PostName + }; + + var totalWelderList = query1.ToList(); + var welderList = query1.Where(x => x.ApprovalTime >= firstDayOfMonth); + value1 = welderList.Count(x => x.ProfessionalName == "管道" && x.PostName == "焊工"); + value2 = totalWelderList.Count(x => x.ProfessionalName == "管道" && x.PostName == "焊工"); + value3 = welderList.Count(x => x.ProfessionalName == "土建" && x.PostName == "焊工"); + value4 = totalWelderList.Count(x => x.ProfessionalName == "土建" && x.PostName == "焊工"); + value5 = welderList.Count(x => x.ProfessionalName == "设备" && x.PostName == "焊工"); + value6 = totalWelderList.Count(x => x.ProfessionalName == "设备" && x.PostName == "焊工"); + value7 = welderList.Count(x => x.ProfessionalName != "管道" && x.ProfessionalName != "土建" && x.ProfessionalName != "设备" && x.PostName == "焊工"); + value8 = totalWelderList.Count(x => x.ProfessionalName != "管道" && x.ProfessionalName != "土建" && x.ProfessionalName != "设备" && x.PostName == "焊工"); + + #endregion + + #region PQR/WPS报验 + + + // var detailsGrid9 = (from x in db.Report_Construction_Plan + // where x.ReportId == ReportId && x.ReType == "5" + // select x).ToList(); + + #endregion + + + #region 无损检测管理 + + var query2 = from c in db.ProcessControl_NondestructiveTest_New + where c.ProjectId == project.ProjectId + orderby c.CreateDate descending + select new + { + c.CreateDate, + c.ProjectId, + c.ProfessionalName, + c.MonthQuantity, + c.TotalQuantity, + c.MonthRate, + c.TotalRate + }; + + if (query2.Count()>0) + { + var data1 = query2.FirstOrDefault(x => x.ProfessionalName == "工艺管道"); + var data2 = query2.FirstOrDefault(x => x.ProfessionalName == "地管"); + var data3 = query2.FirstOrDefault(x => x.ProfessionalName == "非标"); + value11 = (int)((data1?.MonthQuantity ?? 0) + (data2?.MonthQuantity ?? 0) + (data3?.MonthQuantity ?? 0)); + value12 = (int)((data1?.TotalQuantity ?? 0) + (data2?.TotalQuantity ?? 0) + (data3?.TotalQuantity ?? 0)); + } + + + #endregion + + + // 构造动态对象用于绑定到Grid + result.Add(new + { + project.ProjectId, + project.ProjectName, + project.ShortName, + Value1 = value1,// 管道焊工本月 + Value2 = value2,// 管道焊工累计 + Value3 = value3, // 钢结构焊工本月 + Value4 = value4, // 钢结构焊工累计 + Value5 = value5, // 设备焊工本月 + Value6 = value6, // 设备焊工累计 + Value7 = value7, // 其他焊工本月 + Value8 = value8, // 其他焊工累计 + Value9 = value9, // PQR/WPS报验本月 + Value10 = value10, // PQR/WPS报验累计 + Value11 = value11, // 本月拍片数 + Value12 = value12, // 累计拍片数 + Value13 = value13, // 本月一次合格率 + Value14 = value14, // 累计一次合格率 + }); + } + + var pagedResult = result.Skip(Grid1.PageIndex * Grid1.PageSize).Take(Grid1.PageSize).ToList(); + Grid1.RecordCount = result.Count; + Grid1.DataSource = pagedResult; + Grid1.DataBind(); + + + JObject summary = new JObject(); + summary.Add("ProjectName", "合计"); + summary.Add("Value1", pagedResult.Sum(p => p.Value1)); + summary.Add("Value2", pagedResult.Sum(p => p.Value2)); + summary.Add("Value3", pagedResult.Sum(p => p.Value3)); + summary.Add("Value4", pagedResult.Sum(p => p.Value4)); + summary.Add("Value5", pagedResult.Sum(p => p.Value5)); + summary.Add("Value6", pagedResult.Sum(p => p.Value6)); + summary.Add("Value7", pagedResult.Sum(p => p.Value7)); + summary.Add("Value8", pagedResult.Sum(p => p.Value8)); + summary.Add("Value9", pagedResult.Sum(p => p.Value9)); + summary.Add("Value10", pagedResult.Sum(p => p.Value10)); + summary.Add("Value11", pagedResult.Sum(p => p.Value11)); + summary.Add("Value12", pagedResult.Sum(p => p.Value12)); + + Grid1.SummaryData = summary; + } + + #endregion + + #region GV 数据操作 + + /// + /// 分页 + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + this.BindGrid(); + } + + /// + /// 排序 + /// + /// + /// + protected void Grid1_Sort(object sender, GridSortEventArgs e) + { + this.BindGrid(); + } + + /// + /// 分页显示条数下拉框 + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + this.BindGrid(); + } + + #endregion + + + #region 关闭弹出窗 + + /// + /// 关闭弹出窗 + /// + /// + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + BindGrid(); + } + + #endregion + + #region 导出按钮 + + /// 导出按钮 + /// + /// + /// + 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.BindGrid(); + Response.Write(GetGridTableHtml(Grid1)); + Response.End(); + } + + /// + /// 导出方法 + /// + /// + /// + private string GetGridTableHtml(Grid grid) + { + StringBuilder sb = new StringBuilder(); + sb.Append(""); + sb.Append(""); + + // 计算总列数,用于处理表头 + int totalColumns = 0; + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + totalColumns += groupField.Columns.Count; + } + else + { + totalColumns += 1; + } + } + + // 第一行表头 - 居中显示 + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 对于分组列,使用colspan跨越子列数量,文本居中 + sb.AppendFormat("", groupField.Columns.Count, + groupField.HeaderText); + } + else + { + // 普通列,跨两行,文本居中 + sb.AppendFormat("", column.HeaderText); + } + } + + sb.Append(""); + + // 第二行表头(仅包含分组列的子列)- 居中显示 + bool hasGroupColumns = grid.Columns.Any(c => c is GroupField && ((GroupField)c).Columns != null); + if (hasGroupColumns) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 添加分组列的子列标题,居中显示 + foreach (GridColumn subColumn in groupField.Columns) + { + sb.AppendFormat("", subColumn.HeaderText); + } + } + } + + sb.Append(""); + } + + // 添加数据行 + foreach (GridRow row in grid.Rows) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + string html = row.Values[subColumn.ColumnIndex].ToString(); + if (subColumn.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + else + { + // 处理普通列 + string html = row.Values[column.ColumnIndex].ToString(); + if (column.ColumnID == "tfNumber") + { + html = (row.FindControl("lblNumber") as System.Web.UI.WebControls.Label).Text; + } + + sb.AppendFormat("", html); + } + } + + sb.Append(""); + } + + // 添加合计行 + if (grid.SummaryData != null) + { + sb.Append(""); + foreach (GridColumn column in grid.Columns) + { + if (column is GroupField groupField && groupField.Columns != null) + { + // 处理分组列中的每个子列 + foreach (GridColumn subColumn in groupField.Columns) + { + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = subColumn.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(subColumn, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + else + { + // 处理普通列 + // 使用反射获取DataField属性值,避免编译错误 + var dataFieldProperty = column.GetType().GetProperty("DataField"); + if (dataFieldProperty != null) + { + string dataField = dataFieldProperty.GetValue(column, null) as string; + if (!string.IsNullOrEmpty(dataField) && grid.SummaryData.ContainsKey(dataField)) + { + sb.AppendFormat("", grid.SummaryData[dataField]); + } + else if (!string.IsNullOrEmpty(dataField) && dataField == "ProjectName") + { + sb.Append(""); + } + else + { + sb.Append(""); + } + } + else + { + sb.Append(""); + } + } + } + + sb.Append(""); + } + + sb.Append("
{1}{0}
{0}
{0}{0}
{0}{0}合计
"); + + return sb.ToString(); + } + + #endregion + + protected void btSearch_Click(object sender, EventArgs e) + { + BindGrid(); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.designer.cs b/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.designer.cs new file mode 100644 index 00000000..c295c877 --- /dev/null +++ b/SGGL/FineUIPro.Web/ZHGL/CQMSData/WeldingData.aspx.designer.cs @@ -0,0 +1,125 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.ZHGL.CQMSData +{ + + + public partial class WeldingData + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + } +} diff --git a/SGGL/WebAPI/WebAPI.csproj b/SGGL/WebAPI/WebAPI.csproj index 07a7c525..92e18552 100644 --- a/SGGL/WebAPI/WebAPI.csproj +++ b/SGGL/WebAPI/WebAPI.csproj @@ -168,6 +168,7 @@ +