diff --git a/DataBase/版本日志/SGGLDB_WH_2024-05-22-wq.sql b/DataBase/版本日志/SGGLDB_WH_2024-05-22-wq.sql new file mode 100644 index 00000000..5cff6ace --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2024-05-22-wq.sql @@ -0,0 +1,31 @@ +delete Sys_Menu where MenuId='17E206A1-E06B-40C0-8DCB-E3AAA2E3B339' +INSERT INTO dbo.Sys_Menu(MenuId,MenuName,Icon,Url,SortIndex,SuperMenu,MenuType,IsOffice,IsEnd,IsUsed)VALUES('17E206A1-E06B-40C0-8DCB-E3AAA2E3B339','λֲ()',null,'CQMS/WBS/Control/DivisionSubProjects.aspx',1,'3B322232-38A1-4291-9832-CD4A01C2A975','Menu_CQMS',0,1,1) + +--==WBSλֲ̻ +if object_id(N'Division_SubProjects',N'U') is not null +drop table dbo.Division_SubProjects +CREATE TABLE dbo.Division_SubProjects( + DivisionId varchar(50) NOT NULL,-- + ProjectId varchar(50) NULL,--Ŀ + ParentId varchar (50) NULL,--ϼ + DivisionLevel int NULL,-- + EngineeringCode varchar(50) NULL,--λ̱ + EngineeringName varchar(50) NULL,--λ + SubEngineeringCode varchar(50) NULL,--ӵλ̱ + SubEngineeringName varchar(50) NULL,--ӵλ + BranchEngineeringCode varchar(50) NULL,--ֲ̱ + BranchEngineeringName varchar(50) NULL,--ֲ + SubBranchEngineeringName varchar(50) NULL,--ӷֲ + ProEngineeringCode varchar(50) NULL,--̱ + ProEngineeringName varchar(50) NULL,-- + ProEngineeringNum varchar(50) NULL,--ֲ + Remark nvarchar(150) NULL,--ע + AddUser varchar(50) NULL,-- + OperateTime datetime NULL,-- + Sort int NULL,-- + CONSTRAINT [PK_Division_SubProjects] PRIMARY KEY CLUSTERED +( + [DivisionId] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY] +) ON [PRIMARY] +GO \ No newline at end of file diff --git a/SGGL/BLL/Common/Const.cs b/SGGL/BLL/Common/Const.cs index 8e468e98..35d4ddf2 100644 --- a/SGGL/BLL/Common/Const.cs +++ b/SGGL/BLL/Common/Const.cs @@ -3131,6 +3131,10 @@ namespace BLL /// public const string PreRunUrl = "File\\Excel\\TestRun\\系统划分.xlsx"; /// + /// 单位分部分项工程划分 + /// + public const string WBSDivisionUrl = "File\\Excel\\WBS\\单位分部分项工程划分.xlsx"; + /// /// 管道一览表 /// public const string PropertyUrl = "File\\Excel\\TestRun\\管道一览表.xlsx"; diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReport.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReport.aspx.cs index 567750f3..4df21ca0 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReport.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/MonthReport.aspx.cs @@ -152,7 +152,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew * @param doc Document对象 * @return */ - public static Cell CreateCell(String value, Document doc, double cellWidth, string cellMerge = "",string CenterPage="") + public static Cell CreateCell(String value, Document doc, double cellWidth, string cellMerge = "",string CenterPage="",string cellUnitLeft="") { Cell cell = new Cell(doc); Paragraph p = new Paragraph(doc); @@ -177,7 +177,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //序号 value = " " + value; } - p.ParagraphFormat.Alignment = ParagraphAlignment.Center;//表格中字体居中 + if (!string.IsNullOrEmpty(cellUnitLeft)) + { + p.ParagraphFormat.Alignment = ParagraphAlignment.Left;//表格中字体居左 + } + else { + p.ParagraphFormat.Alignment = ParagraphAlignment.Center;//表格中字体居中 + } + p.AppendChild(new Run(doc, value)); @@ -413,7 +420,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width,"","","unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -465,7 +472,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity3.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -860,7 +867,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell((numberIndex - 1).ToString(), doc, table.Rows[0].Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitName, doc, table.Rows[0].Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitName, doc, table.Rows[0].Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.PipeMountGuard.ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.PipeTotal.ToString(), doc, table.Rows[1].Cells[3].CellFormat.Width)); @@ -925,7 +932,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -1179,14 +1186,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew pageCount += 1; } row.Cells.Add(CreateCell((pageCount).ToString(), doc, table.Rows[0].Cells[0].CellFormat.Width, "0", "1")); - row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "0")); + row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "0", "", "unit")); Unitname = item.CreateMan; } else { row.Cells.Add(CreateCell((pageCount).ToString(), doc, table.Rows[0].Cells[0].CellFormat.Width, "1", "1")); - row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "1")); + row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "1", "", "unit")); Unitname = item.CreateMan; } @@ -1289,7 +1296,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.QuaRate.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -1381,7 +1388,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2375,7 +2382,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(Convert.ToString(item.RectificationRate), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(Convert.ToString(item.TotationRate), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2455,7 +2462,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2512,7 +2519,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2568,7 +2575,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2625,7 +2632,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2691,7 +2698,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.RectificationRate, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2799,7 +2806,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.MonthsBackCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2853,7 +2860,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex18_1.ToString(), doc, table18_1.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitId, doc, table18_1.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitId, doc, table18_1.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.ProblemDesrioption, doc, table18_1.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.TreatmentMeasures, doc, table18_1.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProcessingResults, doc, table18_1.FirstRow.Cells[4].CellFormat.Width)); @@ -2890,7 +2897,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex18_2.ToString(), doc, table18_2.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitId, doc, table18_2.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitId, doc, table18_2.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.ProblemDesrioption, doc, table18_2.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.TreatmentMeasures, doc, table18_2.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProcessingResults, doc, table18_2.FirstRow.Cells[4].CellFormat.Width)); diff --git a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReport.aspx.cs b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReport.aspx.cs index 768c7962..ea486115 100644 --- a/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReport.aspx.cs +++ b/SGGL/FineUIPro.Web/CQMS/ManageReportNew/WeekReport.aspx.cs @@ -152,7 +152,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew * @param doc Document对象 * @return */ - public static Cell CreateCell(String value, Document doc, double cellWidth, string cellMerge = "", string CenterPage = "") + public static Cell CreateCell(String value, Document doc, double cellWidth, string cellMerge = "", string CenterPage = "", string cellUnitLeft = "") { Cell cell = new Cell(doc); Paragraph p = new Paragraph(doc); @@ -177,7 +177,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //序号 value = " " + value; } - p.ParagraphFormat.Alignment = ParagraphAlignment.Center; + if (!string.IsNullOrEmpty(cellUnitLeft)) + { + p.ParagraphFormat.Alignment = ParagraphAlignment.Left;//表格中字体居左 + } + else + { + p.ParagraphFormat.Alignment = ParagraphAlignment.Center;//表格中字体居中 + } p.AppendChild(new Run(doc, value)); @@ -418,7 +425,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -470,7 +477,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity3.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -867,7 +874,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell((numberIndex - 1).ToString(), doc, table.Rows[0].Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitName, doc, table.Rows[0].Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitName, doc, table.Rows[0].Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.PipeMountGuard.ToString(), doc, table.Rows[1].Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.PipeTotal.ToString(), doc, table.Rows[1].Cells[3].CellFormat.Width)); @@ -932,7 +939,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -1187,14 +1194,14 @@ namespace FineUIPro.Web.CQMS.ManageReportNew pageCount += 1; } row.Cells.Add(CreateCell((pageCount).ToString(), doc, table.Rows[0].Cells[0].CellFormat.Width, "0", "1")); - row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "0")); + row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "0", "", "unit")); Unitname = item.CreateMan; } else { row.Cells.Add(CreateCell((pageCount).ToString(), doc, table.Rows[0].Cells[0].CellFormat.Width, "1", "1")); - row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "1")); + row.Cells.Add(CreateCell(item.CreateMan, doc, table.Rows[0].Cells[1].CellFormat.Width, "1", "", "unit")); Unitname = item.CreateMan; } @@ -1298,7 +1305,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitOrMajor, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.Quantity1.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.Quantity2.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.QuaRate.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -1391,7 +1398,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2385,7 +2392,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(Convert.ToString(item.RectificationRate), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(Convert.ToString(item.TotationRate), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.Remarks, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2465,7 +2472,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2522,7 +2529,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2578,7 +2585,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2635,7 +2642,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.TotalNoBackCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2701,7 +2708,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.RectificationRate, doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2809,7 +2816,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex.ToString(), doc, table.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.ContentName, doc, table.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.MonthsCount.ToString(), doc, table.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProjectCount.ToString(), doc, table.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.MonthsBackCount.ToString(), doc, table.FirstRow.Cells[4].CellFormat.Width)); @@ -2863,7 +2870,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex18_1.ToString(), doc, table18_1.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitId, doc, table18_1.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitId, doc, table18_1.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.ProblemDesrioption, doc, table18_1.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.TreatmentMeasures, doc, table18_1.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProcessingResults, doc, table18_1.FirstRow.Cells[4].CellFormat.Width)); @@ -2900,7 +2907,7 @@ namespace FineUIPro.Web.CQMS.ManageReportNew //创建行 Row row = new Row(doc); row.Cells.Add(CreateCell(numberIndex18_2.ToString(), doc, table18_2.FirstRow.Cells[0].CellFormat.Width, "", "1")); - row.Cells.Add(CreateCell(item.UnitId, doc, table18_2.FirstRow.Cells[1].CellFormat.Width)); + row.Cells.Add(CreateCell(item.UnitId, doc, table18_2.FirstRow.Cells[1].CellFormat.Width, "", "", "unit")); row.Cells.Add(CreateCell(item.ProblemDesrioption, doc, table18_2.FirstRow.Cells[2].CellFormat.Width)); row.Cells.Add(CreateCell(item.TreatmentMeasures, doc, table18_2.FirstRow.Cells[3].CellFormat.Width)); row.Cells.Add(CreateCell(item.ProcessingResults, doc, table18_2.FirstRow.Cells[4].CellFormat.Width)); diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx new file mode 100644 index 00000000..be2eca33 --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx @@ -0,0 +1,98 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DivisionSubProjects.aspx.cs" Inherits="FineUIPro.Web.CQMS.WBS.Control.DivisionSubProjects" %> + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx.cs b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx.cs new file mode 100644 index 00000000..9e25e008 --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx.cs @@ -0,0 +1,789 @@ +using BLL; +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.SqlClient; +using System.IO; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using static FineUIPro.Web.CQMS.WBS.Control.DivisionSubProjects; + +namespace FineUIPro.Web.CQMS.WBS.Control +{ + public partial class DivisionSubProjects : PageBase + { + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + DataBrid(); + } + } + + #region 数据绑定和事件 + + /// + /// 数据绑定 + /// + public void DataBrid() + { + string strSql = @"select a.Division,a.ProjectId,a.ParentId,a.DivisionLevel,a.EngineeringCode,a.EngineeringName,a.SubEngineeringCode,a.SubEngineeringName,a.BranchEngineeringCode,a.BranchEngineeringName,a.SubBranchEngineeringName,a.ProEngineeringCode,a.ProEngineeringName,a.ProEngineeringNum,a.Remark,a.AddUser,a.OperateTime,a.Sort from Division_SubProjects as a inner join Base_Project as b on a.ProjectId=b.ProjectId where a.ProjectId=@ProjectId order by a.Sort,a.DivisionLevel asc"; + List listStr = new List(); + listStr.Add(new SqlParameter("@ProjectId", this.CurrUser.LoginProjectId)); + if (!string.IsNullOrEmpty(sEngineeringName.Text.Trim())) + { + strSql += " and a.EngineeringName=@EngineeringName"; + listStr.Add(new SqlParameter("@EngineeringName", this.sEngineeringName.Text.Trim())); + } + SqlParameter[] parameter = listStr.ToArray(); + DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); + Grid1.DataSource = tb; + Grid1.DataBind(); + } + + /// + /// 行点击 事件 + /// + protected void Grid1_RowCommand(object sender, GridCommandEventArgs e) + { + if (e.CommandName == "Delete") + { + string rowID = e.RowID; + DeleteRowByIDInternal(rowID); + DataBrid(); + ShowNotify("删除成功!"); + } + } + + /// + /// 行加载事件 + /// + protected void Grid1_RowDataBound(object sender, GridRowEventArgs e) + { + + } + + #endregion + + #region 按钮 + + /// + /// 搜索 + /// + protected void btnSearch_Click(object sender, EventArgs e) + { + DataBrid(); + } + + /// + /// 删除 + /// + protected void btnDelete_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + ShowNotify("至少选择一条数据!"); + return; + } + foreach (int rowIndex in Grid1.SelectedRowIndexArray) + { + string rowID = Grid1.DataKeys[rowIndex][0].ToString(); + DeleteRowByIDInternal(rowID); + } + DataBrid(); + ShowNotify("删除成功!"); + + } + + /// + /// 新增 + /// + protected void btnAdd_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Window1.GetShowReference($"DivisionSubProjectsEdit.aspx?DivisionId=&ParentId=", "新增")); + } + + /// + /// 添加子级 + /// + protected void btnParentAdd_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + ShowNotify("请选择一条数据!", MessageBoxIcon.Warning); + return; + } + + var rowIndex = Grid1.SelectedRowIndex; + var rowId = Grid1.DataKeys[rowIndex][0].ToString(); + var runLevel = Grid1.DataKeys[rowIndex][2] != null ? Convert.ToInt32(Grid1.DataKeys[rowIndex][2]) : 1; + if (runLevel > 5) + { + ShowNotify("最小节点无子节点!", MessageBoxIcon.Warning); + return; + } + PageContext.RegisterStartupScript(Window1.GetShowReference($"DivisionSubProjectsEdit.aspx?RunId=&ParentId={rowId}", "添加子级")); + } + + /// + /// 编辑 + /// + protected void btnEdit_Click(object sender, EventArgs e) + { + if (Grid1.SelectedRowIndexArray.Length == 0) + { + ShowNotify("请选择一条数据!", MessageBoxIcon.Warning); + return; + } + + var rowIndex = Grid1.SelectedRowIndex; + var rowId = Grid1.DataKeys[rowIndex][0].ToString(); + var parentId = Grid1.DataKeys[rowIndex][1] != null ? Grid1.DataKeys[rowIndex][1].ToString() : string.Empty; + PageContext.RegisterStartupScript(Window1.GetShowReference($"DivisionSubProjectsEdit.aspx?RunId={rowId}&ParentId={parentId}", "编辑")); + } + + /// + /// 关闭 + /// + protected void Window1_Close(object sender, WindowCloseEventArgs e) + { + DataBrid(); + } + + /// + /// 导入 + /// + protected void btnImport_Click(object sender, EventArgs e) + { + try + { + if (this.fileData.HasFile == false) + { + ShowNotify("请选择excel文件!", MessageBoxIcon.Warning); + return; + } + string IsXls = Path.GetExtension(this.fileData.FileName).ToString().Trim().ToLower(); + if (IsXls != ".xls" && IsXls != ".xlsx") + { + this.fileData.Reset(); + ShowNotify("excel文件类型错误!", MessageBoxIcon.Warning); + return; + } + string rootPath = Server.MapPath("~/"); + string initFullPath = rootPath + Const.ExcelUrl; + if (!Directory.Exists(initFullPath)) + { + Directory.CreateDirectory(initFullPath); + } + //指定上传文件名称 + string fileUrl = BLL.Funs.GetNewFileName() + IsXls; + //上传文件路径 + string filePath = initFullPath + fileUrl; + //文件上传服务器 + this.fileData.PostedFile.SaveAs(filePath); + //文件上传服务器后的名称 + string fileName = rootPath + Const.ExcelUrl + fileUrl; + //读取Excel + DataSet ds = NPOIHelper.ExcelToDataSet(fileName, out string message, false); + if (ds == null) + { + this.fileData.Reset(); + ShowNotify("模板错误,请从系统下载正确的模板!", MessageBoxIcon.Warning); + return; + } + if (!string.IsNullOrWhiteSpace(message)) + { + ShowNotify(message, MessageBoxIcon.Warning); + return; + } + if (ds.Tables[0].Rows.Count > 1) + { + var fileVerify = VerifyFile(ds); + if (!fileVerify) + { + this.fileData.Reset(); + ShowNotify("请获取正确模板!", MessageBoxIcon.Warning); + return; + } + + int index = 1; + List list = new List(); + DivisionSubProjectsDto previousModel = new DivisionSubProjectsDto(); + foreach (DataRow item in ds.Tables[0].Rows) + { + DivisionSubProjectsDto model = new DivisionSubProjectsDto(); + if (index == 1) + { + index++; + continue; + } + if (StrIsNumm(item[10])) + { + this.fileData.Reset(); + ShowNotify($"{index}级别为空!", MessageBoxIcon.Warning); + break; + } + + previousModel.Level = int.Parse(item[10].ToString()); + previousModel.EngineeringCode = item[0].ToString(); + previousModel.EngineeringName = item[1].ToString(); + previousModel.SubEngineeringCode = item[2].ToString(); + previousModel.SubEngineeringName = item[3].ToString(); + previousModel.BranchEngineeringCode = item[4].ToString(); + previousModel.BranchEngineeringName = item[5].ToString(); + previousModel.SubBranchEngineeringName = item[6].ToString(); + previousModel.ProEngineeringCode = item[7].ToString(); + previousModel.ProEngineeringName = item[8].ToString(); + previousModel.ProEngineeringNum = item[9].ToString(); + previousModel.ParentId = ""; + + + + + ////判断是否为装置 + //if (!StrIsNumm(item[0]) && !StrIsNumm(item[1]) && StrIsNumm(item[2]) && StrIsNumm(item[3]) && StrIsNumm(item[4]) && StrIsNumm(item[5]) && StrIsNumm(item[6]) && StrIsNumm(item[7])) + //{ + // model.InstallationCode = item[0].ToString(); + // model.InstallationName = item[1].ToString(); + // model.Level = 1; + //} + ////判断是否为工序 + //else if (!StrIsNumm(item[0]) && !StrIsNumm(item[1]) && !StrIsNumm(item[2]) && !StrIsNumm(item[3]) && StrIsNumm(item[4]) && StrIsNumm(item[5]) && StrIsNumm(item[6]) && StrIsNumm(item[7])) + //{ + // model.InstallationCode = item[0].ToString(); + // model.InstallationName = item[1].ToString(); + // model.ProcessesCode = item[2].ToString(); + // model.ProcessesName = item[3].ToString(); + // model.Level = 2; + //} + ////判断是否为系统 + //else if (!StrIsNumm(item[0]) && !StrIsNumm(item[1]) && !StrIsNumm(item[2]) && !StrIsNumm(item[3]) && !StrIsNumm(item[4]) && !StrIsNumm(item[5]) && StrIsNumm(item[6]) && StrIsNumm(item[7])) + //{ + // model.InstallationCode = item[0].ToString(); + // model.InstallationName = item[1].ToString(); + // model.ProcessesCode = item[2].ToString(); + // model.ProcessesName = item[3].ToString(); + // model.SystemCode = item[4].ToString(); + // model.SystemName = item[5].ToString(); + // model.Level = 3; + //} + ////判断是否为子系统 + //else if (!StrIsNumm(item[0]) && !StrIsNumm(item[1]) && !StrIsNumm(item[2]) && !StrIsNumm(item[3]) && !StrIsNumm(item[4]) && !StrIsNumm(item[5]) && !StrIsNumm(item[6]) && !StrIsNumm(item[7])) + //{ + // model.InstallationCode = item[0].ToString(); + // model.InstallationName = item[1].ToString(); + // model.ProcessesCode = item[2].ToString(); + // model.ProcessesName = item[3].ToString(); + // model.SystemCode = item[4].ToString(); + // model.SystemName = item[5].ToString(); + // model.SubsystemCode = item[6].ToString(); + // model.SubsystemName = item[7].ToString(); + // model.Level = 4; + //} + //else + //{ + // this.fileData.Reset(); + // ShowNotify($"{index}行数据存在错误,数据格式具体见模板说明为空!", MessageBoxIcon.Warning); + // break; + //} + list.Add(model); + index++; + previousModel = new DivisionSubProjectsDto(); + } + + #region 数据验证 + + ////验证装置编码 + //if (list.Count(x => x.Level == 1) > 0) + //{ + // var installationCodes = list.Where(x => x.Level == 1).Select(a => a.InstallationCode); + // var importCodes = installationCodes.GroupBy(x => x).Where(x => x.Count() > 1).Select(x => x.Key).ToList(); + // if (importCodes.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"EXCEL中装置编码{string.Join(",", importCodes)}重复,请调整模板数据!", MessageBoxIcon.Warning); + // return; + // } + // installationCodes = installationCodes.Distinct(); + // if (installationCodes.Count() > 0) + // { + // var existInstallations = Funs.DB.PreRun_SysDevice.Where(a => installationCodes.Contains(a.PreRunCode) && a.PreRunLevel == 1 && a.ProjectId == this.CurrUser.LoginProjectId).ToList(); + // if (existInstallations.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"装置编码({string.Join(",", existInstallations.ConvertAll(s => s.PreRunCode))})已存在!", MessageBoxIcon.Warning); + // return; + // } + // } + + //} + ////验证工序编码 + //if (list.Count(x => x.Level == 2) > 0) + //{ + // var processesCodes = list.Where(x => x.Level == 2).Select(a => a.ProcessesCode); + // var importCodes = processesCodes.GroupBy(x => x).Where(x => x.Count() > 1).Select(x => x.Key).ToList(); + // if (importCodes.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"EXCEL中工序编码{string.Join(",", importCodes)}重复,请调整模板数据!", MessageBoxIcon.Warning); + // return; + // } + // processesCodes = processesCodes.Distinct(); + // if (processesCodes.Count() > 0) + // { + // var existProcessess = Funs.DB.PreRun_SysDevice.Where(a => processesCodes.Contains(a.PreRunCode) && a.PreRunLevel == 2 && a.ProjectId == this.CurrUser.LoginProjectId).ToList(); + // if (existProcessess.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"工序编码({string.Join(",", existProcessess.ConvertAll(s => s.PreRunCode))})已存在!", MessageBoxIcon.Warning); + // return; + // } + // } + //} + ////验证系统编码 + //if (list.Count(x => x.Level == 3) > 0) + //{ + // var systemCodes = list.Where(x => x.Level == 3).Select(a => a.SystemCode); + // var importCodes = systemCodes.GroupBy(x => x).Where(x => x.Count() > 1).Select(x => x.Key).ToList(); + // if (importCodes.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"EXCEL中系统编码{string.Join(",", importCodes)}重复,请调整模板数据!", MessageBoxIcon.Warning); + // return; + // } + // systemCodes = systemCodes.Distinct().ToList(); + // if (systemCodes.Count() > 0) + // { + // var existSystems = Funs.DB.PreRun_SysDevice.Where(a => systemCodes.Contains(a.PreRunCode) && a.PreRunLevel == 3 && a.ProjectId == this.CurrUser.LoginProjectId).ToList(); + // if (existSystems.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"系统编码({string.Join(",", existSystems.ConvertAll(s => s.PreRunCode))})已存在!", MessageBoxIcon.Warning); + // return; + // } + // } + //} + ////验证子系统编码 + //if (list.Count(x => x.Level == 4) > 0) + //{ + // var subsystemCodes = list.Where(x => x.Level == 4).Select(a => a.SubsystemCode); + // var importCodes = subsystemCodes.GroupBy(x => x).Where(x => x.Count() > 1).Select(x => x.Key).ToList(); + // if (importCodes.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"EXCEL中子系统编码{string.Join(",", importCodes)}重复,请调整模板数据!", MessageBoxIcon.Warning); + // return; + // } + // subsystemCodes = subsystemCodes.Distinct().ToList(); + // if (subsystemCodes.Count() > 0) + // { + // var existSubsystems = Funs.DB.PreRun_SysDevice.Where(a => subsystemCodes.Contains(a.PreRunCode) && a.PreRunLevel == 4 && a.ProjectId == this.CurrUser.LoginProjectId).ToList(); + // if (existSubsystems.Count > 0) + // { + // this.fileData.Reset(); + // ShowNotify($"子系统编码({string.Join(",", existSubsystems.ConvertAll(s => s.PreRunCode))})已存在!", MessageBoxIcon.Warning); + // return; + // } + // } + //} + + #endregion + + #region 数据处理 + + //var installationData = new List(); + //var processesData = new List(); + //var systemData = new List(); + + ////处理装置 + //if (list.Count(x => x.Level == 1) > 0) + //{ + // list.Where(x => x.Level == 1).ToList().ForEach(a => + // { + // a.InstallationId = Guid.NewGuid().ToString(); + // }); + //} + ////处理工序 + //if (list.Count(x => x.Level == 2) > 0) + //{ + // var codes = list.ConvertAll(a => a.InstallationCode).Distinct(); + // installationData = Funs.DB.PreRun_SysDevice.Where(x => x.PreRunLevel == 1 && codes.Contains(x.PreRunCode)).ToList(); + // list.Where(x => x.Level == 2).ToList().ForEach(a => + // { + // //装置 + // if (list.Count(p => p.InstallationCode == a.InstallationCode && p.Level == 1) > 0) + // { + // a.InstallationId = list.FirstOrDefault(p => p.InstallationCode == a.InstallationCode && p.Level == 1).InstallationId; + // } + // else if (installationData.Count(p => p.PreRunCode == a.InstallationCode) > 0) + // { + // a.InstallationId = installationData.FirstOrDefault(p => p.PreRunCode == a.InstallationCode).PreRunId; + // } + // //上级编码 + // a.ParentId = a.InstallationId; + // //工序 + // a.ProcessesId = Guid.NewGuid().ToString(); + // }); + //} + ////处理系统 + //if (list.Count(x => x.Level == 3) > 0) + //{ + // var codes = list.ConvertAll(a => a.ProcessesCode).Distinct(); + // processesData = Funs.DB.PreRun_SysDevice.Where(x => x.PreRunLevel == 2 && codes.Contains(x.PreRunCode)).ToList(); + // list.Where(x => x.Level == 3).ToList().ForEach(a => + // { + // //装置 + // if (list.Count(p => p.InstallationCode == a.InstallationCode && p.Level == 1) > 0) + // { + // a.InstallationId = list.FirstOrDefault(p => p.InstallationCode == a.InstallationCode && p.Level == 1).InstallationId; + // } + // else if (installationData.Count(p => p.PreRunCode == a.InstallationCode) > 0) + // { + // a.InstallationId = installationData.FirstOrDefault(p => p.PreRunCode == a.InstallationCode).PreRunId; + // } + // //工序 + // if (list.Count(p => p.ProcessesCode == a.ProcessesCode && p.Level == 2) > 0) + // { + // a.ProcessesId = list.FirstOrDefault(p => p.ProcessesCode == a.ProcessesCode && p.Level == 2).ProcessesId; + // } + // else if (processesData.Count(p => p.PreRunCode == a.ProcessesCode) > 0) + // { + // a.ProcessesId = processesData.FirstOrDefault(p => p.PreRunCode == a.ProcessesCode).PreRunId; + // } + // //上级编码 + // a.ParentId = a.ProcessesId; + // //系统 + // a.SystemId = Guid.NewGuid().ToString(); + // }); + //} + ////处理子系统 + //if (list.Count(x => x.Level == 4) > 0) + //{ + // var codes = list.ConvertAll(a => a.SystemCode).Distinct(); + // systemData = Funs.DB.PreRun_SysDevice.Where(x => x.PreRunLevel == 3 && codes.Contains(x.PreRunCode)).ToList(); + // list.Where(x => x.Level == 4).ToList().ForEach(a => + // { + // //装置 + // if (list.Count(p => p.InstallationCode == a.InstallationCode && p.Level == 1) > 0) + // { + // a.InstallationId = list.FirstOrDefault(p => p.InstallationCode == a.InstallationCode && p.Level == 1).InstallationId; + // } + // else if (installationData.Count(p => p.PreRunCode == a.InstallationCode) > 0) + // { + // a.InstallationId = installationData.FirstOrDefault(p => p.PreRunCode == a.InstallationCode).PreRunId; + // } + // //工序 + // if (list.Count(p => p.ProcessesCode == a.ProcessesCode && p.Level == 2) > 0) + // { + // a.ProcessesId = list.FirstOrDefault(p => p.ProcessesCode == a.ProcessesCode && p.Level == 2).ProcessesId; + // } + // else if (processesData.Count(p => p.PreRunCode == a.ProcessesCode) > 0) + // { + // a.ProcessesId = processesData.FirstOrDefault(p => p.PreRunCode == a.ProcessesCode).PreRunId; + // } + // //系统 + // if (list.Count(p => p.SystemCode == a.SystemCode && p.Level == 3) > 0) + // { + // a.SystemId = list.FirstOrDefault(p => p.SystemCode == a.SystemCode && p.Level == 3).SystemId; + // } + // else if (systemData.Count(p => p.PreRunCode == a.SystemCode) > 0) + // { + // a.SystemId = systemData.FirstOrDefault(p => p.PreRunCode == a.SystemCode).PreRunId; + // } + // //上级编码 + // a.ParentId = a.SystemId; + // //子系统 + // a.SubsystemId = Guid.NewGuid().ToString(); + // }); + //} + + #endregion + + #region 数据入库 + + //var listData = new List(); + //int oneIndex = 1; + //int twoIndex = 1; + //int threeIndex = 1; + //int fourIndex = 1; + //foreach (var itemData in list) + //{ + // var model = new PreRun_SysDevice(); + // model.ProjectId = this.CurrUser.LoginProjectId; + // model.PreRunLevel = itemData.Level; + // if (itemData.Level == 1) + // { + // model.PreRunId = itemData.InstallationId; + // model.PreRunCode = itemData.InstallationCode; + // model.PreRunName = itemData.InstallationName; + // model.ParentId = itemData.ParentId; + // model.AddUser = CurrUser.Account; + // model.OperateTime = DateTime.Now; + // model.Sort = Funs.DB.PreRun_SysDevice.Count(p => p.ProjectId == CurrUser.LoginProjectId) + oneIndex; + // oneIndex++; + // } + // if (itemData.Level == 2) + // { + // model.PreRunId = itemData.ProcessesId; + // model.ProcessesId = itemData.ProcessesId; + // model.PreRunCode = itemData.ProcessesCode; + // model.PreRunName = itemData.ProcessesName; + // model.InstallationId = itemData.InstallationId; + // model.ParentId = itemData.ParentId; + // model.AddUser = CurrUser.Account; + // model.OperateTime = DateTime.Now; + // model.Sort = Funs.DB.PreRun_SysDevice.Count(p => p.ProjectId == CurrUser.LoginProjectId) + twoIndex; + // twoIndex++; + // } + // if (itemData.Level == 3) + // { + // model.PreRunId = itemData.SystemId; + // model.SystemId = itemData.SystemId; + // model.PreRunCode = itemData.SystemCode; + // model.PreRunName = itemData.SystemName; + // model.InstallationId = itemData.InstallationId; + // model.ProcessesId = itemData.ProcessesId; + // model.ParentId = itemData.ParentId; + // model.AddUser = CurrUser.Account; + // model.OperateTime = DateTime.Now; + // model.Sort = Funs.DB.PreRun_SysDevice.Count(p => p.ProjectId == CurrUser.LoginProjectId) + threeIndex; + // threeIndex++; + // } + // if (itemData.Level == 4) + // { + // model.PreRunId = itemData.SubsystemId; + // model.SubsystemId = itemData.SubsystemId; + // model.PreRunCode = itemData.SubsystemCode; + // model.PreRunName = itemData.SubsystemName; + // model.InstallationId = itemData.InstallationId; + // model.ProcessesId = itemData.ProcessesId; + // model.SystemId = itemData.SystemId; + // model.ParentId = itemData.ParentId; + // model.AddUser = CurrUser.Account; + // model.OperateTime = DateTime.Now; + // model.Sort = Funs.DB.PreRun_SysDevice.Count(p => p.ProjectId == CurrUser.LoginProjectId) + fourIndex; + // fourIndex++; + // } + // listData.Add(model); + //} + + //Funs.DB.PreRun_SysDevice.InsertAllOnSubmit(listData); + //Funs.DB.SubmitChanges(); + //ShowNotify("导入成功!", MessageBoxIcon.Success); + + #endregion + } + else + { + this.fileData.Reset(); + ShowNotify("文件无数据!", MessageBoxIcon.Warning); + } + DataBrid(); + this.fileData.Reset(); + } + catch (Exception ex) + { + this.fileData.Reset(); + ShowNotify(ex.Message, MessageBoxIcon.Warning); + } + } + + /// + /// 下载模板 + /// + protected void btnDownLoad_Click(object sender, EventArgs e) + { + PageContext.RegisterStartupScript(Confirm.GetShowReference("是否确认下载模板?", String.Empty, MessageBoxIcon.Question, PageManager1.GetCustomEventReference(false, "Confirm_OK"), PageManager1.GetCustomEventReference("Confirm_Cancel"))); + } + + /// + /// 下载导入模板 + /// + protected void PageManager1_CustomEvent(object sender, CustomEventArgs e) + { + if (e.EventArgument == "Confirm_OK") + { + string rootPath = Server.MapPath("~/"); + string uploadfilepath = rootPath + Const.WBSDivisionUrl; + string filePath = Const.WBSDivisionUrl; + string fileName = Path.GetFileName(filePath); + FileInfo info = new FileInfo(uploadfilepath); + long fileSize = info.Length; + Response.ClearContent(); + Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + Response.ContentType = "excel/plain"; + Response.ContentEncoding = System.Text.Encoding.UTF8; + Response.AddHeader("Content-Length", fileSize.ToString().Trim()); + Response.TransmitFile(uploadfilepath, 0, fileSize); + Response.End(); + } + } + + /// + /// 右击修改 + /// + protected void btnMenuModify_Click(object sender, EventArgs e) + { + btnEdit_Click(sender, e); + } + + /// + /// 右击新增子级别 + /// + protected void btnMenuParentAdd_Click(object sender, EventArgs e) + { + btnParentAdd_Click(sender, e); + } + + #endregion + + #region 私有方法 + + /// + /// 根据行ID来删除行数据 + /// + private void DeleteRowByIDInternal(string rowID) + { + var model = Funs.DB.Division_SubProjects.FirstOrDefault(p => p.DivisionId == rowID); + if (model != null) + { + Funs.DB.Division_SubProjects.DeleteOnSubmit(model); + GetDevice(rowID); + } + Funs.DB.SubmitChanges(); + } + + /// + /// 删除 + /// + private void GetDevice(string id) + { + var model = Funs.DB.Division_SubProjects.FirstOrDefault(p => p.ParentId == id); + if (model != null) + { + Funs.DB.Division_SubProjects.DeleteOnSubmit(model); + GetDevice(model.DivisionId); + } + } + + /// + /// 验证单位分部分项工程划分模板是否正确 + /// + /// + /// + private bool VerifyFile(DataSet ds) + { + var result = true; + if (ds.Tables[0].Rows[1][0].ToString().Contains("单位工程名称")) result = false; + if (ds.Tables[0].Rows[1][1].ToString().Contains("子单位工程编码")) result = false; + if (ds.Tables[0].Rows[1][2].ToString().Contains("子单位工程名称")) result = false; + if (ds.Tables[0].Rows[1][3].ToString().Contains("分部工程编号")) result = false; + if (ds.Tables[0].Rows[1][4].ToString().Contains("分部工程名称")) result = false; + if (ds.Tables[0].Rows[1][5].ToString().Contains("子分部工程名称")) result = false; + if (ds.Tables[0].Rows[1][6].ToString().Contains("分项工程编号")) result = false; + if (ds.Tables[0].Rows[1][7].ToString().Contains("分项工程名称")) result = false; + if (ds.Tables[0].Rows[1][7].ToString().Contains("分部分项码")) result = false; + if (ds.Tables[0].Rows[1][7].ToString().Contains("级别")) result = false; + return result; + } + + /// + /// 验证datatable某列是否存在重复 + /// + /// + public bool HasRepeatData(DataTable dt, string[] colName) + { + bool flag = false; + DataView myDataView = new DataView(dt); + if (myDataView.ToTable(true, colName).Rows.Count < dt.Rows.Count) + { + flag = true; + } + return flag; + } + + /// + /// 获取某一列的所有值 + /// + /// 列数据类型 + /// 数据表 + /// 列名 + /// + public static List GetColumnValues(DataTable dtSource, string filedName) + { + return (from r in dtSource.AsEnumerable() select r.Field(filedName)).ToList(); + } + + /// + /// 判断是否为空 + /// + /// + public bool StrIsNumm(object value) + { + bool result = false; + if (value == null) result = true; + if (string.IsNullOrWhiteSpace(value.ToString())) result = true; + return result; + } + + /// + /// 单位分部分项工程划分信息 + /// + public class DivisionSubProjectsDto + { + /// + /// 上级主键 + /// + public string ParentId { get; set; } + /// + /// 级别 + /// + public int Level { get; set; } + /// + /// 单位工程编码 + /// + public string EngineeringCode { get; set; } + /// + /// 单位工程名称 + /// + public string EngineeringName { get; set; } + /// + /// 子单位工程编码 + /// + public string SubEngineeringCode { get; set; } + /// + /// 子单位工程名称 + /// + public string SubEngineeringName { get; set; } + /// + /// 分部工程编号 + /// + public string BranchEngineeringCode { get; set; } + /// + /// 分部工程名称 + /// + public string BranchEngineeringName { get; set; } + /// + /// 子分部工程名称 + /// + public string SubBranchEngineeringName { get; set; } + /// + /// 分项工程编号 + /// + public string ProEngineeringCode { get; set; } + /// + /// 分项工程名称 + /// + public string ProEngineeringName { get; set; } + /// + /// 分部分项码 + /// + public string ProEngineeringNum { get; set; } + } + + #endregion + + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx.designer.cs new file mode 100644 index 00000000..5695cd7e --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjects.aspx.designer.cs @@ -0,0 +1,179 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.CQMS.WBS.Control +{ + + + public partial class DivisionSubProjects + { + + /// + /// 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; + + /// + /// Toolbar1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar1; + + /// + /// sEngineeringName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox sEngineeringName; + + /// + /// btnSearch 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSearch; + + /// + /// fileData 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.FileUpload fileData; + + /// + /// btnImport 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnImport; + + /// + /// btnDownLoad 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDownLoad; + + /// + /// btnAdd 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnAdd; + + /// + /// btnParentAdd 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnParentAdd; + + /// + /// btnEdit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnEdit; + + /// + /// btnDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnDelete; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuModify 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuModify; + + /// + /// btnMenuParentAdd 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuParentAdd; + } +} diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx new file mode 100644 index 00000000..928029f9 --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx @@ -0,0 +1,16 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DivisionSubProjectsEdit.aspx.cs" Inherits="FineUIPro.Web.CQMS.WBS.Control.DivisionSubProjectsEdit" %> + + + + + + + + + +
+
+
+
+ + diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx.cs b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx.cs new file mode 100644 index 00000000..d9ad115a --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace FineUIPro.Web.CQMS.WBS.Control +{ + public partial class DivisionSubProjectsEdit : System.Web.UI.Page + { + protected void Page_Load(object sender, EventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx.designer.cs new file mode 100644 index 00000000..942546cb --- /dev/null +++ b/SGGL/FineUIPro.Web/CQMS/WBS/Control/DivisionSubProjectsEdit.aspx.designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 此代码是由工具生成的。 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.CQMS.WBS.Control +{ + + + public partial class DivisionSubProjectsEdit + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + } +} diff --git a/SGGL/FineUIPro.Web/File/Excel/WBS/单位分部分项工程划分.xlsx b/SGGL/FineUIPro.Web/File/Excel/WBS/单位分部分项工程划分.xlsx new file mode 100644 index 00000000..b4112ced Binary files /dev/null and b/SGGL/FineUIPro.Web/File/Excel/WBS/单位分部分项工程划分.xlsx differ